From a8e9364ceaa10b8535e82c376966c9f1eccf3be3 Mon Sep 17 00:00:00 2001 From: Gabriele Cosmo Date: Thu, 9 Jun 2016 15:16:48 +0200 Subject: [PATCH] Import Geant4 9.0.0 source tree --- Configure | 26 +- ReleaseNotes/ReleaseNotes4.9.0.html | 1236 ++ config/History | 27 +- config/architecture.gmk | 19 +- config/binmake.gmk | 62 +- config/common.gmk | 6 +- config/scripts/env.csh.SH | 6 +- config/scripts/env.sh.SH | 16 +- config/scripts/install.sh.SH | 8 +- config/scripts/move.sh.SH | 10 +- environments/History | 11 +- .../MOMO/MomoHome/include/MomoEventAction.hh | 2 +- .../MOMO/MomoHome/include/MomoRunAction.hh | 2 +- .../MOMO/MomoHome/src/MomoEventAction.cc | 2 +- .../MOMO/MomoHome/src/MomoRunAction.cc | 2 +- environments/g4py/GNUmakefile | 2 +- environments/g4py/History | 16 +- environments/g4py/config/sys/linux.gmk | 2 +- .../g4py/config/sys/linuxx8664gcc.gmk | 2 +- environments/g4py/config/sys/macosx.gmk | 2 +- .../demos/water_phantom/g4lib/GNUmakefile | 2 +- .../g4lib/MyDetectorConstruction.cc | 2 +- .../g4lib/MyDetectorConstruction.hh | 2 +- .../demos/water_phantom/g4lib/MyMaterials.cc | 2 +- .../demos/water_phantom/g4lib/MyMaterials.hh | 2 +- .../water_phantom/g4lib/MyPhysicsList.cc | 2 +- .../water_phantom/g4lib/MyPhysicsList.hh | 2 +- .../demos/water_phantom/g4lib/Particles.cc | 2 +- .../water_phantom/g4lib/PhysicsListEMstd.cc | 2 +- .../demos/water_phantom/g4lib/pydemo_wp.cc | 2 +- .../EZsim/EZgeom/EzDetectorConstruction.cc | 2 +- .../EZsim/EZgeom/EzDetectorConstruction.hh | 2 +- .../site-modules/EZsim/EZgeom/GNUmakefile | 2 +- .../EZsim/EZgeom/ezgeom/G4EzVolume.cc | 2 +- .../EZsim/EZgeom/ezgeom/G4EzVolume.hh | 2 +- .../ezgeom/G4EzVoxelParameterization.cc | 2 +- .../ezgeom/G4EzVoxelParameterization.hh | 2 +- .../EZsim/EZgeom/ezgeom/G4EzWorld.cc | 2 +- .../EZsim/EZgeom/ezgeom/G4EzWorld.hh | 2 +- .../EZsim/EZgeom/ezgeom/GNUmakefile | 2 +- .../site-modules/EZsim/EZgeom/pyEzgeom.cc | 2 +- .../g4py/site-modules/EZsim/GNUmakefile | 2 +- .../site-modules/EZsim/python/GNUmakefile | 2 +- environments/g4py/site-modules/GNUmakefile | 2 +- .../ExN01geom/ExN01DetectorConstruction.cc | 2 +- .../ExN01geom/ExN01DetectorConstruction.hh | 2 +- .../geometries/ExN01geom/GNUmakefile | 2 +- .../geometries/ExN01geom/pyExN01geom.cc | 2 +- .../ExN03geom/ExN03DetectorConstruction.cc | 2 +- .../ExN03geom/ExN03DetectorConstruction.hh | 2 +- .../ExN03geom/ExN03DetectorMessenger.cc | 2 +- .../ExN03geom/ExN03DetectorMessenger.hh | 2 +- .../geometries/ExN03geom/GNUmakefile | 2 +- .../geometries/ExN03geom/pyExN03geom.cc | 2 +- .../g4py/site-modules/geometries/GNUmakefile | 2 +- .../site-modules/geometries/Qgeom/GNUmakefile | 2 +- .../geometries/Qgeom/QDetectorConstruction.cc | 2 +- .../geometries/Qgeom/QDetectorConstruction.hh | 2 +- .../site-modules/geometries/Qgeom/pyQgeom.cc | 2 +- .../g4py/site-modules/materials/GNUmakefile | 2 +- .../materials/NISTmaterials/GNUmakefile | 2 +- .../materials/NISTmaterials/NISTmaterials.cc | 2 +- .../NISTmaterials/pyNISTmaterials.cc | 2 +- .../materials/Qmaterials/GNUmakefile | 2 +- .../materials/Qmaterials/Qmaterials.cc | 2 +- .../materials/Qmaterials/pyQmaterials.cc | 2 +- .../physics_lists/EMLowEpl/GNUmakefile | 2 +- .../EMLowEpl/PhysicsListEMlowE.cc | 2 +- .../EMLowEpl/PhysicsListEMlowE.hh | 2 +- .../physics_lists/EMLowEpl/pyEMLowEpl.cc | 2 +- .../physics_lists/EMSTDpl/GNUmakefile | 2 +- .../physics_lists/EMSTDpl/PhysicsListEMstd.cc | 2 +- .../physics_lists/EMSTDpl/PhysicsListEMstd.hh | 2 +- .../physics_lists/EMSTDpl/pyEMSTDpl.cc | 2 +- .../physics_lists/ExN01pl/ExN01PhysicsList.cc | 2 +- .../physics_lists/ExN01pl/ExN01PhysicsList.hh | 2 +- .../physics_lists/ExN01pl/GNUmakefile | 2 +- .../physics_lists/ExN01pl/pyExN01pl.cc | 2 +- .../physics_lists/ExN03pl/ExN03PhysicsList.cc | 2 +- .../physics_lists/ExN03pl/ExN03PhysicsList.hh | 2 +- .../physics_lists/ExN03pl/GNUmakefile | 2 +- .../physics_lists/ExN03pl/pyExN03pl.cc | 2 +- .../site-modules/physics_lists/GNUmakefile | 2 +- .../g4py/site-modules/primaries/GNUmakefile | 2 +- .../primaries/MedicalBeam/GNUmakefile | 2 +- .../primaries/MedicalBeam/MedicalBeam.cc | 2 +- .../primaries/MedicalBeam/MedicalBeam.hh | 2 +- .../primaries/MedicalBeam/pyMedicalBeam.cc | 2 +- .../primaries/ParticleGun/GNUmakefile | 2 +- .../ParticleGun/ParticleGunAction.cc | 2 +- .../ParticleGun/ParticleGunAction.hh | 2 +- .../primaries/ParticleGun/pyParticleGun.cc | 2 +- .../g4py/site-modules/utils/GNUmakefile | 2 +- .../site-modules/utils/MCScore/GNUmakefile | 2 +- environments/g4py/source/GNUmakefile | 2 +- environments/g4py/source/boost/GNUmakefile | 2 +- .../g4py/source/boost/pyG4indexing.hh | 2 +- .../g4py/source/digits_hits/GNUmakefile | 2 +- .../digits_hits/pyG4VSensitiveDetector.cc | 2 +- .../source/digits_hits/pymodG4digits_hits.cc | 2 +- environments/g4py/source/event/GNUmakefile | 2 +- .../event/pyG4ClassificationOfNewTrack.cc | 2 +- environments/g4py/source/event/pyG4Event.cc | 2 +- .../g4py/source/event/pyG4EventManager.cc | 2 +- .../g4py/source/event/pyG4ParticleGun.cc | 2 +- .../g4py/source/event/pyG4StackManager.cc | 2 +- .../g4py/source/event/pyG4UserEventAction.cc | 2 +- .../source/event/pyG4UserStackingAction.cc | 2 +- .../g4py/source/event/pymodG4event.cc | 2 +- environments/g4py/source/geometry/GNUmakefile | 2 +- environments/g4py/source/geometry/pyG4Box.cc | 2 +- .../g4py/source/geometry/pyG4ChordFinder.cc | 2 +- environments/g4py/source/geometry/pyG4Cons.cc | 2 +- .../g4py/source/geometry/pyG4Field.cc | 2 +- .../g4py/source/geometry/pyG4FieldManager.cc | 2 +- .../g4py/source/geometry/pyG4LogicalVolume.cc | 2 +- .../g4py/source/geometry/pyG4MagneticField.cc | 2 +- environments/g4py/source/geometry/pyG4Orb.cc | 2 +- .../g4py/source/geometry/pyG4PVPlacement.cc | 2 +- .../g4py/source/geometry/pyG4PVReplica.cc | 2 +- environments/g4py/source/geometry/pyG4Para.cc | 2 +- .../g4py/source/geometry/pyG4Region.cc | 2 +- .../g4py/source/geometry/pyG4Sphere.cc | 2 +- .../g4py/source/geometry/pyG4Torus.cc | 2 +- .../source/geometry/pyG4TouchableHistory.cc | 2 +- .../geometry/pyG4TransportationManager.cc | 2 +- environments/g4py/source/geometry/pyG4Trap.cc | 2 +- environments/g4py/source/geometry/pyG4Trd.cc | 2 +- environments/g4py/source/geometry/pyG4Tubs.cc | 2 +- .../source/geometry/pyG4UniformMagField.cc | 2 +- .../source/geometry/pyG4VPhysicalVolume.cc | 2 +- .../g4py/source/geometry/pyG4VSolid.cc | 2 +- .../g4py/source/geometry/pyG4VTouchable.cc | 2 +- .../g4py/source/geometry/pymodG4geometry.cc | 2 +- .../g4py/source/global/G4PyCoutDestination.cc | 2 +- .../g4py/source/global/G4PyCoutDestination.hh | 2 +- environments/g4py/source/global/GNUmakefile | 2 +- .../source/global/pyG4ApplicationState.cc | 2 +- .../g4py/source/global/pyG4Exception.cc | 2 +- .../source/global/pyG4ExceptionHandler.cc | 2 +- .../source/global/pyG4ExceptionSeverity.cc | 2 +- .../g4py/source/global/pyG4RandomDirection.cc | 2 +- .../g4py/source/global/pyG4RotationMatrix.cc | 2 +- .../g4py/source/global/pyG4StateManager.cc | 2 +- environments/g4py/source/global/pyG4String.cc | 2 +- .../g4py/source/global/pyG4ThreeVector.cc | 2 +- environments/g4py/source/global/pyG4Timer.cc | 2 +- .../g4py/source/global/pyG4Transform3D.cc | 2 +- .../g4py/source/global/pyG4TwoVector.cc | 120 + .../g4py/source/global/pyG4UnitsTable.cc | 2 +- .../g4py/source/global/pyG4UserLimits.cc | 2 +- .../g4py/source/global/pyG4Version.cc | 2 +- .../g4py/source/global/pyRandomEngines.cc | 2 +- .../g4py/source/global/pyRandomize.cc | 2 +- environments/g4py/source/global/pygeomdefs.cc | 2 +- environments/g4py/source/global/pyglobals.cc | 2 +- .../g4py/source/global/pymodG4global.cc | 6 +- .../g4py/source/graphics_reps/GNUmakefile | 2 +- .../g4py/source/graphics_reps/pyG4Colour.cc | 2 +- .../source/graphics_reps/pyG4VisAttributes.cc | 2 +- .../graphics_reps/pymodG4graphics_reps.cc | 2 +- .../g4py/source/intercoms/GNUmakefile | 2 +- .../g4py/source/intercoms/pyG4UIcommand.cc | 2 +- .../source/intercoms/pyG4UIcommandTree.cc | 2 +- .../g4py/source/intercoms/pyG4UImanager.cc | 2 +- .../g4py/source/intercoms/pyG4UIparameter.cc | 2 +- .../g4py/source/intercoms/pymodG4intercoms.cc | 2 +- .../g4py/source/interface/GNUmakefile | 2 +- .../g4py/source/interface/pyG4UIterminal.cc | 8 +- .../g4py/source/interface/pymodG4interface.cc | 2 +- .../g4py/source/materials/GNUmakefile | 2 +- .../g4py/source/materials/pyG4Element.cc | 2 +- .../g4py/source/materials/pyG4ElementTable.cc | 2 +- .../g4py/source/materials/pyG4Material.cc | 2 +- .../source/materials/pyG4MaterialTable.cc | 2 +- .../g4py/source/materials/pyG4NistManager.cc | 10 +- .../g4py/source/materials/pymodG4materials.cc | 7 +- .../g4py/source/particles/GNUmakefile | 2 +- .../g4py/source/particles/pyG4DecayTable.cc | 2 +- .../source/particles/pyG4DynamicParticle.cc | 2 +- .../particles/pyG4ParticleDefinition.cc | 2 +- .../g4py/source/particles/pyG4ParticleList.cc | 2 +- .../source/particles/pyG4ParticleTable.cc | 2 +- .../source/particles/pyG4PrimaryParticle.cc | 2 +- .../source/particles/pyG4PrimaryVertex.cc | 2 +- .../g4py/source/particles/pymodG4particles.cc | 2 +- .../g4py/source/physics_lists/GNUmakefile | 2 +- .../source/physics_lists/pyPhysicsLists.cc | 145 +- .../physics_lists/pymodG4physicslists.cc | 14 +- .../g4py/source/processes/GNUmakefile | 2 +- .../g4py/source/processes/pyG4EmCalculator.cc | 24 +- .../source/processes/pyG4LossTableManager.cc | 23 +- .../g4py/source/processes/pyG4ProcVector.cc | 2 +- .../source/processes/pyG4ProcessManager.cc | 2 +- .../g4py/source/processes/pyG4ProcessTable.cc | 2 +- .../g4py/source/processes/pyG4ProcessType.cc | 2 +- .../processes/pyG4ProductionCutsTable.cc | 10 +- .../g4py/source/processes/pyG4VProcess.cc | 2 +- .../g4py/source/processes/pymodG4processes.cc | 2 +- environments/g4py/source/python/GNUmakefile | 2 +- environments/g4py/source/python/__init__.py | 23 +- environments/g4py/source/run/GNUmakefile | 2 +- environments/g4py/source/run/pyG4Run.cc | 2 +- .../g4py/source/run/pyG4RunManager.cc | 2 +- .../g4py/source/run/pyG4RunManagerKernel.cc | 2 +- .../g4py/source/run/pyG4UserRunAction.cc | 2 +- .../source/run/pyG4VModularPhysicsList.cc | 2 +- .../source/run/pyG4VPhysicsConstructor.cc | 2 +- .../run/pyG4VUserDetectorConstruction.cc | 2 +- .../g4py/source/run/pyG4VUserPhysicsList.cc | 2 +- .../run/pyG4VUserPrimaryGeneratorAction.cc | 2 +- environments/g4py/source/run/pymodG4run.cc | 2 +- environments/g4py/source/track/GNUmakefile | 2 +- environments/g4py/source/track/pyG4Step.cc | 2 +- .../g4py/source/track/pyG4StepPoint.cc | 2 +- .../g4py/source/track/pyG4StepStatus.cc | 2 +- environments/g4py/source/track/pyG4Track.cc | 2 +- .../g4py/source/track/pyG4TrackStatus.cc | 2 +- .../g4py/source/track/pymodG4track.cc | 2 +- environments/g4py/source/tracking/GNUmakefile | 2 +- .../source/tracking/pyG4TrackingManager.cc | 2 +- .../source/tracking/pyG4UserSteppingAction.cc | 2 +- .../source/tracking/pyG4UserTrackingAction.cc | 2 +- .../g4py/source/tracking/pymodG4tracking.cc | 2 +- .../g4py/source/version/G4Version_7.0.hh | 6 +- .../g4py/source/version/G4Version_7.0.p01.hh | 6 +- .../g4py/source/version/G4Version_7.1.hh | 6 +- .../g4py/source/version/G4Version_7.1.p01.hh | 6 +- environments/g4py/source/version/GNUmakefile | 2 +- .../g4py/source/version/pyG4Version.hh | 2 +- .../g4py/source/visualization/GNUmakefile | 2 +- .../source/visualization/pyG4ASCIITree.cc | 2 +- .../g4py/source/visualization/pyG4DAWNFILE.cc | 2 +- .../g4py/source/visualization/pyG4HepRep.cc | 2 +- .../source/visualization/pyG4HepRepFile.cc | 2 +- .../visualization/pyG4OpenGLImmediateX.cc | 2 +- .../visualization/pyG4OpenGLImmediateXm.cc | 2 +- .../source/visualization/pyG4OpenGLStoredX.cc | 2 +- .../visualization/pyG4OpenGLStoredXm.cc | 2 +- .../source/visualization/pyG4RayTracer.cc | 2 +- .../source/visualization/pyG4RayTracerX.cc | 2 +- .../visualization/pyG4VGraphicsSystem.cc | 2 +- .../source/visualization/pyG4VRML1File.cc | 2 +- .../source/visualization/pyG4VRML2File.cc | 2 +- .../source/visualization/pyG4VisManager.cc | 2 +- .../visualization/pymodG4visualization.cc | 2 +- environments/g4py/tests/GNUmakefile | 2 +- .../g4py/tests/gtest01/g4lib/GNUmakefile | 2 +- .../g4py/tests/gtest01/g4lib/Particles.cc | 2 +- .../tests/gtest01/g4lib/PhysicsListEMstd.cc | 2 +- .../gtest01/g4lib/QDetectorConstruction.cc | 2 +- .../gtest01/g4lib/QDetectorConstruction.hh | 2 +- .../g4py/tests/gtest01/g4lib/QEventAction.cc | 2 +- .../g4py/tests/gtest01/g4lib/QEventAction.hh | 2 +- .../g4py/tests/gtest01/g4lib/QMaterials.cc | 2 +- .../g4py/tests/gtest01/g4lib/QMaterials.hh | 2 +- .../g4py/tests/gtest01/g4lib/QPhysicsList.cc | 2 +- .../g4py/tests/gtest01/g4lib/QPhysicsList.hh | 2 +- .../gtest01/g4lib/QPrimaryGeneratorAction.cc | 2 +- .../gtest01/g4lib/QPrimaryGeneratorAction.hh | 2 +- .../g4py/tests/gtest01/g4lib/gtest01.cc | 2 +- environments/g4py/tests/test06/test06.cc | 2 +- environments/g4py/tests/test07/test07.cc | 2 +- environments/g4py/tests/test08/test08.cc | 2 +- environments/g4py/tests/test09/test09.cc | 2 +- environments/g4py/tests/test10/test10.cc | 2 +- environments/g4py/tests/test11/test11.cc | 2 +- environments/g4py/tests/test12/test12.cc | 2 +- environments/g4py/tests/test13/test13.cc | 2 +- examples/History | 18 +- examples/README | 4 +- examples/advanced/Rich/History | 6 +- .../Rich/src/PadHpdPhotoElectricEffect.cc | 8 +- examples/advanced/Tiara/GNUmakefile | 2 +- examples/advanced/Tiara/History | 2 +- examples/advanced/Tiara/README | 2 +- examples/advanced/Tiara/envCommon.csh | 2 +- examples/advanced/Tiara/run/runSim.py | 2 +- .../advanced/Tiara/run/runSimNoAnalysis.py | 2 +- examples/advanced/Tiara/run/runVisMode.py | 2 +- .../advanced/Tiara/run/runVisNoAnalysis.py | 2 +- examples/advanced/Tiara/run/vis.mac | 2 +- .../Tiara/source/CLHEPWrapper/include/CLHEP.i | 2 +- .../Tiara/source/G4KernelWrapper/G4String.i | 2 +- .../source/G4KernelWrapper/include/G4Kernel.i | 2 +- .../Tiara/source/TiaraWrapper/include/Tiara.i | 2 +- .../Tiara/source/py_modules/dataAcess.py | 2 +- .../Tiara/source/py_modules/detector.py | 2 +- .../Tiara/source/py_modules/dpsManip.py | 2 +- .../Tiara/source/py_modules/extractShelve.py | 2 +- .../advanced/Tiara/source/py_modules/myPI.py | 2 +- .../Tiara/source/py_modules/myUtils.py | 2 +- .../Tiara/source/py_modules/parallelHall.py | 2 +- .../Tiara/source/py_modules/posLog.py | 2 +- .../Tiara/source/py_modules/runSequence.py | 2 +- .../Tiara/source/py_modules/slabGeometry.py | 2 +- .../Tiara/source/py_modules/tallyData.py | 2 +- .../source/py_modules/tiaraApplication.py | 2 +- .../Tiara/source/py_modules/tiaraDetectors.py | 2 +- .../source/py_modules/tiaraGenerators.py | 2 +- .../source/py_modules/tiaraSpecifications.py | 2 +- .../source/py_modules/variableGeometry.py | 2 +- .../source/tiara/include/TiaraCellScorer.hh | 2 +- .../tiara/include/TiaraCellScorerStore.hh | 2 +- .../tiara/include/TiaraConcreteShieldA.hh | 2 +- .../tiara/include/TiaraConcreteShieldB.hh | 2 +- .../tiara/include/TiaraDPSSampledEnergy.hh | 2 +- .../source/tiara/include/TiaraDimensions.hh | 2 +- .../tiara/include/TiaraEnergyCutProcess.hh | 2 +- .../source/tiara/include/TiaraFileAcess.hh | 2 +- .../include/TiaraFixedEnergyGenerator.hh | 2 +- .../source/tiara/include/TiaraGeometry.hh | 2 +- .../source/tiara/include/TiaraIronShieldA.hh | 2 +- .../source/tiara/include/TiaraIronShieldB.hh | 2 +- .../tiara/include/TiaraIsotropicDirections.hh | 2 +- .../source/tiara/include/TiaraMaterials.hh | 2 +- .../source/tiara/include/TiaraMeasure.hh | 2 +- .../Tiara/source/tiara/include/TiaraPart.hh | 2 +- .../source/tiara/include/TiaraPhysicsList.hh | 2 +- .../include/TiaraPrimaryGeneratorAction.hh | 2 +- .../Tiara/source/tiara/include/TiaraRandom.hh | 2 +- .../tiara/include/TiaraSampledEnergy.hh | 2 +- .../Tiara/source/tiara/include/TiaraSim.hh | 2 +- .../Tiara/source/tiara/include/TiaraTally.hh | 2 +- .../tiara/include/TiaraTimedEventAction.hh | 2 +- .../source/tiara/include/TiaraVComponent.hh | 2 +- .../tiara/include/TiaraVDirectionGenerator.hh | 2 +- .../include/TiaraVSourceEnergyGenerator.hh | 2 +- .../tiara/include/TiaraVisEventAction.hh | 2 +- .../source/tiara/include/TiaraVisRunAction.hh | 2 +- .../Tiara/source/tiara/src/TiaraCellScorer.cc | 2 +- .../source/tiara/src/TiaraCellScorerStore.cc | 2 +- .../source/tiara/src/TiaraConcreteShieldA.cc | 2 +- .../source/tiara/src/TiaraConcreteShieldB.cc | 2 +- .../source/tiara/src/TiaraDPSSampledEnergy.cc | 2 +- .../Tiara/source/tiara/src/TiaraDimensions.cc | 2 +- .../source/tiara/src/TiaraEnergyCutProcess.cc | 2 +- .../Tiara/source/tiara/src/TiaraFileAcess.cc | 2 +- .../tiara/src/TiaraFixedEnergyGenerator.cc | 2 +- .../Tiara/source/tiara/src/TiaraGeometry.cc | 2 +- .../source/tiara/src/TiaraIronShieldA.cc | 2 +- .../source/tiara/src/TiaraIronShieldB.cc | 2 +- .../tiara/src/TiaraIsotropicDirections.cc | 2 +- .../Tiara/source/tiara/src/TiaraMaterials.cc | 2 +- .../Tiara/source/tiara/src/TiaraMeasure.cc | 2 +- .../source/tiara/src/TiaraPhysicsList.cc | 2 +- .../tiara/src/TiaraPrimaryGeneratorAction.cc | 2 +- .../Tiara/source/tiara/src/TiaraRandom.cc | 2 +- .../source/tiara/src/TiaraSampledEnergy.cc | 2 +- .../Tiara/source/tiara/src/TiaraSim.cc | 2 +- .../source/tiara/src/TiaraStackingAction.cc | 2 +- .../Tiara/source/tiara/src/TiaraTally.cc | 2 +- .../source/tiara/src/TiaraTimedEventAction.cc | 2 +- .../Tiara/source/tiara/src/TiaraVComponent.cc | 2 +- .../tiara/src/TiaraVDirectionGenerator.cc | 2 +- .../tiara/src/TiaraVSourceEnergyGenerator.cc | 2 +- .../source/tiara/src/TiaraVisEventAction.cc | 2 +- .../source/tiara/src/TiaraVisRunAction.cc | 2 +- examples/advanced/brachytherapy/Brachy.cc | 2 +- examples/advanced/brachytherapy/README | 96 +- .../include/BrachyAnalysisManager.hh | 37 +- .../include/BrachyDetectorConstruction.hh | 2 +- .../include/BrachyDetectorConstructionI.hh | 2 +- .../include/BrachyDetectorConstructionIr.hh | 2 +- .../BrachyDetectorConstructionLeipzig.hh | 2 +- .../include/BrachyDetectorMessenger.hh | 2 +- .../include/BrachyEventAction.hh | 2 +- .../brachytherapy/include/BrachyFactory.hh | 2 +- .../brachytherapy/include/BrachyFactoryI.hh | 2 +- .../brachytherapy/include/BrachyFactoryIr.hh | 2 +- .../include/BrachyFactoryLeipzig.hh | 2 +- .../brachytherapy/include/BrachyMaterial.hh | 2 +- .../include/BrachyPhantomROGeometry.hh | 2 +- .../brachytherapy/include/BrachyPhantomSD.hh | 2 +- .../include/BrachyPhysicsList.hh | 2 +- .../include/BrachyPrimaryGeneratorAction.hh | 2 +- .../include/BrachyPrimaryGeneratorActionI.hh | 2 +- .../include/BrachyPrimaryGeneratorActionIr.hh | 2 +- .../BrachyPrimaryGeneratorMessenger.hh | 2 +- .../brachytherapy/include/BrachyRunAction.hh | 2 +- .../src/BrachyAnalysisManager.cc | 49 +- .../src/BrachyDetectorConstruction.cc | 2 +- .../src/BrachyDetectorConstructionI.cc | 2 +- .../src/BrachyDetectorConstructionIr.cc | 2 +- .../src/BrachyDetectorConstructionLeipzig.cc | 2 +- .../src/BrachyDetectorMessenger.cc | 2 +- .../brachytherapy/src/BrachyEventAction.cc | 2 +- .../brachytherapy/src/BrachyFactory.cc | 2 +- .../brachytherapy/src/BrachyFactoryI.cc | 2 +- .../brachytherapy/src/BrachyFactoryIr.cc | 2 +- .../brachytherapy/src/BrachyFactoryLeipzig.cc | 2 +- .../brachytherapy/src/BrachyMaterial.cc | 2 +- .../src/BrachyPhantomROGeometry.cc | 2 +- .../brachytherapy/src/BrachyPhantomSD.cc | 2 +- .../brachytherapy/src/BrachyPhysicsList.cc | 2 +- .../src/BrachyPrimaryGeneratorAction.cc | 2 +- .../src/BrachyPrimaryGeneratorActionI.cc | 2 +- .../src/BrachyPrimaryGeneratorActionIr.cc | 2 +- .../src/BrachyPrimaryGeneratorMessenger.cc | 2 +- .../brachytherapy/src/BrachyRunAction.cc | 2 +- examples/advanced/cosmicray_charging/History | 3 + .../cosmicray_charging/src/LISAPhysicsList.cc | 6 +- .../gammaray_telescope/GammaRayTel.cc | 2 +- .../include/GammaRayTelAnalysis.hh | 2 +- .../include/GammaRayTelAnalysisMessenger.hh | 2 +- .../include/GammaRayTelAnticoincidenceHit.hh | 2 +- .../include/GammaRayTelAnticoincidenceSD.hh | 2 +- .../include/GammaRayTelCalorimeterHit.hh | 2 +- .../include/GammaRayTelCalorimeterSD.hh | 2 +- .../GammaRayTelDetectorConstruction.hh | 2 +- .../include/GammaRayTelDetectorMessenger.hh | 2 +- .../include/GammaRayTelDigi.hh | 2 +- .../include/GammaRayTelDigitizer.hh | 2 +- .../include/GammaRayTelDigitizerMessenger.hh | 2 +- .../include/GammaRayTelDummySD.hh | 2 +- .../include/GammaRayTelEMPhysics.hh | 2 +- .../include/GammaRayTelEventAction.hh | 2 +- .../include/GammaRayTelGeneralPhysics.hh | 2 +- .../include/GammaRayTelHadronPhysics.hh | 2 +- .../include/GammaRayTelIonPhysics.hh | 2 +- .../include/GammaRayTelMuonPhysics.hh | 2 +- .../GammaRayTelPrimaryGeneratorAction.hh | 2 +- .../GammaRayTelPrimaryGeneratorMessenger.hh | 2 +- .../include/GammaRayTelRunAction.hh | 2 +- .../include/GammaRayTelTrackerHit.hh | 2 +- .../include/GammaRayTelTrackerROGeometry.hh | 2 +- .../include/GammaRayTelTrackerSD.hh | 2 +- .../src/GammaRayTelAnalysis.cc | 2 +- .../src/GammaRayTelAnalysisMessenger.cc | 2 +- .../src/GammaRayTelAnticoincidenceHit.cc | 2 +- .../src/GammaRayTelAnticoincidenceSD.cc | 2 +- .../src/GammaRayTelCalorimeterHit.cc | 2 +- .../src/GammaRayTelCalorimeterSD.cc | 2 +- .../src/GammaRayTelDetectorConstruction.cc | 2 +- .../src/GammaRayTelDetectorMessenger.cc | 2 +- .../gammaray_telescope/src/GammaRayTelDigi.cc | 2 +- .../src/GammaRayTelDigitizer.cc | 2 +- .../src/GammaRayTelDigitizerMessenger.cc | 2 +- .../src/GammaRayTelEMPhysics.cc | 2 +- .../src/GammaRayTelEventAction.cc | 2 +- .../src/GammaRayTelHadronPhysics.cc | 2 +- .../src/GammaRayTelIonPhysics.cc | 2 +- .../src/GammaRayTelMuonPhysics.cc | 2 +- .../src/GammaRayTelPhysicsList.cc | 2 +- .../src/GammaRayTelPrimaryGeneratorAction.cc | 2 +- .../GammaRayTelPrimaryGeneratorMessenger.cc | 2 +- .../src/GammaRayTelRunAction.cc | 2 +- .../src/GammaRayTelTrackerHit.cc | 2 +- .../src/GammaRayTelTrackerROGeometry.cc | 2 +- .../src/GammaRayTelTrackerSD.cc | 2 +- .../advanced/hadrontherapy/Hadrontherapy.cc | 5 + examples/advanced/hadrontherapy/History | 36 +- examples/advanced/hadrontherapy/bertini.mac | 4 +- .../advanced/hadrontherapy/binaryDefault.mac | 45 + .../advanced/hadrontherapy/currentEvent.rndm | 212 +- .../advanced/hadrontherapy/currentRun.rndm | 206 +- .../advanced/hadrontherapy/defaultMacro.mac | 17 +- .../{HadrontherapyDecay.hh => Decay.hh} | 33 +- ...erapyElectronEEDL.hh => EMElectronEEDL.hh} | 37 +- ...ctronPenelope.hh => EMElectronPenelope.hh} | 37 +- ...ctronStandard.hh => EMElectronStandard.hh} | 37 +- ...apyIonLowE.hh => EMHadronIonLowEICRU49.hh} | 38 +- ...r1977.hh => EMHadronIonLowEZiegler1977.hh} | 38 +- ...r1985.hh => EMHadronIonLowEZiegler1985.hh} | 38 +- .../include/EMHadronIonStandard.hh | 74 + .../hadrontherapy/include/EMMuonStandard.hh | 72 + .../hadrontherapy/include/EMPhotonEPDL.hh | 81 + ...yPhotonPenelope.hh => EMPhotonPenelope.hh} | 37 +- ...yPhotonStandard.hh => EMPhotonStandard.hh} | 37 +- ...itronPenelope.hh => EMPositronPenelope.hh} | 37 +- ...itronStandard.hh => EMPositronStandard.hh} | 37 +- .../include/HEHadronIonBertiniElastic.hh | 82 + .../include/HEHadronIonLElastic.hh | 80 + .../include/HEHadronIonQElastic.hh | 82 + ...rotonBertini.hh => HEHadronIonUElastic.hh} | 41 +- .../hadrontherapy/include/HIIonLEP.hh | 81 + .../hadrontherapy/include/HIPionBertini.hh | 79 + .../hadrontherapy/include/HIPionLEP.hh | 79 + ...hotonEPDL.hh => HIProtonNeutronBertini.hh} | 27 +- .../include/HIProtonNeutronBinary.hh | 79 + ...pyIonStandard.hh => HIProtonNeutronLEP.hh} | 32 +- .../include/HIProtonNeutronPrecompound.hh | 80 + .../HIProtonNeutronPrecompoundFermi.hh | 80 + .../include/HIProtonNeutronPrecompoundGEM.hh | 80 + .../HIProtonNeutronPrecompoundGEMFermi.hh | 80 + ...yMuonStandard.hh => HRMuonMinusCapture.hh} | 37 +- .../HadrontherapyIonLowEZiegler2000.hh | 60 - .../include/HadrontherapyPhysicsList.hh | 21 +- examples/advanced/hadrontherapy/lep.mac | 75 + .../advanced/hadrontherapy/modulatorMacro.mac | 23 +- .../precompoundDefaultEvaporation.mac | 42 +- .../precompoundDefaultEvaporationFermi.mac | 49 + .../precompoundGEMEvaporation.mac | 48 + .../hadrontherapy/precompoundGEMFermi.mac | 47 + .../src/{HadrontherapyDecay.cc => Decay.cc} | 38 +- ...erapyElectronEEDL.cc => EMElectronEEDL.cc} | 64 +- ...ctronPenelope.cc => EMElectronPenelope.cc} | 68 +- ...ctronStandard.cc => EMElectronStandard.cc} | 67 +- ...apyIonLowE.cc => EMHadronIonLowEICRU49.cc} | 75 +- ...r1977.cc => EMHadronIonLowEZiegler1977.cc} | 84 +- ...r1985.cc => EMHadronIonLowEZiegler1985.cc} | 84 +- ...yIonStandard.cc => EMHadronIonStandard.cc} | 57 +- .../hadrontherapy/src/EMMuonStandard.cc | 138 + ...ontherapyPhotonEPDL.cc => EMPhotonEPDL.cc} | 71 +- ...yPhotonPenelope.cc => EMPhotonPenelope.cc} | 61 +- ...yPhotonStandard.cc => EMPhotonStandard.cc} | 69 +- ...itronPenelope.cc => EMPositronPenelope.cc} | 67 +- ...itronStandard.cc => EMPositronStandard.cc} | 73 +- .../src/HEHadronIonBertiniElastic.cc | 121 + .../hadrontherapy/src/HEHadronIonLElastic.cc | 110 + .../hadrontherapy/src/HEHadronIonQElastic.cc | 118 + .../hadrontherapy/src/HEHadronIonUElastic.cc | 113 + .../advanced/hadrontherapy/src/HIIonLEP.cc | 138 + .../hadrontherapy/src/HIPionBertini.cc | 112 + .../advanced/hadrontherapy/src/HIPionLEP.cc | 119 + .../src/HIProtonNeutronBertini.cc | 134 + .../src/HIProtonNeutronBinary.cc | 134 + .../hadrontherapy/src/HIProtonNeutronLEP.cc | 138 + .../src/HIProtonNeutronPrecompound.cc | 140 + .../src/HIProtonNeutronPrecompoundFermi.cc | 150 + .../src/HIProtonNeutronPrecompoundGEM.cc | 144 + .../src/HIProtonNeutronPrecompoundGEMFermi.cc | 152 + .../hadrontherapy/src/HRMuonMinusCapture.cc | 72 + .../src/HadrontherapyBeamLine.cc | 3 +- .../src/HadrontherapyDetectorConstruction.cc | 12 +- .../src/HadrontherapyDetectorMessenger.cc | 26 +- .../src/HadrontherapyIonLowEZiegler2000.cc | 100 - .../src/HadrontherapyMaterial.cc | 2 + .../src/HadrontherapyMuonStandard.cc | 103 - .../src/HadrontherapyPhysicsList.cc | 979 +- .../src/HadrontherapyProtonBertini.cc | 313 - .../src/HadrontherapyProtonPrecompound.cc | 287 - .../hadrontherapy/visualisationMacro.mac | 18 +- examples/advanced/human_phantom/History | 34 +- examples/advanced/human_phantom/README | 22 +- .../advanced/human_phantom/adultFemale.mac | 78 - examples/advanced/human_phantom/adultHead.mac | 71 + .../human_phantom/adultMIRDFemale.mac | 90 + .../{adultMale.mac => adultMIRDMale.mac} | 4 +- .../advanced/human_phantom/adultMIXFemale.mac | 90 + .../human_phantom/adultORNLFemale.mac | 47 +- .../advanced/human_phantom/adultORNLMale.mac | 47 +- examples/advanced/human_phantom/dawnVis.mac | 2 + examples/advanced/human_phantom/default.mac | 2 + .../gdmlData/Female/ORNLBrain.gdml | 4 +- .../gdmlData/Female/ORNLHead.gdml | 4 +- .../gdmlData/Female/ORNLLeftArmBone.gdml | 70 + .../{ORNLBreast.gdml => ORNLLeftBreast.gdml} | 23 +- .../gdmlData/Female/ORNLLeftKidney.gdml | 136 + .../{ORNLLegs.gdml => ORNLLeftLeg.gdml} | 16 +- .../gdmlData/Female/ORNLLeftLegBone.gdml | 123 + .../{ORNLLung.gdml => ORNLLeftLung.gdml} | 18 +- .../gdmlData/Female/ORNLLeftOvary.gdml | 122 + .../Female/ORNLLowerLargeIntestine.gdml | 4 +- .../gdmlData/Female/ORNLMiddleLowerSpine.gdml | 4 +- .../gdmlData/Female/ORNLPancreas.gdml | 4 +- .../gdmlData/Female/ORNLPelvis.gdml | 4 +- .../gdmlData/Female/ORNLRightArmBone.gdml | 70 + .../gdmlData/Female/ORNLRightBreast.gdml | 124 + .../{ORNLKidney.gdml => ORNLRightKidney.gdml} | 18 +- .../gdmlData/Female/ORNLRightLeg.gdml | 122 + .../gdmlData/Female/ORNLRightLegBone.gdml | 125 + .../gdmlData/Female/ORNLRightLung.gdml | 132 + .../{ORNLOvary.gdml => ORNLRightOvary.gdml} | 18 +- .../gdmlData/Female/ORNLSkull.gdml | 4 +- .../gdmlData/Female/ORNLSpleen.gdml | 4 +- .../gdmlData/Female/ORNLStomach.gdml | 4 +- .../gdmlData/Female/ORNLTrunk.gdml | 8 +- .../Female/ORNLUpperLargeIntestine.gdml | 4 +- .../gdmlData/Female/ORNLUpperSpine.gdml | 4 +- .../gdmlData/Female/ORNLUrinaryBladder.gdml | 4 +- .../gdmlData/Male/MIRDArmBone.gdml | 2 +- .../gdmlData/Male/MIRDBrain.gdml | 2 +- .../Male/MIRDLowerLargeIntestine.gdml | 2 + .../gdmlData/Male/MIRDSkull.gdml | 6 + .../gdmlData/Male/ORNLArmBone.gdml | 3 +- .../gdmlData/Male/ORNLBrain.gdml | 4 +- .../human_phantom/gdmlData/Male/ORNLHead.gdml | 4 +- .../gdmlData/Male/ORNLLeftArmBone.gdml | 70 + .../gdmlData/Male/ORNLLeftKidney.gdml | 136 + .../gdmlData/Male/ORNLLeftLeg.gdml | 122 + .../gdmlData/Male/ORNLLeftLegBone.gdml | 123 + .../gdmlData/Male/ORNLLeftLung.gdml | 133 + .../Male/ORNLLowerLargeIntestine.gdml | 4 +- .../gdmlData/Male/ORNLMiddleLowerSpine.gdml | 4 +- .../gdmlData/Male/ORNLPancreas.gdml | 4 +- .../gdmlData/Male/ORNLPelvis.gdml | 4 +- .../gdmlData/Male/ORNLRightArmBone.gdml | 70 + .../gdmlData/Male/ORNLRightKidney.gdml | 136 + .../gdmlData/Male/ORNLRightLeg.gdml | 122 + .../gdmlData/Male/ORNLRightLegBone.gdml | 125 + .../gdmlData/Male/ORNLRightLung.gdml | 132 + .../gdmlData/Male/ORNLSkull.gdml | 4 +- .../gdmlData/Male/ORNLSpleen.gdml | 4 +- .../gdmlData/Male/ORNLStomach.gdml | 4 +- .../gdmlData/Male/ORNLTrunk.gdml | 8 +- .../Male/ORNLUpperLargeIntestine.gdml | 4 +- .../gdmlData/Male/ORNLUpperSpine.gdml | 4 +- .../gdmlData/Male/ORNLUrinaryBladder.gdml | 4 +- .../include/G4BasePhantomBuilder.hh | 102 + .../include/G4CustomFemaleBuilder.hh | 54 + .../human_phantom/include/G4FemaleBuilder.hh | 17 +- .../include/G4HumanDummyLeftBreastSD.hh | 64 + ...ummySD.hh => G4HumanDummyRightBreastSD.hh} | 12 +- .../include/G4HumanPhantomAnalysisManager.hh | 26 +- ...ergyDeposit.hh => G4HumanPhantomColour.hh} | 39 +- .../include/G4HumanPhantomConstruction.hh | 17 +- .../include/G4HumanPhantomEventAction.hh | 21 +- .../include/G4HumanPhantomHit.hh | 81 +- .../include/G4HumanPhantomMessenger.hh | 1 - .../include/G4HumanPhantomRunAction.hh | 7 + .../human_phantom/include/G4HumanPhantomSD.hh | 10 +- .../include/G4HumanPhantomSteppingAction.hh | 1 - .../include/G4MIRDBodyFactory.hh | 57 +- .../human_phantom/include/G4MIRDBrain.hh | 7 +- .../human_phantom/include/G4MIRDHead.hh | 7 +- .../human_phantom/include/G4MIRDHeart.hh | 7 +- .../include/G4MIRDLeftAdrenal.hh | 51 + ...{G4MIRDArmBone.hh => G4MIRDLeftArmBone.hh} | 14 +- .../{G4MIRDKidney.hh => G4MIRDLeftBreast.hh} | 14 +- .../human_phantom/include/G4MIRDLeftKidney.hh | 51 + .../{G4MIRDLegs.hh => G4MIRDLeftLeg.hh} | 15 +- .../include/G4MIRDLeftLegBone.hh | 51 + .../{G4MIRDLung.hh => G4MIRDLeftLung.hh} | 14 +- .../human_phantom/include/G4MIRDLeftOvary.hh | 52 + .../include/G4MIRDLeftScapula.hh | 51 + .../human_phantom/include/G4MIRDLiver.hh | 8 +- .../include/G4MIRDLowerLargeIntestine.hh | 7 +- .../include/G4MIRDMiddleLowerSpine.hh | 6 +- .../human_phantom/include/G4MIRDPancreas.hh | 7 +- .../human_phantom/include/G4MIRDPelvis.hh | 7 +- .../human_phantom/include/G4MIRDRibCage.hh | 26 +- .../include/G4MIRDRightAdrenal.hh | 51 + ...G4MIRDAdrenal.hh => G4MIRDRightArmBone.hh} | 24 +- .../include/G4MIRDRightBreast.hh | 52 + .../include/G4MIRDRightKidney.hh | 51 + .../{G4MIRDLegBone.hh => G4MIRDRightLeg.hh} | 18 +- .../include/G4MIRDRightLegBone.hh | 52 + .../{G4MIRDOvary.hh => G4MIRDRightLung.hh} | 14 +- .../human_phantom/include/G4MIRDRightOvary.hh | 53 + .../include/G4MIRDRightScapula.hh | 51 + .../human_phantom/include/G4MIRDSkull.hh | 7 +- .../human_phantom/include/G4MIRDSpleen.hh | 7 +- .../human_phantom/include/G4MIRDStomach.hh | 6 +- .../human_phantom/include/G4MIRDTrunk.hh | 14 +- .../include/G4MIRDUpperLargeIntestine.hh | 7 +- .../human_phantom/include/G4MIRDUpperSpine.hh | 7 +- .../include/G4MIRDUrinaryBladder.hh | 6 +- .../human_phantom/include/G4MIRDUterus.hh | 6 +- .../human_phantom/include/G4MaleBuilder.hh | 6 +- .../include/G4ORNLBodyFactory.hh | 96 - .../human_phantom/include/G4ORNLBrain.hh | 58 - .../human_phantom/include/G4ORNLBreast.hh | 58 - .../human_phantom/include/G4ORNLEsophagus.hh | 58 - ...LAdrenal.hh => G4ORNLFemaleBodyFactory.hh} | 25 +- .../human_phantom/include/G4ORNLHead.hh | 58 - .../human_phantom/include/G4ORNLHeart.hh | 58 - .../human_phantom/include/G4ORNLKidney.hh | 58 - .../human_phantom/include/G4ORNLLegBone.hh | 58 - .../human_phantom/include/G4ORNLLegs.hh | 58 - .../human_phantom/include/G4ORNLLiver.hh | 58 - .../include/G4ORNLLowerLargeIntestine.hh | 58 - .../human_phantom/include/G4ORNLLung.hh | 58 - .../include/G4ORNLMaleBodyFactory.hh | 49 + .../include/G4ORNLMiddleLowerSpine.hh | 58 - .../human_phantom/include/G4ORNLOvary.hh | 58 - .../human_phantom/include/G4ORNLPancreas.hh | 58 - .../human_phantom/include/G4ORNLPelvis.hh | 58 - .../human_phantom/include/G4ORNLRibCage.hh | 58 - .../human_phantom/include/G4ORNLSkull.hh | 58 - .../human_phantom/include/G4ORNLSpleen.hh | 58 - .../human_phantom/include/G4ORNLStomach.hh | 58 - .../human_phantom/include/G4ORNLTestes.hh | 58 - .../human_phantom/include/G4ORNLThyroid.hh | 58 - .../human_phantom/include/G4ORNLTrunk.hh | 58 - .../include/G4ORNLUpperLargeIntestine.hh | 58 - .../human_phantom/include/G4ORNLUpperSpine.hh | 58 - .../include/G4ORNLUrinaryBladder.hh | 58 - .../human_phantom/include/G4ORNLUterus.hh | 58 - .../include/G4ParameterisedBreast.hh | 53 - .../human_phantom/include/G4PhantomBuilder.hh | 89 +- ...ORNLArmBone.hh => G4PhantomHeadBuilder.hh} | 39 +- .../human_phantom/include/G4VBodyFactory.hh | 51 +- .../include/{G4MIRDBreast.hh => G4VOrgan.hh} | 13 +- .../include/G4VPhantomBuilder.hh | 88 - .../include/G4VoxelBreastFactory.hh | 56 + .../include/G4VoxelLeftBreast.hh | 50 + ...etry.hh => G4VoxelLeftBreastROGeometry.hh} | 12 +- ...ntomSDBreast.hh => G4VoxelLeftBreastSD.hh} | 10 +- .../include/G4VoxelRightBreast.hh | 50 + .../include/G4VoxelRightBreastROGeometry.hh | 50 + .../include/G4VoxelRightBreastSD.hh | 53 + examples/advanced/human_phantom/openGLVis.mac | 11 +- examples/advanced/human_phantom/phantom.cc | 23 +- examples/advanced/human_phantom/run.mac | 40 +- .../human_phantom/src/G4BasePhantomBuilder.cc | 40 + ...G4ORNLLung.cc => G4CustomFemaleBuilder.cc} | 116 +- .../human_phantom/src/G4FemaleBuilder.cc | 86 +- .../src/G4HumanPhantomAnalysisManager.cc | 117 +- .../human_phantom/src/G4HumanPhantomColour.cc | 76 + .../src/G4HumanPhantomConstruction.cc | 222 +- .../src/G4HumanPhantomEventAction.cc | 109 +- .../human_phantom/src/G4HumanPhantomHit.cc} | 53 +- .../src/G4HumanPhantomMaterial.cc | 6 + .../src/G4HumanPhantomMessenger.cc | 18 +- .../G4HumanPhantomPrimaryGeneratorAction.cc | 9 +- .../src/G4HumanPhantomRunAction.cc | 87 +- .../human_phantom/src/G4HumanPhantomSD.cc | 34 +- .../src/G4HumanPhantomSteppingAction.cc | 37 +- .../human_phantom/src/G4MIRDAdrenal.cc | 93 - .../human_phantom/src/G4MIRDBodyFactory.cc | 306 +- .../advanced/human_phantom/src/G4MIRDBrain.cc | 29 +- .../advanced/human_phantom/src/G4MIRDHead.cc | 51 +- .../advanced/human_phantom/src/G4MIRDHeart.cc | 9 +- .../{G4MIRDKidney.cc => G4MIRDLeftAdrenal.cc} | 93 +- ...{G4MIRDArmBone.cc => G4MIRDLeftArmBone.cc} | 83 +- .../{G4MIRDBreast.cc => G4MIRDLeftBreast.cc} | 89 +- .../human_phantom/src/G4MIRDLeftKidney.cc | 137 + .../src/{G4MIRDLegs.cc => G4MIRDLeftLeg.cc} | 79 +- ...{G4MIRDLegBone.cc => G4MIRDLeftLegBone.cc} | 85 +- .../human_phantom/src/G4MIRDLeftLung.cc | 161 + .../src/{G4MIRDLung.cc => G4MIRDLeftOvary.cc} | 100 +- .../human_phantom/src/G4MIRDLeftScapula.cc | 164 + .../advanced/human_phantom/src/G4MIRDLiver.cc | 132 +- .../src/G4MIRDLowerLargeIntestine.cc | 42 +- .../src/G4MIRDMiddleLowerSpine.cc | 43 +- .../human_phantom/src/G4MIRDPancreas.cc | 39 +- .../human_phantom/src/G4MIRDPelvis.cc | 69 +- .../human_phantom/src/G4MIRDRibCage.cc | 203 +- .../human_phantom/src/G4MIRDRightAdrenal.cc | 125 + .../human_phantom/src/G4MIRDRightArmBone.cc | 130 + .../human_phantom/src/G4MIRDRightBreast.cc | 144 + .../human_phantom/src/G4MIRDRightKidney.cc | 140 + .../human_phantom/src/G4MIRDRightLeg.cc | 137 + .../human_phantom/src/G4MIRDRightLegBone.cc | 139 + .../human_phantom/src/G4MIRDRightLung.cc | 151 + .../{G4MIRDOvary.cc => G4MIRDRightOvary.cc} | 80 +- .../human_phantom/src/G4MIRDRightScapula.cc | 163 + .../advanced/human_phantom/src/G4MIRDSkull.cc | 78 +- .../human_phantom/src/G4MIRDSpleen.cc | 25 +- .../human_phantom/src/G4MIRDStomach.cc | 49 +- .../human_phantom/src/G4MIRDThyroid.cc | 15 +- .../advanced/human_phantom/src/G4MIRDTrunk.cc | 26 +- .../src/G4MIRDUpperLargeIntestine.cc | 39 +- .../human_phantom/src/G4MIRDUpperSpine.cc | 44 +- .../human_phantom/src/G4MIRDUrinaryBladder.cc | 43 +- .../human_phantom/src/G4MIRDUterus.cc | 31 +- .../human_phantom/src/G4MaleBuilder.cc | 14 + .../human_phantom/src/G4ORNLAdrenal.cc | 94 - .../human_phantom/src/G4ORNLArmBone.cc | 92 - .../human_phantom/src/G4ORNLBodyFactory.cc | 241 - .../human_phantom/src/G4ORNLBreast.cc | 91 - .../human_phantom/src/G4ORNLEsophagus.cc | 91 - ...RNLOvary.cc => G4ORNLFemaleBodyFactory.cc} | 85 +- .../advanced/human_phantom/src/G4ORNLHeart.cc | 93 - .../human_phantom/src/G4ORNLKidney.cc | 93 - .../human_phantom/src/G4ORNLLegBone.cc | 94 - .../advanced/human_phantom/src/G4ORNLLegs.cc | 94 - .../advanced/human_phantom/src/G4ORNLLiver.cc | 94 - .../src/G4ORNLLowerLargeIntestine.cc | 94 - ...4ORNLBrain.cc => G4ORNLMaleBodyFactory.cc} | 69 +- .../src/G4ORNLMiddleLowerSpine.cc | 93 - .../human_phantom/src/G4ORNLPancreas.cc | 92 - .../human_phantom/src/G4ORNLPelvis.cc | 94 - .../human_phantom/src/G4ORNLRibCage.cc | 91 - .../advanced/human_phantom/src/G4ORNLSkull.cc | 94 - .../human_phantom/src/G4ORNLSpleen.cc | 93 - .../human_phantom/src/G4ORNLStomach.cc | 94 - .../human_phantom/src/G4ORNLTestes.cc | 94 - .../human_phantom/src/G4ORNLThyroid.cc | 94 - .../advanced/human_phantom/src/G4ORNLTrunk.cc | 95 - .../src/G4ORNLUpperLargeIntestine.cc | 93 - .../human_phantom/src/G4ORNLUpperSpine.cc | 94 - .../human_phantom/src/G4ORNLUrinaryBladder.cc | 93 - .../human_phantom/src/G4ORNLUterus.cc | 94 - .../human_phantom/src/G4PhantomBuilder.cc | 425 +- ...{G4ORNLHead.cc => G4PhantomHeadBuilder.cc} | 116 +- .../src/{G4VPhantomBuilder.cc => G4VOrgan.cc} | 15 +- .../human_phantom/src/G4VoxelBreastFactory.cc | 66 + ...eterisedBreast.cc => G4VoxelLeftBreast.cc} | 91 +- ...etry.cc => G4VoxelLeftBreastROGeometry.cc} | 36 +- ...nergyDeposit.cc => G4VoxelLeftBreastSD.cc} | 83 +- .../human_phantom/src/G4VoxelRightBreast.cc | 187 + .../src/G4VoxelRightBreastROGeometry.cc | 161 + ...tomSDBreast.cc => G4VoxelRightBreastSD.cc} | 34 +- .../lAr_calorimeter/include/FCALCalorHit.hh | 2 +- .../lAr_calorimeter/include/FCALEMModuleSD.hh | 2 +- .../include/FCALHadModuleSD.hh | 2 +- .../include/FCALPrimaryGeneratorAction.hh | 2 +- .../lAr_calorimeter/include/FCALRunAction.hh | 2 +- .../include/FCALSteppingAction.hh | 2 +- .../include/FCALSteppingVerbose.hh | 2 +- .../include/FCALTBEventAction.hh | 2 +- .../include/FCALTestbeamSetupSD.hh | 2 +- examples/advanced/lAr_calorimeter/lArCal.cc | 2 +- .../lAr_calorimeter/src/FCALCalorHit.cc | 2 +- .../lAr_calorimeter/src/FCALEMModuleSD.cc | 2 +- .../lAr_calorimeter/src/FCALHadModuleSD.cc | 2 +- .../src/FCALPrimaryGeneratorAction.cc | 2 +- .../lAr_calorimeter/src/FCALRunAction.cc | 2 +- .../lAr_calorimeter/src/FCALSteppingAction.cc | 2 +- .../src/FCALSteppingVerbose.cc | 2 +- .../lAr_calorimeter/src/FCALTBEventAction.cc | 2 +- .../src/FCALTestbeamSetupSD.cc | 2 +- examples/advanced/microbeam/microbeam.out | 37 +- examples/advanced/purging_magnet/PurgMag.cc | 2 +- .../include/PurgMagAnalysisManager.hh | 2 +- .../include/PurgMagDetectorConstruction.hh | 2 +- .../include/PurgMagEventAction.hh | 2 +- .../include/PurgMagPhysicsList.hh | 2 +- .../include/PurgMagPrimaryGeneratorAction.hh | 2 +- .../include/PurgMagRunAction.hh | 2 +- .../include/PurgMagSteppingAction.hh | 2 +- .../include/PurgMagSteppingVerbose.hh | 2 +- .../include/PurgMagTabulatedField3D.hh | 2 +- .../include/PurgMagTrackingAction.hh | 2 +- .../src/PurgMagAnalysisManager.cc | 2 +- .../src/PurgMagDetectorConstruction.cc | 2 +- .../purging_magnet/src/PurgMagEventAction.cc | 2 +- .../purging_magnet/src/PurgMagPhysicsList.cc | 2 +- .../src/PurgMagPrimaryGeneratorAction.cc | 2 +- .../purging_magnet/src/PurgMagRunAction.cc | 2 +- .../src/PurgMagSteppingAction.cc | 2 +- .../src/PurgMagSteppingVerbose.cc | 2 +- .../src/PurgMagTabulatedField3D.cc | 2 +- .../src/PurgMagTrackingAction.cc | 2 +- examples/advanced/radiation_monitor/Radmon.cc | 2 +- .../analysis/include/RadmonAnalysis.hh | 2 +- .../analysis/include/RadmonAnalysisLayout.hh | 2 +- .../include/RadmonAnalysisMessenger.hh | 2 +- ...dmonAnalysisSensitiveDetectorTypeLayout.hh | 2 +- ...monAnalysisSensitiveDetectorTypeLayout.icc | 2 +- .../RadmonDataAnalysisDepositedEnergy.hh | 2 +- .../RadmonDataAnalysisDepositedEnergy.icc | 2 +- .../include/RadmonDataAnalysisLayout.hh | 2 +- .../include/RadmonDataAnalysisLayout.icc | 2 +- .../RadmonDataAnalysisWithLabelFactory.hh | 2 +- .../RadmonDataAnalysisWithLabelFactory.icc | 2 +- .../RadmonDataAnalysisWithLabelMessenger.hh | 2 +- .../analysis/include/RadmonVAnalysisLayout.hh | 2 +- .../include/RadmonVAnalysisLayout.icc | 2 +- .../analysis/include/RadmonVDataAnalysis.hh | 2 +- .../analysis/include/RadmonVDataAnalysis.icc | 2 +- .../include/RadmonVDataAnalysisFactory.hh | 2 +- .../include/RadmonVDataAnalysisFactory.icc | 2 +- .../include/RadmonVDataAnalysisWithLabel.hh | 2 +- .../include/RadmonVDataAnalysisWithLabel.icc | 2 +- .../analysis/src/RadmonAnalysis.cc | 2 +- .../analysis/src/RadmonAnalysisLayout.cc | 2 +- .../analysis/src/RadmonAnalysisMessenger.cc | 2 +- ...dmonAnalysisSensitiveDetectorTypeLayout.cc | 2 +- .../src/RadmonDataAnalysisDepositedEnergy.cc | 2 +- .../analysis/src/RadmonDataAnalysisLayout.cc | 2 +- .../src/RadmonDataAnalysisWithLabelFactory.cc | 2 +- .../RadmonDataAnalysisWithLabelMessenger.cc | 2 +- .../application/include/RadmonApplication.hh | 2 +- .../application/include/RadmonApplication.icc | 2 +- .../include/RadmonApplicationAnalysisSetup.hh | 2 +- .../RadmonApplicationAnalysisSetup.icc | 2 +- .../include/RadmonApplicationDetectorSetup.hh | 2 +- .../RadmonApplicationDetectorSetup.icc | 2 +- .../RadmonApplicationEventNumbering.hh | 2 +- .../RadmonApplicationEventNumbering.icc | 2 +- .../include/RadmonApplicationEventTracks.hh | 2 +- .../include/RadmonApplicationEventTracks.icc | 2 +- .../RadmonApplicationGeneratorSetup.hh | 2 +- .../RadmonApplicationGeneratorSetup.icc | 2 +- .../include/RadmonApplicationMessenger.hh | 2 +- .../include/RadmonApplicationOptions.hh | 2 +- .../include/RadmonApplicationOptions.icc | 2 +- .../include/RadmonApplicationPhysicsSetup.hh | 2 +- .../include/RadmonApplicationPhysicsSetup.icc | 2 +- .../include/RadmonApplicationRunNumbering.hh | 2 +- .../include/RadmonApplicationRunNumbering.icc | 2 +- .../application/src/RadmonApplication.cc | 2 +- .../src/RadmonApplicationAnalysisSetup.cc | 2 +- .../src/RadmonApplicationDetectorSetup.cc | 2 +- .../src/RadmonApplicationEventNumbering.cc | 2 +- .../src/RadmonApplicationEventTracks.cc | 2 +- .../src/RadmonApplicationGeneratorSetup.cc | 2 +- .../src/RadmonApplicationMessenger.cc | 2 +- .../src/RadmonApplicationOptions.cc | 2 +- .../src/RadmonApplicationPhysicsSetup.cc | 2 +- .../src/RadmonApplicationRunNumbering.cc | 2 +- ...dmonDetectorCarvedFlatVolumeConstructor.hh | 2 +- ...monDetectorCarvedFlatVolumeConstructor.icc | 2 +- ...WithGroundAndKeyMarksAndHoleConstructor.hh | 2 +- ...ithGroundAndKeyMarksAndHoleConstructor.icc | 2 +- ...tVolumeWithGroundAndKeyMarksConstructor.hh | 2 +- ...VolumeWithGroundAndKeyMarksConstructor.icc | 2 +- ...orCarvedFlatVolumeWithGroundConstructor.hh | 2 +- ...rCarvedFlatVolumeWithGroundConstructor.icc | 2 +- ...ctorCarvedFlatVolumeWithHoleConstructor.hh | 2 +- ...torCarvedFlatVolumeWithHoleConstructor.icc | 2 +- ...ctorCarvedFlatVolumeWithPinsConstructor.hh | 2 +- ...torCarvedFlatVolumeWithPinsConstructor.icc | 2 +- ...dFlatVolumeWithTracksAndHoleConstructor.hh | 2 +- ...FlatVolumeWithTracksAndHoleConstructor.icc | 2 +- ...orCarvedFlatVolumeWithTracksConstructor.hh | 2 +- ...rCarvedFlatVolumeWithTracksConstructor.icc | 2 +- .../include/RadmonDetectorConstruction.hh | 2 +- .../RadmonDetectorEnvironmentLayout.hh | 2 +- .../RadmonDetectorEnvironmentLayout.icc | 2 +- .../RadmonDetectorFlatVolumeComponent.hh | 2 +- .../RadmonDetectorFlatVolumeComponent.icc | 2 +- .../RadmonDetectorFlatVolumeConstructor.hh | 2 +- .../RadmonDetectorFlatVolumeConstructor.icc | 2 +- ...WithGroundAndKeyMarksAndHoleConstructor.hh | 2 +- ...ithGroundAndKeyMarksAndHoleConstructor.icc | 2 +- ...tVolumeWithGroundAndKeyMarksConstructor.hh | 2 +- ...VolumeWithGroundAndKeyMarksConstructor.icc | 2 +- ...DetectorFlatVolumeWithGroundConstructor.hh | 2 +- ...etectorFlatVolumeWithGroundConstructor.icc | 2 +- ...onDetectorFlatVolumeWithHoleConstructor.hh | 2 +- ...nDetectorFlatVolumeWithHoleConstructor.icc | 2 +- ...onDetectorFlatVolumeWithPadsConstructor.hh | 2 +- ...nDetectorFlatVolumeWithPadsConstructor.icc | 2 +- ...onDetectorFlatVolumeWithPinsConstructor.hh | 2 +- ...nDetectorFlatVolumeWithPinsConstructor.icc | 2 +- ...rFlatVolumeWithTracksAndHoleConstructor.hh | 2 +- ...FlatVolumeWithTracksAndHoleConstructor.icc | 2 +- ...DetectorFlatVolumeWithTracksConstructor.hh | 2 +- ...etectorFlatVolumeWithTracksConstructor.icc | 2 +- ...ctorLabelledEntitiesConstructorsFactory.hh | 2 +- ...torLabelledEntitiesConstructorsFactory.icc | 2 +- ...orLabelledEntitiesConstructorsMessenger.hh | 2 +- .../include/RadmonDetectorLayerLayout.hh | 2 +- .../include/RadmonDetectorLayerLayout.icc | 2 +- .../include/RadmonDetectorLayerVolumeItem.hh | 2 +- .../include/RadmonDetectorLayerVolumeItem.icc | 2 +- ...dmonDetectorLayerVolumeItemIntersection.hh | 2 +- ...monDetectorLayerVolumeItemIntersection.icc | 2 +- ...admonDetectorLayerVolumeItemSubtraction.hh | 2 +- ...dmonDetectorLayerVolumeItemSubtraction.icc | 2 +- .../RadmonDetectorLayerVolumeItemUnion.hh | 2 +- .../RadmonDetectorLayerVolumeItemUnion.icc | 2 +- .../include/RadmonDetectorLayerVolumesList.hh | 2 +- .../RadmonDetectorLayerVolumesList.icc | 2 +- .../detector/include/RadmonDetectorLayout.hh | 2 +- .../include/RadmonDetectorMessenger.hh | 2 +- .../include/RadmonDetectorMultilayerLayout.hh | 2 +- .../RadmonDetectorMultilayerLayout.icc | 2 +- ...RadmonDetectorMultilayerPlacementLayout.hh | 2 +- ...admonDetectorMultilayerPlacementLayout.icc | 2 +- ...torMultilayerPlacementsLayoutCollection.hh | 2 +- ...orMultilayerPlacementsLayoutCollection.icc | 2 +- ...dmonDetectorMultilayersLayoutCollection.hh | 2 +- ...monDetectorMultilayersLayoutCollection.icc | 2 +- .../include/RadmonDetectorPadsData.hh | 2 +- .../include/RadmonDetectorPadsData.icc | 2 +- .../RadmonTDetectorCarvedVolumesDecorator.hh | 2 +- .../RadmonTDetectorCarvedVolumesDecorator.icc | 2 +- .../RadmonTDetectorLayerConstructor.hh | 2 +- .../RadmonTDetectorLayerConstructor.icc | 2 +- ...dmonTDetectorVolumesWithGroundDecorator.hh | 2 +- ...monTDetectorVolumesWithGroundDecorator.icc | 2 +- ...RadmonTDetectorVolumesWithHoleDecorator.hh | 2 +- ...admonTDetectorVolumesWithHoleDecorator.icc | 2 +- ...onTDetectorVolumesWithKeyMarksDecorator.hh | 2 +- ...nTDetectorVolumesWithKeyMarksDecorator.icc | 2 +- ...RadmonTDetectorVolumesWithPadsDecorator.hh | 2 +- ...admonTDetectorVolumesWithPadsDecorator.icc | 2 +- ...RadmonTDetectorVolumesWithPinsDecorator.hh | 2 +- ...admonTDetectorVolumesWithPinsDecorator.icc | 2 +- ...dmonTDetectorVolumesWithTracksDecorator.hh | 2 +- ...monTDetectorVolumesWithTracksDecorator.icc | 2 +- ...monVDetectorEntitiesConstructorsFactory.hh | 2 +- ...onVDetectorEntitiesConstructorsFactory.icc | 2 +- .../RadmonVDetectorEntityConstructor.hh | 2 +- .../RadmonVDetectorEntityConstructor.icc | 2 +- ...admonVDetectorLabelledEntityConstructor.hh | 2 +- ...dmonVDetectorLabelledEntityConstructor.icc | 2 +- ...RadmonVDetectorLayerVolumeItemOperation.hh | 2 +- ...admonVDetectorLayerVolumeItemOperation.icc | 2 +- .../detector/include/RadmonVDetectorLayout.hh | 2 +- .../include/RadmonVDetectorLayout.icc | 2 +- .../src/RadmonDetectorConstruction.cc | 2 +- .../src/RadmonDetectorEnvironmentLayout.cc | 2 +- .../src/RadmonDetectorFlatVolumeComponent.cc | 2 +- ...ctorLabelledEntitiesConstructorsFactory.cc | 2 +- ...orLabelledEntitiesConstructorsMessenger.cc | 2 +- .../detector/src/RadmonDetectorLayerLayout.cc | 2 +- .../src/RadmonDetectorLayerVolumeItem.cc | 2 +- ...dmonDetectorLayerVolumeItemIntersection.cc | 2 +- ...admonDetectorLayerVolumeItemSubtraction.cc | 2 +- .../src/RadmonDetectorLayerVolumeItemUnion.cc | 2 +- .../src/RadmonDetectorLayerVolumesList.cc | 2 +- .../detector/src/RadmonDetectorLayout.cc | 2 +- .../detector/src/RadmonDetectorMessenger.cc | 2 +- .../src/RadmonDetectorMultilayerLayout.cc | 2 +- ...RadmonDetectorMultilayerPlacementLayout.cc | 2 +- ...torMultilayerPlacementsLayoutCollection.cc | 2 +- ...dmonDetectorMultilayersLayoutCollection.cc | 2 +- .../detector/src/RadmonDetectorPadsData.cc | 2 +- ...admonVDetectorLabelledEntityConstructor.cc | 2 +- ...RadmonVDetectorLayerVolumeItemOperation.cc | 2 +- .../generalPurpose/include/RadmonDumpStyle.hh | 2 +- .../RadmonLayoutEntityWithAttributes.hh | 2 +- .../RadmonLayoutEntityWithAttributes.icc | 2 +- .../generalPurpose/include/RadmonMessenger.hh | 2 +- .../include/RadmonMessenger.icc | 2 +- .../include/RadmonMessengersSupport.hh | 2 +- .../include/RadmonTLabelledCollection.hh | 2 +- .../include/RadmonTLabelledCollection.icc | 2 +- .../generalPurpose/include/RadmonTokenizer.hh | 2 +- .../include/RadmonTokenizer.icc | 2 +- .../include/RadmonVLayoutObserver.hh | 2 +- .../include/RadmonVLayoutObserver.icc | 2 +- .../include/RadmonVLayoutSubject.hh | 2 +- .../include/RadmonVLayoutSubject.icc | 2 +- .../src/RadmonLayoutEntityWithAttributes.cc | 2 +- .../generalPurpose/src/RadmonMessenger.cc | 2 +- .../generalPurpose/src/RadmonTokenizer.cc | 2 +- .../src/RadmonVLayoutSubject.cc | 2 +- .../include/RadmonGeneratorFixedDirection.hh | 2 +- .../include/RadmonGeneratorFixedDirection.icc | 2 +- .../include/RadmonGeneratorFixedEnergy.hh | 2 +- .../include/RadmonGeneratorFixedEnergy.icc | 2 +- .../include/RadmonGeneratorFixedParticle.hh | 2 +- .../include/RadmonGeneratorFixedParticle.icc | 2 +- .../include/RadmonGeneratorFixedPosition.hh | 2 +- .../include/RadmonGeneratorFixedPosition.icc | 2 +- .../include/RadmonGeneratorLayout.hh | 2 +- .../include/RadmonGeneratorLayout.icc | 2 +- .../include/RadmonGeneratorMessenger.hh | 2 +- .../RadmonGeneratorSourceAlgorithmLayout.hh | 2 +- .../RadmonGeneratorSourceAlgorithmLayout.icc | 2 +- .../include/RadmonGeneratorSourceLayout.hh | 2 +- .../include/RadmonGeneratorSourceLayout.icc | 2 +- .../include/RadmonGeneratorUniformPlane.hh | 2 +- .../include/RadmonGeneratorUniformPlane.icc | 2 +- .../include/RadmonGeneratorUniformSphere.hh | 2 +- .../include/RadmonGeneratorUniformSphere.icc | 2 +- .../RadmonGeneratorsWithLabelFactory.hh | 2 +- .../RadmonGeneratorsWithLabelMessenger.hh | 2 +- .../include/RadmonPrimaryGeneratorAction.hh | 2 +- .../generator/include/RadmonVGenerator.hh | 2 +- .../generator/include/RadmonVGenerator.icc | 2 +- .../include/RadmonVGeneratorLayout.hh | 2 +- .../include/RadmonVGeneratorLayout.icc | 2 +- .../include/RadmonVGeneratorWithLabel.hh | 2 +- .../include/RadmonVGeneratorWithLabel.icc | 2 +- .../include/RadmonVGeneratorsFactory.hh | 2 +- .../include/RadmonVGeneratorsFactory.icc | 2 +- .../src/RadmonGeneratorFixedDirection.cc | 2 +- .../src/RadmonGeneratorFixedEnergy.cc | 2 +- .../src/RadmonGeneratorFixedParticle.cc | 2 +- .../src/RadmonGeneratorFixedPosition.cc | 2 +- .../generator/src/RadmonGeneratorLayout.cc | 2 +- .../generator/src/RadmonGeneratorMessenger.cc | 2 +- .../RadmonGeneratorSourceAlgorithmLayout.cc | 2 +- .../src/RadmonGeneratorSourceLayout.cc | 2 +- .../src/RadmonGeneratorUniformPlane.cc | 2 +- .../src/RadmonGeneratorUniformSphere.cc | 2 +- .../src/RadmonGeneratorsWithLabelFactory.cc | 2 +- .../src/RadmonGeneratorsWithLabelMessenger.cc | 2 +- .../src/RadmonPrimaryGeneratorAction.cc | 2 +- .../include/RadmonMaterialsDumpStyle.hh | 2 +- .../include/RadmonMaterialsManager.hh | 2 +- .../include/RadmonMaterialsManager.icc | 2 +- .../include/RadmonMaterialsMessenger.hh | 2 +- .../materials/src/RadmonMaterialsManager.cc | 2 +- .../materials/src/RadmonMaterialsMessenger.cc | 2 +- .../physics/include/RadmonPhysicsDecay.hh | 2 +- .../physics/include/RadmonPhysicsDecay.icc | 2 +- .../include/RadmonPhysicsElectronEEDL.hh | 2 +- .../include/RadmonPhysicsElectronEEDL.icc | 2 +- .../include/RadmonPhysicsElectronStandard.hh | 2 +- .../include/RadmonPhysicsElectronStandard.icc | 2 +- .../include/RadmonPhysicsHadronsBertini.hh | 2 +- .../include/RadmonPhysicsHadronsBertini.icc | 2 +- .../include/RadmonPhysicsHadronsBinary.hh | 2 +- .../include/RadmonPhysicsHadronsBinary.icc | 2 +- .../include/RadmonPhysicsICRUIonization.hh | 2 +- .../include/RadmonPhysicsICRUIonization.icc | 2 +- .../physics/include/RadmonPhysicsInfo.hh | 2 +- .../physics/include/RadmonPhysicsInfo.icc | 2 +- .../physics/include/RadmonPhysicsInfoList.hh | 2 +- .../physics/include/RadmonPhysicsInfoList.icc | 2 +- .../physics/include/RadmonPhysicsLayout.hh | 2 +- .../physics/include/RadmonPhysicsList.hh | 2 +- .../physics/include/RadmonPhysicsMessenger.hh | 2 +- .../include/RadmonPhysicsMuonStandard.hh | 2 +- .../include/RadmonPhysicsMuonStandard.icc | 2 +- .../include/RadmonPhysicsNeutronBertini.hh | 2 +- .../include/RadmonPhysicsNeutronBertini.icc | 2 +- .../include/RadmonPhysicsNeutronBinary.hh | 2 +- .../include/RadmonPhysicsNeutronBinary.icc | 2 +- .../physics/include/RadmonPhysicsNuclear.hh | 2 +- .../physics/include/RadmonPhysicsNuclear.icc | 2 +- .../include/RadmonPhysicsPhotonEPDL.hh | 2 +- .../include/RadmonPhysicsPhotonEPDL.icc | 2 +- .../include/RadmonPhysicsPhotonStandard.hh | 2 +- .../include/RadmonPhysicsPhotonStandard.icc | 2 +- .../include/RadmonPhysicsPositronStandard.hh | 2 +- .../include/RadmonPhysicsPositronStandard.icc | 2 +- .../include/RadmonPhysicsProductionCuts.hh | 2 +- .../include/RadmonPhysicsProductionCuts.icc | 2 +- .../include/RadmonPhysicsSteppingAction.hh | 2 +- .../include/RadmonPhysicsSteppingAction.icc | 2 +- .../include/RadmonPhysicsTauStandard.hh | 2 +- .../include/RadmonPhysicsTauStandard.icc | 2 +- .../include/RadmonSubPhysicsListLayout.hh | 2 +- .../include/RadmonSubPhysicsListLayout.icc | 2 +- .../RadmonSubPhysicsListWithLabelFactory.hh | 2 +- .../RadmonSubPhysicsListWithLabelFactory.icc | 2 +- .../RadmonSubPhysicsListWithLabelMessenger.hh | 2 +- .../physics/include/RadmonVPhysicsLayout.hh | 2 +- .../physics/include/RadmonVPhysicsLayout.icc | 2 +- .../physics/include/RadmonVSubPhysicsList.hh | 2 +- .../physics/include/RadmonVSubPhysicsList.icc | 2 +- .../include/RadmonVSubPhysicsListFactory.hh | 2 +- .../include/RadmonVSubPhysicsListFactory.icc | 2 +- .../include/RadmonVSubPhysicsListWithLabel.hh | 2 +- .../RadmonVSubPhysicsListWithLabel.icc | 2 +- .../physics/src/RadmonPhysicsDecay.cc | 2 +- .../physics/src/RadmonPhysicsElectronEEDL.cc | 2 +- .../src/RadmonPhysicsElectronStandard.cc | 2 +- .../src/RadmonPhysicsHadronsBertini.cc | 2 +- .../physics/src/RadmonPhysicsHadronsBinary.cc | 2 +- .../src/RadmonPhysicsICRUIonization.cc | 2 +- .../physics/src/RadmonPhysicsInfo.cc | 2 +- .../physics/src/RadmonPhysicsInfoList.cc | 2 +- .../physics/src/RadmonPhysicsLayout.cc | 2 +- .../physics/src/RadmonPhysicsList.cc | 2 +- .../physics/src/RadmonPhysicsMessenger.cc | 2 +- .../physics/src/RadmonPhysicsMuonStandard.cc | 2 +- .../src/RadmonPhysicsNeutronBertini.cc | 2 +- .../physics/src/RadmonPhysicsNeutronBinary.cc | 2 +- .../physics/src/RadmonPhysicsNuclear.cc | 2 +- .../physics/src/RadmonPhysicsPhotonEPDL.cc | 2 +- .../src/RadmonPhysicsPhotonStandard.cc | 2 +- .../src/RadmonPhysicsPositronStandard.cc | 2 +- .../src/RadmonPhysicsProductionCuts.cc | 2 +- .../src/RadmonPhysicsSteppingAction.cc | 2 +- .../physics/src/RadmonPhysicsTauStandard.cc | 2 +- .../physics/src/RadmonSubPhysicsListLayout.cc | 2 +- .../RadmonSubPhysicsListWithLabelFactory.cc | 2 +- .../RadmonSubPhysicsListWithLabelMessenger.cc | 2 +- .../sensitivity/include/RadmonHit.hh | 2 +- .../sensitivity/include/RadmonHit.icc | 2 +- .../sensitivity/include/RadmonHitsManager.hh | 2 +- .../sensitivity/include/RadmonHitsManager.icc | 2 +- .../include/RadmonSensitiveDetector.hh | 2 +- .../include/RadmonSensitiveDetector.icc | 2 +- .../RadmonSensitiveDetectorDataStorer.hh | 2 +- .../RadmonSensitiveDetectorDataStorer.icc | 2 +- .../sensitivity/src/RadmonHit.cc | 2 +- .../sensitivity/src/RadmonHitsManager.cc | 2 +- .../src/RadmonSensitiveDetector.cc | 2 +- .../userActions/include/RadmonEventAction.hh | 2 +- .../userActions/include/RadmonEventAction.icc | 2 +- .../include/RadmonEventActionObserver.hh | 2 +- .../include/RadmonEventActionObserver.icc | 2 +- .../userActions/include/RadmonRunAction.hh | 2 +- .../userActions/include/RadmonRunAction.icc | 2 +- .../include/RadmonRunActionObserver.hh | 2 +- .../include/RadmonRunActionObserver.icc | 2 +- .../include/RadmonSteppingAction.hh | 2 +- .../include/RadmonSteppingAction.icc | 2 +- .../include/RadmonSteppingActionObserver.hh | 2 +- .../include/RadmonSteppingActionObserver.icc | 2 +- .../userActions/src/RadmonEventAction.cc | 2 +- .../userActions/src/RadmonRunAction.cc | 2 +- .../userActions/src/RadmonSteppingAction.cc | 2 +- examples/advanced/radioprotection/History | 6 +- examples/advanced/radioprotection/README | 14 +- .../radioprotection/include/RemSimDecay.hh | 2 +- .../include/RemSimDecorator.hh | 2 +- .../include/RemSimDetectorConstruction.hh | 2 +- .../include/RemSimDetectorMessenger.hh | 2 +- .../include/RemSimElectronEEDL.hh | 2 +- .../include/RemSimEventAction.hh | 2 +- .../include/RemSimHadronicBertini.hh | 2 +- .../include/RemSimHadronicBinary.hh | 2 +- .../radioprotection/include/RemSimIonICRU.hh | 2 +- .../radioprotection/include/RemSimMaterial.hh | 2 +- .../include/RemSimMoonHabitat.hh | 2 +- .../include/RemSimMuonStandard.hh | 2 +- .../include/RemSimPhotonEPDL.hh | 2 +- .../include/RemSimPhysicsList.hh | 2 +- .../include/RemSimPhysicsListMessenger.hh | 2 +- .../include/RemSimPositronStandard.hh | 2 +- .../include/RemSimPrimaryGeneratorAction.hh | 2 +- .../RemSimPrimaryGeneratorMessenger.hh | 2 +- .../include/RemSimROGeometry.hh | 2 +- .../include/RemSimRoofDecorator.hh | 2 +- .../include/RemSimRunAction.hh | 2 +- .../include/RemSimSensitiveDetector.hh | 2 +- .../include/RemSimShelterSPEDecorator.hh | 2 +- .../include/RemSimShieldingDecorator.hh | 2 +- .../include/RemSimSteppingAction.hh | 2 +- .../include/RemSimSteppingActionMessenger.hh | 2 +- .../include/RemSimVGeometryComponent.hh | 2 +- .../radioprotection/include/RemSimVehicle1.hh | 2 +- examples/advanced/radioprotection/remsim.cc | 2 +- .../radioprotection/src/RemSimDecay.cc | 2 +- .../radioprotection/src/RemSimDecorator.cc | 2 +- .../src/RemSimDetectorConstruction.cc | 2 +- .../src/RemSimDetectorMessenger.cc | 2 +- .../radioprotection/src/RemSimElectronEEDL.cc | 2 +- .../radioprotection/src/RemSimEventAction.cc | 2 +- .../src/RemSimHadronicBertini.cc | 2 +- .../src/RemSimHadronicBinary.cc | 2 +- .../radioprotection/src/RemSimIonICRU.cc | 2 +- .../radioprotection/src/RemSimMaterial.cc | 2 +- .../radioprotection/src/RemSimMoonHabitat.cc | 2 +- .../radioprotection/src/RemSimMuonStandard.cc | 2 +- .../radioprotection/src/RemSimPhotonEPDL.cc | 2 +- .../radioprotection/src/RemSimPhysicsList.cc | 2 +- .../src/RemSimPhysicsListMessenger.cc | 2 +- .../src/RemSimPositronStandard.cc | 2 +- .../src/RemSimPrimaryGeneratorMessenger.cc | 2 +- .../radioprotection/src/RemSimROGeometry.cc | 2 +- .../src/RemSimRoofDecorator.cc | 2 +- .../radioprotection/src/RemSimRunAction.cc | 2 +- .../src/RemSimSensitiveDetector.cc | 2 +- .../src/RemSimShelterSPEDecorator.cc | 2 +- .../src/RemSimShieldingDecorator.cc | 2 +- .../src/RemSimSteppingAction.cc | 2 +- .../src/RemSimSteppingActionMessenger.cc | 2 +- .../src/RemSimVGeometryComponent.cc | 2 +- .../radioprotection/src/RemSimVehicle1.cc | 2 +- .../advanced/raredecay_calorimetry/PhotIn.cc | 2 +- .../advanced/raredecay_calorimetry/PhotIn.out | 151 +- .../include/PhotInCalorHit.hh | 2 +- .../include/PhotInCalorimeterSD.hh | 2 +- .../include/PhotInConstants.hh | 2 +- .../include/PhotInDetectorConstruction.hh | 2 +- .../include/PhotInDetectorMessenger.hh | 2 +- .../include/PhotInEventAction.hh | 2 +- .../include/PhotInGapParameterisation.hh | 2 +- .../include/PhotInLayerParameterisation.hh | 2 +- .../include/PhotInPhysicsList.hh | 2 +- .../include/PhotInPrimaryGeneratorAction.hh | 2 +- .../include/PhotInRun.hh | 2 +- .../include/PhotInRunAction.hh | 2 +- .../src/PhotInCalorHit.cc | 2 +- .../src/PhotInCalorimeterSD.cc | 2 +- .../src/PhotInDetectorConstruction.cc | 2 +- .../src/PhotInDetectorMessenger.cc | 2 +- .../src/PhotInEventAction.cc | 2 +- .../src/PhotInGapParameterisation.cc | 2 +- .../src/PhotInLayerParameterisation.cc | 2 +- .../src/PhotInPhysicsList.cc | 2 +- .../src/PhotInPrimaryGeneratorAction.cc | 2 +- .../raredecay_calorimetry/src/PhotInRun.cc | 2 +- .../src/PhotInRunAction.cc | 2 +- examples/advanced/underground_physics/History | 11 +- .../include/DMXMinEkineCuts.hh | 2 +- .../src/DMXMinEkineCuts.cc | 2 +- .../underground_physics/src/DMXPhysicsList.cc | 19 +- examples/advanced/xray_fluorescence/History | 2 +- .../xray_telescope/include/XrayTelAnalysis.hh | 2 +- .../xray_telescope/src/XrayTelAnalysis.cc | 2 +- examples/advanced/xray_telescope/test.out | 2 +- examples/extended/analysis/A01/History | 7 +- .../A01/include/A01AnalysisManager.hh | 3 +- .../analysis/A01/src/A01AnalysisManager.cc | 19 +- .../analysis/A01/src/A01EventAction.cc | 4 +- examples/extended/analysis/A01/test.out | 2 +- examples/extended/analysis/AnaEx01/AnaEx01.cc | 2 +- .../AnaEx01/include/AnaEx01AnalysisManager.hh | 2 +- .../AnaEx01/include/AnaEx01CalorHit.hh | 2 +- .../AnaEx01/include/AnaEx01CalorimeterSD.hh | 2 +- .../include/AnaEx01DetectorConstruction.hh | 2 +- .../include/AnaEx01DetectorMessenger.hh | 2 +- .../AnaEx01/include/AnaEx01EventAction.hh | 2 +- .../AnaEx01/include/AnaEx01PhysicsList.hh | 2 +- .../include/AnaEx01PrimaryGeneratorAction.hh | 2 +- .../AnaEx01PrimaryGeneratorMessenger.hh | 2 +- .../AnaEx01/include/AnaEx01RunAction.hh | 2 +- .../AnaEx01/include/AnaEx01SteppingAction.hh | 2 +- .../AnaEx01/include/AnaEx01SteppingVerbose.hh | 2 +- .../AnaEx01/src/AnaEx01AnalysisManager.cc | 2 +- .../analysis/AnaEx01/src/AnaEx01CalorHit.cc | 2 +- .../AnaEx01/src/AnaEx01CalorimeterSD.cc | 2 +- .../src/AnaEx01DetectorConstruction.cc | 2 +- .../AnaEx01/src/AnaEx01DetectorMessenger.cc | 2 +- .../AnaEx01/src/AnaEx01EventAction.cc | 2 +- .../AnaEx01/src/AnaEx01PhysicsList.cc | 2 +- .../src/AnaEx01PrimaryGeneratorAction.cc | 2 +- .../src/AnaEx01PrimaryGeneratorMessenger.cc | 2 +- .../analysis/AnaEx01/src/AnaEx01RunAction.cc | 2 +- .../AnaEx01/src/AnaEx01SteppingAction.cc | 2 +- .../AnaEx01/src/AnaEx01SteppingVerbose.cc | 2 +- examples/extended/analysis/N03Con/GNUmakefile | 22 + examples/extended/analysis/N03Con/History | 19 + examples/extended/analysis/N03Con/History.N03 | 467 + examples/extended/analysis/N03Con/README | 88 + examples/extended/analysis/N03Con/README.N03 | 191 + .../extended/analysis/N03Con/exampleN03Con.cc | 170 + .../extended/analysis/N03Con/exampleN03Con.in | 36 + .../analysis/N03Con/exampleN03Con.out | 554 + .../analysis/N03Con/exampleN03Con_large_N.in | 36 + .../include/ExN03DetectorConstruction.hh | 159 + .../N03Con/include/ExN03DetectorMessenger.hh | 65 +- .../N03Con/include/ExN03EventAction.hh | 76 + .../include/ExN03EventActionMessenger.hh | 43 +- .../N03Con/include/ExN03PhysicsList.hh} | 57 +- .../include/ExN03PrimaryGeneratorAction.hh | 70 + .../include/ExN03PrimaryGeneratorMessenger.hh | 64 + .../analysis/N03Con/include/ExN03RunAction.hh | 74 + .../N03Con/include/ExN03SteppingAction.hh | 50 +- .../N03Con/include/ExN03SteppingVerbose.hh} | 35 +- .../N03Con/include/G4ConvergenceTester.hh | 150 + .../N03Con/src/ExN03DetectorConstruction.cc | 473 + .../N03Con/src/ExN03DetectorMessenger.cc | 150 + .../analysis/N03Con/src/ExN03EventAction.cc | 103 +- .../N03Con/src/ExN03EventActionMessenger.cc | 73 + .../analysis/N03Con/src/ExN03PhysicsList.cc | 244 + .../N03Con/src/ExN03PrimaryGeneratorAction.cc | 94 +- .../src/ExN03PrimaryGeneratorMessenger.cc | 81 +- .../analysis/N03Con/src/ExN03RunAction.cc | 143 + .../N03Con/src/ExN03SteppingAction.cc | 78 + .../N03Con/src/ExN03SteppingVerbose.cc | 182 + .../N03Con/src/G4ConvergenceTester.cc | 696 + .../extended/biasing/{B03 => B01}/History | 19 +- examples/extended/biasing/B01/exampleB01.cc | 30 +- examples/extended/biasing/B01/exampleB01.out | 176 +- .../B01/include/B01DetectorConstruction.hh | 13 +- .../biasing/B01/include/B01PhysicsList.hh | 9 + .../extended/biasing/B01/include/B01Run.hh | 84 + .../biasing/B01/include/B01RunAction.hh | 76 + .../biasing/B01/include/B01ScoreTable.hh | 20 +- .../B01/src/B01DetectorConstruction.cc | 130 +- .../biasing/B01/src/B01PhysicsList.cc | 32 +- .../B01/src/B01PrimaryGeneratorAction.cc | 2 +- examples/extended/biasing/B01/src/B01Run.cc | 208 + .../extended/biasing/B01/src/B01RunAction.cc | 227 + .../extended/biasing/B01/src/B01ScoreTable.cc | 43 +- examples/extended/biasing/B02/History | 8 +- examples/extended/biasing/B02/exampleB02.cc | 75 +- examples/extended/biasing/B02/exampleB02.out | 2 +- .../biasing/B02/include/B02CellScorer.hh | 2 +- .../biasing/B02/include/B02CellScorerStore.hh | 2 +- .../B02/include/B02DetectorConstruction.hh | 16 +- .../B02ImportanceDetectorConstruction.hh | 27 +- .../B02PSScoringDetectorConstruction.hh} | 43 +- .../biasing/B02/include/B02PhysicsList.hh | 12 + .../extended/biasing/B02/include/B02Run.hh | 84 + .../biasing/B02/include/B02RunAction.hh | 76 + .../biasing/B02/include/B02ScoreTable.hh | 67 +- .../include/B02ScoringDetectorConstruction.hh | 2 +- .../extended/biasing/B02/src/B02CellScorer.cc | 2 +- .../biasing/B02/src/B02CellScorerStore.cc | 2 +- .../B02/src/B02DetectorConstruction.cc | 23 +- .../src/B02ImportanceDetectorConstruction.cc | 194 +- .../src/B02PSScoringDetectorConstruction.cc | 282 + .../biasing/B02/src/B02PhysicsList.cc | 32 +- .../B02/src/B02PrimaryGeneratorAction.cc | 2 +- examples/extended/biasing/B02/src/B02Run.cc | 209 + .../extended/biasing/B02/src/B02RunAction.cc | 228 + .../extended/biasing/B02/src/B02ScoreTable.cc | 201 + .../B02/src/B02ScoringDetectorConstruction.cc | 2 +- .../extended/biasing/B03/B03Application.py | 161 - .../extended/biasing/B03/B03RunApplication.py | 42 - examples/extended/biasing/B03/GNUmakefile | 79 - examples/extended/biasing/B03/exampleB03.out | 144 - .../extended/biasing/B03/include/B03App.i | 179 - .../B03/include/B03DetectorConstruction.hh | 47 - examples/extended/biasing/B03/setupPI.csh | 76 - .../extended/biasing/B03/src/B03AppBase.cc | 94 - .../B03/src/B03DetectorConstruction.cc | 185 - .../src/B03ImportanceDetectorConstruction.cc | 218 - .../biasing/B03/src/B03PVolumeStore.cc | 95 - .../biasing/B03/src/B03PhysicsList.cc | 636 - examples/extended/biasing/GNUmakefile | 4 +- examples/extended/biasing/History | 15 +- .../electromagnetic/TestEm0/DirectAccess.cc | 2 +- .../extended/electromagnetic/TestEm0/History | 5 +- .../electromagnetic/TestEm0/TestEm0.cc | 19 +- .../electromagnetic/TestEm0/TestEm0.out | 2 +- .../TestEm0/include/DetectorConstruction.hh | 2 +- .../TestEm0/include/DetectorMessenger.hh | 2 +- .../TestEm0/include/PhysListEmStandard.hh | 2 +- .../TestEm0/include/PhysicsList.hh | 2 +- .../TestEm0/include/PhysicsListMessenger.hh | 2 +- .../TestEm0/include/PrimaryGeneratorAction.hh | 2 +- .../TestEm0/include/RunAction.hh | 2 +- .../TestEm0/src/DetectorConstruction.cc | 2 +- .../TestEm0/src/DetectorMessenger.cc | 2 +- .../TestEm0/src/PhysListEmStandard.cc | 2 +- .../TestEm0/src/PhysicsList.cc | 2 +- .../TestEm0/src/PhysicsListMessenger.cc | 2 +- .../TestEm0/src/PrimaryGeneratorAction.cc | 2 +- .../electromagnetic/TestEm0/src/RunAction.cc | 2 +- .../extended/electromagnetic/TestEm1/History | 12 +- .../electromagnetic/TestEm1/TestEm1.cc | 39 +- .../electromagnetic/TestEm1/TestEm1.out | 152 +- .../electromagnetic/TestEm1/erange.mac | 40 + .../TestEm1/include/DetectorConstruction.hh | 2 +- .../TestEm1/include/DetectorMessenger.hh | 2 +- .../TestEm1/include/EventAction.hh | 2 +- .../TestEm1/include/EventActionMessenger.hh | 2 +- .../TestEm1/include/HistoManager.hh | 2 +- .../TestEm1/include/HistoMessenger.hh | 2 +- .../TestEm1/include/PhysListEmLivermore.hh | 2 +- .../TestEm1/include/PhysListEmPenelope.hh | 2 +- .../TestEm1/include/PhysListEmStandard.hh | 2 +- .../TestEm1/include/PhysicsList.hh | 2 +- .../TestEm1/include/PhysicsListMessenger.hh | 2 +- .../TestEm1/include/PrimaryGeneratorAction.hh | 2 +- .../include/PrimaryGeneratorMessenger.hh | 2 +- .../TestEm1/include/ProcessesCount.hh | 2 +- .../TestEm1/include/RunAction.hh | 2 +- .../TestEm1/include/StepMax.hh | 2 +- .../TestEm1/include/StepMaxMessenger.hh | 2 +- .../TestEm1/include/SteppingAction.hh | 2 +- .../TestEm1/include/SteppingVerbose.hh | 2 +- .../TestEm1/include/TrackingAction.hh | 2 +- .../electromagnetic/TestEm1/range.mac | 7 +- .../TestEm1/src/DetectorConstruction.cc | 2 +- .../TestEm1/src/DetectorMessenger.cc | 2 +- .../TestEm1/src/EventAction.cc | 8 +- .../TestEm1/src/EventActionMessenger.cc | 2 +- .../TestEm1/src/HistoManager.cc | 2 +- .../TestEm1/src/HistoMessenger.cc | 2 +- .../TestEm1/src/PhysListEmLivermore.cc | 2 +- .../TestEm1/src/PhysListEmPenelope.cc | 2 +- .../TestEm1/src/PhysListEmStandard.cc | 37 +- .../TestEm1/src/PhysicsList.cc | 2 +- .../TestEm1/src/PhysicsListMessenger.cc | 2 +- .../TestEm1/src/PrimaryGeneratorAction.cc | 2 +- .../TestEm1/src/PrimaryGeneratorMessenger.cc | 2 +- .../electromagnetic/TestEm1/src/RunAction.cc | 2 +- .../electromagnetic/TestEm1/src/StepMax.cc | 2 +- .../TestEm1/src/StepMaxMessenger.cc | 2 +- .../TestEm1/src/SteppingAction.cc | 2 +- .../TestEm1/src/SteppingVerbose.cc | 2 +- .../TestEm1/src/TrackingAction.cc | 2 +- .../extended/electromagnetic/TestEm1/vis.mac | 2 +- .../electromagnetic/TestEm10/TestEm10.cc | 2 +- .../TestEm10/TestEm10.large_N.out | 2 +- .../electromagnetic/TestEm10/TestEm10.out | 151 +- .../TestEm10/include/Em10CalorHit.hh | 2 +- .../TestEm10/include/Em10CalorimeterSD.hh | 2 +- .../include/Em10DetectorConstruction.hh | 2 +- .../TestEm10/include/Em10DetectorMessenger.hh | 2 +- .../TestEm10/include/Em10EventAction.hh | 2 +- .../include/Em10EventActionMessenger.hh | 2 +- .../TestEm10/include/Em10PhysicsList.hh | 2 +- .../include/Em10PhysicsListMessenger.hh | 2 +- .../include/Em10PrimaryGeneratorAction.hh | 2 +- .../include/Em10PrimaryGeneratorMessenger.hh | 2 +- .../TestEm10/include/Em10RunAction.hh | 2 +- .../TestEm10/include/Em10RunMessenger.hh | 2 +- .../TestEm10/include/Em10StepCut.hh | 2 +- .../TestEm10/include/Em10SteppingAction.hh | 2 +- .../TestEm10/include/Em10SteppingMessenger.hh | 2 +- .../TestEm10/include/Em10SteppingVerbose.hh | 2 +- .../TestEm10/include/StepMax.hh | 2 +- .../include/TRTDetectorConstruction.hh | 2 +- .../TestEm10/include/TRTMaterials.hh | 2 +- .../TestEm10/src/Em10CalorHit.cc | 2 +- .../TestEm10/src/Em10CalorimeterSD.cc | 2 +- .../TestEm10/src/Em10DetectorConstruction.cc | 2 +- .../TestEm10/src/Em10DetectorMessenger.cc | 2 +- .../TestEm10/src/Em10EventAction.cc | 2 +- .../TestEm10/src/Em10EventActionMessenger.cc | 2 +- .../TestEm10/src/Em10PhysicsList.cc | 2 +- .../TestEm10/src/Em10PhysicsListMessenger.cc | 2 +- .../src/Em10PrimaryGeneratorAction.cc | 2 +- .../src/Em10PrimaryGeneratorMessenger.cc | 2 +- .../TestEm10/src/Em10RunAction.cc | 2 +- .../TestEm10/src/Em10RunMessenger.cc | 2 +- .../TestEm10/src/Em10StepCut.cc | 2 +- .../TestEm10/src/Em10SteppingAction.cc | 2 +- .../TestEm10/src/Em10SteppingMessenger.cc | 2 +- .../TestEm10/src/Em10SteppingVerbose.cc | 2 +- .../electromagnetic/TestEm10/src/StepMax.cc | 2 +- .../electromagnetic/TestEm11/TestEm11.cc | 2 +- .../electromagnetic/TestEm11/TestEm11.out | 35 +- .../TestEm11/include/DetectorConstruction.hh | 2 +- .../TestEm11/include/DetectorMessenger.hh | 2 +- .../TestEm11/include/EventAction.hh | 2 +- .../TestEm11/include/EventActionMessenger.hh | 2 +- .../TestEm11/include/HistoManager.hh | 2 +- .../TestEm11/include/HistoMessenger.hh | 2 +- .../TestEm11/include/PhysListEmLivermore.hh | 2 +- .../TestEm11/include/PhysListEmPenelope.hh | 2 +- .../TestEm11/include/PhysListEmStandard.hh | 2 +- .../TestEm11/include/PhysicsList.hh | 2 +- .../TestEm11/include/PhysicsListMessenger.hh | 2 +- .../include/PrimaryGeneratorAction.hh | 2 +- .../include/PrimaryGeneratorMessenger.hh | 2 +- .../TestEm11/include/RunAction.hh | 2 +- .../TestEm11/include/StepMax.hh | 2 +- .../TestEm11/include/StepMaxMessenger.hh | 2 +- .../TestEm11/include/SteppingAction.hh | 2 +- .../TestEm11/include/SteppingVerbose.hh | 2 +- .../TestEm11/include/TrackingAction.hh | 2 +- .../TestEm11/src/DetectorConstruction.cc | 2 +- .../TestEm11/src/DetectorMessenger.cc | 2 +- .../TestEm11/src/EventAction.cc | 2 +- .../TestEm11/src/EventActionMessenger.cc | 2 +- .../TestEm11/src/HistoManager.cc | 2 +- .../TestEm11/src/HistoMessenger.cc | 2 +- .../TestEm11/src/PhysListEmLivermore.cc | 2 +- .../TestEm11/src/PhysListEmPenelope.cc | 2 +- .../TestEm11/src/PhysListEmStandard.cc | 2 +- .../TestEm11/src/PhysicsList.cc | 2 +- .../TestEm11/src/PhysicsListMessenger.cc | 2 +- .../TestEm11/src/PrimaryGeneratorAction.cc | 2 +- .../TestEm11/src/PrimaryGeneratorMessenger.cc | 2 +- .../electromagnetic/TestEm11/src/RunAction.cc | 2 +- .../electromagnetic/TestEm11/src/StepMax.cc | 2 +- .../TestEm11/src/StepMaxMessenger.cc | 2 +- .../TestEm11/src/SteppingAction.cc | 2 +- .../TestEm11/src/SteppingVerbose.cc | 2 +- .../TestEm11/src/TrackingAction.cc | 2 +- .../electromagnetic/TestEm12/TestEm12.cc | 2 +- .../electromagnetic/TestEm12/TestEm12.out | 33 +- .../TestEm12/include/DetectorConstruction.hh | 2 +- .../TestEm12/include/DetectorMessenger.hh | 2 +- .../TestEm12/include/EventAction.hh | 2 +- .../TestEm12/include/EventActionMessenger.hh | 2 +- .../TestEm12/include/HistoManager.hh | 2 +- .../TestEm12/include/HistoMessenger.hh | 2 +- .../TestEm12/include/PhysListEmLivermore.hh | 2 +- .../TestEm12/include/PhysListEmPenelope.hh | 2 +- .../TestEm12/include/PhysListEmStandard.hh | 2 +- .../TestEm12/include/PhysicsList.hh | 2 +- .../TestEm12/include/PhysicsListMessenger.hh | 2 +- .../include/PrimaryGeneratorAction.hh | 2 +- .../include/PrimaryGeneratorMessenger.hh | 2 +- .../TestEm12/include/RunAction.hh | 2 +- .../TestEm12/include/StepMax.hh | 2 +- .../TestEm12/include/StepMaxMessenger.hh | 2 +- .../TestEm12/include/SteppingAction.hh | 2 +- .../TestEm12/include/SteppingVerbose.hh | 2 +- .../TestEm12/include/TrackingAction.hh | 2 +- .../TestEm12/src/DetectorConstruction.cc | 2 +- .../TestEm12/src/DetectorMessenger.cc | 2 +- .../TestEm12/src/EventAction.cc | 2 +- .../TestEm12/src/EventActionMessenger.cc | 2 +- .../TestEm12/src/HistoManager.cc | 2 +- .../TestEm12/src/HistoMessenger.cc | 2 +- .../TestEm12/src/PhysListEmLivermore.cc | 2 +- .../TestEm12/src/PhysListEmPenelope.cc | 2 +- .../TestEm12/src/PhysListEmStandard.cc | 2 +- .../TestEm12/src/PhysicsList.cc | 2 +- .../TestEm12/src/PhysicsListMessenger.cc | 2 +- .../TestEm12/src/PrimaryGeneratorAction.cc | 2 +- .../TestEm12/src/PrimaryGeneratorMessenger.cc | 2 +- .../electromagnetic/TestEm12/src/RunAction.cc | 2 +- .../electromagnetic/TestEm12/src/StepMax.cc | 2 +- .../TestEm12/src/StepMaxMessenger.cc | 2 +- .../TestEm12/src/SteppingAction.cc | 2 +- .../TestEm12/src/SteppingVerbose.cc | 2 +- .../TestEm12/src/TrackingAction.cc | 2 +- .../electromagnetic/TestEm13/TestEm13.cc | 2 +- .../electromagnetic/TestEm13/TestEm13.out | 37 +- .../TestEm13/include/DetectorConstruction.hh | 2 +- .../TestEm13/include/DetectorMessenger.hh | 2 +- .../TestEm13/include/EventAction.hh | 2 +- .../TestEm13/include/EventActionMessenger.hh | 2 +- .../TestEm13/include/PhysListEmLivermore.hh | 2 +- .../TestEm13/include/PhysListEmPenelope.hh | 2 +- .../TestEm13/include/PhysListEmStandard.hh | 2 +- .../TestEm13/include/PhysicsList.hh | 2 +- .../TestEm13/include/PhysicsListMessenger.hh | 2 +- .../include/PrimaryGeneratorAction.hh | 2 +- .../TestEm13/include/ProcessesCount.hh | 2 +- .../TestEm13/include/RunAction.hh | 2 +- .../TestEm13/include/SteppingAction.hh | 2 +- .../TestEm13/include/SteppingVerbose.hh | 2 +- .../TestEm13/src/DetectorConstruction.cc | 2 +- .../TestEm13/src/DetectorMessenger.cc | 2 +- .../TestEm13/src/EventAction.cc | 2 +- .../TestEm13/src/EventActionMessenger.cc | 2 +- .../TestEm13/src/PhysListEmLivermore.cc | 2 +- .../TestEm13/src/PhysListEmPenelope.cc | 2 +- .../TestEm13/src/PhysListEmStandard.cc | 2 +- .../TestEm13/src/PhysicsList.cc | 2 +- .../TestEm13/src/PhysicsListMessenger.cc | 2 +- .../TestEm13/src/PrimaryGeneratorAction.cc | 2 +- .../electromagnetic/TestEm13/src/RunAction.cc | 2 +- .../TestEm13/src/SteppingAction.cc | 2 +- .../TestEm13/src/SteppingVerbose.cc | 2 +- .../electromagnetic/TestEm14/TestEm14.cc | 2 +- .../electromagnetic/TestEm14/TestEm14.out | 37 +- .../TestEm14/include/DetectorConstruction.hh | 2 +- .../TestEm14/include/DetectorMessenger.hh | 2 +- .../TestEm14/include/EventAction.hh | 2 +- .../TestEm14/include/EventActionMessenger.hh | 2 +- .../TestEm14/include/HistoManager.hh | 2 +- .../TestEm14/include/HistoMessenger.hh | 2 +- .../TestEm14/include/PhysListEmLivermore.hh | 2 +- .../TestEm14/include/PhysListEmPenelope.hh | 2 +- .../TestEm14/include/PhysListEmStandard.hh | 2 +- .../TestEm14/include/PhysicsList.hh | 2 +- .../TestEm14/include/PhysicsListMessenger.hh | 2 +- .../include/PrimaryGeneratorAction.hh | 2 +- .../TestEm14/include/ProcessesCount.hh | 2 +- .../TestEm14/include/RunAction.hh | 2 +- .../TestEm14/include/SteppingAction.hh | 2 +- .../TestEm14/include/SteppingMessenger.hh | 2 +- .../TestEm14/include/SteppingVerbose.hh | 2 +- .../TestEm14/src/DetectorConstruction.cc | 2 +- .../TestEm14/src/DetectorMessenger.cc | 2 +- .../TestEm14/src/EventAction.cc | 2 +- .../TestEm14/src/EventActionMessenger.cc | 2 +- .../TestEm14/src/HistoManager.cc | 2 +- .../TestEm14/src/HistoMessenger.cc | 2 +- .../TestEm14/src/PhysListEmLivermore.cc | 2 +- .../TestEm14/src/PhysListEmPenelope.cc | 2 +- .../TestEm14/src/PhysListEmStandard.cc | 2 +- .../TestEm14/src/PhysicsList.cc | 2 +- .../TestEm14/src/PhysicsListMessenger.cc | 2 +- .../TestEm14/src/PrimaryGeneratorAction.cc | 2 +- .../electromagnetic/TestEm14/src/RunAction.cc | 2 +- .../TestEm14/src/SteppingAction.cc | 2 +- .../TestEm14/src/SteppingMessenger.cc | 2 +- .../TestEm14/src/SteppingVerbose.cc | 2 +- .../electromagnetic/TestEm15/TestEm15.cc | 2 +- .../electromagnetic/TestEm15/TestEm15.out | 41 +- .../TestEm15/include/DetectorConstruction.hh | 2 +- .../TestEm15/include/DetectorMessenger.hh | 2 +- .../TestEm15/include/EventAction.hh | 2 +- .../TestEm15/include/EventActionMessenger.hh | 2 +- .../TestEm15/include/HistoManager.hh | 2 +- .../TestEm15/include/HistoMessenger.hh | 2 +- .../TestEm15/include/PhysListEmStandard.hh | 2 +- .../TestEm15/include/PhysicsList.hh | 2 +- .../TestEm15/include/PhysicsListMessenger.hh | 2 +- .../include/PrimaryGeneratorAction.hh | 2 +- .../TestEm15/include/ProcessesCount.hh | 2 +- .../TestEm15/include/RunAction.hh | 2 +- .../TestEm15/include/StepMax.hh | 2 +- .../TestEm15/include/StepMaxMessenger.hh | 2 +- .../TestEm15/include/SteppingAction.hh | 2 +- .../TestEm15/include/SteppingVerbose.hh | 2 +- .../TestEm15/src/DetectorConstruction.cc | 2 +- .../TestEm15/src/DetectorMessenger.cc | 2 +- .../TestEm15/src/EventAction.cc | 2 +- .../TestEm15/src/EventActionMessenger.cc | 2 +- .../TestEm15/src/HistoManager.cc | 2 +- .../TestEm15/src/HistoMessenger.cc | 2 +- .../TestEm15/src/PhysListEmStandard.cc | 2 +- .../TestEm15/src/PhysicsList.cc | 2 +- .../TestEm15/src/PhysicsListMessenger.cc | 2 +- .../TestEm15/src/PrimaryGeneratorAction.cc | 2 +- .../electromagnetic/TestEm15/src/RunAction.cc | 2 +- .../electromagnetic/TestEm15/src/StepMax.cc | 2 +- .../TestEm15/src/StepMaxMessenger.cc | 2 +- .../TestEm15/src/SteppingAction.cc | 2 +- .../TestEm15/src/SteppingVerbose.cc | 2 +- .../electromagnetic/TestEm16/TestEm16.cc | 2 +- .../electromagnetic/TestEm16/TestEm16.out | 15 +- .../TestEm16/include/DetectorConstruction.hh | 2 +- .../TestEm16/include/DetectorMessenger.hh | 2 +- .../TestEm16/include/EventAction.hh | 2 +- .../TestEm16/include/EventActionMessenger.hh | 2 +- .../TestEm16/include/PhysicsList.hh | 2 +- .../TestEm16/include/PhysicsListMessenger.hh | 2 +- .../include/PrimaryGeneratorAction.hh | 2 +- .../TestEm16/include/RunAction.hh | 2 +- .../TestEm16/include/SteppingAction.hh | 2 +- .../TestEm16/include/SteppingVerbose.hh | 2 +- .../TestEm16/src/DetectorConstruction.cc | 2 +- .../TestEm16/src/DetectorMessenger.cc | 2 +- .../TestEm16/src/EventAction.cc | 2 +- .../TestEm16/src/EventActionMessenger.cc | 2 +- .../TestEm16/src/PhysicsList.cc | 2 +- .../TestEm16/src/PhysicsListMessenger.cc | 2 +- .../TestEm16/src/PrimaryGeneratorAction.cc | 2 +- .../electromagnetic/TestEm16/src/RunAction.cc | 2 +- .../TestEm16/src/SteppingAction.cc | 2 +- .../TestEm16/src/SteppingVerbose.cc | 2 +- .../extended/electromagnetic/TestEm17/History | 5 +- .../electromagnetic/TestEm17/TestEm17.cc | 2 +- .../electromagnetic/TestEm17/TestEm17.out | 19 +- .../TestEm17/include/DetectorConstruction.hh | 2 +- .../TestEm17/include/DetectorMessenger.hh | 2 +- .../TestEm17/include/EventAction.hh | 2 +- .../TestEm17/include/EventActionMessenger.hh | 2 +- .../TestEm17/include/HistoManager.hh | 2 +- .../TestEm17/include/HistoMessenger.hh | 2 +- .../TestEm17/include/MuCrossSections.hh | 2 +- .../TestEm17/include/MuNuclearBuilder.hh | 2 +- .../TestEm17/include/PhysListEmStandard.hh | 2 +- .../TestEm17/include/PhysicsList.hh | 2 +- .../TestEm17/include/PhysicsListMessenger.hh | 2 +- .../include/PrimaryGeneratorAction.hh | 2 +- .../TestEm17/include/ProcessesCount.hh | 2 +- .../TestEm17/include/RunAction.hh | 2 +- .../TestEm17/include/StackingAction.hh | 2 +- .../TestEm17/include/SteppingAction.hh | 2 +- .../TestEm17/include/SteppingVerbose.hh | 2 +- .../TestEm17/src/DetectorConstruction.cc | 11 +- .../TestEm17/src/DetectorMessenger.cc | 2 +- .../TestEm17/src/EventAction.cc | 2 +- .../TestEm17/src/EventActionMessenger.cc | 2 +- .../TestEm17/src/HistoManager.cc | 2 +- .../TestEm17/src/HistoMessenger.cc | 2 +- .../TestEm17/src/MuCrossSections.cc | 2 +- .../TestEm17/src/MuNuclearBuilder.cc | 2 +- .../TestEm17/src/PhysListEmStandard.cc | 2 +- .../TestEm17/src/PhysicsList.cc | 2 +- .../TestEm17/src/PhysicsListMessenger.cc | 2 +- .../TestEm17/src/PrimaryGeneratorAction.cc | 2 +- .../electromagnetic/TestEm17/src/RunAction.cc | 2 +- .../TestEm17/src/StackingAction.cc | 2 +- .../TestEm17/src/SteppingAction.cc | 2 +- .../TestEm17/src/SteppingVerbose.cc | 2 +- .../electromagnetic/TestEm18/TestEm18.cc | 2 +- .../electromagnetic/TestEm18/TestEm18.out | 24 +- .../TestEm18/include/DetectorConstruction.hh | 2 +- .../TestEm18/include/DetectorMessenger.hh | 2 +- .../TestEm18/include/EventAction.hh | 2 +- .../TestEm18/include/EventMessenger.hh | 2 +- .../TestEm18/include/HistoManager.hh | 2 +- .../TestEm18/include/HistoMessenger.hh | 2 +- .../TestEm18/include/PhysListEmLivermore.hh | 2 +- .../TestEm18/include/PhysListEmPenelope.hh | 2 +- .../TestEm18/include/PhysListEmStandard.hh | 2 +- .../TestEm18/include/PhysicsList.hh | 2 +- .../TestEm18/include/PhysicsListMessenger.hh | 2 +- .../include/PrimaryGeneratorAction.hh | 2 +- .../TestEm18/include/RunAction.hh | 2 +- .../TestEm18/include/StackingAction.hh | 2 +- .../TestEm18/include/StepMax.hh | 2 +- .../TestEm18/include/StepMaxMessenger.hh | 2 +- .../TestEm18/include/SteppingAction.hh | 2 +- .../TestEm18/include/SteppingVerbose.hh | 2 +- .../TestEm18/src/DetectorConstruction.cc | 2 +- .../TestEm18/src/DetectorMessenger.cc | 2 +- .../TestEm18/src/EventAction.cc | 2 +- .../TestEm18/src/EventMessenger.cc | 2 +- .../TestEm18/src/HistoManager.cc | 2 +- .../TestEm18/src/HistoMessenger.cc | 2 +- .../TestEm18/src/PhysListEmLivermore.cc | 2 +- .../TestEm18/src/PhysListEmPenelope.cc | 2 +- .../TestEm18/src/PhysListEmStandard.cc | 2 +- .../TestEm18/src/PhysicsList.cc | 2 +- .../TestEm18/src/PhysicsListMessenger.cc | 2 +- .../TestEm18/src/PrimaryGeneratorAction.cc | 2 +- .../electromagnetic/TestEm18/src/RunAction.cc | 2 +- .../TestEm18/src/StackingAction.cc | 2 +- .../electromagnetic/TestEm18/src/StepMax.cc | 2 +- .../TestEm18/src/StepMaxMessenger.cc | 2 +- .../TestEm18/src/SteppingAction.cc | 2 +- .../TestEm18/src/SteppingVerbose.cc | 2 +- .../extended/electromagnetic/TestEm2/History | 5 +- .../electromagnetic/TestEm2/TestEm2.cc | 9 +- .../electromagnetic/TestEm2/TestEm2.in | 8 +- .../electromagnetic/TestEm2/TestEm2.out | 107 +- .../TestEm2/include/DetectorConstruction.hh | 2 +- .../TestEm2/include/DetectorMessenger.hh | 2 +- .../TestEm2/include/EmAcceptance.hh | 2 +- .../TestEm2/include/EventAction.hh | 2 +- .../TestEm2/include/EventActionMessenger.hh | 2 +- .../TestEm2/include/PhysListEmLivermore.hh | 2 +- .../TestEm2/include/PhysListEmPenelope.hh | 2 +- .../TestEm2/include/PhysListEmStandard.hh | 2 +- .../TestEm2/include/PhysicsList.hh | 2 +- .../TestEm2/include/PhysicsListMessenger.hh | 2 +- .../TestEm2/include/PrimaryGeneratorAction.hh | 2 +- .../TestEm2/include/RunAction.hh | 2 +- .../TestEm2/include/RunActionMessenger.hh | 2 +- .../TestEm2/include/StepMax.hh | 2 +- .../TestEm2/include/StepMaxMessenger.hh | 2 +- .../TestEm2/include/SteppingAction.hh | 2 +- .../TestEm2/include/SteppingVerbose.hh | 2 +- .../TestEm2/include/TrackingAction.hh | 2 +- .../electromagnetic/TestEm2/run01.out | 301 +- .../TestEm2/src/DetectorConstruction.cc | 2 +- .../TestEm2/src/DetectorMessenger.cc | 2 +- .../TestEm2/src/EmAcceptance.cc | 2 +- .../TestEm2/src/EventAction.cc | 2 +- .../TestEm2/src/EventActionMessenger.cc | 2 +- .../TestEm2/src/PhysListEmLivermore.cc | 2 +- .../TestEm2/src/PhysListEmPenelope.cc | 2 +- .../TestEm2/src/PhysListEmStandard.cc | 2 +- .../TestEm2/src/PhysicsList.cc | 2 +- .../TestEm2/src/PhysicsListMessenger.cc | 2 +- .../TestEm2/src/PrimaryGeneratorAction.cc | 2 +- .../electromagnetic/TestEm2/src/RunAction.cc | 2 +- .../TestEm2/src/RunActionMessenger.cc | 2 +- .../electromagnetic/TestEm2/src/StepMax.cc | 2 +- .../TestEm2/src/StepMaxMessenger.cc | 2 +- .../TestEm2/src/SteppingAction.cc | 2 +- .../TestEm2/src/SteppingVerbose.cc | 2 +- .../TestEm2/src/TrackingAction.cc | 2 +- .../extended/electromagnetic/TestEm3/History | 8 +- .../electromagnetic/TestEm3/TestEm3.cc | 2 +- .../electromagnetic/TestEm3/TestEm3.out | 38 +- .../electromagnetic/TestEm3/atlashec.mac | 4 +- .../TestEm3/include/DetectorConstruction.hh | 2 +- .../TestEm3/include/DetectorMessenger.hh | 2 +- .../TestEm3/include/EmAcceptance.hh | 2 +- .../TestEm3/include/EventAction.hh | 2 +- .../TestEm3/include/EventActionMessenger.hh | 2 +- .../TestEm3/include/HistoManager.hh | 2 +- .../TestEm3/include/HistoMessenger.hh | 2 +- .../TestEm3/include/PhysListEmLivermore.hh | 2 +- .../TestEm3/include/PhysListEmPenelope.hh | 2 +- .../TestEm3/include/PhysListEmStandard.hh | 2 +- .../TestEm3/include/PhysicsList.hh | 2 +- .../TestEm3/include/PhysicsListMessenger.hh | 2 +- .../TestEm3/include/PrimaryGeneratorAction.hh | 2 +- .../include/PrimaryGeneratorMessenger.hh | 2 +- .../TestEm3/include/RunAction.hh | 2 +- .../TestEm3/include/RunActionMessenger.hh | 2 +- .../TestEm3/include/StepMax.hh | 2 +- .../TestEm3/include/StepMaxMessenger.hh | 2 +- .../TestEm3/include/SteppingAction.hh | 2 +- .../TestEm3/include/SteppingVerbose.hh | 2 +- .../TestEm3/include/TrackingAction.hh | 2 +- .../extended/electromagnetic/TestEm3/lhcb.mac | 4 +- .../TestEm3/retrieveTables.mac | 5 +- .../TestEm3/src/DetectorConstruction.cc | 2 +- .../TestEm3/src/DetectorMessenger.cc | 2 +- .../TestEm3/src/EmAcceptance.cc | 2 +- .../TestEm3/src/EventAction.cc | 2 +- .../TestEm3/src/EventActionMessenger.cc | 2 +- .../TestEm3/src/HistoManager.cc | 2 +- .../TestEm3/src/HistoMessenger.cc | 2 +- .../TestEm3/src/PhysListEmLivermore.cc | 2 +- .../TestEm3/src/PhysListEmPenelope.cc | 2 +- .../TestEm3/src/PhysListEmStandard.cc | 2 +- .../TestEm3/src/PhysicsList.cc | 20 +- .../TestEm3/src/PhysicsListMessenger.cc | 2 +- .../TestEm3/src/PrimaryGeneratorAction.cc | 2 +- .../TestEm3/src/PrimaryGeneratorMessenger.cc | 2 +- .../electromagnetic/TestEm3/src/RunAction.cc | 2 +- .../TestEm3/src/RunActionMessenger.cc | 2 +- .../electromagnetic/TestEm3/src/StepMax.cc | 2 +- .../TestEm3/src/StepMaxMessenger.cc | 2 +- .../TestEm3/src/SteppingAction.cc | 2 +- .../TestEm3/src/SteppingVerbose.cc | 2 +- .../TestEm3/src/TrackingAction.cc | 2 +- .../electromagnetic/TestEm3/storeTables.mac | 4 +- .../extended/electromagnetic/TestEm4/History | 5 +- .../electromagnetic/TestEm4/TestEm4.cc | 46 +- .../electromagnetic/TestEm4/TestEm4.out | 47 +- .../TestEm4/include/DetectorConstruction.hh | 2 +- .../TestEm4/include/EventAction.hh | 2 +- .../TestEm4/include/EventActionMessenger.hh | 2 +- .../TestEm4/include/PhysicsList.hh | 2 +- .../TestEm4/include/PrimaryGeneratorAction.hh | 2 +- .../TestEm4/include/RunAction.hh | 2 +- .../TestEm4/include/SteppingAction.hh | 2 +- .../TestEm4/include/SteppingVerbose.hh | 2 +- .../TestEm4/src/DetectorConstruction.cc | 2 +- .../TestEm4/src/EventAction.cc | 2 +- .../TestEm4/src/EventActionMessenger.cc | 2 +- .../TestEm4/src/PhysicsList.cc | 2 +- .../TestEm4/src/PrimaryGeneratorAction.cc | 2 +- .../electromagnetic/TestEm4/src/RunAction.cc | 2 +- .../TestEm4/src/SteppingAction.cc | 2 +- .../TestEm4/src/SteppingVerbose.cc | 2 +- .../extended/electromagnetic/TestEm5/History | 10 +- .../electromagnetic/TestEm5/TestEm5.cc | 56 +- .../electromagnetic/TestEm5/TestEm5.out | 72 +- .../TestEm5/include/DetectorConstruction.hh | 2 +- .../TestEm5/include/DetectorMessenger.hh | 2 +- .../TestEm5/include/EventAction.hh | 2 +- .../TestEm5/include/EventMessenger.hh | 2 +- .../TestEm5/include/HistoManager.hh | 2 +- .../TestEm5/include/HistoMessenger.hh | 2 +- .../TestEm5/include/PhysListEmLivermore.hh | 2 +- .../TestEm5/include/PhysListEmPenelope.hh | 2 +- .../TestEm5/include/PhysListEmStandard.hh | 2 +- .../TestEm5/include/PhysListEmStandardSS.hh | 2 +- .../TestEm5/include/PhysicsList.hh | 2 +- .../TestEm5/include/PhysicsListMessenger.hh | 2 +- .../TestEm5/include/PrimaryGeneratorAction.hh | 2 +- .../include/PrimaryGeneratorMessenger.hh | 2 +- .../TestEm5/include/RunAction.hh | 2 +- .../TestEm5/include/StackingAction.hh | 2 +- .../TestEm5/include/StackingMessenger.hh | 2 +- .../TestEm5/include/StepMax.hh | 2 +- .../TestEm5/include/StepMaxMessenger.hh | 2 +- .../TestEm5/include/SteppingAction.hh | 2 +- .../TestEm5/include/SteppingVerbose.hh | 2 +- .../TestEm5/include/TrackingAction.hh | 2 +- .../electromagnetic/TestEm5/mumsc.mac | 11 +- .../electromagnetic/TestEm5/neutron.mac | 6 +- .../TestEm5/src/DetectorConstruction.cc | 2 +- .../TestEm5/src/DetectorMessenger.cc | 2 +- .../TestEm5/src/EventAction.cc | 2 +- .../TestEm5/src/EventMessenger.cc | 2 +- .../TestEm5/src/HistoManager.cc | 2 +- .../TestEm5/src/HistoMessenger.cc | 2 +- .../TestEm5/src/PhysListEmLivermore.cc | 2 +- .../TestEm5/src/PhysListEmPenelope.cc | 2 +- .../TestEm5/src/PhysListEmStandard.cc | 25 +- .../TestEm5/src/PhysListEmStandardSS.cc | 5 +- .../TestEm5/src/PhysicsList.cc | 26 +- .../TestEm5/src/PhysicsListMessenger.cc | 2 +- .../TestEm5/src/PrimaryGeneratorAction.cc | 2 +- .../TestEm5/src/PrimaryGeneratorMessenger.cc | 2 +- .../electromagnetic/TestEm5/src/RunAction.cc | 2 +- .../TestEm5/src/StackingAction.cc | 2 +- .../TestEm5/src/StackingMessenger.cc | 2 +- .../electromagnetic/TestEm5/src/StepMax.cc | 2 +- .../TestEm5/src/StepMaxMessenger.cc | 2 +- .../TestEm5/src/SteppingAction.cc | 2 +- .../TestEm5/src/SteppingVerbose.cc | 2 +- .../TestEm5/src/TrackingAction.cc | 2 +- .../electromagnetic/TestEm6/TestEm6.cc | 2 +- .../electromagnetic/TestEm6/TestEm6.out | 1477 +- .../TestEm6/include/DetectorConstruction.hh | 2 +- .../TestEm6/include/DetectorMessenger.hh | 2 +- .../TestEm6/include/EventAction.hh | 2 +- .../TestEm6/include/EventActionMessenger.hh | 2 +- .../TestEm6/include/PhysicsList.hh | 2 +- .../TestEm6/include/PhysicsListMessenger.hh | 2 +- .../TestEm6/include/PrimaryGeneratorAction.hh | 2 +- .../include/PrimaryGeneratorMessenger.hh | 2 +- .../TestEm6/include/RunAction.hh | 2 +- .../TestEm6/include/SteppingAction.hh | 2 +- .../TestEm6/include/SteppingVerbose.hh | 2 +- .../TestEm6/src/DetectorConstruction.cc | 2 +- .../TestEm6/src/DetectorMessenger.cc | 2 +- .../TestEm6/src/EventAction.cc | 2 +- .../TestEm6/src/EventActionMessenger.cc | 2 +- .../TestEm6/src/PhysicsList.cc | 2 +- .../TestEm6/src/PhysicsListMessenger.cc | 2 +- .../TestEm6/src/PrimaryGeneratorAction.cc | 2 +- .../TestEm6/src/PrimaryGeneratorMessenger.cc | 2 +- .../electromagnetic/TestEm6/src/RunAction.cc | 2 +- .../TestEm6/src/SteppingAction.cc | 2 +- .../TestEm6/src/SteppingVerbose.cc | 2 +- .../electromagnetic/TestEm7/GNUmakefile | 4 +- .../extended/electromagnetic/TestEm7/History | 13 +- .../electromagnetic/TestEm7/TestEm7.cc | 57 +- .../electromagnetic/TestEm7/TestEm7.in | 18 +- .../electromagnetic/TestEm7/TestEm7.out | 419 +- .../TestEm7/include/DetectorConstruction.hh | 2 +- .../TestEm7/include/DetectorMessenger.hh | 2 +- .../TestEm7/include/EventAction.hh | 2 +- .../TestEm7/include/EventActionMessenger.hh | 2 +- .../TestEm7/include/PhysListEmLivermore.hh | 2 +- .../TestEm7/include/PhysListEmPenelope.hh | 2 +- .../TestEm7/include/PhysListEmStandard.hh | 2 +- .../TestEm7/include/PhysListEmStandardSS.hh | 2 +- .../TestEm7/include/PhysicsList.hh | 2 +- .../TestEm7/include/PhysicsListMessenger.hh | 2 +- .../TestEm7/include/PrimaryGeneratorAction.hh | 2 +- .../include/PrimaryGeneratorMessenger.hh | 2 +- .../TestEm7/include/RunAction.hh | 40 +- .../TestEm7/include/StepMax.hh | 2 +- .../TestEm7/include/StepMaxMessenger.hh | 2 +- .../TestEm7/include/SteppingAction.hh | 2 +- .../TestEm7/include/SteppingVerbose.hh | 2 +- .../TestEm7/include/TrackingAction.hh | 2 +- .../electromagnetic/TestEm7/proton.mac | 4 +- .../TestEm7/src/DetectorConstruction.cc | 2 +- .../TestEm7/src/DetectorMessenger.cc | 2 +- .../TestEm7/src/EventAction.cc | 2 +- .../TestEm7/src/EventActionMessenger.cc | 2 +- .../TestEm7/src/PhysListEmLivermore.cc | 2 +- .../TestEm7/src/PhysListEmPenelope.cc | 2 +- .../TestEm7/src/PhysListEmStandard.cc | 8 +- .../TestEm7/src/PhysListEmStandardSS.cc | 5 +- .../TestEm7/src/PhysicsList.cc | 20 +- .../TestEm7/src/PhysicsListMessenger.cc | 2 +- .../TestEm7/src/PrimaryGeneratorAction.cc | 2 +- .../TestEm7/src/PrimaryGeneratorMessenger.cc | 2 +- .../electromagnetic/TestEm7/src/RunAction.cc | 22 +- .../electromagnetic/TestEm7/src/StepMax.cc | 2 +- .../TestEm7/src/StepMaxMessenger.cc | 2 +- .../TestEm7/src/SteppingAction.cc | 6 +- .../TestEm7/src/SteppingVerbose.cc | 2 +- .../TestEm7/src/TrackingAction.cc | 2 +- .../electromagnetic/TestEm8/TestEm8.cc | 2 +- .../electromagnetic/TestEm8/TestEm8.out | 71 +- .../TestEm8/include/Em8CalorHit.hh | 2 +- .../TestEm8/include/Em8CalorimeterSD.hh | 2 +- .../include/Em8DetectorConstruction.hh | 2 +- .../TestEm8/include/Em8DetectorMessenger.hh | 2 +- .../TestEm8/include/Em8EventAction.hh | 2 +- .../include/Em8EventActionMessenger.hh | 2 +- .../include/Em8PrimaryGeneratorAction.hh | 2 +- .../include/Em8PrimaryGeneratorMessenger.hh | 2 +- .../TestEm8/include/Em8RunAction.hh | 2 +- .../TestEm8/include/Em8RunMessenger.hh | 2 +- .../TestEm8/include/Em8SteppingAction.hh | 2 +- .../TestEm8/include/Em8SteppingVerbose.hh | 2 +- .../TestEm8/include/PhysListEmModel.hh | 2 +- .../TestEm8/include/PhysListEmModelPai.hh | 2 +- .../TestEm8/include/PhysListEmPAI.hh | 2 +- .../TestEm8/include/PhysListEmPaiPhoton.hh | 2 +- .../TestEm8/include/PhysListEmStandard.hh | 2 +- .../TestEm8/include/PhysListGeneral.hh | 2 +- .../TestEm8/include/PhysListParticles.hh | 2 +- .../TestEm8/include/PhysicsList.hh | 2 +- .../TestEm8/include/PhysicsListMessenger.hh | 2 +- .../TestEm8/include/StepMax.hh | 2 +- .../TestEm8/include/StepMaxMessenger.hh | 2 +- .../include/TRTDetectorConstruction.hh | 2 +- .../TestEm8/include/TRTMaterials.hh | 2 +- .../TestEm8/src/Em8CalorHit.cc | 2 +- .../TestEm8/src/Em8CalorimeterSD.cc | 2 +- .../TestEm8/src/Em8DetectorConstruction.cc | 2 +- .../TestEm8/src/Em8DetectorMessenger.cc | 2 +- .../TestEm8/src/Em8EventAction.cc | 2 +- .../TestEm8/src/Em8EventActionMessenger.cc | 2 +- .../TestEm8/src/Em8PrimaryGeneratorAction.cc | 2 +- .../src/Em8PrimaryGeneratorMessenger.cc | 2 +- .../TestEm8/src/Em8RunAction.cc | 2 +- .../TestEm8/src/Em8RunMessenger.cc | 2 +- .../TestEm8/src/Em8SteppingAction.cc | 2 +- .../TestEm8/src/Em8SteppingVerbose.cc | 2 +- .../TestEm8/src/PhysListEmModelPai.cc | 2 +- .../TestEm8/src/PhysListEmPAI.cc | 2 +- .../TestEm8/src/PhysListEmPaiPhoton.cc | 2 +- .../TestEm8/src/PhysListEmStandard.cc | 2 +- .../TestEm8/src/PhysListGeneral.cc | 2 +- .../TestEm8/src/PhysListParticles.cc | 2 +- .../TestEm8/src/PhysicsList.cc | 2 +- .../TestEm8/src/PhysicsListMessenger.cc | 2 +- .../electromagnetic/TestEm8/src/StepMax.cc | 2 +- .../TestEm8/src/StepMaxMessenger.cc | 2 +- .../electromagnetic/TestEm9/GNUmakefile | 2 +- .../extended/electromagnetic/TestEm9/History | 18 +- .../electromagnetic/TestEm9/TestEm9.cc | 2 +- .../electromagnetic/TestEm9/TestEm9.in | 12 +- .../electromagnetic/TestEm9/TestEm9.out | 69 +- .../electromagnetic/TestEm9/cms_cal.mac | 4 +- .../extended/electromagnetic/TestEm9/csi.mac | 2 +- .../TestEm9/include/DetectorConstruction.hh | 2 +- .../TestEm9/include/DetectorMessenger.hh | 2 +- .../TestEm9/include/EmAcceptance.hh | 2 +- .../TestEm9/include/EventAction.hh | 2 +- .../TestEm9/include/EventActionMessenger.hh | 2 +- .../electromagnetic/TestEm9/include/Histo.hh | 14 +- .../TestEm9/include/HistoManager.hh | 2 +- .../TestEm9/include/HistoMessenger.hh | 2 +- .../TestEm9/include/PhysListEmLivermore.hh | 2 +- .../TestEm9/include/PhysListEmPenelope.hh | 2 +- .../TestEm9/include/PhysListEmStandard.hh | 2 +- .../TestEm9/include/PhysicsList.hh | 2 +- .../TestEm9/include/PhysicsListMessenger.hh | 2 +- .../TestEm9/include/PrimaryGeneratorAction.hh | 2 +- .../TestEm9/include/StepMax.hh | 2 +- .../TestEm9/include/StepMaxMessenger.hh | 2 +- .../TestEm9/include/SteppingAction.hh | 2 +- .../TestEm9/src/DetectorConstruction.cc | 2 +- .../TestEm9/src/DetectorMessenger.cc | 2 +- .../TestEm9/src/EmAcceptance.cc | 2 +- .../TestEm9/src/EventAction.cc | 2 +- .../TestEm9/src/EventActionMessenger.cc | 2 +- .../electromagnetic/TestEm9/src/Histo.cc | 36 +- .../TestEm9/src/HistoManager.cc | 58 +- .../TestEm9/src/HistoMessenger.cc | 2 +- .../TestEm9/src/PhysListEmLivermore.cc | 2 +- .../TestEm9/src/PhysListEmPenelope.cc | 2 +- .../TestEm9/src/PhysListEmStandard.cc | 2 +- .../TestEm9/src/PhysicsList.cc | 18 +- .../TestEm9/src/PhysicsListMessenger.cc | 2 +- .../TestEm9/src/PrimaryGeneratorAction.cc | 2 +- .../electromagnetic/TestEm9/src/StepMax.cc | 2 +- .../TestEm9/src/StepMaxMessenger.cc | 2 +- .../TestEm9/src/SteppingAction.cc | 2 +- .../extended/errorpropagation/GNUmakefile | 30 + examples/extended/errorpropagation/History | 23 + examples/extended/errorpropagation/README | 33 + examples/extended/errorpropagation/errprop.cc | 232 + .../include/ExErrorDetectorConstruction.hh | 79 +- .../include/ExErrorDetectorMessenger.hh | 54 +- .../include/ExErrorMagneticField.hh | 60 +- .../src/ExErrorDetectorConstruction.cc | 254 + .../src/ExErrorDetectorMessenger.cc | 67 +- .../src/ExErrorMagneticField.cc | 87 + .../HepMC/HepMCEx01/hepmcEx01.cc | 2 +- .../HepMC/HepMCEx01/include/ExN04RunAction.hh | 2 +- .../HepMCEx01/include/ExN04SteppingVerbose.hh | 2 +- .../HepMC/HepMCEx01/src/ExN04RunAction.cc | 2 +- .../HepMCEx01/src/ExN04SteppingVerbose.cc | 2 +- .../HepMC/HepMCEx02/hepmcEx02.cc | 2 +- .../HepMC/HepMCEx02/include/H02PhysicsList.hh | 2 +- .../HepMC/HepMCEx02/src/H02PhysicsList.cc | 2 +- .../MCTruth/include/DetectorConstruction.hh | 2 +- .../HepMC/MCTruth/include/MCTruthConfig.hh | 2 +- .../MCTruth/include/MCTruthEventAction.hh | 2 +- .../HepMC/MCTruth/include/MCTruthManager.hh | 2 +- .../include/MCTruthTrackInformation.hh | 2 +- .../MCTruth/include/MCTruthTrackingAction.hh | 2 +- .../HepMC/MCTruth/include/PhysicsList.hh | 2 +- .../MCTruth/include/PrimaryGeneratorAction.hh | 2 +- .../HepMC/MCTruth/src/DetectorConstruction.cc | 2 +- .../HepMC/MCTruth/src/MCTruthConfig.cc | 2 +- .../HepMC/MCTruth/src/MCTruthEventAction.cc | 2 +- .../HepMC/MCTruth/src/MCTruthManager.cc | 2 +- .../MCTruth/src/MCTruthTrackInformation.cc | 2 +- .../MCTruth/src/MCTruthTrackingAction.cc | 2 +- .../HepMC/MCTruth/src/PhysicsList.cc | 2 +- .../MCTruth/src/PrimaryGeneratorAction.cc | 2 +- .../include/exGPSEventActionMessenger.hh | 2 +- .../exgps/src/exGPSEventActionMessenger.cc | 2 +- .../BlineTracer/include/G4BlineEquation.hh | 2 +- .../BlineTracer/include/G4BlineEventAction.hh | 2 +- .../include/G4BlinePrimaryGeneratorAction.hh | 2 +- .../include/G4BlineSteppingAction.hh | 2 +- .../BlineTracer/include/G4BlineTracer.hh | 2 +- .../include/G4BlineTracerMessenger.hh | 2 +- .../field/BlineTracer/src/G4BlineEquation.cc | 2 +- .../BlineTracer/src/G4BlineEventAction.cc | 2 +- .../src/G4BlinePrimaryGeneratorAction.cc | 2 +- .../BlineTracer/src/G4BlineSteppingAction.cc | 2 +- .../field/BlineTracer/src/G4BlineTracer.cc | 2 +- .../BlineTracer/src/G4BlineTracerMessenger.cc | 2 +- examples/extended/field/field01/History | 5 +- examples/extended/field/field01/field01.cc | 2 +- examples/extended/field/field01/field01.out | 27 +- .../field/field01/include/F01CalorHit.hh | 2 +- .../field/field01/include/F01CalorimeterSD.hh | 2 +- .../include/F01DetectorConstruction.hh | 2 +- .../field01/include/F01DetectorMessenger.hh | 2 +- .../field/field01/include/F01EventAction.hh | 2 +- .../include/F01EventActionMessenger.hh | 2 +- .../field01/include/F01FieldMessenger.hh | 2 +- .../field/field01/include/F01FieldSetup.hh | 2 +- .../field/field01/include/F01PhysicsList.hh | 6 +- .../include/F01PhysicsListMessenger.hh | 2 +- .../include/F01PrimaryGeneratorAction.hh | 2 +- .../include/F01PrimaryGeneratorMessenger.hh | 2 +- .../field/field01/include/F01RunAction.hh | 2 +- .../field/field01/include/F01RunMessenger.hh | 2 +- .../field/field01/include/F01StepCut.hh | 2 +- .../field01/include/F01SteppingAction.hh | 2 +- .../field01/include/F01SteppingMessenger.hh | 2 +- .../field01/include/F01SteppingVerbose.hh | 2 +- .../extended/field/field01/src/F01CalorHit.cc | 2 +- .../field/field01/src/F01CalorimeterSD.cc | 2 +- .../field01/src/F01DetectorConstruction.cc | 2 +- .../field/field01/src/F01DetectorMessenger.cc | 2 +- .../field/field01/src/F01EventAction.cc | 2 +- .../field01/src/F01EventActionMessenger.cc | 2 +- .../field/field01/src/F01FieldMessenger.cc | 2 +- .../field/field01/src/F01FieldSetup.cc | 2 +- .../field/field01/src/F01PhysicsList.cc | 27 +- .../field01/src/F01PhysicsListMessenger.cc | 2 +- .../field01/src/F01PrimaryGeneratorAction.cc | 2 +- .../src/F01PrimaryGeneratorMessenger.cc | 2 +- .../field/field01/src/F01RunAction.cc | 2 +- .../field/field01/src/F01RunMessenger.cc | 2 +- .../extended/field/field01/src/F01StepCut.cc | 2 +- .../field/field01/src/F01SteppingAction.cc | 2 +- .../field/field01/src/F01SteppingMessenger.cc | 2 +- .../field/field01/src/F01SteppingVerbose.cc | 2 +- examples/extended/field/field02/History | 5 +- examples/extended/field/field02/field02.cc | 2 +- examples/extended/field/field02/field02.out | 11698 ++++++++++------ .../field/field02/include/F02CalorHit.hh | 2 +- .../field/field02/include/F02CalorimeterSD.hh | 2 +- .../include/F02DetectorConstruction.hh | 2 +- .../field02/include/F02DetectorMessenger.hh | 2 +- .../field02/include/F02ElectricFieldSetup.hh | 2 +- .../field/field02/include/F02EventAction.hh | 2 +- .../include/F02EventActionMessenger.hh | 2 +- .../field02/include/F02FieldMessenger.hh | 2 +- .../field/field02/include/F02PhysicsList.hh | 6 +- .../include/F02PhysicsListMessenger.hh | 2 +- .../include/F02PrimaryGeneratorAction.hh | 2 +- .../include/F02PrimaryGeneratorMessenger.hh | 2 +- .../field/field02/include/F02RunAction.hh | 2 +- .../field/field02/include/F02RunMessenger.hh | 2 +- .../field/field02/include/F02StepCut.hh | 2 +- .../field02/include/F02SteppingAction.hh | 2 +- .../field02/include/F02SteppingMessenger.hh | 2 +- .../field02/include/F02SteppingVerbose.hh | 2 +- .../extended/field/field02/src/F02CalorHit.cc | 2 +- .../field/field02/src/F02CalorimeterSD.cc | 2 +- .../field02/src/F02DetectorConstruction.cc | 2 +- .../field/field02/src/F02DetectorMessenger.cc | 2 +- .../field02/src/F02ElectricFieldSetup.cc | 2 +- .../field/field02/src/F02EventAction.cc | 2 +- .../field02/src/F02EventActionMessenger.cc | 2 +- .../field/field02/src/F02FieldMessenger.cc | 2 +- .../field/field02/src/F02PhysicsList.cc | 30 +- .../field02/src/F02PhysicsListMessenger.cc | 2 +- .../field02/src/F02PrimaryGeneratorAction.cc | 2 +- .../src/F02PrimaryGeneratorMessenger.cc | 2 +- .../field/field02/src/F02RunAction.cc | 2 +- .../field/field02/src/F02RunMessenger.cc | 2 +- .../extended/field/field02/src/F02StepCut.cc | 2 +- .../field/field02/src/F02SteppingAction.cc | 2 +- .../field/field02/src/F02SteppingMessenger.cc | 2 +- .../field/field02/src/F02SteppingVerbose.cc | 2 +- examples/extended/field/field03/History | 6 +- examples/extended/field/field03/field03.cc | 2 +- examples/extended/field/field03/field03.out | 29 +- .../field/field03/include/F03CalorHit.hh | 2 +- .../field/field03/include/F03CalorimeterSD.hh | 2 +- .../include/F03DetectorConstruction.hh | 2 +- .../field03/include/F03DetectorMessenger.hh | 2 +- .../field/field03/include/F03EventAction.hh | 2 +- .../include/F03EventActionMessenger.hh | 2 +- .../field03/include/F03FieldMessenger.hh | 2 +- .../field/field03/include/F03FieldSetup.hh | 2 +- .../field/field03/include/F03PhysicsList.hh | 6 +- .../include/F03PhysicsListMessenger.hh | 2 +- .../include/F03PrimaryGeneratorAction.hh | 2 +- .../include/F03PrimaryGeneratorMessenger.hh | 2 +- .../field/field03/include/F03RunAction.hh | 2 +- .../field/field03/include/F03RunMessenger.hh | 2 +- .../field/field03/include/F03StepCut.hh | 2 +- .../field03/include/F03SteppingAction.hh | 2 +- .../field03/include/F03SteppingMessenger.hh | 2 +- .../field03/include/F03SteppingVerbose.hh | 2 +- .../extended/field/field03/src/F03CalorHit.cc | 2 +- .../field/field03/src/F03CalorimeterSD.cc | 2 +- .../field03/src/F03DetectorConstruction.cc | 2 +- .../field/field03/src/F03DetectorMessenger.cc | 2 +- .../field/field03/src/F03EventAction.cc | 2 +- .../field03/src/F03EventActionMessenger.cc | 2 +- .../field/field03/src/F03FieldMessenger.cc | 2 +- .../field/field03/src/F03FieldSetup.cc | 2 +- .../field/field03/src/F03PhysicsList.cc | 29 +- .../field03/src/F03PhysicsListMessenger.cc | 2 +- .../field03/src/F03PrimaryGeneratorAction.cc | 2 +- .../src/F03PrimaryGeneratorMessenger.cc | 2 +- .../field/field03/src/F03RunAction.cc | 2 +- .../field/field03/src/F03RunMessenger.cc | 2 +- .../extended/field/field03/src/F03StepCut.cc | 2 +- .../field/field03/src/F03SteppingAction.cc | 2 +- .../field/field03/src/F03SteppingMessenger.cc | 2 +- .../field/field03/src/F03SteppingVerbose.cc | 2 +- .../extended/g3tog4/clGeometry/clGeometry.cc | 2 +- .../extended/g3tog4/clGeometry/clGeometry.out | 43 +- .../include/G3toG4DetectorConstruction.hh | 2 +- .../clGeometry/include/G3toG4EventAction.hh | 2 +- .../include/G3toG4EventActionMessenger.hh | 2 +- .../clGeometry/include/G3toG4PhysicsList.hh | 2 +- .../include/G3toG4PrimaryGeneratorAction.hh | 2 +- .../clGeometry/include/G3toG4RunAction.hh | 2 +- .../src/G3toG4DetectorConstruction.cc | 2 +- .../clGeometry/src/G3toG4EventAction.cc | 2 +- .../src/G3toG4EventActionMessenger.cc | 2 +- .../clGeometry/src/G3toG4PhysicsList.cc | 2 +- .../src/G3toG4PrimaryGeneratorAction.cc | 2 +- .../g3tog4/clGeometry/src/G3toG4RunAction.cc | 2 +- examples/extended/g3tog4/cltog4/cltog4.cc | 2 +- examples/extended/g3tog4/cltog4/cltog4.out | 22 +- .../include/G3toG4DetectorConstruction.hh | 2 +- .../cltog4/include/G3toG4EventAction.hh | 2 +- .../include/G3toG4EventActionMessenger.hh | 2 +- .../cltog4/include/G3toG4PhysicsList.hh | 2 +- .../include/G3toG4PrimaryGeneratorAction.hh | 2 +- .../g3tog4/cltog4/include/G3toG4RunAction.hh | 2 +- .../cltog4/src/G3toG4DetectorConstruction.cc | 2 +- .../g3tog4/cltog4/src/G3toG4EventAction.cc | 2 +- .../cltog4/src/G3toG4EventActionMessenger.cc | 2 +- .../g3tog4/cltog4/src/G3toG4PhysicsList.cc | 2 +- .../src/G3toG4PrimaryGeneratorAction.cc | 2 +- .../g3tog4/cltog4/src/G3toG4RunAction.cc | 2 +- .../include/g4rwPrimaryGeneratorAction.hh | 2 +- .../gdml/src/g4rwDetectorConstruction.cc | 2 +- examples/extended/gdml/src/g4rwPhysicsList.cc | 2 +- .../gdml/src/g4rwPrimaryGeneratorAction.cc | 2 +- .../geometry/olap/include/G4GeoNav.hh | 2 +- .../geometry/olap/include/OlapDetConstr.hh | 2 +- .../geometry/olap/include/OlapEventAction.hh | 2 +- .../geometry/olap/include/OlapGenerator.hh | 2 +- .../geometry/olap/include/OlapLogManager.hh | 2 +- .../geometry/olap/include/OlapManager.hh | 2 +- .../olap/include/OlapManagerMessenger.hh | 2 +- .../geometry/olap/include/OlapNotify.hh | 2 +- .../geometry/olap/include/OlapPhysicsList.hh | 2 +- .../geometry/olap/include/OlapRunAction.hh | 2 +- .../olap/include/OlapSteppingAction.hh | 2 +- .../geometry/olap/include/RandomDetector.hh | 2 +- .../geometry/olap/include/SolidAnalyser.hh | 2 +- .../extended/geometry/olap/include/tree.hh | 2 +- examples/extended/geometry/olap/olapex.cc | 2 +- .../extended/geometry/olap/src/G4GeoNav.cc | 2 +- .../geometry/olap/src/OlapDetConstr.cc | 2 +- .../geometry/olap/src/OlapEventAction.cc | 2 +- .../geometry/olap/src/OlapGenerator.cc | 2 +- .../geometry/olap/src/OlapLogManager.cc | 2 +- .../extended/geometry/olap/src/OlapManager.cc | 2 +- .../geometry/olap/src/OlapManagerMessenger.cc | 2 +- .../extended/geometry/olap/src/OlapNotify.cc | 2 +- .../geometry/olap/src/OlapPhysicsList.cc | 2 +- .../geometry/olap/src/OlapRunAction.cc | 2 +- .../geometry/olap/src/OlapSteppingAction.cc | 2 +- .../geometry/olap/src/RandomDetector.cc | 2 +- .../geometry/olap/src/SolidAnalyser.cc | 2 +- examples/extended/hadronic/Hadr01/GNUmakefile | 2 +- examples/extended/hadronic/Hadr01/History | 17 +- examples/extended/hadronic/Hadr01/hadr01.cc | 2 +- examples/extended/hadronic/Hadr01/hadr01.out | 31 +- .../hadronic/Hadr01/include/CheckVolumeSD.hh | 2 +- .../Hadr01/include/DetectorConstruction.hh | 2 +- .../Hadr01/include/DetectorMessenger.hh | 5 +- .../hadronic/Hadr01/include/EventAction.hh | 2 +- .../Hadr01/include/EventActionMessenger.hh | 2 +- .../extended/hadronic/Hadr01/include/Histo.hh | 12 +- .../hadronic/Hadr01/include/HistoManager.hh | 12 +- .../hadronic/Hadr01/include/HistoMessenger.hh | 2 +- .../hadronic/Hadr01/include/PhysicsList.hh | 2 +- .../Hadr01/include/PhysicsListMessenger.hh | 2 +- .../Hadr01/include/PrimaryGeneratorAction.hh | 2 +- .../hadronic/Hadr01/include/StackingAction.hh | 2 +- .../Hadr01/include/StackingMessenger.hh | 2 +- .../hadronic/Hadr01/include/TargetSD.hh | 2 +- examples/extended/hadronic/Hadr01/p_pb.in | 1 + examples/extended/hadronic/Hadr01/run.csh | 5 +- .../hadronic/Hadr01/src/CheckVolumeSD.cc | 2 +- .../Hadr01/src/DetectorConstruction.cc | 2 +- .../hadronic/Hadr01/src/DetectorMessenger.cc | 14 +- .../hadronic/Hadr01/src/EventAction.cc | 13 +- .../Hadr01/src/EventActionMessenger.cc | 2 +- .../extended/hadronic/Hadr01/src/Histo.cc | 35 +- .../hadronic/Hadr01/src/HistoManager.cc | 73 +- .../hadronic/Hadr01/src/HistoMessenger.cc | 2 +- .../hadronic/Hadr01/src/PhysicsList.cc | 335 +- .../Hadr01/src/PhysicsListMessenger.cc | 2 +- .../Hadr01/src/PrimaryGeneratorAction.cc | 2 +- .../hadronic/Hadr01/src/StackingAction.cc | 2 +- .../hadronic/Hadr01/src/StackingMessenger.cc | 2 +- .../extended/hadronic/Hadr01/src/TargetSD.cc | 2 +- .../medical/GammaTherapy/GammaTherapy.cc | 24 +- .../medical/GammaTherapy/GammaTherapy.in | 11 +- .../medical/GammaTherapy/GammaTherapy.out | 39 +- .../extended/medical/GammaTherapy/History | 11 +- examples/extended/medical/GammaTherapy/be.in | 20 +- .../extended/medical/GammaTherapy/be_w.in | 21 +- .../extended/medical/GammaTherapy/cu_w.in | 11 +- .../include/EventActionMessenger.hh | 2 +- .../include/G4StepLimiterBuilder.hh | 2 +- .../include/G4StepLimiterMessenger.hh | 2 +- .../include/G4StepLimiterPerRegion.hh | 8 +- .../medical/GammaTherapy/include/Histo.hh | 215 +- .../GammaTherapy/include/ParticlesBuilder.hh | 2 +- .../include/PhysListEmLivermore.hh | 2 +- .../include/PhysListEmPenelope.hh | 2 +- .../GammaTherapy/include/PhysicsList.hh | 2 +- .../include/PhysicsListMessenger.hh | 2 +- .../GammaTherapy/src/EventActionMessenger.cc | 2 +- .../GammaTherapy/src/G4StepLimiterBuilder.cc | 2 +- .../src/G4StepLimiterMessenger.cc | 2 +- .../src/G4StepLimiterPerRegion.cc | 11 +- .../medical/GammaTherapy/src/Histo.cc | 30 +- .../GammaTherapy/src/ParticlesBuilder.cc | 2 +- .../GammaTherapy/src/PhysListEmLivermore.cc | 2 +- .../GammaTherapy/src/PhysListEmPenelope.cc | 2 +- .../medical/GammaTherapy/src/PhysicsList.cc | 28 +- .../GammaTherapy/src/PhysicsListMessenger.cc | 2 +- .../extended/medical/GammaTherapy/vis.mac | 20 +- examples/extended/medical/fanoCavity/History | 8 +- examples/extended/medical/fanoCavity/README | 8 +- .../extended/medical/fanoCavity/fanoCavity.cc | 2 +- .../medical/fanoCavity/fanoCavity.out | 49 +- .../include/DetectorConstruction.hh | 2 +- .../fanoCavity/include/DetectorMessenger.hh | 2 +- .../medical/fanoCavity/include/EventAction.hh | 2 +- .../include/EventActionMessenger.hh | 2 +- .../fanoCavity/include/HistoManager.hh | 2 +- .../fanoCavity/include/HistoMessenger.hh | 2 +- .../include/MyKleinNishinaCompton.hh | 14 +- .../fanoCavity/include/MyMollerBhabhaModel.hh | 2 +- .../medical/fanoCavity/include/PhysicsList.hh | 2 +- .../include/PhysicsListMessenger.hh | 2 +- .../include/PrimaryGeneratorAction.hh | 2 +- .../include/PrimaryGeneratorMessenger.hh | 2 +- .../fanoCavity/include/ProcessesCount.hh | 2 +- .../medical/fanoCavity/include/RunAction.hh | 2 +- .../fanoCavity/include/StackingAction.hh | 2 +- .../fanoCavity/include/StackingMessenger.hh | 2 +- .../medical/fanoCavity/include/StepMax.hh | 2 +- .../fanoCavity/include/StepMaxMessenger.hh | 2 +- .../fanoCavity/include/SteppingAction.hh | 2 +- .../fanoCavity/include/SteppingVerbose.hh | 2 +- .../fanoCavity/include/TrackingAction.hh | 2 +- .../fanoCavity/src/DetectorConstruction.cc | 2 +- .../fanoCavity/src/DetectorMessenger.cc | 2 +- .../medical/fanoCavity/src/EventAction.cc | 2 +- .../fanoCavity/src/EventActionMessenger.cc | 2 +- .../medical/fanoCavity/src/HistoManager.cc | 2 +- .../medical/fanoCavity/src/HistoMessenger.cc | 2 +- .../fanoCavity/src/MyKleinNishinaCompton.cc | 10 +- .../fanoCavity/src/MyMollerBhabhaModel.cc | 2 +- .../medical/fanoCavity/src/PhysicsList.cc | 6 +- .../fanoCavity/src/PhysicsListMessenger.cc | 2 +- .../fanoCavity/src/PrimaryGeneratorAction.cc | 2 +- .../src/PrimaryGeneratorMessenger.cc | 2 +- .../medical/fanoCavity/src/RunAction.cc | 2 +- .../medical/fanoCavity/src/StackingAction.cc | 2 +- .../fanoCavity/src/StackingMessenger.cc | 2 +- .../medical/fanoCavity/src/StepMax.cc | 2 +- .../fanoCavity/src/StepMaxMessenger.cc | 2 +- .../medical/fanoCavity/src/SteppingAction.cc | 2 +- .../medical/fanoCavity/src/SteppingVerbose.cc | 2 +- .../medical/fanoCavity/src/TrackingAction.cc | 2 +- examples/extended/optical/LXe/LXe.out | 2 +- examples/extended/parallel/ExDiane/Brachy.cc | 2 +- .../ExDiane/include/BrachyAnalysisManager.hh | 2 +- .../include/BrachyDetectorConstruction.hh | 2 +- .../include/BrachyDetectorConstructionI.hh | 2 +- .../include/BrachyDetectorConstructionIr.hh | 2 +- .../BrachyDetectorConstructionLeipzig.hh | 2 +- .../include/BrachyDetectorMessenger.hh | 2 +- .../ExDiane/include/BrachyEventAction.hh | 2 +- .../parallel/ExDiane/include/BrachyFactory.hh | 2 +- .../ExDiane/include/BrachyFactoryI.hh | 2 +- .../ExDiane/include/BrachyFactoryIr.hh | 2 +- .../ExDiane/include/BrachyFactoryLeipzig.hh | 2 +- .../ExDiane/include/BrachyMaterial.hh | 2 +- .../ExDiane/include/BrachyPhantomHit.hh | 2 +- .../include/BrachyPhantomROGeometry.hh | 2 +- .../ExDiane/include/BrachyPhantomSD.hh | 2 +- .../ExDiane/include/BrachyPhysicsList.hh | 2 +- .../include/BrachyPrimaryGeneratorAction.hh | 2 +- .../include/BrachyPrimaryGeneratorActionI.hh | 2 +- .../include/BrachyPrimaryGeneratorActionIr.hh | 2 +- .../ExDiane/include/BrachyRunAction.hh | 2 +- .../ExDiane/include/BrachyRunMessenger.hh | 2 +- .../ExDiane/include/BrachySimulation.hh | 2 +- .../ExDiane/src/BrachyAnalysisManager.cc | 2 +- .../ExDiane/src/BrachyDetectorConstruction.cc | 2 +- .../src/BrachyDetectorConstructionI.cc | 2 +- .../src/BrachyDetectorConstructionIr.cc | 2 +- .../src/BrachyDetectorConstructionLeipzig.cc | 2 +- .../ExDiane/src/BrachyDetectorMessenger.cc | 2 +- .../parallel/ExDiane/src/BrachyEventAction.cc | 2 +- .../parallel/ExDiane/src/BrachyFactory.cc | 2 +- .../parallel/ExDiane/src/BrachyFactoryI.cc | 2 +- .../parallel/ExDiane/src/BrachyFactoryIr.cc | 2 +- .../ExDiane/src/BrachyFactoryLeipzig.cc | 2 +- .../parallel/ExDiane/src/BrachyMaterial.cc | 2 +- .../parallel/ExDiane/src/BrachyPhantomHit.cc | 2 +- .../ExDiane/src/BrachyPhantomROGeometry.cc | 2 +- .../parallel/ExDiane/src/BrachyPhantomSD.cc | 2 +- .../parallel/ExDiane/src/BrachyPhysicsList.cc | 2 +- .../src/BrachyPrimaryGeneratorAction.cc | 2 +- .../src/BrachyPrimaryGeneratorActionI.cc | 2 +- .../src/BrachyPrimaryGeneratorActionIr.cc | 2 +- .../parallel/ExDiane/src/BrachyRunAction.cc | 2 +- .../ExDiane/src/BrachyRunMessenger.cc | 2 +- .../parallel/ExDiane/src/BrachySimulation.cc | 2 +- examples/extended/parallel/ParN02/000README | 2 +- .../ParN02/AnnotatedFiles/G4HCofThisEvent.hh | 2 +- .../AnnotatedFiles/G4THitsCollection.hh | 2 +- .../AnnotatedFiles/G4VHitsCollection.hh | 2 +- .../extended/parallel/ParN02/ParGNUmakefile | 6 +- examples/extended/parallel/ParN02/ParN02.cc | 2 +- examples/extended/parallel/ParN02/ParTopC.icc | 2 +- .../include/ExN02ChamberParameterisation.hh | 2 +- .../include/ExN02DetectorConstruction.hh | 2 +- .../ParN02/include/ExN02DetectorMessenger.hh | 2 +- .../ParN02/include/ExN02EventAction.hh | 2 +- .../ParN02/include/ExN02MagneticField.hh | 2 +- .../ParN02/include/ExN02PhysicsList.hh | 2 +- .../include/ExN02PrimaryGeneratorAction.hh | 2 +- .../parallel/ParN02/include/ExN02RunAction.hh | 2 +- .../ParN02/include/ExN02SteppingAction.hh | 2 +- .../ParN02/include/ExN02SteppingVerbose.hh | 2 +- .../parallel/ParN02/include/ExN02TrackerSD.hh | 2 +- .../parallel/ParN02/include/ParRunManager.hh | 2 +- .../src/ExN02ChamberParameterisation.cc | 2 +- .../ParN02/src/ExN02DetectorConstruction.cc | 2 +- .../ParN02/src/ExN02DetectorMessenger.cc | 2 +- .../parallel/ParN02/src/ExN02EventAction.cc | 2 +- .../parallel/ParN02/src/ExN02MagneticField.cc | 2 +- .../parallel/ParN02/src/ExN02PhysicsList.cc | 2 +- .../ParN02/src/ExN02PrimaryGeneratorAction.cc | 2 +- .../parallel/ParN02/src/ExN02RunAction.cc | 2 +- .../ParN02/src/ExN02SteppingAction.cc | 2 +- .../ParN02/src/ExN02SteppingVerbose.cc | 2 +- .../parallel/ParN02/src/ExN02TrackerHit.cc | 2 +- .../parallel/ParN02/src/ExN02TrackerSD.cc | 2 +- examples/extended/parallel/ParN04/000README | 2 +- .../ParN04/AnnotatedFiles/G4HCofThisEvent.hh | 2 +- .../AnnotatedFiles/G4THitsCollection.hh | 2 +- .../AnnotatedFiles/G4VHitsCollection.hh | 2 +- .../extended/parallel/ParN04/ParGNUmakefile | 6 +- examples/extended/parallel/ParN04/ParN04.cc | 2 +- examples/extended/parallel/ParN04/ParTopC.icc | 2 +- .../parallel/ParN04/include/ExN04EMPhysics.hh | 2 +- .../parallel/ParN04/include/ExN04RunAction.hh | 2 +- .../ParN04/include/ExN04SteppingVerbose.hh | 2 +- .../parallel/ParN04/include/ParRunManager.hh | 2 +- .../parallel/ParN04/src/ExN04RunAction.cc | 2 +- .../ParN04/src/ExN04SteppingVerbose.cc | 2 +- .../extended/parameterisations/gflash/History | 5 +- .../gflash/src/ExGflashPhysicsList.cc | 17 +- .../extended/persistency/P01/exampleP01.cc | 2 +- .../include/ExP01ChamberParameterisation.hh | 2 +- .../P01/include/ExP01DetectorConstruction.hh | 2 +- .../P01/include/ExP01DetectorMessenger.hh | 2 +- .../P01/include/ExP01EventAction.hh | 2 +- .../P01/include/ExP01MagneticField.hh | 2 +- .../P01/include/ExP01PhysicsList.hh | 2 +- .../include/ExP01PrimaryGeneratorAction.hh | 2 +- .../persistency/P01/include/ExP01RunAction.hh | 2 +- .../P01/include/ExP01SteppingAction.hh | 2 +- .../P01/include/ExP01SteppingVerbose.hh | 2 +- .../P01/include/ExP01TrackerHit.hh | 2 +- .../persistency/P01/include/ExP01TrackerSD.hh | 2 +- .../P01/src/ExP01ChamberParameterisation.cc | 2 +- .../P01/src/ExP01DetectorConstruction.cc | 2 +- .../P01/src/ExP01DetectorMessenger.cc | 2 +- .../persistency/P01/src/ExP01EventAction.cc | 2 +- .../persistency/P01/src/ExP01MagneticField.cc | 2 +- .../persistency/P01/src/ExP01PhysicsList.cc | 2 +- .../P01/src/ExP01PrimaryGeneratorAction.cc | 2 +- .../persistency/P01/src/ExP01RunAction.cc | 2 +- .../P01/src/ExP01SteppingAction.cc | 2 +- .../P01/src/ExP01SteppingVerbose.cc | 2 +- .../persistency/P01/src/ExP01TrackerHit.cc | 2 +- .../persistency/P01/src/ExP01TrackerSD.cc | 2 +- .../Pol01/include/DetectorConstruction.hh | 2 +- .../Pol01/include/DetectorMessenger.hh | 2 +- .../polarisation/Pol01/include/EventAction.hh | 2 +- .../Pol01/include/EventActionMessenger.hh | 2 +- .../Pol01/include/HistoManager.hh | 2 +- .../Pol01/include/HistoMessenger.hh | 2 +- .../Pol01/include/PhysListEmPolarized.hh | 2 +- .../Pol01/include/PhysListEmStandard.hh | 2 +- .../polarisation/Pol01/include/PhysicsList.hh | 2 +- .../Pol01/include/PhysicsListMessenger.hh | 2 +- .../Pol01/include/PrimaryGeneratorAction.hh | 2 +- .../Pol01/include/ProcessesCount.hh | 2 +- .../polarisation/Pol01/include/RunAction.hh | 2 +- .../polarisation/Pol01/include/StepMax.hh | 2 +- .../Pol01/include/StepMaxMessenger.hh | 2 +- .../Pol01/include/SteppingAction.hh | 2 +- examples/extended/polarisation/Pol01/pol01.cc | 2 +- .../extended/polarisation/Pol01/pol01.out | 49 +- .../Pol01/src/DetectorConstruction.cc | 2 +- .../Pol01/src/DetectorMessenger.cc | 2 +- .../polarisation/Pol01/src/EventAction.cc | 2 +- .../Pol01/src/EventActionMessenger.cc | 2 +- .../polarisation/Pol01/src/HistoManager.cc | 2 +- .../polarisation/Pol01/src/HistoMessenger.cc | 2 +- .../Pol01/src/PhysListEmPolarized.cc | 2 +- .../Pol01/src/PhysListEmStandard.cc | 2 +- .../polarisation/Pol01/src/PhysicsList.cc | 2 +- .../Pol01/src/PhysicsListMessenger.cc | 2 +- .../Pol01/src/PrimaryGeneratorAction.cc | 2 +- .../polarisation/Pol01/src/RunAction.cc | 2 +- .../polarisation/Pol01/src/StepMax.cc | 2 +- .../Pol01/src/StepMaxMessenger.cc | 2 +- .../polarisation/Pol01/src/SteppingAction.cc | 2 +- .../extended/radioactivedecay/exrdm/exrdm.out | 2 +- examples/extended/runAndEvent/RE01/RE01.cc | 2 +- .../RE01/include/RE01BosonPhysics.hh | 2 +- .../RE01/include/RE01CalorimeterHit.hh | 2 +- .../include/RE01CalorimeterParametrisation.hh | 2 +- .../RE01/include/RE01CalorimeterROGeometry.hh | 2 +- .../RE01/include/RE01CalorimeterSD.hh | 2 +- .../RE01/include/RE01DecayPhysics.hh | 2 +- .../RE01/include/RE01DetectorConstruction.hh | 2 +- .../RE01/include/RE01DetectorParameterDef.hh | 2 +- .../runAndEvent/RE01/include/RE01DummySD.hh | 2 +- .../RE01/include/RE01EventAction.hh | 2 +- .../runAndEvent/RE01/include/RE01Field.hh | 2 +- .../RE01/include/RE01HadronPhysics.hh | 2 +- .../RE01/include/RE01IonPhysics.hh | 2 +- .../RE01/include/RE01LeptonPhysics.hh | 2 +- .../RE01/include/RE01PhysicsList.hh | 2 +- .../include/RE01PrimaryGeneratorAction.hh | 2 +- .../include/RE01PrimaryGeneratorMessenger.hh | 2 +- .../RE01/include/RE01RegionInformation.hh | 2 +- .../runAndEvent/RE01/include/RE01RunAction.hh | 2 +- .../RE01/include/RE01StackingAction.hh | 2 +- .../RE01/include/RE01SteppingAction.hh | 2 +- .../RE01/include/RE01TrackInformation.hh | 2 +- .../RE01/include/RE01TrackerHit.hh | 2 +- .../include/RE01TrackerParametrisation.hh | 2 +- .../runAndEvent/RE01/include/RE01TrackerSD.hh | 2 +- .../RE01/include/RE01TrackingAction.hh | 2 +- .../RE01/include/RE01Trajectory.hh | 2 +- .../runAndEvent/RE01/src/RE01BosonPhysics.cc | 2 +- .../RE01/src/RE01CalorimeterHit.cc | 2 +- .../src/RE01CalorimeterParametrisation.cc | 2 +- .../RE01/src/RE01CalorimeterROGeometry.cc | 2 +- .../runAndEvent/RE01/src/RE01CalorimeterSD.cc | 2 +- .../runAndEvent/RE01/src/RE01DecayPhysics.cc | 2 +- .../RE01/src/RE01DetectorConstruction.cc | 2 +- .../RE01/src/RE01DetectorParameterDef.icc | 2 +- .../runAndEvent/RE01/src/RE01DummySD.cc | 2 +- .../runAndEvent/RE01/src/RE01EventAction.cc | 2 +- .../runAndEvent/RE01/src/RE01Field.cc | 2 +- .../runAndEvent/RE01/src/RE01HadronPhysics.cc | 2 +- .../runAndEvent/RE01/src/RE01IonPhysics.cc | 2 +- .../runAndEvent/RE01/src/RE01LeptonPhysics.cc | 2 +- .../runAndEvent/RE01/src/RE01PhysicsList.cc | 2 +- .../RE01/src/RE01PrimaryGeneratorAction.cc | 2 +- .../RE01/src/RE01PrimaryGeneratorMessenger.cc | 2 +- .../RE01/src/RE01RegionInformation.cc | 2 +- .../runAndEvent/RE01/src/RE01RunAction.cc | 2 +- .../RE01/src/RE01StackingAction.cc | 2 +- .../RE01/src/RE01SteppingAction.cc | 2 +- .../RE01/src/RE01TrackInformation.cc | 2 +- .../runAndEvent/RE01/src/RE01TrackerHit.cc | 2 +- .../RE01/src/RE01TrackerParametrisation.cc | 2 +- .../runAndEvent/RE01/src/RE01TrackerSD.cc | 2 +- .../RE01/src/RE01TrackingAction.cc | 2 +- .../runAndEvent/RE01/src/RE01Trajectory.cc | 2 +- examples/extended/runAndEvent/RE02/History | 5 +- .../extended/runAndEvent/RE02/exampleRE02.cc | 2 +- .../RE02/include/RE02DetectorConstruction.hh | 2 +- .../RE02/include/RE02EventAction.hh | 2 +- .../RE02NestedPhantomParameterisation.hh | 2 +- .../RE02/include/RE02PSCellFlux.hh | 2 +- .../RE02/include/RE02PSEnergyDeposit.hh | 2 +- .../RE02/include/RE02PSFlatSurfaceCurrent.hh | 2 +- .../RE02/include/RE02PSFlatSurfaceFlux.hh | 2 +- .../runAndEvent/RE02/include/RE02PSNofStep.hh | 2 +- .../RE02/include/RE02PSPassageCellFlux.hh | 2 +- .../include/RE02PrimaryGeneratorAction.hh | 2 +- .../runAndEvent/RE02/include/RE02Run.hh | 2 +- .../runAndEvent/RE02/include/RE02RunAction.hh | 2 +- .../RE02/src/RE02DetectorConstruction.cc | 2 +- .../runAndEvent/RE02/src/RE02EventAction.cc | 2 +- .../runAndEvent/RE02/src/RE02PSCellFlux.cc | 6 +- .../RE02/src/RE02PSEnergyDeposit.cc | 6 +- .../RE02/src/RE02PSFlatSurfaceCurrent.cc | 6 +- .../RE02/src/RE02PSFlatSurfaceFlux.cc | 6 +- .../runAndEvent/RE02/src/RE02PSNofStep.cc | 6 +- .../RE02/src/RE02PSPassageCellFlux.cc | 6 +- .../RE02/src/RE02PrimaryGeneratorAction.cc | 2 +- .../extended/runAndEvent/RE02/src/RE02Run.cc | 2 +- .../runAndEvent/RE02/src/RE02RunAction.cc | 2 +- .../include/PerspectiveVisAction.hh | 2 +- .../include/PerspectiveVisActionMessenger.hh | 2 +- .../visualization/perspective/perspective.cc | 2 +- .../perspective/src/PerspectiveVisAction.cc | 2 +- .../src/PerspectiveVisActionMessenger.cc | 2 +- .../standalone/include/StandaloneVisAction.hh | 2 +- .../standalone/src/StandaloneVisAction.cc | 2 +- .../visualization/standalone/standalone.cc | 2 +- .../include/UVA_ChamberParameterisation.hh | 2 +- .../include/UVA_DetectorConstruction.hh | 2 +- .../include/UVA_DetectorMessenger.hh | 2 +- .../userVisAction/include/UVA_EventAction.hh | 2 +- .../include/UVA_MagneticField.hh | 2 +- .../userVisAction/include/UVA_PhysicsList.hh | 2 +- .../include/UVA_PrimaryGeneratorAction.hh | 2 +- .../userVisAction/include/UVA_RunAction.hh | 2 +- .../include/UVA_SteppingAction.hh | 2 +- .../include/UVA_SteppingVerbose.hh | 2 +- .../userVisAction/include/UVA_TrackerHit.hh | 2 +- .../userVisAction/include/UVA_TrackerSD.hh | 2 +- .../userVisAction/include/UVA_VisAction.hh | 2 +- .../src/UVA_ChamberParameterisation.cc | 2 +- .../src/UVA_DetectorConstruction.cc | 2 +- .../src/UVA_DetectorMessenger.cc | 2 +- .../userVisAction/src/UVA_EventAction.cc | 2 +- .../userVisAction/src/UVA_MagneticField.cc | 2 +- .../userVisAction/src/UVA_PhysicsList.cc | 2 +- .../src/UVA_PrimaryGeneratorAction.cc | 2 +- .../userVisAction/src/UVA_RunAction.cc | 2 +- .../userVisAction/src/UVA_SteppingAction.cc | 2 +- .../userVisAction/src/UVA_SteppingVerbose.cc | 2 +- .../userVisAction/src/UVA_TrackerHit.cc | 2 +- .../userVisAction/src/UVA_TrackerSD.cc | 2 +- .../userVisAction/src/UVA_VisAction.cc | 2 +- .../userVisAction/userVisAction.cc | 2 +- examples/novice/N01/exampleN01.cc | 2 +- examples/novice/N01/exampleN01.out | 4 +- .../N01/include/ExN01DetectorConstruction.hh | 2 +- .../novice/N01/include/ExN01PhysicsList.hh | 2 +- .../include/ExN01PrimaryGeneratorAction.hh | 2 +- .../N01/src/ExN01DetectorConstruction.cc | 2 +- examples/novice/N01/src/ExN01PhysicsList.cc | 2 +- .../N01/src/ExN01PrimaryGeneratorAction.cc | 2 +- examples/novice/N02/History | 7 +- examples/novice/N02/exampleN02.cc | 2 +- examples/novice/N02/exampleN02.out | 2795 ++-- .../include/ExN02ChamberParameterisation.hh | 2 +- .../N02/include/ExN02DetectorConstruction.hh | 2 +- .../N02/include/ExN02DetectorMessenger.hh | 2 +- .../novice/N02/include/ExN02EventAction.hh | 2 +- .../novice/N02/include/ExN02MagneticField.hh | 2 +- .../novice/N02/include/ExN02PhysicsList.hh | 2 +- .../include/ExN02PrimaryGeneratorAction.hh | 2 +- examples/novice/N02/include/ExN02RunAction.hh | 2 +- .../novice/N02/include/ExN02SteppingAction.hh | 2 +- .../N02/include/ExN02SteppingVerbose.hh | 2 +- .../novice/N02/include/ExN02TrackerHit.hh | 2 +- examples/novice/N02/include/ExN02TrackerSD.hh | 2 +- .../N02/src/ExN02ChamberParameterisation.cc | 2 +- .../N02/src/ExN02DetectorConstruction.cc | 17 +- .../novice/N02/src/ExN02DetectorMessenger.cc | 2 +- examples/novice/N02/src/ExN02EventAction.cc | 2 +- examples/novice/N02/src/ExN02MagneticField.cc | 2 +- examples/novice/N02/src/ExN02PhysicsList.cc | 2 +- .../N02/src/ExN02PrimaryGeneratorAction.cc | 2 +- examples/novice/N02/src/ExN02RunAction.cc | 2 +- .../novice/N02/src/ExN02SteppingAction.cc | 2 +- .../novice/N02/src/ExN02SteppingVerbose.cc | 2 +- examples/novice/N02/src/ExN02TrackerHit.cc | 2 +- examples/novice/N02/src/ExN02TrackerSD.cc | 2 +- examples/novice/N03/History | 8 +- examples/novice/N03/exampleN03.cc | 2 +- examples/novice/N03/exampleN03.out | 79 +- .../N03/include/ExN03DetectorConstruction.hh | 2 +- .../N03/include/ExN03DetectorMessenger.hh | 2 +- .../novice/N03/include/ExN03EventAction.hh | 2 +- .../N03/include/ExN03EventActionMessenger.hh | 2 +- .../novice/N03/include/ExN03PhysicsList.hh | 2 +- .../include/ExN03PrimaryGeneratorAction.hh | 2 +- .../include/ExN03PrimaryGeneratorMessenger.hh | 2 +- examples/novice/N03/include/ExN03RunAction.hh | 2 +- .../novice/N03/include/ExN03SteppingAction.hh | 2 +- .../N03/include/ExN03SteppingVerbose.hh | 2 +- examples/novice/N03/rndmSeed.mac | 6 +- .../N03/src/ExN03DetectorConstruction.cc | 2 +- .../novice/N03/src/ExN03DetectorMessenger.cc | 2 +- examples/novice/N03/src/ExN03EventAction.cc | 2 +- .../N03/src/ExN03EventActionMessenger.cc | 2 +- examples/novice/N03/src/ExN03PhysicsList.cc | 2 +- .../N03/src/ExN03PrimaryGeneratorAction.cc | 2 +- .../N03/src/ExN03PrimaryGeneratorMessenger.cc | 2 +- examples/novice/N03/src/ExN03RunAction.cc | 2 +- .../novice/N03/src/ExN03SteppingAction.cc | 2 +- .../novice/N03/src/ExN03SteppingVerbose.cc | 2 +- examples/novice/N03/vis.mac | 3 +- examples/novice/N03/visTutor/exN03Vis12.loop | 2 +- examples/novice/N03/visTutor/exN03Vis13.loop | 2 +- examples/novice/N04/History | 5 +- examples/novice/N04/exampleN04.EMtest.out | 37 +- examples/novice/N04/exampleN04.cc | 2 +- examples/novice/N04/exampleN04.out | 35 +- .../N04/include/ExN04CalorimeterROGeometry.hh | 3 + .../N04/include/ExN04DetectorConstruction.hh | 5 + examples/novice/N04/include/ExN04RunAction.hh | 2 +- .../N04/include/ExN04SteppingVerbose.hh | 2 +- .../N04/src/ExN04CalorimeterROGeometry.cc | 5 +- .../N04/src/ExN04DetectorConstruction.cc | 21 +- examples/novice/N04/src/ExN04RunAction.cc | 2 +- .../novice/N04/src/ExN04SteppingVerbose.cc | 2 +- examples/novice/N05/History | 9 +- examples/novice/N05/exampleN05.cc | 10 +- examples/novice/N05/exampleN05.out | 7362 ++++++---- examples/novice/N05/exampleN05.ref | 5026 ------- .../novice/N05/include/ExN05CalorimeterHit.hh | 2 +- .../novice/N05/include/ExN05CalorimeterSD.hh | 2 +- .../N05/include/ExN05DetectorConstruction.hh | 2 +- .../novice/N05/include/ExN05EMShowerModel.hh | 2 +- .../novice/N05/include/ExN05EnergySpot.hh | 2 +- .../novice/N05/include/ExN05EventAction.hh | 2 +- .../N05/include/ExN05EventActionMessenger.hh | 2 +- .../N05/include/ExN05ParallelWorldForPion.hh | 2 +- .../novice/N05/include/ExN05PhysicsList.hh | 2 +- examples/novice/N05/include/ExN05PiModel.hh | 2 +- .../N05/include/ExN05PionShowerModel.hh | 2 +- .../include/ExN05PrimaryGeneratorAction.hh | 2 +- examples/novice/N05/include/ExN05RunAction.hh | 2 +- .../novice/N05/include/ExN05SteppingAction.hh | 2 +- .../include/ExN05SteppingActionMessenger.hh | 2 +- .../novice/N05/src/ExN05CalorimeterHit.cc | 2 +- examples/novice/N05/src/ExN05CalorimeterSD.cc | 2 +- .../N05/src/ExN05DetectorConstruction.cc | 2 +- examples/novice/N05/src/ExN05EMShowerModel.cc | 2 +- examples/novice/N05/src/ExN05EnergySpot.cc | 2 +- examples/novice/N05/src/ExN05EventAction.cc | 2 +- .../N05/src/ExN05EventActionMessenger.cc | 2 +- examples/novice/N05/src/ExN05PhysicsList.cc | 42 +- examples/novice/N05/src/ExN05PiModel.cc | 2 +- .../novice/N05/src/ExN05PionShowerModel.cc | 6 +- .../N05/src/ExN05PrimaryGeneratorAction.cc | 2 +- examples/novice/N05/src/ExN05RunAction.cc | 2 +- .../novice/N05/src/ExN05SteppingAction.cc | 2 +- .../N05/src/ExN05SteppingActionMessenger.cc | 2 +- examples/novice/N05/vis.mac | 25 + examples/novice/N06/exampleN06.cc | 2 +- examples/novice/N06/exampleN06.out | 2306 ++- .../N06/include/ExN06DetectorConstruction.hh | 2 +- .../novice/N06/include/ExN06EventAction.hh | 2 +- .../novice/N06/include/ExN06PhysicsList.hh | 2 +- .../N06/include/ExN06PhysicsListMessenger.hh | 2 +- .../include/ExN06PrimaryGeneratorAction.hh | 2 +- .../include/ExN06PrimaryGeneratorMessenger.hh | 2 +- examples/novice/N06/include/ExN06RunAction.hh | 2 +- .../novice/N06/include/ExN06StackingAction.hh | 2 +- .../N06/include/ExN06SteppingVerbose.hh | 2 +- .../N06/src/ExN06DetectorConstruction.cc | 2 +- examples/novice/N06/src/ExN06EventAction.cc | 2 +- examples/novice/N06/src/ExN06PhysicsList.cc | 2 +- .../N06/src/ExN06PhysicsListMessenger.cc | 2 +- .../N06/src/ExN06PrimaryGeneratorMessenger.cc | 2 +- .../N06/src/ExN06PrimaryGeneratoraction.cc | 2 +- examples/novice/N06/src/ExN06RunAction.cc | 2 +- .../novice/N06/src/ExN06StackingAction.cc | 2 +- .../novice/N06/src/ExN06SteppingVerbose.cc | 2 +- examples/novice/N07/History | 8 +- examples/novice/N07/README | 40 +- examples/novice/N07/exampleN07.cc | 6 +- examples/novice/N07/exampleN07.in | 4 + examples/novice/N07/exampleN07.out | 735 +- .../N07/include/ExN07DetectorConstruction.hh | 2 +- .../N07/include/ExN07DetectorMessenger.hh | 2 +- .../novice/N07/include/ExN07ParallelWorld.hh | 73 + .../novice/N07/include/ExN07PhysicsList.hh | 5 +- .../include/ExN07PrimaryGeneratorAction.hh | 2 +- examples/novice/N07/include/ExN07Run.hh | 23 +- examples/novice/N07/include/ExN07RunAction.hh | 2 +- .../N07/include/ExN07SteppingVerbose.hh | 2 +- .../N07/src/ExN07DetectorConstruction.cc | 10 +- .../novice/N07/src/ExN07DetectorMessenger.cc | 2 +- examples/novice/N07/src/ExN07ParallelWorld.cc | 179 + examples/novice/N07/src/ExN07PhysicsList.cc | 33 +- .../N07/src/ExN07PrimaryGeneratorAction.cc | 2 +- examples/novice/N07/src/ExN07Run.cc | 45 +- examples/novice/N07/src/ExN07RunAction.cc | 16 +- .../novice/N07/src/ExN07SteppingVerbose.cc | 2 +- examples/novice/N07/vis.mac | 17 +- source/GNUmakefile | 11 +- source/digits_hits/History | 21 +- source/digits_hits/detector/History | 13 +- .../detector/include/G4CellScoreComposer.hh | 2 +- .../detector/include/G4CellScoreValues.hh | 2 +- .../detector/include/G4CellStoreScorer.hh | 76 - .../include/G4CollectionNameVector.hh | 2 +- .../digits_hits/detector/include/G4HCtable.hh | 2 +- .../include/G4MultiFunctionalDetector.hh | 2 +- .../detector/include/G4SDManager.hh | 2 +- .../detector/include/G4SDStructure.hh | 2 +- .../detector/include/G4SDmessenger.hh | 2 +- .../detector/include/G4SensitiveVolumeList.hh | 2 +- .../include/G4SensitiveVolumeList.icc | 2 +- .../detector/include/G4TrackLogger.hh | 2 +- .../detector/include/G4VPrimitiveScorer.hh | 2 +- .../detector/include/G4VReadOutGeometry.hh | 2 +- .../detector/include/G4VSDFilter.hh | 2 +- .../detector/include/G4VSensitiveDetector.hh | 2 +- .../detector/src/G4CellScoreComposer.cc | 2 +- .../detector/src/G4CellStoreScorer.cc | 90 - source/digits_hits/detector/src/G4HCtable.cc | 2 +- .../detector/src/G4MultiFunctionalDetector.cc | 2 +- .../digits_hits/detector/src/G4SDManager.cc | 2 +- .../digits_hits/detector/src/G4SDStructure.cc | 2 +- .../digits_hits/detector/src/G4SDmessenger.cc | 2 +- .../detector/src/G4SensitiveVolumeList.cc | 2 +- .../digits_hits/detector/src/G4TrackLogger.cc | 2 +- .../detector/src/G4VPrimitiveScorer.cc | 2 +- .../detector/src/G4VReadOutGeometry.cc | 2 +- .../digits_hits/detector/src/G4VSDFilter.cc | 2 +- .../detector/src/G4VSensitiveDetector.cc | 2 +- .../digits/include/G4DCofThisEvent.hh | 2 +- .../digits/include/G4TDigiCollection.hh | 2 +- source/digits_hits/digits/include/G4VDigi.hh | 2 +- .../digits/include/G4VDigiCollection.hh | 2 +- .../digits_hits/digits/src/G4DCofThisEvent.cc | 2 +- .../digits/src/G4TDigiCollection.cc | 2 +- source/digits_hits/digits/src/G4VDigi.cc | 2 +- .../digits/src/G4VDigiCollection.cc | 2 +- .../hits/include/G4HCofThisEvent.hh | 2 +- .../hits/include/G4THitsCollection.hh | 2 +- source/digits_hits/hits/include/G4THitsMap.hh | 2 +- source/digits_hits/hits/include/G4VHit.hh | 2 +- .../hits/include/G4VHitsCollection.hh | 2 +- .../digits_hits/hits/src/G4HCofThisEvent.cc | 2 +- .../digits_hits/hits/src/G4THitsCollection.cc | 2 +- source/digits_hits/hits/src/G4VHit.cc | 2 +- .../digits_hits/hits/src/G4VHitsCollection.cc | 2 +- source/digits_hits/utils/GNUmakefile | 6 +- source/digits_hits/utils/History | 13 +- .../utils/include/G4PSCellCharge.hh | 4 +- .../digits_hits/utils/include/G4PSCellFlux.hh | 4 +- .../utils/include/G4PSDirectionFlag.hh | 4 +- .../utils/include/G4PSDoseDeposit.hh | 4 +- .../utils/include/G4PSEnergyDeposit.hh | 4 +- .../utils/include/G4PSFlatSurfaceCurrent.hh | 4 +- .../utils/include/G4PSFlatSurfaceFlux.hh | 4 +- .../utils/include/G4PSMinKinEAtGeneration.hh | 4 +- .../utils/include/G4PSNofCollision.hh} | 72 +- .../utils/include/G4PSNofSecondary.hh | 4 +- .../digits_hits/utils/include/G4PSNofStep.hh | 4 +- .../utils/include/G4PSPassageCellFlux.hh | 4 +- .../utils/include/G4PSPassageCurrent.hh | 4 +- .../utils/include/G4PSPassageTrackLength.hh | 4 +- .../utils/include/G4PSPopulation.hh | 87 + .../utils/include/G4PSSphereSurfaceCurrent.hh | 4 +- .../utils/include/G4PSSphereSurfaceFlux.hh | 4 +- .../utils/include/G4PSTrackCounter.hh} | 70 +- .../utils/include/G4PSTrackLength.hh | 16 +- .../utils/include/G4SDChargedFilter.hh | 4 +- .../utils/include/G4SDKineticEnergyFilter.hh | 4 +- .../utils/include/G4SDNeutralFilter.hh | 4 +- .../utils/include/G4SDParticleFilter.hh | 4 +- .../include/G4SDParticleWithEnergyFilter.hh | 4 +- .../digits_hits/utils/src/G4PSCellCharge.cc | 4 +- source/digits_hits/utils/src/G4PSCellFlux.cc | 4 +- .../digits_hits/utils/src/G4PSDoseDeposit.cc | 4 +- .../utils/src/G4PSEnergyDeposit.cc | 4 +- .../utils/src/G4PSFlatSurfaceCurrent.cc | 7 +- .../utils/src/G4PSFlatSurfaceFlux.cc | 6 +- .../utils/src/G4PSMinKinEAtGeneration.cc | 4 +- .../digits_hits/utils/src/G4PSNofCollision.cc | 89 + .../digits_hits/utils/src/G4PSNofSecondary.cc | 4 +- source/digits_hits/utils/src/G4PSNofStep.cc | 4 +- .../utils/src/G4PSPassageCellFlux.cc | 4 +- .../utils/src/G4PSPassageCurrent.cc | 4 +- .../utils/src/G4PSPassageTrackLength.cc | 4 +- .../digits_hits/utils/src/G4PSPopulation.cc | 95 + .../utils/src/G4PSSphereSurfaceCurrent.cc | 6 +- .../utils/src/G4PSSphereSurfaceFlux.cc | 6 +- .../digits_hits/utils/src/G4PSTrackCounter.cc | 112 + .../digits_hits/utils/src/G4PSTrackLength.cc | 25 +- .../utils/src/G4SDChargedFilter.cc | 4 +- .../utils/src/G4SDKineticEnergyFilter.cc | 4 +- .../utils/src/G4SDNeutralFilter.cc | 4 +- .../utils/src/G4SDParticleFilter.cc | 4 +- .../utils/src/G4SDParticleWithEnergyFilter.cc | 4 +- source/error_propagation/GNUmakefile | 57 + source/error_propagation/History | 52 + .../include/G4ErrorFreeTrajParam.hh} | 86 +- .../include/G4ErrorFreeTrajState.hh | 136 + .../include/G4ErrorGeomVolumeTarget.hh | 57 +- .../include/G4ErrorMagFieldLimitProcess.hh | 72 + .../include/G4ErrorMatrix.hh | 315 + .../include/G4ErrorMatrix.icc} | 114 +- .../include/G4ErrorMessenger.hh} | 73 +- .../include/G4ErrorPhysicsList.hh | 72 + .../include/G4ErrorPropagator.hh | 136 + .../include/G4ErrorPropagatorManager.hh | 163 + .../include/G4ErrorRunManagerHelper.hh | 101 + .../include/G4ErrorStepLengthLimitProcess.hh} | 58 +- .../include/G4ErrorSurfaceTrajParam.hh | 96 + .../include/G4ErrorSurfaceTrajState.hh | 136 + .../include/G4ErrorSymMatrix.hh | 301 + .../include/G4ErrorSymMatrix.icc | 141 + .../include/G4ErrorTrackLengthTarget.hh | 92 + .../include/G4ErrorTrajErr.hh} | 26 +- .../include/G4ErrorTrajState.hh | 138 + .../include/G4VErrorLimitProcess.hh | 92 + .../src/G4ErrorFreeTrajParam.cc | 94 + .../src/G4ErrorFreeTrajState.cc | 702 + .../src/G4ErrorGeomVolumeTarget.cc} | 97 +- .../src/G4ErrorMagFieldLimitProcess.cc | 93 + source/error_propagation/src/G4ErrorMatrix.cc | 1735 +++ .../error_propagation/src/G4ErrorMessenger.cc | 112 + .../src/G4ErrorPhysicsList.cc | 226 + .../src/G4ErrorPropagator.cc | 459 + .../src/G4ErrorPropagatorManager.cc | 435 + .../src/G4ErrorRunManagerHelper.cc | 182 + .../src/G4ErrorStepLengthLimitProcess.cc | 71 + .../src/G4ErrorSurfaceTrajParam.cc | 121 + .../src/G4ErrorSurfaceTrajState.cc | 231 + .../error_propagation/src/G4ErrorSymMatrix.cc | 2264 +++ .../src/G4ErrorTrackLengthTarget.cc | 140 + .../error_propagation/src/G4ErrorTrajState.cc | 123 + .../src/G4VErrorLimitProcess.cc | 67 + source/event/History | 15 +- source/event/include/G4CellScorer.hh | 2 +- source/event/include/G4CellScorerStore.hh | 2 +- .../include/G4ClassificationOfNewTrack.hh | 2 +- source/event/include/G4EvManMessenger.hh | 2 +- source/event/include/G4Event.hh | 2 +- source/event/include/G4EventManager.hh | 2 +- source/event/include/G4HEPEvtInterface.hh | 2 +- source/event/include/G4HEPEvtParticle.hh | 2 +- source/event/include/G4ParticleGun.hh | 2 +- .../event/include/G4ParticleGunMessenger.hh | 2 +- source/event/include/G4PrimaryTransformer.hh | 2 +- source/event/include/G4RayShooter.hh | 2 +- source/event/include/G4StackChecker.hh | 2 +- source/event/include/G4StackManager.hh | 2 +- source/event/include/G4StackedTrack.hh | 2 +- source/event/include/G4StackingMessenger.hh | 2 +- source/event/include/G4TrackStack.hh | 2 +- source/event/include/G4TrajectoryContainer.hh | 2 +- source/event/include/G4UserEventAction.hh | 2 +- source/event/include/G4UserStackingAction.hh | 2 +- source/event/include/G4VPrimaryGenerator.hh | 2 +- .../event/include/G4VUserEventInformation.hh | 2 +- source/event/include/eventgendefs.hh | 2 +- source/event/include/evmandefs.hh | 2 +- source/event/include/trajectoryControl.hh | 2 +- source/event/src/G4CellScorer.cc | 2 +- source/event/src/G4CellScorerStore.cc | 2 +- source/event/src/G4EvManMessenger.cc | 2 +- source/event/src/G4Event.cc | 2 +- source/event/src/G4EventManager.cc | 2 +- source/event/src/G4GeneralParticleSource.cc | 20 +- source/event/src/G4HEPEvtInterface.cc | 2 +- source/event/src/G4HEPEvtParticle.cc | 2 +- source/event/src/G4ParticleGun.cc | 2 +- source/event/src/G4ParticleGunMessenger.cc | 2 +- source/event/src/G4PrimaryTransformer.cc | 2 +- source/event/src/G4RayShooter.cc | 2 +- source/event/src/G4Scorer.cc | 57 - source/event/src/G4StackChecker.cc | 2 +- source/event/src/G4StackManager.cc | 2 +- source/event/src/G4StackedTrack.cc | 2 +- source/event/src/G4StackingMessenger.cc | 2 +- source/event/src/G4TrackStack.cc | 2 +- source/event/src/G4TrajectoryContainer.cc | 2 +- source/event/src/G4UserEventAction.cc | 2 +- source/event/src/G4UserStackingAction.cc | 2 +- source/event/src/G4VPrimaryGenerator.cc | 2 +- source/g3tog4/include/G3DetTable.hh | 2 +- source/g3tog4/include/G3DetTableEntry.hh | 2 +- source/g3tog4/include/G3Division.hh | 2 +- source/g3tog4/include/G3EleTable.hh | 2 +- source/g3tog4/include/G3G4Interface.hh | 2 +- source/g3tog4/include/G3MatTable.hh | 2 +- source/g3tog4/include/G3MatTableEntry.hh | 2 +- source/g3tog4/include/G3MedTable.hh | 2 +- source/g3tog4/include/G3MedTableEntry.hh | 2 +- source/g3tog4/include/G3PartTable.hh | 2 +- source/g3tog4/include/G3Pos.hh | 2 +- source/g3tog4/include/G3RotTable.hh | 2 +- source/g3tog4/include/G3RotTableEntry.hh | 2 +- source/g3tog4/include/G3SensVolVector.hh | 2 +- source/g3tog4/include/G3VolTable.hh | 2 +- source/g3tog4/include/G3VolTableEntry.hh | 2 +- source/g3tog4/include/G3toG4.hh | 2 +- source/g3tog4/include/G3toG4.inc | 2 +- source/g3tog4/include/G3toG4BuildTree.hh | 2 +- source/g3tog4/include/G3toG4MANY.hh | 2 +- source/g3tog4/include/G3toG4MakeSolid.hh | 2 +- source/g3tog4/include/G3toG4RotationMatrix.hh | 2 +- source/g3tog4/include/gcbank.inc | 2 +- source/g3tog4/src/G3DetTable.cc | 2 +- source/g3tog4/src/G3DetTableEntry.cc | 2 +- source/g3tog4/src/G3Division.cc | 2 +- source/g3tog4/src/G3EleTable.cc | 2 +- source/g3tog4/src/G3MatTable.cc | 2 +- source/g3tog4/src/G3MatTableEntry.cc | 2 +- source/g3tog4/src/G3MedTable.cc | 2 +- source/g3tog4/src/G3MedTableEntry.cc | 2 +- source/g3tog4/src/G3NegVolPars.cc | 2 +- source/g3tog4/src/G3PartTable.cc | 2 +- source/g3tog4/src/G3Pos.cc | 2 +- source/g3tog4/src/G3RotTable.cc | 2 +- source/g3tog4/src/G3RotTableEntry.cc | 2 +- source/g3tog4/src/G3VolTable.cc | 2 +- source/g3tog4/src/G3VolTableEntry.cc | 2 +- source/g3tog4/src/G3fillParams.cc.archive | 2 +- source/g3tog4/src/G3toG4BuildTree.cc | 2 +- source/g3tog4/src/G3toG4MANY.cc | 2 +- source/g3tog4/src/G3toG4MakeSolid.cc | 2 +- source/g3tog4/src/G3toG4RotationMatrix.cc | 2 +- source/g3tog4/src/G4BuildGeom.cc | 2 +- source/g3tog4/src/G4ggclos.cc | 2 +- source/g3tog4/src/G4gsatt.cc | 2 +- source/g3tog4/src/G4gsbool.cc | 2 +- source/g3tog4/src/G4gsdet.cc | 2 +- source/g3tog4/src/G4gsdeta.cc | 2 +- source/g3tog4/src/G4gsdetd.cc | 2 +- source/g3tog4/src/G4gsdeth.cc | 2 +- source/g3tog4/src/G4gsdetu.cc | 2 +- source/g3tog4/src/G4gsdetv.cc | 2 +- source/g3tog4/src/G4gsdk.cc | 2 +- source/g3tog4/src/G4gsdvn.cc | 2 +- source/g3tog4/src/G4gsdvn2.cc | 2 +- source/g3tog4/src/G4gsdvt.cc | 2 +- source/g3tog4/src/G4gsdvt2.cc | 2 +- source/g3tog4/src/G4gsdvx.cc | 2 +- source/g3tog4/src/G4gsmate.cc | 2 +- source/g3tog4/src/G4gsmixt.cc | 2 +- source/g3tog4/src/G4gspart.cc | 2 +- source/g3tog4/src/G4gspos.cc | 2 +- source/g3tog4/src/G4gsposp.cc | 2 +- source/g3tog4/src/G4gsrotm.cc | 2 +- source/g3tog4/src/G4gstmed.cc | 2 +- source/g3tog4/src/G4gstpar.cc | 2 +- source/g3tog4/src/G4gsvolu.cc | 2 +- source/g3tog4/src/clparse.cc | 2 +- source/g3tog4/src/g3routines.F | 2 +- source/g3tog4/src/g3test.F.main | 2 +- source/g3tog4/src/g3tog4.F | 2 +- source/g3tog4/src/g4geom.cc.main | 2 +- source/g3tog4/src/jshape.F | 2 +- source/g3tog4/src/mztog4.F | 2 +- source/g3tog4/src/rztog4.F | 2 +- source/g3tog4/src/tog4.F | 2 +- source/geometry/History | 18 +- source/geometry/biasing/History | 24 +- .../biasing/include/G4GeometryCell.hh | 2 +- .../biasing/include/G4GeometryCellComp.hh | 2 +- .../include/G4GeometryCellImportance.hh | 2 +- .../biasing/include/G4GeometryCellStep.hh | 2 +- .../include/G4GeometryCellStepStream.hh | 2 +- .../biasing/include/G4GeometryCellWeight.hh | 2 +- source/geometry/biasing/include/G4IStore.hh | 2 +- .../biasing/include/G4ImportanceAlgorithm.hh | 2 +- .../include/G4ImportanceSplitExaminer.hh | 80 - .../biasing/include/G4Nsplit_Weight.hh | 2 +- .../biasing/include/G4ParallelNavigator.hh | 146 - .../geometry/biasing/include/G4VCellScorer.hh | 2 +- .../biasing/include/G4VCellScorerStore.hh | 2 +- .../biasing/include/G4VGCellFinder.hh | 2 +- source/geometry/biasing/include/G4VIStore.hh | 2 +- .../biasing/include/G4VImportanceAlgorithm.hh | 2 +- .../include/G4VImportanceSplitExaminer.hh | 2 +- .../geometry/biasing/include/G4VPGeoDriver.hh | 85 - .../biasing/include/G4VParallelStepper.hh | 73 - .../include/G4VWeightWindowAlgorithm.hh | 2 +- .../biasing/include/G4VWeightWindowStore.hh | 2 +- .../include/G4WeightWindowAlgorithm.hh | 2 +- .../biasing/include/G4WeightWindowExaminer.hh | 82 - .../biasing/include/G4WeightWindowStore.hh | 2 +- source/geometry/biasing/src/G4GeometryCell.cc | 2 +- .../biasing/src/G4GeometryCellComp.cc | 2 +- .../biasing/src/G4GeometryCellImportance.cc | 2 +- .../biasing/src/G4GeometryCellStep.cc | 2 +- .../biasing/src/G4GeometryCellStepStream.cc | 2 +- source/geometry/biasing/src/G4IStore.cc | 2 +- .../biasing/src/G4ImportanceAlgorithm.cc | 2 +- .../biasing/src/G4ImportanceSplitExaminer.cc | 63 - .../geometry/biasing/src/G4Nsplit_Weight.cc | 2 +- .../biasing/src/G4ParallelNavigator.cc | 282 - .../geometry/biasing/src/G4ParallelStepper.cc | 116 - .../geometry/biasing/src/G4ParallelWorld.cc | 70 - source/geometry/biasing/src/G4VCellScorer.cc | 2 +- .../biasing/src/G4VCellScorerStore.cc | 2 +- source/geometry/biasing/src/G4VGCellFinder.cc | 2 +- source/geometry/biasing/src/G4VIStore.cc | 2 +- .../biasing/src/G4VImportanceAlgorithm.cc | 2 +- .../biasing/src/G4VImportanceSplitExaminer.cc | 2 +- .../biasing/src/G4VWeightWindowAlgorithm.cc | 2 +- .../biasing/src/G4VWeightWindowExaminer.cc | 43 - .../biasing/src/G4VWeightWindowStore.cc | 2 +- .../biasing/src/G4WeightWindowAlgorithm.cc | 2 +- .../biasing/src/G4WeightWindowExaminer.cc | 66 - .../biasing/src/G4WeightWindowStore.cc | 2 +- source/geometry/divisions/History | 11 +- .../divisions/include/G4PVDivision.hh | 2 +- .../divisions/include/G4PVDivisionFactory.hh | 2 +- .../include/G4ParameterisationBox.hh | 2 +- .../include/G4ParameterisationCons.hh | 2 +- .../include/G4ParameterisationPara.hh | 2 +- .../include/G4ParameterisationPolycone.hh | 2 +- .../include/G4ParameterisationPolyhedra.hh | 2 +- .../include/G4ParameterisationTrd.hh | 2 +- .../include/G4ParameterisationTubs.hh | 2 +- .../include/G4VDivisionParameterisation.hh | 6 +- .../include/G4VDivisionParameterisation.icc | 2 +- source/geometry/divisions/src/G4PVDivision.cc | 2 +- .../divisions/src/G4PVDivisionFactory.cc | 2 +- .../divisions/src/G4ParameterisationBox.cc | 2 +- .../divisions/src/G4ParameterisationCons.cc | 2 +- .../divisions/src/G4ParameterisationPara.cc | 2 +- .../src/G4ParameterisationPolycone.cc | 2 +- .../src/G4ParameterisationPolyhedra.cc | 10 +- .../divisions/src/G4ParameterisationTrd.cc | 2 +- .../divisions/src/G4ParameterisationTubs.cc | 2 +- .../src/G4VDivisionParameterisation.cc | 6 +- source/geometry/magneticfield/History | 30 +- .../magneticfield/include/G4CashKarpRKF45.hh | 2 +- .../magneticfield/include/G4ChordFinder.hh | 2 +- .../magneticfield/include/G4ChordFinder.icc | 2 +- .../magneticfield/include/G4ChordFinderSaf.hh | 2 +- .../magneticfield/include/G4ClassicalRK4.hh | 2 +- .../magneticfield/include/G4DELPHIMagField.hh | 2 +- .../magneticfield/include/G4ElectricField.hh | 2 +- .../include/G4ElectroMagneticField.hh | 2 +- .../include/G4EqMagElectricField.hh | 2 +- .../include/G4EquationOfMotion.hh | 2 +- .../include/G4EquationOfMotion.icc | 2 +- .../include/G4ErrorMag_UsualEqRhs.hh | 63 + .../include/G4ExactHelixStepper.hh | 13 +- .../magneticfield/include/G4ExplicitEuler.hh | 2 +- .../geometry/magneticfield/include/G4Field.hh | 2 +- .../magneticfield/include/G4FieldManager.hh | 2 +- .../magneticfield/include/G4FieldManager.icc | 2 +- .../magneticfield/include/G4FieldTrack.hh | 2 +- .../magneticfield/include/G4FieldTrack.icc | 2 +- .../include/G4HarmonicPolMagField.hh | 2 +- .../include/G4HelixExplicitEuler.hh | 2 +- .../magneticfield/include/G4HelixHeum.hh | 2 +- .../include/G4HelixImplicitEuler.hh | 2 +- .../include/G4HelixMixedStepper.hh} | 81 +- .../include/G4HelixSimpleRunge.hh | 2 +- .../magneticfield/include/G4ImplicitEuler.hh | 2 +- .../include/G4LineCurrentMagField.hh | 2 +- .../magneticfield/include/G4LineSection.hh | 2 +- .../include/G4MagErrorStepper.hh | 2 +- .../include/G4MagErrorStepper.icc | 2 +- .../include/G4MagHelicalStepper.hh | 42 +- .../include/G4MagHelicalStepper.icc | 53 +- .../include/G4MagIntegratorDriver.hh | 2 +- .../include/G4MagIntegratorDriver.icc | 2 +- .../include/G4MagIntegratorStepper.hh | 2 +- .../include/G4MagIntegratorStepper.icc | 2 +- .../magneticfield/include/G4Mag_EqRhs.hh | 2 +- .../magneticfield/include/G4Mag_SpinEqRhs.hh | 2 +- .../magneticfield/include/G4Mag_UsualEqRhs.hh | 2 +- .../magneticfield/include/G4MagneticField.hh | 2 +- .../include/G4QuadrupoleMagField.hh | 2 +- .../magneticfield/include/G4RKG3_Stepper.hh | 13 +- .../magneticfield/include/G4SimpleHeum.hh | 2 +- .../magneticfield/include/G4SimpleRunge.hh | 2 +- .../include/G4UniformElectricField.hh | 2 +- .../include/G4UniformMagField.hh | 2 +- .../magneticfield/src/G4CashKarpRKF45.cc | 2 +- .../magneticfield/src/G4ChordFinder.cc | 2 +- .../magneticfield/src/G4ClassicalRK4.cc | 2 +- .../magneticfield/src/G4DELPHIMagField.cc | 2 +- .../magneticfield/src/G4ElectricField.cc | 2 +- .../src/G4ElectroMagneticField.cc | 2 +- .../magneticfield/src/G4EqMagElectricField.cc | 2 +- .../magneticfield/src/G4EquationOfMotion.cc | 2 +- .../src/G4ErrorMag_UsualEqRhs.cc} | 76 +- .../magneticfield/src/G4ExactHelixStepper.cc | 58 +- .../magneticfield/src/G4ExplicitEuler.cc | 2 +- .../magneticfield/src/G4FieldManager.cc | 2 +- .../magneticfield/src/G4FieldTrack.cc | 2 +- .../src/G4HarmonicPolMagField.cc | 2 +- .../magneticfield/src/G4HelixExplicitEuler.cc | 2 +- .../geometry/magneticfield/src/G4HelixHeum.cc | 2 +- .../magneticfield/src/G4HelixImplicitEuler.cc | 2 +- .../magneticfield/src/G4HelixMixedStepper.cc | 149 + .../magneticfield/src/G4HelixSimpleRunge.cc | 2 +- .../magneticfield/src/G4ImplicitEuler.cc | 2 +- .../src/G4LineCurrentMagField.cc | 2 +- .../magneticfield/src/G4LineSection.cc | 2 +- .../magneticfield/src/G4MagErrorStepper.cc | 2 +- .../magneticfield/src/G4MagHelicalStepper.cc | 75 +- .../src/G4MagIntegratorDriver.cc | 18 +- .../src/G4MagIntegratorStepper.cc | 2 +- .../geometry/magneticfield/src/G4Mag_EqRhs.cc | 2 +- .../magneticfield/src/G4Mag_SpinEqRhs.cc | 2 +- .../magneticfield/src/G4Mag_UsualEqRhs.cc | 2 +- .../magneticfield/src/G4MagneticField.cc | 2 +- .../magneticfield/src/G4QuadrupoleMagField.cc | 2 +- .../magneticfield/src/G4RKG3_Stepper.cc | 118 +- .../magneticfield/src/G4SimpleHeum.cc | 2 +- .../magneticfield/src/G4SimpleRunge.cc | 2 +- .../src/G4UniformElectricField.cc | 2 +- .../magneticfield/src/G4UniformMagField.cc | 2 +- source/geometry/management/History | 21 +- .../management/include/G4AffineTransform.hh | 2 +- .../management/include/G4AffineTransform.icc | 2 +- .../management/include/G4BlockingList.hh | 2 +- .../management/include/G4BlockingList.icc | 2 +- .../include/G4ErrorCylSurfaceTarget.hh | 93 + .../include/G4ErrorPlaneSurfaceTarget.hh | 89 + .../include/G4ErrorSurfaceTarget.hh | 72 + .../include/G4ErrorTanPlaneTarget.hh} | 50 +- .../management/include/G4ErrorTarget.hh | 88 + .../management/include/G4GeometryManager.hh | 8 +- .../include/G4IdentityTrajectoryFilter.hh | 2 +- .../management/include/G4LogicalSurface.hh | 2 +- .../management/include/G4LogicalSurface.icc | 2 +- .../management/include/G4LogicalVolume.hh | 2 +- .../management/include/G4LogicalVolume.icc | 2 +- .../include/G4LogicalVolumeStore.hh | 2 +- .../include/G4PhysicalVolumeStore.hh | 2 +- .../management/include/G4ReflectedSolid.hh | 2 +- .../geometry/management/include/G4Region.hh | 11 +- .../geometry/management/include/G4Region.icc | 20 +- .../management/include/G4RegionStore.hh | 2 +- .../management/include/G4SmartVoxelHeader.hh | 2 +- .../management/include/G4SmartVoxelHeader.icc | 2 +- .../management/include/G4SmartVoxelNode.hh | 2 +- .../management/include/G4SmartVoxelNode.icc | 2 +- .../management/include/G4SmartVoxelProxy.hh | 2 +- .../management/include/G4SmartVoxelProxy.icc | 2 +- .../management/include/G4SmartVoxelStat.hh | 2 +- .../management/include/G4SolidStore.hh | 2 +- .../management/include/G4TouchableHandle.hh | 2 +- .../include/G4VCurvedTrajectoryFilter.hh | 2 +- .../include/G4VNestedParameterisation.hh | 2 +- .../include/G4VPVDivisionFactory.hh | 2 +- .../include/G4VPVParameterisation.hh | 2 +- .../management/include/G4VPhysicalVolume.hh | 2 +- .../management/include/G4VPhysicalVolume.icc | 2 +- .../geometry/management/include/G4VSolid.hh | 11 +- .../geometry/management/include/G4VSolid.icc | 10 +- .../management/include/G4VStoreNotifier.hh | 2 +- .../management/include/G4VTouchable.hh | 2 +- .../management/include/G4VTouchable.icc | 2 +- .../include/G4VUserRegionInformation.hh | 2 +- .../include/G4VVolumeMaterialScanner.hh | 2 +- .../management/include/G4VoxelLimits.hh | 2 +- .../management/include/G4VoxelLimits.icc | 2 +- .../geometry/management/include/meshdefs.hh | 2 +- .../geometry/management/include/voxeldefs.hh | 2 +- .../geometry/management/src/G4BlockingList.cc | 2 +- .../management/src/G4ErrorCylSurfaceTarget.cc | 226 + .../src/G4ErrorPlaneSurfaceTarget.cc | 180 + .../src/G4ErrorSurfaceTarget.cc} | 23 +- .../src/G4ErrorTanPlaneTarget.cc} | 22 +- .../geometry/management/src/G4ErrorTarget.cc | 41 +- .../management/src/G4GeometryManager.cc | 41 +- .../src/G4IdentityTrajectoryFilter.cc | 2 +- .../management/src/G4LogicalVolume.cc | 2 +- .../management/src/G4LogicalVolumeStore.cc | 2 +- .../management/src/G4PhysicalVolumeStore.cc | 2 +- .../management/src/G4ReflectedSolid.cc | 2 +- source/geometry/management/src/G4Region.cc | 8 +- .../geometry/management/src/G4RegionStore.cc | 2 +- .../management/src/G4SmartVoxelHeader.cc | 2 +- .../management/src/G4SmartVoxelNode.cc | 2 +- .../management/src/G4SmartVoxelProxy.cc | 2 +- .../management/src/G4SmartVoxelStat.cc | 2 +- .../geometry/management/src/G4SolidStore.cc | 2 +- .../src/G4VCurvedTrajectoryFilter.cc | 2 +- .../src/G4VNestedParameterisation.cc | 2 +- .../management/src/G4VPVDivisionFactory.cc | 2 +- .../management/src/G4VPVParameterisation.cc | 2 +- .../management/src/G4VPhysicalVolume.cc | 2 +- source/geometry/management/src/G4VSolid.cc | 7 +- .../geometry/management/src/G4VoxelLimits.cc | 2 +- source/geometry/navigation/GNUmakefile | 5 +- source/geometry/navigation/History | 110 +- .../include/G4AuxiliaryNavServices.hh | 17 +- .../include/G4AuxiliaryNavServices.icc | 52 +- .../navigation/include/G4DrawVoxels.hh | 2 +- .../include/G4ErrorPropagationNavigator.hh | 72 + .../navigation/include/G4GeomTestErrorList.hh | 2 +- .../navigation/include/G4GeomTestLogger.hh | 2 +- .../include/G4GeomTestOverlapList.hh | 2 +- .../include/G4GeomTestOvershootList.hh | 2 +- .../navigation/include/G4GeomTestPoint.hh | 2 +- .../navigation/include/G4GeomTestSegment.hh | 6 +- .../include/G4GeomTestStreamLogger.hh | 2 +- .../navigation/include/G4GeomTestVolPoint.hh | 2 +- .../navigation/include/G4GeomTestVolume.hh | 2 +- .../navigation/include/G4GeometryMessenger.hh | 2 +- .../navigation/include/G4MultiNavigator.hh | 2 +- .../navigation/include/G4Navigator.hh | 59 +- .../navigation/include/G4Navigator.icc | 2 +- .../navigation/include/G4NormalNavigation.hh | 2 +- .../navigation/include/G4NormalNavigation.icc | 2 +- .../include/G4ParameterisedNavigation.hh | 2 +- .../include/G4ParameterisedNavigation.icc | 2 +- .../navigation/include/G4PathFinder.hh | 179 +- .../navigation/include/G4PropagatorInField.hh | 32 +- .../include/G4PropagatorInField.icc | 2 +- .../navigation/include/G4ReplicaNavigation.hh | 5 +- .../include/G4ReplicaNavigation.icc | 2 +- .../navigation/include/G4SafetyHelper.hh | 86 +- .../include/G4TransportationManager.hh | 9 +- .../include/G4TransportationManager.icc | 18 +- .../navigation/include/G4VoxelNavigation.hh | 9 +- .../navigation/include/G4VoxelNavigation.icc | 2 +- .../navigation/src/G4AuxiliaryNavServices.cc | 2 +- .../geometry/navigation/src/G4DrawVoxels.cc | 2 +- .../src/G4ErrorPropagationNavigator.cc | 149 + .../navigation/src/G4GeomTestErrorList.cc | 2 +- .../navigation/src/G4GeomTestOverlapList.cc | 2 +- .../navigation/src/G4GeomTestOvershootList.cc | 2 +- .../navigation/src/G4GeomTestPoint.cc | 2 +- .../navigation/src/G4GeomTestSegment.cc | 51 +- .../navigation/src/G4GeomTestStreamLogger.cc | 2 +- .../navigation/src/G4GeomTestVolPoint.cc | 2 +- .../navigation/src/G4GeomTestVolume.cc | 2 +- .../navigation/src/G4GeometryMessenger.cc | 2 +- source/geometry/navigation/src/G4Navigator.cc | 91 +- .../navigation/src/G4NormalNavigation.cc | 6 +- .../src/G4ParameterisedNavigation.cc | 6 +- .../geometry/navigation/src/G4PathFinder.cc | 421 +- .../navigation/src/G4PropagatorInField.cc | 129 +- .../navigation/src/G4ReplicaNavigation.cc | 8 +- .../geometry/navigation/src/G4SafetyHelper.cc | 206 +- .../navigation/src/G4TransportationManager.cc | 7 +- .../navigation/src/G4VoxelNavigation.cc | 6 +- source/geometry/solids/BREPS/History | 10 +- .../solids/BREPS/include/G4Assembly.hh | 2 +- .../solids/BREPS/include/G4Assembly.icc | 2 +- .../BREPS/include/G4Axis2Placement3D.hh | 2 +- .../BREPS/include/G4Axis2Placement3D.icc | 2 +- .../solids/BREPS/include/G4BREPSolid.hh | 2 +- .../solids/BREPS/include/G4BREPSolid.icc | 2 +- .../solids/BREPS/include/G4BREPSolidBox.hh | 2 +- .../solids/BREPS/include/G4BREPSolidCone.hh | 2 +- .../BREPS/include/G4BREPSolidCylinder.hh | 2 +- .../BREPS/include/G4BREPSolidOpenPCone.hh | 2 +- .../solids/BREPS/include/G4BREPSolidPCone.hh | 2 +- .../BREPS/include/G4BREPSolidPolyhedra.hh | 2 +- .../solids/BREPS/include/G4BREPSolidSphere.hh | 2 +- .../solids/BREPS/include/G4BREPSolidTorus.hh | 2 +- .../solids/BREPS/include/G4BSplineCurve.hh | 2 +- .../solids/BREPS/include/G4BSplineCurve.icc | 2 +- .../BREPS/include/G4BSplineCurveWithKnots.hh | 2 +- .../solids/BREPS/include/G4BSplineSurface.hh | 2 +- .../solids/BREPS/include/G4BSplineSurface.icc | 2 +- .../include/G4BSplineSurfaceWithKnots.hh | 2 +- .../solids/BREPS/include/G4BezierSurface.hh | 2 +- .../solids/BREPS/include/G4BezierSurface.icc | 2 +- .../solids/BREPS/include/G4BoundingBox3D.hh | 7 +- .../solids/BREPS/include/G4BoundingBox3D.icc | 2 +- .../solids/BREPS/include/G4CircularCurve.hh | 2 +- .../solids/BREPS/include/G4CircularCurve.icc | 2 +- .../solids/BREPS/include/G4CompositeCurve.hh | 2 +- .../solids/BREPS/include/G4CompositeCurve.icc | 2 +- .../geometry/solids/BREPS/include/G4Conic.hh | 2 +- .../geometry/solids/BREPS/include/G4Conic.icc | 2 +- .../solids/BREPS/include/G4ConicalSurface.hh | 2 +- .../solids/BREPS/include/G4ConicalSurface.icc | 2 +- .../solids/BREPS/include/G4ControlPoints.hh | 2 +- .../solids/BREPS/include/G4ControlPoints.icc | 2 +- .../solids/BREPS/include/G4ConvexHull.hh | 2 +- .../geometry/solids/BREPS/include/G4Curve.hh | 5 +- .../geometry/solids/BREPS/include/G4Curve.icc | 2 +- .../solids/BREPS/include/G4CurvePoint.hh | 2 +- .../solids/BREPS/include/G4CurvePoint.icc | 2 +- .../BREPS/include/G4CurveRayIntersection.hh | 5 +- .../BREPS/include/G4CurveRayIntersection.icc | 2 +- .../solids/BREPS/include/G4CurveVector.hh | 2 +- .../BREPS/include/G4CylindricalSurface.hh | 2 +- .../BREPS/include/G4CylindricalSurface.icc | 2 +- .../solids/BREPS/include/G4Ellipse.hh | 2 +- .../solids/BREPS/include/G4Ellipse.icc | 2 +- .../solids/BREPS/include/G4FConicalSurface.hh | 2 +- .../BREPS/include/G4FConicalSurface.icc | 2 +- .../BREPS/include/G4FCylindricalSurface.hh | 2 +- .../BREPS/include/G4FCylindricalSurface.icc | 2 +- .../geometry/solids/BREPS/include/G4FPlane.hh | 2 +- .../solids/BREPS/include/G4FPlane.icc | 2 +- .../solids/BREPS/include/G4Globals.hh | 2 +- .../solids/BREPS/include/G4Hyperbola.hh | 2 +- .../solids/BREPS/include/G4Hyperbola.icc | 2 +- .../solids/BREPS/include/G4KnotVector.hh | 7 +- .../solids/BREPS/include/G4KnotVector.icc | 2 +- .../geometry/solids/BREPS/include/G4Line.hh | 2 +- .../geometry/solids/BREPS/include/G4Line.icc | 2 +- .../solids/BREPS/include/G4OsloMatrix.hh | 2 +- .../solids/BREPS/include/G4OsloMatrix.icc | 2 +- .../solids/BREPS/include/G4Parabola.hh | 2 +- .../solids/BREPS/include/G4Parabola.icc | 2 +- .../solids/BREPS/include/G4PlacedSolid.hh | 2 +- .../solids/BREPS/include/G4PlacedSolid.icc | 2 +- .../solids/BREPS/include/G4PlacementVector.hh | 2 +- .../geometry/solids/BREPS/include/G4Plane.hh | 2 +- .../solids/BREPS/include/G4Point3DVector.hh | 2 +- .../solids/BREPS/include/G4PointRat.hh | 2 +- .../solids/BREPS/include/G4PointRat.icc | 2 +- .../BREPS/include/G4ProjectedSurface.hh | 2 +- .../BREPS/include/G4ProjectedSurface.icc | 2 +- source/geometry/solids/BREPS/include/G4Ray.hh | 2 +- .../geometry/solids/BREPS/include/G4Ray.icc | 2 +- .../include/G4RectangularTrimmedSurface.hh | 2 +- .../solids/BREPS/include/G4STEPEntity.hh | 2 +- .../geometry/solids/BREPS/include/G4Sort.hh | 2 +- .../BREPS/include/G4SphericalSurface.hh | 2 +- .../BREPS/include/G4SphericalSurface.icc | 2 +- .../solids/BREPS/include/G4Surface.hh | 6 +- .../solids/BREPS/include/G4Surface.icc | 2 +- .../solids/BREPS/include/G4SurfaceBoundary.hh | 2 +- .../BREPS/include/G4SurfaceBoundary.icc | 2 +- .../solids/BREPS/include/G4SurfaceList.hh | 2 +- .../include/G4SurfaceOfLinearExtrusion.hh | 2 +- .../BREPS/include/G4SurfaceOfRevolution.hh | 2 +- .../solids/BREPS/include/G4ThreeMat.hh | 2 +- .../solids/BREPS/include/G4ToroidalSurface.hh | 2 +- .../BREPS/include/G4ToroidalSurface.icc | 2 +- .../geometry/solids/BREPS/include/G4UVHit.hh | 2 +- .../geometry/solids/BREPS/src/G4Assembly.cc | 2 +- .../solids/BREPS/src/G4Axis2Placement3D.cc | 2 +- .../geometry/solids/BREPS/src/G4BREPSolid.cc | 2 +- .../solids/BREPS/src/G4BREPSolidBox.cc | 2 +- .../solids/BREPS/src/G4BREPSolidCone.cc | 2 +- .../solids/BREPS/src/G4BREPSolidCylinder.cc | 2 +- .../solids/BREPS/src/G4BREPSolidOpenPCone.cc | 2 +- .../solids/BREPS/src/G4BREPSolidPCone.cc | 2 +- .../solids/BREPS/src/G4BREPSolidPolyhedra.cc | 2 +- .../solids/BREPS/src/G4BREPSolidSphere.cc | 2 +- .../solids/BREPS/src/G4BREPSolidTorus.cc | 2 +- .../solids/BREPS/src/G4BSplineCurve.cc | 2 +- .../BREPS/src/G4BSplineCurveWithKnots.cc | 2 +- .../solids/BREPS/src/G4BSplineSurface.cc | 2 +- .../BREPS/src/G4BSplineSurfaceWithKnots.cc | 2 +- .../solids/BREPS/src/G4BezierSurface.cc | 2 +- .../solids/BREPS/src/G4BoundingBox3D.cc | 12 +- .../solids/BREPS/src/G4CircularCurve.cc | 2 +- .../solids/BREPS/src/G4CompositeCurve.cc | 2 +- source/geometry/solids/BREPS/src/G4Conic.cc | 2 +- .../solids/BREPS/src/G4ConicalSurface.cc | 2 +- .../solids/BREPS/src/G4ControlPoints.cc | 2 +- source/geometry/solids/BREPS/src/G4Curve.cc | 6 +- .../geometry/solids/BREPS/src/G4CurvePoint.cc | 2 +- .../BREPS/src/G4CurveRayIntersection.cc | 6 +- .../solids/BREPS/src/G4CylindricalSurface.cc | 2 +- source/geometry/solids/BREPS/src/G4Ellipse.cc | 10 +- .../solids/BREPS/src/G4FConicalSurface.cc | 2 +- .../solids/BREPS/src/G4FCylindricalSurface.cc | 2 +- source/geometry/solids/BREPS/src/G4FPlane.cc | 2 +- .../geometry/solids/BREPS/src/G4Hyperbola.cc | 10 +- .../geometry/solids/BREPS/src/G4KnotVector.cc | 6 +- source/geometry/solids/BREPS/src/G4Line.cc | 2 +- .../geometry/solids/BREPS/src/G4OsloMatrix.cc | 2 +- .../geometry/solids/BREPS/src/G4Parabola.cc | 12 +- .../solids/BREPS/src/G4PlacedSolid.cc | 8 +- .../geometry/solids/BREPS/src/G4PointRat.cc | 2 +- .../solids/BREPS/src/G4ProjectedSurface.cc | 2 +- source/geometry/solids/BREPS/src/G4Ray.cc | 2 +- .../BREPS/src/G4RectangularTrimmedSurface.cc | 2 +- source/geometry/solids/BREPS/src/G4Sort.cc | 2 +- .../solids/BREPS/src/G4SphericalSurface.cc | 2 +- source/geometry/solids/BREPS/src/G4Surface.cc | 6 +- .../solids/BREPS/src/G4SurfaceBoundary.cc | 2 +- .../solids/BREPS/src/G4SurfaceList.cc | 2 +- .../BREPS/src/G4SurfaceOfLinearExtrusion.cc | 2 +- .../solids/BREPS/src/G4SurfaceOfRevolution.cc | 2 +- .../geometry/solids/BREPS/src/G4ThreeMat.cc | 2 +- .../solids/BREPS/src/G4ToroidalSurface.cc | 2 +- source/geometry/solids/Boolean/History | 7 +- .../solids/Boolean/include/G4BooleanSolid.hh | 2 +- .../solids/Boolean/include/G4BooleanSolid.icc | 2 +- .../Boolean/include/G4DisplacedSolid.hh | 2 +- .../Boolean/include/G4IntersectionSolid.hh | 2 +- .../Boolean/include/G4SubtractionSolid.hh | 2 +- .../solids/Boolean/include/G4UnionSolid.hh | 2 +- .../solids/Boolean/src/G4BooleanSolid.cc | 2 +- .../solids/Boolean/src/G4DisplacedSolid.cc | 2 +- .../solids/Boolean/src/G4IntersectionSolid.cc | 2 +- .../solids/Boolean/src/G4SubtractionSolid.cc | 15 +- .../solids/Boolean/src/G4UnionSolid.cc | 10 +- source/geometry/solids/CSG/History | 15 +- source/geometry/solids/CSG/include/G4Box.hh | 2 +- source/geometry/solids/CSG/include/G4Box.icc | 2 +- .../geometry/solids/CSG/include/G4CSGSolid.hh | 2 +- source/geometry/solids/CSG/include/G4Cons.hh | 6 +- source/geometry/solids/CSG/include/G4Cons.icc | 2 +- source/geometry/solids/CSG/include/G4Orb.hh | 2 +- source/geometry/solids/CSG/include/G4Orb.icc | 2 +- source/geometry/solids/CSG/include/G4Para.hh | 2 +- source/geometry/solids/CSG/include/G4Para.icc | 2 +- .../geometry/solids/CSG/include/G4Sphere.hh | 6 +- .../geometry/solids/CSG/include/G4Sphere.icc | 2 +- source/geometry/solids/CSG/include/G4Torus.hh | 9 +- .../geometry/solids/CSG/include/G4Torus.icc | 2 +- source/geometry/solids/CSG/include/G4Trap.hh | 2 +- source/geometry/solids/CSG/include/G4Trap.icc | 2 +- source/geometry/solids/CSG/include/G4Trd.hh | 2 +- source/geometry/solids/CSG/include/G4Trd.icc | 2 +- source/geometry/solids/CSG/include/G4Tubs.hh | 9 +- source/geometry/solids/CSG/include/G4Tubs.icc | 2 +- source/geometry/solids/CSG/src/G4Box.cc | 2 +- source/geometry/solids/CSG/src/G4CSGSolid.cc | 2 +- source/geometry/solids/CSG/src/G4Cons.cc | 290 +- source/geometry/solids/CSG/src/G4Orb.cc | 15 +- source/geometry/solids/CSG/src/G4Para.cc | 2 +- source/geometry/solids/CSG/src/G4Sphere.cc | 8 +- source/geometry/solids/CSG/src/G4Torus.cc | 9 +- source/geometry/solids/CSG/src/G4Trap.cc | 2 +- source/geometry/solids/CSG/src/G4Trd.cc | 2 +- source/geometry/solids/CSG/src/G4Tubs.cc | 65 +- source/geometry/solids/History | 2 +- source/geometry/solids/specific/GNUmakefile | 5 +- source/geometry/solids/specific/History | 21 +- .../specific/include/G4ClippablePolygon.hh | 5 +- .../specific/include/G4ClippablePolygon.icc | 2 +- .../solids/specific/include/G4Ellipsoid.hh | 6 +- .../solids/specific/include/G4Ellipsoid.icc | 2 +- .../specific/include/G4EllipticalCone.hh | 6 +- .../specific/include/G4EllipticalCone.icc | 2 +- .../specific/include/G4EllipticalTube.hh | 2 +- .../specific/include/G4EllipticalTube.icc | 2 +- .../specific/include/G4EnclosingCylinder.hh | 2 +- .../specific/include/G4ExtrudedSolid.hh | 2 +- .../specific/include/G4ExtrudedSolid.icc | 2 +- .../solids/specific/include/G4Hype.hh | 2 +- .../solids/specific/include/G4Hype.icc | 2 +- .../specific/include/G4IntersectingCone.hh | 2 +- .../solids/specific/include/G4PolyPhiFace.hh | 5 +- .../solids/specific/include/G4PolyPhiFace.icc | 2 +- .../solids/specific/include/G4Polycone.hh | 2 +- .../solids/specific/include/G4Polycone.icc | 2 +- .../solids/specific/include/G4PolyconeSide.hh | 7 +- .../solids/specific/include/G4Polyhedra.hh | 2 +- .../solids/specific/include/G4Polyhedra.icc | 2 +- .../specific/include/G4PolyhedraSide.hh | 8 +- .../specific/include/G4QuadrangularFacet.hh | 2 +- .../specific/include/G4ReduciblePolygon.hh | 2 +- .../specific/include/G4SolidExtentList.hh | 2 +- .../specific/include/G4TessellatedSolid.hh | 2 +- .../geometry/solids/specific/include/G4Tet.hh | 2 +- .../specific/include/G4TriangularFacet.hh | 2 +- .../specific/include/G4TwistTrapFlatSide.hh | 2 +- .../specific/include/G4TwistTubsFlatSide.hh | 2 +- .../specific/include/G4TwistTubsHypeSide.hh | 2 +- .../specific/include/G4TwistTubsSide.hh | 2 +- .../solids/specific/include/G4TwistedBox.hh | 2 +- .../solids/specific/include/G4TwistedTrap.hh | 2 +- .../solids/specific/include/G4TwistedTrd.hh | 2 +- .../solids/specific/include/G4TwistedTubs.hh | 8 +- .../solids/specific/include/G4VCSGface.hh | 2 +- .../solids/specific/include/G4VCSGfaceted.hh | 2 +- .../solids/specific/include/G4VFacet.hh | 5 +- .../solids/specific/include/G4VFacet.icc | 2 +- .../specific/include/G4VTwistSurface.hh | 7 +- .../specific/include/G4VTwistSurface.icc | 2 +- .../specific/include/G4VTwistedFaceted.hh | 2 +- .../solids/specific/src/G4ClippablePolygon.cc | 9 +- .../solids/specific/src/G4Ellipsoid.cc | 7 +- .../solids/specific/src/G4EllipticalCone.cc | 7 +- .../solids/specific/src/G4EllipticalTube.cc | 2 +- .../specific/src/G4EnclosingCylinder.cc | 9 +- .../solids/specific/src/G4ExtrudedSolid.cc | 2 +- source/geometry/solids/specific/src/G4Hype.cc | 2 +- .../solids/specific/src/G4IntersectingCone.cc | 2 +- .../solids/specific/src/G4PolyPhiFace.cc | 11 +- .../solids/specific/src/G4Polycone.cc | 2 +- .../solids/specific/src/G4PolyconeSide.cc | 9 +- .../solids/specific/src/G4Polyhedra.cc | 2 +- .../solids/specific/src/G4PolyhedraSide.cc | 10 +- .../specific/src/G4QuadrangularFacet.cc | 2 +- .../solids/specific/src/G4ReduciblePolygon.cc | 2 +- .../solids/specific/src/G4SolidExtentList.cc | 7 +- .../solids/specific/src/G4TessellatedSolid.cc | 2 +- source/geometry/solids/specific/src/G4Tet.cc | 2 +- .../solids/specific/src/G4TriangularFacet.cc | 2 +- .../solids/specific/src/G4TwistBoxSide.cc | 50 +- .../specific/src/G4TwistTrapAlphaSide.cc | 742 +- .../specific/src/G4TwistTrapFlatSide.cc | 6 +- .../specific/src/G4TwistTrapParallelSide.cc | 48 +- .../specific/src/G4TwistTubsFlatSide.cc | 10 +- .../specific/src/G4TwistTubsHypeSide.cc | 11 +- .../solids/specific/src/G4TwistTubsSide.cc | 2 +- .../solids/specific/src/G4TwistedBox.cc | 2 +- .../solids/specific/src/G4TwistedTrap.cc | 2 +- .../solids/specific/src/G4TwistedTrd.cc | 2 +- .../solids/specific/src/G4TwistedTubs.cc | 8 +- .../solids/specific/src/G4VCSGfaceted.cc | 2 +- .../geometry/solids/specific/src/G4VFacet.cc | 8 +- .../solids/specific/src/G4VTwistSurface.cc | 37 +- .../solids/specific/src/G4VTwistedFaceted.cc | 37 +- source/geometry/volumes/History | 7 +- .../volumes/include/G4AssemblyTriplet.hh | 2 +- .../volumes/include/G4AssemblyTriplet.icc | 2 +- .../volumes/include/G4AssemblyVolume.hh | 2 +- .../volumes/include/G4AssemblyVolume.icc | 2 +- source/geometry/volumes/include/G4GRSSolid.hh | 2 +- .../geometry/volumes/include/G4GRSSolid.icc | 2 +- .../volumes/include/G4GRSSolidHandle.hh | 2 +- .../geometry/volumes/include/G4GRSVolume.hh | 2 +- .../geometry/volumes/include/G4GRSVolume.icc | 2 +- .../volumes/include/G4GRSVolumeHandle.hh | 2 +- .../volumes/include/G4LogicalBorderSurface.hh | 2 +- .../include/G4LogicalBorderSurface.icc | 2 +- .../volumes/include/G4LogicalSkinSurface.hh | 2 +- .../volumes/include/G4LogicalSkinSurface.icc | 2 +- .../volumes/include/G4NavigationHistory.hh | 2 +- .../volumes/include/G4NavigationHistory.icc | 2 +- .../volumes/include/G4NavigationLevel.hh | 2 +- .../volumes/include/G4NavigationLevel.icc | 2 +- .../volumes/include/G4NavigationLevelRep.hh | 2 +- .../volumes/include/G4NavigationLevelRep.icc | 2 +- .../volumes/include/G4PVParameterised.hh | 2 +- .../geometry/volumes/include/G4PVPlacement.hh | 2 +- .../geometry/volumes/include/G4PVReplica.hh | 2 +- .../volumes/include/G4ReflectionFactory.hh | 2 +- .../volumes/include/G4TouchableHistory.hh | 2 +- .../volumes/include/G4TouchableHistory.icc | 2 +- .../include/G4TouchableHistoryHandle.hh | 2 +- .../geometry/volumes/src/G4AssemblyVolume.cc | 2 +- source/geometry/volumes/src/G4GRSSolid.cc | 2 +- source/geometry/volumes/src/G4GRSVolume.cc | 2 +- .../volumes/src/G4LogicalBorderSurface.cc | 2 +- .../volumes/src/G4LogicalSkinSurface.cc | 2 +- .../volumes/src/G4NavigationHistory.cc | 2 +- .../geometry/volumes/src/G4NavigationLevel.cc | 2 +- .../volumes/src/G4NavigationLevelRep.cc | 2 +- .../geometry/volumes/src/G4PVParameterised.cc | 2 +- source/geometry/volumes/src/G4PVPlacement.cc | 2 +- source/geometry/volumes/src/G4PVReplica.cc | 2 +- .../volumes/src/G4ReflectionFactory.cc | 10 +- .../volumes/src/G4TouchableHistory.cc | 2 +- .../HEPGeometry/include/G4LorentzRotation.hh | 2 +- .../HEPGeometry/include/G4LorentzVector.hh | 2 +- .../global/HEPGeometry/include/G4Normal3D.hh | 2 +- .../global/HEPGeometry/include/G4Plane3D.hh | 2 +- .../global/HEPGeometry/include/G4Point3D.hh | 2 +- .../HEPGeometry/include/G4Transform3D.hh | 2 +- .../global/HEPGeometry/include/G4Vector3D.hh | 2 +- source/global/HEPGeometry/include/geomdefs.hh | 15 +- .../include/G4AnalyticalPolSolver.hh | 2 +- .../include/G4ChebyshevApproximation.hh | 2 +- .../include/G4DataInterpolation.hh | 2 +- .../HEPNumerics/include/G4GaussChebyshevQ.hh | 2 +- .../HEPNumerics/include/G4GaussHermiteQ.hh | 2 +- .../HEPNumerics/include/G4GaussJacobiQ.hh | 2 +- .../HEPNumerics/include/G4GaussLaguerreQ.hh | 2 +- .../HEPNumerics/include/G4GaussLegendreQ.hh | 2 +- .../HEPNumerics/include/G4Integrator.hh | 2 +- .../HEPNumerics/include/G4Integrator.icc | 2 +- .../include/G4JTPolynomialSolver.hh | 2 +- .../HEPNumerics/include/G4PolynomialSolver.hh | 2 +- .../include/G4PolynomialSolver.icc | 2 +- .../include/G4SimpleIntegration.hh | 2 +- .../HEPNumerics/include/G4SimplexDownhill.hh | 111 + .../HEPNumerics/include/G4SimplexDownhill.icc | 443 + .../include/G4VGaussianQuadrature.hh | 2 +- .../HEPNumerics/src/G4AnalyticalPolSolver.cc | 2 +- .../src/G4ChebyshevApproximation.cc | 2 +- .../HEPNumerics/src/G4DataInterpolation.cc | 2 +- .../HEPNumerics/src/G4GaussChebyshevQ.cc | 2 +- .../global/HEPNumerics/src/G4GaussHermiteQ.cc | 2 +- .../global/HEPNumerics/src/G4GaussJacobiQ.cc | 2 +- .../HEPNumerics/src/G4GaussLaguerreQ.cc | 2 +- .../HEPNumerics/src/G4GaussLegendreQ.cc | 2 +- .../HEPNumerics/src/G4JTPolynomialSolver.cc | 2 +- .../HEPNumerics/src/G4SimpleIntegration.cc | 2 +- .../HEPNumerics/src/G4VGaussianQuadrature.cc | 2 +- source/global/HEPRandom/include/G4Poisson.hh | 2 +- .../HEPRandom/include/G4RandomDirection.hh | 2 +- source/global/HEPRandom/include/Randomize.hh | 2 +- source/global/History | 43 +- .../global/management/include/G4Allocator.hh | 2 +- .../management/include/G4AllocatorPool.hh | 2 +- .../management/include/G4ApplicationState.hh | 2 +- .../global/management/include/G4DataVector.hh | 2 +- .../management/include/G4DataVector.icc | 2 +- .../include/G4ErrorPropagatorData.hh | 117 +- .../include/G4ErrorPropagatorData.icc} | 59 +- .../management/include/G4ExceptionSeverity.hh | 2 +- .../management/include/G4FPEDetection.hh | 2 +- .../global/management/include/G4FastVector.hh | 2 +- .../management/include/G4GeometryTolerance.hh | 95 + .../include/G4LPhysicsFreeVector.hh | 2 +- .../include/G4LPhysicsFreeVector.icc | 2 +- .../management/include/G4OrderedTable.hh | 2 +- .../management/include/G4PhysicsFreeVector.hh | 2 +- .../include/G4PhysicsLinearVector.hh | 2 +- .../management/include/G4PhysicsLnVector.hh | 2 +- .../management/include/G4PhysicsLogVector.hh | 2 +- .../include/G4PhysicsOrderedFreeVector.hh | 2 +- .../include/G4PhysicsOrderedFreeVector.icc | 2 +- .../management/include/G4PhysicsTable.hh | 2 +- .../management/include/G4PhysicsTable.icc | 2 +- .../management/include/G4PhysicsVector.hh | 2 +- .../management/include/G4PhysicsVector.icc | 2 +- .../management/include/G4PhysicsVectorType.hh | 2 +- .../include/G4ReferenceCountedHandle.hh | 2 +- .../management/include/G4RotationMatrix.hh | 2 +- source/global/management/include/G4SIunits.hh | 2 +- .../global/management/include/G4SliceTimer.hh | 2 +- .../management/include/G4SliceTimer.icc | 2 +- .../management/include/G4StateManager.hh | 2 +- .../management/include/G4StateManager.icc | 2 +- source/global/management/include/G4String.hh | 2 +- source/global/management/include/G4String.icc | 2 +- .../management/include/G4ThreeVector.hh | 2 +- source/global/management/include/G4Timer.hh | 2 +- source/global/management/include/G4Timer.icc | 2 +- .../global/management/include/G4Tokenizer.hh | 2 +- .../global/management/include/G4TwoVector.hh | 2 +- source/global/management/include/G4Types.hh | 2 +- .../global/management/include/G4UnitsTable.hh | 2 +- .../management/include/G4UnitsTable.icc | 2 +- .../global/management/include/G4UserLimits.hh | 2 +- .../management/include/G4UserLimits.icc | 2 +- .../management/include/G4VExceptionHandler.hh | 2 +- .../global/management/include/G4VNotifier.hh | 2 +- .../management/include/G4VStateDependent.hh | 2 +- source/global/management/include/G4Version.hh | 12 +- .../management/include/G4coutDestination.hh | 2 +- source/global/management/include/G4ios.hh | 2 +- .../management/include/G4strstreambuf.hh | 2 +- .../management/include/G4strstreambuf.icc | 2 +- source/global/management/include/globals.hh | 2 +- source/global/management/include/templates.hh | 2 +- .../global/management/src/G4AllocatorPool.cc | 2 +- source/global/management/src/G4DataVector.cc | 2 +- .../management/src/G4ErrorPropagatorData.cc} | 52 +- source/global/management/src/G4Exception.cc | 2 +- .../management/src/G4GeometryTolerance.cc | 122 + .../management/src/G4LPhysicsFreeVector.cc | 16 +- .../global/management/src/G4OrderedTable.cc | 2 +- .../management/src/G4PhysicsFreeVector.cc | 2 +- .../management/src/G4PhysicsLinearVector.cc | 2 +- .../management/src/G4PhysicsLnVector.cc | 2 +- .../management/src/G4PhysicsLogVector.cc | 2 +- .../src/G4PhysicsOrderedFreeVector.cc | 2 +- .../global/management/src/G4PhysicsTable.cc | 2 +- .../global/management/src/G4PhysicsVector.cc | 2 +- source/global/management/src/G4SliceTimer.cc | 2 +- .../global/management/src/G4StateManager.cc | 2 +- source/global/management/src/G4Timer.cc | 2 +- source/global/management/src/G4UnitsTable.cc | 2 +- .../management/src/G4VExceptionHandler.cc | 2 +- source/global/management/src/G4VNotifier.cc | 2 +- .../management/src/G4VStateDependent.cc | 2 +- .../management/src/G4coutDestination.cc | 2 +- source/global/management/src/G4ios.cc | 2 +- source/graphics_reps/History | 13 +- source/graphics_reps/include/G4AttCheck.hh | 2 +- source/graphics_reps/include/G4AttDef.hh | 2 +- source/graphics_reps/include/G4AttDefStore.hh | 46 +- source/graphics_reps/include/G4AttDefT.hh | 2 +- source/graphics_reps/include/G4AttHolder.hh | 10 +- source/graphics_reps/include/G4AttUtils.hh | 2 +- source/graphics_reps/include/G4AttValue.hh | 2 +- source/graphics_reps/include/G4Circle.hh | 2 +- source/graphics_reps/include/G4Color.hh | 2 +- source/graphics_reps/include/G4Colour.hh | 2 +- .../include/G4ConversionFatalError.hh | 2 +- .../include/G4ConversionUtils.hh | 2 +- .../include/G4CreatorFactoryT.hh | 2 +- .../include/G4DimensionedDouble.hh | 2 +- .../include/G4DimensionedThreeVector.hh | 2 +- .../include/G4DimensionedType.hh | 2 +- source/graphics_reps/include/G4NURBS.hh | 2 +- source/graphics_reps/include/G4NURBSbox.hh | 2 +- .../graphics_reps/include/G4NURBScylinder.hh | 2 +- .../include/G4NURBShexahedron.hh | 2 +- source/graphics_reps/include/G4NURBStube.hh | 2 +- .../include/G4NURBStubesector.hh | 2 +- .../include/G4PlacedPolyhedron.hh | 2 +- source/graphics_reps/include/G4Point3DList.hh | 2 +- source/graphics_reps/include/G4Polyhedron.hh | 2 +- source/graphics_reps/include/G4Polyline.hh | 2 +- source/graphics_reps/include/G4Polymarker.hh | 2 +- source/graphics_reps/include/G4Polymarker.icc | 2 +- source/graphics_reps/include/G4Scale.hh | 2 +- source/graphics_reps/include/G4Scale.icc | 2 +- source/graphics_reps/include/G4SmartFilter.hh | 2 +- source/graphics_reps/include/G4Square.hh | 2 +- source/graphics_reps/include/G4Square.icc | 2 +- source/graphics_reps/include/G4Text.hh | 2 +- source/graphics_reps/include/G4Text.icc | 2 +- source/graphics_reps/include/G4TypeKey.hh | 2 +- source/graphics_reps/include/G4TypeKeyT.hh | 2 +- source/graphics_reps/include/G4VFilter.hh | 2 +- .../graphics_reps/include/G4VGraphicsScene.hh | 2 +- source/graphics_reps/include/G4VMarker.hh | 2 +- source/graphics_reps/include/G4VMarker.icc | 2 +- source/graphics_reps/include/G4VVisManager.hh | 2 +- .../graphics_reps/include/G4VisAttributes.hh | 2 +- .../graphics_reps/include/G4VisAttributes.icc | 2 +- source/graphics_reps/include/G4VisExtent.hh | 2 +- source/graphics_reps/include/G4Visible.hh | 2 +- source/graphics_reps/include/G4Visible.icc | 2 +- source/graphics_reps/include/HepPolyhedron.h | 2 +- source/graphics_reps/src/G4AttCheck.cc | 2 +- source/graphics_reps/src/G4AttDef.cc | 2 +- source/graphics_reps/src/G4AttDefStore.cc | 49 +- source/graphics_reps/src/G4AttHolder.cc | 2 +- source/graphics_reps/src/G4AttUtils.cc | 2 +- source/graphics_reps/src/G4Circle.cc | 2 +- source/graphics_reps/src/G4Colour.cc | 2 +- source/graphics_reps/src/G4NURBS.cc | 2 +- source/graphics_reps/src/G4NURBSbox.cc | 2 +- source/graphics_reps/src/G4NURBScylinder.cc | 2 +- source/graphics_reps/src/G4NURBShexahedron.cc | 2 +- source/graphics_reps/src/G4NURBStube.cc | 2 +- source/graphics_reps/src/G4NURBStubesector.cc | 2 +- .../graphics_reps/src/G4PlacedPolyhedron.cc | 2 +- source/graphics_reps/src/G4Point3DList.cc | 2 +- source/graphics_reps/src/G4Polyhedron.cc | 2 +- source/graphics_reps/src/G4Polyline.cc | 2 +- source/graphics_reps/src/G4Polymarker.cc | 2 +- source/graphics_reps/src/G4Scale.cc | 2 +- source/graphics_reps/src/G4Square.cc | 2 +- source/graphics_reps/src/G4Text.cc | 2 +- source/graphics_reps/src/G4VMarker.cc | 2 +- source/graphics_reps/src/G4VVisManager.cc | 2 +- source/graphics_reps/src/G4VisAttributes.cc | 2 +- source/graphics_reps/src/G4VisExtent.cc | 2 +- source/graphics_reps/src/G4Visible.cc | 2 +- source/graphics_reps/src/HepPolyhedron.cc | 2 +- source/intercoms/include/G4UIaliasList.hh | 2 +- source/intercoms/include/G4UIbatch.hh | 2 +- .../intercoms/include/G4UIcmdWith3Vector.hh | 2 +- .../include/G4UIcmdWith3VectorAndUnit.hh | 2 +- source/intercoms/include/G4UIcmdWithABool.hh | 2 +- .../intercoms/include/G4UIcmdWithADouble.hh | 2 +- .../include/G4UIcmdWithADoubleAndUnit.hh | 2 +- .../intercoms/include/G4UIcmdWithAString.hh | 2 +- .../intercoms/include/G4UIcmdWithAnInteger.hh | 2 +- .../include/G4UIcmdWithoutParameter.hh | 2 +- source/intercoms/include/G4UIcommand.hh | 2 +- source/intercoms/include/G4UIcommandStatus.hh | 2 +- source/intercoms/include/G4UIcommandTree.hh | 2 +- .../intercoms/include/G4UIcontrolMessenger.hh | 2 +- source/intercoms/include/G4UIdirectory.hh | 2 +- source/intercoms/include/G4UImanager.hh | 2 +- source/intercoms/include/G4UImessenger.hh | 2 +- source/intercoms/include/G4UIparameter.hh | 2 +- source/intercoms/include/G4UIsession.hh | 2 +- source/intercoms/include/G4UItokenNum.hh | 2 +- source/intercoms/include/G4UnitsMessenger.hh | 2 +- .../include/G4VFlavoredParallelWorld.hh | 2 +- .../include/G4VGlobalFastSimulationManager.hh | 2 +- source/intercoms/src/G4UIaliasList.cc | 2 +- source/intercoms/src/G4UIbatch.cc | 2 +- source/intercoms/src/G4UIcmdWith3Vector.cc | 2 +- .../src/G4UIcmdWith3VectorAndUnit.cc | 2 +- source/intercoms/src/G4UIcmdWithABool.cc | 2 +- source/intercoms/src/G4UIcmdWithADouble.cc | 2 +- .../src/G4UIcmdWithADoubleAndUnit.cc | 2 +- source/intercoms/src/G4UIcmdWithAString.cc | 2 +- source/intercoms/src/G4UIcmdWithAnInteger.cc | 2 +- .../intercoms/src/G4UIcmdWithoutParameter.cc | 2 +- source/intercoms/src/G4UIcommand.cc | 2 +- source/intercoms/src/G4UIcommandTree.cc | 2 +- source/intercoms/src/G4UIcontrolMessenger.cc | 2 +- source/intercoms/src/G4UIdirectory.cc | 2 +- source/intercoms/src/G4UImanager.cc | 2 +- source/intercoms/src/G4UImessenger.cc | 2 +- source/intercoms/src/G4UIparameter.cc | 2 +- source/intercoms/src/G4UIsession.cc | 2 +- source/intercoms/src/G4UnitsMessenger.cc | 2 +- .../src/G4VGlobalFastSimulationManager.cc | 2 +- source/interfaces/GAG/include/G4UIGAG.hh | 2 +- .../interfaces/GAG/include/G4UIGainServer.hh | 2 +- source/interfaces/GAG/src/G4UIGAG.cc | 2 +- source/interfaces/GAG/src/G4UIGainServer.cc | 2 +- source/interfaces/History | 14 +- source/interfaces/basic/GNUmakefile | 29 +- .../basic/include/G4UIArrayString.hh | 2 +- source/interfaces/basic/include/G4UIWin32.hh | 2 +- source/interfaces/basic/include/G4UIXaw.hh | 2 +- source/interfaces/basic/include/G4UIXm.hh | 2 +- source/interfaces/basic/include/G4UIcsh.hh | 2 +- source/interfaces/basic/include/G4UItcsh.hh | 12 +- .../interfaces/basic/include/G4UIterminal.hh | 27 +- source/interfaces/basic/include/G4VUIshell.hh | 14 +- .../interfaces/basic/src/G4UIArrayString.cc | 2 +- source/interfaces/basic/src/G4UIWin32.cc | 2 +- source/interfaces/basic/src/G4UIXaw.cc | 2 +- source/interfaces/basic/src/G4UIXm.cc | 2 +- source/interfaces/basic/src/G4UIcsh.cc | 2 +- source/interfaces/basic/src/G4UItcsh.cc | 23 +- source/interfaces/basic/src/G4UIterminal.cc | 66 +- source/interfaces/basic/src/G4VUIshell.cc | 16 +- .../common/include/G4VBasicShell.hh | 2 +- .../common/include/G4VInteractorManager.hh | 2 +- source/interfaces/common/include/G4Win32.hh | 2 +- source/interfaces/common/include/G4Xt.hh | 2 +- source/interfaces/common/src/G4VBasicShell.cc | 2 +- .../common/src/G4VInteractorManager.cc | 2 +- source/interfaces/common/src/G4Win32.cc | 2 +- source/interfaces/common/src/G4Xt.cc | 2 +- source/materials/History | 24 +- source/materials/include/G4AtomicShells.hh | 2 +- source/materials/include/G4Element.hh | 2 +- source/materials/include/G4ElementTable.hh | 2 +- source/materials/include/G4ElementVector.hh | 2 +- source/materials/include/G4IonisParamElm.hh | 2 +- source/materials/include/G4IonisParamMat.hh | 2 +- source/materials/include/G4Isotope.hh | 2 +- source/materials/include/G4IsotopeVector.hh | 2 +- source/materials/include/G4MPVEntry.hh | 2 +- source/materials/include/G4Material.hh | 2 +- .../include/G4MaterialPropertiesTable.hh | 2 +- .../include/G4MaterialPropertyVector.hh | 2 +- source/materials/include/G4MaterialTable.hh | 2 +- .../materials/include/G4NistElementBuilder.hh | 40 +- source/materials/include/G4NistManager.hh | 36 +- .../include/G4NistMaterialBuilder.hh | 2 +- source/materials/include/G4NistMessenger.hh | 8 +- source/materials/include/G4OpticalSurface.hh | 2 +- source/materials/include/G4SandiaTable.hh | 2 +- .../materials/include/G4StaticSandiaData.hh | 2 +- source/materials/include/G4SurfaceProperty.hh | 19 +- source/materials/src/G4AtomicShells.cc | 2 +- source/materials/src/G4Element.cc | 2 +- source/materials/src/G4IonisParamElm.cc | 2 +- source/materials/src/G4IonisParamMat.cc | 2 +- source/materials/src/G4Isotope.cc | 2 +- source/materials/src/G4MPVEntry.cc | 2 +- source/materials/src/G4Material.cc | 2 +- .../src/G4MaterialPropertiesTable.cc | 14 +- .../materials/src/G4MaterialPropertyVector.cc | 2 +- source/materials/src/G4NistElementBuilder.cc | 6 +- source/materials/src/G4NistManager.cc | 4 +- source/materials/src/G4NistMaterialBuilder.cc | 2 +- source/materials/src/G4NistMessenger.cc | 12 +- source/materials/src/G4OpticalSurface.cc | 2 +- source/materials/src/G4SandiaTable.cc | 17 +- source/materials/src/G4SurfaceProperty.cc | 96 + .../gflash/include/G4GFlashSpot.hh | 2 +- .../include/G4VGFlashSensitiveDetector.hh | 2 +- .../gflash/include/GFlashEnergySpot.hh | 2 +- .../gflash/include/GFlashHitMaker.hh | 2 +- .../GFlashHomoShowerParameterisation.hh | 2 +- .../gflash/include/GFlashParticleBounds.hh | 2 +- .../GFlashSamplingShowerParameterisation.hh | 2 +- .../include/GFlashSamplingShowerTuning.hh | 2 +- .../gflash/include/GFlashShowerModel.hh | 2 +- .../include/GFlashShowerModelMessenger.hh | 2 +- .../gflash/include/GVFlashHomoShowerTuning.hh | 2 +- .../include/GVFlashShowerParameterisation.hh | 2 +- .../parameterisations/gflash/include/Gamma.hh | 2 +- .../gflash/src/GFlashEnergySpot.cc | 2 +- .../gflash/src/GFlashHitMaker.cc | 2 +- .../src/GFlashHomoShowerParameterisation.cc | 2 +- .../gflash/src/GFlashParticleBounds.cc | 2 +- .../GFlashSamplingShowerParameterisation.cc | 2 +- .../gflash/src/GFlashShowerModel.cc | 2 +- .../gflash/src/GFlashShowerModelMessenger.cc | 2 +- .../src/GVFlashShowerParameterisation.cc | 2 +- source/parameterisations/gflash/src/Gamma.cc | 2 +- source/particles/History | 20 +- .../bosons/include/G4BosonConstructor.hh | 2 +- .../bosons/include/G4ChargedGeantino.hh | 2 +- source/particles/bosons/include/G4Gamma.hh | 2 +- source/particles/bosons/include/G4Geantino.hh | 2 +- .../bosons/include/G4OpticalPhoton.hh | 2 +- .../bosons/include/G4UnknownParticle.hh | 2 +- .../bosons/src/G4BosonConstructor.cc | 2 +- .../particles/bosons/src/G4ChargedGeantino.cc | 2 +- source/particles/bosons/src/G4Gamma.cc | 2 +- source/particles/bosons/src/G4Geantino.cc | 2 +- .../particles/bosons/src/G4OpticalPhoton.cc | 2 +- .../particles/bosons/src/G4UnknownParticle.cc | 2 +- .../hadrons/barions/include/G4AntiLambda.hh | 2 +- .../barions/include/G4AntiLambdacPlus.hh | 2 +- .../hadrons/barions/include/G4AntiNeutron.hh | 2 +- .../barions/include/G4AntiOmegaMinus.hh | 2 +- .../barions/include/G4AntiOmegacZero.hh | 2 +- .../hadrons/barions/include/G4AntiProton.hh | 2 +- .../barions/include/G4AntiSigmaMinus.hh | 2 +- .../barions/include/G4AntiSigmaPlus.hh | 2 +- .../barions/include/G4AntiSigmaZero.hh | 2 +- .../barions/include/G4AntiSigmacPlus.hh | 2 +- .../barions/include/G4AntiSigmacPlusPlus.hh | 2 +- .../barions/include/G4AntiSigmacZero.hh | 2 +- .../hadrons/barions/include/G4AntiXiMinus.hh | 2 +- .../hadrons/barions/include/G4AntiXiZero.hh | 2 +- .../hadrons/barions/include/G4AntiXicPlus.hh | 2 +- .../hadrons/barions/include/G4AntiXicZero.hh | 2 +- .../barions/include/G4BaryonConstructor.hh | 2 +- .../hadrons/barions/include/G4Lambda.hh | 2 +- .../hadrons/barions/include/G4LambdacPlus.hh | 2 +- .../hadrons/barions/include/G4Neutron.hh | 2 +- .../hadrons/barions/include/G4OmegaMinus.hh | 2 +- .../hadrons/barions/include/G4OmegacZero.hh | 2 +- .../hadrons/barions/include/G4Proton.hh | 2 +- .../hadrons/barions/include/G4SigmaMinus.hh | 2 +- .../hadrons/barions/include/G4SigmaPlus.hh | 2 +- .../hadrons/barions/include/G4SigmaZero.hh | 2 +- .../hadrons/barions/include/G4SigmacPlus.hh | 2 +- .../barions/include/G4SigmacPlusPlus.hh | 2 +- .../hadrons/barions/include/G4SigmacZero.hh | 2 +- .../hadrons/barions/include/G4XiMinus.hh | 2 +- .../hadrons/barions/include/G4XiZero.hh | 2 +- .../hadrons/barions/include/G4XicPlus.hh | 2 +- .../hadrons/barions/include/G4XicZero.hh | 2 +- .../hadrons/barions/src/G4AntiLambda.cc | 39 +- .../hadrons/barions/src/G4AntiLambdacPlus.cc | 2 +- .../hadrons/barions/src/G4AntiNeutron.cc | 7 +- .../hadrons/barions/src/G4AntiOmegaMinus.cc | 45 +- .../hadrons/barions/src/G4AntiOmegacZero.cc | 2 +- .../hadrons/barions/src/G4AntiProton.cc | 7 +- .../hadrons/barions/src/G4AntiSigmaMinus.cc | 33 +- .../hadrons/barions/src/G4AntiSigmaPlus.cc | 39 +- .../hadrons/barions/src/G4AntiSigmaZero.cc | 29 +- .../hadrons/barions/src/G4AntiSigmacPlus.cc | 2 +- .../barions/src/G4AntiSigmacPlusPlus.cc | 2 +- .../hadrons/barions/src/G4AntiSigmacZero.cc | 2 +- .../hadrons/barions/src/G4AntiXiMinus.cc | 33 +- .../hadrons/barions/src/G4AntiXiZero.cc | 35 +- .../hadrons/barions/src/G4AntiXicPlus.cc | 2 +- .../hadrons/barions/src/G4AntiXicZero.cc | 2 +- .../barions/src/G4BaryonConstructor.cc | 2 +- .../particles/hadrons/barions/src/G4Lambda.cc | 43 +- .../hadrons/barions/src/G4LambdacPlus.cc | 2 +- .../hadrons/barions/src/G4Neutron.cc | 7 +- .../hadrons/barions/src/G4OmegaMinus.cc | 43 +- .../hadrons/barions/src/G4OmegacZero.cc | 2 +- .../particles/hadrons/barions/src/G4Proton.cc | 8 +- .../hadrons/barions/src/G4SigmaMinus.cc | 37 +- .../hadrons/barions/src/G4SigmaPlus.cc | 39 +- .../hadrons/barions/src/G4SigmaZero.cc | 27 +- .../hadrons/barions/src/G4SigmacPlus.cc | 2 +- .../hadrons/barions/src/G4SigmacPlusPlus.cc | 2 +- .../hadrons/barions/src/G4SigmacZero.cc | 2 +- .../hadrons/barions/src/G4XiMinus.cc | 33 +- .../particles/hadrons/barions/src/G4XiZero.cc | 35 +- .../hadrons/barions/src/G4XicPlus.cc | 2 +- .../hadrons/barions/src/G4XicZero.cc | 2 +- .../particles/hadrons/ions/include/G4Alpha.hh | 2 +- .../hadrons/ions/include/G4Deuteron.hh | 2 +- .../hadrons/ions/include/G4GenericIon.hh | 2 +- .../particles/hadrons/ions/include/G4He3.hh | 2 +- .../hadrons/ions/include/G4IonConstructor.hh | 2 +- .../hadrons/ions/include/G4Triton.hh | 2 +- source/particles/hadrons/ions/src/G4Alpha.cc | 5 +- .../particles/hadrons/ions/src/G4Deuteron.cc | 11 +- .../hadrons/ions/src/G4GenericIon.cc | 2 +- source/particles/hadrons/ions/src/G4He3.cc | 11 +- .../hadrons/ions/src/G4IonConstructor.cc | 2 +- source/particles/hadrons/ions/src/G4Triton.cc | 13 +- .../mesons/include/G4AntiBMesonZero.hh | 2 +- .../mesons/include/G4AntiBsMesonZero.hh | 2 +- .../mesons/include/G4AntiDMesonZero.hh | 2 +- .../hadrons/mesons/include/G4AntiKaonZero.hh | 2 +- .../hadrons/mesons/include/G4BMesonMinus.hh | 2 +- .../hadrons/mesons/include/G4BMesonPlus.hh | 2 +- .../hadrons/mesons/include/G4BMesonZero.hh | 2 +- .../hadrons/mesons/include/G4BsMesonZero.hh | 2 +- .../hadrons/mesons/include/G4DMesonMinus.hh | 2 +- .../hadrons/mesons/include/G4DMesonPlus.hh | 2 +- .../hadrons/mesons/include/G4DMesonZero.hh | 2 +- .../hadrons/mesons/include/G4DsMesonMinus.hh | 2 +- .../hadrons/mesons/include/G4DsMesonPlus.hh | 2 +- .../particles/hadrons/mesons/include/G4Eta.hh | 2 +- .../hadrons/mesons/include/G4EtaPrime.hh | 2 +- .../hadrons/mesons/include/G4JPsi.hh | 2 +- .../hadrons/mesons/include/G4KaonMinus.hh | 2 +- .../hadrons/mesons/include/G4KaonPlus.hh | 2 +- .../hadrons/mesons/include/G4KaonZero.hh | 2 +- .../hadrons/mesons/include/G4KaonZeroLong.hh | 2 +- .../hadrons/mesons/include/G4KaonZeroShort.hh | 2 +- .../mesons/include/G4MesonConstructor.hh | 2 +- .../hadrons/mesons/include/G4PionMinus.hh | 2 +- .../hadrons/mesons/include/G4PionPlus.hh | 2 +- .../hadrons/mesons/include/G4PionZero.hh | 2 +- .../hadrons/mesons/src/G4AntiBMesonZero.cc | 2 +- .../hadrons/mesons/src/G4AntiBsMesonZero.cc | 2 +- .../hadrons/mesons/src/G4AntiDMesonZero.cc | 2 +- .../hadrons/mesons/src/G4AntiKaonZero.cc | 2 +- .../hadrons/mesons/src/G4BMesonMinus.cc | 2 +- .../hadrons/mesons/src/G4BMesonPlus.cc | 2 +- .../hadrons/mesons/src/G4BMesonZero.cc | 2 +- .../hadrons/mesons/src/G4BsMesonZero.cc | 2 +- .../hadrons/mesons/src/G4DMesonMinus.cc | 2 +- .../hadrons/mesons/src/G4DMesonPlus.cc | 2 +- .../hadrons/mesons/src/G4DMesonZero.cc | 2 +- .../hadrons/mesons/src/G4DsMesonMinus.cc | 2 +- .../hadrons/mesons/src/G4DsMesonPlus.cc | 2 +- source/particles/hadrons/mesons/src/G4Eta.cc | 2 +- .../hadrons/mesons/src/G4EtaPrime.cc | 2 +- source/particles/hadrons/mesons/src/G4JPsi.cc | 2 +- .../hadrons/mesons/src/G4KaonMinus.cc | 2 +- .../hadrons/mesons/src/G4KaonPlus.cc | 2 +- .../hadrons/mesons/src/G4KaonZero.cc | 2 +- .../hadrons/mesons/src/G4KaonZeroLong.cc | 2 +- .../hadrons/mesons/src/G4KaonZeroShort.cc | 2 +- .../hadrons/mesons/src/G4MesonConstructor.cc | 2 +- .../hadrons/mesons/src/G4PionMinus.cc | 2 +- .../hadrons/mesons/src/G4PionPlus.cc | 2 +- .../hadrons/mesons/src/G4PionZero.cc | 2 +- .../leptons/include/G4AntiNeutrinoE.hh | 2 +- .../leptons/include/G4AntiNeutrinoMu.hh | 2 +- .../leptons/include/G4AntiNeutrinoTau.hh | 2 +- .../particles/leptons/include/G4Electron.hh | 2 +- .../leptons/include/G4LeptonConstructor.hh | 2 +- .../particles/leptons/include/G4MuonMinus.hh | 2 +- .../particles/leptons/include/G4MuonPlus.hh | 2 +- .../particles/leptons/include/G4NeutrinoE.hh | 2 +- .../particles/leptons/include/G4NeutrinoMu.hh | 2 +- .../leptons/include/G4NeutrinoTau.hh | 2 +- .../particles/leptons/include/G4Positron.hh | 2 +- .../particles/leptons/include/G4TauMinus.hh | 2 +- source/particles/leptons/include/G4TauPlus.hh | 2 +- .../particles/leptons/src/G4AntiNeutrinoE.cc | 2 +- .../particles/leptons/src/G4AntiNeutrinoMu.cc | 2 +- .../leptons/src/G4AntiNeutrinoTau.cc | 2 +- source/particles/leptons/src/G4Electron.cc | 9 +- .../leptons/src/G4LeptonConstructor.cc | 2 +- source/particles/leptons/src/G4MuonMinus.cc | 9 +- source/particles/leptons/src/G4MuonPlus.cc | 9 +- source/particles/leptons/src/G4NeutrinoE.cc | 2 +- source/particles/leptons/src/G4NeutrinoMu.cc | 2 +- source/particles/leptons/src/G4NeutrinoTau.cc | 2 +- source/particles/leptons/src/G4Positron.cc | 10 +- source/particles/leptons/src/G4TauMinus.cc | 9 +- source/particles/leptons/src/G4TauPlus.cc | 8 +- .../include/G4DalitzDecayChannel.hh | 2 +- .../management/include/G4DecayProducts.hh | 2 +- .../management/include/G4DecayTable.hh | 2 +- .../include/G4DecayTableMessenger.hh | 2 +- .../management/include/G4DynamicParticle.hh | 21 +- .../management/include/G4DynamicParticle.icc | 30 +- .../include/G4DynamicParticleFastVector.hh | 2 +- .../management/include/G4ElectronOccupancy.hh | 2 +- .../management/include/G4IonTable.hh | 11 +- source/particles/management/include/G4Ions.hh | 4 +- .../management/include/G4IsotopeProperty.hh | 34 +- .../management/include/G4KL3DecayChannel.hh | 2 +- .../management/include/G4MuonDecayChannel.hh | 2 +- .../include/G4NeutronBetaDecayChannel.hh | 2 +- .../management/include/G4NucleiProperties.hh | 2 +- .../include/G4NucleiPropertiesTable.hh | 2 +- .../G4NucleiPropertiesTheoreticalTable.hh | 2 +- .../management/include/G4PDGCodeChecker.hh | 8 +- .../include/G4ParticleDefinition.hh | 15 +- .../include/G4ParticleDefinition.icc | 12 +- .../management/include/G4ParticleMessenger.hh | 2 +- .../management/include/G4ParticleMomentum.hh | 2 +- .../include/G4ParticlePropertyData.hh | 15 +- .../include/G4ParticlePropertyData.icc | 11 +- .../include/G4ParticlePropertyMessenger.hh | 2 +- .../include/G4ParticlePropertyTable.hh | 2 +- .../management/include/G4ParticleTable.hh | 2 +- .../management/include/G4ParticleTable.icc | 2 +- .../include/G4ParticleTableIterator.hh | 2 +- .../management/include/G4ParticleWithCuts.hh | 2 +- .../include/G4PhaseSpaceDecayChannel.hh | 2 +- .../management/include/G4PrimaryParticle.hh | 2 +- .../management/include/G4PrimaryVertex.hh | 2 +- .../management/include/G4ShortLivedTable.hh | 2 +- .../include/G4TauLeptonicDecayChannel.hh | 2 +- .../management/include/G4VDecayChannel.hh | 2 +- .../management/include/G4VIsotopeTable.hh | 2 +- .../G4VUserPrimaryParticleInformation.hh | 2 +- .../G4VUserPrimaryVertexInformation.hh | 2 +- .../management/src/G4DalitzDecayChannel.cc | 2 +- .../management/src/G4DecayProducts.cc | 2 +- .../particles/management/src/G4DecayTable.cc | 2 +- .../management/src/G4DecayTableMessenger.cc | 2 +- .../management/src/G4DynamicParticle.cc | 17 +- .../management/src/G4ElectronOccupancy.cc | 2 +- source/particles/management/src/G4IonTable.cc | 144 +- source/particles/management/src/G4Ions.cc | 4 +- .../management/src/G4IsotopeProperty.cc | 47 +- .../management/src/G4KL3DecayChannel.cc | 2 +- .../management/src/G4MuonDecayChannel.cc | 2 +- .../src/G4NeutronBetaDecayChannel.cc | 2 +- .../management/src/G4NucleiProperties.cc | 2 +- .../src/G4NucleiPropertiesTableA.cc | 2 +- .../src/G4NucleiPropertiesTableB.cc | 2 +- .../G4NucleiPropertiesTheoreticalTableA.cc | 2 +- .../management/src/G4PDGCodeChecker.cc | 2 +- .../management/src/G4ParticleDefinition.cc | 13 +- .../management/src/G4ParticleMessenger.cc | 18 +- .../management/src/G4ParticlePropertyData.cc | 51 +- .../src/G4ParticlePropertyMessenger.cc | 2 +- .../management/src/G4ParticlePropertyTable.cc | 7 +- .../management/src/G4ParticleTable.cc | 2 +- .../src/G4PhaseSpaceDecayChannel.cc | 2 +- .../management/src/G4PrimaryParticle.cc | 2 +- .../management/src/G4PrimaryVertex.cc | 2 +- .../management/src/G4ShortLivedTable.cc | 2 +- .../src/G4TauLeptonicDecayChannel.cc | 2 +- .../management/src/G4VDecayChannel.cc | 2 +- .../src/G4VUserPrimaryParticleInformation.cc | 2 +- .../src/G4VUserPrimaryVertexInformation.cc | 2 +- .../shortlived/include/G4DiQuarks.hh | 2 +- .../include/G4ExcitedBaryonConstructor.hh | 2 +- .../shortlived/include/G4ExcitedBaryons.hh | 2 +- .../include/G4ExcitedDeltaConstructor.hh | 2 +- .../include/G4ExcitedLambdaConstructor.hh | 2 +- .../include/G4ExcitedMesonConstructor.hh | 2 +- .../shortlived/include/G4ExcitedMesons.hh | 2 +- .../include/G4ExcitedNucleonConstructor.hh | 2 +- .../include/G4ExcitedSigmaConstructor.hh | 2 +- .../include/G4ExcitedXiConstructor.hh | 2 +- .../particles/shortlived/include/G4Gluons.hh | 2 +- .../particles/shortlived/include/G4Quarks.hh | 2 +- .../include/G4ShortLivedConstructor.hh | 2 +- .../include/G4VShortLivedParticle.hh | 2 +- source/particles/shortlived/src/G4DiQuarks.cc | 2 +- .../src/G4ExcitedBaryonConstructor.cc | 2 +- .../shortlived/src/G4ExcitedBaryons.cc | 2 +- .../src/G4ExcitedDeltaConstructor.cc | 2 +- .../src/G4ExcitedLambdaConstructor.cc | 2 +- .../src/G4ExcitedMesonConstructor.cc | 2 +- .../shortlived/src/G4ExcitedMesons.cc | 2 +- .../src/G4ExcitedNucleonConstructor.cc | 2 +- .../src/G4ExcitedSigmaConstructor.cc | 2 +- .../shortlived/src/G4ExcitedXiConstructor.cc | 2 +- source/particles/shortlived/src/G4Gluons.cc | 2 +- source/particles/shortlived/src/G4Quarks.cc | 2 +- .../shortlived/src/G4ShortLivedConstructor.cc | 2 +- .../shortlived/src/G4VShortLivedParticle.cc | 2 +- .../utils/G4IsotopeMagneticMoment.table | 912 ++ .../utils/include/G4HtmlPPReporter.hh | 2 +- .../include/G4IsotopeMagneticMomentTable.hh | 118 + .../utils/include/G4SimplePPReporter.hh | 2 +- .../utils/include/G4TextPPReporter.hh | 2 +- .../utils/include/G4TextPPRetriever.hh | 2 +- .../include/G4VParticlePropertyReporter.hh | 2 +- .../include/G4VParticlePropertyRetriever.hh | 2 +- .../particles/utils/src/G4HtmlPPReporter.cc | 13 +- .../utils/src/G4IsotopeMagneticMomentTable.cc | 203 + .../particles/utils/src/G4SimplePPReporter.cc | 2 +- .../particles/utils/src/G4TextPPReporter.cc | 2 +- .../particles/utils/src/G4TextPPRetriever.cc | 2 +- .../utils/src/G4VParticlePropertyReporter.cc | 2 +- source/physics_lists/History | 37 +- .../builders/include/G4DataQuestionaire.hh | 15 +- .../builders/include/G4DecayPhysics.hh | 2 +- .../builders/include/G4EmExtraPhysics.hh | 2 +- .../builders/include/G4EmMessenger.hh | 2 +- .../builders/include/G4EmStandardPhysics.hh | 15 +- ...cs71.hh => G4EmStandardPhysics_option1.hh} | 30 +- ...cs72.hh => G4EmStandardPhysics_option2.hh} | 30 +- .../builders/include/G4FTFCNeutronBuilder.hh | 4 +- .../builders/include/G4FTFCPiKBuilder.hh | 7 +- .../builders/include/G4FTFCProtonBuilder.hh | 5 +- .../builders/include/G4FTFPNeutronBuilder.hh | 4 +- .../builders/include/G4FTFPPiKBuilder.hh | 7 +- .../builders/include/G4FTFPProtonBuilder.hh | 7 +- .../include/G4HadronElasticPhysics.hh | 2 +- .../include/G4HadronHElasticPhysics.hh | 2 +- .../builders/include/G4HadronProcessStore.hh | 2 +- .../include/G4HadronQElasticPhysics.hh | 2 +- .../include/G4IonBinaryCascadePhysics.hh | 2 +- .../builders/include/G4IonPhysics.hh | 2 +- .../builders/include/G4LEPNeutronBuilder.hh | 2 +- .../builders/include/G4LEPPiKBuilder.hh | 2 +- .../builders/include/G4LEPProtonBuilder.hh | 2 +- .../builders/include/G4LHEPStoppingPhysics.hh | 2 +- .../builders/include/G4MiscLHEPBuilder.hh | 2 +- .../builders/include/G4NeutronBuilder.hh | 2 +- .../builders/include/G4NeutronTrackingCut.hh | 2 +- .../builders/include/G4PiKBuilder.hh | 2 +- .../builders/include/G4ProtonBuilder.hh | 2 +- .../include/G4QEmExtraPhysics.hh} | 58 +- .../builders/include/G4QStoppingPhysics.hh | 2 +- .../include/G4StoppingHadronBuilder.hh | 2 +- .../builders/include/G4VPiKBuilder.hh | 2 +- .../builders/include/G4VProtonBuilder.hh | 2 +- .../builders/src/G4DecayPhysics.cc | 2 +- .../builders/src/G4ElectroNuclearBuilder.cc | 2 +- .../builders/src/G4EmExtraPhysics.cc | 2 +- .../builders/src/G4EmMessenger.cc | 2 +- .../builders/src/G4EmStandardPhysics.cc | 17 +- ...cs71.cc => G4EmStandardPhysics_option1.cc} | 42 +- ...cs72.cc => G4EmStandardPhysics_option2.cc} | 34 +- .../builders/src/G4FTFCNeutronBuilder.cc | 98 +- .../builders/src/G4FTFCPiKBuilder.cc | 146 +- .../builders/src/G4FTFCProtonBuilder.cc | 12 +- .../builders/src/G4FTFPNeutronBuilder.cc | 100 +- .../builders/src/G4FTFPPiKBuilder.cc | 12 +- .../builders/src/G4FTFPProtonBuilder.cc | 84 +- .../builders/src/G4HadronElasticPhysics.cc | 2 +- .../builders/src/G4HadronHElasticPhysics.cc | 2 +- .../builders/src/G4HadronProcessStore.cc | 2 +- .../builders/src/G4HadronQElasticPhysics.cc | 2 +- .../builders/src/G4IonBinaryCascadePhysics.cc | 2 +- .../builders/src/G4IonPhysics.cc | 2 +- .../builders/src/G4LEADNeutronBuilder.cc | 61 - .../builders/src/G4LEADPiKBuilder.cc | 91 - .../builders/src/G4LEADProtonBuilder.cc | 57 - .../builders/src/G4LEPNeutronBuilder.cc | 2 +- .../builders/src/G4LEPPiKBuilder.cc | 2 +- .../builders/src/G4LEPProtonBuilder.cc | 2 +- .../builders/src/G4LHEPStoppingPhysics.cc | 2 +- .../builders/src/G4MiscLHEPBuilder.cc | 2 +- .../builders/src/G4NeutronBuilder.cc | 2 +- .../builders/src/G4NeutronTrackingCut.cc | 2 +- .../builders/src/G4PiKBuilder.cc | 2 +- .../builders/src/G4ProtonBuilder.cc | 2 +- .../src/G4QEmExtraPhysics.cc} | 110 +- .../builders/src/G4QStoppingPhysics.cc | 2 +- .../builders/src/G4StoppingHadronBuilder.cc | 2 +- source/physics_lists/lists/include/FTFC.hh | 2 +- source/physics_lists/lists/include/FTFC.icc | 12 +- source/physics_lists/lists/include/FTFP.hh | 2 +- source/physics_lists/lists/include/FTFP.icc | 12 +- .../physics_lists/lists/include/FTFP_EMV.hh | 2 +- .../physics_lists/lists/include/FTFP_EMV.icc | 9 +- .../lists/include/G4HadronInelasticQBBC.hh | 2 +- .../lists/include/G4HadronInelasticQLHEP.hh | 2 +- .../lists/include/HadronPhysicsFTFC.hh | 8 +- .../lists/include/HadronPhysicsFTFP.hh | 9 +- .../lists/include/HadronPhysicsLHEP.hh | 2 +- .../lists/include/HadronPhysicsLHEP_BERT.hh | 2 +- .../include/HadronPhysicsLHEP_BERT_HP.hh | 2 +- .../lists/include/HadronPhysicsLHEP_BIC.hh | 88 - .../lists/include/HadronPhysicsLHEP_BIC_HP.hh | 90 - .../lists/include/HadronPhysicsLHEP_EMV.hh | 2 +- .../lists/include/HadronPhysicsLHEP_LEAD.hh | 90 - .../include/HadronPhysicsLHEP_LEAD_HP.hh | 93 - .../lists/include/HadronPhysicsLHEP_PRECO.hh | 88 - .../include/HadronPhysicsLHEP_PRECO_HP.hh | 2 +- .../lists/include/HadronPhysicsQGSC.hh | 2 +- .../lists/include/HadronPhysicsQGSC_EFLOW.hh | 2 +- .../lists/include/HadronPhysicsQGSC_LEAD.hh | 95 - .../include/HadronPhysicsQGSC_LEAD_HP.hh | 98 - .../lists/include/HadronPhysicsQGSP.hh | 2 +- .../lists/include/HadronPhysicsQGSP_BERT.hh | 2 +- .../include/HadronPhysicsQGSP_BERT_HP.hh | 2 +- .../include/HadronPhysicsQGSP_BERT_TRV.hh | 2 +- .../lists/include/HadronPhysicsQGSP_BIC.hh | 2 +- .../lists/include/HadronPhysicsQGSP_BIC_HP.hh | 2 +- .../lists/include/HadronPhysicsQGSP_HP.hh | 95 - source/physics_lists/lists/include/LHEP.icc | 7 +- .../physics_lists/lists/include/LHEP_BERT.hh | 2 +- .../physics_lists/lists/include/LHEP_BERT.icc | 7 +- .../lists/include/LHEP_BERT_HP.icc | 7 +- .../physics_lists/lists/include/LHEP_BIC.icc | 127 - .../lists/include/LHEP_BIC_HP.icc | 127 - .../physics_lists/lists/include/LHEP_EMV.hh | 2 +- .../physics_lists/lists/include/LHEP_EMV.icc | 9 +- .../physics_lists/lists/include/LHEP_HP.icc | 125 - .../physics_lists/lists/include/LHEP_LEAD.icc | 120 - .../lists/include/LHEP_LEAD_HP.icc | 120 - .../physics_lists/lists/include/LHEP_PRECO.hh | 68 - .../lists/include/LHEP_PRECO.icc | 125 - .../lists/include/LHEP_PRECO_HP.hh | 2 +- .../lists/include/LHEP_PRECO_HP.icc | 7 +- .../lists/include/MinEkineCuts.hh | 2 +- source/physics_lists/lists/include/QBBC.hh | 2 +- source/physics_lists/lists/include/QBBC.icc | 29 +- source/physics_lists/lists/include/QGSC.icc | 7 +- .../lists/include/QGSC_EFLOW.icc | 7 +- .../physics_lists/lists/include/QGSC_EMV.icc | 9 +- .../physics_lists/lists/include/QGSC_LEAD.hh | 68 - .../physics_lists/lists/include/QGSC_LEAD.icc | 124 - .../lists/include/QGSC_LEAD_HP.icc | 118 - source/physics_lists/lists/include/QGSP.hh | 2 +- source/physics_lists/lists/include/QGSP.icc | 7 +- .../physics_lists/lists/include/QGSP_BERT.hh | 2 +- .../physics_lists/lists/include/QGSP_BERT.icc | 7 +- .../lists/include/QGSP_BERT_EMV.hh | 2 +- .../lists/include/QGSP_BERT_EMV.icc | 8 +- .../lists/include/QGSP_BERT_HP.hh | 2 +- .../lists/include/QGSP_BERT_HP.icc | 7 +- .../lists/include/QGSP_BERT_NQE.hh | 2 +- .../lists/include/QGSP_BERT_NQE.icc | 7 +- .../lists/include/QGSP_BERT_TRV.hh | 2 +- .../lists/include/QGSP_BERT_TRV.icc | 7 +- .../physics_lists/lists/include/QGSP_BIC.hh | 2 +- .../physics_lists/lists/include/QGSP_BIC.icc | 7 +- .../lists/include/QGSP_BIC_HP.hh | 2 +- .../lists/include/QGSP_BIC_HP.icc | 13 +- .../physics_lists/lists/include/QGSP_EMV.hh | 2 +- .../physics_lists/lists/include/QGSP_EMV.icc | 9 +- .../lists/include/QGSP_EMV_NQE.hh | 2 +- .../lists/include/QGSP_EMV_NQE.icc | 9 +- .../physics_lists/lists/include/QGSP_EMX.hh | 2 +- .../physics_lists/lists/include/QGSP_EMX.icc | 9 +- .../physics_lists/lists/include/QGSP_HP.icc | 129 - .../physics_lists/lists/include/QGSP_NQE.hh | 2 +- .../physics_lists/lists/include/QGSP_NQE.icc | 7 +- .../physics_lists/lists/include/QGSP_QEL.hh | 2 +- .../physics_lists/lists/include/QGSP_QEL.icc | 7 +- .../lists/src/G4HadronInelasticQBBC.cc | 2 +- .../lists/src/G4HadronInelasticQLHEP.cc | 2 +- .../lists/src/HadronPhysicsFTFC.cc | 23 +- .../lists/src/HadronPhysicsFTFP.cc | 23 +- .../lists/src/HadronPhysicsLHEP.cc | 2 +- .../lists/src/HadronPhysicsLHEP_BERT.cc | 2 +- .../lists/src/HadronPhysicsLHEP_BERT_HP.cc | 2 +- .../lists/src/HadronPhysicsLHEP_BIC.cc | 115 - .../lists/src/HadronPhysicsLHEP_BIC_HP.cc | 117 - .../lists/src/HadronPhysicsLHEP_EMV.cc | 2 +- .../lists/src/HadronPhysicsLHEP_LEAD.cc | 115 - .../lists/src/HadronPhysicsLHEP_LEAD_HP.cc | 120 - .../lists/src/HadronPhysicsLHEP_PRECO.cc | 112 - .../lists/src/HadronPhysicsLHEP_PRECO_HP.cc | 2 +- .../lists/src/HadronPhysicsQGSC.cc | 2 +- .../lists/src/HadronPhysicsQGSC_EFLOW.cc | 2 +- .../lists/src/HadronPhysicsQGSC_LEAD.cc | 123 - .../lists/src/HadronPhysicsQGSC_LEAD_HP.cc | 128 - .../lists/src/HadronPhysicsQGSP.cc | 2 +- .../lists/src/HadronPhysicsQGSP_BERT.cc | 2 +- .../lists/src/HadronPhysicsQGSP_BERT_HP.cc | 2 +- .../lists/src/HadronPhysicsQGSP_BERT_TRV.cc | 2 +- .../lists/src/HadronPhysicsQGSP_BIC.cc | 2 +- .../lists/src/HadronPhysicsQGSP_BIC_HP.cc | 2 +- .../lists/src/HadronPhysicsQGSP_HP.cc | 116 - .../physics_lists/lists/src/MinEkineCuts.cc | 2 +- source/processes/GNUmakefile | 8 +- source/processes/biasing/GNUmakefile | 35 + source/processes/biasing/History | 60 + .../include/G4GCellFinder.hh | 4 +- .../include/G4GeometrySampler.hh | 14 +- .../include/G4ImportanceConfigurator.hh | 8 +- .../include/G4ImportanceProcess.hh | 4 +- .../include/G4PlaceOfAction.hh | 4 +- .../include/G4ProcessPlacer.hh | 4 +- .../include/G4SamplingPostStepAction.hh | 4 +- .../include/G4TrackTerminator.hh | 4 +- .../include/G4VProcessPlacer.hh | 4 +- .../include/G4VSampler.hh | 12 +- .../include/G4VSamplerConfigurator.hh | 4 +- .../include/G4WeightCutOffConfigurator.hh | 15 +- .../include/G4WeightCutOffProcess.hh} | 22 +- .../include/G4WeightWindowConfigurator.hh | 8 +- .../include/G4WeightWindowProcess.hh | 4 +- .../{scoring => biasing}/src/G4GCellFinder.cc | 4 +- .../src/G4GeometrySampler.cc | 92 +- .../src/G4ImportanceConfigurator.cc | 6 +- .../src/G4ImportanceProcess.cc | 4 +- .../src/G4ProcessPlacer.cc | 13 +- .../src/G4SamplingPostStepAction.cc | 4 +- .../src/G4VProcessPlacer.cc | 4 +- .../src/G4VSampler.cc | 4 +- .../src/G4VSamplerConfigurator.cc | 4 +- .../src/G4WeightCutOffConfigurator.cc | 21 +- .../src/G4WeightCutOffProcess.cc} | 44 +- .../src/G4WeightWindowConfigurator.cc | 4 +- .../src/G4WeightWindowProcess.cc | 4 +- source/processes/cuts/History | 14 +- .../cuts/include/G4MCCIndexConversionTable.hh | 2 +- .../cuts/include/G4MaterialCutsCouple.hh | 2 +- .../cuts/include/G4PhysicsTableHelper.hh | 2 +- .../cuts/include/G4ProductionCuts.hh | 2 +- .../cuts/include/G4ProductionCutsTable.hh | 2 +- .../cuts/include/G4RToEConvForAntiNeutron.hh | 2 +- .../cuts/include/G4RToEConvForAntiProton.hh | 2 +- .../cuts/include/G4RToEConvForElectron.hh | 2 +- .../cuts/include/G4RToEConvForGamma.hh | 2 +- .../cuts/include/G4RToEConvForNeutron.hh | 2 +- .../cuts/include/G4RToEConvForPositron.hh | 2 +- .../cuts/include/G4RToEConvForProton.hh | 2 +- .../cuts/include/G4VRangeToEnergyConverter.hh | 2 +- .../cuts/src/G4MCCIndexConversionTable.cc | 2 +- .../cuts/src/G4MaterialCutsCouple.cc | 2 +- .../cuts/src/G4PhysicsTableHelper.cc | 2 +- source/processes/cuts/src/G4ProductionCuts.cc | 2 +- .../cuts/src/G4ProductionCutsTable.cc | 11 +- .../cuts/src/G4RToEConvForAntiNeutron.cc | 2 +- .../cuts/src/G4RToEConvForAntiProton.cc | 2 +- .../cuts/src/G4RToEConvForElectron.cc | 2 +- .../processes/cuts/src/G4RToEConvForGamma.cc | 2 +- .../cuts/src/G4RToEConvForNeutron.cc | 2 +- .../cuts/src/G4RToEConvForPositron.cc | 2 +- .../processes/cuts/src/G4RToEConvForProton.cc | 2 +- .../cuts/src/G4VRangeToEnergyConverter.cc | 9 +- source/processes/decay/History | 5 +- source/processes/decay/include/G4Decay.hh | 2 +- .../processes/decay/include/G4UnknownDecay.hh | 2 +- .../processes/decay/include/G4VExtDecayer.hh | 2 +- source/processes/decay/src/G4Decay.cc | 18 +- source/processes/decay/src/G4UnknownDecay.cc | 38 +- .../electromagnetic/highenergy/History | 15 +- .../highenergy/include/G4AnnihiToMuPair.hh | 2 +- .../include/G4BetheBlochNoDeltaModel.hh | 2 +- .../highenergy/include/G4BraggNoDeltaModel.hh | 2 +- .../include/G4GammaConversionToMuons.hh | 2 +- .../highenergy/include/G4Vee2hadrons.hh | 6 +- .../highenergy/include/G4eeCrossSections.hh | 2 +- .../highenergy/include/G4eeToHadrons.hh | 21 +- .../highenergy/include/G4eeToHadronsModel.hh | 14 +- .../include/G4eeToHadronsMultiModel.hh | 31 +- .../highenergy/include/G4eeToTwoPiModel.hh | 6 +- .../highenergy/include/G4hhIonisation.hh | 21 +- .../highenergy/include/G4mplIonisation.hh | 22 +- .../include/G4mplIonisationModel.hh | 28 +- .../highenergy/src/G4AnnihiToMuPair.cc | 2 +- .../src/G4BetheBlochNoDeltaModel.cc | 2 +- .../highenergy/src/G4BraggNoDeltaModel.cc | 2 +- .../src/G4GammaConversionToMuons.cc | 2 +- .../highenergy/src/G4eeCrossSections.cc | 2 +- .../highenergy/src/G4eeToHadrons.cc | 2 +- .../highenergy/src/G4eeToHadronsModel.cc | 36 +- .../highenergy/src/G4eeToHadronsMultiModel.cc | 13 +- .../highenergy/src/G4eeToTwoPiModel.cc | 9 +- .../highenergy/src/G4hhIonisation.cc | 5 +- .../highenergy/src/G4mplIonisation.cc | 10 +- .../highenergy/src/G4mplIonisationModel.cc | 2 +- .../electromagnetic/lowenergy/History | 33 +- .../lowenergy/include/G4AtomicDeexcitation.hh | 2 +- .../lowenergy/include/G4AtomicShell.hh | 2 +- .../include/G4AtomicTransitionManager.hh | 2 +- .../lowenergy/include/G4AugerData.hh | 2 +- .../include/G4BremsstrahlungParameters.hh | 2 +- .../lowenergy/include/G4CompositeEMDataSet.hh | 2 +- .../include/G4CrossSectionHandler.hh | 2 +- .../include/G4DNAAlphaPlusChargeDecrease.hh | 2 +- ...phaPlusChargeDecreaseFinalStatesPolicy.icc | 2 +- .../include/G4DNAAlphaPlusChargeIncrease.hh | 2 +- ...phaPlusChargeIncreaseFinalStatesPolicy.icc | 2 +- .../include/G4DNAAlphaPlusExcitation.hh | 2 +- .../G4DNAAlphaPlusPlusChargeDecrease.hh | 2 +- ...lusPlusChargeDecreaseFinalStatesPolicy.icc | 2 +- .../include/G4DNAAlphaPlusPlusExcitation.hh | 2 +- .../G4DNABornExcitationFinalStatesPolicy.icc | 2 +- .../G4DNABrennerAngularDistributionPolicy.hh | 2 +- .../include/G4DNAChargeDecreaseInWater.hh | 2 +- .../include/G4DNAChargeDecreaseInWater.icc | 2 +- .../include/G4DNAChargeIncreaseInWater.hh | 2 +- .../include/G4DNAChargeIncreaseInWater.icc | 2 +- .../include/G4DNACrossSectionDataSet.hh | 2 +- ...lderChargeChangeTotalCrossSectionPolicy.hh | 2 +- ...derChargeChangeTotalCrossSectionPolicy.icc | 2 +- .../include/G4DNAElectronBornExcitation.hh | 2 +- .../include/G4DNAElectronElasticBrenner.hh | 2 +- .../G4DNAElectronElasticEmfietzoglou.hh | 2 +- .../G4DNAElectronElasticScatteringInWater.hh | 2 +- .../G4DNAElectronElasticScatteringInWater.icc | 2 +- .../include/G4DNAElectronExcitation.hh | 2 +- ...NAEmfietzoglouAngularDistributionPolicy.hh | 2 +- ...oglouExcitationTotalCrossSectionPolicy.icc | 2 +- .../include/G4DNAExcitationInWater.hh | 2 +- .../include/G4DNAExcitationInWater.icc | 2 +- .../include/G4DNAGenericIonsManager.hh | 2 +- .../include/G4DNAHeliumChargeIncrease.hh | 2 +- ...AHeliumChargeIncreaseFinalStatesPolicy.icc | 2 +- .../include/G4DNAHeliumExcitation.hh | 2 +- .../include/G4DNAHydrogenChargeIncrease.hh | 2 +- ...ydrogenChargeIncreaseFinalStatesPolicy.icc | 2 +- ...enChargeIncreaseTotalCrossSectionPolicy.hh | 2 +- ...nChargeIncreaseTotalCrossSectionPolicy.icc | 2 +- .../include/G4DNAHydrogenRuddIonization.hh | 2 +- ...ydrogenRuddIonizationFinalStatesPolicy.icc | 2 +- .../include/G4DNAIonizationInWater.hh | 2 +- .../include/G4DNAIonizationInWater.icc | 2 +- ...dGreenExcitationTotalCrossSectionPolicy.hh | 2 +- ...GreenExcitationTotalCrossSectionPolicy.icc | 2 +- .../include/G4DNAProtonBornExcitation.hh | 2 +- .../include/G4DNAProtonChargeDecrease.hh | 2 +- ...AProtonChargeDecreaseFinalStatesPolicy.icc | 2 +- .../include/G4DNAProtonChargeIncrease.hh | 2 +- ...AProtonChargeIncreaseFinalStatesPolicy.icc | 2 +- ...onChargeIncreaseTotalCrossSectionPolicy.hh | 2 +- ...nChargeIncreaseTotalCrossSectionPolicy.icc | 2 +- .../include/G4DNAProtonExcitation.hh | 2 +- .../include/G4DNAProtonRuddIonization.hh | 2 +- .../G4DNARuddIonizationFinalStatesPolicy.icc | 2 +- .../G4DNARutherfordTotalCrossSectionPolicy.hh | 2 +- ...G4DNARutherfordTotalCrossSectionPolicy.icc | 2 +- .../G4DNAStopAndKillBelowEnergyLimitPolicy.hh | 2 +- ...G4DNAStopAndKillBelowEnergyLimitPolicy.icc | 2 +- .../G4DNATotalCrossSectionFromFilePolicy.hh | 2 +- .../G4DNATotalCrossSectionFromFilePolicy.icc | 2 +- .../lowenergy/include/G4EMDataSet.hh | 2 +- .../lowenergy/include/G4FluoTransition.hh | 2 +- .../lowenergy/include/G4LinInterpolation.hh | 2 +- .../include/G4LogLogInterpolation.hh | 2 +- .../include/G4LowEnergyBraggModel.hh | 165 - .../include/G4LowEnergyBremsstrahlung.hh | 2 +- .../lowenergy/include/G4LowEnergyCompton.hh | 2 +- .../include/G4LowEnergyGammaConversion.hh | 2 +- .../include/G4LowEnergyIonisation.hh | 2 +- .../include/G4LowEnergyPhotoElectric.hh | 2 +- .../include/G4LowEnergyPolarizedCompton.hh | 2 +- .../include/G4LowEnergyPolarizedRayleigh.hh | 2 +- .../lowenergy/include/G4LowEnergyRayleigh.hh | 2 +- .../include/G4PenelopeBremsstrahlung.hh | 2 +- .../G4PenelopeBremsstrahlungAngular.hh | 2 +- .../G4PenelopeBremsstrahlungContinuous.hh | 2 +- .../lowenergy/include/G4PenelopeCompton.hh | 2 +- .../include/G4PenelopeGammaConversion.hh | 2 +- .../lowenergy/include/G4PenelopeIonisation.hh | 2 +- .../include/G4PenelopePhotoElectric.hh | 2 +- .../lowenergy/include/G4PenelopeRayleigh.hh | 2 +- .../lowenergy/include/G4RangeNoTest.hh | 2 +- .../lowenergy/include/G4RangeTest.hh | 2 +- .../include/G4SemiLogInterpolation.hh | 2 +- .../lowenergy/include/G4ShellData.hh | 2 +- .../lowenergy/include/G4ShellEMDataSet.hh | 2 +- .../include/G4VCrossSectionHandler.hh | 2 +- .../lowenergy/include/G4VDNAProcessInWater.hh | 2 +- .../include/G4VDNAProcessInWater.icc | 2 +- .../lowenergy/include/G4VDataSetAlgorithm.hh | 2 +- .../lowenergy/include/G4VEMDataSet.hh | 2 +- .../G4VLowEnergyDiscretePhotonProcess.hh | 2 +- .../G4VLowEnergyTestableDiscreteProcess.hh | 2 +- .../lowenergy/include/G4VRangeTest.hh | 2 +- .../lowenergy/include/G4VeLowEnergyLoss.hh | 2 +- .../include/G4eBremsstrahlungSpectrum.hh | 2 +- .../G4eIonisationCrossSectionHandler.hh | 2 +- .../include/G4eIonisationParameters.hh | 2 +- .../include/G4eIonisationSpectrum.hh | 2 +- .../lowenergy/include/G4eLowEnergyLoss.hh | 2 +- .../lowenergy/include/G4eLowEnergyLoss.icc | 2 +- .../lowenergy/include/G4hLowEnergyLoss.hh | 2 +- .../lowenergy/include/G4hLowEnergyLoss.icc | 2 +- .../include/G4hShellCrossSectionDoubleExp.hh | 2 +- .../G4hShellCrossSectionDoubleExpData.hh | 2 +- .../include/G4hShellCrossSectionExp.hh | 2 +- .../include/G4hShellCrossSectionExpData.hh | 2 +- .../lowenergy/src/G4AtomicDeexcitation.cc | 2 +- .../lowenergy/src/G4AtomicShell.cc | 2 +- .../src/G4AtomicTransitionManager.cc | 2 +- .../G4BremsstrahlungCrossSectionHandler.cc | 2 +- .../src/G4BremsstrahlungParameters.cc | 2 +- .../lowenergy/src/G4CompositeEMDataSet.cc | 2 +- .../lowenergy/src/G4CrossSectionHandler.cc | 2 +- .../src/G4DNAAlphaPlusChargeDecrease.cc | 2 +- .../src/G4DNAAlphaPlusChargeIncrease.cc | 2 +- .../lowenergy/src/G4DNAAlphaPlusExcitation.cc | 2 +- .../src/G4DNAAlphaPlusPlusChargeDecrease.cc | 2 +- .../src/G4DNAAlphaPlusPlusExcitation.cc | 2 +- .../G4DNABrennerAngularDistributionPolicy.cc | 2 +- .../lowenergy/src/G4DNACrossSectionDataSet.cc | 6 +- .../src/G4DNAElectronBornExcitation.cc | 2 +- .../src/G4DNAElectronElasticBrenner.cc | 2 +- .../src/G4DNAElectronElasticEmfietzoglou.cc | 2 +- .../lowenergy/src/G4DNAElectronExcitation.cc | 2 +- ...NAEmfietzoglouAngularDistributionPolicy.cc | 2 +- .../lowenergy/src/G4DNAGenericIonsManager.cc | 2 +- .../src/G4DNAHeliumChargeIncrease.cc | 2 +- .../lowenergy/src/G4DNAHeliumExcitation.cc | 2 +- .../src/G4DNAHydrogenChargeIncrease.cc | 2 +- .../src/G4DNAHydrogenRuddIonization.cc | 2 +- .../src/G4DNAProtonBornExcitation.cc | 2 +- .../src/G4DNAProtonChargeDecrease.cc | 2 +- .../src/G4DNAProtonChargeIncrease.cc | 2 +- .../lowenergy/src/G4DNAProtonExcitation.cc | 2 +- .../src/G4DNAProtonRuddIonization.cc | 2 +- .../lowenergy/src/G4EMDataSet.cc | 2 +- .../lowenergy/src/G4FluoTransition.cc | 2 +- .../lowenergy/src/G4LinInterpolation.cc | 2 +- .../lowenergy/src/G4LogLogInterpolation.cc | 2 +- .../lowenergy/src/G4LowEnergyBraggModel.cc | 294 - .../src/G4LowEnergyBremsstrahlung.cc | 2 +- .../lowenergy/src/G4LowEnergyCompton.cc | 2 +- .../src/G4LowEnergyGammaConversion.cc | 2 +- .../lowenergy/src/G4LowEnergyIonisation.cc | 2 +- .../lowenergy/src/G4LowEnergyPhotoElectric.cc | 2 +- .../src/G4LowEnergyPolarizedCompton.cc | 2 +- .../src/G4LowEnergyPolarizedRayleigh.cc | 2 +- .../lowenergy/src/G4LowEnergyRayleigh.cc | 2 +- .../lowenergy/src/G4PenelopeBremsstrahlung.cc | 2 +- .../src/G4PenelopeBremsstrahlungAngular.cc | 2 +- .../src/G4PenelopeBremsstrahlungContinuous.cc | 2 +- .../lowenergy/src/G4PenelopeCompton.cc | 2 +- .../lowenergy/src/G4PenelopeIonisation.cc | 2 +- .../lowenergy/src/G4PenelopePhotoElectric.cc | 2 +- .../lowenergy/src/G4PenelopeRayleigh.cc | 2 +- .../lowenergy/src/G4RangeTest.cc | 2 +- .../lowenergy/src/G4SemiLogInterpolation.cc | 2 +- .../lowenergy/src/G4ShellData.cc | 2 +- .../lowenergy/src/G4ShellEMDataSet.cc | 2 +- .../lowenergy/src/G4VCrossSectionHandler.cc | 2 +- .../src/G4VLowEnergyDiscretePhotonProcess.cc | 2 +- .../lowenergy/src/G4VeLowEnergyLoss.cc | 2 +- .../src/G4eBremsstrahlungSpectrum.cc | 2 +- .../src/G4eIonisationCrossSectionHandler.cc | 2 +- .../lowenergy/src/G4eIonisationParameters.cc | 2 +- .../lowenergy/src/G4eIonisationSpectrum.cc | 2 +- .../lowenergy/src/G4eLowEnergyLoss.cc | 2 +- .../lowenergy/src/G4hLowEnergyLoss.cc | 2 +- .../src/G4hShellCrossSectionDoubleExp.cc | 2 +- .../src/G4hShellCrossSectionDoubleExpData.cc | 2 +- .../lowenergy/src/G4hShellCrossSectionExp.cc | 2 +- .../src/G4hShellCrossSectionExpData.cc | 2 +- .../processes/electromagnetic/muons/History | 27 +- .../include/G4EnergyLossForExtrapolator.hh | 84 +- .../muons/include/G4ErrorEnergyLoss.hh} | 93 +- .../muons/include/G4MuBetheBlochModel.hh | 14 +- .../muons/include/G4MuBremsstrahlung.hh | 21 +- .../muons/include/G4MuBremsstrahlung52.hh | 171 - .../muons/include/G4MuBremsstrahlung52.icc | 114 - .../muons/include/G4MuBremsstrahlungModel.hh | 14 +- .../muons/include/G4MuIonisation.hh | 21 +- .../muons/include/G4MuIonisation52.hh | 183 - .../muons/include/G4MuPairProduction.hh | 21 +- .../muons/include/G4MuPairProduction52.hh | 175 - .../muons/include/G4MuPairProduction52.icc | 115 - .../muons/include/G4MuPairProductionModel.hh | 20 +- .../muons/include/G4VMuEnergyLoss.hh | 231 - .../muons/include/G4VMuEnergyLoss.icc | 75 - .../muons/src/G4EnergyLossForExtrapolator.cc | 11 +- .../muons/src/G4ErrorEnergyLoss.cc | 177 + .../muons/src/G4MuBetheBlochModel.cc | 19 +- .../muons/src/G4MuBremsstrahlung.cc | 11 +- .../muons/src/G4MuBremsstrahlung52.cc | 716 - .../muons/src/G4MuBremsstrahlungModel.cc | 23 +- .../muons/src/G4MuIonisation.cc | 8 +- .../muons/src/G4MuIonisation52.cc | 583 - .../muons/src/G4MuPairProduction.cc | 11 +- .../muons/src/G4MuPairProduction52.cc | 922 -- .../muons/src/G4MuPairProductionModel.cc | 44 +- .../muons/src/G4VMuEnergyLoss.cc | 747 - .../electromagnetic/polarisation/History | 20 +- .../include/G4PolarizationHelper.hh | 2 +- .../include/G4PolarizationManager.hh | 2 +- .../include/G4PolarizationMessenger.hh | 2 +- .../G4PolarizedAnnihilationCrossSection.hh | 2 +- .../include/G4PolarizedAnnihilationModel.hh | 14 +- .../include/G4PolarizedBhabhaCrossSection.hh | 2 +- .../G4PolarizedBremsstrahlungCrossSection.hh | 2 +- .../include/G4PolarizedCompton.hh | 12 +- .../include/G4PolarizedComptonCrossSection.hh | 2 +- .../include/G4PolarizedComptonModel.hh | 14 +- .../include/G4PolarizedGammaConversion.hh | 9 +- .../G4PolarizedGammaConversionModel.hh | 15 +- .../include/G4PolarizedMollerBhabhaModel.hh | 14 +- .../include/G4PolarizedMollerCrossSection.hh | 2 +- .../G4PolarizedPairProductionCrossSection.hh | 2 +- .../polarisation/include/G4StokesVector.hh | 2 +- .../include/G4VPolarizedCrossSection.hh | 2 +- .../include/G4ePolarizedBremsstrahlung.hh | 11 +- .../G4ePolarizedBremsstrahlungModel.hh | 15 +- .../include/G4ePolarizedIonisation.hh | 19 +- .../include/G4eplusPolarizedAnnihilation.hh | 28 +- .../polarisation/src/G4PolarizationHelper.cc | 2 +- .../polarisation/src/G4PolarizationManager.cc | 2 +- .../src/G4PolarizationMessenger.cc | 2 +- .../G4PolarizedAnnihilationCrossSection.cc | 2 +- .../src/G4PolarizedAnnihilationModel.cc | 26 +- .../src/G4PolarizedBhabhaCrossSection.cc | 2 +- .../G4PolarizedBremsstrahlungCrossSection.cc | 2 +- .../polarisation/src/G4PolarizedCompton.cc | 94 +- .../src/G4PolarizedComptonCrossSection.cc | 2 +- .../src/G4PolarizedComptonModel.cc | 19 +- .../src/G4PolarizedGammaConversion.cc | 14 +- .../src/G4PolarizedGammaConversionModel.cc | 18 +- .../src/G4PolarizedMollerBhabhaModel.cc | 19 +- .../src/G4PolarizedMollerCrossSection.cc | 2 +- .../G4PolarizedPairProductionCrossSection.cc | 2 +- .../polarisation/src/G4StokesVector.cc | 2 +- .../src/G4VPolarizedCrossSection.cc | 2 +- .../src/G4ePolarizedBremsstrahlung.cc | 23 +- .../src/G4ePolarizedBremsstrahlungModel.cc | 24 +- .../src/G4ePolarizedIonisation.cc | 75 +- .../src/G4eplusPolarizedAnnihilation.cc | 72 +- .../electromagnetic/standard/History | 65 +- .../standard/include/G4ASTARStopping.hh | 2 +- .../standard/include/G4BetheBlochModel.hh | 14 +- .../standard/include/G4BetheHeitlerModel.hh | 14 +- .../standard/include/G4BohrFluctuations.hh | 2 +- .../standard/include/G4BraggIonModel.hh | 14 +- .../standard/include/G4BraggModel.hh | 14 +- .../standard/include/G4ComptonScattering.hh | 20 +- .../standard/include/G4ComptonScattering52.hh | 4 +- .../standard/include/G4CoulombScattering.hh | 19 +- .../include/G4CoulombScatteringModel.hh | 14 +- .../standard/include/G4GammaConversion.hh | 20 +- .../standard/include/G4GammaConversion52.hh | 213 - .../standard/include/G4InitXscPAI.hh | 2 +- .../standard/include/G4IonFluctuations.hh | 2 +- .../standard/include/G4KleinNishinaCompton.hh | 14 +- .../standard/include/G4MollerBhabhaModel.hh | 14 +- .../standard/include/G4MscModel71.hh | 14 +- .../standard/include/G4MultipleScattering.hh | 21 +- .../include/G4MultipleScattering52.hh | 230 - .../include/G4MultipleScattering52.icc | 100 - .../include/G4MultipleScattering71.hh | 11 +- .../standard/include/G4PAIModel.hh | 12 +- .../standard/include/G4PAIPhotonModel.hh | 10 +- .../standard/include/G4PAIxSection.hh | 2 +- .../standard/include/G4PEEffectModel.hh | 14 +- .../standard/include/G4PSTARStopping.hh | 2 +- .../standard/include/G4PhotoElectricEffect.hh | 20 +- .../include/G4PhotoElectricEffect52.hh | 149 - .../include/G4PolarizedComptonScattering.hh | 2 +- .../include/G4UniversalFluctuation.hh | 10 +- .../standard/include/G4UrbanMscModel.hh | 66 +- .../standard/include/G4VeEnergyLoss.hh | 253 - .../standard/include/G4VeEnergyLoss.icc | 100 - .../standard/include/G4VhEnergyLoss.hh | 220 - .../standard/include/G4WaterStopping.hh | 2 +- .../standard/include/G4eBremsstrahlung.hh | 54 +- .../standard/include/G4eBremsstrahlung52.hh | 190 - .../standard/include/G4eBremsstrahlung52.icc | 127 - .../include/G4eBremsstrahlungModel.hh | 88 +- .../include/G4eCoulombScatteringModel.hh | 14 +- .../standard/include/G4eIonisation.hh | 21 +- .../standard/include/G4eIonisation52.hh | 171 - .../standard/include/G4eeToTwoGammaModel.hh | 18 +- .../standard/include/G4eplusAnnihilation.hh | 22 +- .../standard/include/G4eplusAnnihilation52.hh | 172 - .../standard/include/G4hIonisation.hh | 21 +- .../standard/include/G4hIonisation52.hh | 182 - .../standard/include/G4hMultipleScattering.hh | 21 +- .../standard/include/G4ionIonisation.hh | 55 +- .../standard/src/G4ASTARStopping.cc | 2 +- .../standard/src/G4BetheBlochModel.cc | 19 +- .../standard/src/G4BetheHeitlerModel.cc | 23 +- .../standard/src/G4BohrFluctuations.cc | 2 +- .../standard/src/G4BraggIonModel.cc | 19 +- .../standard/src/G4BraggModel.cc | 18 +- .../standard/src/G4ComptonScattering.cc | 2 +- .../standard/src/G4ComptonScattering52.cc | 4 +- .../standard/src/G4CoulombScattering.cc | 2 +- .../standard/src/G4CoulombScatteringModel.cc | 20 +- .../standard/src/G4GammaConversion.cc | 2 +- .../standard/src/G4GammaConversion52.cc | 590 - .../standard/src/G4InitXscPAI.cc | 2 +- .../standard/src/G4IonFluctuations.cc | 2 +- .../standard/src/G4KleinNishinaCompton.cc | 17 +- .../standard/src/G4MollerBhabhaModel.cc | 18 +- .../standard/src/G4MscModel71.cc | 17 +- .../standard/src/G4MultipleScattering.cc | 61 +- .../standard/src/G4MultipleScattering52.cc | 955 -- .../standard/src/G4MultipleScattering71.cc | 2 +- .../standard/src/G4PAIModel.cc | 19 +- .../standard/src/G4PAIPhotonModel.cc | 15 +- .../standard/src/G4PAIxSection.cc | 2 +- .../standard/src/G4PEEffectModel.cc | 18 +- .../standard/src/G4PSTARStopping.cc | 2 +- .../standard/src/G4PhotoElectricEffect.cc | 2 +- .../standard/src/G4PhotoElectricEffect52.cc | 289 - .../src/G4PolarizedComptonScattering.cc | 2 +- .../standard/src/G4UniversalFluctuation.cc | 62 +- .../standard/src/G4UrbanMscModel.cc | 390 +- .../standard/src/G4VeEnergyLoss.cc | 723 - .../standard/src/G4VhEnergyLoss.cc | 723 - .../standard/src/G4WaterStopping.cc | 2 +- .../standard/src/G4eBremsstrahlung.cc | 30 +- .../standard/src/G4eBremsstrahlung52.cc | 1042 -- .../standard/src/G4eBremsstrahlungModel.cc | 61 +- .../standard/src/G4eCoulombScatteringModel.cc | 18 +- .../standard/src/G4eIonisation.cc | 8 +- .../standard/src/G4eIonisation52.cc | 538 - .../standard/src/G4eeToTwoGammaModel.cc | 36 +- .../standard/src/G4eplusAnnihilation.cc | 2 +- .../standard/src/G4eplusAnnihilation52.cc | 501 - .../standard/src/G4hIonisation.cc | 8 +- .../standard/src/G4hIonisation52.cc | 623 - .../standard/src/G4hMultipleScattering.cc | 62 +- .../standard/src/G4ionIonisation.cc | 35 +- .../processes/electromagnetic/utils/History | 66 +- .../utils/include/G4DummyModel.hh | 14 +- .../utils/include/G4EmCalculator.hh | 2 +- .../utils/include/G4EmCorrections.hh | 12 +- .../utils/include/G4EmModelManager.hh | 2 +- .../utils/include/G4EmMultiModel.hh | 14 +- .../utils/include/G4EmProcessOptions.hh | 19 +- .../utils/include/G4EmTableType.hh | 2 +- .../utils/include/G4EnergyLossMessenger.hh | 17 +- .../utils/include/G4EnergyLossTables.hh | 2 +- .../utils/include/G4LossTableBuilder.hh | 2 +- .../utils/include/G4LossTableManager.hh | 21 +- .../utils/include/G4MscStepLimitType.hh} | 47 +- .../utils/include/G4VEmFluctuationModel.hh | 2 +- .../utils/include/G4VEmModel.hh | 14 +- .../utils/include/G4VEmProcess.hh | 428 +- .../utils/include/G4VEnergyLoss.hh | 2 +- .../utils/include/G4VEnergyLossProcess.hh | 794 +- .../utils/include/G4VMultipleScattering.hh | 280 +- .../utils/include/G4ionEffectiveCharge.hh | 2 +- .../electromagnetic/utils/src/G4DummyModel.cc | 19 +- .../utils/src/G4EmCalculator.cc | 2 +- .../utils/src/G4EmCorrections.cc | 7 +- .../utils/src/G4EmModelManager.cc | 17 +- .../utils/src/G4EmMultiModel.cc | 22 +- .../utils/src/G4EmProcessOptions.cc | 89 +- .../utils/src/G4EnergyLossMessenger.cc | 162 +- .../utils/src/G4EnergyLossTables.cc | 2 +- .../utils/src/G4LossTableBuilder.cc | 2 +- .../utils/src/G4LossTableManager.cc | 71 +- .../utils/src/G4VEmFluctuationModel.cc | 2 +- .../electromagnetic/utils/src/G4VEmModel.cc | 2 +- .../electromagnetic/utils/src/G4VEmProcess.cc | 215 +- .../utils/src/G4VEnergyLoss.cc | 2 +- .../utils/src/G4VEnergyLossProcess.cc | 498 +- .../utils/src/G4VMultipleScattering.cc | 18 +- .../utils/src/G4ionEffectiveCharge.cc | 2 +- .../processes/electromagnetic/xrays/History | 6 +- .../xrays/include/G4Cerenkov.hh | 2 +- .../xrays/include/G4ForwardXrayTR.hh | 2 +- .../xrays/include/G4GammaXTRadiator.hh | 2 +- .../xrays/include/G4RegularXTRadiator.hh | 2 +- .../xrays/include/G4Scintillation.hh | 2 +- .../xrays/include/G4StrawTubeXTRadiator.hh | 2 +- .../xrays/include/G4SynchrotronRadiation.hh | 2 +- .../include/G4SynchrotronRadiationInMat.hh | 2 +- .../xrays/include/G4TransitionRadiation.hh | 2 +- .../include/G4TransparentRegXTRadiator.hh | 2 +- .../xrays/include/G4VTRModel.hh | 2 +- .../xrays/include/G4VTransitionRadiation.hh | 2 +- .../xrays/include/G4VXTRenergyLoss.hh | 2 +- .../electromagnetic/xrays/src/G4Cerenkov.cc | 2 +- .../xrays/src/G4ForwardXrayTR.cc | 10 +- .../xrays/src/G4GammaXTRadiator.cc | 2 +- .../xrays/src/G4RegularXTRadiator.cc | 2 +- .../xrays/src/G4Scintillation.cc | 2 +- .../xrays/src/G4StrawTubeXTRadiator.cc | 2 +- .../xrays/src/G4SynchrotronRadiation.cc | 2 +- .../xrays/src/G4SynchrotronRadiationInMat.cc | 2 +- .../xrays/src/G4TransitionRadiation.cc | 2 +- .../xrays/src/G4TransparentRegXTRadiator.cc | 2 +- .../xrays/src/G4VTransitionRadiation.cc | 2 +- .../xrays/src/G4VXTRenergyLoss.cc | 2 +- source/processes/hadronic/GNUmakefile | 4 +- .../processes/hadronic/cross_sections/History | 36 + .../include/G4BGGNucleonElasticXS.hh | 2 +- .../include/G4BGGNucleonInelasticXS.hh | 2 +- .../include/G4BGGPionElasticXS.hh | 2 +- .../include/G4BGGPionInelasticXS.hh | 2 +- .../include/G4ElectroNuclearCrossSection.hh | 14 +- .../include/G4GlauberGribovCrossSection.hh | 25 +- .../include/G4HadronCrossSections.hh | 10 +- .../include/G4HadronNucleonXsc.hh | 5 +- .../include/G4PhotoNuclearCrossSection.hh | 13 +- .../src/G4BGGNucleonElasticXS.cc | 2 +- .../src/G4BGGNucleonInelasticXS.cc | 2 +- .../cross_sections/src/G4BGGPionElasticXS.cc | 2 +- .../src/G4BGGPionInelasticXS.cc | 2 +- .../src/G4ElectroNuclearCrossSection.cc | 31 +- .../src/G4GlauberGribovCrossSection.cc | 717 +- .../src/G4HadronCaptureDataSet.cc | 2 +- .../src/G4HadronCrossSections.cc | 16 +- .../src/G4HadronElasticDataSet.cc | 2 +- .../src/G4HadronFissionDataSet.cc | 2 +- .../src/G4HadronInelasticDataSet.cc | 2 +- .../cross_sections/src/G4HadronNucleonXsc.cc | 340 +- .../src/G4NucleonNuclearCrossSection.cc | 1 - .../src/G4PhotoNuclearCrossSection.cc | 24 +- .../hadronic/cross_sections/src/G4PiData.cc | 2 +- .../src/G4PiNuclearCrossSection.cc | 11 +- source/processes/hadronic/management/History | 22 + .../include/G4EnergyRangeManager.hh | 2 +- .../management/include/G4HadLeadBias.hh | 2 +- .../include/G4VLeadingParticleBiasing.hh | 2 +- .../management/src/G4EnergyRangeManager.cc | 2 +- .../management/src/G4HadronicProcess.cc | 95 +- source/processes/hadronic/models/GNUmakefile | 4 +- .../hadronic/models/binary_cascade/History | 6 +- .../src/G4BinaryLightIonReaction.cc | 15 +- .../processes/hadronic/models/cascade/History | 5 + .../models/cascade/cascade/GNUmakefile | 3 +- .../cascade/cascade/include/G4BertiniData.hh | 3 + .../cascade/include/G4CascadeInterface.hh | 17 +- .../include/G4ElasticCascadeInterface.hh | 28 +- .../include/G4EvaporationInuclCollider.hh | 88 + .../include/G4InuclElementaryParticle.hh | 15 +- .../cascade/include/G4InuclEvaporation.hh} | 62 +- .../cascade/include/G4InuclParticle.hh | 46 +- .../include/G4PreCompoundCascadeInterface.hh | 75 +- .../include/G4PreCompoundInuclCollider.hh | 105 + .../models/cascade/cascade/src/G4Analyser.cc | 20 +- .../cascade/cascade/src/G4BertiniData.cc | 2 + .../cascade/src/G4BertiniNucleiModel.cc | 9 +- .../models/cascade/cascade/src/G4BigBanger.cc | 3 +- .../cascade/src/G4ElasticCascadeInterface.cc | 20 +- .../src/G4ElementaryParticleCollider.cc | 7 +- .../cascade/src/G4EquilibriumEvaporator.cc | 8 + .../cascade/src/G4EvaporationInuclCollider.cc | 217 + .../models/cascade/cascade/src/G4Fissioner.cc | 5 + .../cascade/src/G4IntraNucleiCascader.cc | 1 + .../cascade/cascade/src/G4InuclEvaporation.cc | 251 + .../cascade/src/G4NonEquilibriumEvaporator.cc | 3 + .../src/G4PreCompoundCascadeInterface.cc | 479 + .../cascade/src/G4PreCompoundInuclCollider.cc | 381 + .../cascade/cascade/src/bindingEnergyExact.cc | 7 +- .../body/include/G4Chips.hh | 2 +- .../body/include/G4QBesIKJY.hh | 2 +- .../body/include/G4QCHIPSWorld.hh | 2 +- .../body/include/G4QCandidate.hh | 2 +- .../body/include/G4QCandidateVector.hh | 2 +- .../body/include/G4QChipolino.hh | 2 +- .../body/include/G4QContent.hh | 2 +- .../body/include/G4QDecayChan.hh | 2 +- .../body/include/G4QDecayChanVector.hh | 2 +- .../body/include/G4QEnvironment.hh | 2 +- .../body/include/G4QException.hh | 2 +- .../body/include/G4QFragmentation.hh | 2 +- .../body/include/G4QHadron.hh | 2 +- .../body/include/G4QHadronBuilder.hh | 2 +- .../body/include/G4QHadronVector.hh | 4 +- .../body/include/G4QInteraction.hh | 2 +- .../body/include/G4QInteractionVector.hh | 4 +- .../body/include/G4QIsotope.hh | 2 +- .../body/include/G4QNucleus.hh | 2 +- .../body/include/G4QPDGCode.hh | 2 +- .../body/include/G4QPDGCodeVector.hh | 2 +- .../body/include/G4QPDGToG4Particle.hh | 2 +- .../body/include/G4QParentCluster.hh | 2 +- .../body/include/G4QParentClusterVector.hh | 2 +- .../body/include/G4QParticle.hh | 2 +- .../body/include/G4QParticleVector.hh | 2 +- .../body/include/G4QParton.hh | 2 +- .../body/include/G4QPartonPair.hh | 2 +- .../body/include/G4QPartonPairVector.hh | 2 +- .../body/include/G4QPartonVector.hh | 4 +- .../body/include/G4QPomeron.hh | 2 +- .../body/include/G4QSplitter.hh | 2 +- .../body/include/G4QString.hh | 2 +- .../body/include/G4QStringVector.hh | 2 +- .../body/include/G4Quasmon.hh | 2 +- .../body/include/G4QuasmonString.hh | 2 +- .../body/include/G4QuasmonVector.hh | 2 +- .../body/src/G4QBesIKJY.cc | 2 +- .../body/src/G4QCHIPSWorld.cc | 2 +- .../body/src/G4QCandidate.cc | 2 +- .../body/src/G4QChipolino.cc | 2 +- .../body/src/G4QContent.cc | 2 +- .../body/src/G4QDecayChan.cc | 2 +- .../body/src/G4QEnvironment.cc | 2 +- .../body/src/G4QException.cc | 2 +- .../body/src/G4QFragmentation.cc | 2 +- .../body/src/G4QHadron.cc | 2 +- .../body/src/G4QHadronBuilder.cc | 2 +- .../body/src/G4QInteraction.cc | 2 +- .../body/src/G4QIsotope.cc | 2 +- .../body/src/G4QNucleus.cc | 94 +- .../body/src/G4QPDGCode.cc | 2 +- .../body/src/G4QPDGToG4Particle.cc | 2 +- .../body/src/G4QParentCluster.cc | 2 +- .../body/src/G4QParticle.cc | 2 +- .../body/src/G4QParton.cc | 2 +- .../body/src/G4QPartonPair.cc | 2 +- .../body/src/G4QPomeron.cc | 2 +- .../body/src/G4QSplitter.cc | 2 +- .../body/src/G4QString.cc | 2 +- .../body/src/G4Quasmon.cc | 2 +- .../body/src/G4QuasmonString.cc | 2 +- .../include/G4ElectroNuclearReaction.hh | 2 +- .../include/G4GammaNuclearReaction.hh | 2 +- .../include/G4QANuMuNuclearCrossSection.hh | 2 +- .../include/G4QAtomicElectronScattering.hh | 2 +- .../interface/include/G4QCaptureAtRest.hh | 2 +- .../include/G4QCoherentChargeExchange.hh | 131 + .../interface/include/G4QCollision.hh | 2 +- .../interface/include/G4QDiffractionRatio.hh} | 52 +- .../interface/include/G4QElastic.hh | 7 +- .../include/G4QElasticCrossSection.hh | 26 +- .../include/G4QElectronNuclearCrossSection.hh | 2 +- .../interface/include/G4QGluonString.hh | 2 +- .../include/G4QMuonNuclearCrossSection.hh | 2 +- .../include/G4QNuMuNuclearCrossSection.hh | 2 +- .../include/G4QPhotonNuclearCrossSection.hh | 2 +- .../include/G4QProtonNuclearCrossSection.hh | 2 +- .../include/G4QTauNuclearCrossSection.hh | 2 +- .../interface/include/G4QuasiFreeRatios.hh | 19 +- .../interface/include/G4VQCrossSection.hh | 2 +- .../src/G4QANuMuNuclearCrossSection.cc | 2 +- .../src/G4QAtomicElectronScattering.cc | 2 +- .../interface/src/G4QCaptureAtRest.cc | 6 +- .../src/G4QCoherentChargeExchange.cc | 599 + .../interface/src/G4QCollision.cc | 2 +- .../interface/src/G4QDiffractionRatio.cc | 469 + .../interface/src/G4QElastic.cc | 56 +- .../interface/src/G4QElasticCrossSection.cc | 588 +- .../src/G4QElectronNuclearCrossSection.cc | 2 +- .../interface/src/G4QGluonString.cc | 2 +- .../src/G4QMuonNuclearCrossSection.cc | 2 +- .../src/G4QNuMuNuclearCrossSection.cc | 2 +- .../src/G4QPhotonNuclearCrossSection.cc | 2 +- .../src/G4QProtonNuclearCrossSection.cc | 2 +- .../src/G4QTauNuclearCrossSection.cc | 2 +- .../interface/src/G4QuasiFreeRatios.cc | 224 +- .../G4StringChipsParticleLevelInterface.cc | 7 +- .../interface/src/G4VQCrossSection.cc | 2 +- .../hadronic/models/coherent_elastic/History | 40 + .../include/G4ChargeExchange.hh | 2 +- .../include/G4ChargeExchangeProcess.hh | 2 +- .../include/G4DiffuseElastic.hh | 302 + .../include/G4ElasticHadrNucleusHE.hh | 216 +- .../include/G4HadronElastic.hh | 13 +- .../include/G4UHadronElasticProcess.hh | 2 +- .../coherent_elastic/src/G4ChargeExchange.cc | 6 +- .../src/G4ChargeExchangeProcess.cc | 2 +- .../coherent_elastic/src/G4DiffuseElastic.cc | 530 + .../src/G4ElasticHadrNucleusHE.cc | 1897 ++- .../coherent_elastic/src/G4HadronElastic.cc | 82 +- .../models/coherent_elastic/src/G4LEnp.cc | 3 +- .../models/coherent_elastic/src/G4LEpp.cc | 3 +- .../src/G4UHadronElasticProcess.cc | 10 +- .../hadronic/models/de_excitation/History | 14 + .../include/G4AlphaEvaporationChannel.hh | 2 +- .../include/G4AlphaEvaporationProbability.hh | 2 +- .../include/G4DeuteronEvaporationChannel.hh | 2 +- .../G4DeuteronEvaporationProbability.hh | 2 +- .../evaporation/include/G4Evaporation.hh | 2 +- .../include/G4EvaporationChannel.hh | 2 +- .../include/G4EvaporationFactory.hh | 2 +- .../include/G4EvaporationProbability.hh | 2 +- .../include/G4He3EvaporationChannel.hh | 2 +- .../include/G4He3EvaporationProbability.hh | 2 +- .../include/G4NeutronEvaporationChannel.hh | 2 +- .../G4NeutronEvaporationProbability.hh | 2 +- .../include/G4ProtonEvaporationChannel.hh | 2 +- .../include/G4ProtonEvaporationProbability.hh | 2 +- .../include/G4TritonEvaporationChannel.hh | 2 +- .../include/G4TritonEvaporationProbability.hh | 2 +- .../evaporation/include/G4VEvaporation.hh | 2 +- .../src/G4AlphaEvaporationChannel.cc | 2 +- .../src/G4AlphaEvaporationProbability.cc | 2 +- .../src/G4DeuteronEvaporationChannel.cc | 2 +- .../src/G4DeuteronEvaporationProbability.cc | 2 +- .../evaporation/src/G4Evaporation.cc | 2 +- .../evaporation/src/G4EvaporationChannel.cc | 2 +- .../evaporation/src/G4EvaporationFactory.cc | 2 +- .../src/G4EvaporationProbability.cc | 2 +- .../src/G4He3EvaporationChannel.cc | 2 +- .../src/G4He3EvaporationProbability.cc | 2 +- .../src/G4NeutronEvaporationChannel.cc | 2 +- .../src/G4NeutronEvaporationProbability.cc | 2 +- .../src/G4ProtonEvaporationChannel.cc | 2 +- .../src/G4ProtonEvaporationProbability.cc | 2 +- .../src/G4TritonEvaporationChannel.cc | 2 +- .../src/G4TritonEvaporationProbability.cc | 2 +- .../evaporation/src/G4VEvaporation.cc | 2 +- .../include/G4B9FermiFragment.hh | 2 +- .../include/G4Be8FermiFragment.hh | 2 +- .../fermi_breakup/include/G4FermiBreakUp.hh | 2 +- .../include/G4FermiConfiguration.hh | 2 +- .../include/G4FermiConfigurationList.hh | 2 +- .../include/G4He5FermiFragment.hh | 2 +- .../include/G4Li5FermiFragment.hh | 2 +- .../include/G4StableFermiFragment.hh | 2 +- .../include/G4UnstableFermiFragment.hh | 2 +- .../fermi_breakup/include/G4VFermiBreakUp.hh | 2 +- .../fermi_breakup/include/G4VFermiFragment.hh | 2 +- .../fermi_breakup/src/G4B9FermiFragment.cc | 2 +- .../fermi_breakup/src/G4Be8FermiFragment.cc | 2 +- .../fermi_breakup/src/G4FermiConfiguration.cc | 2 +- .../fermi_breakup/src/G4He5FermiFragment.cc | 2 +- .../fermi_breakup/src/G4Li5FermiFragment.cc | 2 +- .../src/G4StableFermiFragment.cc | 2 +- .../src/G4UnstableFermiFragment.cc | 2 +- .../fermi_breakup/src/G4VFermiBreakUp.cc | 2 +- .../fermi_breakup/src/G4VFermiFragment.cc | 2 +- .../fission/include/G4CompetitiveFission.hh | 2 +- .../fission/include/G4FissionBarrier.hh | 2 +- .../include/G4FissionLevelDensityParameter.hh | 2 +- .../fission/include/G4FissionParameters.hh | 2 +- .../fission/include/G4FissionProbability.hh | 2 +- .../fission/include/G4VFissionBarrier.hh | 2 +- .../fission/src/G4CompetitiveFission.cc | 2 +- .../fission/src/G4FissionBarrier.cc | 2 +- .../src/G4FissionLevelDensityParameter.cc | 2 +- .../fission/src/G4FissionParameters.cc | 2 +- .../fission/src/G4FissionProbability.cc | 2 +- .../fission/src/G4VFissionBarrier.cc | 2 +- .../include/G4AlphaGEMChannel.hh | 2 +- .../include/G4AlphaGEMProbability.hh | 2 +- .../include/G4B10GEMChannel.hh | 2 +- .../include/G4B10GEMCoulombBarrier.hh | 2 +- .../include/G4B10GEMProbability.hh | 2 +- .../include/G4B11GEMChannel.hh | 2 +- .../include/G4B11GEMCoulombBarrier.hh | 2 +- .../include/G4B11GEMProbability.hh | 2 +- .../include/G4B12GEMChannel.hh | 2 +- .../include/G4B12GEMCoulombBarrier.hh | 2 +- .../include/G4B12GEMProbability.hh | 2 +- .../include/G4B13GEMChannel.hh | 2 +- .../include/G4B13GEMCoulombBarrier.hh | 2 +- .../include/G4B13GEMProbability.hh | 2 +- .../gem_evaporation/include/G4B8GEMChannel.hh | 2 +- .../include/G4B8GEMCoulombBarrier.hh | 2 +- .../include/G4B8GEMProbability.hh | 2 +- .../include/G4Be10GEMChannel.hh | 2 +- .../include/G4Be10GEMCoulombBarrier.hh | 2 +- .../include/G4Be10GEMProbability.hh | 2 +- .../include/G4Be11GEMChannel.hh | 2 +- .../include/G4Be11GEMCoulombBarrier.hh | 2 +- .../include/G4Be11GEMProbability.hh | 2 +- .../include/G4Be12GEMChannel.hh | 2 +- .../include/G4Be12GEMCoulombBarrier.hh | 2 +- .../include/G4Be12GEMProbability.hh | 2 +- .../include/G4Be7GEMChannel.hh | 2 +- .../include/G4Be7GEMCoulombBarrier.hh | 2 +- .../include/G4Be7GEMProbability.hh | 2 +- .../include/G4Be9GEMChannel.hh | 2 +- .../include/G4Be9GEMCoulombBarrier.hh | 2 +- .../include/G4Be9GEMProbability.hh | 2 +- .../include/G4C10GEMChannel.hh | 2 +- .../include/G4C10GEMCoulombBarrier.hh | 2 +- .../include/G4C10GEMProbability.hh | 2 +- .../include/G4C11GEMChannel.hh | 2 +- .../include/G4C11GEMCoulombBarrier.hh | 2 +- .../include/G4C11GEMProbability.hh | 2 +- .../include/G4C12GEMChannel.hh | 2 +- .../include/G4C12GEMCoulombBarrier.hh | 2 +- .../include/G4C12GEMProbability.hh | 2 +- .../include/G4C13GEMChannel.hh | 2 +- .../include/G4C13GEMCoulombBarrier.hh | 2 +- .../include/G4C13GEMProbability.hh | 2 +- .../include/G4C14GEMChannel.hh | 2 +- .../include/G4C14GEMCoulombBarrier.hh | 2 +- .../include/G4C14GEMProbability.hh | 2 +- .../include/G4C15GEMChannel.hh | 2 +- .../include/G4C15GEMCoulombBarrier.hh | 2 +- .../include/G4C15GEMProbability.hh | 2 +- .../include/G4C16GEMChannel.hh | 2 +- .../include/G4C16GEMCoulombBarrier.hh | 2 +- .../include/G4C16GEMProbability.hh | 2 +- .../include/G4DeuteronGEMChannel.hh | 2 +- .../include/G4DeuteronGEMProbability.hh | 2 +- .../include/G4EvaporationGEMFactory.hh | 2 +- .../include/G4F17GEMChannel.hh | 2 +- .../include/G4F17GEMCoulombBarrier.hh | 2 +- .../include/G4F17GEMProbability.hh | 2 +- .../include/G4F18GEMChannel.hh | 2 +- .../include/G4F18GEMCoulombBarrier.hh | 2 +- .../include/G4F18GEMProbability.hh | 2 +- .../include/G4F19GEMChannel.hh | 2 +- .../include/G4F19GEMCoulombBarrier.hh | 2 +- .../include/G4F19GEMProbability.hh | 2 +- .../include/G4F20GEMChannel.hh | 2 +- .../include/G4F20GEMCoulombBarrier.hh | 2 +- .../include/G4F20GEMProbability.hh | 2 +- .../include/G4F21GEMChannel.hh | 2 +- .../include/G4F21GEMCoulombBarrier.hh | 2 +- .../include/G4F21GEMProbability.hh | 2 +- .../gem_evaporation/include/G4GEMChannel.hh | 2 +- .../include/G4GEMCoulombBarrierHE.hh | 2 +- .../include/G4He3GEMChannel.hh | 2 +- .../include/G4He3GEMProbability.hh | 2 +- .../include/G4He6GEMChannel.hh | 2 +- .../include/G4He6GEMCoulombBarrier.hh | 2 +- .../include/G4He6GEMProbability.hh | 2 +- .../include/G4He8GEMChannel.hh | 2 +- .../include/G4He8GEMCoulombBarrier.hh | 2 +- .../include/G4He8GEMProbability.hh | 2 +- .../include/G4Li6GEMChannel.hh | 2 +- .../include/G4Li6GEMCoulombBarrier.hh | 2 +- .../include/G4Li6GEMProbability.hh | 2 +- .../include/G4Li7GEMChannel.hh | 2 +- .../include/G4Li7GEMCoulombBarrier.hh | 2 +- .../include/G4Li7GEMProbability.hh | 2 +- .../include/G4Li8GEMChannel.hh | 2 +- .../include/G4Li8GEMCoulombBarrier.hh | 2 +- .../include/G4Li8GEMProbability.hh | 2 +- .../include/G4Li9GEMChannel.hh | 2 +- .../include/G4Li9GEMCoulombBarrier.hh | 2 +- .../include/G4Li9GEMProbability.hh | 2 +- .../include/G4Mg22GEMChannel.hh | 2 +- .../include/G4Mg22GEMCoulombBarrier.hh | 2 +- .../include/G4Mg22GEMProbability.hh | 2 +- .../include/G4Mg23GEMChannel.hh | 2 +- .../include/G4Mg23GEMCoulombBarrier.hh | 2 +- .../include/G4Mg23GEMProbability.hh | 2 +- .../include/G4Mg24GEMChannel.hh | 2 +- .../include/G4Mg24GEMCoulombBarrier.hh | 2 +- .../include/G4Mg24GEMProbability.hh | 2 +- .../include/G4Mg25GEMChannel.hh | 2 +- .../include/G4Mg25GEMCoulombBarrier.hh | 2 +- .../include/G4Mg25GEMProbability.hh | 2 +- .../include/G4Mg26GEMChannel.hh | 2 +- .../include/G4Mg26GEMCoulombBarrier.hh | 2 +- .../include/G4Mg26GEMProbability.hh | 2 +- .../include/G4Mg27GEMChannel.hh | 2 +- .../include/G4Mg27GEMCoulombBarrier.hh | 2 +- .../include/G4Mg27GEMProbability.hh | 2 +- .../include/G4Mg28GEMChannel.hh | 2 +- .../include/G4Mg28GEMCoulombBarrier.hh | 2 +- .../include/G4Mg28GEMProbability.hh | 2 +- .../include/G4N12GEMChannel.hh | 2 +- .../include/G4N12GEMCoulombBarrier.hh | 2 +- .../include/G4N12GEMProbability.hh | 2 +- .../include/G4N13GEMChannel.hh | 2 +- .../include/G4N13GEMCoulombBarrier.hh | 2 +- .../include/G4N13GEMProbability.hh | 2 +- .../include/G4N14GEMChannel.hh | 2 +- .../include/G4N14GEMCoulombBarrier.hh | 2 +- .../include/G4N14GEMProbability.hh | 2 +- .../include/G4N15GEMChannel.hh | 2 +- .../include/G4N15GEMCoulombBarrier.hh | 2 +- .../include/G4N15GEMProbability.hh | 2 +- .../include/G4N16GEMChannel.hh | 2 +- .../include/G4N16GEMCoulombBarrier.hh | 2 +- .../include/G4N16GEMProbability.hh | 2 +- .../include/G4N17GEMChannel.hh | 2 +- .../include/G4N17GEMCoulombBarrier.hh | 2 +- .../include/G4N17GEMProbability.hh | 2 +- .../include/G4Na21GEMChannel.hh | 2 +- .../include/G4Na21GEMCoulombBarrier.hh | 2 +- .../include/G4Na21GEMProbability.hh | 2 +- .../include/G4Na22GEMChannel.hh | 2 +- .../include/G4Na22GEMCoulombBarrier.hh | 2 +- .../include/G4Na22GEMProbability.hh | 2 +- .../include/G4Na23GEMChannel.hh | 2 +- .../include/G4Na23GEMCoulombBarrier.hh | 2 +- .../include/G4Na23GEMProbability.hh | 2 +- .../include/G4Na24GEMChannel.hh | 2 +- .../include/G4Na24GEMCoulombBarrier.hh | 2 +- .../include/G4Na24GEMProbability.hh | 2 +- .../include/G4Na25GEMChannel.hh | 2 +- .../include/G4Na25GEMCoulombBarrier.hh | 2 +- .../include/G4Na25GEMProbability.hh | 2 +- .../include/G4Ne18GEMChannel.hh | 2 +- .../include/G4Ne18GEMCoulombBarrier.hh | 2 +- .../include/G4Ne18GEMProbability.hh | 2 +- .../include/G4Ne19GEMChannel.hh | 2 +- .../include/G4Ne19GEMCoulombBarrier.hh | 2 +- .../include/G4Ne19GEMProbability.hh | 2 +- .../include/G4Ne20GEMChannel.hh | 2 +- .../include/G4Ne20GEMCoulombBarrier.hh | 2 +- .../include/G4Ne20GEMProbability.hh | 2 +- .../include/G4Ne21GEMChannel.hh | 2 +- .../include/G4Ne21GEMCoulombBarrier.hh | 2 +- .../include/G4Ne21GEMProbability.hh | 2 +- .../include/G4Ne22GEMChannel.hh | 2 +- .../include/G4Ne22GEMCoulombBarrier.hh | 2 +- .../include/G4Ne22GEMProbability.hh | 2 +- .../include/G4Ne23GEMChannel.hh | 2 +- .../include/G4Ne23GEMCoulombBarrier.hh | 2 +- .../include/G4Ne23GEMProbability.hh | 2 +- .../include/G4Ne24GEMChannel.hh | 2 +- .../include/G4Ne24GEMCoulombBarrier.hh | 2 +- .../include/G4Ne24GEMProbability.hh | 2 +- .../include/G4NeutronGEMChannel.hh | 2 +- .../include/G4NeutronGEMProbability.hh | 2 +- .../include/G4O14GEMChannel.hh | 2 +- .../include/G4O14GEMCoulombBarrier.hh | 2 +- .../include/G4O14GEMProbability.hh | 2 +- .../include/G4O15GEMChannel.hh | 2 +- .../include/G4O15GEMCoulombBarrier.hh | 2 +- .../include/G4O15GEMProbability.hh | 2 +- .../include/G4O16GEMChannel.hh | 2 +- .../include/G4O16GEMCoulombBarrier.hh | 2 +- .../include/G4O16GEMProbability.hh | 2 +- .../include/G4O17GEMChannel.hh | 2 +- .../include/G4O17GEMCoulombBarrier.hh | 2 +- .../include/G4O17GEMProbability.hh | 2 +- .../include/G4O18GEMChannel.hh | 2 +- .../include/G4O18GEMCoulombBarrier.hh | 2 +- .../include/G4O18GEMProbability.hh | 2 +- .../include/G4O19GEMChannel.hh | 2 +- .../include/G4O19GEMCoulombBarrier.hh | 2 +- .../include/G4O19GEMProbability.hh | 2 +- .../include/G4O20GEMChannel.hh | 2 +- .../include/G4O20GEMCoulombBarrier.hh | 2 +- .../include/G4O20GEMProbability.hh | 2 +- .../include/G4ProtonGEMChannel.hh | 2 +- .../include/G4ProtonGEMProbability.hh | 2 +- .../include/G4TritonGEMChannel.hh | 2 +- .../include/G4TritonGEMProbability.hh | 2 +- .../gem_evaporation/src/G4AlphaGEMChannel.cc | 2 +- .../src/G4AlphaGEMProbability.cc | 2 +- .../src/G4B10GEMProbability.cc | 2 +- .../src/G4B11GEMProbability.cc | 2 +- .../src/G4B12GEMProbability.cc | 2 +- .../src/G4B13GEMProbability.cc | 2 +- .../gem_evaporation/src/G4B8GEMProbability.cc | 2 +- .../src/G4Be10GEMProbability.cc | 2 +- .../src/G4Be11GEMProbability.cc | 2 +- .../src/G4Be12GEMProbability.cc | 2 +- .../src/G4Be7GEMProbability.cc | 2 +- .../src/G4Be9GEMProbability.cc | 2 +- .../src/G4C10GEMProbability.cc | 2 +- .../src/G4C11GEMProbability.cc | 2 +- .../src/G4C12GEMProbability.cc | 2 +- .../src/G4C13GEMProbability.cc | 2 +- .../src/G4C14GEMProbability.cc | 2 +- .../src/G4C15GEMProbability.cc | 2 +- .../src/G4C16GEMProbability.cc | 2 +- .../src/G4DeuteronGEMChannel.cc | 2 +- .../src/G4DeuteronGEMProbability.cc | 2 +- .../src/G4EvaporationGEMFactory.cc | 2 +- .../src/G4F17GEMProbability.cc | 2 +- .../src/G4F18GEMProbability.cc | 2 +- .../src/G4F19GEMProbability.cc | 2 +- .../src/G4F20GEMProbability.cc | 2 +- .../src/G4F21GEMProbability.cc | 2 +- .../gem_evaporation/src/G4GEMChannel.cc | 2 +- .../src/G4GEMCoulombBarrierHE.cc | 2 +- .../gem_evaporation/src/G4He3GEMChannel.cc | 2 +- .../src/G4He3GEMProbability.cc | 2 +- .../src/G4He6GEMProbability.cc | 2 +- .../src/G4He8GEMProbability.cc | 2 +- .../src/G4Li6GEMProbability.cc | 2 +- .../src/G4Li7GEMProbability.cc | 2 +- .../src/G4Li8GEMProbability.cc | 2 +- .../src/G4Li9GEMProbability.cc | 2 +- .../src/G4Mg22GEMProbability.cc | 2 +- .../src/G4Mg23GEMProbability.cc | 2 +- .../src/G4Mg24GEMProbability.cc | 2 +- .../src/G4Mg25GEMProbability.cc | 2 +- .../src/G4Mg26GEMProbability.cc | 2 +- .../src/G4Mg27GEMProbability.cc | 2 +- .../src/G4Mg28GEMProbability.cc | 2 +- .../src/G4N12GEMProbability.cc | 2 +- .../src/G4N13GEMProbability.cc | 2 +- .../src/G4N14GEMProbability.cc | 2 +- .../src/G4N15GEMProbability.cc | 2 +- .../src/G4N16GEMProbability.cc | 2 +- .../src/G4N17GEMProbability.cc | 2 +- .../src/G4Na21GEMProbability.cc | 2 +- .../src/G4Na22GEMProbability.cc | 2 +- .../src/G4Na23GEMProbability.cc | 2 +- .../src/G4Na24GEMProbability.cc | 2 +- .../src/G4Na25GEMProbability.cc | 2 +- .../src/G4Ne18GEMProbability.cc | 2 +- .../src/G4Ne19GEMProbability.cc | 2 +- .../src/G4Ne20GEMProbability.cc | 2 +- .../src/G4Ne21GEMProbability.cc | 2 +- .../src/G4Ne22GEMProbability.cc | 2 +- .../src/G4Ne23GEMProbability.cc | 2 +- .../src/G4Ne24GEMProbability.cc | 2 +- .../src/G4NeutronGEMChannel.cc | 2 +- .../src/G4NeutronGEMProbability.cc | 2 +- .../src/G4O14GEMProbability.cc | 2 +- .../src/G4O15GEMProbability.cc | 2 +- .../src/G4O16GEMProbability.cc | 2 +- .../src/G4O17GEMProbability.cc | 2 +- .../src/G4O18GEMProbability.cc | 2 +- .../src/G4O19GEMProbability.cc | 2 +- .../src/G4O20GEMProbability.cc | 2 +- .../gem_evaporation/src/G4ProtonGEMChannel.cc | 2 +- .../src/G4ProtonGEMProbability.cc | 2 +- .../gem_evaporation/src/G4TritonGEMChannel.cc | 2 +- .../src/G4TritonGEMProbability.cc | 2 +- .../handler/include/G4ExcitationHandler.hh | 2 +- .../handler/src/G4ExcitationHandler.cc | 55 +- .../include/G4VEvaporationChannel.hh | 2 +- .../include/G4VEvaporationFactory.hh | 2 +- .../management/src/G4VEvaporationChannel.cc | 2 +- .../management/src/G4VEvaporationFactory.cc | 2 +- .../multifragmentation/include/G4Solver.hh | 2 +- .../multifragmentation/include/G4StatMF.hh | 2 +- .../include/G4StatMFChannel.hh | 2 +- .../include/G4StatMFFragment.hh | 2 +- .../include/G4StatMFMacroBiNucleon.hh | 2 +- .../include/G4StatMFMacroChemicalPotential.hh | 2 +- .../include/G4StatMFMacroMultiNucleon.hh | 2 +- .../include/G4StatMFMacroMultiplicity.hh | 2 +- .../include/G4StatMFMacroNucleon.hh | 2 +- .../include/G4StatMFMacroTemperature.hh | 2 +- .../include/G4StatMFMacroTetraNucleon.hh | 2 +- .../include/G4StatMFMacroTriNucleon.hh | 2 +- .../include/G4StatMFMicroCanonical.hh | 2 +- .../include/G4StatMFMicroManager.hh | 2 +- .../include/G4StatMFMicroPartition.hh | 2 +- .../include/G4StatMFParameters.hh | 2 +- .../include/G4VMultiFragmentation.hh | 2 +- .../include/G4VStatMFEnsemble.hh | 2 +- .../include/G4VStatMFMacroCluster.hh | 2 +- .../multifragmentation/src/G4Solver.cc | 2 +- .../multifragmentation/src/G4StatMF.cc | 2 +- .../multifragmentation/src/G4StatMFChannel.cc | 2 +- .../src/G4StatMFFragment.cc | 2 +- .../src/G4StatMFMacroBiNucleon.cc | 2 +- .../src/G4StatMFMacroCanonical.cc | 2 +- .../src/G4StatMFMacroChemicalPotential.cc | 2 +- .../src/G4StatMFMacroMultiNucleon.cc | 2 +- .../src/G4StatMFMacroMultiplicity.cc | 2 +- .../src/G4StatMFMacroNucleon.cc | 2 +- .../src/G4StatMFMacroTemperature.cc | 2 +- .../src/G4StatMFMacroTetraNucleon.cc | 2 +- .../src/G4StatMFMacroTriNucleon.cc | 2 +- .../src/G4StatMFMicroCanonical.cc | 2 +- .../src/G4StatMFMicroManager.cc | 2 +- .../src/G4StatMFMicroPartition.cc | 2 +- .../src/G4StatMFParameters.cc | 2 +- .../src/G4VMultiFragmentation.cc | 2 +- .../src/G4VStatMFEnsemble.cc | 2 +- .../src/G4VStatMFMacroCluster.cc | 2 +- .../src/G4DiscreteGammaDeexcitation.cc | 4 +- .../util/include/G4AlphaCoulombBarrier.hh | 2 +- .../G4CameronGilbertPairingCorrections.hh | 2 +- .../G4CameronGilbertShellCorrections.hh | 2 +- .../G4CameronShellPlusPairingCorrections.hh | 2 +- .../G4CameronTruranHilfPairingCorrections.hh | 2 +- .../G4CameronTruranHilfShellCorrections.hh | 2 +- .../G4ConstantLevelDensityParameter.hh | 2 +- .../util/include/G4CookPairingCorrections.hh | 2 +- .../util/include/G4CookShellCorrections.hh | 2 +- .../util/include/G4CoulombBarrier.hh | 2 +- .../util/include/G4DeuteronCoulombBarrier.hh | 2 +- .../G4EvaporationLevelDensityParameter.hh | 2 +- .../util/include/G4He3CoulombBarrier.hh | 2 +- .../util/include/G4NeutronCoulombBarrier.hh | 2 +- .../util/include/G4PairingCorrection.hh | 2 +- .../util/include/G4ProtonCoulombBarrier.hh | 2 +- .../util/include/G4ShellCorrection.hh | 2 +- .../util/include/G4TritonCoulombBarrier.hh | 2 +- .../util/include/G4VCoulombBarrier.hh | 2 +- .../util/include/G4VEmissionProbability.hh | 2 +- .../util/include/G4VLevelDensityParameter.hh | 2 +- .../util/src/G4AlphaCoulombBarrier.cc | 2 +- .../src/G4CameronGilbertPairingCorrections.cc | 2 +- .../src/G4CameronGilbertShellCorrections.cc | 2 +- .../G4CameronShellPlusPairingCorrections.cc | 2 +- .../G4CameronTruranHilfPairingCorrections.cc | 2 +- .../G4CameronTruranHilfShellCorrections.cc | 2 +- .../util/src/G4CookPairingCorrections.cc | 2 +- .../util/src/G4CookShellCorrections.cc | 2 +- .../util/src/G4CoulombBarrier.cc | 2 +- .../util/src/G4DeuteronCoulombBarrier.cc | 2 +- .../src/G4EvaporationLevelDensityParameter.cc | 2 +- .../util/src/G4He3CoulombBarrier.cc | 2 +- .../util/src/G4NeutronCoulombBarrier.cc | 2 +- .../util/src/G4PairingCorrection.cc | 2 +- .../util/src/G4ProtonCoulombBarrier.cc | 2 +- .../util/src/G4ShellCorrection.cc | 2 +- .../util/src/G4TritonCoulombBarrier.cc | 2 +- .../util/src/G4VCoulombBarrier.cc | 2 +- .../util/src/G4VEmissionProbability.cc | 2 +- .../util/src/G4VLevelDensityParameter.cc | 2 +- .../include/G4HEAntiKaonZeroInelastic.hh | 2 +- .../include/G4HEAntiLambdaInelastic.hh | 2 +- .../include/G4HEAntiNeutronInelastic.hh | 2 +- .../include/G4HEAntiOmegaMinusInelastic.hh | 2 +- .../include/G4HEAntiProtonInelastic.hh | 2 +- .../include/G4HEAntiSigmaMinusInelastic.hh | 2 +- .../include/G4HEAntiSigmaPlusInelastic.hh | 2 +- .../include/G4HEAntiSigmaZeroInelastic.hh | 2 +- .../include/G4HEAntiXiMinusInelastic.hh | 2 +- .../include/G4HEAntiXiZeroInelastic.hh | 2 +- .../high_energy/include/G4HEInelastic.hh | 2 +- .../include/G4HEKaonMinusInelastic.hh | 2 +- .../include/G4HEKaonPlusInelastic.hh | 2 +- .../include/G4HEKaonZeroInelastic.hh | 2 +- .../include/G4HEKaonZeroLongInelastic.hh | 2 +- .../include/G4HEKaonZeroShortInelastic.hh | 2 +- .../include/G4HELambdaInelastic.hh | 2 +- .../include/G4HENeutronInelastic.hh | 2 +- .../include/G4HEOmegaMinusInelastic.hh | 2 +- .../include/G4HEPionMinusInelastic.hh | 2 +- .../include/G4HEPionPlusInelastic.hh | 2 +- .../models/high_energy/include/G4HEPlot.hh | 2 +- .../include/G4HEProtonInelastic.hh | 2 +- .../include/G4HESigmaMinusInelastic.hh | 2 +- .../include/G4HESigmaPlusInelastic.hh | 2 +- .../include/G4HESigmaZeroInelastic.hh | 2 +- .../models/high_energy/include/G4HEVector.hh | 2 +- .../include/G4HEXiMinusInelastic.hh | 2 +- .../include/G4HEXiZeroInelastic.hh | 2 +- .../src/G4HEAntiKaonZeroInelastic.cc | 2 +- .../src/G4HEAntiLambdaInelastic.cc | 2 +- .../src/G4HEAntiNeutronInelastic.cc | 2 +- .../src/G4HEAntiOmegaMinusInelastic.cc | 2 +- .../src/G4HEAntiProtonInelastic.cc | 2 +- .../src/G4HEAntiSigmaMinusInelastic.cc | 2 +- .../src/G4HEAntiSigmaPlusInelastic.cc | 2 +- .../src/G4HEAntiSigmaZeroInelastic.cc | 2 +- .../src/G4HEAntiXiMinusInelastic.cc | 2 +- .../src/G4HEAntiXiZeroInelastic.cc | 2 +- .../high_energy/src/G4HEKaonMinusInelastic.cc | 2 +- .../high_energy/src/G4HEKaonPlusInelastic.cc | 2 +- .../high_energy/src/G4HEKaonZeroInelastic.cc | 2 +- .../src/G4HEKaonZeroLongInelastic.cc | 2 +- .../src/G4HEKaonZeroShortInelastic.cc | 2 +- .../high_energy/src/G4HELambdaInelastic.cc | 2 +- .../high_energy/src/G4HENeutronInelastic.cc | 2 +- .../src/G4HEOmegaMinusInelastic.cc | 2 +- .../high_energy/src/G4HEPionMinusInelastic.cc | 2 +- .../high_energy/src/G4HEPionPlusInelastic.cc | 2 +- .../models/high_energy/src/G4HEPlot.cc | 2 +- .../high_energy/src/G4HEProtonInelastic.cc | 2 +- .../src/G4HESigmaMinusInelastic.cc | 2 +- .../high_energy/src/G4HESigmaPlusInelastic.cc | 2 +- .../high_energy/src/G4HESigmaZeroInelastic.cc | 2 +- .../models/high_energy/src/G4HEVector.cc | 2 +- .../high_energy/src/G4HEXiMinusInelastic.cc | 2 +- .../high_energy/src/G4HEXiZeroInelastic.cc | 2 +- .../include/G4CollisionInitialState.hh | 2 +- .../im_r_matrix/include/G4ListOfCollisions.hh | 2 +- .../src/G4NeutronIsoIsoCrossSections.cc | 2 +- .../leading_particle/include/G4Mars5GeV.hh | 2 +- .../models/leading_particle/src/G4Mars5GeV.cc | 2 +- .../hadronic/models/lll_fission/GNUmakefile | 36 + .../hadronic/models/lll_fission/History | 67 + .../models/lll_fission/include/G4FissLib.hh | 157 + .../lll_fission/include/G4FissionLibrary.hh | 104 + .../lll_fission/include/G4LLNLFission.hh | 252 + .../lll_fission/include/G4fissionEvent.hh | 192 + .../models/lll_fission/src/G4FissLib.cc | 130 + .../lll_fission/src/G4FissionLibrary.cc | 245 + .../models/lll_fission/src/G4LLNLFission.cc | 209 + .../models/lll_fission/src/G4SmpGEng.cc | 115 + .../models/lll_fission/src/G4SmpIsoDir.cc | 91 + .../models/lll_fission/src/G4SmpNEngCf252.cc | 200 + .../models/lll_fission/src/G4SmpNVel.cc | 95 + .../lll_fission/src/G4SmpNuDistDataPu239.cc | 167 + .../src/G4SmpNuDistDataPu239_241.cc | 145 + .../src/G4SmpNuDistDataPu239_241_MC.cc | 137 + .../src/G4SmpNuDistDataU232_234_236_238.cc | 145 + .../src/G4SmpNuDistDataU232_234_236_238_MC.cc | 137 + .../src/G4SmpNuDistDataU233_235.cc | 151 + .../src/G4SmpNuDistDataU233_235_MC.cc | 137 + .../lll_fission/src/G4SmpNuDistDataU235.cc | 195 + .../lll_fission/src/G4SmpNuDistDataU238.cc | 131 + .../models/lll_fission/src/G4SmpNugDist.cc | 155 + .../models/lll_fission/src/G4SmpPVel.cc | 83 + .../lll_fission/src/G4SmpSpNuDistData.cc | 168 + .../lll_fission/src/G4SmpSpNubarData.cc | 112 + .../lll_fission/src/G4SmpSpNugDistData.cc | 151 + .../models/lll_fission/src/G4SmpTerrell.cc | 104 + .../models/lll_fission/src/G4SmpWatt.cc | 172 + .../models/lll_fission/src/G4fissionEvent.cc | 196 + .../models/lll_fission/src/G4fissionerr.cc | 108 + .../hadronic/models/lll_fission/src/G4rngc.cc | 77 + .../models/low_energy/include/G4LCapture.hh | 2 +- .../low_energy/include/G4LEAlphaInelastic.hh | 2 +- .../include/G4LEAntiKaonZeroInelastic.hh | 2 +- .../include/G4LEAntiLambdaInelastic.hh | 2 +- .../include/G4LEAntiNeutronInelastic.hh | 2 +- .../include/G4LEAntiOmegaMinusInelastic.hh | 2 +- .../include/G4LEAntiProtonInelastic.hh | 2 +- .../include/G4LEAntiSigmaMinusInelastic.hh | 2 +- .../include/G4LEAntiSigmaPlusInelastic.hh | 2 +- .../include/G4LEAntiXiMinusInelastic.hh | 2 +- .../include/G4LEAntiXiZeroInelastic.hh | 2 +- .../include/G4LEDeuteronInelastic.hh | 2 +- .../include/G4LEKaonMinusInelastic.hh | 2 +- .../include/G4LEKaonPlusInelastic.hh | 2 +- .../include/G4LEKaonZeroInelastic.hh | 2 +- .../include/G4LEKaonZeroLInelastic.hh | 2 +- .../include/G4LEKaonZeroSInelastic.hh | 2 +- .../low_energy/include/G4LELambdaInelastic.hh | 2 +- .../include/G4LEOmegaMinusInelastic.hh | 2 +- .../include/G4LEPionMinusInelastic.hh | 2 +- .../include/G4LEPionPlusInelastic.hh | 2 +- .../low_energy/include/G4LEProtonInelastic.hh | 2 +- .../include/G4LESigmaMinusInelastic.hh | 2 +- .../include/G4LESigmaPlusInelastic.hh | 2 +- .../low_energy/include/G4LETritonInelastic.hh | 2 +- .../include/G4LEXiMinusInelastic.hh | 2 +- .../low_energy/include/G4LEXiZeroInelastic.hh | 2 +- .../models/low_energy/include/G4LElastic.hh | 2 +- .../models/low_energy/include/G4LFission.hh | 2 +- .../models/low_energy/src/G4LCapture.cc | 2 +- .../src/G4LEAntiKaonZeroInelastic.cc | 2 +- .../low_energy/src/G4LEAntiLambdaInelastic.cc | 2 +- .../src/G4LEAntiNeutronInelastic.cc | 2 +- .../src/G4LEAntiOmegaMinusInelastic.cc | 2 +- .../low_energy/src/G4LEAntiProtonInelastic.cc | 2 +- .../src/G4LEAntiSigmaMinusInelastic.cc | 2 +- .../src/G4LEAntiSigmaPlusInelastic.cc | 2 +- .../src/G4LEAntiXiMinusInelastic.cc | 2 +- .../low_energy/src/G4LEAntiXiZeroInelastic.cc | 2 +- .../low_energy/src/G4LEKaonMinusInelastic.cc | 2 +- .../low_energy/src/G4LEKaonPlusInelastic.cc | 2 +- .../low_energy/src/G4LEKaonZeroInelastic.cc | 2 +- .../low_energy/src/G4LELambdaInelastic.cc | 2 +- .../low_energy/src/G4LEOmegaMinusInelastic.cc | 2 +- .../low_energy/src/G4LEPionPlusInelastic.cc | 2 +- .../low_energy/src/G4LESigmaMinusInelastic.cc | 2 +- .../low_energy/src/G4LESigmaPlusInelastic.cc | 2 +- .../low_energy/src/G4LEXiMinusInelastic.cc | 2 +- .../low_energy/src/G4LEXiZeroInelastic.cc | 2 +- .../models/low_energy/src/G4LFission.cc | 2 +- .../include/G4HadronicInteraction.hh | 2 +- .../include/G4InelasticInteraction.hh | 2 +- .../models/management/include/G4V3DNucleus.hh | 2 +- .../include/G4VHighEnergyGenerator.hh | 2 +- .../include/G4VIntraNuclearTransportModel.hh | 2 +- .../management/include/G4VKineticNucleon.hh | 2 +- .../management/include/G4VNuclearDensity.hh | 2 +- .../management/include/G4VPreCompoundModel.hh | 2 +- .../models/management/src/G4V3DNucleus.cc | 2 +- .../management/src/G4VHighEnergyGenerator.cc | 2 +- .../src/G4VIntraNuclearTransportModel.cc | 2 +- .../management/src/G4VKineticNucleon.cc | 2 +- .../management/src/G4VNuclearDensity.cc | 2 +- .../management/src/G4VPreCompoundModel.cc | 2 +- .../hadronic/models/neutron_hp/History | 76 + .../include/G4InterpolationIterator.hh | 2 +- .../include/G4InterpolationManager.hh | 16 +- .../include/G4InterpolationScheme.hh | 2 +- .../include/G4NeutronHP2AInelasticFS.hh | 2 +- .../include/G4NeutronHP2N2AInelasticFS.hh | 2 +- .../include/G4NeutronHP2NAInelasticFS.hh | 2 +- .../include/G4NeutronHP2NDInelasticFS.hh | 2 +- .../include/G4NeutronHP2NInelasticFS.hh | 2 +- .../include/G4NeutronHP2NPInelasticFS.hh | 2 +- .../include/G4NeutronHP2PInelasticFS.hh | 2 +- .../include/G4NeutronHP3AInelasticFS.hh | 2 +- .../include/G4NeutronHP3NAInelasticFS.hh | 2 +- .../include/G4NeutronHP3NInelasticFS.hh | 2 +- .../include/G4NeutronHP3NPInelasticFS.hh | 2 +- .../include/G4NeutronHP4NInelasticFS.hh | 2 +- .../include/G4NeutronHPAInelasticFS.hh | 2 +- .../neutron_hp/include/G4NeutronHPAngular.hh | 16 +- .../neutron_hp/include/G4NeutronHPAngularP.hh | 12 +- .../include/G4NeutronHPArbitaryTab.hh | 8 +- .../neutron_hp/include/G4NeutronHPCapture.hh | 2 +- .../include/G4NeutronHPCaptureData.hh | 2 +- .../include/G4NeutronHPCaptureFS.hh | 2 +- .../neutron_hp/include/G4NeutronHPChannel.hh | 31 +- .../include/G4NeutronHPChannelList.hh | 2 +- .../include/G4NeutronHPContAngularPar.hh | 10 +- .../include/G4NeutronHPContEnergyAngular.hh | 8 +- .../include/G4NeutronHPD2AInelasticFS.hh | 2 +- .../include/G4NeutronHPDAInelasticFS.hh | 2 +- .../include/G4NeutronHPDInelasticFS.hh | 2 +- .../neutron_hp/include/G4NeutronHPData.hh | 2 +- .../include/G4NeutronHPDataPoint.hh | 2 +- .../include/G4NeutronHPDeExGammas.hh | 20 +- .../include/G4NeutronHPDiscreteTwoBody.hh | 8 +- .../neutron_hp/include/G4NeutronHPElastic.hh | 2 +- .../include/G4NeutronHPElasticData.hh | 2 +- .../include/G4NeutronHPElasticFS.hh | 12 +- .../include/G4NeutronHPElementData.hh | 2 +- .../include/G4NeutronHPEnAngCorrelation.hh | 8 +- .../include/G4NeutronHPEnergyDistribution.hh | 8 +- .../include/G4NeutronHPEvapSpectrum.hh | 2 +- .../include/G4NeutronHPFCFissionFS.hh | 6 +- .../include/G4NeutronHPFSFissionFS.hh | 6 +- .../include/G4NeutronHPFastLegendre.hh | 2 +- .../neutron_hp/include/G4NeutronHPField.hh | 2 +- .../include/G4NeutronHPFieldPoint.hh | 6 +- .../include/G4NeutronHPFinalState.hh | 8 +- .../neutron_hp/include/G4NeutronHPFission.hh | 2 +- .../include/G4NeutronHPFissionBaseFS.hh | 6 +- .../include/G4NeutronHPFissionData.hh | 2 +- .../include/G4NeutronHPFissionERelease.hh | 18 +- .../include/G4NeutronHPFissionFS.hh | 2 +- .../include/G4NeutronHPFissionSpectrum.hh | 2 +- .../neutron_hp/include/G4NeutronHPGamma.hh | 6 +- .../include/G4NeutronHPHe3InelasticFS.hh | 2 +- .../include/G4NeutronHPInelastic.hh | 2 +- .../include/G4NeutronHPInelasticBaseFS.hh | 20 +- .../include/G4NeutronHPInelasticCompFS.hh | 28 +- .../include/G4NeutronHPInelasticData.hh | 2 +- .../include/G4NeutronHPInterpolator.hh | 2 +- .../neutron_hp/include/G4NeutronHPIsoData.hh | 18 +- .../include/G4NeutronHPIsotropic.hh | 2 +- .../include/G4NeutronHPKallbachMannSyst.hh | 2 +- .../include/G4NeutronHPLCFissionFS.hh | 6 +- .../include/G4NeutronHPLabAngularEnergy.hh | 20 +- .../include/G4NeutronHPLegendreStore.hh | 2 +- .../include/G4NeutronHPLegendreTable.hh | 10 +- .../neutron_hp/include/G4NeutronHPLevel.hh | 6 +- .../include/G4NeutronHPMadlandNixSpectrum.hh | 2 +- .../include/G4NeutronHPN2AInelasticFS.hh | 2 +- .../include/G4NeutronHPN2PInelasticFS.hh | 2 +- .../include/G4NeutronHPN3AInelasticFS.hh | 2 +- .../include/G4NeutronHPNAInelasticFS.hh | 2 +- .../include/G4NeutronHPNBodyPhaseSpace.hh | 2 +- .../include/G4NeutronHPND2AInelasticFS.hh | 2 +- .../include/G4NeutronHPNDInelasticFS.hh | 2 +- .../include/G4NeutronHPNHe3InelasticFS.hh | 2 +- .../include/G4NeutronHPNInelasticFS.hh | 2 +- .../include/G4NeutronHPNPAInelasticFS.hh | 2 +- .../include/G4NeutronHPNPInelasticFS.hh | 2 +- .../include/G4NeutronHPNT2AInelasticFS.hh | 2 +- .../include/G4NeutronHPNTInelasticFS.hh | 2 +- .../include/G4NeutronHPNXInelasticFS.hh | 2 +- .../neutron_hp/include/G4NeutronHPNames.hh | 2 +- .../include/G4NeutronHPNeutronYield.hh | 2 +- .../include/G4NeutronHPPAInelasticFS.hh | 2 +- .../include/G4NeutronHPPDInelasticFS.hh | 2 +- .../include/G4NeutronHPPInelasticFS.hh | 2 +- .../include/G4NeutronHPPTInelasticFS.hh | 2 +- .../neutron_hp/include/G4NeutronHPPartial.hh | 13 +- .../include/G4NeutronHPPhotonDist.hh | 104 +- .../include/G4NeutronHPPhotonXSection.hh | 24 +- .../include/G4NeutronHPPolynomExpansion.hh | 8 +- .../neutron_hp/include/G4NeutronHPProduct.hh | 14 +- .../include/G4NeutronHPSCFissionFS.hh | 6 +- .../include/G4NeutronHPSimpleEvapSpectrum.hh | 2 +- .../include/G4NeutronHPT2AInelasticFS.hh | 2 +- .../include/G4NeutronHPTCFissionFS.hh | 6 +- .../include/G4NeutronHPTInelasticFS.hh | 2 +- .../neutron_hp/include/G4NeutronHPVector.hh | 13 +- .../include/G4NeutronHPWattSpectrum.hh | 2 +- .../neutron_hp/include/G4VNeutronHPEDis.hh | 2 +- .../include/G4VNeutronHPEnergyAngular.hh | 10 +- .../neutron_hp/src/G4NeutronHPAngular.cc | 10 +- .../neutron_hp/src/G4NeutronHPCapture.cc | 11 +- .../neutron_hp/src/G4NeutronHPCaptureData.cc | 32 +- .../neutron_hp/src/G4NeutronHPCaptureFS.cc | 9 +- .../neutron_hp/src/G4NeutronHPChannel.cc | 19 +- .../neutron_hp/src/G4NeutronHPChannelList.cc | 11 +- .../neutron_hp/src/G4NeutronHPElastic.cc | 11 +- .../neutron_hp/src/G4NeutronHPElasticData.cc | 35 +- .../neutron_hp/src/G4NeutronHPElasticFS.cc | 2 +- .../neutron_hp/src/G4NeutronHPElementData.cc | 14 +- .../src/G4NeutronHPEnAngCorrelation.cc | 6 +- .../neutron_hp/src/G4NeutronHPFSFissionFS.cc | 2 +- .../neutron_hp/src/G4NeutronHPFieldPoint.cc | 4 +- .../neutron_hp/src/G4NeutronHPFission.cc | 10 +- .../src/G4NeutronHPFissionBaseFS.cc | 2 +- .../neutron_hp/src/G4NeutronHPFissionData.cc | 4 +- .../neutron_hp/src/G4NeutronHPFissionFS.cc | 12 +- .../models/neutron_hp/src/G4NeutronHPGamma.cc | 2 +- .../neutron_hp/src/G4NeutronHPInelastic.cc | 17 +- .../src/G4NeutronHPInelasticBaseFS.cc | 48 +- .../src/G4NeutronHPInelasticCompFS.cc | 104 +- .../src/G4NeutronHPInelasticData.cc | 34 +- .../neutron_hp/src/G4NeutronHPIsoData.cc | 32 +- .../neutron_hp/src/G4NeutronHPJENDLHEData.cc | 2 +- .../models/neutron_hp/src/G4NeutronHPLevel.cc | 4 +- .../src/G4NeutronHPNBodyPhaseSpace.cc | 2 +- .../models/neutron_hp/src/G4NeutronHPNames.cc | 275 +- .../neutron_hp/src/G4NeutronHPPhotonDist.cc | 259 +- .../neutron_hp/src/G4NeutronHPProduct.cc | 6 +- .../src/G4NeutronHPThermalScattering.cc | 22 +- .../src/G4NeutronHPThermalScatteringData.cc | 6 +- .../neutron_hp/src/G4NeutronHPVector.cc | 45 +- .../neutron_hp/src/G4NeutronHPorLCapture.cc | 6 +- .../src/G4NeutronHPorLEInelastic.cc | 6 +- .../neutron_hp/src/G4NeutronHPorLElastic.cc | 6 +- .../neutron_hp/src/G4NeutronHPorLFission.cc | 6 +- .../hadronic/models/parton_string/History | 12 + .../include/G4DiffractiveExcitation.hh | 2 +- .../include/G4DiffractiveSplitableHadron.hh | 2 +- .../diffraction/include/G4FTFModel.hh | 2 +- .../diffraction/include/G4FTFParticipants.hh | 2 +- .../src/G4DiffractiveExcitation.cc | 96 +- .../src/G4DiffractiveSplitableHadron.cc | 2 +- .../diffraction/src/G4FTFModel.cc | 2 +- .../diffraction/src/G4FTFParticipants.cc | 2 +- .../include/G4ExcitedStringDecay.hh | 2 +- .../include/G4FragmentingString.hh | 2 +- .../hadronization/include/G4HadronBuilder.hh | 2 +- .../include/G4LundStringFragmentation.hh | 2 +- .../include/G4QGSMFragmentation.hh | 2 +- .../include/G4VKinkyStringDecay.hh | 2 +- .../include/G4VLongitudinalStringDecay.hh | 2 +- .../hadronization/src/G4HadronBuilder.cc | 2 +- .../src/G4LundStringFragmentation.cc | 2 +- .../hadronization/src/G4QGSMFragmentation.cc | 2 +- .../hadronization/src/G4VKinkyStringDecay.cc | 2 +- .../src/G4VLongitudinalStringDecay.cc | 2 +- .../management/include/G4EventGenerator.hh | 2 +- .../management/include/G4FTFCrossSection.hh | 2 +- .../management/include/G4InteractionCode.hh | 2 +- .../include/G4InteractionContent.hh | 2 +- .../include/G4PomeronCrossSection.hh | 2 +- .../management/include/G4StringModel.hh | 2 +- .../management/include/G4VParticipants.hh | 2 +- .../include/G4VPartonStringModel.hh | 2 +- .../management/include/G4VSplitableHadron.hh | 2 +- .../include/G4VStringFragmentation.hh | 2 +- .../management/include/G4VertexCode.hh | 2 +- .../management/src/G4EventGenerator.cc | 2 +- .../management/src/G4FTFCrossSection.cc | 2 +- .../management/src/G4InteractionContent.cc | 2 +- .../management/src/G4PomeronCrossSection.cc | 2 +- .../management/src/G4StringModel.cc | 2 +- .../management/src/G4VParticipants.cc | 2 +- .../management/src/G4VPartonStringModel.cc | 2 +- .../management/src/G4VSplitableHadron.cc | 2 +- .../management/src/G4VStringFragmentation.cc | 2 +- .../include/G4QGSDiffractiveExcitation.hh | 90 + .../qgsm/include/G4QGSParticipants.hh | 4 +- .../include/G4SingleDiffractiveExcitation.hh | 6 +- .../qgsm/src/G4QGSDiffractiveExcitation.cc | 502 + .../src/G4SingleDiffractiveExcitation.cc | 4 +- .../include/G4MuNuclearInteraction.hh | 2 +- .../include/G4MuNuclearInteraction.icc | 2 +- .../src/G4MuNuclearInteraction.cc | 2 +- .../src/G4MuonNucleusInteractionModel.cc | 2 +- .../src/G4ParametrizedHadronicVertex.cc | 2 +- .../include/G4LowEIonFragmentation.hh | 2 +- .../include/G4PreCompoundAlpha.hh | 2 +- .../include/G4PreCompoundDeuteron.hh | 2 +- .../include/G4PreCompoundEmission.hh | 2 +- .../include/G4PreCompoundFragmentVector.hh | 2 +- .../include/G4PreCompoundFragmentVector.icc | 2 +- .../exciton_model/include/G4PreCompoundHe3.hh | 2 +- .../include/G4PreCompoundModel.hh | 2 +- .../include/G4PreCompoundNeutron.hh | 2 +- .../include/G4PreCompoundParameters.hh | 2 +- .../include/G4PreCompoundProton.hh | 2 +- .../include/G4PreCompoundTransitions.hh | 2 +- .../include/G4PreCompoundTriton.hh | 2 +- .../include/G4VPreCompoundFragment.hh | 2 +- .../include/G4VPreCompoundFragment.icc | 2 +- .../include/G4VPreCompoundIon.hh | 2 +- .../include/G4VPreCompoundNucleon.hh | 2 +- .../src/G4PreCompoundFragmentVector.cc | 2 +- .../exciton_model/src/G4PreCompoundModel.cc | 2 +- .../src/G4PreCompoundParameters.cc | 2 +- .../src/G4PreCompoundTransitions.cc | 2 +- .../src/G4VPreCompoundFragment.cc | 2 +- .../exciton_model/src/G4VPreCompoundIon.cc | 2 +- .../src/G4VPreCompoundNucleon.cc | 2 +- .../hadronic/models/radioactive_decay/History | 7 + .../radioactive_decay/src/G4RIsotopeTable.cc | 3 +- .../src/G4RadioactiveDecay.cc | 4 +- .../include/G4QuasiElasticChannel.hh | 2 +- .../include/G4TheoFSGenerator.hh | 2 +- .../src/G4QuasiElasticChannel.cc | 2 +- .../theo_high_energy/src/G4TheoFSGenerator.cc | 2 +- source/processes/hadronic/models/util/History | 2 +- .../include/G4ElectronNuclearProcess.hh | 2 +- .../include/G4PhotoNuclearProcess.hh | 2 +- .../processes/src/G4ElectronNuclearProcess.cc | 2 +- .../processes/src/G4PhotoNuclearProcess.cc | 2 +- .../include/G4MuMinusCaptureCascade.hh | 2 +- .../include/G4MuonMinusCaptureAtRest.hh | 2 +- .../stopping/include/G4StopElementSelector.hh | 2 +- .../stopping/src/G4MuMinusCaptureCascade.cc | 2 +- .../stopping/src/G4MuonMinusCaptureAtRest.cc | 2 +- .../stopping/src/G4StopElementSelector.cc | 2 +- source/processes/hadronic/util/History | 35 + .../util/include/G4EffectiveCharge.hh | 181 - .../hadronic/util/include/G4Fuzzy.hh | 46 - .../util/include/G4HadronicException.hh | 11 +- .../hadronic/util/src/G4ReactionDynamics.cc | 51 +- .../include/G4IVContinuousDiscreteProcess.hh | 2 +- .../include/G4IVRestDiscreteProcess.hh | 2 +- .../management/include/G4ParticleTypes.hh | 2 +- .../management/include/G4ProcTblElement.hh | 2 +- .../management/include/G4ProcTblElement.icc | 2 +- .../management/include/G4ProcessAttribute.hh | 2 +- .../management/include/G4ProcessManager.hh | 10 +- .../management/include/G4ProcessManager.icc | 4 +- .../include/G4ProcessManagerMessenger.hh | 2 +- .../management/include/G4ProcessTable.hh | 2 +- .../management/include/G4ProcessTable.icc | 2 +- .../include/G4ProcessTableMessenger.hh | 2 +- .../management/include/G4ProcessType.hh | 2 +- .../management/include/G4ProcessVector.hh | 2 +- .../management/include/G4ProcessVector.icc | 2 +- .../include/G4VContinuousDiscreteProcess.hh | 2 +- .../include/G4VContinuousProcess.hh | 2 +- .../management/include/G4VDiscreteProcess.hh | 2 +- .../management/include/G4VProcess.hh | 2 +- .../G4VRestContinuousDiscreteProcess.hh | 2 +- .../include/G4VRestContinuousProcess.hh | 2 +- .../include/G4VRestDiscreteProcess.hh | 2 +- .../management/include/G4VRestProcess.hh | 2 +- .../management/include/G4WrapperProcess.hh | 23 +- .../src/G4IVContinuousDiscreteProcess.cc | 2 +- .../management/src/G4IVRestDiscreteProcess.cc | 2 +- .../management/src/G4ProcTblElement.cc | 2 +- .../management/src/G4ProcessAttribute.cc | 2 +- .../management/src/G4ProcessManager.cc | 2 +- .../src/G4ProcessManagerMessenger.cc | 2 +- .../management/src/G4ProcessTable.cc | 2 +- .../management/src/G4ProcessTableMessenger.cc | 2 +- .../management/src/G4ProcessVector.cc | 2 +- .../src/G4VContinuousDiscreteProcess.cc | 2 +- .../management/src/G4VContinuousProcess.cc | 2 +- .../management/src/G4VDiscreteProcess.cc | 2 +- source/processes/management/src/G4VProcess.cc | 2 +- .../src/G4VRestContinuousDiscreteProcess.cc | 2 +- .../src/G4VRestContinuousProcess.cc | 2 +- .../management/src/G4VRestDiscreteProcess.cc | 2 +- .../management/src/G4VRestProcess.cc | 2 +- source/processes/optical/History | 5 + .../optical/include/G4OpAbsorption.hh | 2 +- .../optical/include/G4OpBoundaryProcess.hh | 6 +- .../processes/optical/include/G4OpRayleigh.hh | 2 +- source/processes/optical/include/G4OpWLS.hh | 2 +- .../processes/optical/src/G4OpAbsorption.cc | 2 +- .../optical/src/G4OpBoundaryProcess.cc | 4 +- source/processes/optical/src/G4OpRayleigh.cc | 2 +- source/processes/optical/src/G4OpWLS.cc | 2 +- source/processes/parameterisation/History | 13 +- .../include/G4FastSimulationManager.hh | 15 +- .../include/G4FastSimulationManagerProcess.hh | 190 +- .../G4FastSimulationManagerProcess81.hh | 161 - .../include/G4FastSimulationMessenger.hh | 16 +- .../parameterisation/include/G4FastStep.hh | 2 +- .../parameterisation/include/G4FastStep.icc | 2 +- .../parameterisation/include/G4FastTrack.hh | 34 +- .../include/G4FlavoredParallelWorld.hh | 92 - .../include/G4GFSManager81.hh | 73 - .../include/G4GlobalFastSimulationManager.hh | 68 +- .../include/G4VFastSimulationModel.hh | 2 +- .../src/G4FastSimulationManager.cc | 88 +- .../src/G4FastSimulationManagerProcess.cc | 669 +- .../src/G4FastSimulationManagerProcess81.cc | 314 - .../src/G4FastSimulationMessenger.cc | 13 +- .../parameterisation/src/G4FastStep.cc | 2 +- .../parameterisation/src/G4FastTrack.cc | 2 +- .../parameterisation/src/G4GFSManager81.cc | 167 - .../src/G4GlobalFastSimulationManager.cc | 121 +- .../src/G4VFastSimulationModel.cc | 36 +- source/processes/scoring/History | 21 +- .../scoring/include/G4NewProcessPlacer.hh | 94 - .../include/G4NewWeightCutOffConfigurator.hh | 84 - .../include/G4ParallelWorldScoringProcess.hh | 4 +- .../scoring/include/G4ScoreProcess.hh | 164 - .../scoring/src/G4NewProcessPlacer.cc | 207 - .../src/G4NewWeightCutOffConfigurator.cc | 86 - .../src/G4ParallelWorldScoringProcess.cc | 4 +- .../scoring/src/G4ScoreConfigurator.cc | 84 - .../processes/scoring/src/G4ScoreProcess.cc | 413 - source/processes/transportation/History | 34 +- .../include/G4CoupledTransportation.hh | 2 +- .../include/G4CoupledTransportation.icc | 2 +- .../include/G4MImportanceConfigurator.hh | 79 - .../transportation/include/G4MScoreProcess.hh | 109 - .../include/G4MWeightWindowConfigurator.hh | 79 - .../include/G4MassGCellFinder.hh | 60 - .../include/G4MassGeometrySampler.hh | 100 - .../include/G4MassImportanceProcess.hh | 114 - .../include/G4MassWeightWindowProcess.hh | 120 - .../transportation/include/G4NeutronKiller.hh | 2 +- .../include/G4NeutronKillerMessenger.hh | 2 +- .../include/G4PImportanceConfigurator.hh | 80 - .../include/G4PScoreConfigurator.hh | 77 - .../transportation/include/G4PScoreProcess.hh | 117 - .../include/G4PWeightWindowConfigurator.hh | 84 - .../include/G4ParallelGeometrySampler.hh | 107 - .../include/G4ParallelImportanceProcess.hh | 89 - .../include/G4ParallelTransport.hh | 135 - .../G4ParallelTransportConfigurator.hh | 72 - .../include/G4ParallelWWnTransportProcess.hh | 94 - .../include/G4ParallelWeightWindowProcess.hh | 125 - .../transportation/include/G4PlaceOfAction.hh | 49 - .../transportation/include/G4StepLimiter.hh | 2 +- .../include/G4TrackTerminator.hh | 2 +- .../include/G4Transportation.hh | 2 +- .../include/G4Transportation.icc | 2 +- .../include/G4UserSpecialCuts.hh | 2 +- .../include/G4VProcessPlacer.hh | 70 - .../include/G4VTrackTerminator.hh | 8 +- .../include/G4WeightCutOffProcess.hh | 109 - .../src/G4CoupledTransportation.cc | 2 +- .../src/G4MImportanceConfigurator.cc | 94 - .../src/G4MScoreConfigurator.cc | 75 - .../transportation/src/G4MScoreProcess.cc | 142 - .../src/G4MWeightWindowConfigurator.cc | 90 - .../src/G4MassGeometrySampler.cc | 216 - .../src/G4MassImportanceProcess.cc | 156 - .../src/G4MassWeightWindowProcess.cc | 156 - .../transportation/src/G4NeutronKiller.cc | 2 +- .../src/G4NeutronKillerMessenger.cc | 2 +- .../src/G4PImportanceConfigurator.cc | 102 - .../transportation/src/G4PScoreProcess.cc | 121 - .../src/G4PWeightWindowConfigurator.cc | 113 - .../src/G4ParallelGeometrySampler.cc | 254 - .../src/G4ParallelImportanceProcess.cc | 101 - .../transportation/src/G4ParallelTransport.cc | 178 - .../src/G4ParallelTransportConfigurator.cc | 74 - .../src/G4ParallelWWnTransportProcess.cc | 104 - .../src/G4ParallelWeightWindowProcess.cc | 154 - .../transportation/src/G4StepLimiter.cc | 2 +- .../transportation/src/G4Transportation.cc | 2 +- .../transportation/src/G4UserSpecialCuts.cc | 2 +- .../transportation/src/G4VTrackTerminator.cc | 9 +- .../src/G4WeightCutOffProcess.cc | 147 - source/readout/include/G4DCtable.hh | 2 +- source/readout/include/G4DMmessenger.hh | 2 +- source/readout/include/G4DigiManager.hh | 2 +- source/readout/include/G4VDigitizerModule.hh | 2 +- source/readout/src/G4DCtable.cc | 2 +- source/readout/src/G4DMmessenger.cc | 2 +- source/readout/src/G4DigiManager.cc | 2 +- source/readout/src/G4VDigitizerModule.cc | 2 +- source/run/History | 37 +- source/run/include/G4ExceptionHandler.hh | 2 +- source/run/include/G4MSSteppingAction.hh | 2 +- source/run/include/G4MatScanMessenger.hh | 2 +- source/run/include/G4MaterialScanner.hh | 2 +- source/run/include/G4Run.hh | 2 +- source/run/include/G4RunManager.hh | 7 +- source/run/include/G4RunManagerKernel.hh | 13 +- source/run/include/G4RunMessenger.hh | 2 +- .../run/include/G4UserPhysicsListMessenger.hh | 4 +- source/run/include/G4UserRunAction.hh | 2 +- source/run/include/G4VModularPhysicsList.hh | 2 +- source/run/include/G4VPersistencyManager.hh | 2 +- source/run/include/G4VPhysicsConstructor.hh | 2 +- .../include/G4VUserDetectorConstruction.hh | 8 +- source/run/include/G4VUserParallelWorld.hh | 2 +- source/run/include/G4VUserPhysicsList.hh | 7 +- .../include/G4VUserPrimaryGeneratorAction.hh | 2 +- source/run/src/G4ExceptionHandler.cc | 2 +- source/run/src/G4MSSteppingAction.cc | 2 +- source/run/src/G4MatScanMessenger.cc | 2 +- source/run/src/G4MaterialScanner.cc | 2 +- source/run/src/G4Run.cc | 2 +- source/run/src/G4RunManager.cc | 16 +- source/run/src/G4RunManagerKernel.cc | 77 +- source/run/src/G4RunMessenger.cc | 2 +- source/run/src/G4UserPhysicsListMessenger.cc | 15 +- source/run/src/G4UserRunAction.cc | 2 +- source/run/src/G4VModularPhysicsList.cc | 5 +- source/run/src/G4VPersistencyManager.cc | 2 +- source/run/src/G4VUserDetectorConstruction.cc | 13 +- source/run/src/G4VUserParallelWorld.cc | 2 +- source/run/src/G4VUserPhysicsList.cc | 32 +- .../run/src/G4VUserPrimaryGeneratorAction.cc | 2 +- source/track/History | 12 +- source/track/include/G4FieldTrackUpdator.hh | 2 +- source/track/include/G4ForceCondition.hh | 2 +- source/track/include/G4GPILSelection.hh | 2 +- source/track/include/G4ParticleChange.hh | 25 +- source/track/include/G4ParticleChange.icc | 22 +- .../track/include/G4ParticleChangeForDecay.hh | 2 +- .../track/include/G4ParticleChangeForGamma.hh | 2 +- .../track/include/G4ParticleChangeForLoss.hh | 2 +- .../track/include/G4ParticleChangeForMSC.icc | 2 +- .../include/G4ParticleChangeForRadDecay.hh | 2 +- .../include/G4ParticleChangeForTransport.hh | 2 +- .../include/G4ParticleChangeForTransport.icc | 2 +- source/track/include/G4Step.hh | 16 +- source/track/include/G4Step.icc | 17 +- source/track/include/G4StepPoint.hh | 13 +- source/track/include/G4StepPoint.icc | 13 +- source/track/include/G4StepStatus.hh | 2 +- source/track/include/G4SteppingControl.hh | 2 +- source/track/include/G4Track.hh | 2 +- source/track/include/G4Track.icc | 2 +- source/track/include/G4TrackFastVector.hh | 2 +- source/track/include/G4TrackStatus.hh | 2 +- source/track/include/G4TrackVector.hh | 2 +- source/track/include/G4VParticleChange.hh | 17 +- source/track/include/G4VParticleChange.icc | 18 +- .../track/include/G4VUserTrackInformation.hh | 2 +- source/track/src/G4FieldTrackUpdator.cc | 2 +- source/track/src/G4ParticleChange.cc | 50 +- source/track/src/G4ParticleChangeForDecay.cc | 2 +- source/track/src/G4ParticleChangeForGamma.cc | 2 +- source/track/src/G4ParticleChangeForLoss.cc | 2 +- source/track/src/G4ParticleChangeForMSC.cc | 2 +- .../track/src/G4ParticleChangeForTransport.cc | 2 +- source/track/src/G4Step.cc | 2 +- source/track/src/G4StepPoint.cc | 8 +- source/track/src/G4Track.cc | 2 +- source/track/src/G4VParticleChange.cc | 12 +- source/track/src/G4VUserTrackInformation.cc | 2 +- source/tracking/History | 7 +- source/tracking/include/G4RichTrajectory.hh | 2 +- .../tracking/include/G4RichTrajectoryPoint.hh | 2 +- source/tracking/include/G4SmoothTrajectory.hh | 2 +- .../include/G4SmoothTrajectoryPoint.hh | 2 +- source/tracking/include/G4SteppingManager.hh | 2 +- source/tracking/include/G4SteppingVerbose.hh | 2 +- source/tracking/include/G4TrackingManager.hh | 2 +- .../tracking/include/G4TrackingMessenger.hh | 2 +- source/tracking/include/G4Trajectory.hh | 2 +- source/tracking/include/G4TrajectoryPoint.hh | 2 +- .../tracking/include/G4UserSteppingAction.hh | 2 +- .../tracking/include/G4UserTrackingAction.hh | 2 +- source/tracking/include/G4VSteppingVerbose.hh | 2 +- source/tracking/include/G4VTrajectory.hh | 2 +- source/tracking/include/G4VTrajectoryPoint.hh | 2 +- source/tracking/src/G4RichTrajectory.cc | 2 +- source/tracking/src/G4RichTrajectoryPoint.cc | 2 +- source/tracking/src/G4SmoothTrajectory.cc | 2 +- .../tracking/src/G4SmoothTrajectoryPoint.cc | 2 +- source/tracking/src/G4SteppingManager.cc | 10 +- source/tracking/src/G4SteppingManager2.cc | 2 +- source/tracking/src/G4SteppingVerbose.cc | 2 +- source/tracking/src/G4TrackingManager.cc | 2 +- source/tracking/src/G4TrackingMessenger.cc | 2 +- source/tracking/src/G4Trajectory.cc | 2 +- source/tracking/src/G4TrajectoryPoint.cc | 2 +- source/tracking/src/G4UserSteppingAction.cc | 2 +- source/tracking/src/G4UserTrackingAction.cc | 2 +- source/tracking/src/G4VSteppingVerbose.cc | 2 +- source/tracking/src/G4VTrajectory.cc | 2 +- source/tracking/src/G4VTrajectoryPoint.cc | 2 +- .../FukuiRenderer/include/G4DAWNFILE.hh | 2 +- .../include/G4DAWNFILESceneHandler.hh | 2 +- .../FukuiRenderer/include/G4DAWNFILEViewer.hh | 2 +- .../FukuiRenderer/include/G4FRClientServer.hh | 2 +- .../FukuiRenderer/include/G4FRConst.hh | 2 +- .../FukuiRenderer/include/G4FRFeatures.hh | 2 +- .../FukuiRenderer/include/G4FRSceneFunc.icc | 2 +- .../FukuiRenderer/include/G4FRofstream.hh | 2 +- .../FukuiRenderer/include/G4FukuiRenderer.hh | 2 +- .../include/G4FukuiRendererSceneHandler.hh | 2 +- .../include/G4FukuiRendererViewer.hh | 2 +- .../FukuiRenderer/src/G4DAWNFILE.cc | 2 +- .../src/G4DAWNFILESceneHandler.cc | 2 +- .../FukuiRenderer/src/G4DAWNFILEViewer.cc | 2 +- .../FukuiRenderer/src/G4FRClientServer.cc | 2 +- .../FukuiRenderer/src/G4FukuiRenderer.cc | 2 +- .../src/G4FukuiRendererSceneHandler.cc | 2 +- .../src/G4FukuiRendererViewer.cc | 2 +- source/visualization/HepRep/History | 5 +- .../visualization/HepRep/include/G4HepRep.hh | 2 +- .../HepRep/include/G4HepRepFile.hh | 2 +- .../include/G4HepRepFileSceneHandler.hh | 2 +- .../HepRep/include/G4HepRepFileViewer.hh | 2 +- .../HepRep/include/G4HepRepMessenger.hh | 2 +- .../HepRep/include/G4HepRepSceneHandler.hh | 2 +- .../HepRep/include/G4HepRepViewer.hh | 2 +- source/visualization/HepRep/src/G4HepRep.cc | 2 +- .../visualization/HepRep/src/G4HepRepFile.cc | 9 +- .../HepRep/src/G4HepRepFileSceneHandler.cc | 2 +- .../HepRep/src/G4HepRepFileViewer.cc | 2 +- .../HepRep/src/G4HepRepMessenger.cc | 2 +- .../HepRep/src/G4HepRepSceneHandler.cc | 2 +- .../HepRep/src/G4HepRepViewer.cc | 2 +- source/visualization/History | 57 +- source/visualization/OpenGL/History | 49 +- .../visualization/OpenGL/include/G4OpenGL.hh | 2 +- .../OpenGL/include/G4OpenGLBitMapStore.hh | 2 +- .../OpenGL/include/G4OpenGLFontBaseStore.hh | 2 +- .../include/G4OpenGLImmediateSceneHandler.hh | 26 +- .../OpenGL/include/G4OpenGLImmediateViewer.hh | 2 +- .../OpenGL/include/G4OpenGLImmediateWin32.hh | 2 +- .../include/G4OpenGLImmediateWin32Viewer.hh | 2 +- .../OpenGL/include/G4OpenGLImmediateX.hh | 2 +- .../include/G4OpenGLImmediateXViewer.hh | 2 +- .../OpenGL/include/G4OpenGLImmediateXm.hh | 2 +- .../include/G4OpenGLImmediateXmViewer.hh | 2 +- .../OpenGL/include/G4OpenGLSceneHandler.hh | 33 +- .../OpenGL/include/G4OpenGLSceneHandler.icc | 2 +- .../include/G4OpenGLStoredSceneHandler.hh | 33 +- .../OpenGL/include/G4OpenGLStoredViewer.hh | 2 +- .../OpenGL/include/G4OpenGLStoredWin32.hh | 2 +- .../include/G4OpenGLStoredWin32Viewer.hh | 2 +- .../OpenGL/include/G4OpenGLStoredX.hh | 2 +- .../OpenGL/include/G4OpenGLStoredXViewer.hh | 2 +- .../OpenGL/include/G4OpenGLStoredXm.hh | 2 +- .../OpenGL/include/G4OpenGLStoredXmViewer.hh | 2 +- .../OpenGL/include/G4OpenGLTransform3D.hh | 2 +- .../OpenGL/include/G4OpenGLViewer.hh | 29 +- .../OpenGL/include/G4OpenGLViewerMessenger.hh | 8 +- .../OpenGL/include/G4OpenGLWin32Viewer.hh | 2 +- .../OpenGL/include/G4OpenGLXViewer.hh | 32 +- .../include/G4OpenGLXViewerMessenger.hh | 7 +- .../OpenGL/include/G4OpenGLXmBox.hh | 2 +- .../include/G4OpenGLXmFourArrowButtons.hh | 2 +- .../OpenGL/include/G4OpenGLXmFramedBox.hh | 2 +- .../OpenGL/include/G4OpenGLXmPushButton.hh | 2 +- .../OpenGL/include/G4OpenGLXmRadioButton.hh | 2 +- .../OpenGL/include/G4OpenGLXmResources.hh | 2 +- .../OpenGL/include/G4OpenGLXmSeparator.hh | 2 +- .../OpenGL/include/G4OpenGLXmSliderBar.hh | 2 +- .../OpenGL/include/G4OpenGLXmTextField.hh | 2 +- .../OpenGL/include/G4OpenGLXmTopLevelShell.hh | 2 +- .../include/G4OpenGLXmVWidgetComponent.hh | 2 +- .../include/G4OpenGLXmVWidgetContainer.hh | 2 +- .../OpenGL/include/G4OpenGLXmVWidgetObject.hh | 2 +- .../OpenGL/include/G4OpenGLXmVWidgetShell.hh | 2 +- .../OpenGL/include/G4OpenGLXmViewer.hh | 2 +- .../include/G4OpenGLXmViewerMessenger.hh | 2 +- .../OpenGL/src/G4OpenGLBitMapStore.cc | 6 +- .../OpenGL/src/G4OpenGLFontBaseStore.cc | 2 +- .../src/G4OpenGLImmediateSceneHandler.cc | 63 +- .../OpenGL/src/G4OpenGLImmediateViewer.cc | 2 +- .../OpenGL/src/G4OpenGLImmediateWin32.cc | 2 +- .../src/G4OpenGLImmediateWin32Viewer.cc | 2 +- .../OpenGL/src/G4OpenGLImmediateX.cc | 2 +- .../OpenGL/src/G4OpenGLImmediateXViewer.cc | 2 +- .../OpenGL/src/G4OpenGLImmediateXm.cc | 2 +- .../OpenGL/src/G4OpenGLImmediateXmViewer.cc | 2 +- .../OpenGL/src/G4OpenGLSceneHandler.cc | 139 +- .../OpenGL/src/G4OpenGLStoredSceneHandler.cc | 276 +- .../OpenGL/src/G4OpenGLStoredViewer.cc | 18 +- .../OpenGL/src/G4OpenGLStoredWin32.cc | 2 +- .../OpenGL/src/G4OpenGLStoredWin32Viewer.cc | 8 +- .../OpenGL/src/G4OpenGLStoredX.cc | 2 +- .../OpenGL/src/G4OpenGLStoredXViewer.cc | 8 +- .../OpenGL/src/G4OpenGLStoredXm.cc | 2 +- .../OpenGL/src/G4OpenGLStoredXmViewer.cc | 8 +- .../OpenGL/src/G4OpenGLTransform3D.cc | 2 +- .../OpenGL/src/G4OpenGLViewer.cc | 571 +- .../OpenGL/src/G4OpenGLViewerMessenger.cc | 53 +- .../OpenGL/src/G4OpenGLWin32Viewer.cc | 2 +- .../OpenGL/src/G4OpenGLXViewer.cc | 651 +- .../OpenGL/src/G4OpenGLXViewerMessenger.cc | 35 +- .../visualization/OpenGL/src/G4OpenGLXmBox.cc | 2 +- .../src/G4OpenGLXmConvenienceRoutines.cc | 2 +- .../OpenGL/src/G4OpenGLXmFourArrowButtons.cc | 2 +- .../OpenGL/src/G4OpenGLXmFramedBox.cc | 2 +- .../src/G4OpenGLXmMainMenubarCallbacks.cc | 2 +- .../OpenGL/src/G4OpenGLXmPanningCallbacks.cc | 2 +- .../OpenGL/src/G4OpenGLXmPushButton.cc | 2 +- .../OpenGL/src/G4OpenGLXmRadioButton.cc | 2 +- .../OpenGL/src/G4OpenGLXmRotationCallbacks.cc | 2 +- .../OpenGL/src/G4OpenGLXmSeparator.cc | 2 +- .../OpenGL/src/G4OpenGLXmSliderBar.cc | 2 +- .../OpenGL/src/G4OpenGLXmStyleCallbacks.cc | 2 +- .../OpenGL/src/G4OpenGLXmTextField.cc | 2 +- .../OpenGL/src/G4OpenGLXmTopLevelShell.cc | 2 +- .../OpenGL/src/G4OpenGLXmVWidgetComponent.cc | 2 +- .../OpenGL/src/G4OpenGLXmVWidgetContainer.cc | 2 +- .../OpenGL/src/G4OpenGLXmVWidgetObject.cc | 2 +- .../OpenGL/src/G4OpenGLXmVWidgetShell.cc | 2 +- .../OpenGL/src/G4OpenGLXmViewer.cc | 2 +- .../OpenGL/src/G4OpenGLXmViewerMessenger.cc | 2 +- .../src/G4OpenGLXmWindowHandlingCallbacks.cc | 2 +- source/visualization/OpenInventor/History | 10 +- .../OpenInventor/include/G4OpenInventor.hh | 2 +- .../include/G4OpenInventorSceneHandler.hh | 6 +- .../include/G4OpenInventorTransform3D.hh | 2 +- .../OpenInventor/include/G4OpenInventorWin.hh | 2 +- .../include/G4OpenInventorWin32.hh | 2 +- .../include/G4OpenInventorWinViewer.hh | 2 +- .../OpenInventor/include/G4OpenInventorX.hh | 2 +- .../OpenInventor/include/G4OpenInventorXt.hh | 2 +- .../include/G4OpenInventorXtViewer.hh | 2 +- .../OpenInventor/include/HEPVis/SbMath.h | 2 +- .../HEPVis/nodekits/SoDetectorTreeKit.h | 2 +- .../OpenInventor/include/HEPVis/nodes/SoBox.h | 2 +- .../include/HEPVis/nodes/SoCons.h | 2 +- .../include/HEPVis/nodes/SoTrap.h | 2 +- .../OpenInventor/include/HEPVis/nodes/SoTrd.h | 2 +- .../include/HEPVis/nodes/SoTubs.h | 2 +- .../OpenInventor/include/SoG4LineSet.h | 2 +- .../OpenInventor/include/SoG4MarkerSet.h | 2 +- .../OpenInventor/include/SoG4Polyhedron.h | 2 +- .../OpenInventor/src/G4OpenInventor.cc | 2 +- .../src/G4OpenInventorSceneHandler.cc | 178 +- .../src/G4OpenInventorTransform3D.cc | 2 +- .../OpenInventor/src/G4OpenInventorViewer.cc | 21 +- .../OpenInventor/src/G4OpenInventorWin.cc | 2 +- .../src/G4OpenInventorWinViewer.cc | 2 +- .../OpenInventor/src/G4OpenInventorXt.cc | 2 +- .../src/G4OpenInventorXtViewer.cc | 2 +- .../visualization/OpenInventor/src/SoBox.cc | 2 +- .../visualization/OpenInventor/src/SoCons.cc | 2 +- .../OpenInventor/src/SoDetectorTreeKit.cc | 2 +- .../visualization/OpenInventor/src/SoTrap.cc | 2 +- .../visualization/OpenInventor/src/SoTrd.cc | 2 +- .../visualization/OpenInventor/src/SoTubs.cc | 2 +- source/visualization/RayTracer/History | 9 +- .../RayTracer/include/G4RTJpeg.hh | 2 +- .../RayTracer/include/G4RTJpegCoder.hh | 2 +- .../RayTracer/include/G4RTJpegCoderTables.hh | 2 +- .../RayTracer/include/G4RTJpegMaker.hh | 2 +- .../RayTracer/include/G4RTMessenger.hh | 2 +- .../RayTracer/include/G4RTOutBitStream.hh | 2 +- .../RayTracer/include/G4RTSimpleScanner.hh | 2 +- .../RayTracer/include/G4RTSteppingAction.hh | 2 +- .../RayTracer/include/G4RTTrackingAction.hh | 2 +- .../RayTracer/include/G4RTXScanner.hh | 2 +- .../RayTracer/include/G4RayTracer.hh | 18 +- .../RayTracer/include/G4RayTracerFeatures.hh | 2 +- .../include/G4RayTracerSceneHandler.hh | 2 +- .../RayTracer/include/G4RayTracerViewer.hh | 2 +- .../RayTracer/include/G4RayTracerX.hh | 2 +- .../RayTracer/include/G4RayTracerXViewer.hh | 2 +- .../RayTracer/include/G4RayTrajectory.hh | 2 +- .../RayTracer/include/G4RayTrajectoryPoint.hh | 2 +- .../RayTracer/include/G4TheRayTracer.hh | 2 +- .../RayTracer/include/G4VFigureFileMaker.hh | 2 +- .../RayTracer/include/G4VRTScanner.hh | 2 +- .../RayTracer/src/G4RTJpegCoder.cc | 2 +- .../RayTracer/src/G4RTJpegMaker.cc | 2 +- .../RayTracer/src/G4RTMessenger.cc | 2 +- .../RayTracer/src/G4RTOutBitStream.cc | 2 +- .../RayTracer/src/G4RTSimpleScanner.cc | 11 +- .../RayTracer/src/G4RTSteppingAction.cc | 2 +- .../RayTracer/src/G4RTTrackingAction.cc | 2 +- .../RayTracer/src/G4RTXScanner.cc | 11 +- .../RayTracer/src/G4RayTracer.cc | 10 +- .../RayTracer/src/G4RayTracerSceneHandler.cc | 2 +- .../RayTracer/src/G4RayTracerViewer.cc | 2 +- .../RayTracer/src/G4RayTracerX.cc | 2 +- .../RayTracer/src/G4RayTracerXViewer.cc | 2 +- .../RayTracer/src/G4RayTrajectory.cc | 2 +- .../RayTracer/src/G4RayTrajectoryPoint.cc | 2 +- .../RayTracer/src/G4TheRayTracer.cc | 2 +- source/visualization/Tree/History | 5 +- .../visualization/Tree/include/G4ASCIITree.hh | 2 +- .../Tree/include/G4ASCIITreeMessenger.hh | 2 +- .../Tree/include/G4ASCIITreeSceneHandler.hh | 2 +- .../Tree/include/G4ASCIITreeViewer.hh | 2 +- .../visualization/Tree/include/G4GAGTree.hh | 50 - .../Tree/include/G4GAGTreeList.hh | 395 - .../Tree/include/G4GAGTreeSceneHandler.hh | 110 - .../Tree/include/G4GAGTreeViewer.hh | 40 - source/visualization/Tree/include/G4VTree.hh | 2 +- .../Tree/include/G4VTreeSceneHandler.hh | 2 +- .../Tree/include/G4VTreeSceneHandler.icc | 2 +- .../Tree/include/G4VTreeViewer.hh | 2 +- source/visualization/Tree/src/G4ASCIITree.cc | 2 +- .../Tree/src/G4ASCIITreeMessenger.cc | 2 +- .../Tree/src/G4ASCIITreeSceneHandler.cc | 2 +- .../Tree/src/G4ASCIITreeViewer.cc | 2 +- source/visualization/Tree/src/G4GAGTree.cc | 71 - .../Tree/src/G4GAGTreeSceneHandler.cc | 298 - .../visualization/Tree/src/G4GAGTreeViewer.cc | 39 - source/visualization/Tree/src/G4VTree.cc | 2 +- .../Tree/src/G4VTreeSceneHandler.cc | 2 +- .../visualization/Tree/src/G4VTreeViewer.cc | 2 +- .../visualization/VRML/g4vrmlview/g4mini.java | 2 +- .../VRML/g4vrmlview/g4vrmlview.java | 2 +- source/visualization/VRML/include/FRClient.h | 2 +- .../visualization/VRML/include/G4FRClient.hh | 2 +- source/visualization/VRML/include/G4VRML1.hh | 2 +- .../visualization/VRML/include/G4VRML1File.hh | 2 +- .../VRML/include/G4VRML1FileSceneHandler.hh | 2 +- .../VRML/include/G4VRML1FileViewer.hh | 2 +- .../VRML/include/G4VRML1SceneHandler.hh | 2 +- .../VRML/include/G4VRML1Viewer.hh | 2 +- source/visualization/VRML/include/G4VRML2.hh | 2 +- .../visualization/VRML/include/G4VRML2File.hh | 2 +- .../VRML/include/G4VRML2FileSceneHandler.hh | 2 +- .../VRML/include/G4VRML2FileViewer.hh | 2 +- .../VRML/include/G4VRML2SceneHandler.hh | 2 +- .../VRML/include/G4VRML2Viewer.hh | 2 +- .../VRML/include/G4VRMLNetConfig.hh | 2 +- source/visualization/VRML/src/FRClient.cc | 2 +- source/visualization/VRML/src/G4FRClient.cc | 2 +- source/visualization/VRML/src/G4VRML1.cc | 2 +- source/visualization/VRML/src/G4VRML1File.cc | 2 +- .../VRML/src/G4VRML1FileSceneHandler.cc | 2 +- .../VRML/src/G4VRML1FileViewer.cc | 2 +- .../VRML/src/G4VRML1SceneHandler.cc | 2 +- .../VRML/src/G4VRML1SceneHandlerFunc.icc | 2 +- .../visualization/VRML/src/G4VRML1Viewer.cc | 2 +- source/visualization/VRML/src/G4VRML2.cc | 2 +- source/visualization/VRML/src/G4VRML2File.cc | 2 +- .../VRML/src/G4VRML2FileSceneHandler.cc | 2 +- .../VRML/src/G4VRML2FileViewer.cc | 2 +- .../VRML/src/G4VRML2SceneHandler.cc | 2 +- .../VRML/src/G4VRML2SceneHandlerFunc.icc | 2 +- .../visualization/VRML/src/G4VRML2Viewer.cc | 2 +- source/visualization/XXX/include/G4XXX.hh | 2 +- source/visualization/XXX/include/G4XXXFile.hh | 2 +- .../XXX/include/G4XXXFileSceneHandler.hh | 2 +- .../XXX/include/G4XXXFileViewer.hh | 2 +- source/visualization/XXX/include/G4XXXSG.hh | 2 +- .../XXX/include/G4XXXSGSceneHandler.hh | 2 +- .../XXX/include/G4XXXSGViewer.hh | 2 +- .../XXX/include/G4XXXSceneHandler.hh | 2 +- .../visualization/XXX/include/G4XXXStored.hh | 2 +- .../XXX/include/G4XXXStoredSceneHandler.hh | 2 +- .../XXX/include/G4XXXStoredViewer.hh | 2 +- .../visualization/XXX/include/G4XXXViewer.hh | 2 +- source/visualization/XXX/src/G4XXX.cc | 2 +- source/visualization/XXX/src/G4XXXFile.cc | 2 +- .../XXX/src/G4XXXFileSceneHandler.cc | 2 +- .../visualization/XXX/src/G4XXXFileViewer.cc | 2 +- source/visualization/XXX/src/G4XXXSG.cc | 2 +- .../XXX/src/G4XXXSGSceneHandler.cc | 2 +- source/visualization/XXX/src/G4XXXSGViewer.cc | 2 +- .../XXX/src/G4XXXSceneHandler.cc | 2 +- source/visualization/XXX/src/G4XXXStored.cc | 2 +- .../XXX/src/G4XXXStoredSceneHandler.cc | 2 +- .../XXX/src/G4XXXStoredViewer.cc | 2 +- source/visualization/XXX/src/G4XXXViewer.cc | 2 +- source/visualization/management/History | 24 +- .../include/G4GraphicsSystemList.hh | 2 +- .../management/include/G4Scene.hh | 2 +- .../management/include/G4Scene.icc | 2 +- .../management/include/G4SceneHandlerList.hh | 2 +- .../management/include/G4SceneList.hh | 2 +- .../management/include/G4VGraphicsSystem.hh | 2 +- .../management/include/G4VGraphicsSystem.icc | 2 +- .../management/include/G4VSceneHandler.hh | 2 +- .../management/include/G4VSceneHandler.icc | 2 +- .../management/include/G4VUserVisAction.hh | 2 +- .../management/include/G4VViewer.hh | 2 +- .../management/include/G4VViewer.icc | 2 +- .../management/include/G4VVisCommand.hh | 2 +- .../management/include/G4VVisCommand.icc | 2 +- .../management/include/G4ViewParameters.hh | 7 +- .../management/include/G4ViewParameters.icc | 12 +- .../management/include/G4ViewerList.hh | 2 +- .../include/G4VisCommandModelCreate.hh | 2 +- .../management/include/G4VisCommands.hh | 2 +- .../include/G4VisCommandsCompound.hh | 2 +- .../include/G4VisCommandsGeometry.hh | 2 +- .../include/G4VisCommandsGeometrySet.hh | 2 +- .../include/G4VisCommandsListManager.hh | 2 +- .../management/include/G4VisCommandsScene.hh | 2 +- .../include/G4VisCommandsSceneAdd.hh | 2 +- .../include/G4VisCommandsSceneHandler.hh | 2 +- .../management/include/G4VisCommandsViewer.hh | 2 +- .../include/G4VisCommandsViewerSet.hh | 5 +- .../management/include/G4VisExecutive.hh | 2 +- .../management/include/G4VisExecutive.icc | 6 +- .../include/G4VisFeaturesOfDAWNFILE.hh | 2 +- .../include/G4VisFeaturesOfFukuiRenderer.hh | 2 +- .../include/G4VisFeaturesOfOpenGL.hh | 2 +- .../include/G4VisFeaturesOfOpenInventor.hh | 2 +- .../management/include/G4VisFilterManager.hh | 2 +- .../management/include/G4VisListManager.hh | 2 +- .../management/include/G4VisManager.hh | 2 +- .../management/include/G4VisManager.icc | 2 +- .../management/include/G4VisModelManager.hh | 2 +- .../management/include/G4VisStateDependent.hh | 2 +- .../management/src/G4GraphicsSystemList.cc | 2 +- .../visualization/management/src/G4Scene.cc | 2 +- .../management/src/G4SceneHandlerList.cc | 2 +- .../management/src/G4SceneList.cc | 2 +- .../management/src/G4VGraphicsSystem.cc | 2 +- .../management/src/G4VSceneHandler.cc | 71 +- .../visualization/management/src/G4VViewer.cc | 2 +- .../management/src/G4VVisCommand.cc | 2 +- .../management/src/G4ViewParameters.cc | 19 +- .../management/src/G4ViewerList.cc | 2 +- .../management/src/G4VisCommands.cc | 5 +- .../management/src/G4VisCommandsCompound.cc | 2 +- .../management/src/G4VisCommandsGeometry.cc | 2 +- .../src/G4VisCommandsGeometrySet.cc | 2 +- .../management/src/G4VisCommandsScene.cc | 25 +- .../management/src/G4VisCommandsSceneAdd.cc | 2 +- .../src/G4VisCommandsSceneHandler.cc | 2 +- .../management/src/G4VisCommandsViewer.cc | 2 +- .../management/src/G4VisCommandsViewerSet.cc | 28 +- .../management/src/G4VisFeaturesOfDAWNFILE.cc | 2 +- .../src/G4VisFeaturesOfFukuiRenderer.cc | 2 +- .../management/src/G4VisFeaturesOfOpenGL.cc | 2 +- .../src/G4VisFeaturesOfOpenInventor.cc | 2 +- .../management/src/G4VisManager.cc | 91 +- .../management/src/G4VisStateDependent.cc | 2 +- source/visualization/modeling/History | 22 +- .../modeling/include/G4AttFilterUtils.hh | 2 +- .../modeling/include/G4AttValueFilterT.hh | 2 +- .../modeling/include/G4AttributeFilterT.hh | 2 +- .../modeling/include/G4AxesModel.hh | 2 +- .../modeling/include/G4BoundingSphereScene.hh | 2 +- .../modeling/include/G4CallbackModel.hh | 2 +- .../include/G4FlavoredParallelWorldModel.hh | 2 +- .../modeling/include/G4HitFilterFactories.hh | 2 +- .../modeling/include/G4HitsModel.hh | 2 +- .../modeling/include/G4LogicalVolumeModel.hh | 2 +- .../modeling/include/G4ModelApplyCommandsT.hh | 2 +- .../modeling/include/G4ModelColourMap.hh | 2 +- .../modeling/include/G4ModelCommandUtils.hh | 2 +- .../modeling/include/G4ModelCommandsT.hh | 2 +- .../include/G4ModelCompoundCommandsT.hh | 2 +- .../modeling/include/G4ModelingParameters.hh | 2 +- .../modeling/include/G4ModelingParameters.icc | 2 +- .../modeling/include/G4NullModel.hh | 2 +- .../include/G4PhysicalVolumeMassScene.hh | 2 +- .../modeling/include/G4PhysicalVolumeModel.hh | 6 +- .../include/G4PhysicalVolumeSearchScene.hh | 2 +- .../include/G4PhysicalVolumeSearchScene.icc | 2 +- .../modeling/include/G4ScaleModel.hh | 2 +- .../modeling/include/G4TextModel.hh | 2 +- .../modeling/include/G4TrajectoriesModel.hh | 2 +- .../include/G4TrajectoryChargeFilter.hh | 2 +- .../include/G4TrajectoryDrawByAttribute.hh | 2 +- .../include/G4TrajectoryDrawByCharge.hh | 2 +- .../include/G4TrajectoryDrawByOriginVolume.hh | 2 +- .../include/G4TrajectoryDrawByParticleID.hh | 2 +- .../include/G4TrajectoryDrawerUtils.hh | 8 +- .../include/G4TrajectoryFilterFactories.hh | 2 +- .../include/G4TrajectoryGenericDrawer.hh | 2 +- .../include/G4TrajectoryModelFactories.hh | 2 +- .../include/G4TrajectoryOriginVolumeFilter.hh | 2 +- .../include/G4TrajectoryParticleFilter.hh | 2 +- .../modeling/include/G4VAttValueFilter.hh | 2 +- .../modeling/include/G4VModel.hh | 2 +- .../modeling/include/G4VModel.icc | 2 +- .../modeling/include/G4VModelCommand.hh | 2 +- .../modeling/include/G4VModelFactory.hh | 2 +- .../modeling/include/G4VTrajectoryModel.hh | 2 +- .../modeling/include/G4VisTrajContext.hh | 2 +- .../modeling/include/G4VisTrajContext.icc | 2 +- .../modeling/src/G4AttFilterUtils.cc | 2 +- .../visualization/modeling/src/G4AxesModel.cc | 2 +- .../modeling/src/G4BoundingSphereScene.cc | 2 +- .../src/G4FlavoredParallelWorldModel.cc | 2 +- .../modeling/src/G4HitFilterFactories.cc | 2 +- .../visualization/modeling/src/G4HitsModel.cc | 2 +- .../modeling/src/G4LogicalVolumeModel.cc | 2 +- .../modeling/src/G4ModelingParameters.cc | 2 +- .../visualization/modeling/src/G4NullModel.cc | 2 +- .../modeling/src/G4PhysicalVolumeMassScene.cc | 2 +- .../modeling/src/G4PhysicalVolumeModel.cc | 130 +- .../src/G4PhysicalVolumeSearchScene.cc | 2 +- .../modeling/src/G4ScaleModel.cc | 2 +- .../visualization/modeling/src/G4TextModel.cc | 2 +- .../modeling/src/G4TrajectoriesModel.cc | 2 +- .../modeling/src/G4TrajectoryChargeFilter.cc | 2 +- .../src/G4TrajectoryDrawByAttribute.cc | 2 +- .../modeling/src/G4TrajectoryDrawByCharge.cc | 2 +- .../src/G4TrajectoryDrawByOriginVolume.cc | 2 +- .../src/G4TrajectoryDrawByParticleID.cc | 2 +- .../modeling/src/G4TrajectoryDrawerUtils.cc | 6 +- .../src/G4TrajectoryFilterFactories.cc | 2 +- .../modeling/src/G4TrajectoryGenericDrawer.cc | 2 +- .../src/G4TrajectoryModelFactories.cc | 2 +- .../src/G4TrajectoryOriginVolumeFilter.cc | 2 +- .../src/G4TrajectoryParticleFilter.cc | 2 +- source/visualization/modeling/src/G4VModel.cc | 2 +- .../modeling/src/G4VTrajectoryModel.cc | 2 +- 6592 files changed, 84274 insertions(+), 69292 deletions(-) create mode 100644 ReleaseNotes/ReleaseNotes4.9.0.html create mode 100644 environments/g4py/source/global/pyG4TwoVector.cc create mode 100644 examples/advanced/hadrontherapy/binaryDefault.mac rename examples/advanced/hadrontherapy/include/{HadrontherapyDecay.hh => Decay.hh} (84%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/include/{HadrontherapyElectronEEDL.hh => EMElectronEEDL.hh} (78%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/include/{HadrontherapyElectronPenelope.hh => EMElectronPenelope.hh} (78%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/include/{HadrontherapyElectronStandard.hh => EMElectronStandard.hh} (79%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/include/{HadrontherapyIonLowE.hh => EMHadronIonLowEICRU49.hh} (72%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/include/{HadrontherapyIonLowEZiegler1977.hh => EMHadronIonLowEZiegler1977.hh} (72%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/include/{HadrontherapyIonLowEZiegler1985.hh => EMHadronIonLowEZiegler1985.hh} (72%) mode change 100644 => 100755 create mode 100755 examples/advanced/hadrontherapy/include/EMHadronIonStandard.hh create mode 100755 examples/advanced/hadrontherapy/include/EMMuonStandard.hh create mode 100755 examples/advanced/hadrontherapy/include/EMPhotonEPDL.hh rename examples/advanced/hadrontherapy/include/{HadrontherapyPhotonPenelope.hh => EMPhotonPenelope.hh} (78%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/include/{HadrontherapyPhotonStandard.hh => EMPhotonStandard.hh} (79%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/include/{HadrontherapyPositronPenelope.hh => EMPositronPenelope.hh} (78%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/include/{HadrontherapyPositronStandard.hh => EMPositronStandard.hh} (78%) mode change 100644 => 100755 create mode 100755 examples/advanced/hadrontherapy/include/HEHadronIonBertiniElastic.hh create mode 100755 examples/advanced/hadrontherapy/include/HEHadronIonLElastic.hh create mode 100755 examples/advanced/hadrontherapy/include/HEHadronIonQElastic.hh rename examples/advanced/hadrontherapy/include/{HadrontherapyProtonBertini.hh => HEHadronIonUElastic.hh} (74%) mode change 100644 => 100755 create mode 100755 examples/advanced/hadrontherapy/include/HIIonLEP.hh create mode 100755 examples/advanced/hadrontherapy/include/HIPionBertini.hh create mode 100755 examples/advanced/hadrontherapy/include/HIPionLEP.hh rename examples/advanced/hadrontherapy/include/{HadrontherapyPhotonEPDL.hh => HIProtonNeutronBertini.hh} (84%) mode change 100644 => 100755 create mode 100755 examples/advanced/hadrontherapy/include/HIProtonNeutronBinary.hh rename examples/advanced/hadrontherapy/include/{HadrontherapyIonStandard.hh => HIProtonNeutronLEP.hh} (84%) mode change 100644 => 100755 create mode 100755 examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompound.hh create mode 100755 examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundFermi.hh create mode 100755 examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEM.hh create mode 100755 examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEMFermi.hh rename examples/advanced/hadrontherapy/include/{HadrontherapyMuonStandard.hh => HRMuonMinusCapture.hh} (79%) mode change 100644 => 100755 delete mode 100644 examples/advanced/hadrontherapy/include/HadrontherapyIonLowEZiegler2000.hh create mode 100644 examples/advanced/hadrontherapy/lep.mac create mode 100644 examples/advanced/hadrontherapy/precompoundDefaultEvaporationFermi.mac create mode 100644 examples/advanced/hadrontherapy/precompoundGEMEvaporation.mac create mode 100644 examples/advanced/hadrontherapy/precompoundGEMFermi.mac rename examples/advanced/hadrontherapy/src/{HadrontherapyDecay.cc => Decay.cc} (77%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/src/{HadrontherapyElectronEEDL.cc => EMElectronEEDL.cc} (65%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/src/{HadrontherapyElectronPenelope.cc => EMElectronPenelope.cc} (65%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/src/{HadrontherapyElectronStandard.cc => EMElectronStandard.cc} (63%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/src/{HadrontherapyIonLowE.cc => EMHadronIonLowEICRU49.cc} (63%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/src/{HadrontherapyIonLowEZiegler1977.cc => EMHadronIonLowEZiegler1977.cc} (60%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/src/{HadrontherapyIonLowEZiegler1985.cc => EMHadronIonLowEZiegler1985.cc} (60%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/src/{HadrontherapyIonStandard.cc => EMHadronIonStandard.cc} (65%) mode change 100644 => 100755 create mode 100755 examples/advanced/hadrontherapy/src/EMMuonStandard.cc rename examples/advanced/hadrontherapy/src/{HadrontherapyPhotonEPDL.cc => EMPhotonEPDL.cc} (62%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/src/{HadrontherapyPhotonPenelope.cc => EMPhotonPenelope.cc} (62%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/src/{HadrontherapyPhotonStandard.cc => EMPhotonStandard.cc} (63%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/src/{HadrontherapyPositronPenelope.cc => EMPositronPenelope.cc} (62%) mode change 100644 => 100755 rename examples/advanced/hadrontherapy/src/{HadrontherapyPositronStandard.cc => EMPositronStandard.cc} (60%) mode change 100644 => 100755 create mode 100755 examples/advanced/hadrontherapy/src/HEHadronIonBertiniElastic.cc create mode 100755 examples/advanced/hadrontherapy/src/HEHadronIonLElastic.cc create mode 100755 examples/advanced/hadrontherapy/src/HEHadronIonQElastic.cc create mode 100755 examples/advanced/hadrontherapy/src/HEHadronIonUElastic.cc create mode 100755 examples/advanced/hadrontherapy/src/HIIonLEP.cc create mode 100755 examples/advanced/hadrontherapy/src/HIPionBertini.cc create mode 100755 examples/advanced/hadrontherapy/src/HIPionLEP.cc create mode 100755 examples/advanced/hadrontherapy/src/HIProtonNeutronBertini.cc create mode 100755 examples/advanced/hadrontherapy/src/HIProtonNeutronBinary.cc create mode 100755 examples/advanced/hadrontherapy/src/HIProtonNeutronLEP.cc create mode 100755 examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompound.cc create mode 100755 examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundFermi.cc create mode 100755 examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEM.cc create mode 100755 examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEMFermi.cc create mode 100755 examples/advanced/hadrontherapy/src/HRMuonMinusCapture.cc delete mode 100644 examples/advanced/hadrontherapy/src/HadrontherapyIonLowEZiegler2000.cc delete mode 100644 examples/advanced/hadrontherapy/src/HadrontherapyMuonStandard.cc delete mode 100644 examples/advanced/hadrontherapy/src/HadrontherapyProtonBertini.cc delete mode 100644 examples/advanced/hadrontherapy/src/HadrontherapyProtonPrecompound.cc delete mode 100644 examples/advanced/human_phantom/adultFemale.mac create mode 100755 examples/advanced/human_phantom/adultHead.mac create mode 100755 examples/advanced/human_phantom/adultMIRDFemale.mac rename examples/advanced/human_phantom/{adultMale.mac => adultMIRDMale.mac} (95%) mode change 100644 => 100755 create mode 100755 examples/advanced/human_phantom/adultMIXFemale.mac create mode 100755 examples/advanced/human_phantom/default.mac create mode 100644 examples/advanced/human_phantom/gdmlData/Female/ORNLLeftArmBone.gdml rename examples/advanced/human_phantom/gdmlData/Female/{ORNLBreast.gdml => ORNLLeftBreast.gdml} (85%) create mode 100644 examples/advanced/human_phantom/gdmlData/Female/ORNLLeftKidney.gdml rename examples/advanced/human_phantom/gdmlData/Female/{ORNLLegs.gdml => ORNLLeftLeg.gdml} (88%) create mode 100644 examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLegBone.gdml rename examples/advanced/human_phantom/gdmlData/Female/{ORNLLung.gdml => ORNLLeftLung.gdml} (89%) create mode 100644 examples/advanced/human_phantom/gdmlData/Female/ORNLLeftOvary.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Female/ORNLRightArmBone.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Female/ORNLRightBreast.gdml rename examples/advanced/human_phantom/gdmlData/Female/{ORNLKidney.gdml => ORNLRightKidney.gdml} (88%) create mode 100644 examples/advanced/human_phantom/gdmlData/Female/ORNLRightLeg.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Female/ORNLRightLegBone.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Female/ORNLRightLung.gdml rename examples/advanced/human_phantom/gdmlData/Female/{ORNLOvary.gdml => ORNLRightOvary.gdml} (88%) create mode 100644 examples/advanced/human_phantom/gdmlData/Male/ORNLLeftArmBone.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Male/ORNLLeftKidney.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLeg.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLegBone.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLung.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Male/ORNLRightArmBone.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Male/ORNLRightKidney.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Male/ORNLRightLeg.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Male/ORNLRightLegBone.gdml create mode 100644 examples/advanced/human_phantom/gdmlData/Male/ORNLRightLung.gdml create mode 100644 examples/advanced/human_phantom/include/G4BasePhantomBuilder.hh create mode 100644 examples/advanced/human_phantom/include/G4CustomFemaleBuilder.hh create mode 100644 examples/advanced/human_phantom/include/G4HumanDummyLeftBreastSD.hh rename examples/advanced/human_phantom/include/{G4HumanDummySD.hh => G4HumanDummyRightBreastSD.hh} (89%) rename examples/advanced/human_phantom/include/{G4HumanPhantomEnergyDeposit.hh => G4HumanPhantomColour.hh} (80%) rename source/processes/transportation/include/G4MScoreConfigurator.hh => examples/advanced/human_phantom/include/G4HumanPhantomHit.hh (55%) create mode 100755 examples/advanced/human_phantom/include/G4MIRDLeftAdrenal.hh rename examples/advanced/human_phantom/include/{G4MIRDArmBone.hh => G4MIRDLeftArmBone.hh} (89%) rename examples/advanced/human_phantom/include/{G4MIRDKidney.hh => G4MIRDLeftBreast.hh} (88%) create mode 100644 examples/advanced/human_phantom/include/G4MIRDLeftKidney.hh rename examples/advanced/human_phantom/include/{G4MIRDLegs.hh => G4MIRDLeftLeg.hh} (89%) create mode 100644 examples/advanced/human_phantom/include/G4MIRDLeftLegBone.hh rename examples/advanced/human_phantom/include/{G4MIRDLung.hh => G4MIRDLeftLung.hh} (89%) create mode 100644 examples/advanced/human_phantom/include/G4MIRDLeftOvary.hh create mode 100755 examples/advanced/human_phantom/include/G4MIRDLeftScapula.hh create mode 100755 examples/advanced/human_phantom/include/G4MIRDRightAdrenal.hh rename examples/advanced/human_phantom/include/{G4MIRDAdrenal.hh => G4MIRDRightArmBone.hh} (86%) create mode 100644 examples/advanced/human_phantom/include/G4MIRDRightBreast.hh create mode 100644 examples/advanced/human_phantom/include/G4MIRDRightKidney.hh rename examples/advanced/human_phantom/include/{G4MIRDLegBone.hh => G4MIRDRightLeg.hh} (89%) create mode 100644 examples/advanced/human_phantom/include/G4MIRDRightLegBone.hh rename examples/advanced/human_phantom/include/{G4MIRDOvary.hh => G4MIRDRightLung.hh} (88%) create mode 100644 examples/advanced/human_phantom/include/G4MIRDRightOvary.hh create mode 100755 examples/advanced/human_phantom/include/G4MIRDRightScapula.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLBodyFactory.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLBrain.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLBreast.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLEsophagus.hh rename examples/advanced/human_phantom/include/{G4ORNLAdrenal.hh => G4ORNLFemaleBodyFactory.hh} (86%) delete mode 100644 examples/advanced/human_phantom/include/G4ORNLHead.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLHeart.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLKidney.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLLegBone.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLLegs.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLLiver.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLLowerLargeIntestine.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLLung.hh create mode 100644 examples/advanced/human_phantom/include/G4ORNLMaleBodyFactory.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLMiddleLowerSpine.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLOvary.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLPancreas.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLPelvis.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLRibCage.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLSkull.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLSpleen.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLStomach.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLTestes.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLThyroid.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLTrunk.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLUpperLargeIntestine.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLUpperSpine.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLUrinaryBladder.hh delete mode 100644 examples/advanced/human_phantom/include/G4ORNLUterus.hh delete mode 100644 examples/advanced/human_phantom/include/G4ParameterisedBreast.hh rename examples/advanced/human_phantom/include/{G4ORNLArmBone.hh => G4PhantomHeadBuilder.hh} (76%) rename examples/advanced/human_phantom/include/{G4MIRDBreast.hh => G4VOrgan.hh} (88%) delete mode 100644 examples/advanced/human_phantom/include/G4VPhantomBuilder.hh create mode 100644 examples/advanced/human_phantom/include/G4VoxelBreastFactory.hh create mode 100644 examples/advanced/human_phantom/include/G4VoxelLeftBreast.hh rename examples/advanced/human_phantom/include/{G4HumanPhantomROGeometry.hh => G4VoxelLeftBreastROGeometry.hh} (90%) rename examples/advanced/human_phantom/include/{G4HumanPhantomSDBreast.hh => G4VoxelLeftBreastSD.hh} (91%) create mode 100644 examples/advanced/human_phantom/include/G4VoxelRightBreast.hh create mode 100644 examples/advanced/human_phantom/include/G4VoxelRightBreastROGeometry.hh create mode 100644 examples/advanced/human_phantom/include/G4VoxelRightBreastSD.hh create mode 100644 examples/advanced/human_phantom/src/G4BasePhantomBuilder.cc rename examples/advanced/human_phantom/src/{G4ORNLLung.cc => G4CustomFemaleBuilder.cc} (51%) create mode 100644 examples/advanced/human_phantom/src/G4HumanPhantomColour.cc rename examples/{extended/biasing/B03/src/B03PrimaryGeneratorAction.cc => advanced/human_phantom/src/G4HumanPhantomHit.cc} (62%) delete mode 100644 examples/advanced/human_phantom/src/G4MIRDAdrenal.cc rename examples/advanced/human_phantom/src/{G4MIRDKidney.cc => G4MIRDLeftAdrenal.cc} (57%) mode change 100644 => 100755 rename examples/advanced/human_phantom/src/{G4MIRDArmBone.cc => G4MIRDLeftArmBone.cc} (53%) rename examples/advanced/human_phantom/src/{G4MIRDBreast.cc => G4MIRDLeftBreast.cc} (60%) create mode 100644 examples/advanced/human_phantom/src/G4MIRDLeftKidney.cc rename examples/advanced/human_phantom/src/{G4MIRDLegs.cc => G4MIRDLeftLeg.cc} (62%) rename examples/advanced/human_phantom/src/{G4MIRDLegBone.cc => G4MIRDLeftLegBone.cc} (58%) create mode 100644 examples/advanced/human_phantom/src/G4MIRDLeftLung.cc rename examples/advanced/human_phantom/src/{G4MIRDLung.cc => G4MIRDLeftOvary.cc} (55%) create mode 100755 examples/advanced/human_phantom/src/G4MIRDLeftScapula.cc create mode 100755 examples/advanced/human_phantom/src/G4MIRDRightAdrenal.cc create mode 100644 examples/advanced/human_phantom/src/G4MIRDRightArmBone.cc create mode 100644 examples/advanced/human_phantom/src/G4MIRDRightBreast.cc create mode 100644 examples/advanced/human_phantom/src/G4MIRDRightKidney.cc create mode 100644 examples/advanced/human_phantom/src/G4MIRDRightLeg.cc create mode 100644 examples/advanced/human_phantom/src/G4MIRDRightLegBone.cc create mode 100644 examples/advanced/human_phantom/src/G4MIRDRightLung.cc rename examples/advanced/human_phantom/src/{G4MIRDOvary.cc => G4MIRDRightOvary.cc} (60%) create mode 100755 examples/advanced/human_phantom/src/G4MIRDRightScapula.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLAdrenal.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLArmBone.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLBodyFactory.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLBreast.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLEsophagus.cc rename examples/advanced/human_phantom/src/{G4ORNLOvary.cc => G4ORNLFemaleBodyFactory.cc} (58%) delete mode 100644 examples/advanced/human_phantom/src/G4ORNLHeart.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLKidney.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLLegBone.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLLegs.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLLiver.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLLowerLargeIntestine.cc rename examples/advanced/human_phantom/src/{G4ORNLBrain.cc => G4ORNLMaleBodyFactory.cc} (62%) delete mode 100644 examples/advanced/human_phantom/src/G4ORNLMiddleLowerSpine.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLPancreas.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLPelvis.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLRibCage.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLSkull.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLSpleen.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLStomach.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLTestes.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLThyroid.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLTrunk.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLUpperLargeIntestine.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLUpperSpine.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLUrinaryBladder.cc delete mode 100644 examples/advanced/human_phantom/src/G4ORNLUterus.cc rename examples/advanced/human_phantom/src/{G4ORNLHead.cc => G4PhantomHeadBuilder.cc} (51%) rename examples/advanced/human_phantom/src/{G4VPhantomBuilder.cc => G4VOrgan.cc} (94%) create mode 100644 examples/advanced/human_phantom/src/G4VoxelBreastFactory.cc rename examples/advanced/human_phantom/src/{G4ParameterisedBreast.cc => G4VoxelLeftBreast.cc} (72%) rename examples/advanced/human_phantom/src/{G4HumanPhantomROGeometry.cc => G4VoxelLeftBreastROGeometry.cc} (84%) rename examples/advanced/human_phantom/src/{G4HumanPhantomEnergyDeposit.cc => G4VoxelLeftBreastSD.cc} (60%) create mode 100644 examples/advanced/human_phantom/src/G4VoxelRightBreast.cc create mode 100644 examples/advanced/human_phantom/src/G4VoxelRightBreastROGeometry.cc rename examples/advanced/human_phantom/src/{G4HumanPhantomSDBreast.cc => G4VoxelRightBreastSD.cc} (74%) create mode 100644 examples/extended/analysis/N03Con/GNUmakefile create mode 100644 examples/extended/analysis/N03Con/History create mode 100644 examples/extended/analysis/N03Con/History.N03 create mode 100644 examples/extended/analysis/N03Con/README create mode 100644 examples/extended/analysis/N03Con/README.N03 create mode 100644 examples/extended/analysis/N03Con/exampleN03Con.cc create mode 100644 examples/extended/analysis/N03Con/exampleN03Con.in create mode 100644 examples/extended/analysis/N03Con/exampleN03Con.out create mode 100644 examples/extended/analysis/N03Con/exampleN03Con_large_N.in create mode 100644 examples/extended/analysis/N03Con/include/ExN03DetectorConstruction.hh rename source/processes/electromagnetic/standard/include/G4VhEnergyLoss.icc => examples/extended/analysis/N03Con/include/ExN03DetectorMessenger.hh (63%) create mode 100644 examples/extended/analysis/N03Con/include/ExN03EventAction.hh rename source/visualization/Tree/include/G4GAGTreeMessenger.hh => examples/extended/analysis/N03Con/include/ExN03EventActionMessenger.hh (65%) rename examples/extended/{biasing/B03/include/B03PhysicsList.hh => analysis/N03Con/include/ExN03PhysicsList.hh} (67%) create mode 100644 examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorAction.hh create mode 100644 examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorMessenger.hh create mode 100644 examples/extended/analysis/N03Con/include/ExN03RunAction.hh rename source/physics_lists/builders/include/G4LEADNeutronBuilder.hh => examples/extended/analysis/N03Con/include/ExN03SteppingAction.hh (65%) rename examples/extended/{biasing/B03/include/B03PrimaryGeneratorAction.hh => analysis/N03Con/include/ExN03SteppingVerbose.hh} (69%) create mode 100644 examples/extended/analysis/N03Con/include/G4ConvergenceTester.hh create mode 100644 examples/extended/analysis/N03Con/src/ExN03DetectorConstruction.cc create mode 100644 examples/extended/analysis/N03Con/src/ExN03DetectorMessenger.cc rename source/processes/electromagnetic/standard/include/G4hIonisation52.icc => examples/extended/analysis/N03Con/src/ExN03EventAction.cc (51%) create mode 100644 examples/extended/analysis/N03Con/src/ExN03EventActionMessenger.cc create mode 100644 examples/extended/analysis/N03Con/src/ExN03PhysicsList.cc rename source/processes/electromagnetic/standard/include/G4eIonisation52.icc => examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorAction.cc (53%) rename source/processes/electromagnetic/muons/include/G4MuIonisation52.icc => examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorMessenger.cc (54%) create mode 100644 examples/extended/analysis/N03Con/src/ExN03RunAction.cc create mode 100644 examples/extended/analysis/N03Con/src/ExN03SteppingAction.cc create mode 100644 examples/extended/analysis/N03Con/src/ExN03SteppingVerbose.cc create mode 100644 examples/extended/analysis/N03Con/src/G4ConvergenceTester.cc rename examples/extended/biasing/{B03 => B01}/History (55%) create mode 100644 examples/extended/biasing/B01/include/B01Run.hh create mode 100644 examples/extended/biasing/B01/include/B01RunAction.hh rename source/event/include/G4ScoreTable.hh => examples/extended/biasing/B01/include/B01ScoreTable.hh (88%) create mode 100644 examples/extended/biasing/B01/src/B01Run.cc create mode 100644 examples/extended/biasing/B01/src/B01RunAction.cc rename source/event/src/G4ScoreTable.cc => examples/extended/biasing/B01/src/B01ScoreTable.cc (82%) rename examples/extended/biasing/{B03/include/B03ImportanceDetectorConstruction.hh => B02/include/B02PSScoringDetectorConstruction.hh} (64%) create mode 100644 examples/extended/biasing/B02/include/B02Run.hh create mode 100644 examples/extended/biasing/B02/include/B02RunAction.hh rename source/event/include/G4Scorer.hh => examples/extended/biasing/B02/include/B02ScoreTable.hh (58%) create mode 100644 examples/extended/biasing/B02/src/B02PSScoringDetectorConstruction.cc create mode 100644 examples/extended/biasing/B02/src/B02Run.cc create mode 100644 examples/extended/biasing/B02/src/B02RunAction.cc create mode 100644 examples/extended/biasing/B02/src/B02ScoreTable.cc delete mode 100644 examples/extended/biasing/B03/B03Application.py delete mode 100755 examples/extended/biasing/B03/B03RunApplication.py delete mode 100644 examples/extended/biasing/B03/GNUmakefile delete mode 100644 examples/extended/biasing/B03/exampleB03.out delete mode 100644 examples/extended/biasing/B03/include/B03App.i delete mode 100644 examples/extended/biasing/B03/include/B03DetectorConstruction.hh delete mode 100644 examples/extended/biasing/B03/setupPI.csh delete mode 100644 examples/extended/biasing/B03/src/B03AppBase.cc delete mode 100644 examples/extended/biasing/B03/src/B03DetectorConstruction.cc delete mode 100644 examples/extended/biasing/B03/src/B03ImportanceDetectorConstruction.cc delete mode 100644 examples/extended/biasing/B03/src/B03PVolumeStore.cc delete mode 100644 examples/extended/biasing/B03/src/B03PhysicsList.cc create mode 100644 examples/extended/electromagnetic/TestEm1/erange.mac create mode 100644 examples/extended/errorpropagation/GNUmakefile create mode 100644 examples/extended/errorpropagation/History create mode 100644 examples/extended/errorpropagation/README create mode 100644 examples/extended/errorpropagation/errprop.cc rename source/physics_lists/lists/include/LHEP_LEAD_HP.hh => examples/extended/errorpropagation/include/ExErrorDetectorConstruction.hh (56%) rename source/physics_lists/lists/include/LHEP_HP.hh => examples/extended/errorpropagation/include/ExErrorDetectorMessenger.hh (68%) rename source/physics_lists/lists/include/LHEP_LEAD.hh => examples/extended/errorpropagation/include/ExErrorMagneticField.hh (65%) create mode 100644 examples/extended/errorpropagation/src/ExErrorDetectorConstruction.cc rename source/visualization/Tree/src/G4GAGTreeMessenger.cc => examples/extended/errorpropagation/src/ExErrorDetectorMessenger.cc (57%) create mode 100644 examples/extended/errorpropagation/src/ExErrorMagneticField.cc delete mode 100644 examples/novice/N05/exampleN05.ref create mode 100644 examples/novice/N05/vis.mac create mode 100644 examples/novice/N07/include/ExN07ParallelWorld.hh create mode 100644 examples/novice/N07/src/ExN07ParallelWorld.cc delete mode 100644 source/digits_hits/detector/include/G4CellStoreScorer.hh delete mode 100644 source/digits_hits/detector/src/G4CellStoreScorer.cc rename source/{physics_lists/builders/include/G4LEADPiKBuilder.hh => digits_hits/utils/include/G4PSNofCollision.hh} (58%) create mode 100644 source/digits_hits/utils/include/G4PSPopulation.hh rename source/{physics_lists/builders/include/G4LEADProtonBuilder.hh => digits_hits/utils/include/G4PSTrackCounter.hh} (57%) create mode 100644 source/digits_hits/utils/src/G4PSNofCollision.cc create mode 100644 source/digits_hits/utils/src/G4PSPopulation.cc create mode 100644 source/digits_hits/utils/src/G4PSTrackCounter.cc create mode 100644 source/error_propagation/GNUmakefile create mode 100644 source/error_propagation/History rename source/{geometry/biasing/include/G4ParallelWorld.hh => error_propagation/include/G4ErrorFreeTrajParam.hh} (52%) create mode 100644 source/error_propagation/include/G4ErrorFreeTrajState.hh rename examples/extended/biasing/B03/include/B03PVolumeStore.hh => source/error_propagation/include/G4ErrorGeomVolumeTarget.hh (69%) create mode 100644 source/error_propagation/include/G4ErrorMagFieldLimitProcess.hh create mode 100755 source/error_propagation/include/G4ErrorMatrix.hh rename source/{processes/scoring/include/G4ScoreConfigurator.hh => error_propagation/include/G4ErrorMatrix.icc} (51%) rename source/{physics_lists/lists/include/QGSC_LEAD_HP.hh => error_propagation/include/G4ErrorMessenger.hh} (60%) create mode 100644 source/error_propagation/include/G4ErrorPhysicsList.hh create mode 100644 source/error_propagation/include/G4ErrorPropagator.hh create mode 100644 source/error_propagation/include/G4ErrorPropagatorManager.hh create mode 100644 source/error_propagation/include/G4ErrorRunManagerHelper.hh rename source/{geometry/biasing/include/G4VWeightWindowExaminer.hh => error_propagation/include/G4ErrorStepLengthLimitProcess.hh} (59%) create mode 100644 source/error_propagation/include/G4ErrorSurfaceTrajParam.hh create mode 100644 source/error_propagation/include/G4ErrorSurfaceTrajState.hh create mode 100755 source/error_propagation/include/G4ErrorSymMatrix.hh create mode 100755 source/error_propagation/include/G4ErrorSymMatrix.icc create mode 100644 source/error_propagation/include/G4ErrorTrackLengthTarget.hh rename source/{geometry/biasing/src/G4VParallelStepper.cc => error_propagation/include/G4ErrorTrajErr.hh} (79%) create mode 100644 source/error_propagation/include/G4ErrorTrajState.hh create mode 100644 source/error_propagation/include/G4VErrorLimitProcess.hh create mode 100644 source/error_propagation/src/G4ErrorFreeTrajParam.cc create mode 100644 source/error_propagation/src/G4ErrorFreeTrajState.cc rename source/{physics_lists/lists/include/HadronPhysicsLHEP_HP.hh => error_propagation/src/G4ErrorGeomVolumeTarget.cc} (57%) create mode 100644 source/error_propagation/src/G4ErrorMagFieldLimitProcess.cc create mode 100644 source/error_propagation/src/G4ErrorMatrix.cc create mode 100644 source/error_propagation/src/G4ErrorMessenger.cc create mode 100644 source/error_propagation/src/G4ErrorPhysicsList.cc create mode 100644 source/error_propagation/src/G4ErrorPropagator.cc create mode 100644 source/error_propagation/src/G4ErrorPropagatorManager.cc create mode 100644 source/error_propagation/src/G4ErrorRunManagerHelper.cc create mode 100644 source/error_propagation/src/G4ErrorStepLengthLimitProcess.cc create mode 100644 source/error_propagation/src/G4ErrorSurfaceTrajParam.cc create mode 100644 source/error_propagation/src/G4ErrorSurfaceTrajState.cc create mode 100644 source/error_propagation/src/G4ErrorSymMatrix.cc create mode 100644 source/error_propagation/src/G4ErrorTrackLengthTarget.cc create mode 100644 source/error_propagation/src/G4ErrorTrajState.cc create mode 100644 source/error_propagation/src/G4VErrorLimitProcess.cc delete mode 100644 source/event/src/G4Scorer.cc delete mode 100644 source/geometry/biasing/include/G4ImportanceSplitExaminer.hh delete mode 100644 source/geometry/biasing/include/G4ParallelNavigator.hh delete mode 100644 source/geometry/biasing/include/G4VPGeoDriver.hh delete mode 100644 source/geometry/biasing/include/G4VParallelStepper.hh delete mode 100644 source/geometry/biasing/include/G4WeightWindowExaminer.hh delete mode 100644 source/geometry/biasing/src/G4ImportanceSplitExaminer.cc delete mode 100644 source/geometry/biasing/src/G4ParallelNavigator.cc delete mode 100644 source/geometry/biasing/src/G4ParallelStepper.cc delete mode 100644 source/geometry/biasing/src/G4ParallelWorld.cc delete mode 100644 source/geometry/biasing/src/G4VWeightWindowExaminer.cc delete mode 100644 source/geometry/biasing/src/G4WeightWindowExaminer.cc create mode 100644 source/geometry/magneticfield/include/G4ErrorMag_UsualEqRhs.hh rename source/geometry/{biasing/include/G4VScorer.hh => magneticfield/include/G4HelixMixedStepper.hh} (54%) rename source/{processes/transportation/src/G4PScoreConfigurator.cc => geometry/magneticfield/src/G4ErrorMag_UsualEqRhs.cc} (59%) create mode 100644 source/geometry/magneticfield/src/G4HelixMixedStepper.cc create mode 100644 source/geometry/management/include/G4ErrorCylSurfaceTarget.hh create mode 100644 source/geometry/management/include/G4ErrorPlaneSurfaceTarget.hh create mode 100644 source/geometry/management/include/G4ErrorSurfaceTarget.hh rename source/{processes/transportation/include/G4ParallelGCellFinder.hh => geometry/management/include/G4ErrorTanPlaneTarget.hh} (65%) create mode 100644 source/geometry/management/include/G4ErrorTarget.hh create mode 100644 source/geometry/management/src/G4ErrorCylSurfaceTarget.cc create mode 100644 source/geometry/management/src/G4ErrorPlaneSurfaceTarget.cc rename source/geometry/{biasing/src/G4VScorer.cc => management/src/G4ErrorSurfaceTarget.cc} (85%) rename source/geometry/{biasing/src/G4VPGeoDriver.cc => management/src/G4ErrorTanPlaneTarget.cc} (85%) rename examples/extended/biasing/B03/exampleB03.cc => source/geometry/management/src/G4ErrorTarget.cc (76%) create mode 100644 source/geometry/navigation/include/G4ErrorPropagationNavigator.hh create mode 100644 source/geometry/navigation/src/G4ErrorPropagationNavigator.cc create mode 100644 source/global/HEPNumerics/include/G4SimplexDownhill.hh create mode 100644 source/global/HEPNumerics/include/G4SimplexDownhill.icc rename examples/advanced/hadrontherapy/include/HadrontherapyProtonPrecompound.hh => source/global/management/include/G4ErrorPropagatorData.hh (53%) rename source/{processes/transportation/src/G4MassGCellFinder.cc => global/management/include/G4ErrorPropagatorData.icc} (64%) create mode 100644 source/global/management/include/G4GeometryTolerance.hh rename source/{processes/transportation/src/G4ParallelGCellFinder.cc => global/management/src/G4ErrorPropagatorData.cc} (65%) create mode 100644 source/global/management/src/G4GeometryTolerance.cc create mode 100644 source/materials/src/G4SurfaceProperty.cc create mode 100644 source/particles/utils/G4IsotopeMagneticMoment.table create mode 100644 source/particles/utils/include/G4IsotopeMagneticMomentTable.hh create mode 100644 source/particles/utils/src/G4IsotopeMagneticMomentTable.cc rename source/physics_lists/builders/include/{G4EmStandardPhysics71.hh => G4EmStandardPhysics_option1.hh} (77%) rename source/physics_lists/builders/include/{G4EmStandardPhysics72.hh => G4EmStandardPhysics_option2.hh} (76%) rename source/physics_lists/{lists/include/LHEP_BIC_HP.hh => builders/include/G4QEmExtraPhysics.hh} (68%) rename source/physics_lists/builders/src/{G4EmStandardPhysics71.cc => G4EmStandardPhysics_option1.cc} (86%) rename source/physics_lists/builders/src/{G4EmStandardPhysics72.cc => G4EmStandardPhysics_option2.cc} (88%) delete mode 100644 source/physics_lists/builders/src/G4LEADNeutronBuilder.cc delete mode 100644 source/physics_lists/builders/src/G4LEADPiKBuilder.cc delete mode 100644 source/physics_lists/builders/src/G4LEADProtonBuilder.cc rename source/physics_lists/{lists/src/HadronPhysicsLHEP_HP.cc => builders/src/G4QEmExtraPhysics.cc} (51%) delete mode 100644 source/physics_lists/lists/include/HadronPhysicsLHEP_BIC.hh delete mode 100644 source/physics_lists/lists/include/HadronPhysicsLHEP_BIC_HP.hh delete mode 100644 source/physics_lists/lists/include/HadronPhysicsLHEP_LEAD.hh delete mode 100644 source/physics_lists/lists/include/HadronPhysicsLHEP_LEAD_HP.hh delete mode 100644 source/physics_lists/lists/include/HadronPhysicsLHEP_PRECO.hh delete mode 100644 source/physics_lists/lists/include/HadronPhysicsQGSC_LEAD.hh delete mode 100644 source/physics_lists/lists/include/HadronPhysicsQGSC_LEAD_HP.hh delete mode 100644 source/physics_lists/lists/include/HadronPhysicsQGSP_HP.hh delete mode 100644 source/physics_lists/lists/include/LHEP_BIC.icc delete mode 100644 source/physics_lists/lists/include/LHEP_BIC_HP.icc delete mode 100644 source/physics_lists/lists/include/LHEP_HP.icc delete mode 100644 source/physics_lists/lists/include/LHEP_LEAD.icc delete mode 100644 source/physics_lists/lists/include/LHEP_LEAD_HP.icc delete mode 100644 source/physics_lists/lists/include/LHEP_PRECO.hh delete mode 100644 source/physics_lists/lists/include/LHEP_PRECO.icc delete mode 100644 source/physics_lists/lists/include/QGSC_LEAD.hh delete mode 100644 source/physics_lists/lists/include/QGSC_LEAD.icc delete mode 100644 source/physics_lists/lists/include/QGSC_LEAD_HP.icc delete mode 100644 source/physics_lists/lists/include/QGSP_HP.icc delete mode 100644 source/physics_lists/lists/src/HadronPhysicsLHEP_BIC.cc delete mode 100644 source/physics_lists/lists/src/HadronPhysicsLHEP_BIC_HP.cc delete mode 100644 source/physics_lists/lists/src/HadronPhysicsLHEP_LEAD.cc delete mode 100644 source/physics_lists/lists/src/HadronPhysicsLHEP_LEAD_HP.cc delete mode 100644 source/physics_lists/lists/src/HadronPhysicsLHEP_PRECO.cc delete mode 100644 source/physics_lists/lists/src/HadronPhysicsQGSC_LEAD.cc delete mode 100644 source/physics_lists/lists/src/HadronPhysicsQGSC_LEAD_HP.cc delete mode 100644 source/physics_lists/lists/src/HadronPhysicsQGSP_HP.cc create mode 100644 source/processes/biasing/GNUmakefile create mode 100644 source/processes/biasing/History rename source/processes/{scoring => biasing}/include/G4GCellFinder.hh (96%) rename source/processes/{scoring => biasing}/include/G4GeometrySampler.hh (92%) rename source/processes/{scoring => biasing}/include/G4ImportanceConfigurator.hh (95%) rename source/processes/{scoring => biasing}/include/G4ImportanceProcess.hh (98%) rename source/processes/{scoring => biasing}/include/G4PlaceOfAction.hh (95%) rename source/processes/{transportation => biasing}/include/G4ProcessPlacer.hh (96%) rename source/processes/{transportation => biasing}/include/G4SamplingPostStepAction.hh (96%) rename source/processes/{scoring => biasing}/include/G4TrackTerminator.hh (96%) rename source/processes/{scoring => biasing}/include/G4VProcessPlacer.hh (96%) rename source/processes/{transportation => biasing}/include/G4VSampler.hh (92%) rename source/processes/{transportation => biasing}/include/G4VSamplerConfigurator.hh (96%) rename source/processes/{transportation => biasing}/include/G4WeightCutOffConfigurator.hh (89%) rename source/processes/{scoring/include/G4NewWeightCutOffProcess.hh => biasing/include/G4WeightCutOffProcess.hh} (89%) rename source/processes/{scoring => biasing}/include/G4WeightWindowConfigurator.hh (95%) rename source/processes/{scoring => biasing}/include/G4WeightWindowProcess.hh (98%) rename source/processes/{scoring => biasing}/src/G4GCellFinder.cc (96%) rename source/processes/{scoring => biasing}/src/G4GeometrySampler.cc (80%) rename source/processes/{scoring => biasing}/src/G4ImportanceConfigurator.cc (96%) rename source/processes/{scoring => biasing}/src/G4ImportanceProcess.cc (99%) rename source/processes/{transportation => biasing}/src/G4ProcessPlacer.cc (92%) rename source/processes/{transportation => biasing}/src/G4SamplingPostStepAction.cc (97%) rename source/processes/{transportation => biasing}/src/G4VProcessPlacer.cc (95%) rename source/processes/{transportation => biasing}/src/G4VSampler.cc (95%) rename source/processes/{transportation => biasing}/src/G4VSamplerConfigurator.cc (94%) rename source/processes/{transportation => biasing}/src/G4WeightCutOffConfigurator.cc (84%) rename source/processes/{scoring/src/G4NewWeightCutOffProcess.cc => biasing/src/G4WeightCutOffProcess.cc} (91%) rename source/processes/{scoring => biasing}/src/G4WeightWindowConfigurator.cc (97%) rename source/processes/{scoring => biasing}/src/G4WeightWindowProcess.cc (99%) delete mode 100644 source/processes/electromagnetic/lowenergy/include/G4LowEnergyBraggModel.hh delete mode 100644 source/processes/electromagnetic/lowenergy/src/G4LowEnergyBraggModel.cc rename source/{geometry/biasing/include/G4ParallelStepper.hh => processes/electromagnetic/muons/include/G4ErrorEnergyLoss.hh} (51%) delete mode 100644 source/processes/electromagnetic/muons/include/G4MuBremsstrahlung52.hh delete mode 100644 source/processes/electromagnetic/muons/include/G4MuBremsstrahlung52.icc delete mode 100644 source/processes/electromagnetic/muons/include/G4MuIonisation52.hh delete mode 100644 source/processes/electromagnetic/muons/include/G4MuPairProduction52.hh delete mode 100644 source/processes/electromagnetic/muons/include/G4MuPairProduction52.icc delete mode 100644 source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.hh delete mode 100644 source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.icc create mode 100644 source/processes/electromagnetic/muons/src/G4ErrorEnergyLoss.cc delete mode 100644 source/processes/electromagnetic/muons/src/G4MuBremsstrahlung52.cc delete mode 100644 source/processes/electromagnetic/muons/src/G4MuIonisation52.cc delete mode 100644 source/processes/electromagnetic/muons/src/G4MuPairProduction52.cc delete mode 100644 source/processes/electromagnetic/muons/src/G4VMuEnergyLoss.cc delete mode 100644 source/processes/electromagnetic/standard/include/G4GammaConversion52.hh delete mode 100644 source/processes/electromagnetic/standard/include/G4MultipleScattering52.hh delete mode 100644 source/processes/electromagnetic/standard/include/G4MultipleScattering52.icc delete mode 100644 source/processes/electromagnetic/standard/include/G4PhotoElectricEffect52.hh delete mode 100644 source/processes/electromagnetic/standard/include/G4VeEnergyLoss.hh delete mode 100644 source/processes/electromagnetic/standard/include/G4VeEnergyLoss.icc delete mode 100644 source/processes/electromagnetic/standard/include/G4VhEnergyLoss.hh delete mode 100644 source/processes/electromagnetic/standard/include/G4eBremsstrahlung52.hh delete mode 100644 source/processes/electromagnetic/standard/include/G4eBremsstrahlung52.icc delete mode 100644 source/processes/electromagnetic/standard/include/G4eIonisation52.hh delete mode 100644 source/processes/electromagnetic/standard/include/G4eplusAnnihilation52.hh delete mode 100644 source/processes/electromagnetic/standard/include/G4hIonisation52.hh delete mode 100644 source/processes/electromagnetic/standard/src/G4GammaConversion52.cc delete mode 100644 source/processes/electromagnetic/standard/src/G4MultipleScattering52.cc delete mode 100644 source/processes/electromagnetic/standard/src/G4PhotoElectricEffect52.cc delete mode 100644 source/processes/electromagnetic/standard/src/G4VeEnergyLoss.cc delete mode 100644 source/processes/electromagnetic/standard/src/G4VhEnergyLoss.cc delete mode 100644 source/processes/electromagnetic/standard/src/G4eBremsstrahlung52.cc delete mode 100644 source/processes/electromagnetic/standard/src/G4eIonisation52.cc delete mode 100644 source/processes/electromagnetic/standard/src/G4eplusAnnihilation52.cc delete mode 100644 source/processes/electromagnetic/standard/src/G4hIonisation52.cc rename source/{physics_lists/lists/include/QGSP_HP.hh => processes/electromagnetic/utils/include/G4MscStepLimitType.hh} (73%) create mode 100644 source/processes/hadronic/models/cascade/cascade/include/G4EvaporationInuclCollider.hh rename source/{physics_lists/lists/include/LHEP_BIC.hh => processes/hadronic/models/cascade/cascade/include/G4InuclEvaporation.hh} (65%) rename examples/extended/biasing/B03/include/B03AppBase.hh => source/processes/hadronic/models/cascade/cascade/include/G4PreCompoundCascadeInterface.hh (59%) create mode 100644 source/processes/hadronic/models/cascade/cascade/include/G4PreCompoundInuclCollider.hh create mode 100644 source/processes/hadronic/models/cascade/cascade/src/G4EvaporationInuclCollider.cc create mode 100644 source/processes/hadronic/models/cascade/cascade/src/G4InuclEvaporation.cc create mode 100644 source/processes/hadronic/models/cascade/cascade/src/G4PreCompoundCascadeInterface.cc create mode 100644 source/processes/hadronic/models/cascade/cascade/src/G4PreCompoundInuclCollider.cc create mode 100644 source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QCoherentChargeExchange.hh rename source/processes/hadronic/{util/include/G4ParticleVector.hh => models/chiral_inv_phase_space/interface/include/G4QDiffractionRatio.hh} (52%) create mode 100644 source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QCoherentChargeExchange.cc create mode 100644 source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QDiffractionRatio.cc create mode 100644 source/processes/hadronic/models/coherent_elastic/include/G4DiffuseElastic.hh create mode 100644 source/processes/hadronic/models/coherent_elastic/src/G4DiffuseElastic.cc create mode 100644 source/processes/hadronic/models/lll_fission/GNUmakefile create mode 100644 source/processes/hadronic/models/lll_fission/History create mode 100755 source/processes/hadronic/models/lll_fission/include/G4FissLib.hh create mode 100755 source/processes/hadronic/models/lll_fission/include/G4FissionLibrary.hh create mode 100644 source/processes/hadronic/models/lll_fission/include/G4LLNLFission.hh create mode 100644 source/processes/hadronic/models/lll_fission/include/G4fissionEvent.hh create mode 100755 source/processes/hadronic/models/lll_fission/src/G4FissLib.cc create mode 100755 source/processes/hadronic/models/lll_fission/src/G4FissionLibrary.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4LLNLFission.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpGEng.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpIsoDir.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpNEngCf252.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpNVel.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataPu239.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataPu239_241.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataPu239_241_MC.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU232_234_236_238.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU232_234_236_238_MC.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU233_235.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU233_235_MC.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU235.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU238.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpNugDist.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpPVel.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpSpNuDistData.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpSpNubarData.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpSpNugDistData.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpTerrell.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4SmpWatt.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4fissionEvent.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4fissionerr.cc create mode 100644 source/processes/hadronic/models/lll_fission/src/G4rngc.cc rename source/processes/hadronic/models/parton_string/{management => diffraction}/include/G4DiffractiveExcitation.hh (98%) rename source/processes/hadronic/models/parton_string/{management => diffraction}/src/G4DiffractiveExcitation.cc (80%) create mode 100644 source/processes/hadronic/models/parton_string/qgsm/include/G4QGSDiffractiveExcitation.hh rename source/processes/hadronic/models/parton_string/{management => qgsm}/include/G4SingleDiffractiveExcitation.hh (94%) create mode 100644 source/processes/hadronic/models/parton_string/qgsm/src/G4QGSDiffractiveExcitation.cc rename source/processes/hadronic/models/parton_string/{management => qgsm}/src/G4SingleDiffractiveExcitation.cc (98%) delete mode 100644 source/processes/hadronic/util/include/G4EffectiveCharge.hh delete mode 100644 source/processes/hadronic/util/include/G4Fuzzy.hh delete mode 100644 source/processes/parameterisation/include/G4FastSimulationManagerProcess81.hh delete mode 100644 source/processes/parameterisation/include/G4FlavoredParallelWorld.hh delete mode 100644 source/processes/parameterisation/include/G4GFSManager81.hh delete mode 100644 source/processes/parameterisation/src/G4FastSimulationManagerProcess81.cc delete mode 100644 source/processes/parameterisation/src/G4GFSManager81.cc delete mode 100644 source/processes/scoring/include/G4NewProcessPlacer.hh delete mode 100644 source/processes/scoring/include/G4NewWeightCutOffConfigurator.hh delete mode 100644 source/processes/scoring/include/G4ScoreProcess.hh delete mode 100644 source/processes/scoring/src/G4NewProcessPlacer.cc delete mode 100644 source/processes/scoring/src/G4NewWeightCutOffConfigurator.cc delete mode 100644 source/processes/scoring/src/G4ScoreConfigurator.cc delete mode 100644 source/processes/scoring/src/G4ScoreProcess.cc delete mode 100644 source/processes/transportation/include/G4MImportanceConfigurator.hh delete mode 100644 source/processes/transportation/include/G4MScoreProcess.hh delete mode 100644 source/processes/transportation/include/G4MWeightWindowConfigurator.hh delete mode 100644 source/processes/transportation/include/G4MassGCellFinder.hh delete mode 100644 source/processes/transportation/include/G4MassGeometrySampler.hh delete mode 100644 source/processes/transportation/include/G4MassImportanceProcess.hh delete mode 100644 source/processes/transportation/include/G4MassWeightWindowProcess.hh delete mode 100644 source/processes/transportation/include/G4PImportanceConfigurator.hh delete mode 100644 source/processes/transportation/include/G4PScoreConfigurator.hh delete mode 100644 source/processes/transportation/include/G4PScoreProcess.hh delete mode 100644 source/processes/transportation/include/G4PWeightWindowConfigurator.hh delete mode 100644 source/processes/transportation/include/G4ParallelGeometrySampler.hh delete mode 100644 source/processes/transportation/include/G4ParallelImportanceProcess.hh delete mode 100644 source/processes/transportation/include/G4ParallelTransport.hh delete mode 100644 source/processes/transportation/include/G4ParallelTransportConfigurator.hh delete mode 100644 source/processes/transportation/include/G4ParallelWWnTransportProcess.hh delete mode 100644 source/processes/transportation/include/G4ParallelWeightWindowProcess.hh delete mode 100644 source/processes/transportation/include/G4PlaceOfAction.hh delete mode 100644 source/processes/transportation/include/G4VProcessPlacer.hh delete mode 100644 source/processes/transportation/include/G4WeightCutOffProcess.hh delete mode 100644 source/processes/transportation/src/G4MImportanceConfigurator.cc delete mode 100644 source/processes/transportation/src/G4MScoreConfigurator.cc delete mode 100644 source/processes/transportation/src/G4MScoreProcess.cc delete mode 100644 source/processes/transportation/src/G4MWeightWindowConfigurator.cc delete mode 100644 source/processes/transportation/src/G4MassGeometrySampler.cc delete mode 100644 source/processes/transportation/src/G4MassImportanceProcess.cc delete mode 100644 source/processes/transportation/src/G4MassWeightWindowProcess.cc delete mode 100644 source/processes/transportation/src/G4PImportanceConfigurator.cc delete mode 100644 source/processes/transportation/src/G4PScoreProcess.cc delete mode 100644 source/processes/transportation/src/G4PWeightWindowConfigurator.cc delete mode 100644 source/processes/transportation/src/G4ParallelGeometrySampler.cc delete mode 100644 source/processes/transportation/src/G4ParallelImportanceProcess.cc delete mode 100644 source/processes/transportation/src/G4ParallelTransport.cc delete mode 100644 source/processes/transportation/src/G4ParallelTransportConfigurator.cc delete mode 100644 source/processes/transportation/src/G4ParallelWWnTransportProcess.cc delete mode 100644 source/processes/transportation/src/G4ParallelWeightWindowProcess.cc delete mode 100644 source/processes/transportation/src/G4WeightCutOffProcess.cc delete mode 100644 source/visualization/Tree/include/G4GAGTree.hh delete mode 100644 source/visualization/Tree/include/G4GAGTreeList.hh delete mode 100644 source/visualization/Tree/include/G4GAGTreeSceneHandler.hh delete mode 100644 source/visualization/Tree/include/G4GAGTreeViewer.hh delete mode 100644 source/visualization/Tree/src/G4GAGTree.cc delete mode 100644 source/visualization/Tree/src/G4GAGTreeSceneHandler.cc delete mode 100644 source/visualization/Tree/src/G4GAGTreeViewer.cc diff --git a/Configure b/Configure index e6a857b5c5..ee2058b99d 100755 --- a/Configure +++ b/Configure @@ -18,9 +18,9 @@ # you may fetch it yourself from your nearest archive site.) # -# $Id: Configure,v 1.96 2007/02/16 12:20:09 bmorgan Exp $ +# $Id: Configure,v 1.98 2007/06/22 11:49:47 bmorgan Exp $ # -# Generated on Fri Feb 16 12:09:40 GMT 2007 [metaconfig 3.0 PL70] +# Generated on Fri Jun 22 12:32:16 BST 2007 [metaconfig 3.0 PL70] cat >/tmp/c1$$ < + +Geant4 9.0 Release Notes + + + +

+
+

+ +

+ +Geant4 9.0 Release Notes + + + + +
+ +June 29th, 2007 + +
+ +

+


+

+The code and binary libraries for the supported systems are available +through our Source +Code Web page. +

+

+Please refer to the +Geant4 +User Documentation for further information about using Geant4. +

+ +

Contents

+
    +
  1. Supported and Tested Platforms
  2. +
  3. CLHEP and AIDA
  4. +
  5. Items for migration of the user code
  6. +
  7. New Developments and Capabilities
  8. +
  9. Expected effects on physics and performance
  10. +
  11. Known Run-Time Problems and Limitations
  12. +
  13. Compilation Warnings
  14. +
  15. Known Run-Time Warnings
  16. +
  17. Geant4 Software License
  18. +
  19. Detailed list of changes and fixes
  20. +
+ +

+ +
+ + + +

1. Supported and Tested Platforms

+ +Official platforms: + + +More verified configurations: + + +Platforms configured but not tested and not supported: + + +

+ +
+ + + +

2. CLHEP and AIDA

+ +Geant4 9.0 requires the installation of +CLHEP.
+Tests have been performed with CLHEP-2.0.3.1
+The software has been verified also with CLHEP-1.9.3.1.
+

+Geant4 9.0 examples with histogramming cowork with analysis tools compliant +to AIDA 3.2.1 interfaces.
+AIDA headers can be downloaded from: +http://aida.freehep.org + + +

+ +
+ + + +

3. Items for migration of the user code

+ +Listed here is some relevant information on developments included in this +release, some of which may require migrations (mainly for advanced uses of +features in Geant4) in order to upgrade from release 8.3 to release 9.0. +Note that a full re-installation of libraries (or a full recompilation) and +a recompilation of user applications is anyhow required. + +

+Geometry +

+The static constants for the geometrical tolerance kCarTolerance, +kRadTolerance and kAngTolerance which used to be defined +at global scope, have been now removed.
+Advanced applications making use of such constants in the code are required +to retrieve the values for Cartesian, Angular and Radial tolerances through +the class G4GeometryTolerance, a new class providing the methods, +respectively: GetSurfaceTolerance(), GetRadialTolerance() +and GetAngularTolerance(). Applications with setups of unusual +dimensions (e.g. smaller than 1 mm or larger than 1 km) +can now adjust these values, and must do so before creating any part of +the geometry description. Please see the User's Guide for Application +Developers for the details. + +

+Biasing & Scoring +

+ + +

+Standard Electromagnetic physics +

+

+A few methods of the interface classes G4VEmModel, +G4VEnergyLossProcess, G4VEmProcess, +G4VMultipleScattering were revised, in order to reduce memory +allocations. All classes inheriting these interfaces were modified accordingly +(see detailed list of changes). Advanced users with derived classes must make +similar changes. +

+

+Old implementations of physics processes, of configurations frozen in release +5.2, have been removed (see below detailed list of changes). +

+An enumerator of step limitation algorithms of the multiple-scattering process +has been introduced. It replaces a boolean value . The step limitation types +are: + +As in releases 8.0 to 8.2, the minimal option (which used to be called +'no step limitation') results in fewer steps, and typically provides less +stability than the other options. + +

+Hadronic physics +

+ + +

+Physics Lists +

+ +Removed physics lists LHEP_HP, QGSP_HP, LHEP_BIC, LHEP_BIC_HP +and LHEP_PRECO, which were marked obsolete in release 8.2. +Users are encouraged to evaluate QGSP_BIC as a replacement of +LHEP_PRECO and LHEP_BIC. The list LHEP_BIC_HP +is replaced by QGSP_BIC_HP. In place of the remaining lists +(LHEP_HP, QGSP_HP) we suggest to evaluate QGSP_BERT_HP +and QGSP_BIC_HP.
+Also removed physics lists using the Mars13 leading particle classes, +i.e. lists with a name containing _LEAD_. +

+The components for electro-magnetic physics have been renamed and three +variants are now available: +

+ +

+Data Sets +

+ +This release introduced three new versions of the following data sets. +Please see the last section for the corresponding details. + + +

+ +
+ + + +

4. New Developments and Capabilities

+ +Error Propagation + + +Standard Electromagnetic physics + + +Hadronic physics: Neutrons + + +

+ +
+ + +

5. Expected effects on physics and performance

+ +Standard Electromagnetic physics + + +Hadronic physics + + +

+ +
+ + + +

6. Known Run-Time Problems and Limitations

+ +For a complete list of outstanding run-time problems and to submit any +problem you may find running this version of Geant4, please refer to the +Geant4 Problem +Reporting System. + +

+ +
+ + + +

7. Compilation Warnings

+ +There are compilation warnings on some tested platforms. We do not believe +that any of these lead to incorrect run-time behaviour. + +

+ +
+ + + +

8. Known Run-Time Warnings

+ +The following message can be written to standard output at the end of a program: +
+    G4Transportation: Statistics for looping particles 
+       Sum of energy of loopers killed: 
+       Max energy of loopers killed: 
+
+It provides the total energy (in MeV) of tracks killed due to +excessive number of steps ('looping') during the simulation, and the maximum +energy of such a track. Such behaviour can be due to looping in magnetic fields +or encountering problems at geometrical boundaries. +

+In case either of these reported energy is significant, we recommend to +increase the verbosity of G4Transportation to obtain information for +each track killed. A user can change the threshold energy above which particles +are not killed using the method SetThresholdImportantEnergy of +G4Transportation. The default value is 250 MeV. + +

+ +
+ + + +

9. Geant4 Software License

+ +A Software License applies to the Geant4 code. +Users must accept this license in order to use it. The details and the list of +copyright holders is available at +http://cern.ch/geant4/license +and also in the text file LICENSE distributed with the source code. + +

+ +
+ + + +

10. Detailed list of changes and fixes

+ +These are the main new features/fixes included in this release since the +last patched public release (for more detailed lists of fixes/additions, +please refer to the corresponding History files provided in most packages): + +

+ + +

Configuration

+ + + +

Digitization & Hits

+ + + +

Electromagnetic Processes

+ + + + +

Error Propagation

+ + + +

Event

+ + + +

General Processes

+ + + +

Geometry

+ + + +

Global

+ + + +

Graphical Representations

+ + + +

Hadronic Processes

+ + + +

Interfaces

+ + + +

Materials

+ + + +

Particles

+ + + +

Physics lists

+ + + +

Run

+ + + +

Track & Tracking

+ + + +

Visualization

+ + + +

Environments

+ + + +

Data sets

+ + + +

Examples

+ + +
+ + + diff --git a/config/History b/config/History index 1346372daa..d1e8ebc163 100644 --- a/config/History +++ b/config/History @@ -1,4 +1,4 @@ -$Id: History,v 1.289 2007/02/28 15:35:31 gcosmo Exp $ +$Id: History,v 1.295 2007/06/28 17:01:13 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,31 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +28th June 2007 Gabriele Cosmo (config-V08-03-04) +- Updated Configure scripts to fix installation issue when installation + path is different from source path and headers are not installed. +- Cleared characters from .gmk scripts where not necessary. + +22nd June 2007 Gabriele Cosmo (config-V08-03-03) +- Corrected binmake.gmk for having error_propagation in INCFLAGS properly + included in search path. +- Updated internal scripts for Configure to cope with new environment + variable G4NEUTRONHPDATA. + +18th June 2007 Ben Morgan (config-V08-03-02) +- Fixed Configure internal script to get rid of searching old physics_list + module at installation. + +27th May 2007 Gabriele Cosmo (config-V08-03-01) +- Added "lll_fission" hadronic model module to binmake.gmk. + +12th May 2007 Gabriele Cosmo (config-V08-03-00) +- Added "error_propagation" module to binmake.gmk. +- Removed G4LIB_BUILD_LISTS flag. Physics lists are built by default. + +21st March 2007 Gabriele Cosmo +- Added "biasing" module to binmake.gmk. + 28th February 2007 Gabriele Cosmo (config-V08-02-00) - Protected generation of dependencies using internal 'make' variable MAKECMDGOALS in binmake.gmk and common.gmk, following suggestion made diff --git a/config/architecture.gmk b/config/architecture.gmk index fe8fb9675f..b24a436109 100644 --- a/config/architecture.gmk +++ b/config/architecture.gmk @@ -1,4 +1,4 @@ -# $Id: architecture.gmk,v 1.107 2006/10/31 11:35:43 gunter Exp $ +# $Id: architecture.gmk,v 1.110 2007/06/28 14:16:55 gcosmo Exp $ # ------------------------------------------------------------------------ # GEANT 4 - Architecture configuration script for GNU Make # @@ -13,11 +13,11 @@ # List of the supported architectures/compilers and related flavors for # the environment variable G4SYSTEM: # -# Linux-g++ Linux (Red Hat Enterprise/SCL3), gcc-3.2.3 (default) +# Linux-g++ Linux (Red Hat Enterprise/SCL4), gcc-3.4.6 (default) # -# SUN-CC SunOS 5.8, CC 5.4 +# SUN-CC SunOS 5.8, CC 5.5 # -# WIN32-VC Windows/XP and Microsoft Visual C++ 7.1 .NET +# WIN32-VC Windows/XP and Microsoft Visual C++ 8.0 # Adding CYGWIN32 tools # ------------------------------------------------------------------------- @@ -51,7 +51,7 @@ ifndef G4TMP G4TMP := $(G4WORKDIR)/tmp endif G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4TMP) ] && mkdir -p $(G4TMP) ) - + # If not specified, the default path for G4 libraries G4LIB is # set to $G4INSTALL/lib/$G4SYSTEM ... # @@ -112,12 +112,6 @@ ifneq ($(G4LIB_BUILD_ZLIB),) G4LIB_USE_ZLIB = 1 endif -# Allow to disable building of physics_lists module. Default is to build these -# -ifneq ($(G4LIB_BUILD_LISTS),NO) - G4LIB_BUILD_LISTS = 1 -endif - # If not specified, the default path for G4 binaries G4BIN is # set to $G4WORKDIR/bin/$G4SYSTEM ... # @@ -304,8 +298,7 @@ ifdef OGLFLAGS OGLFLAGS:= $(filter-out -I/usr/include,$(OGLFLAGS)) OGLFLAGS:= $(filter-out -I/usr//include,$(OGLFLAGS)) endif - - + # If there is no cbrt() function... # ifdef G4_NO_CBRT diff --git a/config/binmake.gmk b/config/binmake.gmk index da4e52a006..b0c9caf535 100644 --- a/config/binmake.gmk +++ b/config/binmake.gmk @@ -1,4 +1,4 @@ -# $Id: binmake.gmk,v 1.117 2007/02/28 15:35:07 gcosmo Exp $ +# $Id: binmake.gmk,v 1.123 2007/06/28 14:16:55 gcosmo Exp $ # ---------------------------------------------------------- # Script defining rules and paths for making binaries. # First implementation: Gabriele Cosmo, 25/06/1998. @@ -60,10 +60,11 @@ ifndef INCFLAGS -I$(G4BASE)/particles/hadrons/ions/include \ -I$(G4BASE)/particles/hadrons/mesons/include \ -I$(G4BASE)/particles/shortlived/include \ - -I$(G4BASE)/physics_lists/lists/include \ - -I$(G4BASE)/physics_lists/builders/include \ + -I$(G4BASE)/physics_lists/lists/include \ + -I$(G4BASE)/physics_lists/builders/include \ -I$(G4BASE)/processes/management/include \ -I$(G4BASE)/processes/cuts/include \ + -I$(G4BASE)/processes/biasing/include \ -I$(G4BASE)/processes/scoring/include \ -I$(G4BASE)/processes/decay/include \ -I$(G4BASE)/processes/optical/include \ @@ -77,19 +78,19 @@ ifndef INCFLAGS -I$(G4BASE)/processes/electromagnetic/highenergy/include \ -I$(G4BASE)/processes/electromagnetic/polarisation/include \ -I$(G4BASE)/processes/hadronic/cross_sections/include \ - -I$(G4BASE)/processes/hadronic/management/include \ - -I$(G4BASE)/processes/hadronic/models/abrasion/include \ + -I$(G4BASE)/processes/hadronic/management/include \ + -I$(G4BASE)/processes/hadronic/models/abrasion/include \ -I$(G4BASE)/processes/hadronic/models/binary_cascade/include \ - -I$(G4BASE)/processes/hadronic/models/cascade/cascade/include \ - -I$(G4BASE)/processes/hadronic/models/cascade/evaporation/include \ - -I$(G4BASE)/processes/hadronic/models/cascade/utils/include \ + -I$(G4BASE)/processes/hadronic/models/cascade/cascade/include \ + -I$(G4BASE)/processes/hadronic/models/cascade/evaporation/include \ + -I$(G4BASE)/processes/hadronic/models/cascade/utils/include \ -I$(G4BASE)/processes/hadronic/models/chiral_inv_phase_space/body/include \ -I$(G4BASE)/processes/hadronic/models/chiral_inv_phase_space/interface/include \ -I$(G4BASE)/processes/hadronic/models/coherent_elastic/include \ - -I$(G4BASE)/processes/hadronic/models/de_excitation/ablation/include \ + -I$(G4BASE)/processes/hadronic/models/de_excitation/ablation/include \ -I$(G4BASE)/processes/hadronic/models/de_excitation/evaporation/include \ -I$(G4BASE)/processes/hadronic/models/de_excitation/fermi_breakup/include \ - -I$(G4BASE)/processes/hadronic/models/de_excitation/fission/include \ + -I$(G4BASE)/processes/hadronic/models/de_excitation/fission/include \ -I$(G4BASE)/processes/hadronic/models/de_excitation/gem_evaporation/include \ -I$(G4BASE)/processes/hadronic/models/de_excitation/handler/include \ -I$(G4BASE)/processes/hadronic/models/de_excitation/management/include \ @@ -103,6 +104,7 @@ ifndef INCFLAGS -I$(G4BASE)/processes/hadronic/models/inucl/include \ -I$(G4BASE)/processes/hadronic/models/isotope_production/include \ -I$(G4BASE)/processes/hadronic/models/leading_particle/include \ + -I$(G4BASE)/processes/hadronic/models/lll_fission/include \ -I$(G4BASE)/processes/hadronic/models/low_energy/include \ -I$(G4BASE)/processes/hadronic/models/management/include \ -I$(G4BASE)/processes/hadronic/models/neutron_hp/include \ @@ -141,6 +143,7 @@ ifndef INCFLAGS -I$(G4BASE)/persistency/include \ -I$(G4BASE)/readout/include \ -I$(G4BASE)/event/include \ + -I$(G4BASE)/error_propagation/include \ -I$(G4BASE)/graphics_reps/include \ -I$(G4BASE)/intercoms/include ifdef G4LIB_USE_G3TOG4 @@ -206,16 +209,13 @@ ifdef GLOBALLIBS LDLIBS2 += -lG3toG4 endif - LDLIBS2 += -lG4readout - - ifeq ($(G4LIB_BUILD_LISTS),1) - LDLIBS2 += -lG4physicslists - endif - - LDLIBS2 += -lG4run \ + LDLIBS2 += -lG4error_propagation \ + -lG4readout \ + -lG4physicslists \ + -lG4run \ -lG4event \ -lG4tracking \ - -lG4parmodels \ + -lG4parmodels \ -lG4processes \ -lG4digits_hits \ -lG4track \ @@ -231,19 +231,19 @@ else ifeq ($(G4INCLUDE_EXEC),1) LDLIBS2 = $(shell \ G4TMP=$(G4TMP); export G4TMP; \ - if [ \( -f $(G4LIB)/$(G4SYSTEM)/liblist \ - -a -f $(G4LIB)/$(G4SYSTEM)/libname.map \) ]; then \ - $(G4LIB)/$(G4SYSTEM)/liblist \ - -m $(G4LIB)/$(G4SYSTEM) \ - < $(G4LIB)/$(G4SYSTEM)/libname.map; fi) + if [ \( -f $(G4LIB)/$(G4SYSTEM)/liblist \ + -a -f $(G4LIB)/$(G4SYSTEM)/libname.map \) ]; then \ + $(G4LIB)/$(G4SYSTEM)/liblist \ + -m $(G4LIB)/$(G4SYSTEM) \ + < $(G4LIB)/$(G4SYSTEM)/libname.map; fi) else LDLIBS2 = $(shell \ G4TMP=$(G4TMP); export G4TMP; \ - if [ \( -f $(G4LIB)/$(G4SYSTEM)/liblist \ - -a -f $(G4LIB)/$(G4SYSTEM)/libname.map \) ]; then \ - $(G4LIB)/$(G4SYSTEM)/liblist \ - -d $(G4TMPDIR) \ - < $(G4LIB)/$(G4SYSTEM)/libname.map; fi) + if [ \( -f $(G4LIB)/$(G4SYSTEM)/liblist \ + -a -f $(G4LIB)/$(G4SYSTEM)/libname.map \) ]; then \ + $(G4LIB)/$(G4SYSTEM)/liblist \ + -d $(G4TMPDIR) \ + < $(G4LIB)/$(G4SYSTEM)/libname.map; fi) # Warning: do not add to LDLIBS2 with += because this causes it to be # expanded too soon. Hence extra libraries must have a different name... # Extra libraries to resolve remaining circular dependencies... @@ -291,10 +291,10 @@ ifneq (,$(findstring WIN32-VC,$(G4SYSTEM))) ifdef G4LIB_USE_DLL LDLIBS = $(TARGETLIB) $(patsubst -l%,lib%.a,$(WIN32TMP3)) $(patsubst -l%,lib%.lib,$(WIN32TMP4)) else - LDLIBS = $(TARGETLIB) $(patsubst -l%,lib%.lib,$(WIN32TMP2)) + LDLIBS = $(TARGETLIB) $(patsubst -l%,lib%.lib,$(WIN32TMP2)) endif else - LDLIBS = $(TARGETLIB) $(patsubst -l%,lib%.a,$(WIN32TMP2)) + LDLIBS = $(TARGETLIB) $(patsubst -l%,lib%.a,$(WIN32TMP2)) endif else LDLIBS = $(TARGETLIB) $(LDLIBS_PREFINAL) @@ -304,7 +304,7 @@ ifdef transform-RPath # Invoke system specific transformation of include $(G4INSTALL)/config/sys/$(G4SYSTEM)-runpath.gmk endif - + sources := $(wildcard $(G4TARGET).cc) objects := $(patsubst %.cc,$(G4TMPDIR)/exe/%.$(TARGOBJEXT),$(sources)) dependencies := $(patsubst %.cc,$(G4TMPDIR)/exe/%.d,$(sources)) diff --git a/config/common.gmk b/config/common.gmk index a6c864f8ac..627f2ca544 100644 --- a/config/common.gmk +++ b/config/common.gmk @@ -1,4 +1,4 @@ -# $Id: common.gmk,v 1.42 2007/02/28 15:35:07 gcosmo Exp $ +# $Id: common.gmk,v 1.43 2007/06/28 14:33:38 gcosmo Exp $ # ---------------------------------------------------------------- # Common part of GNUmakefile for libraries. John Allison, 5/7/95. # ---------------------------------------------------------------- @@ -123,10 +123,10 @@ installed_includes:=$(patsubst include/%,$(G4INCLUDE)/%,$(installed_includes)) # NOTE: the double colon rule allows to add other rules for the same target # -includes:: $(installed_includes) +includes:: $(installed_includes) # Static Pattern rules, see GNU make manual for details. -# target(s): target-pattern : dep-pattern +# target(s): target-pattern : dep-pattern # $(installed_includes): $(G4INCLUDE)/% : include/% @cp -p $< $@ diff --git a/config/scripts/env.csh.SH b/config/scripts/env.csh.SH index 33af2af74c..073c1d913b 100755 --- a/config/scripts/env.csh.SH +++ b/config/scripts/env.csh.SH @@ -37,7 +37,7 @@ unsetenv G4INSTALL unsetenv G4LEDATA unsetenv G4LEVELGAMMADATA -unsetenv NeutronHPCrossSections +unsetenv G4NEUTRONHPDATA unsetenv G4RADIOACTIVEDATA unsetenv G4LIB @@ -140,8 +140,8 @@ endif #+ if ( X$g4neutronhpcrosssections != X ) then -setenv NeutronHPCrossSections "$g4neutronhpcrosssections" -echo "On this machine the NeutronHPCrossSections=\$NeutronHPCrossSections" +setenv G4NEUTRONHPDATA "$g4neutronhpcrosssections" +echo "On this machine the G4NEUTRONHPDATA=\$G4NEUTRONHPDATA" endif #+ diff --git a/config/scripts/env.sh.SH b/config/scripts/env.sh.SH index 0a353eb695..4f63bf1d1f 100755 --- a/config/scripts/env.sh.SH +++ b/config/scripts/env.sh.SH @@ -37,7 +37,7 @@ unset G4INSTALL unset G4LEDATA unset G4LEVELGAMMADATA -unset NeutronHPCrossSections +unset G4NEUTRONHPDATA unset G4RADIOACTIVEDATA unset G4LIB @@ -163,10 +163,10 @@ fi #+ if [ X$g4neutronhpcrosssections != X ] ; then -NeutronHPCrossSections="$g4neutronhpcrosssections" -export NeutronHPCrossSections +G4NEUTRONHPDATA="$g4neutronhpcrosssections" +export G4NEUTRONHPDATA if [ X\$g4non_display = X ] ; then -echo "On this machine the NeutronHPCrossSections=\$NeutronHPCrossSections" +echo "On this machine the G4NEUTRONHPDATA=\$G4NEUTRONHPDATA" fi fi @@ -617,7 +617,7 @@ $spitshell >>env.sh <<'!NO!SUBS!' # if [ $G4WORKDIR ] ; then -if [ X$g4non_display = X ] ; then +if [ X\$g4non_display = X ] ; then echo "In your environment you have the G4WORKDIR=$G4WORKDIR" fi @@ -626,7 +626,7 @@ else # Check for Windows! if test "X$G4SYSTEM" = "XWIN32-VC" -o "X$G4SYSTEM" = "XWIN32-VC7"; then -if [ X$g4non_display = X ] ; then +if [ X\$g4non_display = X ] ; then echo "G4WORKDIR will be set to c:/geant4 (in "native" Windows syntax)" fi @@ -635,7 +635,7 @@ export G4WORKDIR else # if Unix -if [ X$g4non_display = X ] ; then +if [ X\$g4non_display = X ] ; then echo "G4WORKDIR will be set to HOME/geant4=$HOME/geant4" fi @@ -656,7 +656,6 @@ if [ $G4LIB_BUILD_SHARED ] ; then # # Warning about LD_LIBRARY_PATH # -if [ X$g4non_display = X ] ; then echo '' echo 'LD_LIBRARY_PATH is set to include CLHEP and Geant4 libraries. ' echo '' @@ -666,7 +665,6 @@ echo 'variable in your environment, and no other outdated installations' echo 'of CLHEP are by chance referenced through $LD_LIBRARY_PATH and' echo 'present in your system !' echo '' -fi if [ $LD_LIBRARY_PATH ] ; then LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${G4LIB}/${G4SYSTEM} diff --git a/config/scripts/install.sh.SH b/config/scripts/install.sh.SH index 885cf3bb7f..2c9d14f8d0 100755 --- a/config/scripts/install.sh.SH +++ b/config/scripts/install.sh.SH @@ -37,7 +37,7 @@ unset G4INSTALL unset G4LEDATA unset G4LEVELGAMMADATA -unset NeutronHPCrossSections +unset G4NEUTRONHPDATA unset G4RADIOACTIVEDATA unset G4LIB @@ -144,9 +144,9 @@ fi #+ if [ X$g4neutronhpcrosssections != X ] ; then -NeutronHPCrossSections="$g4neutronhpcrosssections" -export NeutronHPCrossSections -echo "On this machine the NeutronHPCrossSections=\$NeutronHPCrossSections" +G4NEUTRONHPDATA="$g4neutronhpcrosssections" +export G4NEUTRONHPDATA +echo "On this machine the G4NEUTRONHPDATA=\$G4NEUTRONHPDATA" fi #+ diff --git a/config/scripts/move.sh.SH b/config/scripts/move.sh.SH index a98bda3952..33cba0c665 100644 --- a/config/scripts/move.sh.SH +++ b/config/scripts/move.sh.SH @@ -89,9 +89,9 @@ fi #+ if [ X$g4neutronhpcrosssections != X ] ; then -NeutronHPCrossSections="$g4neutronhpcrosssections" -export NeutronHPCrossSections -echo "On this machine the NeutronHPCrossSections=\$NeutronHPCrossSections" +G4NEUTRONHPDATA="$g4neutronhpcrosssections" +export G4NEUTRONHPDATA +echo "On this machine the G4NEUTRONHPDATA=\$G4NEUTRONHPDATA" fi #+ @@ -384,7 +384,7 @@ echo "" echo "Installing sources and headers..." echo "" mkdir -p $g4final_install/src/geant4/ -tar cf - Configure config/ source/ environments/ physics_lists/ examples/ |(cd $g4final_install/src/geant4/; tar xf -) +tar cf - Configure config/ source/ environments/ examples/ include/ |(cd $g4final_install/src/geant4/; tar xf -) fi fi @@ -398,7 +398,7 @@ echo "Installing sources..." echo "" mkdir -p $g4final_install/src/geant4/ -tar cf - Configure config/ source/ environments/ physics_lists/ examples/ |(cd $g4final_install/src/geant4/; tar xf -) +tar cf - Configure config/ source/ environments/ examples/ |(cd $g4final_install/src/geant4/; tar xf -) fi echo "" diff --git a/environments/History b/environments/History index a5c40b51e8..7787c0c10a 100644 --- a/environments/History +++ b/environments/History @@ -1,4 +1,4 @@ -$Id: History,v 1.27 2006/12/01 02:42:50 kmura Exp $ +$Id: History,v 1.29 2007/06/07 09:12:11 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -18,6 +18,15 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +envs-V08-03-01 7 June Koichi Murakami + [g4py] + - modified for 9.0 (checked for cand-05) + +envs-V08-03-00 27 May Koichi Murakami + [g4py] + - implement software abort by Ctrl-C. + - modified for 8.3/9.0 + envs-V08-01-02 01 December 2006 Koichi Murakami - pyG4Material.cc : fix namespace problem - pyG4VisManager.cc : replace SetVerboisity with SetVerboseLevel for G4.8.2 diff --git a/environments/MOMO/MomoHome/include/MomoEventAction.hh b/environments/MOMO/MomoHome/include/MomoEventAction.hh index a274c54ddb..1a4c7c7ced 100644 --- a/environments/MOMO/MomoHome/include/MomoEventAction.hh +++ b/environments/MOMO/MomoHome/include/MomoEventAction.hh @@ -25,7 +25,7 @@ // // Taken from // $Id: MomoEventAction.hh,v 1.2 2006/06/29 15:27:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef MomoEventAction_h diff --git a/environments/MOMO/MomoHome/include/MomoRunAction.hh b/environments/MOMO/MomoHome/include/MomoRunAction.hh index b177b165a7..8200797f83 100644 --- a/environments/MOMO/MomoHome/include/MomoRunAction.hh +++ b/environments/MOMO/MomoHome/include/MomoRunAction.hh @@ -25,7 +25,7 @@ // // Taken after // $Id: MomoRunAction.hh,v 1.2 2006/06/29 15:27:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef MomoRunAction_h diff --git a/environments/MOMO/MomoHome/src/MomoEventAction.cc b/environments/MOMO/MomoHome/src/MomoEventAction.cc index a349064993..5b74e8aaf8 100644 --- a/environments/MOMO/MomoHome/src/MomoEventAction.cc +++ b/environments/MOMO/MomoHome/src/MomoEventAction.cc @@ -25,7 +25,7 @@ // // Taken from // $Id: MomoEventAction.cc,v 1.2 2006/06/29 15:27:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/environments/MOMO/MomoHome/src/MomoRunAction.cc b/environments/MOMO/MomoHome/src/MomoRunAction.cc index 2e8d6059fc..ff2d3577de 100644 --- a/environments/MOMO/MomoHome/src/MomoRunAction.cc +++ b/environments/MOMO/MomoHome/src/MomoRunAction.cc @@ -25,7 +25,7 @@ // // Taken from // $Id: MomoRunAction.cc,v 1.2 2006/06/29 15:28:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/environments/g4py/GNUmakefile b/environments/g4py/GNUmakefile index bcaae9f000..f4bf8bec47 100644 --- a/environments/g4py/GNUmakefile +++ b/environments/g4py/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.1 2006/02/27 09:29:42 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py # =========================================================== diff --git a/environments/g4py/History b/environments/g4py/History index 62974a73b5..ada6e32763 100644 --- a/environments/g4py/History +++ b/environments/g4py/History @@ -1,4 +1,4 @@ -$Id: History,v 1.23 2006/12/01 02:38:18 kmura Exp $ +$Id: History,v 1.25 2007/06/07 09:07:37 kmura Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,20 @@ Geant4Py is a Geant4-Python bridge. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +07 June 2007 K.Murakami + - modified for 9.0 + - pyG4LossTableManager.cc : updated + - physics lists : removed some staffs + +24 May 2007 K.Murakami (1.3.0) + - implement software abort by Ctrl-C. + - modified for 8.3/9.0 + - pyG4EmCalculator.cc : updated + - pyG4LossTableManager.cc : updated + - pyG4ProductionCutsTable.cc : updated + - pyG4TwoVector.cc : added + - physics lists : new staffs are added + 01 Dec 2006 K.Murakami (1.2.0) - pyG4Material.cc : fix namespace problem - pyG4VisManager.cc : replace SetVerboisity with SetVerboseLevel for G4.8.2 diff --git a/environments/g4py/config/sys/linux.gmk b/environments/g4py/config/sys/linux.gmk index 6e916c4d66..e841b16c96 100644 --- a/environments/g4py/config/sys/linux.gmk +++ b/environments/g4py/config/sys/linux.gmk @@ -1,5 +1,5 @@ # $Id: linux.gmk,v 1.5 2006/08/10 08:49:08 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # System specific terms # =========================================================== diff --git a/environments/g4py/config/sys/linuxx8664gcc.gmk b/environments/g4py/config/sys/linuxx8664gcc.gmk index 27831b1024..4610344cb7 100644 --- a/environments/g4py/config/sys/linuxx8664gcc.gmk +++ b/environments/g4py/config/sys/linuxx8664gcc.gmk @@ -1,5 +1,5 @@ # $Id: linuxx8664gcc.gmk,v 1.5 2006/08/10 08:49:08 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # System specific terms # =========================================================== diff --git a/environments/g4py/config/sys/macosx.gmk b/environments/g4py/config/sys/macosx.gmk index 5254e6ec7e..549a80a015 100644 --- a/environments/g4py/config/sys/macosx.gmk +++ b/environments/g4py/config/sys/macosx.gmk @@ -1,5 +1,5 @@ # $Id: macosx.gmk,v 1.4 2006/08/10 08:49:08 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # System specific terms # diff --git a/environments/g4py/examples/demos/water_phantom/g4lib/GNUmakefile b/environments/g4py/examples/demos/water_phantom/g4lib/GNUmakefile index fe1bc10bcd..19e6bd028f 100644 --- a/environments/g4py/examples/demos/water_phantom/g4lib/GNUmakefile +++ b/environments/g4py/examples/demos/water_phantom/g4lib/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.1 2006/05/11 04:35:32 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/examples/demos/water_phantom/g4lib/MyDetectorConstruction.cc b/environments/g4py/examples/demos/water_phantom/g4lib/MyDetectorConstruction.cc index 63b2b67e09..2900d64ffe 100644 --- a/environments/g4py/examples/demos/water_phantom/g4lib/MyDetectorConstruction.cc +++ b/environments/g4py/examples/demos/water_phantom/g4lib/MyDetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MyDetectorConstruction.cc,v 1.3 2006/06/29 15:28:11 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // MyDetectorConstruction.cc // diff --git a/environments/g4py/examples/demos/water_phantom/g4lib/MyDetectorConstruction.hh b/environments/g4py/examples/demos/water_phantom/g4lib/MyDetectorConstruction.hh index 1d4eaeceb8..14f465676a 100644 --- a/environments/g4py/examples/demos/water_phantom/g4lib/MyDetectorConstruction.hh +++ b/environments/g4py/examples/demos/water_phantom/g4lib/MyDetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MyDetectorConstruction.hh,v 1.3 2006/06/29 15:28:13 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // MyDetectorConstruction.hh // diff --git a/environments/g4py/examples/demos/water_phantom/g4lib/MyMaterials.cc b/environments/g4py/examples/demos/water_phantom/g4lib/MyMaterials.cc index af3766169f..a33a00bb7c 100644 --- a/environments/g4py/examples/demos/water_phantom/g4lib/MyMaterials.cc +++ b/environments/g4py/examples/demos/water_phantom/g4lib/MyMaterials.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MyMaterials.cc,v 1.3 2006/06/29 15:28:16 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // MyMaterials.cc // diff --git a/environments/g4py/examples/demos/water_phantom/g4lib/MyMaterials.hh b/environments/g4py/examples/demos/water_phantom/g4lib/MyMaterials.hh index 42b126e5e4..67ab64d805 100644 --- a/environments/g4py/examples/demos/water_phantom/g4lib/MyMaterials.hh +++ b/environments/g4py/examples/demos/water_phantom/g4lib/MyMaterials.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MyMaterials.hh,v 1.3 2006/06/29 15:28:19 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // MyMaterials.hh // diff --git a/environments/g4py/examples/demos/water_phantom/g4lib/MyPhysicsList.cc b/environments/g4py/examples/demos/water_phantom/g4lib/MyPhysicsList.cc index f0c8135821..439d97759e 100644 --- a/environments/g4py/examples/demos/water_phantom/g4lib/MyPhysicsList.cc +++ b/environments/g4py/examples/demos/water_phantom/g4lib/MyPhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MyPhysicsList.cc,v 1.3 2006/06/29 15:28:21 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // MyPhysicsList.cc // diff --git a/environments/g4py/examples/demos/water_phantom/g4lib/MyPhysicsList.hh b/environments/g4py/examples/demos/water_phantom/g4lib/MyPhysicsList.hh index 305e10f2cc..2054ddfd1c 100644 --- a/environments/g4py/examples/demos/water_phantom/g4lib/MyPhysicsList.hh +++ b/environments/g4py/examples/demos/water_phantom/g4lib/MyPhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MyPhysicsList.hh,v 1.3 2006/06/29 15:28:23 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // MyPhysicsList.hh // diff --git a/environments/g4py/examples/demos/water_phantom/g4lib/Particles.cc b/environments/g4py/examples/demos/water_phantom/g4lib/Particles.cc index 3a1213ddcc..e03e639a47 100644 --- a/environments/g4py/examples/demos/water_phantom/g4lib/Particles.cc +++ b/environments/g4py/examples/demos/water_phantom/g4lib/Particles.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: Particles.cc,v 1.3 2006/06/29 15:28:25 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // Particles.cc // diff --git a/environments/g4py/examples/demos/water_phantom/g4lib/PhysicsListEMstd.cc b/environments/g4py/examples/demos/water_phantom/g4lib/PhysicsListEMstd.cc index fda70bca31..c50a7ca0b0 100644 --- a/environments/g4py/examples/demos/water_phantom/g4lib/PhysicsListEMstd.cc +++ b/environments/g4py/examples/demos/water_phantom/g4lib/PhysicsListEMstd.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListEMstd.cc,v 1.3 2006/06/29 15:28:29 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // PhysicsListEMstd.cc // diff --git a/environments/g4py/examples/demos/water_phantom/g4lib/pydemo_wp.cc b/environments/g4py/examples/demos/water_phantom/g4lib/pydemo_wp.cc index 0b43a34802..1bfac3de7c 100644 --- a/environments/g4py/examples/demos/water_phantom/g4lib/pydemo_wp.cc +++ b/environments/g4py/examples/demos/water_phantom/g4lib/pydemo_wp.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pydemo_wp.cc,v 1.3 2006/06/29 15:28:40 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pydemo_wp.cc // diff --git a/environments/g4py/site-modules/EZsim/EZgeom/EzDetectorConstruction.cc b/environments/g4py/site-modules/EZsim/EZgeom/EzDetectorConstruction.cc index 4feaa1db68..eb87573f33 100644 --- a/environments/g4py/site-modules/EZsim/EZgeom/EzDetectorConstruction.cc +++ b/environments/g4py/site-modules/EZsim/EZgeom/EzDetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EzDetectorConstruction.cc,v 1.3 2006/06/29 15:28:43 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // EzDetectorConstruction.cc // diff --git a/environments/g4py/site-modules/EZsim/EZgeom/EzDetectorConstruction.hh b/environments/g4py/site-modules/EZsim/EZgeom/EzDetectorConstruction.hh index db0748f9bf..077c44662f 100644 --- a/environments/g4py/site-modules/EZsim/EZgeom/EzDetectorConstruction.hh +++ b/environments/g4py/site-modules/EZsim/EZgeom/EzDetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EzDetectorConstruction.hh,v 1.3 2006/06/29 15:28:46 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // EzDetectorConstruction.hh // diff --git a/environments/g4py/site-modules/EZsim/EZgeom/GNUmakefile b/environments/g4py/site-modules/EZsim/EZgeom/GNUmakefile index f1da56dede..72f6add1ae 100644 --- a/environments/g4py/site-modules/EZsim/EZgeom/GNUmakefile +++ b/environments/g4py/site-modules/EZsim/EZgeom/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.3 2006/08/10 08:50:18 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVolume.cc b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVolume.cc index 6bce187ec7..5f041e15c1 100644 --- a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVolume.cc +++ b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVolume.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4EzVolume.cc,v 1.3 2006/06/29 15:28:52 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // G4EzVolume.cc // diff --git a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVolume.hh b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVolume.hh index 527f78107e..1d70f5288e 100644 --- a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVolume.hh +++ b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVolume.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4EzVolume.hh,v 1.3 2006/06/29 15:28:55 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // G4EzVolume.hh // diff --git a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVoxelParameterization.cc b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVoxelParameterization.cc index 12beada621..d59da1a537 100644 --- a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVoxelParameterization.cc +++ b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVoxelParameterization.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4EzVoxelParameterization.cc,v 1.3 2006/06/29 15:28:58 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // G4EzVoxelParameterization.cc // diff --git a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVoxelParameterization.hh b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVoxelParameterization.hh index 6c20653674..39b094137b 100644 --- a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVoxelParameterization.hh +++ b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzVoxelParameterization.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4EzVoxelParameterization.hh,v 1.3 2006/06/29 15:29:01 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // G4EzVoxelParameterization.hh // diff --git a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzWorld.cc b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzWorld.cc index 7235cd7e6c..3ac71bd050 100644 --- a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzWorld.cc +++ b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzWorld.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4EzWorld.cc,v 1.4 2006/08/25 05:13:16 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // G4EzWorld.cc // diff --git a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzWorld.hh b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzWorld.hh index 8235a73186..b106846496 100644 --- a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzWorld.hh +++ b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/G4EzWorld.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4EzWorld.hh,v 1.3 2006/06/29 15:29:07 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // G4EzWorld.hh // diff --git a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/GNUmakefile b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/GNUmakefile index 03a862771d..69ef78e8f2 100644 --- a/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/GNUmakefile +++ b/environments/g4py/site-modules/EZsim/EZgeom/ezgeom/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/08/08 05:26:19 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py site-modules # =========================================================== diff --git a/environments/g4py/site-modules/EZsim/EZgeom/pyEzgeom.cc b/environments/g4py/site-modules/EZsim/EZgeom/pyEzgeom.cc index f1b1f4f28e..f3997219b9 100644 --- a/environments/g4py/site-modules/EZsim/EZgeom/pyEzgeom.cc +++ b/environments/g4py/site-modules/EZsim/EZgeom/pyEzgeom.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyEzgeom.cc,v 1.3 2006/06/29 15:28:49 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyEZgeom.cc // diff --git a/environments/g4py/site-modules/EZsim/GNUmakefile b/environments/g4py/site-modules/EZsim/GNUmakefile index f4c0bf4710..2ed16a1872 100644 --- a/environments/g4py/site-modules/EZsim/GNUmakefile +++ b/environments/g4py/site-modules/EZsim/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:17:30 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py site-modules # =========================================================== diff --git a/environments/g4py/site-modules/EZsim/python/GNUmakefile b/environments/g4py/site-modules/EZsim/python/GNUmakefile index bda521f7fb..9112c17aaf 100644 --- a/environments/g4py/site-modules/EZsim/python/GNUmakefile +++ b/environments/g4py/site-modules/EZsim/python/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.3 2006/06/14 08:23:52 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/GNUmakefile b/environments/g4py/site-modules/GNUmakefile index 0089158d35..564c0f28a9 100644 --- a/environments/g4py/site-modules/GNUmakefile +++ b/environments/g4py/site-modules/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.3 2006/07/12 01:56:23 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py site-modules # =========================================================== diff --git a/environments/g4py/site-modules/geometries/ExN01geom/ExN01DetectorConstruction.cc b/environments/g4py/site-modules/geometries/ExN01geom/ExN01DetectorConstruction.cc index e37d5872e6..4ffa4ebbd4 100644 --- a/environments/g4py/site-modules/geometries/ExN01geom/ExN01DetectorConstruction.cc +++ b/environments/g4py/site-modules/geometries/ExN01geom/ExN01DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ExN01DetectorConstruction.cc,v 1.4 2006/06/29 15:29:10 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // ExN01DetectorConstruction.cc // diff --git a/environments/g4py/site-modules/geometries/ExN01geom/ExN01DetectorConstruction.hh b/environments/g4py/site-modules/geometries/ExN01geom/ExN01DetectorConstruction.hh index 21d78ec275..30bea119ae 100644 --- a/environments/g4py/site-modules/geometries/ExN01geom/ExN01DetectorConstruction.hh +++ b/environments/g4py/site-modules/geometries/ExN01geom/ExN01DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ExN01DetectorConstruction.hh,v 1.4 2006/06/29 15:29:12 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // ExN01DetectorConstruction.hh // diff --git a/environments/g4py/site-modules/geometries/ExN01geom/GNUmakefile b/environments/g4py/site-modules/geometries/ExN01geom/GNUmakefile index be5e314e84..d038615186 100644 --- a/environments/g4py/site-modules/geometries/ExN01geom/GNUmakefile +++ b/environments/g4py/site-modules/geometries/ExN01geom/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:25:12 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/geometries/ExN01geom/pyExN01geom.cc b/environments/g4py/site-modules/geometries/ExN01geom/pyExN01geom.cc index e092a7c470..d04c1344da 100644 --- a/environments/g4py/site-modules/geometries/ExN01geom/pyExN01geom.cc +++ b/environments/g4py/site-modules/geometries/ExN01geom/pyExN01geom.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyExN01geom.cc,v 1.4 2006/06/29 15:29:14 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyExN01geom.cc // diff --git a/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorConstruction.cc b/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorConstruction.cc index 1ef0f2245a..3565801ff9 100644 --- a/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorConstruction.cc +++ b/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03DetectorConstruction.cc,v 1.5 2006/12/01 02:37:01 kmura Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorConstruction.hh b/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorConstruction.hh index abdc6fc28c..6db87a24b8 100644 --- a/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorConstruction.hh +++ b/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03DetectorConstruction.hh,v 1.5 2006/12/01 02:37:01 kmura Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorMessenger.cc b/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorMessenger.cc index 4df799e58c..0ac8c2c9d4 100644 --- a/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorMessenger.cc +++ b/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03DetectorMessenger.cc,v 1.1 2006/12/01 02:37:01 kmura Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorMessenger.hh b/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorMessenger.hh index 4ea7ecb8a3..eb994f0a44 100644 --- a/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorMessenger.hh +++ b/environments/g4py/site-modules/geometries/ExN03geom/ExN03DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03DetectorMessenger.hh,v 1.1 2006/12/01 02:37:01 kmura Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/environments/g4py/site-modules/geometries/ExN03geom/GNUmakefile b/environments/g4py/site-modules/geometries/ExN03geom/GNUmakefile index 447603b3f1..5112ffa93c 100644 --- a/environments/g4py/site-modules/geometries/ExN03geom/GNUmakefile +++ b/environments/g4py/site-modules/geometries/ExN03geom/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:25:12 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/geometries/ExN03geom/pyExN03geom.cc b/environments/g4py/site-modules/geometries/ExN03geom/pyExN03geom.cc index 677b821b0b..66847784f5 100644 --- a/environments/g4py/site-modules/geometries/ExN03geom/pyExN03geom.cc +++ b/environments/g4py/site-modules/geometries/ExN03geom/pyExN03geom.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyExN03geom.cc,v 1.4 2006/06/29 15:29:21 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyExN03geom.cc // diff --git a/environments/g4py/site-modules/geometries/GNUmakefile b/environments/g4py/site-modules/geometries/GNUmakefile index c81776e387..de75ea324e 100644 --- a/environments/g4py/site-modules/geometries/GNUmakefile +++ b/environments/g4py/site-modules/geometries/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:25:12 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py site-modules # =========================================================== diff --git a/environments/g4py/site-modules/geometries/Qgeom/GNUmakefile b/environments/g4py/site-modules/geometries/Qgeom/GNUmakefile index c83b6384de..8c12de9b6b 100644 --- a/environments/g4py/site-modules/geometries/Qgeom/GNUmakefile +++ b/environments/g4py/site-modules/geometries/Qgeom/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:25:12 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/geometries/Qgeom/QDetectorConstruction.cc b/environments/g4py/site-modules/geometries/Qgeom/QDetectorConstruction.cc index 70d6c12910..20fbce42a7 100644 --- a/environments/g4py/site-modules/geometries/Qgeom/QDetectorConstruction.cc +++ b/environments/g4py/site-modules/geometries/Qgeom/QDetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QDetectorConstruction.cc,v 1.4 2006/06/29 15:29:24 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // QDetectorConstruction.cc // diff --git a/environments/g4py/site-modules/geometries/Qgeom/QDetectorConstruction.hh b/environments/g4py/site-modules/geometries/Qgeom/QDetectorConstruction.hh index 0689ce84c9..69c8bc600e 100644 --- a/environments/g4py/site-modules/geometries/Qgeom/QDetectorConstruction.hh +++ b/environments/g4py/site-modules/geometries/Qgeom/QDetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QDetectorConstruction.hh,v 1.4 2006/06/29 15:29:26 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // QDetectorConstruction.hh // diff --git a/environments/g4py/site-modules/geometries/Qgeom/pyQgeom.cc b/environments/g4py/site-modules/geometries/Qgeom/pyQgeom.cc index 231e193155..b11900261d 100644 --- a/environments/g4py/site-modules/geometries/Qgeom/pyQgeom.cc +++ b/environments/g4py/site-modules/geometries/Qgeom/pyQgeom.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyQgeom.cc,v 1.4 2006/06/29 15:29:29 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyQgeom.cc // diff --git a/environments/g4py/site-modules/materials/GNUmakefile b/environments/g4py/site-modules/materials/GNUmakefile index 25be9a7bb5..50c7e575d9 100644 --- a/environments/g4py/site-modules/materials/GNUmakefile +++ b/environments/g4py/site-modules/materials/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:28:34 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py site-modules # =========================================================== diff --git a/environments/g4py/site-modules/materials/NISTmaterials/GNUmakefile b/environments/g4py/site-modules/materials/NISTmaterials/GNUmakefile index d94206f566..33f1aa9bb3 100644 --- a/environments/g4py/site-modules/materials/NISTmaterials/GNUmakefile +++ b/environments/g4py/site-modules/materials/NISTmaterials/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:28:34 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/materials/NISTmaterials/NISTmaterials.cc b/environments/g4py/site-modules/materials/NISTmaterials/NISTmaterials.cc index f150b12539..02332baa2f 100644 --- a/environments/g4py/site-modules/materials/NISTmaterials/NISTmaterials.cc +++ b/environments/g4py/site-modules/materials/NISTmaterials/NISTmaterials.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: NISTmaterials.cc,v 1.4 2006/06/29 15:29:32 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // NISTmaterials.cc // diff --git a/environments/g4py/site-modules/materials/NISTmaterials/pyNISTmaterials.cc b/environments/g4py/site-modules/materials/NISTmaterials/pyNISTmaterials.cc index 1643b2587e..bfe692fc27 100644 --- a/environments/g4py/site-modules/materials/NISTmaterials/pyNISTmaterials.cc +++ b/environments/g4py/site-modules/materials/NISTmaterials/pyNISTmaterials.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyNISTmaterials.cc,v 1.4 2006/06/29 15:29:34 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyNISTmaterials.cc // diff --git a/environments/g4py/site-modules/materials/Qmaterials/GNUmakefile b/environments/g4py/site-modules/materials/Qmaterials/GNUmakefile index 6ece208d3e..e1c6e29d03 100644 --- a/environments/g4py/site-modules/materials/Qmaterials/GNUmakefile +++ b/environments/g4py/site-modules/materials/Qmaterials/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:28:36 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/materials/Qmaterials/Qmaterials.cc b/environments/g4py/site-modules/materials/Qmaterials/Qmaterials.cc index 8be0da814d..157185e095 100644 --- a/environments/g4py/site-modules/materials/Qmaterials/Qmaterials.cc +++ b/environments/g4py/site-modules/materials/Qmaterials/Qmaterials.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: Qmaterials.cc,v 1.4 2006/06/29 15:29:37 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // Qmaterials.cc // diff --git a/environments/g4py/site-modules/materials/Qmaterials/pyQmaterials.cc b/environments/g4py/site-modules/materials/Qmaterials/pyQmaterials.cc index f14d8cdff2..d2de285f4e 100644 --- a/environments/g4py/site-modules/materials/Qmaterials/pyQmaterials.cc +++ b/environments/g4py/site-modules/materials/Qmaterials/pyQmaterials.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyQmaterials.cc,v 1.4 2006/06/29 15:29:40 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyQmaterials.cc // diff --git a/environments/g4py/site-modules/physics_lists/EMLowEpl/GNUmakefile b/environments/g4py/site-modules/physics_lists/EMLowEpl/GNUmakefile index d72a85ea19..991ccc54ac 100644 --- a/environments/g4py/site-modules/physics_lists/EMLowEpl/GNUmakefile +++ b/environments/g4py/site-modules/physics_lists/EMLowEpl/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.1 2006/07/12 08:46:18 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/physics_lists/EMLowEpl/PhysicsListEMlowE.cc b/environments/g4py/site-modules/physics_lists/EMLowEpl/PhysicsListEMlowE.cc index 06beadd1b9..092735d42d 100644 --- a/environments/g4py/site-modules/physics_lists/EMLowEpl/PhysicsListEMlowE.cc +++ b/environments/g4py/site-modules/physics_lists/EMLowEpl/PhysicsListEMlowE.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListEMlowE.cc,v 1.1 2006/07/12 08:46:18 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // PhysicsListEMlowE.cc // diff --git a/environments/g4py/site-modules/physics_lists/EMLowEpl/PhysicsListEMlowE.hh b/environments/g4py/site-modules/physics_lists/EMLowEpl/PhysicsListEMlowE.hh index b5ef513231..0cf9b218e7 100644 --- a/environments/g4py/site-modules/physics_lists/EMLowEpl/PhysicsListEMlowE.hh +++ b/environments/g4py/site-modules/physics_lists/EMLowEpl/PhysicsListEMlowE.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListEMlowE.hh,v 1.1 2006/07/12 08:46:18 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // PhysicsListEMlowE.hh // diff --git a/environments/g4py/site-modules/physics_lists/EMLowEpl/pyEMLowEpl.cc b/environments/g4py/site-modules/physics_lists/EMLowEpl/pyEMLowEpl.cc index d626bebdbd..a69e8603cc 100644 --- a/environments/g4py/site-modules/physics_lists/EMLowEpl/pyEMLowEpl.cc +++ b/environments/g4py/site-modules/physics_lists/EMLowEpl/pyEMLowEpl.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyEMLowEpl.cc,v 1.2 2006/07/12 09:18:08 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyEMLowEpl.cc // diff --git a/environments/g4py/site-modules/physics_lists/EMSTDpl/GNUmakefile b/environments/g4py/site-modules/physics_lists/EMSTDpl/GNUmakefile index 006f19f894..bd80182333 100644 --- a/environments/g4py/site-modules/physics_lists/EMSTDpl/GNUmakefile +++ b/environments/g4py/site-modules/physics_lists/EMSTDpl/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:31:40 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/physics_lists/EMSTDpl/PhysicsListEMstd.cc b/environments/g4py/site-modules/physics_lists/EMSTDpl/PhysicsListEMstd.cc index 885b66a88b..7ae208158e 100644 --- a/environments/g4py/site-modules/physics_lists/EMSTDpl/PhysicsListEMstd.cc +++ b/environments/g4py/site-modules/physics_lists/EMSTDpl/PhysicsListEMstd.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListEMstd.cc,v 1.5 2006/07/11 09:55:01 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // PhysicsListEMstd.cc // diff --git a/environments/g4py/site-modules/physics_lists/EMSTDpl/PhysicsListEMstd.hh b/environments/g4py/site-modules/physics_lists/EMSTDpl/PhysicsListEMstd.hh index 07f57276e6..849755ba87 100644 --- a/environments/g4py/site-modules/physics_lists/EMSTDpl/PhysicsListEMstd.hh +++ b/environments/g4py/site-modules/physics_lists/EMSTDpl/PhysicsListEMstd.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListEMstd.hh,v 1.4 2006/06/29 15:29:46 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // PhysicsListEMstd.hh // diff --git a/environments/g4py/site-modules/physics_lists/EMSTDpl/pyEMSTDpl.cc b/environments/g4py/site-modules/physics_lists/EMSTDpl/pyEMSTDpl.cc index e5272bc4ec..2deee0f408 100644 --- a/environments/g4py/site-modules/physics_lists/EMSTDpl/pyEMSTDpl.cc +++ b/environments/g4py/site-modules/physics_lists/EMSTDpl/pyEMSTDpl.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyEMSTDpl.cc,v 1.4 2006/06/29 15:29:49 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyEMSTDpl.cc // diff --git a/environments/g4py/site-modules/physics_lists/ExN01pl/ExN01PhysicsList.cc b/environments/g4py/site-modules/physics_lists/ExN01pl/ExN01PhysicsList.cc index 3b74380fd0..d88e953052 100644 --- a/environments/g4py/site-modules/physics_lists/ExN01pl/ExN01PhysicsList.cc +++ b/environments/g4py/site-modules/physics_lists/ExN01pl/ExN01PhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ExN01PhysicsList.cc,v 1.4 2006/06/29 15:29:52 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // ExN01PhysicsList.cc // diff --git a/environments/g4py/site-modules/physics_lists/ExN01pl/ExN01PhysicsList.hh b/environments/g4py/site-modules/physics_lists/ExN01pl/ExN01PhysicsList.hh index 6781257252..4f0297de17 100644 --- a/environments/g4py/site-modules/physics_lists/ExN01pl/ExN01PhysicsList.hh +++ b/environments/g4py/site-modules/physics_lists/ExN01pl/ExN01PhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ExN01PhysicsList.hh,v 1.4 2006/06/29 15:29:55 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // ExN01PhysicsList.hh // diff --git a/environments/g4py/site-modules/physics_lists/ExN01pl/GNUmakefile b/environments/g4py/site-modules/physics_lists/ExN01pl/GNUmakefile index e1f4a4b5db..840f761370 100644 --- a/environments/g4py/site-modules/physics_lists/ExN01pl/GNUmakefile +++ b/environments/g4py/site-modules/physics_lists/ExN01pl/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:31:40 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/physics_lists/ExN01pl/pyExN01pl.cc b/environments/g4py/site-modules/physics_lists/ExN01pl/pyExN01pl.cc index 2cacb1319c..1ae0a27b8f 100644 --- a/environments/g4py/site-modules/physics_lists/ExN01pl/pyExN01pl.cc +++ b/environments/g4py/site-modules/physics_lists/ExN01pl/pyExN01pl.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyExN01pl.cc,v 1.4 2006/06/29 15:29:58 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyExN01pl.cc // diff --git a/environments/g4py/site-modules/physics_lists/ExN03pl/ExN03PhysicsList.cc b/environments/g4py/site-modules/physics_lists/ExN03pl/ExN03PhysicsList.cc index 4660f6bb0a..7dc929de99 100644 --- a/environments/g4py/site-modules/physics_lists/ExN03pl/ExN03PhysicsList.cc +++ b/environments/g4py/site-modules/physics_lists/ExN03pl/ExN03PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03PhysicsList.cc,v 1.4 2006/06/29 15:30:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/environments/g4py/site-modules/physics_lists/ExN03pl/ExN03PhysicsList.hh b/environments/g4py/site-modules/physics_lists/ExN03pl/ExN03PhysicsList.hh index 84e128ca54..bf025aef5e 100644 --- a/environments/g4py/site-modules/physics_lists/ExN03pl/ExN03PhysicsList.hh +++ b/environments/g4py/site-modules/physics_lists/ExN03pl/ExN03PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03PhysicsList.hh,v 1.4 2006/06/29 15:30:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/environments/g4py/site-modules/physics_lists/ExN03pl/GNUmakefile b/environments/g4py/site-modules/physics_lists/ExN03pl/GNUmakefile index 082a735c2c..43daa9599e 100644 --- a/environments/g4py/site-modules/physics_lists/ExN03pl/GNUmakefile +++ b/environments/g4py/site-modules/physics_lists/ExN03pl/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.1 2006/04/25 10:32:41 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/physics_lists/ExN03pl/pyExN03pl.cc b/environments/g4py/site-modules/physics_lists/ExN03pl/pyExN03pl.cc index f6045a959d..c8c940046b 100644 --- a/environments/g4py/site-modules/physics_lists/ExN03pl/pyExN03pl.cc +++ b/environments/g4py/site-modules/physics_lists/ExN03pl/pyExN03pl.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyExN03pl.cc,v 1.3 2006/06/29 15:30:07 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyExN03pl.cc // diff --git a/environments/g4py/site-modules/physics_lists/GNUmakefile b/environments/g4py/site-modules/physics_lists/GNUmakefile index 1b6f3f619e..1164f7fc30 100644 --- a/environments/g4py/site-modules/physics_lists/GNUmakefile +++ b/environments/g4py/site-modules/physics_lists/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.3 2006/07/12 08:45:14 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py site-modules # =========================================================== diff --git a/environments/g4py/site-modules/primaries/GNUmakefile b/environments/g4py/site-modules/primaries/GNUmakefile index 87f33dd84f..28f42ba4ca 100644 --- a/environments/g4py/site-modules/primaries/GNUmakefile +++ b/environments/g4py/site-modules/primaries/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:29:52 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py site-modules # =========================================================== diff --git a/environments/g4py/site-modules/primaries/MedicalBeam/GNUmakefile b/environments/g4py/site-modules/primaries/MedicalBeam/GNUmakefile index e15b67fbfa..4b4d9ae164 100644 --- a/environments/g4py/site-modules/primaries/MedicalBeam/GNUmakefile +++ b/environments/g4py/site-modules/primaries/MedicalBeam/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:29:52 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/primaries/MedicalBeam/MedicalBeam.cc b/environments/g4py/site-modules/primaries/MedicalBeam/MedicalBeam.cc index 449a121501..15eb55b725 100644 --- a/environments/g4py/site-modules/primaries/MedicalBeam/MedicalBeam.cc +++ b/environments/g4py/site-modules/primaries/MedicalBeam/MedicalBeam.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MedicalBeam.cc,v 1.6 2006/06/29 15:30:10 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // MedicalBeam.cc // diff --git a/environments/g4py/site-modules/primaries/MedicalBeam/MedicalBeam.hh b/environments/g4py/site-modules/primaries/MedicalBeam/MedicalBeam.hh index d615fec3b3..cee0c3d170 100644 --- a/environments/g4py/site-modules/primaries/MedicalBeam/MedicalBeam.hh +++ b/environments/g4py/site-modules/primaries/MedicalBeam/MedicalBeam.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MedicalBeam.hh,v 1.4 2006/06/29 15:30:12 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // MedicalBeam.hh // diff --git a/environments/g4py/site-modules/primaries/MedicalBeam/pyMedicalBeam.cc b/environments/g4py/site-modules/primaries/MedicalBeam/pyMedicalBeam.cc index e76ab936fb..1f387fdad1 100644 --- a/environments/g4py/site-modules/primaries/MedicalBeam/pyMedicalBeam.cc +++ b/environments/g4py/site-modules/primaries/MedicalBeam/pyMedicalBeam.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyMedicalBeam.cc,v 1.4 2006/06/29 15:30:14 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyMedicalBeam.cc // diff --git a/environments/g4py/site-modules/primaries/ParticleGun/GNUmakefile b/environments/g4py/site-modules/primaries/ParticleGun/GNUmakefile index b5f6ac658a..8451f1f9b6 100644 --- a/environments/g4py/site-modules/primaries/ParticleGun/GNUmakefile +++ b/environments/g4py/site-modules/primaries/ParticleGun/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 10:29:52 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/site-modules/primaries/ParticleGun/ParticleGunAction.cc b/environments/g4py/site-modules/primaries/ParticleGun/ParticleGunAction.cc index 54233230b2..b5404d8aab 100644 --- a/environments/g4py/site-modules/primaries/ParticleGun/ParticleGunAction.cc +++ b/environments/g4py/site-modules/primaries/ParticleGun/ParticleGunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ParticleGunAction.cc,v 1.4 2006/06/29 15:30:16 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // ParticleGunAction.cc // diff --git a/environments/g4py/site-modules/primaries/ParticleGun/ParticleGunAction.hh b/environments/g4py/site-modules/primaries/ParticleGun/ParticleGunAction.hh index a8b823b6f9..18a011fb03 100644 --- a/environments/g4py/site-modules/primaries/ParticleGun/ParticleGunAction.hh +++ b/environments/g4py/site-modules/primaries/ParticleGun/ParticleGunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ParticleGunAction.hh,v 1.4 2006/06/29 15:30:19 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // ParticleGunAction.hh // diff --git a/environments/g4py/site-modules/primaries/ParticleGun/pyParticleGun.cc b/environments/g4py/site-modules/primaries/ParticleGun/pyParticleGun.cc index 076529116c..2cc9761829 100644 --- a/environments/g4py/site-modules/primaries/ParticleGun/pyParticleGun.cc +++ b/environments/g4py/site-modules/primaries/ParticleGun/pyParticleGun.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyParticleGun.cc,v 1.4 2006/06/29 15:30:21 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyParticleGun.cc // diff --git a/environments/g4py/site-modules/utils/GNUmakefile b/environments/g4py/site-modules/utils/GNUmakefile index 40525fca86..c787adee31 100644 --- a/environments/g4py/site-modules/utils/GNUmakefile +++ b/environments/g4py/site-modules/utils/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.1 2006/07/12 01:57:46 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py site-modules # =========================================================== diff --git a/environments/g4py/site-modules/utils/MCScore/GNUmakefile b/environments/g4py/site-modules/utils/MCScore/GNUmakefile index 7ef62dd556..a8861895a5 100644 --- a/environments/g4py/site-modules/utils/MCScore/GNUmakefile +++ b/environments/g4py/site-modules/utils/MCScore/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.1 2006/07/12 02:01:07 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/GNUmakefile b/environments/g4py/source/GNUmakefile index 72742bed21..a5266fa4e8 100644 --- a/environments/g4py/source/GNUmakefile +++ b/environments/g4py/source/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.4 2006/11/20 08:56:26 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/boost/GNUmakefile b/environments/g4py/source/boost/GNUmakefile index 0347d1112f..15b6bd19bc 100644 --- a/environments/g4py/source/boost/GNUmakefile +++ b/environments/g4py/source/boost/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:43 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/boost/pyG4indexing.hh b/environments/g4py/source/boost/pyG4indexing.hh index 2e2feca950..9287912b4a 100644 --- a/environments/g4py/source/boost/pyG4indexing.hh +++ b/environments/g4py/source/boost/pyG4indexing.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4indexing.hh,v 1.4 2006/06/29 15:30:24 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4indexing.hh // diff --git a/environments/g4py/source/digits_hits/GNUmakefile b/environments/g4py/source/digits_hits/GNUmakefile index d1e26457a5..5397f647d3 100644 --- a/environments/g4py/source/digits_hits/GNUmakefile +++ b/environments/g4py/source/digits_hits/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:43 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/digits_hits/pyG4VSensitiveDetector.cc b/environments/g4py/source/digits_hits/pyG4VSensitiveDetector.cc index 0b6f64e5fe..173afa3ab3 100644 --- a/environments/g4py/source/digits_hits/pyG4VSensitiveDetector.cc +++ b/environments/g4py/source/digits_hits/pyG4VSensitiveDetector.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VSensitiveDetector.cc,v 1.4 2006/06/29 15:30:26 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VSensitiveDetector.cc // diff --git a/environments/g4py/source/digits_hits/pymodG4digits_hits.cc b/environments/g4py/source/digits_hits/pymodG4digits_hits.cc index 5249be75b9..ea4795935a 100644 --- a/environments/g4py/source/digits_hits/pymodG4digits_hits.cc +++ b/environments/g4py/source/digits_hits/pymodG4digits_hits.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pymodG4digits_hits.cc,v 1.4 2006/06/29 15:30:29 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4digits_hits.cc [Geant4Py module] // diff --git a/environments/g4py/source/event/GNUmakefile b/environments/g4py/source/event/GNUmakefile index df7baa08bb..2019e0b459 100644 --- a/environments/g4py/source/event/GNUmakefile +++ b/environments/g4py/source/event/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:44 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/event/pyG4ClassificationOfNewTrack.cc b/environments/g4py/source/event/pyG4ClassificationOfNewTrack.cc index ae139f0bac..abebaa1031 100644 --- a/environments/g4py/source/event/pyG4ClassificationOfNewTrack.cc +++ b/environments/g4py/source/event/pyG4ClassificationOfNewTrack.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ClassificationOfNewTrack.cc,v 1.4 2006/06/29 15:30:44 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ClassificationOfNewTrack.cc // diff --git a/environments/g4py/source/event/pyG4Event.cc b/environments/g4py/source/event/pyG4Event.cc index 875c029d7b..344f9a9a6d 100644 --- a/environments/g4py/source/event/pyG4Event.cc +++ b/environments/g4py/source/event/pyG4Event.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Event.cc,v 1.4 2006/06/29 15:31:29 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Event.cc // diff --git a/environments/g4py/source/event/pyG4EventManager.cc b/environments/g4py/source/event/pyG4EventManager.cc index 82416aa1a1..31dae5bdae 100644 --- a/environments/g4py/source/event/pyG4EventManager.cc +++ b/environments/g4py/source/event/pyG4EventManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4EventManager.cc,v 1.4 2006/06/29 15:31:34 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4EventManager.cc // diff --git a/environments/g4py/source/event/pyG4ParticleGun.cc b/environments/g4py/source/event/pyG4ParticleGun.cc index 8c717fd4ff..32bfa8ddf4 100644 --- a/environments/g4py/source/event/pyG4ParticleGun.cc +++ b/environments/g4py/source/event/pyG4ParticleGun.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ParticleGun.cc,v 1.4 2006/06/29 15:31:36 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ParticleGun.cc // diff --git a/environments/g4py/source/event/pyG4StackManager.cc b/environments/g4py/source/event/pyG4StackManager.cc index 8dba7c9a88..7487676f79 100644 --- a/environments/g4py/source/event/pyG4StackManager.cc +++ b/environments/g4py/source/event/pyG4StackManager.cc @@ -25,7 +25,7 @@ // // $Id: pyG4StackManager.cc,v 1.4 2006/06/29 15:31:38 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4StackManager.cc // diff --git a/environments/g4py/source/event/pyG4UserEventAction.cc b/environments/g4py/source/event/pyG4UserEventAction.cc index b4a5e7d50e..b1349ceaf6 100644 --- a/environments/g4py/source/event/pyG4UserEventAction.cc +++ b/environments/g4py/source/event/pyG4UserEventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4UserEventAction.cc,v 1.6 2006/06/29 15:31:41 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UserEventAction.cc // diff --git a/environments/g4py/source/event/pyG4UserStackingAction.cc b/environments/g4py/source/event/pyG4UserStackingAction.cc index f15320c2a3..fd3d34b46f 100644 --- a/environments/g4py/source/event/pyG4UserStackingAction.cc +++ b/environments/g4py/source/event/pyG4UserStackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4UserStackingAction.cc,v 1.7 2006/06/29 15:31:44 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UserStackingAction.cc // diff --git a/environments/g4py/source/event/pymodG4event.cc b/environments/g4py/source/event/pymodG4event.cc index d33ab7b8f6..8aa72f4e93 100644 --- a/environments/g4py/source/event/pymodG4event.cc +++ b/environments/g4py/source/event/pymodG4event.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pymodG4event.cc,v 1.4 2006/06/29 15:31:47 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4event.cc [Geant4Py module] // diff --git a/environments/g4py/source/geometry/GNUmakefile b/environments/g4py/source/geometry/GNUmakefile index 2f9ccc5d2f..76a09014ee 100644 --- a/environments/g4py/source/geometry/GNUmakefile +++ b/environments/g4py/source/geometry/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/geometry/pyG4Box.cc b/environments/g4py/source/geometry/pyG4Box.cc index 0f50c49010..1c5931d0f4 100644 --- a/environments/g4py/source/geometry/pyG4Box.cc +++ b/environments/g4py/source/geometry/pyG4Box.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Box.cc,v 1.4 2006/06/29 15:31:50 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Box.cc // diff --git a/environments/g4py/source/geometry/pyG4ChordFinder.cc b/environments/g4py/source/geometry/pyG4ChordFinder.cc index c49a2d07b8..0928fc8759 100644 --- a/environments/g4py/source/geometry/pyG4ChordFinder.cc +++ b/environments/g4py/source/geometry/pyG4ChordFinder.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ChordFinder.cc,v 1.4 2006/06/29 15:31:53 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ChordFinder.cc // diff --git a/environments/g4py/source/geometry/pyG4Cons.cc b/environments/g4py/source/geometry/pyG4Cons.cc index 6a29041dda..3033ef6a0b 100644 --- a/environments/g4py/source/geometry/pyG4Cons.cc +++ b/environments/g4py/source/geometry/pyG4Cons.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Cons.cc,v 1.4 2006/06/29 15:31:56 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Cons.cc // diff --git a/environments/g4py/source/geometry/pyG4Field.cc b/environments/g4py/source/geometry/pyG4Field.cc index 8bf7c77ca7..f85cf4f765 100644 --- a/environments/g4py/source/geometry/pyG4Field.cc +++ b/environments/g4py/source/geometry/pyG4Field.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Field.cc,v 1.4 2006/06/29 15:31:59 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Field.cc // diff --git a/environments/g4py/source/geometry/pyG4FieldManager.cc b/environments/g4py/source/geometry/pyG4FieldManager.cc index 3d51d975c0..7c319e0617 100644 --- a/environments/g4py/source/geometry/pyG4FieldManager.cc +++ b/environments/g4py/source/geometry/pyG4FieldManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4FieldManager.cc,v 1.4 2006/06/29 15:32:02 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4FieldManager.cc // diff --git a/environments/g4py/source/geometry/pyG4LogicalVolume.cc b/environments/g4py/source/geometry/pyG4LogicalVolume.cc index 665a0b2c03..f9092d4442 100644 --- a/environments/g4py/source/geometry/pyG4LogicalVolume.cc +++ b/environments/g4py/source/geometry/pyG4LogicalVolume.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4LogicalVolume.cc,v 1.4 2006/06/29 15:32:08 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4LogicalVolume.cc // diff --git a/environments/g4py/source/geometry/pyG4MagneticField.cc b/environments/g4py/source/geometry/pyG4MagneticField.cc index 340ec443c3..f438bd755a 100644 --- a/environments/g4py/source/geometry/pyG4MagneticField.cc +++ b/environments/g4py/source/geometry/pyG4MagneticField.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4MagneticField.cc,v 1.4 2006/06/29 15:32:10 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4MagneticField.cc // diff --git a/environments/g4py/source/geometry/pyG4Orb.cc b/environments/g4py/source/geometry/pyG4Orb.cc index 83eeb49555..82f21751a5 100644 --- a/environments/g4py/source/geometry/pyG4Orb.cc +++ b/environments/g4py/source/geometry/pyG4Orb.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Orb.cc,v 1.4 2006/06/29 15:32:13 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Orb.cc // diff --git a/environments/g4py/source/geometry/pyG4PVPlacement.cc b/environments/g4py/source/geometry/pyG4PVPlacement.cc index 7498c080f3..400c453472 100644 --- a/environments/g4py/source/geometry/pyG4PVPlacement.cc +++ b/environments/g4py/source/geometry/pyG4PVPlacement.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4PVPlacement.cc,v 1.4 2006/06/29 15:32:15 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4PVPlacement.cc // diff --git a/environments/g4py/source/geometry/pyG4PVReplica.cc b/environments/g4py/source/geometry/pyG4PVReplica.cc index bb7cd108f1..849add802b 100644 --- a/environments/g4py/source/geometry/pyG4PVReplica.cc +++ b/environments/g4py/source/geometry/pyG4PVReplica.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4PVReplica.cc,v 1.4 2006/06/29 15:32:18 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4PVReplica.cc // diff --git a/environments/g4py/source/geometry/pyG4Para.cc b/environments/g4py/source/geometry/pyG4Para.cc index bf60c8e6c9..a8edc88691 100644 --- a/environments/g4py/source/geometry/pyG4Para.cc +++ b/environments/g4py/source/geometry/pyG4Para.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Para.cc,v 1.4 2006/06/29 15:32:21 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Para.cc // diff --git a/environments/g4py/source/geometry/pyG4Region.cc b/environments/g4py/source/geometry/pyG4Region.cc index b3097b61bb..3cfcef665f 100644 --- a/environments/g4py/source/geometry/pyG4Region.cc +++ b/environments/g4py/source/geometry/pyG4Region.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Region.cc,v 1.4 2006/06/29 15:32:25 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Region.cc // diff --git a/environments/g4py/source/geometry/pyG4Sphere.cc b/environments/g4py/source/geometry/pyG4Sphere.cc index cedb1cc9a7..f3ec3343d2 100644 --- a/environments/g4py/source/geometry/pyG4Sphere.cc +++ b/environments/g4py/source/geometry/pyG4Sphere.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Sphere.cc,v 1.4 2006/06/29 15:32:27 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Sphere.cc // diff --git a/environments/g4py/source/geometry/pyG4Torus.cc b/environments/g4py/source/geometry/pyG4Torus.cc index f4e27b5499..d503074191 100644 --- a/environments/g4py/source/geometry/pyG4Torus.cc +++ b/environments/g4py/source/geometry/pyG4Torus.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Torus.cc,v 1.4 2006/06/29 15:32:30 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Torus.cc // diff --git a/environments/g4py/source/geometry/pyG4TouchableHistory.cc b/environments/g4py/source/geometry/pyG4TouchableHistory.cc index 3444e27ca9..f893648a10 100644 --- a/environments/g4py/source/geometry/pyG4TouchableHistory.cc +++ b/environments/g4py/source/geometry/pyG4TouchableHistory.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4TouchableHistory.cc,v 1.4 2006/06/29 15:32:33 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VTouchable.cc // diff --git a/environments/g4py/source/geometry/pyG4TransportationManager.cc b/environments/g4py/source/geometry/pyG4TransportationManager.cc index 3be4531a6b..e462a299d8 100644 --- a/environments/g4py/source/geometry/pyG4TransportationManager.cc +++ b/environments/g4py/source/geometry/pyG4TransportationManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4TransportationManager.cc,v 1.4 2006/06/29 15:32:36 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4TransportationManager.cc // diff --git a/environments/g4py/source/geometry/pyG4Trap.cc b/environments/g4py/source/geometry/pyG4Trap.cc index 2af8be483f..134d52bf5b 100644 --- a/environments/g4py/source/geometry/pyG4Trap.cc +++ b/environments/g4py/source/geometry/pyG4Trap.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Trap.cc,v 1.4 2006/06/29 15:32:39 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Trap.cc // diff --git a/environments/g4py/source/geometry/pyG4Trd.cc b/environments/g4py/source/geometry/pyG4Trd.cc index 6b6620d5b8..a72e6e6748 100644 --- a/environments/g4py/source/geometry/pyG4Trd.cc +++ b/environments/g4py/source/geometry/pyG4Trd.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Trd.cc,v 1.4 2006/06/29 15:32:42 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Trd.cc // diff --git a/environments/g4py/source/geometry/pyG4Tubs.cc b/environments/g4py/source/geometry/pyG4Tubs.cc index 86424402a3..e436d17d51 100644 --- a/environments/g4py/source/geometry/pyG4Tubs.cc +++ b/environments/g4py/source/geometry/pyG4Tubs.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Tubs.cc,v 1.4 2006/06/29 15:32:45 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Tubs.cc // diff --git a/environments/g4py/source/geometry/pyG4UniformMagField.cc b/environments/g4py/source/geometry/pyG4UniformMagField.cc index dad87d14d4..de9312756e 100644 --- a/environments/g4py/source/geometry/pyG4UniformMagField.cc +++ b/environments/g4py/source/geometry/pyG4UniformMagField.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4UniformMagField.cc,v 1.4 2006/06/29 15:32:48 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UniformMagField.cc // diff --git a/environments/g4py/source/geometry/pyG4VPhysicalVolume.cc b/environments/g4py/source/geometry/pyG4VPhysicalVolume.cc index 98732869b3..af0c42e3dc 100644 --- a/environments/g4py/source/geometry/pyG4VPhysicalVolume.cc +++ b/environments/g4py/source/geometry/pyG4VPhysicalVolume.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VPhysicalVolume.cc,v 1.6 2006/11/21 06:03:22 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VPhysicalVolume.cc // diff --git a/environments/g4py/source/geometry/pyG4VSolid.cc b/environments/g4py/source/geometry/pyG4VSolid.cc index a9c1ec875c..0551ac67d1 100644 --- a/environments/g4py/source/geometry/pyG4VSolid.cc +++ b/environments/g4py/source/geometry/pyG4VSolid.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VSolid.cc,v 1.4 2006/06/29 15:32:54 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VSolid.cc // diff --git a/environments/g4py/source/geometry/pyG4VTouchable.cc b/environments/g4py/source/geometry/pyG4VTouchable.cc index 622e2310af..19d83fa6c8 100644 --- a/environments/g4py/source/geometry/pyG4VTouchable.cc +++ b/environments/g4py/source/geometry/pyG4VTouchable.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VTouchable.cc,v 1.4 2006/06/29 15:32:57 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VTouchable.cc // diff --git a/environments/g4py/source/geometry/pymodG4geometry.cc b/environments/g4py/source/geometry/pymodG4geometry.cc index 7e97b6a4bb..9498dcf0bd 100644 --- a/environments/g4py/source/geometry/pymodG4geometry.cc +++ b/environments/g4py/source/geometry/pymodG4geometry.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pymodG4geometry.cc,v 1.4 2006/06/29 15:33:00 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4geometry.cc [Geant4Py module] // diff --git a/environments/g4py/source/global/G4PyCoutDestination.cc b/environments/g4py/source/global/G4PyCoutDestination.cc index 33dd452566..525602170b 100644 --- a/environments/g4py/source/global/G4PyCoutDestination.cc +++ b/environments/g4py/source/global/G4PyCoutDestination.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PyCoutDestination.cc,v 1.3 2006/06/29 15:33:03 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // G4PyCoutDistination.cc // diff --git a/environments/g4py/source/global/G4PyCoutDestination.hh b/environments/g4py/source/global/G4PyCoutDestination.hh index 378b0326b5..21a22a1f56 100644 --- a/environments/g4py/source/global/G4PyCoutDestination.hh +++ b/environments/g4py/source/global/G4PyCoutDestination.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PyCoutDestination.hh,v 1.3 2006/06/29 15:33:06 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // G4PyCoutDestination.hh // diff --git a/environments/g4py/source/global/GNUmakefile b/environments/g4py/source/global/GNUmakefile index 12b9c51357..c6afbe74ae 100644 --- a/environments/g4py/source/global/GNUmakefile +++ b/environments/g4py/source/global/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/global/pyG4ApplicationState.cc b/environments/g4py/source/global/pyG4ApplicationState.cc index 2b5f3be14c..b68118f94d 100644 --- a/environments/g4py/source/global/pyG4ApplicationState.cc +++ b/environments/g4py/source/global/pyG4ApplicationState.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ApplicationState.cc,v 1.5 2006/11/20 05:56:46 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ApplicationState.cc // diff --git a/environments/g4py/source/global/pyG4Exception.cc b/environments/g4py/source/global/pyG4Exception.cc index 8f663b45b1..3e4e48daf3 100644 --- a/environments/g4py/source/global/pyG4Exception.cc +++ b/environments/g4py/source/global/pyG4Exception.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Exception.cc,v 1.1 2006/11/20 05:57:16 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Exception.cc // diff --git a/environments/g4py/source/global/pyG4ExceptionHandler.cc b/environments/g4py/source/global/pyG4ExceptionHandler.cc index 533e2f2693..d8a61efbb6 100644 --- a/environments/g4py/source/global/pyG4ExceptionHandler.cc +++ b/environments/g4py/source/global/pyG4ExceptionHandler.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ExceptionHandler.cc,v 1.1 2006/11/21 05:58:33 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ExceptionHandler.cc // diff --git a/environments/g4py/source/global/pyG4ExceptionSeverity.cc b/environments/g4py/source/global/pyG4ExceptionSeverity.cc index 635d43413d..bffbfda07b 100644 --- a/environments/g4py/source/global/pyG4ExceptionSeverity.cc +++ b/environments/g4py/source/global/pyG4ExceptionSeverity.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ExceptionSeverity.cc,v 1.1 2006/11/20 05:57:16 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ExceptionSeverity.cc // diff --git a/environments/g4py/source/global/pyG4RandomDirection.cc b/environments/g4py/source/global/pyG4RandomDirection.cc index 8cd77672fb..5c9a58b7bb 100644 --- a/environments/g4py/source/global/pyG4RandomDirection.cc +++ b/environments/g4py/source/global/pyG4RandomDirection.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4RandomDirection.cc,v 1.4 2006/06/29 15:33:12 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4RandomDirection.cc // diff --git a/environments/g4py/source/global/pyG4RotationMatrix.cc b/environments/g4py/source/global/pyG4RotationMatrix.cc index e4fe867cce..7c22f3ca13 100644 --- a/environments/g4py/source/global/pyG4RotationMatrix.cc +++ b/environments/g4py/source/global/pyG4RotationMatrix.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4RotationMatrix.cc,v 1.4 2006/06/29 15:33:15 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4RotationMatrix.cc // diff --git a/environments/g4py/source/global/pyG4StateManager.cc b/environments/g4py/source/global/pyG4StateManager.cc index 4224034fd6..48695983a8 100644 --- a/environments/g4py/source/global/pyG4StateManager.cc +++ b/environments/g4py/source/global/pyG4StateManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4StateManager.cc,v 1.4 2006/06/29 15:33:18 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4StateManager.cc // diff --git a/environments/g4py/source/global/pyG4String.cc b/environments/g4py/source/global/pyG4String.cc index 4d8d049100..a75cad04cb 100644 --- a/environments/g4py/source/global/pyG4String.cc +++ b/environments/g4py/source/global/pyG4String.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4String.cc,v 1.4 2006/06/29 15:33:21 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4String.cc // diff --git a/environments/g4py/source/global/pyG4ThreeVector.cc b/environments/g4py/source/global/pyG4ThreeVector.cc index 116b13d73f..be9048c40a 100644 --- a/environments/g4py/source/global/pyG4ThreeVector.cc +++ b/environments/g4py/source/global/pyG4ThreeVector.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ThreeVector.cc,v 1.5 2006/06/29 15:33:24 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ThreeVector.cc // diff --git a/environments/g4py/source/global/pyG4Timer.cc b/environments/g4py/source/global/pyG4Timer.cc index acdfd89c8e..436fc5a7f5 100644 --- a/environments/g4py/source/global/pyG4Timer.cc +++ b/environments/g4py/source/global/pyG4Timer.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Timer.cc,v 1.3 2006/06/29 15:33:27 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Timer.cc // diff --git a/environments/g4py/source/global/pyG4Transform3D.cc b/environments/g4py/source/global/pyG4Transform3D.cc index a6896f79dd..39223ce8bf 100644 --- a/environments/g4py/source/global/pyG4Transform3D.cc +++ b/environments/g4py/source/global/pyG4Transform3D.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Transform3D.cc,v 1.4 2006/06/29 15:33:30 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Transform3D.cc // diff --git a/environments/g4py/source/global/pyG4TwoVector.cc b/environments/g4py/source/global/pyG4TwoVector.cc new file mode 100644 index 0000000000..23c5516743 --- /dev/null +++ b/environments/g4py/source/global/pyG4TwoVector.cc @@ -0,0 +1,120 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: pyG4TwoVector.cc,v 1.1 2007/05/28 03:03:21 kmura Exp $ +// $Name: geant4-09-00 $ +// ==================================================================== +// pyG4TwoVector.cc +// +// 2007 Q +// ==================================================================== +#include +#include "pyG4Version.hh" + +#if G4VERSION_NUMBER >= 830 +#include "G4TwoVector.hh" + +using namespace boost::python; +using namespace CLHEP; + +typedef G4TwoVector XXX; // ... + +// ==================================================================== +// thin wrappers +// ==================================================================== +namespace pyG4TwoVector { + +BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_isNear, isNear, 1, 2); +BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_isParallel, isParallel, 1, 2); +BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_isOrthogonal, isOrthogonal, 1, 2); + +}; + +using namespace pyG4TwoVector; + +#endif + +// ==================================================================== +// module definition +// ==================================================================== +void export_G4TwoVector() +{ +#if G4VERSION_NUMBER >= 830 + + class_("G4TwoVector", "general 2-vector") + // constructors + .def(init()) + .def(init()) + .def(init()) + + // property + .add_property("x", &XXX::x, &XXX::setX) + .add_property("y", &XXX::y, &XXX::setY) + + // methods + .def("set", &XXX::set) + .def("phi", &XXX::phi) + .def("mag", &XXX::mag) + .def("mag2", &XXX::mag2) + .def("r", &XXX::r) + .def("setPhi", &XXX::setPhi) + .def("setMag", &XXX::setMag) + .def("setR", &XXX::setR) + .def("setPolar", &XXX::setPolar) + .def("howNear", &XXX::howNear) + .def("isNear", &XXX::isNear, f_isNear()) + .def("howParallel", &XXX::howParallel) + .def("isParallel", &XXX::isParallel, f_isParallel()) + .def("howOrthogonal", &XXX::howOrthogonal) + .def("isOrthogonal", &XXX::isOrthogonal, f_isOrthogonal()) + .def("unit", &XXX::unit) + .def("orthogonal", &XXX::orthogonal) + .def("dot", &XXX::dot) + .def("angle", &XXX::angle) + .def("rotate", &XXX::rotate) + + // operators + .def(self_ns::str(self)) + .def(self == self) + .def(self != self) + .def(self += self) + .def(self -= self) + .def(self - self) + .def(self + self) + .def(self * self) + .def(self * G4double()) + .def(self / G4double()) + .def(G4double() * self) + .def(self *= G4double()) + .def(self > self) + .def(self < self) + .def(self >= self) + .def(self <= self) + ; +#endif + +} + + diff --git a/environments/g4py/source/global/pyG4UnitsTable.cc b/environments/g4py/source/global/pyG4UnitsTable.cc index e4082091cb..db6cc5e74a 100644 --- a/environments/g4py/source/global/pyG4UnitsTable.cc +++ b/environments/g4py/source/global/pyG4UnitsTable.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4UnitsTable.cc,v 1.4 2006/06/29 15:33:33 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UnitsTable.cc // diff --git a/environments/g4py/source/global/pyG4UserLimits.cc b/environments/g4py/source/global/pyG4UserLimits.cc index a450dac528..0bd4851e92 100644 --- a/environments/g4py/source/global/pyG4UserLimits.cc +++ b/environments/g4py/source/global/pyG4UserLimits.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4UserLimits.cc,v 1.4 2006/06/29 15:33:36 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UserLimits.cc // diff --git a/environments/g4py/source/global/pyG4Version.cc b/environments/g4py/source/global/pyG4Version.cc index 54cd596854..e83d07c25e 100644 --- a/environments/g4py/source/global/pyG4Version.cc +++ b/environments/g4py/source/global/pyG4Version.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Version.cc,v 1.1 2006/08/23 04:43:27 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Version.cc // diff --git a/environments/g4py/source/global/pyRandomEngines.cc b/environments/g4py/source/global/pyRandomEngines.cc index 56cb94c3cd..ae65eea19d 100644 --- a/environments/g4py/source/global/pyRandomEngines.cc +++ b/environments/g4py/source/global/pyRandomEngines.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyRandomEngines.cc,v 1.4 2006/06/29 15:33:39 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyRandomEngines.cc // diff --git a/environments/g4py/source/global/pyRandomize.cc b/environments/g4py/source/global/pyRandomize.cc index e03ae45620..353f64e4ff 100644 --- a/environments/g4py/source/global/pyRandomize.cc +++ b/environments/g4py/source/global/pyRandomize.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyRandomize.cc,v 1.4 2006/06/29 15:33:42 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyRandomize.cc // diff --git a/environments/g4py/source/global/pygeomdefs.cc b/environments/g4py/source/global/pygeomdefs.cc index d3ea55382b..5e25d9fee9 100644 --- a/environments/g4py/source/global/pygeomdefs.cc +++ b/environments/g4py/source/global/pygeomdefs.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pygeomdefs.cc,v 1.4 2006/06/29 15:33:45 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pygeomdefs.cc // diff --git a/environments/g4py/source/global/pyglobals.cc b/environments/g4py/source/global/pyglobals.cc index 525b96d461..efa4428f60 100644 --- a/environments/g4py/source/global/pyglobals.cc +++ b/environments/g4py/source/global/pyglobals.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyglobals.cc,v 1.4 2006/06/29 15:33:48 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyglobals.cc // diff --git a/environments/g4py/source/global/pymodG4global.cc b/environments/g4py/source/global/pymodG4global.cc index 34f3d21eab..a6e6d225a1 100644 --- a/environments/g4py/source/global/pymodG4global.cc +++ b/environments/g4py/source/global/pymodG4global.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pymodG4global.cc,v 1.7 2006/11/21 05:58:33 kmura Exp $ -// $Name: geant4-08-02 $ +// $Id: pymodG4global.cc,v 1.8 2007/05/28 03:03:21 kmura Exp $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4global.cc [Geant4Py module] // @@ -56,6 +56,7 @@ void export_G4Version(); void export_G4Exception(); void export_G4ExceptionHandler(); void export_G4ExceptionSeverity(); +void export_G4TwoVector(); BOOST_PYTHON_MODULE(G4global) { @@ -65,6 +66,7 @@ BOOST_PYTHON_MODULE(G4global) export_G4ApplicationState(); export_G4String(); export_G4ThreeVector(); + export_G4TwoVector(); export_G4RotationMatrix(); export_G4Transform3D(); export_G4UnitsTable(); diff --git a/environments/g4py/source/graphics_reps/GNUmakefile b/environments/g4py/source/graphics_reps/GNUmakefile index c45051ceeb..d6a09037db 100644 --- a/environments/g4py/source/graphics_reps/GNUmakefile +++ b/environments/g4py/source/graphics_reps/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/graphics_reps/pyG4Colour.cc b/environments/g4py/source/graphics_reps/pyG4Colour.cc index dc7c27be57..107f8695f4 100644 --- a/environments/g4py/source/graphics_reps/pyG4Colour.cc +++ b/environments/g4py/source/graphics_reps/pyG4Colour.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Colour.cc,v 1.4 2006/06/29 15:33:54 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Colour.cc // diff --git a/environments/g4py/source/graphics_reps/pyG4VisAttributes.cc b/environments/g4py/source/graphics_reps/pyG4VisAttributes.cc index bd775f1eb0..a75a30a686 100644 --- a/environments/g4py/source/graphics_reps/pyG4VisAttributes.cc +++ b/environments/g4py/source/graphics_reps/pyG4VisAttributes.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VisAttributes.cc,v 1.4 2006/06/29 15:33:57 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VisAttributes.cc // diff --git a/environments/g4py/source/graphics_reps/pymodG4graphics_reps.cc b/environments/g4py/source/graphics_reps/pymodG4graphics_reps.cc index 0d345094ab..3c7777eef7 100644 --- a/environments/g4py/source/graphics_reps/pymodG4graphics_reps.cc +++ b/environments/g4py/source/graphics_reps/pymodG4graphics_reps.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pymodG4graphics_reps.cc,v 1.4 2006/06/29 15:33:59 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4graphics_reps.cc [Geant4Py module] // diff --git a/environments/g4py/source/intercoms/GNUmakefile b/environments/g4py/source/intercoms/GNUmakefile index 4a6bb95a53..8939f9bc41 100644 --- a/environments/g4py/source/intercoms/GNUmakefile +++ b/environments/g4py/source/intercoms/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.1 2006/08/08 05:20:57 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/intercoms/pyG4UIcommand.cc b/environments/g4py/source/intercoms/pyG4UIcommand.cc index 6d56f5be49..ddf158870e 100644 --- a/environments/g4py/source/intercoms/pyG4UIcommand.cc +++ b/environments/g4py/source/intercoms/pyG4UIcommand.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4UIcommand.cc,v 1.1 2006/08/08 05:20:57 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UIcommand.cc // diff --git a/environments/g4py/source/intercoms/pyG4UIcommandTree.cc b/environments/g4py/source/intercoms/pyG4UIcommandTree.cc index 34ab92ae84..3905e78930 100644 --- a/environments/g4py/source/intercoms/pyG4UIcommandTree.cc +++ b/environments/g4py/source/intercoms/pyG4UIcommandTree.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4UIcommandTree.cc,v 1.1 2006/08/08 05:20:57 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UIcommandTree.cc // diff --git a/environments/g4py/source/intercoms/pyG4UImanager.cc b/environments/g4py/source/intercoms/pyG4UImanager.cc index d41bd248b2..aec96b4baf 100644 --- a/environments/g4py/source/intercoms/pyG4UImanager.cc +++ b/environments/g4py/source/intercoms/pyG4UImanager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4UImanager.cc,v 1.1 2006/08/08 05:20:57 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UImanager.cc // diff --git a/environments/g4py/source/intercoms/pyG4UIparameter.cc b/environments/g4py/source/intercoms/pyG4UIparameter.cc index fc873c441e..7da4c51e31 100644 --- a/environments/g4py/source/intercoms/pyG4UIparameter.cc +++ b/environments/g4py/source/intercoms/pyG4UIparameter.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4UIparameter.cc,v 1.1 2006/08/08 05:20:57 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UIparameter.cc // diff --git a/environments/g4py/source/intercoms/pymodG4intercoms.cc b/environments/g4py/source/intercoms/pymodG4intercoms.cc index 8251270f81..584733358d 100644 --- a/environments/g4py/source/intercoms/pymodG4intercoms.cc +++ b/environments/g4py/source/intercoms/pymodG4intercoms.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pymodG4intercoms.cc,v 1.1 2006/08/08 05:20:57 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4intercoms.cc [Geant4Py module] // diff --git a/environments/g4py/source/interface/GNUmakefile b/environments/g4py/source/interface/GNUmakefile index 8a7ad5027c..0aa2360971 100644 --- a/environments/g4py/source/interface/GNUmakefile +++ b/environments/g4py/source/interface/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/interface/pyG4UIterminal.cc b/environments/g4py/source/interface/pyG4UIterminal.cc index d50bc89d58..2c0493c1bf 100644 --- a/environments/g4py/source/interface/pyG4UIterminal.cc +++ b/environments/g4py/source/interface/pyG4UIterminal.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pyG4UIterminal.cc,v 1.4 2006/06/29 15:34:04 gunter Exp $ -// $Name: geant4-08-02 $ +// $Id: pyG4UIterminal.cc,v 1.6 2007/05/28 03:11:20 kmura Exp $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UIterminal.cc // @@ -49,9 +49,9 @@ void StartUISession() { if (session == 0 ) { G4UItcsh* tcsh= new - G4UItcsh("eccsim(%s)[%/]:"); + G4UItcsh("g4py(%s)[%/]:"); - session= new G4UIterminal(tcsh); + session= new G4UIterminal(tcsh, false); tcsh-> SetLsColor(BLUE,RED); } diff --git a/environments/g4py/source/interface/pymodG4interface.cc b/environments/g4py/source/interface/pymodG4interface.cc index d7e6a14e13..5a78689479 100644 --- a/environments/g4py/source/interface/pymodG4interface.cc +++ b/environments/g4py/source/interface/pymodG4interface.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pymodG4interface.cc,v 1.5 2006/08/08 05:20:09 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4interface.cc [Geant4Py module] // diff --git a/environments/g4py/source/materials/GNUmakefile b/environments/g4py/source/materials/GNUmakefile index bf78b51460..300b2fa35a 100644 --- a/environments/g4py/source/materials/GNUmakefile +++ b/environments/g4py/source/materials/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/materials/pyG4Element.cc b/environments/g4py/source/materials/pyG4Element.cc index 234b2aaa29..fa4834a3db 100644 --- a/environments/g4py/source/materials/pyG4Element.cc +++ b/environments/g4py/source/materials/pyG4Element.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Element.cc,v 1.5 2006/08/25 05:46:17 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Element.cc // diff --git a/environments/g4py/source/materials/pyG4ElementTable.cc b/environments/g4py/source/materials/pyG4ElementTable.cc index 0763da2605..98687975f0 100644 --- a/environments/g4py/source/materials/pyG4ElementTable.cc +++ b/environments/g4py/source/materials/pyG4ElementTable.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ElementTable.cc,v 1.4 2006/06/29 15:34:12 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ElementTable.cc // diff --git a/environments/g4py/source/materials/pyG4Material.cc b/environments/g4py/source/materials/pyG4Material.cc index 1f562efdcf..72ce56786d 100644 --- a/environments/g4py/source/materials/pyG4Material.cc +++ b/environments/g4py/source/materials/pyG4Material.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Material.cc,v 1.5 2006/12/01 02:10:08 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Material.cc // diff --git a/environments/g4py/source/materials/pyG4MaterialTable.cc b/environments/g4py/source/materials/pyG4MaterialTable.cc index a8b3a25851..7a22e4178f 100644 --- a/environments/g4py/source/materials/pyG4MaterialTable.cc +++ b/environments/g4py/source/materials/pyG4MaterialTable.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4MaterialTable.cc,v 1.4 2006/06/29 15:34:18 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4MaterialTable.cc // diff --git a/environments/g4py/source/materials/pyG4NistManager.cc b/environments/g4py/source/materials/pyG4NistManager.cc index 05418ff726..b3688c0dba 100644 --- a/environments/g4py/source/materials/pyG4NistManager.cc +++ b/environments/g4py/source/materials/pyG4NistManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pyG4NistManager.cc,v 1.4 2006/06/29 15:34:21 gunter Exp $ -// $Name: geant4-08-02 $ +// $Id: pyG4NistManager.cc,v 1.5 2007/05/28 03:11:20 kmura Exp $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4NistManager.cc // @@ -81,11 +81,15 @@ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ConstructNewMaterial, using namespace pyG4NistManager; +#endif + // ==================================================================== // module definition // ==================================================================== void export_G4NistManager() { +#if G4VERSION_NUMBER >= 710 + class_ ("G4NistManager", "manager class for NIST materials", no_init) // --- @@ -130,6 +134,6 @@ void export_G4NistManager() .def("ListMaterials", &G4NistManager::ListMaterials) .def("PrintG4Material", &G4NistManager::PrintG4Material) ; +#endif } -#endif diff --git a/environments/g4py/source/materials/pymodG4materials.cc b/environments/g4py/source/materials/pymodG4materials.cc index bc4b97368a..7e56455921 100644 --- a/environments/g4py/source/materials/pymodG4materials.cc +++ b/environments/g4py/source/materials/pymodG4materials.cc @@ -23,15 +23,14 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pymodG4materials.cc,v 1.4 2006/06/29 15:34:24 gunter Exp $ -// $Name: geant4-08-02 $ +// $Id: pymodG4materials.cc,v 1.5 2007/05/28 03:11:20 kmura Exp $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4materials.cc [Geant4Py module] // // 2005 Q // ==================================================================== #include -#include "pyG4Version.hh" using namespace boost::python; @@ -50,8 +49,6 @@ BOOST_PYTHON_MODULE(G4materials) export_G4MaterialTable(); export_G4Element(); export_G4ElementTable(); -#if G4VERSION_NUMBER >= 710 export_G4NistManager(); -#endif } diff --git a/environments/g4py/source/particles/GNUmakefile b/environments/g4py/source/particles/GNUmakefile index 08882019f3..06440b38c7 100644 --- a/environments/g4py/source/particles/GNUmakefile +++ b/environments/g4py/source/particles/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/particles/pyG4DecayTable.cc b/environments/g4py/source/particles/pyG4DecayTable.cc index ab0cb474a8..052a4ffd6f 100644 --- a/environments/g4py/source/particles/pyG4DecayTable.cc +++ b/environments/g4py/source/particles/pyG4DecayTable.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4DecayTable.cc,v 1.4 2006/06/29 15:34:27 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4DecayTable.cc // diff --git a/environments/g4py/source/particles/pyG4DynamicParticle.cc b/environments/g4py/source/particles/pyG4DynamicParticle.cc index 1a5c74b824..e16cd9e2bf 100644 --- a/environments/g4py/source/particles/pyG4DynamicParticle.cc +++ b/environments/g4py/source/particles/pyG4DynamicParticle.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4DynamicParticle.cc,v 1.5 2006/08/25 05:52:51 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4DynamicParticle.cc // diff --git a/environments/g4py/source/particles/pyG4ParticleDefinition.cc b/environments/g4py/source/particles/pyG4ParticleDefinition.cc index 3803c8e1ae..1629f2f8dd 100644 --- a/environments/g4py/source/particles/pyG4ParticleDefinition.cc +++ b/environments/g4py/source/particles/pyG4ParticleDefinition.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ParticleDefinition.cc,v 1.5 2006/08/25 06:14:52 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ParticleDefinition.cc // diff --git a/environments/g4py/source/particles/pyG4ParticleList.cc b/environments/g4py/source/particles/pyG4ParticleList.cc index 127444b989..322c907a71 100644 --- a/environments/g4py/source/particles/pyG4ParticleList.cc +++ b/environments/g4py/source/particles/pyG4ParticleList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ParticleList.cc,v 1.3 2006/06/29 15:34:35 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ParticleList.cc // diff --git a/environments/g4py/source/particles/pyG4ParticleTable.cc b/environments/g4py/source/particles/pyG4ParticleTable.cc index 8724b476d5..38f98e976f 100644 --- a/environments/g4py/source/particles/pyG4ParticleTable.cc +++ b/environments/g4py/source/particles/pyG4ParticleTable.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ParticleTable.cc,v 1.4 2006/06/29 15:34:37 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ParticleTable.cc // diff --git a/environments/g4py/source/particles/pyG4PrimaryParticle.cc b/environments/g4py/source/particles/pyG4PrimaryParticle.cc index 0463789abc..4b586e980e 100644 --- a/environments/g4py/source/particles/pyG4PrimaryParticle.cc +++ b/environments/g4py/source/particles/pyG4PrimaryParticle.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4PrimaryParticle.cc,v 1.4 2006/06/29 15:34:40 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4PrimaryParticle.cc // diff --git a/environments/g4py/source/particles/pyG4PrimaryVertex.cc b/environments/g4py/source/particles/pyG4PrimaryVertex.cc index 7a5b1e9286..2efacf8829 100644 --- a/environments/g4py/source/particles/pyG4PrimaryVertex.cc +++ b/environments/g4py/source/particles/pyG4PrimaryVertex.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4PrimaryVertex.cc,v 1.4 2006/06/29 15:34:43 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4PrimaryVertex.cc // diff --git a/environments/g4py/source/particles/pymodG4particles.cc b/environments/g4py/source/particles/pymodG4particles.cc index 6ffd2ad998..8f4245d796 100644 --- a/environments/g4py/source/particles/pymodG4particles.cc +++ b/environments/g4py/source/particles/pymodG4particles.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pymodG4particles.cc,v 1.4 2006/06/29 15:34:46 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4particles.cc // diff --git a/environments/g4py/source/physics_lists/GNUmakefile b/environments/g4py/source/physics_lists/GNUmakefile index 28a036559a..a5de71c734 100644 --- a/environments/g4py/source/physics_lists/GNUmakefile +++ b/environments/g4py/source/physics_lists/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.1 2006/11/20 08:53:12 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/physics_lists/pyPhysicsLists.cc b/environments/g4py/source/physics_lists/pyPhysicsLists.cc index 66cf4b9a7a..d411f87f1c 100644 --- a/environments/g4py/source/physics_lists/pyPhysicsLists.cc +++ b/environments/g4py/source/physics_lists/pyPhysicsLists.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pyPhysicsLists.cc,v 1.1 2006/11/20 08:53:05 kmura Exp $ -// $Name: geant4-08-02 $ +// $Id: pyPhysicsLists.cc,v 1.3 2007/06/07 09:06:43 kmura Exp $ +// $Name: geant4-09-00 $ // ==================================================================== // pyPhysicsLists.cc // @@ -44,26 +44,42 @@ #include "LHEP.hh" #include "LHEP_BERT.hh" #include "LHEP_BERT_HP.hh" -#include "LHEP_BIC.hh" -#include "LHEP_BIC_HP.hh" #include "LHEP_EMV.hh" -#include "LHEP_HP.hh" -#include "LHEP_LEAD.hh" -#include "LHEP_LEAD_HP.hh" -#include "LHEP_PRECO.hh" #include "LHEP_PRECO_HP.hh" #include "QBBC.hh" #include "QGSC.hh" -#include "QGSC_LEAD.hh" -#include "QGSC_LEAD_HP.hh" +#include "QGSC_EFLOW.hh" +#include "QGSC_EMV.hh" #include "QGSP.hh" #include "QGSP_BERT.hh" #include "QGSP_BERT_HP.hh" #include "QGSP_BIC.hh" +#include "QGSP_BIC_HP.hh" #include "QGSP_EMV.hh" #include "QGSP_EMX.hh" -#include "QGSP_HP.hh" +#include "QGSP_QEL.hh" +#if G4VERSION_NUMBER <= 830 +#include "LHEP_BIC.hh" +#include "LHEP_BIC_HP.hh" +#include "LHEP_HP.hh" +#include "LHEP_LEAD.hh" +#include "LHEP_LEAD_HP.hh" +#include "LHEP_PRECO.hh" +#include "QGSC_LEAD.hh" +#include "QGSC_LEAD_HP.hh" +#include "QGSP_HP.hh" +#endif + +#endif + +#if G4VERSION_NUMBER >= 830 +#include "FTFP_EMV.hh" +#include "QGSP_BERT_EMV.hh" +#include "QGSP_BERT_NQE.hh" +#include "QGSP_BERT_TRV.hh" +#include "QGSP_EMV_NQE.hh" +#include "QGSP_NQE.hh" #endif using namespace boost::python; @@ -99,52 +115,29 @@ void export_PhysicsLists() ("LHEP_BERT_HP", "LHEP_BERT_HP physics list") ; - class_ > - ("LHEP_BIC", "LHEP_BIC physics list") - ; - - class_ > - ("LHEP_BIC_HP", "LHEP_BIC_HP physics list") - ; class_ > ("LHEP_EMV", "LHEP_EMV physics list") ; - class_ > - ("LHEP_HP", "LHEP_HP physics list") - ; - - class_ > - ("LHEP_LEAD", "LHEP_LEAD physics list") - ; - - class_ > - ("LHEP_LEAD_HP", "LHEP_LEAD_HP physics list") - ; - - class_ > - ("LHEP_PRECO", "LHEP_PRECO physics list") - ; - class_ > ("LHEP_PRECO_HP", "LHEP_PRECO_HP physics list") ; - //class_ > - //("QBBC", "QBBC physics list") - // ; + class_ > + ("QBBC", "QBBC physics list") + ; class_ > ("QGSC", "QGSC physics list") ; - class_ > - ("QGSC_LEAD", "QGSC_LEAD physics list") + class_ > + ("QGSC_EFLOW", "QGSC_EFLOW physics list") ; - class_ > - ("QGSC_LEAD_HP", "QGSC_LEAD_HP physics list") + class_ > + ("QGSC", "QGSC_EMV physics list") ; class_ > @@ -163,6 +156,10 @@ void export_PhysicsLists() ("QGSP_BIC", "QGSP_BIC physics list") ; + class_ > + ("QGSP_BIC_HP", "QGSP_BIC_HP physics list") + ; + class_ > ("QGSP_EMV", "QGSP_EMV physics list") ; @@ -171,11 +168,77 @@ void export_PhysicsLists() ("QGSP_EMX", "QGSP_EMX physics list") ; + class_ > + ("QGSP_QEL", "QGSP_QEL physics list") + ; + + +#if G4VERSION_NUMBER <= 830 + class_ > + ("LHEP_BIC", "LHEP_BIC physics list") + ; + + class_ > + ("LHEP_BIC_HP", "LHEP_BIC_HP physics list") + ; + + class_ > + ("LHEP_HP", "LHEP_HP physics list") + ; + + class_ > + ("LHEP_LEAD", "LHEP_LEAD physics list") + ; + + class_ > + ("LHEP_LEAD_HP", "LHEP_LEAD_HP physics list") + ; + + class_ > + ("LHEP_PRECO", "LHEP_PRECO physics list") + ; + + class_ > + ("QGSC_LEAD", "QGSC_LEAD physics list") + ; + + class_ > + ("QGSC_LEAD_HP", "QGSC_LEAD_HP physics list") + ; + class_ > ("QGSP_HP", "QGSP_HP physics list") ; +#endif #endif +#if G4VERSION_NUMBER >= 830 + + class_ > + ("FTFP_EMV", "FTFP_EMV physics list") + ; + + class_ > + ("QGSP_BERT_EMV", "QGSP_BERT_EMV physics list") + ; + + class_ > + ("QGSP_BERT_NQE", "QGSP_BERT_NQE physics list") + ; + + class_ > + ("QGSP_BERT_TRV", "QGSP_BERT_TRV physics list") + ; + + class_ > + ("QGSP_EMV_NQE", "QGSP_EMV_NQE physics list") + ; + + class_ > + ("QGSP_NQE", "QGSP_NQE physics list") + ; +#endif + } diff --git a/environments/g4py/source/physics_lists/pymodG4physicslists.cc b/environments/g4py/source/physics_lists/pymodG4physicslists.cc index 942ec76be9..c3dcd9717f 100644 --- a/environments/g4py/source/physics_lists/pymodG4physicslists.cc +++ b/environments/g4py/source/physics_lists/pymodG4physicslists.cc @@ -23,34 +23,24 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pymodG4physicslists.cc,v 1.1 2006/11/20 08:53:05 kmura Exp $ -// $Name: geant4-08-02 $ +// $Id: pymodG4physicslists.cc,v 1.2 2007/05/28 03:11:20 kmura Exp $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4physicslists.cc [Geant4Py module] // // 2005 Q // ==================================================================== #include -#include "pyG4Version.hh" using namespace boost::python; // ==================================================================== // module definition // ==================================================================== -#if G4VERSION_NUMBER >= 820 - void export_PhysicsLists(); -#endif - BOOST_PYTHON_MODULE(G4physicslists) { -#if G4VERSION_NUMBER >= 820 - export_PhysicsLists(); - -#endif - } diff --git a/environments/g4py/source/processes/GNUmakefile b/environments/g4py/source/processes/GNUmakefile index c2e8de066e..4496d05c5d 100644 --- a/environments/g4py/source/processes/GNUmakefile +++ b/environments/g4py/source/processes/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/processes/pyG4EmCalculator.cc b/environments/g4py/source/processes/pyG4EmCalculator.cc index 7d23b48d88..300d93295d 100644 --- a/environments/g4py/source/processes/pyG4EmCalculator.cc +++ b/environments/g4py/source/processes/pyG4EmCalculator.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pyG4EmCalculator.cc,v 1.5 2006/08/25 05:58:52 kmura Exp $ -// $Name: geant4-08-02 $ +// $Id: pyG4EmCalculator.cc,v 1.6 2007/05/28 03:11:20 kmura Exp $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4EmCalculator.cc // @@ -146,7 +146,6 @@ G4double (G4EmCalculator::*f2_ComputeNuclearDEDX) = &G4EmCalculator::ComputeNuclearDEDX; #endif - #if G4VERSION_NUMBER >= 810 // ComputeElectronicDEDX G4double (G4EmCalculator::*f1_ComputeElectronicDEDX) @@ -160,7 +159,6 @@ G4double (G4EmCalculator::*f2_ComputeElectronicDEDX) BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeElectronicDEDX, ComputeElectronicDEDX, 3, 4); - // ComputeTotalDEDX G4double (G4EmCalculator::*f1_ComputeTotalDEDX) (G4double, const G4ParticleDefinition*, const G4Material*, G4double) @@ -172,7 +170,6 @@ G4double (G4EmCalculator::*f2_ComputeTotalDEDX) BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeTotalDEDX, ComputeTotalDEDX, 3, 4); - #endif @@ -205,6 +202,18 @@ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(f_ComputeCrossSectionPerAtom, BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(g_ComputeCrossSectionPerAtom, ComputeCrossSectionPerAtom, 4, 5); +#if G4VERSION_NUMBER >= 830 +// ComputeEnergyCutFromRangeCut +G4double (G4EmCalculator::*f1_ComputeEnergyCutFromRangeCut) + (G4double, const G4ParticleDefinition*, const G4Material*) + = &G4EmCalculator::ComputeEnergyCutFromRangeCut; + +G4double (G4EmCalculator::*f2_ComputeEnergyCutFromRangeCut) + (G4double range, const G4String&, const G4String&) + = &G4EmCalculator::ComputeEnergyCutFromRangeCut; +#endif + + // ComputeMeanFreePath G4double (G4EmCalculator::*f1_ComputeMeanFreePath) (G4double, const G4ParticleDefinition*, @@ -279,6 +288,11 @@ void export_G4EmCalculator() f1_ComputeCrossSectionPerAtom, f_ComputeCrossSectionPerAtom()) .def("ComputeCrossSectionPerAtom", f2_ComputeCrossSectionPerAtom, g_ComputeCrossSectionPerAtom()) +#if G4VERSION_NUMBER >= 830 + .def("ComputeEnergyCutFromRangeCut", f1_ComputeEnergyCutFromRangeCut) + .def("ComputeEnergyCutFromRangeCut", f2_ComputeEnergyCutFromRangeCut) +#endif + // --- .def("ComputeMeanFreePath", f1_ComputeMeanFreePath, f_ComputeMeanFreePath()) .def("ComputeMeanFreePath", diff --git a/environments/g4py/source/processes/pyG4LossTableManager.cc b/environments/g4py/source/processes/pyG4LossTableManager.cc index 5fc211b087..5f111bd250 100644 --- a/environments/g4py/source/processes/pyG4LossTableManager.cc +++ b/environments/g4py/source/processes/pyG4LossTableManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pyG4LossTableManager.cc,v 1.2 2006/08/23 02:17:06 kmura Exp $ -// $Name: geant4-08-02 $ +// $Id: pyG4LossTableManager.cc,v 1.4 2007/06/07 08:59:39 kmura Exp $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4LossTableManager.cc // @@ -83,13 +83,30 @@ void export_G4LossTableManager() #if G4VERSION_NUMBER >= 810 .def("BuildCSDARange", &G4LossTableManager::BuildCSDARange) .def("LPMFlag", &G4LossTableManager::LPMFlag) + .def("BremsstrahlungTh", &G4LossTableManager::BremsstrahlungTh) + +#if G4VERSION_NUMBER <= 830 .def("SetMscStepLimitation", &G4LossTableManager::SetMscStepLimitation) .def("MscFlag", &G4LossTableManager::MscFlag) .def("FacRange", &G4LossTableManager::FacRange) - .def("BremsstrahlungTh", &G4LossTableManager::BremsstrahlungTh) +#endif + #else .def("BuildPreciseRange", &G4LossTableManager::BuildPreciseRange) #endif + + // --- +#if G4VERSION_NUMBER == 830 + .def("SetMscLateralDisplacement", + &G4LossTableManager::SetMscLateralDisplacement) + .def("SetSkin", &G4LossTableManager::SetSkin) +#endif + +#if G4VERSION_NUMBER >= 830 + .def("SetLinearLossLimit", &G4LossTableManager::SetLinearLossLimit) +#endif + ; + } diff --git a/environments/g4py/source/processes/pyG4ProcVector.cc b/environments/g4py/source/processes/pyG4ProcVector.cc index ae332d3322..1ffcb05df5 100644 --- a/environments/g4py/source/processes/pyG4ProcVector.cc +++ b/environments/g4py/source/processes/pyG4ProcVector.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ProcVector.cc,v 1.4 2006/06/29 15:34:52 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ProcVector.cc // diff --git a/environments/g4py/source/processes/pyG4ProcessManager.cc b/environments/g4py/source/processes/pyG4ProcessManager.cc index 8a43a2ef12..e3667e6f77 100644 --- a/environments/g4py/source/processes/pyG4ProcessManager.cc +++ b/environments/g4py/source/processes/pyG4ProcessManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ProcessManager.cc,v 1.4 2006/06/29 15:34:55 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ProcessManager.cc // diff --git a/environments/g4py/source/processes/pyG4ProcessTable.cc b/environments/g4py/source/processes/pyG4ProcessTable.cc index 0785cf38d1..82b77db59c 100644 --- a/environments/g4py/source/processes/pyG4ProcessTable.cc +++ b/environments/g4py/source/processes/pyG4ProcessTable.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ProcessTable.cc,v 1.4 2006/06/29 15:34:58 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ProcessTable.cc // diff --git a/environments/g4py/source/processes/pyG4ProcessType.cc b/environments/g4py/source/processes/pyG4ProcessType.cc index e8a70469bb..a6a85d1040 100644 --- a/environments/g4py/source/processes/pyG4ProcessType.cc +++ b/environments/g4py/source/processes/pyG4ProcessType.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ProcessType.cc,v 1.4 2006/06/29 15:35:00 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ProcessTyoe.cc // diff --git a/environments/g4py/source/processes/pyG4ProductionCutsTable.cc b/environments/g4py/source/processes/pyG4ProductionCutsTable.cc index 36bc585b06..66ac1becc9 100644 --- a/environments/g4py/source/processes/pyG4ProductionCutsTable.cc +++ b/environments/g4py/source/processes/pyG4ProductionCutsTable.cc @@ -23,15 +23,17 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: pyG4ProductionCutsTable.cc,v 1.2 2006/07/12 06:29:02 kmura Exp $ -// $Name: geant4-08-02 $ +// $Id: pyG4ProductionCutsTable.cc,v 1.3 2007/05/28 03:11:20 kmura Exp $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ProductionCutsTable.cc // // 2005 Q // ==================================================================== #include +#include "pyG4Version.hh" #include "G4ProductionCutsTable.hh" +#include "G4Material.hh" using namespace boost::python; @@ -56,6 +58,10 @@ void export_G4ProductionCutsTable() .def("DumpCouples", &G4ProductionCutsTable::DumpCouples) .def("IsModified", &G4ProductionCutsTable::IsModified) // --- +#if G4VERSION_NUMBER >= 830 + .def("ConvertRangeToEnergy", &G4ProductionCutsTable::ConvertRangeToEnergy) +#endif + // --- .def("SetVerboseLevel", &G4ProductionCutsTable::SetVerboseLevel) .def("GetVerboseLevel", &G4ProductionCutsTable::GetVerboseLevel) ; diff --git a/environments/g4py/source/processes/pyG4VProcess.cc b/environments/g4py/source/processes/pyG4VProcess.cc index 300f92c226..a0a5a8a3d3 100644 --- a/environments/g4py/source/processes/pyG4VProcess.cc +++ b/environments/g4py/source/processes/pyG4VProcess.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VProcess.cc,v 1.4 2006/06/29 15:35:03 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VProcess.cc // diff --git a/environments/g4py/source/processes/pymodG4processes.cc b/environments/g4py/source/processes/pymodG4processes.cc index 529e3e08ea..2a05d5524d 100644 --- a/environments/g4py/source/processes/pymodG4processes.cc +++ b/environments/g4py/source/processes/pymodG4processes.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pymodG4processes.cc,v 1.6 2006/07/12 05:43:18 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4processes.cc // diff --git a/environments/g4py/source/python/GNUmakefile b/environments/g4py/source/python/GNUmakefile index 0c091d6bfb..2b45ea1d57 100644 --- a/environments/g4py/source/python/GNUmakefile +++ b/environments/g4py/source/python/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.3 2006/06/29 01:39:00 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/python/__init__.py b/environments/g4py/source/python/__init__.py index e2fa196f6a..7a8dc724e4 100644 --- a/environments/g4py/source/python/__init__.py +++ b/environments/g4py/source/python/__init__.py @@ -1,4 +1,4 @@ -# $Id: __init__.py,v 1.12 2006/12/01 02:21:56 kmura Exp $ +# $Id: __init__.py,v 1.13 2007/05/28 03:02:05 kmura Exp $ """ # ================================================================== # [Geant4] module package @@ -13,8 +13,8 @@ # ================================================================== # docs # ================================================================== -__version__ = '1.2.0' -__date__ = '01/Dec/2006' +__version__ = '1.3.0' +__date__ = '25/May/2007' __author__ = 'K.Murakami (Koichi.Murakami@kek.jp)' __url__ = 'http://www-geant4.kek.jp/projects/Geant4Py/' @@ -258,3 +258,20 @@ def ListMaterial(self): G4MaterialTable.ListMaterial = ListMaterial +# ------------------------------------------------------------------ +# signal handler +# ------------------------------------------------------------------ +import signal + +def RunAbort(signum, frame): + state= gStateManager.GetCurrentState(); + + if(state==G4ApplicationState.G4State_GeomClosed or + state==G4ApplicationState.G4State_EventProc): + print "aborting Run ..."; + gRunManager.AbortRun(True); + else: + raise KeyboardInterrupt + +signal.signal(signal.SIGINT, RunAbort) + diff --git a/environments/g4py/source/run/GNUmakefile b/environments/g4py/source/run/GNUmakefile index 7b25afd05a..a9cb90a214 100644 --- a/environments/g4py/source/run/GNUmakefile +++ b/environments/g4py/source/run/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/run/pyG4Run.cc b/environments/g4py/source/run/pyG4Run.cc index f4237e2690..196e93060c 100644 --- a/environments/g4py/source/run/pyG4Run.cc +++ b/environments/g4py/source/run/pyG4Run.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Run.cc,v 1.4 2006/06/29 15:35:09 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Run.cc // diff --git a/environments/g4py/source/run/pyG4RunManager.cc b/environments/g4py/source/run/pyG4RunManager.cc index c11a13e7cf..e94b5b5aff 100644 --- a/environments/g4py/source/run/pyG4RunManager.cc +++ b/environments/g4py/source/run/pyG4RunManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4RunManager.cc,v 1.4 2006/06/29 15:35:12 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4RunManager.cc // diff --git a/environments/g4py/source/run/pyG4RunManagerKernel.cc b/environments/g4py/source/run/pyG4RunManagerKernel.cc index 1dbf2e8f7c..e1ff831e35 100644 --- a/environments/g4py/source/run/pyG4RunManagerKernel.cc +++ b/environments/g4py/source/run/pyG4RunManagerKernel.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4RunManagerKernel.cc,v 1.3 2006/06/29 15:35:15 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4RunManagerKernel.cc // diff --git a/environments/g4py/source/run/pyG4UserRunAction.cc b/environments/g4py/source/run/pyG4UserRunAction.cc index 0f0f1486d7..3c2761d63f 100644 --- a/environments/g4py/source/run/pyG4UserRunAction.cc +++ b/environments/g4py/source/run/pyG4UserRunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4UserRunAction.cc,v 1.6 2006/06/29 15:35:18 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UserRunAction.cc // diff --git a/environments/g4py/source/run/pyG4VModularPhysicsList.cc b/environments/g4py/source/run/pyG4VModularPhysicsList.cc index 7b7a600ee9..a0763e1158 100644 --- a/environments/g4py/source/run/pyG4VModularPhysicsList.cc +++ b/environments/g4py/source/run/pyG4VModularPhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VModularPhysicsList.cc,v 1.3 2006/06/29 15:35:21 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VModularPhysicsList.cc // diff --git a/environments/g4py/source/run/pyG4VPhysicsConstructor.cc b/environments/g4py/source/run/pyG4VPhysicsConstructor.cc index 9a58fb1e1d..309cea8907 100644 --- a/environments/g4py/source/run/pyG4VPhysicsConstructor.cc +++ b/environments/g4py/source/run/pyG4VPhysicsConstructor.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VPhysicsConstructor.cc,v 1.3 2006/06/29 15:35:24 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VPhysicsConstructor.cc // diff --git a/environments/g4py/source/run/pyG4VUserDetectorConstruction.cc b/environments/g4py/source/run/pyG4VUserDetectorConstruction.cc index 40585e9629..be2d8c1180 100644 --- a/environments/g4py/source/run/pyG4VUserDetectorConstruction.cc +++ b/environments/g4py/source/run/pyG4VUserDetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VUserDetectorConstruction.cc,v 1.5 2006/06/29 15:35:27 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VUserDetectorConstruction.cc // diff --git a/environments/g4py/source/run/pyG4VUserPhysicsList.cc b/environments/g4py/source/run/pyG4VUserPhysicsList.cc index 39d92a075a..88434a6183 100644 --- a/environments/g4py/source/run/pyG4VUserPhysicsList.cc +++ b/environments/g4py/source/run/pyG4VUserPhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VUserPhysicsList.cc,v 1.5 2006/06/29 15:35:30 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VUserPhysicsList.cc // diff --git a/environments/g4py/source/run/pyG4VUserPrimaryGeneratorAction.cc b/environments/g4py/source/run/pyG4VUserPrimaryGeneratorAction.cc index 3293348aea..b710dc1aae 100644 --- a/environments/g4py/source/run/pyG4VUserPrimaryGeneratorAction.cc +++ b/environments/g4py/source/run/pyG4VUserPrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VUserPrimaryGeneratorAction.cc,v 1.7 2006/06/29 15:35:33 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VUserPrimaryGeneratorAction.cc // diff --git a/environments/g4py/source/run/pymodG4run.cc b/environments/g4py/source/run/pymodG4run.cc index da2266edb7..5dcbf29aa3 100644 --- a/environments/g4py/source/run/pymodG4run.cc +++ b/environments/g4py/source/run/pymodG4run.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pymodG4run.cc,v 1.4 2006/06/29 15:35:35 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4run.cc [Geant4Py module] // diff --git a/environments/g4py/source/track/GNUmakefile b/environments/g4py/source/track/GNUmakefile index 0360610c9c..b36ca04cc8 100644 --- a/environments/g4py/source/track/GNUmakefile +++ b/environments/g4py/source/track/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/track/pyG4Step.cc b/environments/g4py/source/track/pyG4Step.cc index 3ec94d7318..a085542a85 100644 --- a/environments/g4py/source/track/pyG4Step.cc +++ b/environments/g4py/source/track/pyG4Step.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Step.cc,v 1.4 2006/06/29 15:35:38 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Step.cc // diff --git a/environments/g4py/source/track/pyG4StepPoint.cc b/environments/g4py/source/track/pyG4StepPoint.cc index 69034ca0ac..b907aba01d 100644 --- a/environments/g4py/source/track/pyG4StepPoint.cc +++ b/environments/g4py/source/track/pyG4StepPoint.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4StepPoint.cc,v 1.4 2006/06/29 15:35:40 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4StepPoint.cc // diff --git a/environments/g4py/source/track/pyG4StepStatus.cc b/environments/g4py/source/track/pyG4StepStatus.cc index aa07293375..1a71596ea5 100644 --- a/environments/g4py/source/track/pyG4StepStatus.cc +++ b/environments/g4py/source/track/pyG4StepStatus.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4StepStatus.cc,v 1.4 2006/06/29 15:35:42 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4StepStatus.cc // diff --git a/environments/g4py/source/track/pyG4Track.cc b/environments/g4py/source/track/pyG4Track.cc index 17c46012a1..5082919ccd 100644 --- a/environments/g4py/source/track/pyG4Track.cc +++ b/environments/g4py/source/track/pyG4Track.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Track.cc,v 1.5 2006/06/29 15:35:46 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Track.cc // diff --git a/environments/g4py/source/track/pyG4TrackStatus.cc b/environments/g4py/source/track/pyG4TrackStatus.cc index b0352a8f1f..599dbc1f06 100644 --- a/environments/g4py/source/track/pyG4TrackStatus.cc +++ b/environments/g4py/source/track/pyG4TrackStatus.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4TrackStatus.cc,v 1.4 2006/06/29 15:35:48 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4TrackStatus.cc // diff --git a/environments/g4py/source/track/pymodG4track.cc b/environments/g4py/source/track/pymodG4track.cc index 94288f7ac6..23aa70155a 100644 --- a/environments/g4py/source/track/pymodG4track.cc +++ b/environments/g4py/source/track/pymodG4track.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pymodG4track.cc,v 1.4 2006/06/29 15:35:50 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4track.cc [Geant4Py module] // diff --git a/environments/g4py/source/tracking/GNUmakefile b/environments/g4py/source/tracking/GNUmakefile index 53cc462015..209352e5da 100644 --- a/environments/g4py/source/tracking/GNUmakefile +++ b/environments/g4py/source/tracking/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/tracking/pyG4TrackingManager.cc b/environments/g4py/source/tracking/pyG4TrackingManager.cc index 0843046d42..6573acc396 100644 --- a/environments/g4py/source/tracking/pyG4TrackingManager.cc +++ b/environments/g4py/source/tracking/pyG4TrackingManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4TrackingManager.cc,v 1.4 2006/06/29 15:35:53 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4TrackingManager.cc // diff --git a/environments/g4py/source/tracking/pyG4UserSteppingAction.cc b/environments/g4py/source/tracking/pyG4UserSteppingAction.cc index e9af6feda5..ad26ed6271 100644 --- a/environments/g4py/source/tracking/pyG4UserSteppingAction.cc +++ b/environments/g4py/source/tracking/pyG4UserSteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $ID$ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UserSteppingAction.cc // diff --git a/environments/g4py/source/tracking/pyG4UserTrackingAction.cc b/environments/g4py/source/tracking/pyG4UserTrackingAction.cc index 3cc293b04f..2b9708ae54 100644 --- a/environments/g4py/source/tracking/pyG4UserTrackingAction.cc +++ b/environments/g4py/source/tracking/pyG4UserTrackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $ID$ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4UserTrackingAction.cc // diff --git a/environments/g4py/source/tracking/pymodG4tracking.cc b/environments/g4py/source/tracking/pymodG4tracking.cc index b725de9774..37fc876584 100644 --- a/environments/g4py/source/tracking/pymodG4tracking.cc +++ b/environments/g4py/source/tracking/pymodG4tracking.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pymodG4tracking.cc,v 1.4 2006/06/29 15:36:02 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4tracking.cc [Geant4Py module] // diff --git a/environments/g4py/source/version/G4Version_7.0.hh b/environments/g4py/source/version/G4Version_7.0.hh index 5f759cbb05..5caca02efa 100644 --- a/environments/g4py/source/version/G4Version_7.0.hh +++ b/environments/g4py/source/version/G4Version_7.0.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4Version_7.0.hh,v 1.4 2006/06/29 15:36:05 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // G4Version_7.0.hh // @@ -38,14 +38,14 @@ #endif #ifndef G4VERSION_TAG -#define G4VERSION_TAG "$Name: geant4-08-02 $" +#define G4VERSION_TAG "$Name: geant4-09-00 $" #endif // as variables #include "G4String.hh" -static const G4String G4Version = "$Name: geant4-08-02 $"; +static const G4String G4Version = "$Name: geant4-09-00 $"; static const G4String G4Date = "(17-December-2004)"; #endif diff --git a/environments/g4py/source/version/G4Version_7.0.p01.hh b/environments/g4py/source/version/G4Version_7.0.p01.hh index c115034601..39ffa3a2bd 100644 --- a/environments/g4py/source/version/G4Version_7.0.p01.hh +++ b/environments/g4py/source/version/G4Version_7.0.p01.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4Version_7.0.p01.hh,v 1.4 2006/06/29 15:36:08 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // G4Version_7.0.p01.hh // @@ -38,14 +38,14 @@ #endif #ifndef G4VERSION_TAG -#define G4VERSION_TAG "$Name: geant4-08-02 $" +#define G4VERSION_TAG "$Name: geant4-09-00 $" #endif // as variables #include "G4String.hh" -static const G4String G4Version = "$Name: geant4-08-02 $"; +static const G4String G4Version = "$Name: geant4-09-00 $"; static const G4String G4Date = "(23-February-2005)"; #endif diff --git a/environments/g4py/source/version/G4Version_7.1.hh b/environments/g4py/source/version/G4Version_7.1.hh index d5bf1ace7a..ae338d627d 100644 --- a/environments/g4py/source/version/G4Version_7.1.hh +++ b/environments/g4py/source/version/G4Version_7.1.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4Version_7.1.hh,v 1.4 2006/06/29 15:36:11 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // G4Version_7.1.hh // @@ -38,14 +38,14 @@ #endif #ifndef G4VERSION_TAG -#define G4VERSION_TAG "$Name: geant4-08-02 $" +#define G4VERSION_TAG "$Name: geant4-09-00 $" #endif // as variables #include "G4String.hh" -static const G4String G4Version = "$Name: geant4-08-02 $"; +static const G4String G4Version = "$Name: geant4-09-00 $"; static const G4String G4Date = "(30-June-2005)"; #endif diff --git a/environments/g4py/source/version/G4Version_7.1.p01.hh b/environments/g4py/source/version/G4Version_7.1.p01.hh index 0811c1a4fa..35894c363a 100644 --- a/environments/g4py/source/version/G4Version_7.1.p01.hh +++ b/environments/g4py/source/version/G4Version_7.1.p01.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4Version_7.1.p01.hh,v 1.4 2006/06/29 15:36:14 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // G4Version_7.1.p01hh // @@ -38,14 +38,14 @@ #endif #ifndef G4VERSION_TAG -#define G4VERSION_TAG "$Name: geant4-08-02 $" +#define G4VERSION_TAG "$Name: geant4-09-00 $" #endif // as variables #include "G4String.hh" -static const G4String G4Version = "$Name: geant4-08-02 $"; +static const G4String G4Version = "$Name: geant4-09-00 $"; static const G4String G4Date = "(25-Oct-2005)"; #endif diff --git a/environments/g4py/source/version/GNUmakefile b/environments/g4py/source/version/GNUmakefile index 4a5335c5e5..76b8474584 100644 --- a/environments/g4py/source/version/GNUmakefile +++ b/environments/g4py/source/version/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/version/pyG4Version.hh b/environments/g4py/source/version/pyG4Version.hh index dc8842fef0..f5f2f1dc07 100644 --- a/environments/g4py/source/version/pyG4Version.hh +++ b/environments/g4py/source/version/pyG4Version.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4Version.hh,v 1.4 2006/06/29 15:36:17 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4Version.hh // diff --git a/environments/g4py/source/visualization/GNUmakefile b/environments/g4py/source/visualization/GNUmakefile index 706e3f3e82..24d274d944 100644 --- a/environments/g4py/source/visualization/GNUmakefile +++ b/environments/g4py/source/visualization/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 08:09:45 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/source/visualization/pyG4ASCIITree.cc b/environments/g4py/source/visualization/pyG4ASCIITree.cc index 04923a14c3..fc43d59536 100644 --- a/environments/g4py/source/visualization/pyG4ASCIITree.cc +++ b/environments/g4py/source/visualization/pyG4ASCIITree.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4ASCIITree.cc,v 1.5 2006/06/29 15:36:20 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4ASCIITree.cc // diff --git a/environments/g4py/source/visualization/pyG4DAWNFILE.cc b/environments/g4py/source/visualization/pyG4DAWNFILE.cc index 0eef2e3ed8..2e631c9cef 100644 --- a/environments/g4py/source/visualization/pyG4DAWNFILE.cc +++ b/environments/g4py/source/visualization/pyG4DAWNFILE.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4DAWNFILE.cc,v 1.5 2006/06/29 15:36:23 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4DAWNFILE.cc // diff --git a/environments/g4py/source/visualization/pyG4HepRep.cc b/environments/g4py/source/visualization/pyG4HepRep.cc index f7f17f3a9a..a6fe89600d 100644 --- a/environments/g4py/source/visualization/pyG4HepRep.cc +++ b/environments/g4py/source/visualization/pyG4HepRep.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4HepRep.cc,v 1.5 2006/06/29 15:36:25 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4HepRep.cc // diff --git a/environments/g4py/source/visualization/pyG4HepRepFile.cc b/environments/g4py/source/visualization/pyG4HepRepFile.cc index ee0486c51d..ea5bf6b41c 100644 --- a/environments/g4py/source/visualization/pyG4HepRepFile.cc +++ b/environments/g4py/source/visualization/pyG4HepRepFile.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4HepRepFile.cc,v 1.5 2006/06/29 15:36:27 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4HepRepFile.cc // diff --git a/environments/g4py/source/visualization/pyG4OpenGLImmediateX.cc b/environments/g4py/source/visualization/pyG4OpenGLImmediateX.cc index 3785dfa753..ecc23e395e 100644 --- a/environments/g4py/source/visualization/pyG4OpenGLImmediateX.cc +++ b/environments/g4py/source/visualization/pyG4OpenGLImmediateX.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4OpenGLImmediateX.cc,v 1.5 2006/06/29 15:36:29 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4OpenGLImmediateX.cc // diff --git a/environments/g4py/source/visualization/pyG4OpenGLImmediateXm.cc b/environments/g4py/source/visualization/pyG4OpenGLImmediateXm.cc index 9aa1f964eb..5a85b073ec 100644 --- a/environments/g4py/source/visualization/pyG4OpenGLImmediateXm.cc +++ b/environments/g4py/source/visualization/pyG4OpenGLImmediateXm.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4OpenGLImmediateXm.cc,v 1.5 2006/06/29 15:36:32 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4OpenGLImmediateXm.cc // diff --git a/environments/g4py/source/visualization/pyG4OpenGLStoredX.cc b/environments/g4py/source/visualization/pyG4OpenGLStoredX.cc index 0a7306beb6..3bb44b1f36 100644 --- a/environments/g4py/source/visualization/pyG4OpenGLStoredX.cc +++ b/environments/g4py/source/visualization/pyG4OpenGLStoredX.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4OpenGLStoredX.cc,v 1.5 2006/06/29 15:36:35 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4OpenGLStoredX.cc // diff --git a/environments/g4py/source/visualization/pyG4OpenGLStoredXm.cc b/environments/g4py/source/visualization/pyG4OpenGLStoredXm.cc index 4e69be2047..d213f16768 100644 --- a/environments/g4py/source/visualization/pyG4OpenGLStoredXm.cc +++ b/environments/g4py/source/visualization/pyG4OpenGLStoredXm.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4OpenGLStoredXm.cc,v 1.5 2006/06/29 15:36:38 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4OpenGLStoredXm.cc // diff --git a/environments/g4py/source/visualization/pyG4RayTracer.cc b/environments/g4py/source/visualization/pyG4RayTracer.cc index 82373f1bbf..6582ae5b98 100644 --- a/environments/g4py/source/visualization/pyG4RayTracer.cc +++ b/environments/g4py/source/visualization/pyG4RayTracer.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4RayTracer.cc,v 1.5 2006/06/29 15:36:41 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4RayTracer.cc // diff --git a/environments/g4py/source/visualization/pyG4RayTracerX.cc b/environments/g4py/source/visualization/pyG4RayTracerX.cc index 6b71899e12..eeb72cf2bd 100644 --- a/environments/g4py/source/visualization/pyG4RayTracerX.cc +++ b/environments/g4py/source/visualization/pyG4RayTracerX.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4RayTracerX.cc,v 1.5 2006/06/29 15:36:44 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4RayTracerX.cc // diff --git a/environments/g4py/source/visualization/pyG4VGraphicsSystem.cc b/environments/g4py/source/visualization/pyG4VGraphicsSystem.cc index 01abefc3be..f5858e5a36 100644 --- a/environments/g4py/source/visualization/pyG4VGraphicsSystem.cc +++ b/environments/g4py/source/visualization/pyG4VGraphicsSystem.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VGraphicsSystem.cc,v 1.5 2006/06/29 15:36:47 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VGraphicsSystem.cc // diff --git a/environments/g4py/source/visualization/pyG4VRML1File.cc b/environments/g4py/source/visualization/pyG4VRML1File.cc index caf801592a..147caae73f 100644 --- a/environments/g4py/source/visualization/pyG4VRML1File.cc +++ b/environments/g4py/source/visualization/pyG4VRML1File.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VRML1File.cc,v 1.5 2006/06/29 15:36:50 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VRML1File.cc // diff --git a/environments/g4py/source/visualization/pyG4VRML2File.cc b/environments/g4py/source/visualization/pyG4VRML2File.cc index 95cf8600d2..14fceca7ab 100644 --- a/environments/g4py/source/visualization/pyG4VRML2File.cc +++ b/environments/g4py/source/visualization/pyG4VRML2File.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VRML2File.cc,v 1.5 2006/06/29 15:36:53 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VRML2File.cc // diff --git a/environments/g4py/source/visualization/pyG4VisManager.cc b/environments/g4py/source/visualization/pyG4VisManager.cc index baeb4df60c..91b4a8b242 100644 --- a/environments/g4py/source/visualization/pyG4VisManager.cc +++ b/environments/g4py/source/visualization/pyG4VisManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pyG4VisManager.cc,v 1.6 2006/12/01 02:17:54 kmura Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pyG4VisManager.cc // diff --git a/environments/g4py/source/visualization/pymodG4visualization.cc b/environments/g4py/source/visualization/pymodG4visualization.cc index 98913df0fd..8f770862db 100644 --- a/environments/g4py/source/visualization/pymodG4visualization.cc +++ b/environments/g4py/source/visualization/pymodG4visualization.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pymodG4visualization.cc,v 1.4 2006/06/29 15:36:59 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // pymodG4visualization.cc [Geant4Py module] // diff --git a/environments/g4py/tests/GNUmakefile b/environments/g4py/tests/GNUmakefile index 593b840be7..913054d793 100644 --- a/environments/g4py/tests/GNUmakefile +++ b/environments/g4py/tests/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.2 2006/04/25 07:54:28 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/tests/gtest01/g4lib/GNUmakefile b/environments/g4py/tests/gtest01/g4lib/GNUmakefile index f0c56e7895..8545a19f55 100644 --- a/environments/g4py/tests/gtest01/g4lib/GNUmakefile +++ b/environments/g4py/tests/gtest01/g4lib/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.1 2006/05/11 03:00:08 kmura Exp $ -# $Name: geant4-08-02 $ +# $Name: geant4-09-00 $ # =========================================================== # Makefile for building Geant4Py modules # =========================================================== diff --git a/environments/g4py/tests/gtest01/g4lib/Particles.cc b/environments/g4py/tests/gtest01/g4lib/Particles.cc index 9dd8d5ef05..2a21da63cf 100644 --- a/environments/g4py/tests/gtest01/g4lib/Particles.cc +++ b/environments/g4py/tests/gtest01/g4lib/Particles.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: Particles.cc,v 1.3 2006/06/29 15:37:02 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // Particles.cc // diff --git a/environments/g4py/tests/gtest01/g4lib/PhysicsListEMstd.cc b/environments/g4py/tests/gtest01/g4lib/PhysicsListEMstd.cc index 2b953751cd..26e87f6536 100644 --- a/environments/g4py/tests/gtest01/g4lib/PhysicsListEMstd.cc +++ b/environments/g4py/tests/gtest01/g4lib/PhysicsListEMstd.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListEMstd.cc,v 1.3 2006/06/29 15:37:08 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // PhysicsListEMstd.cc // diff --git a/environments/g4py/tests/gtest01/g4lib/QDetectorConstruction.cc b/environments/g4py/tests/gtest01/g4lib/QDetectorConstruction.cc index d08107b9db..b317f92d66 100644 --- a/environments/g4py/tests/gtest01/g4lib/QDetectorConstruction.cc +++ b/environments/g4py/tests/gtest01/g4lib/QDetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QDetectorConstruction.cc,v 1.3 2006/06/29 15:37:14 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // QDetectorConstruction.cc // diff --git a/environments/g4py/tests/gtest01/g4lib/QDetectorConstruction.hh b/environments/g4py/tests/gtest01/g4lib/QDetectorConstruction.hh index f77222e166..8a81b30254 100644 --- a/environments/g4py/tests/gtest01/g4lib/QDetectorConstruction.hh +++ b/environments/g4py/tests/gtest01/g4lib/QDetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QDetectorConstruction.hh,v 1.3 2006/06/29 15:37:17 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // QDetectorConstruction.hh // diff --git a/environments/g4py/tests/gtest01/g4lib/QEventAction.cc b/environments/g4py/tests/gtest01/g4lib/QEventAction.cc index 033de53fd1..b68c1b06ed 100644 --- a/environments/g4py/tests/gtest01/g4lib/QEventAction.cc +++ b/environments/g4py/tests/gtest01/g4lib/QEventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QEventAction.cc,v 1.3 2006/06/29 15:37:19 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // QEventAction.cc // diff --git a/environments/g4py/tests/gtest01/g4lib/QEventAction.hh b/environments/g4py/tests/gtest01/g4lib/QEventAction.hh index 24faa6c373..826d6e52df 100644 --- a/environments/g4py/tests/gtest01/g4lib/QEventAction.hh +++ b/environments/g4py/tests/gtest01/g4lib/QEventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QEventAction.hh,v 1.3 2006/06/29 15:37:22 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // QEventAction.hh // diff --git a/environments/g4py/tests/gtest01/g4lib/QMaterials.cc b/environments/g4py/tests/gtest01/g4lib/QMaterials.cc index 064367ef06..13638c96cd 100644 --- a/environments/g4py/tests/gtest01/g4lib/QMaterials.cc +++ b/environments/g4py/tests/gtest01/g4lib/QMaterials.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QMaterials.cc,v 1.3 2006/06/29 15:37:25 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // QMaterials.cc // diff --git a/environments/g4py/tests/gtest01/g4lib/QMaterials.hh b/environments/g4py/tests/gtest01/g4lib/QMaterials.hh index 87f8ae6a37..c0ab2b681d 100644 --- a/environments/g4py/tests/gtest01/g4lib/QMaterials.hh +++ b/environments/g4py/tests/gtest01/g4lib/QMaterials.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QMaterials.hh,v 1.3 2006/06/29 15:37:28 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // QMaterials.hh // diff --git a/environments/g4py/tests/gtest01/g4lib/QPhysicsList.cc b/environments/g4py/tests/gtest01/g4lib/QPhysicsList.cc index d19aa4dfa4..7a4503e814 100644 --- a/environments/g4py/tests/gtest01/g4lib/QPhysicsList.cc +++ b/environments/g4py/tests/gtest01/g4lib/QPhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QPhysicsList.cc,v 1.3 2006/06/29 15:37:31 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // QPhysicsList.cc // diff --git a/environments/g4py/tests/gtest01/g4lib/QPhysicsList.hh b/environments/g4py/tests/gtest01/g4lib/QPhysicsList.hh index 34ac396bcf..29c64f68b8 100644 --- a/environments/g4py/tests/gtest01/g4lib/QPhysicsList.hh +++ b/environments/g4py/tests/gtest01/g4lib/QPhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QPhysicsList.hh,v 1.3 2006/06/29 15:37:34 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // QPhysicsList.hh // diff --git a/environments/g4py/tests/gtest01/g4lib/QPrimaryGeneratorAction.cc b/environments/g4py/tests/gtest01/g4lib/QPrimaryGeneratorAction.cc index 160bb41103..9252f8a06d 100644 --- a/environments/g4py/tests/gtest01/g4lib/QPrimaryGeneratorAction.cc +++ b/environments/g4py/tests/gtest01/g4lib/QPrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QPrimaryGeneratorAction.cc,v 1.3 2006/06/29 15:37:37 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // QPrimaryGeneratorAction.cc // diff --git a/environments/g4py/tests/gtest01/g4lib/QPrimaryGeneratorAction.hh b/environments/g4py/tests/gtest01/g4lib/QPrimaryGeneratorAction.hh index 4e93452802..34f9e63af6 100644 --- a/environments/g4py/tests/gtest01/g4lib/QPrimaryGeneratorAction.hh +++ b/environments/g4py/tests/gtest01/g4lib/QPrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QPrimaryGeneratorAction.hh,v 1.3 2006/06/29 15:37:40 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // QPrimaryGeneratorAction.hh // diff --git a/environments/g4py/tests/gtest01/g4lib/gtest01.cc b/environments/g4py/tests/gtest01/g4lib/gtest01.cc index 22456b87d5..e57aef26e2 100644 --- a/environments/g4py/tests/gtest01/g4lib/gtest01.cc +++ b/environments/g4py/tests/gtest01/g4lib/gtest01.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: gtest01.cc,v 1.3 2006/06/29 15:37:43 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // gtest01.cc // diff --git a/environments/g4py/tests/test06/test06.cc b/environments/g4py/tests/test06/test06.cc index d897060ec5..04d0800ad7 100644 --- a/environments/g4py/tests/test06/test06.cc +++ b/environments/g4py/tests/test06/test06.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: test06.cc,v 1.4 2006/06/29 15:38:55 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // test06.cc // diff --git a/environments/g4py/tests/test07/test07.cc b/environments/g4py/tests/test07/test07.cc index bd932cf783..4fb8218662 100644 --- a/environments/g4py/tests/test07/test07.cc +++ b/environments/g4py/tests/test07/test07.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: test07.cc,v 1.4 2006/06/29 15:39:08 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // test07.cc // diff --git a/environments/g4py/tests/test08/test08.cc b/environments/g4py/tests/test08/test08.cc index e1f07aff4a..5a1fc45e36 100644 --- a/environments/g4py/tests/test08/test08.cc +++ b/environments/g4py/tests/test08/test08.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: test08.cc,v 1.4 2006/06/29 15:39:11 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // test08.cc // diff --git a/environments/g4py/tests/test09/test09.cc b/environments/g4py/tests/test09/test09.cc index cf295b37ed..e034171344 100644 --- a/environments/g4py/tests/test09/test09.cc +++ b/environments/g4py/tests/test09/test09.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: test09.cc,v 1.4 2006/06/29 15:39:14 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // test09.cc // diff --git a/environments/g4py/tests/test10/test10.cc b/environments/g4py/tests/test10/test10.cc index 74a87724dc..81ffb0b068 100644 --- a/environments/g4py/tests/test10/test10.cc +++ b/environments/g4py/tests/test10/test10.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: test10.cc,v 1.4 2006/06/29 15:39:17 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // test10.cc // diff --git a/environments/g4py/tests/test11/test11.cc b/environments/g4py/tests/test11/test11.cc index 044f30ff19..75322ee684 100644 --- a/environments/g4py/tests/test11/test11.cc +++ b/environments/g4py/tests/test11/test11.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: test11.cc,v 1.4 2006/06/29 15:39:20 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // test11.cc // diff --git a/environments/g4py/tests/test12/test12.cc b/environments/g4py/tests/test12/test12.cc index 01171c636c..903179d188 100644 --- a/environments/g4py/tests/test12/test12.cc +++ b/environments/g4py/tests/test12/test12.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: test12.cc,v 1.4 2006/06/29 15:39:23 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // test12.cc // diff --git a/environments/g4py/tests/test13/test13.cc b/environments/g4py/tests/test13/test13.cc index c26fe64b73..268d09bdd1 100644 --- a/environments/g4py/tests/test13/test13.cc +++ b/environments/g4py/tests/test13/test13.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: test13.cc,v 1.4 2006/06/29 15:39:25 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // ==================================================================== // test13.cc // diff --git a/examples/History b/examples/History index fc1ed9de06..d45cb02dd3 100644 --- a/examples/History +++ b/examples/History @@ -1,4 +1,4 @@ -$Id: History,v 1.123 2007/05/08 13:07:58 gcosmo Exp $ +$Id: History,v 1.124 2007/06/26 12:53:40 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,22 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +26th June 2007 Gabriele Cosmo (examples-V09-00-00) +- Updated reference outputs according to reference tag geant4-09-00-ref-00. +- Includes tags: brachy-V08-03-00, cosmicray_charging-V08-03-00, + hadrontherapy-V08-03-04, human_phantom-V08-03-00, + radioprotection-V08-03-00, DMX-V08-03-01, + exampleN03Con-V08-03-01, exbiasing-V08-03-02, + testem0-V08-03-00, testem1-V08-03-02, testem2-V08-03-00, + testem3-V08-03-01, testem4-V08-03-00, testem5-V08-03-01, + testem7-V08-03-02, testem9-V08-03-03, + errorpropagation-V08-03-01, fieldex-V08-03-00, + exhadr01-V08-03-03, fano-V08-03-01, gtherapy-V08-03-02, + exgflash-V08-03-00, exampleRE02-V08-03-00, + exampleN02-V08-03-00, exampleN03-V08-03-01, + exampleN04-V08-03-00, exampleN05-V08-03-00, + exampleN07-V08-02-00. + 8th May 2007 Gabriele Cosmo (examples-V08-03-00) - Updated reference outputs according to reference tag geant4-08-03-ref-00. - Includes tags: testem12-V08-02-01, fieldex03-V08-02-00, exhadr01-V08-02-01. diff --git a/examples/README b/examples/README index d221421896..d628999275 100644 --- a/examples/README +++ b/examples/README @@ -1,4 +1,4 @@ -$Id: README,v 1.10 2006/12/01 14:38:21 gcosmo Exp $ +$Id: README,v 1.11 2007/06/12 09:34:33 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -58,6 +58,8 @@ Extended level examples - Examples of event biasing and scoring electromagnetic - Specific EM physics simulation with histogramming + errorpropagation + - Use of the error propagation utility (Geant4e). eventgenerator - Applications using interface to HepMC field diff --git a/examples/advanced/Rich/History b/examples/advanced/Rich/History index b4ecf676ef..633e976049 100644 --- a/examples/advanced/Rich/History +++ b/examples/advanced/Rich/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.9 2005/12/08 16:42:38 ribon Exp $ +$Id: History,v 1.10 2007/05/14 07:50:42 ribon Exp $ ------------------------------------------------------------------- ========================================================= @@ -9,6 +9,10 @@ $Id: History,v 1.9 2005/12/08 16:42:38 ribon Exp $ Category History file --------------------- +14.05.2007 - A.Ribon (Rich-V08-03-00) + The constant "kCarTolerance" is no longer available, + so it must be explicitly declared. + 08.12.2005 - A.Ribon (Rich-V07-01-00) Migration to CLHEP namespace. diff --git a/examples/advanced/Rich/src/PadHpdPhotoElectricEffect.cc b/examples/advanced/Rich/src/PadHpdPhotoElectricEffect.cc index 5c43778331..c73a249814 100644 --- a/examples/advanced/Rich/src/PadHpdPhotoElectricEffect.cc +++ b/examples/advanced/Rich/src/PadHpdPhotoElectricEffect.cc @@ -36,6 +36,7 @@ #include "RichTbGeometryParameters.hh" #include "G4TransportationManager.hh" #include "G4TouchableHandle.hh" +#include "G4GeometryTolerance.hh" #include "Randomize.hh" #include "RichTbAnalysisManager.hh" #include "RichTbRunConfig.hh" @@ -43,7 +44,6 @@ #include "RichTbAnalysisManager.hh" - PadHpdPhotoElectricEffect::PadHpdPhotoElectricEffect(const G4String& processName , RichTbRunConfig* RConfig) :G4VDiscreteProcess(processName), @@ -148,14 +148,12 @@ G4VParticleChange* PadHpdPhotoElectricEffect::PostStepDoIt(const G4Track& aTrack return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); } - + + G4double kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); if (aTrack.GetStepLength()<=kCarTolerance/2){ - return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); } - - const G4DynamicParticle* aDynamicPhoton = aTrack.GetDynamicParticle(); G4double PhotonEnergy = aDynamicPhoton->GetKineticEnergy(); diff --git a/examples/advanced/Tiara/GNUmakefile b/examples/advanced/Tiara/GNUmakefile index ee252ec414..31c0a0aba4 100644 --- a/examples/advanced/Tiara/GNUmakefile +++ b/examples/advanced/Tiara/GNUmakefile @@ -1,6 +1,6 @@ # $Id: GNUmakefile,v 1.7 2004/12/08 15:37:13 daquinog Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # -------------------------------------------------------------- diff --git a/examples/advanced/Tiara/History b/examples/advanced/Tiara/History index fe50bb897f..0cf1d1d719 100644 --- a/examples/advanced/Tiara/History +++ b/examples/advanced/Tiara/History @@ -1,6 +1,6 @@ # $Id: History,v 1.31 2006/11/20 12:44:40 ahoward Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- ========================================================= diff --git a/examples/advanced/Tiara/README b/examples/advanced/Tiara/README index 89c83afc00..8ab94595a1 100644 --- a/examples/advanced/Tiara/README +++ b/examples/advanced/Tiara/README @@ -1,6 +1,6 @@ # $Id: README,v 1.21 2005/03/17 19:48:27 daquinog Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- Simulation of the TIARA experiment using importance sampling diff --git a/examples/advanced/Tiara/envCommon.csh b/examples/advanced/Tiara/envCommon.csh index 16c98c3c31..c7c7d9d05b 100644 --- a/examples/advanced/Tiara/envCommon.csh +++ b/examples/advanced/Tiara/envCommon.csh @@ -1,6 +1,6 @@ # $Id: envCommon.csh,v 1.13 2005/03/17 19:48:27 daquinog Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # Before sourcing this script make sure you have set the # environment variables according to the description in README. diff --git a/examples/advanced/Tiara/run/runSim.py b/examples/advanced/Tiara/run/runSim.py index 3d4b6a3b17..dca09f619f 100755 --- a/examples/advanced/Tiara/run/runSim.py +++ b/examples/advanced/Tiara/run/runSim.py @@ -2,7 +2,7 @@ # # $Id: runSim.py,v 1.12 2005/12/15 16:23:11 ahoward Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # importing python libraries diff --git a/examples/advanced/Tiara/run/runSimNoAnalysis.py b/examples/advanced/Tiara/run/runSimNoAnalysis.py index 7c0bd2c382..91ae5e7af6 100755 --- a/examples/advanced/Tiara/run/runSimNoAnalysis.py +++ b/examples/advanced/Tiara/run/runSimNoAnalysis.py @@ -2,7 +2,7 @@ # # $Id: runSimNoAnalysis.py,v 1.7 2005/12/15 16:23:06 ahoward Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- diff --git a/examples/advanced/Tiara/run/runVisMode.py b/examples/advanced/Tiara/run/runVisMode.py index 01a9eb1962..4a0a5c113c 100644 --- a/examples/advanced/Tiara/run/runVisMode.py +++ b/examples/advanced/Tiara/run/runVisMode.py @@ -2,7 +2,7 @@ # # $Id: runVisMode.py,v 1.8 2006/06/26 10:12:05 ahoward Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- diff --git a/examples/advanced/Tiara/run/runVisNoAnalysis.py b/examples/advanced/Tiara/run/runVisNoAnalysis.py index 63b3d0e79a..aec7feb0d8 100755 --- a/examples/advanced/Tiara/run/runVisNoAnalysis.py +++ b/examples/advanced/Tiara/run/runVisNoAnalysis.py @@ -2,7 +2,7 @@ # # $Id: runVisNoAnalysis.py,v 1.5 2006/06/26 10:12:05 ahoward Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- diff --git a/examples/advanced/Tiara/run/vis.mac b/examples/advanced/Tiara/run/vis.mac index 30918682b7..a29798e60f 100644 --- a/examples/advanced/Tiara/run/vis.mac +++ b/examples/advanced/Tiara/run/vis.mac @@ -1,6 +1,6 @@ # $Id: vis.mac,v 1.2 2003/06/16 17:06:44 dressel Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- diff --git a/examples/advanced/Tiara/source/CLHEPWrapper/include/CLHEP.i b/examples/advanced/Tiara/source/CLHEPWrapper/include/CLHEP.i index 4a94de456b..22fdcb0a1d 100644 --- a/examples/advanced/Tiara/source/CLHEPWrapper/include/CLHEP.i +++ b/examples/advanced/Tiara/source/CLHEPWrapper/include/CLHEP.i @@ -1,6 +1,6 @@ # $Id: CLHEP.i,v 1.5 2005/12/15 14:23:31 ahoward Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- diff --git a/examples/advanced/Tiara/source/G4KernelWrapper/G4String.i b/examples/advanced/Tiara/source/G4KernelWrapper/G4String.i index 5945b53e2a..ed72514ba9 100644 --- a/examples/advanced/Tiara/source/G4KernelWrapper/G4String.i +++ b/examples/advanced/Tiara/source/G4KernelWrapper/G4String.i @@ -1,6 +1,6 @@ # $Id: G4String.i,v 1.1 2003/06/17 15:25:01 mdressel Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- // coppied from std_string.i diff --git a/examples/advanced/Tiara/source/G4KernelWrapper/include/G4Kernel.i b/examples/advanced/Tiara/source/G4KernelWrapper/include/G4Kernel.i index 614b896099..f2d560b0cf 100644 --- a/examples/advanced/Tiara/source/G4KernelWrapper/include/G4Kernel.i +++ b/examples/advanced/Tiara/source/G4KernelWrapper/include/G4Kernel.i @@ -1,6 +1,6 @@ # $Id: G4Kernel.i,v 1.7 2005/12/15 14:24:56 ahoward Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- %module G4Kernel diff --git a/examples/advanced/Tiara/source/TiaraWrapper/include/Tiara.i b/examples/advanced/Tiara/source/TiaraWrapper/include/Tiara.i index b9ef49a1be..189cfd6911 100644 --- a/examples/advanced/Tiara/source/TiaraWrapper/include/Tiara.i +++ b/examples/advanced/Tiara/source/TiaraWrapper/include/Tiara.i @@ -1,6 +1,6 @@ # $Id: Tiara.i,v 1.9 2005/12/14 13:18:40 ahoward Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- %module Tiara diff --git a/examples/advanced/Tiara/source/py_modules/dataAcess.py b/examples/advanced/Tiara/source/py_modules/dataAcess.py index 5a7d2e5e07..7f274a8fb2 100644 --- a/examples/advanced/Tiara/source/py_modules/dataAcess.py +++ b/examples/advanced/Tiara/source/py_modules/dataAcess.py @@ -1,6 +1,6 @@ # $Id: dataAcess.py,v 1.3 2003/06/26 11:54:13 dressel Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import os diff --git a/examples/advanced/Tiara/source/py_modules/detector.py b/examples/advanced/Tiara/source/py_modules/detector.py index e19e3aac08..2972d2eef3 100644 --- a/examples/advanced/Tiara/source/py_modules/detector.py +++ b/examples/advanced/Tiara/source/py_modules/detector.py @@ -1,6 +1,6 @@ # $Id: detector.py,v 1.3 2003/06/26 11:54:13 dressel Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # diff --git a/examples/advanced/Tiara/source/py_modules/dpsManip.py b/examples/advanced/Tiara/source/py_modules/dpsManip.py index eb3bcefd8a..9d45354c85 100644 --- a/examples/advanced/Tiara/source/py_modules/dpsManip.py +++ b/examples/advanced/Tiara/source/py_modules/dpsManip.py @@ -1,6 +1,6 @@ # $Id: dpsManip.py,v 1.2 2003/06/16 17:06:44 dressel Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import math diff --git a/examples/advanced/Tiara/source/py_modules/extractShelve.py b/examples/advanced/Tiara/source/py_modules/extractShelve.py index 37284e1b6e..27531edc02 100644 --- a/examples/advanced/Tiara/source/py_modules/extractShelve.py +++ b/examples/advanced/Tiara/source/py_modules/extractShelve.py @@ -1,6 +1,6 @@ # $Id: extractShelve.py,v 1.3 2003/07/04 13:26:31 dressel Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import string diff --git a/examples/advanced/Tiara/source/py_modules/myPI.py b/examples/advanced/Tiara/source/py_modules/myPI.py index 8b4280cb4c..b7279c6947 100644 --- a/examples/advanced/Tiara/source/py_modules/myPI.py +++ b/examples/advanced/Tiara/source/py_modules/myPI.py @@ -1,6 +1,6 @@ # $Id: myPI.py,v 1.1 2004/06/09 15:04:36 daquinog Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import sys diff --git a/examples/advanced/Tiara/source/py_modules/myUtils.py b/examples/advanced/Tiara/source/py_modules/myUtils.py index 163bedd674..c03ddba61e 100644 --- a/examples/advanced/Tiara/source/py_modules/myUtils.py +++ b/examples/advanced/Tiara/source/py_modules/myUtils.py @@ -1,6 +1,6 @@ # $Id: myUtils.py,v 1.6 2004/12/08 15:37:14 daquinog Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import CLHEP diff --git a/examples/advanced/Tiara/source/py_modules/parallelHall.py b/examples/advanced/Tiara/source/py_modules/parallelHall.py index ea6fb69864..6a0bda15db 100644 --- a/examples/advanced/Tiara/source/py_modules/parallelHall.py +++ b/examples/advanced/Tiara/source/py_modules/parallelHall.py @@ -1,6 +1,6 @@ # $Id: parallelHall.py,v 1.4 2003/06/20 12:41:06 dressel Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import G4Kernel diff --git a/examples/advanced/Tiara/source/py_modules/posLog.py b/examples/advanced/Tiara/source/py_modules/posLog.py index 1e44ea6052..54e32b5147 100644 --- a/examples/advanced/Tiara/source/py_modules/posLog.py +++ b/examples/advanced/Tiara/source/py_modules/posLog.py @@ -1,6 +1,6 @@ # $Id: posLog.py,v 1.2 2003/06/16 17:06:44 dressel Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # diff --git a/examples/advanced/Tiara/source/py_modules/runSequence.py b/examples/advanced/Tiara/source/py_modules/runSequence.py index 8a4537be7f..19fffed96e 100644 --- a/examples/advanced/Tiara/source/py_modules/runSequence.py +++ b/examples/advanced/Tiara/source/py_modules/runSequence.py @@ -1,6 +1,6 @@ # $Id: runSequence.py,v 1.4 2004/06/09 15:04:36 daquinog Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import Tiara diff --git a/examples/advanced/Tiara/source/py_modules/slabGeometry.py b/examples/advanced/Tiara/source/py_modules/slabGeometry.py index 5f755aec7c..8a5760772f 100644 --- a/examples/advanced/Tiara/source/py_modules/slabGeometry.py +++ b/examples/advanced/Tiara/source/py_modules/slabGeometry.py @@ -1,6 +1,6 @@ # $Id: slabGeometry.py,v 1.3 2003/06/20 12:41:07 dressel Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import math diff --git a/examples/advanced/Tiara/source/py_modules/tallyData.py b/examples/advanced/Tiara/source/py_modules/tallyData.py index cc5b0de9fa..4cdf4b43da 100644 --- a/examples/advanced/Tiara/source/py_modules/tallyData.py +++ b/examples/advanced/Tiara/source/py_modules/tallyData.py @@ -1,6 +1,6 @@ # $Id: tallyData.py,v 1.2 2003/06/16 17:06:44 dressel Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # diff --git a/examples/advanced/Tiara/source/py_modules/tiaraApplication.py b/examples/advanced/Tiara/source/py_modules/tiaraApplication.py index 9abded0d96..8725538ee5 100644 --- a/examples/advanced/Tiara/source/py_modules/tiaraApplication.py +++ b/examples/advanced/Tiara/source/py_modules/tiaraApplication.py @@ -1,6 +1,6 @@ # $Id: tiaraApplication.py,v 1.7 2006/06/26 10:13:14 ahoward Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import string diff --git a/examples/advanced/Tiara/source/py_modules/tiaraDetectors.py b/examples/advanced/Tiara/source/py_modules/tiaraDetectors.py index 8e3e61791e..5b87c80527 100644 --- a/examples/advanced/Tiara/source/py_modules/tiaraDetectors.py +++ b/examples/advanced/Tiara/source/py_modules/tiaraDetectors.py @@ -1,6 +1,6 @@ # $Id: tiaraDetectors.py,v 1.4 2004/06/09 15:04:36 daquinog Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import CLHEP diff --git a/examples/advanced/Tiara/source/py_modules/tiaraGenerators.py b/examples/advanced/Tiara/source/py_modules/tiaraGenerators.py index aeb8da73ad..4442f634cc 100644 --- a/examples/advanced/Tiara/source/py_modules/tiaraGenerators.py +++ b/examples/advanced/Tiara/source/py_modules/tiaraGenerators.py @@ -1,6 +1,6 @@ # $Id: tiaraGenerators.py,v 1.3 2004/06/09 15:04:36 daquinog Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import string diff --git a/examples/advanced/Tiara/source/py_modules/tiaraSpecifications.py b/examples/advanced/Tiara/source/py_modules/tiaraSpecifications.py index 40ee71ed49..a36b89d688 100644 --- a/examples/advanced/Tiara/source/py_modules/tiaraSpecifications.py +++ b/examples/advanced/Tiara/source/py_modules/tiaraSpecifications.py @@ -1,6 +1,6 @@ # $Id: tiaraSpecifications.py,v 1.3 2003/06/20 12:41:07 dressel Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import CLHEP diff --git a/examples/advanced/Tiara/source/py_modules/variableGeometry.py b/examples/advanced/Tiara/source/py_modules/variableGeometry.py index e756212c9b..c95640bda6 100644 --- a/examples/advanced/Tiara/source/py_modules/variableGeometry.py +++ b/examples/advanced/Tiara/source/py_modules/variableGeometry.py @@ -1,6 +1,6 @@ # $Id: variableGeometry.py,v 1.2 2003/06/16 17:06:45 dressel Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- # import G4Kernel diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraCellScorer.hh b/examples/advanced/Tiara/source/tiara/include/TiaraCellScorer.hh index 5fa8d76aa2..3684021449 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraCellScorer.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraCellScorer.hh @@ -25,7 +25,7 @@ // // // $Id: TiaraCellScorer.hh,v 1.4 2006/06/29 15:43:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class TiaraCellScorer diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraCellScorerStore.hh b/examples/advanced/Tiara/source/tiara/include/TiaraCellScorerStore.hh index c958f4414b..4ef1a76de0 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraCellScorerStore.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraCellScorerStore.hh @@ -25,7 +25,7 @@ // // // $Id: TiaraCellScorerStore.hh,v 1.3 2006/06/29 15:43:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class TiaraCellScorerStore diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraConcreteShieldA.hh b/examples/advanced/Tiara/source/tiara/include/TiaraConcreteShieldA.hh index e2c02b8a4d..bb67cd4fbb 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraConcreteShieldA.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraConcreteShieldA.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraConcreteShieldA.hh,v 1.4 2006/06/29 15:43:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraConcreteShieldB.hh b/examples/advanced/Tiara/source/tiara/include/TiaraConcreteShieldB.hh index 63ad039df6..4a25a6f604 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraConcreteShieldB.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraConcreteShieldB.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraConcreteShieldB.hh,v 1.4 2006/06/29 15:43:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraDPSSampledEnergy.hh b/examples/advanced/Tiara/source/tiara/include/TiaraDPSSampledEnergy.hh index 9a73bceb18..e432d2731a 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraDPSSampledEnergy.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraDPSSampledEnergy.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraDPSSampledEnergy.hh,v 1.7 2006/06/29 15:43:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraDimensions.hh b/examples/advanced/Tiara/source/tiara/include/TiaraDimensions.hh index 65983920aa..fc17010d54 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraDimensions.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraDimensions.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraDimensions.hh,v 1.4 2006/06/29 15:43:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraEnergyCutProcess.hh b/examples/advanced/Tiara/source/tiara/include/TiaraEnergyCutProcess.hh index 5f3234e576..4988441c8a 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraEnergyCutProcess.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraEnergyCutProcess.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraEnergyCutProcess.hh,v 1.4 2006/06/29 15:43:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraFileAcess.hh b/examples/advanced/Tiara/source/tiara/include/TiaraFileAcess.hh index bc4cca08aa..d4a643cde9 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraFileAcess.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraFileAcess.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraFileAcess.hh,v 1.4 2006/06/29 15:43:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraFixedEnergyGenerator.hh b/examples/advanced/Tiara/source/tiara/include/TiaraFixedEnergyGenerator.hh index f12581f360..5bc4799c10 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraFixedEnergyGenerator.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraFixedEnergyGenerator.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraFixedEnergyGenerator.hh,v 1.4 2006/06/29 15:43:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraGeometry.hh b/examples/advanced/Tiara/source/tiara/include/TiaraGeometry.hh index fe09833b30..15ba349390 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraGeometry.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraGeometry.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraGeometry.hh,v 1.5 2006/06/29 15:43:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraIronShieldA.hh b/examples/advanced/Tiara/source/tiara/include/TiaraIronShieldA.hh index 397632a611..bc9f0e6bcb 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraIronShieldA.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraIronShieldA.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraIronShieldA.hh,v 1.4 2006/06/29 15:43:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraIronShieldB.hh b/examples/advanced/Tiara/source/tiara/include/TiaraIronShieldB.hh index 2bdbb730c1..8c9357a114 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraIronShieldB.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraIronShieldB.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraIronShieldB.hh,v 1.4 2006/06/29 15:43:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraIsotropicDirections.hh b/examples/advanced/Tiara/source/tiara/include/TiaraIsotropicDirections.hh index dc717e0630..1b483856b7 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraIsotropicDirections.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraIsotropicDirections.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraIsotropicDirections.hh,v 1.4 2006/06/29 15:43:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraMaterials.hh b/examples/advanced/Tiara/source/tiara/include/TiaraMaterials.hh index a2628a2405..881b5a7a34 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraMaterials.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraMaterials.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraMaterials.hh,v 1.5 2006/06/29 15:43:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraMeasure.hh b/examples/advanced/Tiara/source/tiara/include/TiaraMeasure.hh index a90d92c119..85396bd5c4 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraMeasure.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraMeasure.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraMeasure.hh,v 1.4 2006/06/29 15:43:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraPart.hh b/examples/advanced/Tiara/source/tiara/include/TiaraPart.hh index a7f2c9092c..ba29c5d66d 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraPart.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraPart.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraPart.hh,v 1.4 2006/06/29 15:44:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraPhysicsList.hh b/examples/advanced/Tiara/source/tiara/include/TiaraPhysicsList.hh index 1580afb9e2..ae6026936d 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraPhysicsList.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraPhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: TiaraPhysicsList.hh,v 1.1.1.2 2006/06/29 15:44:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class TiaraPhysicsList diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraPrimaryGeneratorAction.hh b/examples/advanced/Tiara/source/tiara/include/TiaraPrimaryGeneratorAction.hh index ce42e53ceb..af0e254a93 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraPrimaryGeneratorAction.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraPrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: TiaraPrimaryGeneratorAction.hh,v 1.1.1.2 2006/06/29 15:44:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef TiaraPrimaryGeneratorAction_hh diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraRandom.hh b/examples/advanced/Tiara/source/tiara/include/TiaraRandom.hh index 0b6447a9cb..f038e03cf5 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraRandom.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraRandom.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraRandom.hh,v 1.4 2006/06/29 15:44:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraSampledEnergy.hh b/examples/advanced/Tiara/source/tiara/include/TiaraSampledEnergy.hh index 0e146f726f..e7f722d4c0 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraSampledEnergy.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraSampledEnergy.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraSampledEnergy.hh,v 1.5 2006/06/29 15:44:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraSim.hh b/examples/advanced/Tiara/source/tiara/include/TiaraSim.hh index f542b7f30e..70de5390fb 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraSim.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraSim.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraSim.hh,v 1.5 2006/06/29 15:44:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraTally.hh b/examples/advanced/Tiara/source/tiara/include/TiaraTally.hh index 99a4afd698..8831e81738 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraTally.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraTally.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraTally.hh,v 1.5 2006/06/29 15:44:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraTimedEventAction.hh b/examples/advanced/Tiara/source/tiara/include/TiaraTimedEventAction.hh index cb4b9cf946..505193bbea 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraTimedEventAction.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraTimedEventAction.hh @@ -25,7 +25,7 @@ // // // $Id: TiaraTimedEventAction.hh,v 1.1.1.2 2006/06/29 15:44:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class TiaraTimedEventAction diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraVComponent.hh b/examples/advanced/Tiara/source/tiara/include/TiaraVComponent.hh index 49b7c9de6b..21f6b33ae0 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraVComponent.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraVComponent.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraVComponent.hh,v 1.5 2006/06/29 15:44:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraVDirectionGenerator.hh b/examples/advanced/Tiara/source/tiara/include/TiaraVDirectionGenerator.hh index b54cc5958c..f6493770a3 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraVDirectionGenerator.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraVDirectionGenerator.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraVDirectionGenerator.hh,v 1.4 2006/06/29 15:44:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraVSourceEnergyGenerator.hh b/examples/advanced/Tiara/source/tiara/include/TiaraVSourceEnergyGenerator.hh index 03a31ca11b..38d0b23ead 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraVSourceEnergyGenerator.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraVSourceEnergyGenerator.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraVSourceEnergyGenerator.hh,v 1.4 2006/06/29 15:44:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraVisEventAction.hh b/examples/advanced/Tiara/source/tiara/include/TiaraVisEventAction.hh index 0caff6cab8..8af0e1b246 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraVisEventAction.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraVisEventAction.hh @@ -25,7 +25,7 @@ // // // $Id: TiaraVisEventAction.hh,v 1.1.1.2 2006/06/29 15:44:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class TiaraVisEventAction diff --git a/examples/advanced/Tiara/source/tiara/include/TiaraVisRunAction.hh b/examples/advanced/Tiara/source/tiara/include/TiaraVisRunAction.hh index 58aeee2797..c6a631212d 100644 --- a/examples/advanced/Tiara/source/tiara/include/TiaraVisRunAction.hh +++ b/examples/advanced/Tiara/source/tiara/include/TiaraVisRunAction.hh @@ -25,7 +25,7 @@ // // // $Id: TiaraVisRunAction.hh,v 1.1.1.2 2006/06/29 15:44:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class TiaraVisRunAction diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraCellScorer.cc b/examples/advanced/Tiara/source/tiara/src/TiaraCellScorer.cc index 5cd881a2a3..1498311a8f 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraCellScorer.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraCellScorer.cc @@ -25,7 +25,7 @@ // // // $Id: TiaraCellScorer.cc,v 1.5 2006/06/29 15:44:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraCellScorerStore.cc b/examples/advanced/Tiara/source/tiara/src/TiaraCellScorerStore.cc index 0d2d51e90b..527a50dfeb 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraCellScorerStore.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraCellScorerStore.cc @@ -25,7 +25,7 @@ // // // $Id: TiaraCellScorerStore.cc,v 1.1.1.2 2006/06/29 15:44:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldA.cc b/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldA.cc index bc2b4253ff..a9deec9019 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldA.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldA.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraConcreteShieldA.cc,v 1.4 2006/06/29 15:44:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraConcreteShieldA.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldB.cc b/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldB.cc index 2d1e47e8c7..e6f6baf908 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldB.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraConcreteShieldB.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraConcreteShieldB.cc,v 1.4 2006/06/29 15:44:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraConcreteShieldB.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraDPSSampledEnergy.cc b/examples/advanced/Tiara/source/tiara/src/TiaraDPSSampledEnergy.cc index c2786f3cab..218fb00ecf 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraDPSSampledEnergy.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraDPSSampledEnergy.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraDPSSampledEnergy.cc,v 1.9 2006/06/29 15:44:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraDPSSampledEnergy.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraDimensions.cc b/examples/advanced/Tiara/source/tiara/src/TiaraDimensions.cc index 88a528322e..c5a5fbb320 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraDimensions.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraDimensions.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraDimensions.cc,v 1.4 2006/06/29 15:44:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraDimensions.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraEnergyCutProcess.cc b/examples/advanced/Tiara/source/tiara/src/TiaraEnergyCutProcess.cc index d49f78939a..a7b999340c 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraEnergyCutProcess.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraEnergyCutProcess.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraEnergyCutProcess.cc,v 1.6 2006/06/29 15:44:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraEnergyCutProcess.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraFileAcess.cc b/examples/advanced/Tiara/source/tiara/src/TiaraFileAcess.cc index 7f9d735baa..78c4693012 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraFileAcess.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraFileAcess.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraFileAcess.cc,v 1.4 2006/06/29 15:44:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraFileAcess.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraFixedEnergyGenerator.cc b/examples/advanced/Tiara/source/tiara/src/TiaraFixedEnergyGenerator.cc index 8c63b1d532..e8fcc350c7 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraFixedEnergyGenerator.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraFixedEnergyGenerator.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraFixedEnergyGenerator.cc,v 1.4 2006/06/29 15:45:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraFixedEnergyGenerator.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraGeometry.cc b/examples/advanced/Tiara/source/tiara/src/TiaraGeometry.cc index 53ff8ffd5a..6c73763c42 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraGeometry.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraGeometry.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraGeometry.cc,v 1.5 2006/06/29 15:45:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraGeometry.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldA.cc b/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldA.cc index a8bf011d38..0d01a36be9 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldA.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldA.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraIronShieldA.cc,v 1.4 2006/06/29 15:45:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraIronShieldA.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldB.cc b/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldB.cc index 8ce8f96856..c085edfcdd 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldB.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraIronShieldB.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraIronShieldB.cc,v 1.4 2006/06/29 15:45:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraIronShieldB.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraIsotropicDirections.cc b/examples/advanced/Tiara/source/tiara/src/TiaraIsotropicDirections.cc index 8b5357102a..56e36e6f12 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraIsotropicDirections.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraIsotropicDirections.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraIsotropicDirections.cc,v 1.5 2006/06/29 15:45:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraIsotropicDirections.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraMaterials.cc b/examples/advanced/Tiara/source/tiara/src/TiaraMaterials.cc index add6a1f800..26d98d3c98 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraMaterials.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraMaterials.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraMaterials.cc,v 1.5 2006/06/29 15:45:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraMaterials.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraMeasure.cc b/examples/advanced/Tiara/source/tiara/src/TiaraMeasure.cc index 693973bc80..da6d51075a 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraMeasure.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraMeasure.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraMeasure.cc,v 1.4 2006/06/29 15:45:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraMeasure.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraPhysicsList.cc b/examples/advanced/Tiara/source/tiara/src/TiaraPhysicsList.cc index 6b7b0d20f1..8fd80af396 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraPhysicsList.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraPhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: TiaraPhysicsList.cc,v 1.6 2006/06/29 15:45:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraPrimaryGeneratorAction.cc b/examples/advanced/Tiara/source/tiara/src/TiaraPrimaryGeneratorAction.cc index fdda38b4ab..3392521bfb 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraPrimaryGeneratorAction.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraPrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: TiaraPrimaryGeneratorAction.cc,v 1.5 2006/06/29 15:45:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraRandom.cc b/examples/advanced/Tiara/source/tiara/src/TiaraRandom.cc index f4ce895675..8465914659 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraRandom.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraRandom.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraRandom.cc,v 1.5 2006/06/29 15:45:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraRandom.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraSampledEnergy.cc b/examples/advanced/Tiara/source/tiara/src/TiaraSampledEnergy.cc index 5eb3e3fa78..0f6f94128b 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraSampledEnergy.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraSampledEnergy.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraSampledEnergy.cc,v 1.5 2006/06/29 15:45:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraSampledEnergy.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraSim.cc b/examples/advanced/Tiara/source/tiara/src/TiaraSim.cc index c287dcbc81..0cf51fb9c4 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraSim.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraSim.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraSim.cc,v 1.9 2006/06/29 15:45:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraSim.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraStackingAction.cc b/examples/advanced/Tiara/source/tiara/src/TiaraStackingAction.cc index 9e332e12fc..c025d62dfd 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraStackingAction.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraStackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraStackingAction.cc,v 1.5 2006/06/29 15:45:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraStackingAction.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraTally.cc b/examples/advanced/Tiara/source/tiara/src/TiaraTally.cc index c53b92761e..2f849a41e9 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraTally.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraTally.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraTally.cc,v 1.5 2006/06/29 15:45:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraTally.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraTimedEventAction.cc b/examples/advanced/Tiara/source/tiara/src/TiaraTimedEventAction.cc index 3ef0a1d235..f3e3e63407 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraTimedEventAction.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraTimedEventAction.cc @@ -25,7 +25,7 @@ // // // $Id: TiaraTimedEventAction.cc,v 1.4 2006/06/29 15:45:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraVComponent.cc b/examples/advanced/Tiara/source/tiara/src/TiaraVComponent.cc index 2cd15cf5e7..1e5a90c790 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraVComponent.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraVComponent.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraVComponent.cc,v 1.4 2006/06/29 15:45:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraVComponent.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraVDirectionGenerator.cc b/examples/advanced/Tiara/source/tiara/src/TiaraVDirectionGenerator.cc index 6b6ca17338..ff66de630f 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraVDirectionGenerator.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraVDirectionGenerator.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraVDirectionGenerator.cc,v 1.4 2006/06/29 15:45:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraVDirectionGenerator.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraVSourceEnergyGenerator.cc b/examples/advanced/Tiara/source/tiara/src/TiaraVSourceEnergyGenerator.cc index 354bc39eed..bb3fad18ab 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraVSourceEnergyGenerator.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraVSourceEnergyGenerator.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TiaraVSourceEnergyGenerator.cc,v 1.4 2006/06/29 15:45:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "TiaraVSourceEnergyGenerator.hh" diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraVisEventAction.cc b/examples/advanced/Tiara/source/tiara/src/TiaraVisEventAction.cc index 3ae32e7b3c..4b0ac14b18 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraVisEventAction.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraVisEventAction.cc @@ -25,7 +25,7 @@ // // // $Id: TiaraVisEventAction.cc,v 1.4 2006/06/29 15:45:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/Tiara/source/tiara/src/TiaraVisRunAction.cc b/examples/advanced/Tiara/source/tiara/src/TiaraVisRunAction.cc index ed58034004..4b48d98b99 100644 --- a/examples/advanced/Tiara/source/tiara/src/TiaraVisRunAction.cc +++ b/examples/advanced/Tiara/source/tiara/src/TiaraVisRunAction.cc @@ -25,7 +25,7 @@ // // // $Id: TiaraVisRunAction.cc,v 1.1.1.2 2006/06/29 15:45:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/brachytherapy/Brachy.cc b/examples/advanced/brachytherapy/Brachy.cc index ae56356edf..c25caee140 100644 --- a/examples/advanced/brachytherapy/Brachy.cc +++ b/examples/advanced/brachytherapy/Brachy.cc @@ -25,7 +25,7 @@ // // // $Id: Brachy.cc -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // GEANT 4 - Brachytherapy example diff --git a/examples/advanced/brachytherapy/README b/examples/advanced/brachytherapy/README index 91c2555ecb..79d4f25825 100644 --- a/examples/advanced/brachytherapy/README +++ b/examples/advanced/brachytherapy/README @@ -7,100 +7,98 @@ --------------------- ------------------------------------------------------------------------ -----> Introduction. | +----> Introduction. -Brachytherapy example simulates energy deposit in a Phantom filled with | +Brachytherapy example simulates energy deposit in a Phantom filled with soft tissue for: -1) Iridium source (endocavitary brachytherapy). | +1) Iridium source (endocavitary brachytherapy). 2) Iodium source (interstitial brachytherapy). -3) Leipzig Applicator (superficial brachytherapy). | +3) Leipzig Applicator (superficial brachytherapy). ------------------------------------------------------------------------ -----> 1.Experimental set-up. | +----> 1.Experimental set-up. -The default source is an Ir-131 source put in the center of the Phantom.| +The default source is an Ir-131 source put in the center of the Phantom. The Phantom is a box (dimension:30cm), it is gridded in -voxels (1.mm dimension) | +voxels (1.mm dimension) ------------------------------------------------------------------------- ----> 2.SET-UP - | - -example enviroment with the compiler 3.2.3 - -a standard Geant4 example GNUmakefile is provided | + + -a standard Geant4 example GNUmakefile is provided -setup with: | -compiler = gcc-3.2.3 -G4SYSTEM = linux-g++ | +setup with: +G4SYSTEM = linux-g++ -The following environment variables need to be set: | +The following environment variables need to be set: -G4LEDATA: points to low energy data base - G4EMLOW3.0 | +G4LEDATA: points to low energy database -setup for analysis: AIDA 3.2.1, PI 1.3.3 | +setup for analysis: AIDA 3.2.1, PI 1.3.3 (PI is Obsolete) Users can download the analysis tools from: - | + http://aida.freehep.org/ -http://www.cern.ch/PI | - +http://cern.ch/pfeiffer +http://www.cern.ch/PI (OBSOLETE) ------------------------------------------------------------------------ -----> 3.How to run the example. | +----> 3.How to run the example. - batch mode: - $G4WORDIR/bin/Linux-g++/Brachy IridiumSourceMacro.mac | - $G4WORDIR/bin/Linux-g++/Brachy IodiumSourceMacro.mac - $G4WORDIR/bin/Linux-g++/Brachy LeipzigSourceMacro.mac - | + $G4WORKDIR/bin/Linux-g++/Brachy IridiumSourceMacro.mac + $G4WORKDIR/bin/Linux-g++/Brachy IodiumSourceMacro.mac + $G4WORKDIR/bin/Linux-g++/Brachy LeipzigSourceMacro.mac + - Interative mode: - 3) $G4WORDIR/bin/Linux-g++/Brachy - The VisualisationMacro.mac is loaded automatically | + 3) $G4WORKDIR/bin/Linux-g++/Brachy + The VisualisationMacro.mac is loaded automatically --->possible different configurations for interactive mode: | +-->possible different configurations for interactive mode: -1)Ir source: | +1)Ir source: idle>/run/beamOn NumberOfEvents ...and then -idle>exit | +idle>exit -2)Leipzig Applicator: | +2)Leipzig Applicator: idle>/source/switch Leipzig -idle>/run/beamOn NumberOfEvents ...and then | +idle>/run/beamOn NumberOfEvents ...and then idle> exit - | + 3) Iodium source: -idle>/source/switch Iodium | +idle>/source/switch Iodium idle>/primary/energy Iodium -idle>/run/beamOn NumberOfEvents ...and then | +idle>/run/beamOn NumberOfEvents ...and then idle>exit - | + *Before the run you can also change the absorber material of the -Phantom: | +Phantom: idle>/phantom/selectMaterial materialName - | + - batch mode: executable Brachy macroFile.mac macros are provided as example: IodiumSourceMacro.mac, - IridiumSourceMacro.mac, LeipzigSourceMacro.mac | + IridiumSourceMacro.mac, LeipzigSourceMacro.mac (ex. $G4WORKDIR/bin/Linux-g++/Brachy IodiumSourceMacro.mac) ------------------------------------------------------------------------ -----> 4. Simulation output | +----> 4. Simulation output -if ANALYSIS_USE = 1 in the set-up, the output is brachytherapy.hbk | +if G4ANALYSIS_USE = 1 in the set-up, the output is brachytherapy.hbk It contains: - 1)1Dhistogram with the primary particle energy | + 1)1Dhistogram with the primary particle energy 2)2Dhistogram with the distribution of energy in the plane (x,z,energy) containing the source (YThickness = 1. mm) - 3)1Dhistogram with the energy deposit along the X axis in the plane | + 3)1Dhistogram with the energy deposit along the X axis in the plane containing the source. 4)Ntuple with the 3D energy deposit in the Phantom - | + Units: the energy deposit is in MeV; - x, y, z in mm for histograms and ntuple | + x, y, z in mm for histograms and ntuple ------------------------------------------------------------------------ -----> 5.Visualisation | +----> 5.Visualisation -a macro is provided ad example of visualisation: VisualisationMacro.mac| +a macro is provided ad example of visualisation: VisualisationMacro.mac ------------------------------------------------------------------------ -for comments, advices, doubts and questions: guatelli@ge.infn.it -for more info http://www.ge.infn.it/geant4/examples/index.html +Further information at http://www.ge.infn.it/geant4/examples/index.html +Contact: geant4-advanced-examples@cern.ch + -last modified: Susanna Guatelli 15/5/2006 diff --git a/examples/advanced/brachytherapy/include/BrachyAnalysisManager.hh b/examples/advanced/brachytherapy/include/BrachyAnalysisManager.hh index bdcbc1d871..5eb6fc78c5 100644 --- a/examples/advanced/brachytherapy/include/BrachyAnalysisManager.hh +++ b/examples/advanced/brachytherapy/include/BrachyAnalysisManager.hh @@ -23,30 +23,23 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// Code developed by: -// S.Guatelli -// -// -// $Id: BrachyAnalysisManager.hh,v 1.11 2006/06/29 15:47:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ********************************** -// * * -// * BrachyAnalysisManager.hh * -// * * -// ********************************** -// -// +// $Id: BrachyAnalysisManager.hh,v 1.13 2007/06/21 14:58:39 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ + +// Code review: MG Pia, 14/05/2207 +// Contact: Geant4-INFN Genova group, MariaGrazia.Pia@ge.infn.it + // The class BrachyAnalysisManager creates and manages histograms and ntuples // -#ifdef G4ANALYSIS_USE + #ifndef G4BRACHYANALYSISMANAGER_HH #define G4BRACHYANALYSISMANAGER_HH #include "globals.hh" #include #include "G4ThreeVector.hh" + +#ifdef G4ANALYSIS_USE #include "AIDA/IHistogram1D.h" #include "AIDA/IHistogram2D.h" #include "AIDA/IAnalysisFactory.h" @@ -58,16 +51,16 @@ namespace AIDA{ class ITupleFactory; class ITuple; class ITreeFactory; -}; +} +#endif class BrachyAnalysisManager { -private: - BrachyAnalysisManager(); public: ~BrachyAnalysisManager(); static BrachyAnalysisManager* getInstance(); + void book(); void FillNtupleWithEnergy(G4double,G4double,G4double,G4float); void FillHistogramWithEnergy(G4double,G4double,G4double); @@ -76,9 +69,10 @@ public: void finish(); private: + BrachyAnalysisManager(); static BrachyAnalysisManager* instance; -private: +#ifdef G4ANALYSIS_USE AIDA::IAnalysisFactory* aFact; AIDA::ITree* theTree; AIDA::IHistogramFactory *histFact; @@ -88,10 +82,11 @@ private: AIDA::IHistogram1D *h2; AIDA::IHistogram1D *h3; AIDA::ITuple *ntuple; +#endif + }; #endif -#endif diff --git a/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh b/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh index 2b07854524..2567a57531 100644 --- a/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh +++ b/examples/advanced/brachytherapy/include/BrachyDetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyDetectorConstruction.hh,v 1.17 2006/06/29 15:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // **************************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyDetectorConstructionI.hh b/examples/advanced/brachytherapy/include/BrachyDetectorConstructionI.hh index 5168327ee7..7e0ea79f50 100644 --- a/examples/advanced/brachytherapy/include/BrachyDetectorConstructionI.hh +++ b/examples/advanced/brachytherapy/include/BrachyDetectorConstructionI.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyDetectorConstructionI.hh,v 1.5 2006/06/29 15:47:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // **************************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyDetectorConstructionIr.hh b/examples/advanced/brachytherapy/include/BrachyDetectorConstructionIr.hh index 81feac69c3..20dfa80a31 100644 --- a/examples/advanced/brachytherapy/include/BrachyDetectorConstructionIr.hh +++ b/examples/advanced/brachytherapy/include/BrachyDetectorConstructionIr.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyDetectorConstructionIr.hh,v 1.5 2006/06/29 15:47:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // **************************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyDetectorConstructionLeipzig.hh b/examples/advanced/brachytherapy/include/BrachyDetectorConstructionLeipzig.hh index e80a4199df..be6e64f01a 100644 --- a/examples/advanced/brachytherapy/include/BrachyDetectorConstructionLeipzig.hh +++ b/examples/advanced/brachytherapy/include/BrachyDetectorConstructionLeipzig.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyDetectorConstructionLeipzig.hh,v 1.5 2006/06/29 15:47:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ************************************************ diff --git a/examples/advanced/brachytherapy/include/BrachyDetectorMessenger.hh b/examples/advanced/brachytherapy/include/BrachyDetectorMessenger.hh index e844683df4..e67cb7b9fe 100644 --- a/examples/advanced/brachytherapy/include/BrachyDetectorMessenger.hh +++ b/examples/advanced/brachytherapy/include/BrachyDetectorMessenger.hh @@ -31,7 +31,7 @@ // ***************************************** // // $Id: BrachyDetectorMessenger.hh,v 1.7 2006/06/29 15:47:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // #ifndef BrachyDetectorMessenger_h diff --git a/examples/advanced/brachytherapy/include/BrachyEventAction.hh b/examples/advanced/brachytherapy/include/BrachyEventAction.hh index 8acebf649a..b491794b98 100644 --- a/examples/advanced/brachytherapy/include/BrachyEventAction.hh +++ b/examples/advanced/brachytherapy/include/BrachyEventAction.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyEventAction.hh,v 1.15 2006/06/29 15:47:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: // S.Guatelli diff --git a/examples/advanced/brachytherapy/include/BrachyFactory.hh b/examples/advanced/brachytherapy/include/BrachyFactory.hh index a5bc9d663b..3ba8e5d887 100644 --- a/examples/advanced/brachytherapy/include/BrachyFactory.hh +++ b/examples/advanced/brachytherapy/include/BrachyFactory.hh @@ -26,7 +26,7 @@ // Code developed by: Susanna Guatelli // // $Id: BrachyFactory.hh,v 1.6 2006/06/29 15:47:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ********************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyFactoryI.hh b/examples/advanced/brachytherapy/include/BrachyFactoryI.hh index f98188ab6e..e6738a5bc7 100644 --- a/examples/advanced/brachytherapy/include/BrachyFactoryI.hh +++ b/examples/advanced/brachytherapy/include/BrachyFactoryI.hh @@ -35,7 +35,7 @@ // // // $Id: BrachyFactoryI.hh,v 1.7 2006/06/29 15:47:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/advanced/brachytherapy/include/BrachyFactoryIr.hh b/examples/advanced/brachytherapy/include/BrachyFactoryIr.hh index d8ca8099cd..c098c3f791 100644 --- a/examples/advanced/brachytherapy/include/BrachyFactoryIr.hh +++ b/examples/advanced/brachytherapy/include/BrachyFactoryIr.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyFactoryIr.hh,v 1.6 2006/06/29 15:47:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ********************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyFactoryLeipzig.hh b/examples/advanced/brachytherapy/include/BrachyFactoryLeipzig.hh index 69bee7fd04..f00915a4c0 100644 --- a/examples/advanced/brachytherapy/include/BrachyFactoryLeipzig.hh +++ b/examples/advanced/brachytherapy/include/BrachyFactoryLeipzig.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyFactoryLeipzig.hh,v 1.6 2006/06/29 15:47:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ********************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyMaterial.hh b/examples/advanced/brachytherapy/include/BrachyMaterial.hh index c608f191ee..41f0091c72 100644 --- a/examples/advanced/brachytherapy/include/BrachyMaterial.hh +++ b/examples/advanced/brachytherapy/include/BrachyMaterial.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyMaterial.hh,v 1.7 2006/06/29 15:47:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ********************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyPhantomROGeometry.hh b/examples/advanced/brachytherapy/include/BrachyPhantomROGeometry.hh index cc70b4449f..bcf029b232 100644 --- a/examples/advanced/brachytherapy/include/BrachyPhantomROGeometry.hh +++ b/examples/advanced/brachytherapy/include/BrachyPhantomROGeometry.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyPhantomROGeometry.hh,v 1.7 2006/06/29 15:47:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ************************************ // * * diff --git a/examples/advanced/brachytherapy/include/BrachyPhantomSD.hh b/examples/advanced/brachytherapy/include/BrachyPhantomSD.hh index 7df7efc2df..d6f1a7b100 100644 --- a/examples/advanced/brachytherapy/include/BrachyPhantomSD.hh +++ b/examples/advanced/brachytherapy/include/BrachyPhantomSD.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyPhantomSD.hh,v 1.10 2006/06/29 15:47:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ******************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyPhysicsList.hh b/examples/advanced/brachytherapy/include/BrachyPhysicsList.hh index 5c914302bc..228ac95a08 100644 --- a/examples/advanced/brachytherapy/include/BrachyPhysicsList.hh +++ b/examples/advanced/brachytherapy/include/BrachyPhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyPhysicsList.hh,v 1.9 2006/11/15 10:02:17 guatelli Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code review: MGP, 5 November 2006 (still to be completed) // diff --git a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorAction.hh b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorAction.hh index 879f2c2bce..4f31f2d9e2 100644 --- a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorAction.hh +++ b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyPrimaryGeneratorAction.hh,v 1.12 2006/06/29 15:47:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ******************************************** // * * diff --git a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionI.hh b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionI.hh index aee3aceadf..95ee33c3bc 100644 --- a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionI.hh +++ b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionI.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyPrimaryGeneratorActionI.hh,v 1.6 2006/06/29 15:47:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionIr.hh b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionIr.hh index c2b0e6ad23..0bda002219 100644 --- a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionIr.hh +++ b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorActionIr.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyPrimaryGeneratorActionIr.hh,v 1.7 2006/06/29 15:47:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ************************************************* // * * diff --git a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorMessenger.hh b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorMessenger.hh index 6b6650db9c..d0298dc4bb 100644 --- a/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorMessenger.hh +++ b/examples/advanced/brachytherapy/include/BrachyPrimaryGeneratorMessenger.hh @@ -31,7 +31,7 @@ // *********************************************** // // $Id: BrachyPrimaryGeneratorMessenger.hh,v 1.2 2006/06/29 15:48:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // #ifndef BrachyPrimaryGeneratorMessenger_h diff --git a/examples/advanced/brachytherapy/include/BrachyRunAction.hh b/examples/advanced/brachytherapy/include/BrachyRunAction.hh index 28ed7a2611..061e0620b9 100644 --- a/examples/advanced/brachytherapy/include/BrachyRunAction.hh +++ b/examples/advanced/brachytherapy/include/BrachyRunAction.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyRunAction.hh,v 1.11 2006/06/29 15:48:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/examples/advanced/brachytherapy/src/BrachyAnalysisManager.cc b/examples/advanced/brachytherapy/src/BrachyAnalysisManager.cc index e22280f252..c21b53ebdd 100644 --- a/examples/advanced/brachytherapy/src/BrachyAnalysisManager.cc +++ b/examples/advanced/brachytherapy/src/BrachyAnalysisManager.cc @@ -32,19 +32,18 @@ // * * // ******************************* // -// $Id: BrachyAnalysisManager.cc,v 1.18 2006/06/29 15:48:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: BrachyAnalysisManager.cc,v 1.19 2007/05/14 09:57:55 pia Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -#ifdef G4ANALYSIS_USE #include #include #include "BrachyAnalysisManager.hh" #include "G4ios.hh" +#ifdef G4ANALYSIS_USE #include "AIDA/IHistogram1D.h" #include "AIDA/IHistogram2D.h" - #include "AIDA/IManagedObject.h" #include "AIDA/IAnalysisFactory.h" #include "AIDA/IHistogramFactory.h" @@ -52,12 +51,22 @@ #include "AIDA/ITreeFactory.h" #include "AIDA/ITree.h" #include "AIDA/ITuple.h" +#endif BrachyAnalysisManager* BrachyAnalysisManager::instance = 0; -BrachyAnalysisManager::BrachyAnalysisManager() : - aFact(0), theTree(0), histFact(0), tupFact(0),h1(0),h2(0),ntuple(0) +BrachyAnalysisManager::BrachyAnalysisManager() { + +#ifdef G4ANALYSIS_USE + aFact = 0; + theTree(0); + histFact = 0; + tupFact = 0; + h1 = 0; + h2 = 0; + ntuple = 0; + // Instantiate the factories // The factories manage the analysis objects aFact = AIDA_createAnalysisFactory(); @@ -69,10 +78,13 @@ BrachyAnalysisManager::BrachyAnalysisManager() : theTree = treeFact -> create(fileName,"hbook",false, true); delete treeFact; +#endif } BrachyAnalysisManager::~BrachyAnalysisManager() { + +#ifdef G4ANALYSIS_USE delete tupFact; tupFact = 0; @@ -84,6 +96,7 @@ BrachyAnalysisManager::~BrachyAnalysisManager() delete aFact; aFact = 0; +#endif } BrachyAnalysisManager* BrachyAnalysisManager::getInstance() @@ -94,6 +107,7 @@ BrachyAnalysisManager* BrachyAnalysisManager::getInstance() void BrachyAnalysisManager::book() { +#ifdef G4ANALYSIS_USE // Instantiate the histogram and ntuple factories histFact = aFact -> createHistogramFactory( *theTree ); tupFact = aFact -> createTupleFactory ( *theTree ); @@ -121,6 +135,7 @@ void BrachyAnalysisManager::book() if (tupFact) ntuple = tupFact -> create("1","1",columnNames, options); // check for non-zero ... if (ntuple) G4cout<<"The Ntuple is non-zero"< fill(indexZ, zz); ntuple->addRow(); +#endif } void BrachyAnalysisManager::FillHistogramWithEnergy(G4double x, G4double z, G4double energyDeposit) { - // 2DHistrogram: energy deposit in a voxel which center is fixed in position (x,z) +#ifdef G4ANALYSIS_USE + // 2DHistogram: energy deposit in a voxel which center is fixed in position (x,z) h1 -> fill(x,z,energyDeposit); +#endif } void BrachyAnalysisManager::PrimaryParticleEnergySpectrum(G4double primaryParticleEnergy) { - // 1DHisotgram: energy spectrum of primary particles +#ifdef G4ANALYSIS_USE + // 1DHistogram: energy spectrum of primary particles h2 -> fill(primaryParticleEnergy); +#endif + return; } + void BrachyAnalysisManager::DoseDistribution(G4double x,G4double energy) { - // 1DHisotgram: energy spectrum of primary particles +#ifdef G4ANALYSIS_USE + // 1DHistogram: energy spectrum of primary particles h3 -> fill(x, energy); +#endif } void BrachyAnalysisManager::finish() { - // write all histograms to file ... +#ifdef G4ANALYSIS_USE + // write all histograms to file ... theTree -> commit(); // close (will again commit) ... theTree -> close(); -} #endif +} + diff --git a/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc b/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc index 439ce8ee0b..760e78e320 100644 --- a/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc +++ b/examples/advanced/brachytherapy/src/BrachyDetectorConstruction.cc @@ -38,7 +38,7 @@ // **************************************** // // $Id: BrachyDetectorConstruction.cc,v 1.29 2006/06/29 15:48:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4CSGSolid.hh" #include "G4MaterialPropertyVector.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyDetectorConstructionI.cc b/examples/advanced/brachytherapy/src/BrachyDetectorConstructionI.cc index fd17decac7..420163b6d9 100644 --- a/examples/advanced/brachytherapy/src/BrachyDetectorConstructionI.cc +++ b/examples/advanced/brachytherapy/src/BrachyDetectorConstructionI.cc @@ -37,7 +37,7 @@ // **************************************** // // $Id: BrachyDetectorConstructionI.cc,v 1.9 2006/06/29 15:48:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" #include "BrachyDetectorConstructionI.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyDetectorConstructionIr.cc b/examples/advanced/brachytherapy/src/BrachyDetectorConstructionIr.cc index 527af74fbc..b4acd32d23 100644 --- a/examples/advanced/brachytherapy/src/BrachyDetectorConstructionIr.cc +++ b/examples/advanced/brachytherapy/src/BrachyDetectorConstructionIr.cc @@ -38,7 +38,7 @@ // **************************************** // // $Id: BrachyDetectorConstructionIr.cc,v 1.10 2006/06/29 15:48:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" #include "BrachyDetectorConstructionIr.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyDetectorConstructionLeipzig.cc b/examples/advanced/brachytherapy/src/BrachyDetectorConstructionLeipzig.cc index 56ffd7a4f7..17173c97f0 100644 --- a/examples/advanced/brachytherapy/src/BrachyDetectorConstructionLeipzig.cc +++ b/examples/advanced/brachytherapy/src/BrachyDetectorConstructionLeipzig.cc @@ -39,7 +39,7 @@ // // // $Id: BrachyDetectorConstructionLeipzig.cc,v 1.10 2006/06/29 15:48:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyDetectorMessenger.cc b/examples/advanced/brachytherapy/src/BrachyDetectorMessenger.cc index 21452f73c9..ec863d949f 100644 --- a/examples/advanced/brachytherapy/src/BrachyDetectorMessenger.cc +++ b/examples/advanced/brachytherapy/src/BrachyDetectorMessenger.cc @@ -35,7 +35,7 @@ // // // $Id: BrachyDetectorMessenger.cc,v 1.12 2006/06/29 15:48:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/brachytherapy/src/BrachyEventAction.cc b/examples/advanced/brachytherapy/src/BrachyEventAction.cc index babe8bd5b3..95fce0c6a7 100644 --- a/examples/advanced/brachytherapy/src/BrachyEventAction.cc +++ b/examples/advanced/brachytherapy/src/BrachyEventAction.cc @@ -33,7 +33,7 @@ // ******************************* // // $Id: BrachyEventAction.cc,v 1.21 2006/06/29 15:48:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyEventAction.hh" #include "G4Event.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyFactory.cc b/examples/advanced/brachytherapy/src/BrachyFactory.cc index 0e681298f7..b3957fed12 100644 --- a/examples/advanced/brachytherapy/src/BrachyFactory.cc +++ b/examples/advanced/brachytherapy/src/BrachyFactory.cc @@ -35,7 +35,7 @@ // ******************************* // // $Id: BrachyFactory.cc,v 1.7 2006/06/29 15:48:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Factory of brachytherapic sources // diff --git a/examples/advanced/brachytherapy/src/BrachyFactoryI.cc b/examples/advanced/brachytherapy/src/BrachyFactoryI.cc index 96b44eadee..4408d92f6e 100644 --- a/examples/advanced/brachytherapy/src/BrachyFactoryI.cc +++ b/examples/advanced/brachytherapy/src/BrachyFactoryI.cc @@ -33,7 +33,7 @@ // ******************************* // // $Id: BrachyFactoryI.cc,v 1.6 2006/06/29 15:48:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyFactoryI.hh" #include "BrachyPrimaryGeneratorActionI.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyFactoryIr.cc b/examples/advanced/brachytherapy/src/BrachyFactoryIr.cc index 4ec63e1029..5933ae72c9 100644 --- a/examples/advanced/brachytherapy/src/BrachyFactoryIr.cc +++ b/examples/advanced/brachytherapy/src/BrachyFactoryIr.cc @@ -33,7 +33,7 @@ // ******************************* // // $Id: BrachyFactoryIr.cc,v 1.6 2006/06/29 15:48:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" #include "BrachyFactoryIr.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyFactoryLeipzig.cc b/examples/advanced/brachytherapy/src/BrachyFactoryLeipzig.cc index db9914b0b1..8558c50d9f 100644 --- a/examples/advanced/brachytherapy/src/BrachyFactoryLeipzig.cc +++ b/examples/advanced/brachytherapy/src/BrachyFactoryLeipzig.cc @@ -33,7 +33,7 @@ // ******************************* // // $Id: BrachyFactoryLeipzig.cc,v 1.6 2006/06/29 15:48:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyMaterial.cc b/examples/advanced/brachytherapy/src/BrachyMaterial.cc index caee1b940f..d1fbb22f33 100644 --- a/examples/advanced/brachytherapy/src/BrachyMaterial.cc +++ b/examples/advanced/brachytherapy/src/BrachyMaterial.cc @@ -33,7 +33,7 @@ // ******************************* // // $Id: BrachyMaterial.cc,v 1.7 2006/06/29 15:48:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4MaterialPropertiesTable.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPhantomROGeometry.cc b/examples/advanced/brachytherapy/src/BrachyPhantomROGeometry.cc index 9b7e0d1cdb..a295c6f745 100644 --- a/examples/advanced/brachytherapy/src/BrachyPhantomROGeometry.cc +++ b/examples/advanced/brachytherapy/src/BrachyPhantomROGeometry.cc @@ -34,7 +34,7 @@ // ************************************ // // $Id: BrachyPhantomROGeometry.cc,v 1.11 2006/06/29 15:48:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyPhantomROGeometry.hh" #include "BrachyDummySD.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPhantomSD.cc b/examples/advanced/brachytherapy/src/BrachyPhantomSD.cc index 7623ddc879..92ec547e7c 100644 --- a/examples/advanced/brachytherapy/src/BrachyPhantomSD.cc +++ b/examples/advanced/brachytherapy/src/BrachyPhantomSD.cc @@ -34,7 +34,7 @@ // ******************************** // // $Id: BrachyPhantomSD.cc,v 1.13 2006/06/29 15:48:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyPhantomSD.hh" #include "BrachyAnalysisManager.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc b/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc index 73db6934f0..c20e9d8a2d 100644 --- a/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc +++ b/examples/advanced/brachytherapy/src/BrachyPhysicsList.cc @@ -36,7 +36,7 @@ // ********************************** // // $Id: BrachyPhysicsList.cc,v 1.13 2006/11/15 10:02:17 guatelli Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyPhysicsList.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc index 865cee2b91..6aa137141c 100644 --- a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc +++ b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorAction.cc @@ -38,7 +38,7 @@ // ******************************************** // // $Id: BrachyPrimaryGeneratorAction.cc,v 1.18 2006/06/29 15:48:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" #include "BrachyPrimaryGeneratorAction.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionI.cc b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionI.cc index a9a86adcd3..3de970b984 100644 --- a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionI.cc +++ b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionI.cc @@ -38,7 +38,7 @@ // ******************************************** // // $Id: BrachyPrimaryGeneratorActionI.cc,v 1.10 2006/06/29 15:48:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyPrimaryGeneratorActionI.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionIr.cc b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionIr.cc index 70ecf00a7c..ced1d0b6bc 100644 --- a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionIr.cc +++ b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorActionIr.cc @@ -38,7 +38,7 @@ // ******************************************** // // $Id: BrachyPrimaryGeneratorActionIr.cc,v 1.11 2006/06/29 15:48:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyPrimaryGeneratorActionIr.hh" diff --git a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorMessenger.cc b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorMessenger.cc index 0c88025e67..f49573ac6e 100644 --- a/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorMessenger.cc +++ b/examples/advanced/brachytherapy/src/BrachyPrimaryGeneratorMessenger.cc @@ -35,7 +35,7 @@ // // // $Id: BrachyPrimaryGeneratorMessenger.cc,v 1.3 2006/06/29 15:48:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/brachytherapy/src/BrachyRunAction.cc b/examples/advanced/brachytherapy/src/BrachyRunAction.cc index fb90cfa6c9..6f3a4a23d6 100644 --- a/examples/advanced/brachytherapy/src/BrachyRunAction.cc +++ b/examples/advanced/brachytherapy/src/BrachyRunAction.cc @@ -39,7 +39,7 @@ // ******************************* // // $Id: BrachyRunAction.cc,v 1.18 2006/06/29 15:48:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyRunAction.hh" diff --git a/examples/advanced/cosmicray_charging/History b/examples/advanced/cosmicray_charging/History index 69708c9b52..0436dfc931 100644 --- a/examples/advanced/cosmicray_charging/History +++ b/examples/advanced/cosmicray_charging/History @@ -16,6 +16,9 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +24.05.2007 - Vladimir Ivanchenko, tag cosmicray_charging-V08-03-00 + Fix compilation problem in Physics List + 08.12.2005 - Henrique Araujo, tag cosmicray_charging-V07-01-02 Removed all compilation warnings diff --git a/examples/advanced/cosmicray_charging/src/LISAPhysicsList.cc b/examples/advanced/cosmicray_charging/src/LISAPhysicsList.cc index 5d6d264f74..ef20468739 100644 --- a/examples/advanced/cosmicray_charging/src/LISAPhysicsList.cc +++ b/examples/advanced/cosmicray_charging/src/LISAPhysicsList.cc @@ -212,7 +212,7 @@ void LISAPhysicsList::ElectromagneticPhysics() { G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); // Modifying Facrange from default value (0.199) // to improve backscattering fraction for electrons - aMultipleScattering->SetFacrange(0.01); + // aMultipleScattering->SetRangeFactor(0.01); pmanager->AddProcess(aMultipleScattering, -1, 1, 1); pmanager->AddProcess(loweIon, -1, 2, 2); pmanager->AddProcess(loweBrem, -1,-1, 3); @@ -236,7 +236,9 @@ void LISAPhysicsList::ElectromagneticPhysics() { if( particleName == "mu-" ) pmanager->AddProcess(new G4MuonMinusCaptureAtRest(),0,-1,-1); - } else if( particleName == "GenericIon" ) { + } else if( particleName == "GenericIon" || + particleName == "alpha" || + particleName == "He3") { // ions pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); diff --git a/examples/advanced/gammaray_telescope/GammaRayTel.cc b/examples/advanced/gammaray_telescope/GammaRayTel.cc index ffa45a4ab5..24627a135a 100644 --- a/examples/advanced/gammaray_telescope/GammaRayTel.cc +++ b/examples/advanced/gammaray_telescope/GammaRayTel.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTel.cc,v 1.16 2006/06/29 15:54:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysis.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysis.hh index 5b0cfbf1b1..3c571b0dc0 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysis.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysis.hh @@ -26,7 +26,7 @@ #ifdef G4ANALYSIS_USE // // $Id: GammaRayTelAnalysis.hh,v 1.18 2006/06/29 15:54:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisMessenger.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisMessenger.hh index 854e66bfd6..caa20fb1de 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisMessenger.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelAnalysisMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelAnalysisMessenger.hh,v 1.4 2006/06/29 15:54:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceHit.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceHit.hh index a5f031d179..c103fe7f91 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceHit.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceHit.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelAnticoincidenceHit.hh,v 1.3 2006/06/29 15:54:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceSD.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceSD.hh index 5f241b5d6b..efd315868a 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceSD.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelAnticoincidenceSD.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelAnticoincidenceSD.hh,v 1.5 2006/06/29 15:55:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterHit.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterHit.hh index 066f340eab..09873cb3d8 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterHit.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterHit.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelCalorimeterHit.hh,v 1.3 2006/06/29 15:55:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterSD.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterSD.hh index b47df36bf3..9988ff97f1 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterSD.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelCalorimeterSD.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelCalorimeterSD.hh,v 1.5 2006/06/29 15:55:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorConstruction.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorConstruction.hh index 2b01c6f4b8..1fd623ab84 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorConstruction.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelDetectorConstruction.hh,v 1.10 2006/06/29 15:55:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorMessenger.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorMessenger.hh index de33eab940..7efc7088c3 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorMessenger.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelDetectorMessenger.hh,v 1.4 2006/06/29 15:55:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDigi.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDigi.hh index 251f674075..d76f9700c4 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelDigi.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDigi.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelDigi.hh,v 1.3 2006/06/29 15:55:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizer.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizer.hh index 254025752d..354eb6d402 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizer.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizer.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelDigitizer.hh,v 1.4 2006/06/29 15:55:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizerMessenger.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizerMessenger.hh index 11f408c9fe..180571bfcb 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizerMessenger.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDigitizerMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelDigitizerMessenger.hh,v 1.2 2006/06/29 15:55:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelDummySD.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelDummySD.hh index 2a83edd138..32783f469d 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelDummySD.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelDummySD.hh @@ -26,7 +26,7 @@ // // $Id: GammaRayTelDummySD.hh,v 1.6 2006/06/29 15:55:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelEMPhysics.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelEMPhysics.hh index 96f8687750..fcf1bde9fd 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelEMPhysics.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelEMPhysics.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelEMPhysics.hh,v 1.2 2006/06/29 15:55:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelEventAction.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelEventAction.hh index 851e18ba80..53f05f7577 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelEventAction.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelEventAction.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelEventAction.hh,v 1.10 2006/06/29 15:55:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelGeneralPhysics.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelGeneralPhysics.hh index 70378f1134..6eae5650b5 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelGeneralPhysics.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelGeneralPhysics.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelGeneralPhysics.hh,v 1.2 2006/06/29 15:55:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelHadronPhysics.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelHadronPhysics.hh index cf325966ce..b53ed90cb7 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelHadronPhysics.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelHadronPhysics.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: GammaRayTelHadronPhysics.hh,v 1.4 2006/06/29 15:55:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelIonPhysics.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelIonPhysics.hh index 36c8cb8d71..4dcaf1854c 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelIonPhysics.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelIonPhysics.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelIonPhysics.hh,v 1.2 2006/06/29 15:55:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelMuonPhysics.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelMuonPhysics.hh index 0db01a95e7..c6adbcaef8 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelMuonPhysics.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelMuonPhysics.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelMuonPhysics.hh,v 1.2 2006/06/29 15:55:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorAction.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorAction.hh index 1b904cdaf8..1f23ffbfab 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorAction.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelPrimaryGeneratorAction.hh,v 1.8 2006/06/29 15:55:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorMessenger.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorMessenger.hh index d17678c68d..6cd26c2e26 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorMessenger.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelPrimaryGeneratorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelPrimaryGeneratorMessenger.hh,v 1.5 2006/06/29 15:55:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelRunAction.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelRunAction.hh index 9af8448837..8f4b90dabe 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelRunAction.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelRunAction.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelRunAction.hh,v 1.6 2006/06/29 15:55:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerHit.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerHit.hh index faf1979a63..c5b588f079 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerHit.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerHit.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelTrackerHit.hh,v 1.3 2006/06/29 15:55:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerROGeometry.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerROGeometry.hh index 16e24ba55c..5396df7e39 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerROGeometry.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerROGeometry.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelTrackerROGeometry.hh,v 1.5 2006/06/29 15:56:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerSD.hh b/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerSD.hh index 8d6abbc7a6..dcc22cb768 100644 --- a/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerSD.hh +++ b/examples/advanced/gammaray_telescope/include/GammaRayTelTrackerSD.hh @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelTrackerSD.hh,v 1.5 2006/06/29 15:56:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class header file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysis.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysis.cc index 012befc58a..cf3712e683 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysis.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysis.cc @@ -26,7 +26,7 @@ #ifdef G4ANALYSIS_USE // // $Id: GammaRayTelAnalysis.cc,v 1.21 2006/06/29 15:56:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisMessenger.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisMessenger.cc index c2dd834a2c..d0735f86bd 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisMessenger.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelAnalysisMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelAnalysisMessenger.cc,v 1.9 2006/06/29 15:56:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceHit.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceHit.cc index e937ad3879..24133a63fa 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceHit.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceHit.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelAnticoincidenceHit.cc,v 1.4 2006/06/29 15:56:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceSD.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceSD.cc index 86f412ff65..e56c8b4cae 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceSD.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelAnticoincidenceSD.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelAnticoincidenceSD.cc,v 1.6 2006/06/29 15:56:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterHit.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterHit.cc index 66e30cfacf..f96862ddd2 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterHit.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterHit.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelCalorimeterHit.cc,v 1.4 2006/06/29 15:56:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterSD.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterSD.cc index fe027d0ae9..437c457b43 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterSD.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelCalorimeterSD.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelCalorimeterSD.cc,v 1.7 2006/06/29 15:56:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorConstruction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorConstruction.cc index c31ab248e7..77928d6ce7 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorConstruction.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelDetectorConstruction.cc,v 1.15 2006/06/29 15:56:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc index cc9249cf6b..0cfaa1e054 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelDetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelDetectorMessenger.cc,v 1.8 2006/06/29 15:56:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelDigi.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelDigi.cc index b3e9c796c7..1214e49f40 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelDigi.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelDigi.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelDigi.cc,v 1.5 2006/06/29 15:56:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizer.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizer.cc index 44aa164872..d6295037cf 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizer.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizer.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelDigitizer.cc,v 1.6 2006/06/29 15:56:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizerMessenger.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizerMessenger.cc index b42284ce9f..6d0c903f25 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizerMessenger.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelDigitizerMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelDigitizerMessenger.cc,v 1.5 2006/06/29 15:56:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelEMPhysics.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelEMPhysics.cc index 363a9d19b6..d0f3098138 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelEMPhysics.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelEMPhysics.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelEMPhysics.cc,v 1.4 2006/06/29 15:56:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc index b8c22393b7..394d5ee114 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelEventAction.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelEventAction.cc,v 1.19 2006/06/29 15:56:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelHadronPhysics.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelHadronPhysics.cc index 76d2935f86..da81793649 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelHadronPhysics.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelHadronPhysics.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelHadronPhysics.cc,v 1.4 2006/06/29 15:56:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "GammaRayTelHadronPhysics.hh" diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelIonPhysics.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelIonPhysics.cc index 85d77c11a9..aa670928d9 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelIonPhysics.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelIonPhysics.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelIonPhysics.cc,v 1.4 2006/06/29 15:56:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelMuonPhysics.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelMuonPhysics.cc index a840b08ee7..0bc9ca414d 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelMuonPhysics.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelMuonPhysics.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelMuonPhysics.cc,v 1.4 2006/06/29 15:56:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsList.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsList.cc index cbd5e819f5..6d7c274838 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsList.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelPhysicsList.cc,v 1.7 2006/06/29 15:56:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorAction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorAction.cc index 02f32e683d..0a0d1d3450 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorAction.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelPrimaryGeneratorAction.cc,v 1.10 2006/06/29 15:56:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorMessenger.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorMessenger.cc index bce92b9dc0..9242b6f534 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorMessenger.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelPrimaryGeneratorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelPrimaryGeneratorMessenger.cc,v 1.8 2006/06/29 15:57:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelRunAction.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelRunAction.cc index b35e9a9e75..6e07e970e4 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelRunAction.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelRunAction.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelRunAction.cc,v 1.11 2006/06/29 15:57:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerHit.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerHit.cc index 7e9f3abac9..0b0181d331 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerHit.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerHit.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelTrackerHit.cc,v 1.4 2006/06/29 15:57:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerROGeometry.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerROGeometry.cc index 7c2e386de8..9590df17e8 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerROGeometry.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerROGeometry.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelTrackerROGeometry.cc,v 1.6 2006/06/29 15:57:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerSD.cc b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerSD.cc index cd4aacfdfd..a6650a156c 100644 --- a/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerSD.cc +++ b/examples/advanced/gammaray_telescope/src/GammaRayTelTrackerSD.cc @@ -25,7 +25,7 @@ // // // $Id: GammaRayTelTrackerSD.cc,v 1.9 2006/06/29 15:57:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation file // CERN Geneva Switzerland diff --git a/examples/advanced/hadrontherapy/Hadrontherapy.cc b/examples/advanced/hadrontherapy/Hadrontherapy.cc index 8170a391a8..6dc2c15773 100644 --- a/examples/advanced/hadrontherapy/Hadrontherapy.cc +++ b/examples/advanced/hadrontherapy/Hadrontherapy.cc @@ -66,6 +66,11 @@ int main(int argc ,char ** argv) { + + // Set the Random engine + + CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine()); + G4RunManager* runManager = new G4RunManager; // Initialize the geometry diff --git a/examples/advanced/hadrontherapy/History b/examples/advanced/hadrontherapy/History index 974cc1d2bd..87dd093c7c 100644 --- a/examples/advanced/hadrontherapy/History +++ b/examples/advanced/hadrontherapy/History @@ -7,7 +7,41 @@ $Id: History, v 1.6 2004/02/27 G.A.P. Cirrone ==================================================== Category History file - --------------------- + +07.06.2007 MGP tag hadrontherapy-V08-03-04 + On top of head as on 07.06.2007 + Physics component redesigned and reimplemented by Anton Lechner + as a result of code review + Physics version to be used for Bragg peak validation paper + Note: previous tag hadrontherapy-V09-00-00 does not respect + the tag numbering scheme, to be cvs removed + +04.06.2007 G.A.P. Cirrone (harontherapy-V08-03-03) + - Various bugs fixed and random engine changed. + +04.06.2007 G.A.P. Cirrone (hadrontherapy-V09-00-00) + - Changed the random engine. + +10.05.2007 G.A.P. Cirrone (hadrontherapy-V08-03-02) + - Improved the modulator geometry and fixed a bug on its rotation; + +07.05.2007 G.A.P. Cirrone (hadrontherapy-V08-02-02) + - Geometry upgrade(hadrontherapyBeamLine class) according to the experimental CATANA + proton therapy beam line; + +23.04.2007 S. Guatelli (hadrontherapy-V08-02-01) + - Compilation error corrected - human error of Susanna Guatelli. + - The file src/HadrontherapyProtonBertiniElastic.cc + and the file include/HadrontherapyProtonBertiniElastic.hh + have been removed + - This class is part of the previous version of the hadrontherapy + application,and it not necessary anymore in the current version + of the hadrontherapy application. + +24.1.2007 S. Guatelli (hadrontherapy-V08-02-00) + - Design iteration + - Physics lists added + 16.11.2006 S. Guatelli (hadrontherapy-V08-01-05) - Physics lists cleaned diff --git a/examples/advanced/hadrontherapy/bertini.mac b/examples/advanced/hadrontherapy/bertini.mac index 59084cb37a..9324d18eb2 100644 --- a/examples/advanced/hadrontherapy/bertini.mac +++ b/examples/advanced/hadrontherapy/bertini.mac @@ -32,8 +32,9 @@ /physics/addPhysics decay # SETTING FOR THE PARTICULAR HADRONIC MODEL +# /physics/addPhysics hadron-LElastic +/physics/addPhysics hadron-bertiniElastic /physics/addPhysics proton-bertini - /run/initialize # IF YOU WANT A RANGE SHIFTER PLEASE CHANGE @@ -41,7 +42,6 @@ # SETTING FOR THE RANGE SHIFTER #/beamLine/RangeShifter/thickness 4 cm #/beamLine/RangeShifter/RSMat Water - /run/beamOn 500 diff --git a/examples/advanced/hadrontherapy/binaryDefault.mac b/examples/advanced/hadrontherapy/binaryDefault.mac new file mode 100644 index 0000000000..c4bc974e66 --- /dev/null +++ b/examples/advanced/hadrontherapy/binaryDefault.mac @@ -0,0 +1,45 @@ +#---------------------------------------------------------------------------- +# PHYSICS LIST: +# +# - LOW ENERGY ELECTROMAGNETIC PHYSICS +# - ELASTIC SCATTERING FOR ALL THE HADRONS AND IONS +# - INELASTIC SCATTERING ---> +# +# * BINARY CASCADE MODEL WITH THE DEFAULT PRECOMPOUND +# +# * LEP MODEL UP TO 100 MEV AND BINARY ION MODEL BETWEEN 80 MEV AND 40. GEV +# FOR DEUTERON, TRITON, HE3, ALPHA +# +# * FISSION AND HADRON CAPTURE FOR NEUTRONS BETWEEN 0. MEV AND 100. TEV +# +# +#------------------------------------------------------------------------------- + + +/control/verbose 1 +/tracking/verbose 0 +/run/verbose 0 +/event/verbose 0 +# SETTING FOR THE PHYSICS MODELS +/physics/addPhysics photon-epdl +/physics/addPhysics electron-eedl +/physics/addPhysics positron-standard +/physics/addPhysics ion-LowE +/physics/addPhysics proton-precompound-binary +/physics/addPhysics muon-standard +/physics/addPhysics decay +/run/initialize + +# IF YOU WANT A RANGE SHIFTER PLEASE CHANGE +# THE FOLLOWIG PARAMETERS +# SETTING FOR THE RANGE SHIFTER + +#/beamLine/RangeShifter/thickness 0 cm +#/beamLine/RangeShifter/RSMat Water +#/tracking/verbose 1 +/beam/energy/meanEnergy 25 MeV +/run/beamOn 100 + + + + diff --git a/examples/advanced/hadrontherapy/currentEvent.rndm b/examples/advanced/hadrontherapy/currentEvent.rndm index e2716e1a74..aba0f68c06 100644 --- a/examples/advanced/hadrontherapy/currentEvent.rndm +++ b/examples/advanced/hadrontherapy/currentEvent.rndm @@ -1,203 +1,17 @@ Uvec -2226355706 -1072117611 -1610612736 -1072474390 -3758096384 -1072056252 -1610612736 -1071879239 +1878463799 +<<<<<<< currentEvent.rndm 0 -1072292310 -3758096384 -1071892397 -3758096384 -1070833779 -1073741824 -1072568340 -2684354560 -1070627542 -2147483648 -1070211792 -2147483648 -1072345802 -1610612736 -1068850291 +600533981 +1872063321 +======= +<<<<<<< currentEvent.rndm 0 -1071588201 -3221225472 -1071051474 -1073741824 -1071762151 -3221225472 -1071081728 -3221225472 -1072587532 -1073741824 -1070206898 -2147483648 -1071999392 -1610612736 -1068762358 +1386277506 +1621732584 +======= 0 -1071327201 -2147483648 -1071534434 -3221225472 -1071063361 -3221225472 -1072269914 -2684354560 -1071957532 -536870912 -1069655588 -0 -1069415718 -0 -1071408867 -2147483648 -1069141981 -0 -1071899078 -536870912 -1071753217 -0 -1072448270 -2684354560 -1071673783 -2147483648 -1071212335 -0 -1071194310 -3221225472 -1067850418 -0 -1072668722 -2684354560 -1071418550 -1073741824 -1071374082 -3221225472 -1070629504 -3221225472 -1070456746 -0 -1071830657 -2684354560 -1072073430 -1073741824 -1072186161 -2684354560 -1071417969 -1073741824 -1072486452 -2684354560 -1071429109 -0 -1070391955 -2147483648 -1071801088 -2684354560 -1072506823 -3758096384 -1071967156 -1610612736 -1071876772 -2147483648 -1072265406 -0 -1071325579 -2147483648 -1071851021 -536870912 -1071981605 -2684354560 -1072265211 -1073741824 -1072293446 -2684354560 -1068355136 -0 -1070697330 -1073741824 -1072637171 -1073741824 -1071719676 -0 -1072343457 -1073741824 -1067937546 -0 -1071770664 -2147483648 -1068451014 -0 -1072084223 -1610612736 -1072402541 -1610612736 -1072393275 -0 -1071950375 -3221225472 -1071465126 -0 -1071604482 -1073741824 -1072248661 -0 -1072182419 -3221225472 -1070214037 -0 -1072294972 -3758096384 -1071581359 -1073741824 -1071596144 -0 -1072293255 -3758096384 -1069637560 -0 -1071098882 -2147483648 -1069172691 -0 -1071855760 -0 -1070550116 -0 -1071296702 -1073741824 -1072232776 -2147483648 -1070626446 -2147483648 -1070174602 -2147483648 -1071571772 -1073741824 -1071765798 -2684354560 -1072310981 -3758096384 -1068567187 -0 -1070283848 -2147483648 -1071233108 -0 -1072552408 -2684354560 -1071308624 -1073741824 -1072003335 -3758096384 -1070825712 -0 -1071461100 -1073741824 -1072693247 -2684354560 -70 +669385865 +2063007468 +>>>>>>> 1.39 +>>>>>>> 1.40 diff --git a/examples/advanced/hadrontherapy/currentRun.rndm b/examples/advanced/hadrontherapy/currentRun.rndm index b891c492ac..8c22f92d36 100644 --- a/examples/advanced/hadrontherapy/currentRun.rndm +++ b/examples/advanced/hadrontherapy/currentRun.rndm @@ -1,203 +1,5 @@ Uvec -2226355706 -1069964310 -0 -1072449295 -536870912 -1072606240 -1610612736 -1072043158 -1073741824 -1067034544 -0 -1069692590 -0 -1072239526 -1610612736 -1071041032 -0 -1070300601 -0 -1072049148 -3221225472 -1072064735 -0 -1071498328 -1073741824 -1070362472 -0 -1072208286 -0 -1071481467 -3221225472 -1071215183 -1073741824 -1071691260 -536870912 -1069489569 -0 -1072609837 -536870912 -1071667513 -2684354560 -1065869184 -0 -1067275532 -0 -1070501947 -0 -1071823389 -1610612736 -1072233158 -2147483648 -1072083357 -3758096384 -1068827878 -0 -1072333798 -1073741824 -1071884712 -3758096384 -1068789541 -0 -1072038940 -1073741824 -1065618000 -0 -1071102897 -2147483648 -1071126401 -1073741824 -1072085460 -2684354560 -1072408070 -1073741824 -1069902677 -0 -1070270116 -2147483648 -1071012318 -0 -1071691814 -1610612736 -1072575206 -1073741824 -1068629316 -0 -1072229235 -3758096384 -1071937136 -3758096384 -1071658418 -1073741824 -1069771926 -2147483648 -1072672533 -3758096384 -1071780332 -536870912 -1071353156 -1073741824 -1072462209 -2147483648 -1072683596 -3221225472 -1072117302 -2684354560 -1072086147 -1610612736 -1068250258 -0 -1068214854 -0 -1066421428 -0 -1072123616 -2684354560 -1072582393 -2684354560 -1071012255 -0 -1070222883 -0 -1071019842 -1073741824 -1072006512 -1073741824 -1069446446 -0 -1071971375 -3221225472 -1070137868 -2147483648 -1067677894 -0 -1070778781 -2147483648 -1070491211 -2147483648 -1072268008 -2147483648 -1069827491 -0 -1067350444 -0 -1071859032 -0 -1071889319 -1073741824 -1070817423 -0 -1067560262 -0 -1071553722 -1073741824 -1072500009 -2147483648 -1071662103 -3221225472 -1072368724 -3758096384 -1071803499 -0 -1071983803 -3758096384 -1071334253 -3221225472 -1072597024 -1610612736 -1069804888 -2147483648 -1070163385 -2147483648 -1070687137 -2147483648 -1071848607 -1073741824 -1072026994 -2684354560 -1071510187 -2147483648 -1072324463 -3758096384 -1069015584 -0 -1071522735 -1073741824 -1072533543 -3758096384 -1071542546 -0 -1071845772 -2684354560 -1071541780 -1073741824 -1072381698 -2684354560 -1068658443 -0 -1071461100 -1073741824 -1072693247 -2684354560 -8 +1878463799 +49 +845470955 +1928204064 diff --git a/examples/advanced/hadrontherapy/defaultMacro.mac b/examples/advanced/hadrontherapy/defaultMacro.mac index f5e1f925e6..3c3026fa9b 100644 --- a/examples/advanced/hadrontherapy/defaultMacro.mac +++ b/examples/advanced/hadrontherapy/defaultMacro.mac @@ -29,14 +29,15 @@ /event/verbose 0 # SETTING FOR THE PHYSICS MODELS -/physics/addPhysics photon-epdl -/physics/addPhysics electron-eedl -/physics/addPhysics positron-standard -/physics/addPhysics ion-LowE -/physics/addPhysics muon-standard -/physics/addPhysics decay -/physics/addPhysics proton-precompound -/run/initialize +/physics/addPhysics EM-Photon-EPDL +/physics/addPhysics EM-Electron-EEDL +/physics/addPhysics EM-Positron-Standard +/physics/addPhysics EM-HadronIon-LowE +/physics/addPhysics EM-Muon-Standardmuon-standard +/physics/addPhysics Decay +/physics/addPhysics HadronicEl-HadronIon-QElastic +/physics/addPhysics HadronicInel-Ion-LEP +/physics/addPhysics HadronicInel-ProtonNeutron-Prec # FIX THE FOLLOWIG PARAMETERS # TO SET THE RANGE SHIFTER diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyDecay.hh b/examples/advanced/hadrontherapy/include/Decay.hh old mode 100644 new mode 100755 similarity index 84% rename from examples/advanced/hadrontherapy/include/HadrontherapyDecay.hh rename to examples/advanced/hadrontherapy/include/Decay.hh index 91fc46108e..0975c8a61a --- a/examples/advanced/hadrontherapy/include/HadrontherapyDecay.hh +++ b/examples/advanced/hadrontherapy/include/Decay.hh @@ -37,24 +37,33 @@ // // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#ifndef HADRONTHERAPYDECAY_HH -#define HADRONTHERAPYDECAY_HH 1 + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Decay process for: +// all considered, unstable particles +// +// +// ============================== +// COMMENTS: +// ============================== +// No comments +// + +#ifndef DECAY_H +#define DECAY_H 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -#include "G4Decay.hh" -class HadrontherapyDecay : public G4VPhysicsConstructor { - -public: - - HadrontherapyDecay(const G4String& name = "decay"); +class Decay : public G4VPhysicsConstructor +{ + public: + Decay(const G4String& name = "UnstableParticles-Decay"); + virtual ~Decay(); - virtual ~HadrontherapyDecay(); - - // This method is dummy for physics virtual void ConstructParticle() {}; - virtual void ConstructProcess(); }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyElectronEEDL.hh b/examples/advanced/hadrontherapy/include/EMElectronEEDL.hh old mode 100644 new mode 100755 similarity index 78% rename from examples/advanced/hadrontherapy/include/HadrontherapyElectronEEDL.hh rename to examples/advanced/hadrontherapy/include/EMElectronEEDL.hh index f098db17d6..adbde3da67 --- a/examples/advanced/hadrontherapy/include/HadrontherapyElectronEEDL.hh +++ b/examples/advanced/hadrontherapy/include/EMElectronEEDL.hh @@ -38,24 +38,35 @@ // * cirrone@lns.infn.it // -------------------------------------------------------------- -#ifndef HADRONTHERAPYELECTRONEEDL_HH -#define HADRONTHERAPYELECTRONEEDL_HH 1 +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// electrons +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4MultipleScattering, G4LowEnergyIonisation +// and G4LowEnergyBremsstrahlung (Low Energy Package, EEDL libraries) +// + +#ifndef EMELECTRONEEDL_HH +#define EMELECTRONEEDL_HH 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyElectronEEDL : public G4VPhysicsConstructor { - -public: - - HadrontherapyElectronEEDL(const G4String& name = "electron-eedl"); +class EMElectronEEDL : public G4VPhysicsConstructor +{ + public: + EMElectronEEDL(const G4String& name = "Electron-EEDL"); + virtual ~EMElectronEEDL(); - virtual ~HadrontherapyElectronEEDL(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - - virtual void ConstructProcess(); + protected: + void ConstructParticle() {}; + void ConstructProcess(); }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyElectronPenelope.hh b/examples/advanced/hadrontherapy/include/EMElectronPenelope.hh old mode 100644 new mode 100755 similarity index 78% rename from examples/advanced/hadrontherapy/include/HadrontherapyElectronPenelope.hh rename to examples/advanced/hadrontherapy/include/EMElectronPenelope.hh index 4e261b19de..139a34b037 --- a/examples/advanced/hadrontherapy/include/HadrontherapyElectronPenelope.hh +++ b/examples/advanced/hadrontherapy/include/EMElectronPenelope.hh @@ -38,24 +38,35 @@ // * cirrone@lns.infn.it // -------------------------------------------------------------- -#ifndef HADRONTHERAPYELECTRONPENELOPE_HH -#define HADRONTHERAPYELECTRONPENELOPE_HH 1 +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// electrons +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4MultipleScattering, G4PenelopeIonisation +// and G4PenelopeBremsstrahlung +// + +#ifndef EMELECTRONPENELOPE_HH +#define EMELECTRONPENELOPE_HH 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyElectronPenelope : public G4VPhysicsConstructor { - -public: - - HadrontherapyElectronPenelope(const G4String& name = "electron-penelope"); +class EMElectronPenelope : public G4VPhysicsConstructor +{ + public: + EMElectronPenelope(const G4String& name = "Electron-Penelope"); + virtual ~EMElectronPenelope(); - virtual ~HadrontherapyElectronPenelope(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - - virtual void ConstructProcess(); + protected: + void ConstructParticle() {}; + void ConstructProcess(); }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyElectronStandard.hh b/examples/advanced/hadrontherapy/include/EMElectronStandard.hh old mode 100644 new mode 100755 similarity index 79% rename from examples/advanced/hadrontherapy/include/HadrontherapyElectronStandard.hh rename to examples/advanced/hadrontherapy/include/EMElectronStandard.hh index 606c2993fe..80d7f6d93b --- a/examples/advanced/hadrontherapy/include/HadrontherapyElectronStandard.hh +++ b/examples/advanced/hadrontherapy/include/EMElectronStandard.hh @@ -38,24 +38,35 @@ // * cirrone@lns.infn.it // -------------------------------------------------------------- -#ifndef HADRONTHERAPYELECTRONSTANDARD_HH -#define HADRONTHERAPYELECTRONSTANDARD_HH 1 +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// electrons +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4MultipleScattering, G4eIonisation +// and G4eBremsstrahlung +// + +#ifndef EMELECTRONSTANDARD_HH +#define EMELECTRONSTANDARD_HH 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyElectronStandard : public G4VPhysicsConstructor { - -public: - - HadrontherapyElectronStandard(const G4String& name = "electron-standard"); +class EMElectronStandard : public G4VPhysicsConstructor +{ + public: + EMElectronStandard(const G4String& name = "Electron-Standard"); + virtual ~EMElectronStandard(); - virtual ~HadrontherapyElectronStandard(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - - virtual void ConstructProcess(); + protected: + void ConstructParticle() {}; + void ConstructProcess(); }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyIonLowE.hh b/examples/advanced/hadrontherapy/include/EMHadronIonLowEICRU49.hh old mode 100644 new mode 100755 similarity index 72% rename from examples/advanced/hadrontherapy/include/HadrontherapyIonLowE.hh rename to examples/advanced/hadrontherapy/include/EMHadronIonLowEICRU49.hh index 722d4ceff6..5f5bfb776d --- a/examples/advanced/hadrontherapy/include/HadrontherapyIonLowE.hh +++ b/examples/advanced/hadrontherapy/include/EMHadronIonLowEICRU49.hh @@ -38,23 +38,37 @@ // * cirrone@lns.infn.it // -------------------------------------------------------------- -#ifndef HADRONTHERAPYIONLOWE_HH -#define HADRONTHERAPYIONLOWE_HH 1 +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// protons, pions, generic hadrons, kaons, deuterons +// tritons, alpha particles, He3, other ions +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4MultipleScattering, G4hLowEnergyIonisation +// (ad G4hLowEnergyIonisation: ICRU49 electronic stopping power parametr. +// and ICRU49 nuclear stopping power parametrization is used) +// + +#ifndef EMHADRONIONLOWEICRU49_HH +#define EMHADRONIONLOWEICRU49_HH 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyIonLowE: public G4VPhysicsConstructor { +class EMHadronIonLowEICRU49: public G4VPhysicsConstructor +{ + public: + EMHadronIonLowEICRU49(const G4String& name = "HadronIon-LowEICRU49"); + virtual ~EMHadronIonLowEICRU49(); -public: - - HadrontherapyIonLowE(const G4String& name = "ion-LowE"); - - virtual ~HadrontherapyIonLowE(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - virtual void ConstructProcess(); + protected: + void ConstructParticle() {}; + void ConstructProcess(); }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyIonLowEZiegler1977.hh b/examples/advanced/hadrontherapy/include/EMHadronIonLowEZiegler1977.hh old mode 100644 new mode 100755 similarity index 72% rename from examples/advanced/hadrontherapy/include/HadrontherapyIonLowEZiegler1977.hh rename to examples/advanced/hadrontherapy/include/EMHadronIonLowEZiegler1977.hh index 9a475fb895..cb9f8d8c3c --- a/examples/advanced/hadrontherapy/include/HadrontherapyIonLowEZiegler1977.hh +++ b/examples/advanced/hadrontherapy/include/EMHadronIonLowEZiegler1977.hh @@ -38,23 +38,37 @@ // * cirrone@lns.infn.it // -------------------------------------------------------------- -#ifndef HADRONTHERAPYIONLOWEZIEGLER1977_HH -#define HADRONTHERAPYIONLOWEZIEGLER1977_HH 1 +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// protons, pions, generic hadrons, kaons, deuterons +// tritons, alpha particles, He3, other ions +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4MultipleScattering, G4hLowEnergyIonisation +// (ad G4hLowEnergyIonisation: Ziegler77 electronic stopping power parametr. +// and Ziegler77 nuclear stopping power parametrization is used) +// + +#ifndef EMHADRONIONLOWEZIEGLER1977_HH +#define EMHADRONIONLOWEZIEGLER1977_HH 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyIonLowEZiegler1977: public G4VPhysicsConstructor { - -public: - - HadrontherapyIonLowEZiegler1977(const G4String& name = "ion-LowE-ziegler1977"); +class EMHadronIonLowEZiegler1977: public G4VPhysicsConstructor +{ + public: + EMHadronIonLowEZiegler1977(const G4String& name = "HadronIon-LowEZiegler1977"); + virtual ~EMHadronIonLowEZiegler1977(); - virtual ~HadrontherapyIonLowEZiegler1977(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - virtual void ConstructProcess(); + protected: + void ConstructParticle() {}; + void ConstructProcess(); }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyIonLowEZiegler1985.hh b/examples/advanced/hadrontherapy/include/EMHadronIonLowEZiegler1985.hh old mode 100644 new mode 100755 similarity index 72% rename from examples/advanced/hadrontherapy/include/HadrontherapyIonLowEZiegler1985.hh rename to examples/advanced/hadrontherapy/include/EMHadronIonLowEZiegler1985.hh index d150ec9bf2..de09cccbeb --- a/examples/advanced/hadrontherapy/include/HadrontherapyIonLowEZiegler1985.hh +++ b/examples/advanced/hadrontherapy/include/EMHadronIonLowEZiegler1985.hh @@ -38,23 +38,37 @@ // * cirrone@lns.infn.it // -------------------------------------------------------------- -#ifndef HADRONTHERAPYIONLOWEZIEGLER1985_HH -#define HADRONTHERAPYIONLOWEZIEGLER1985_HH 1 +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// protons, pions, generic hadrons, kaons, deuterons +// tritons, alpha particles, He3, other ions +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4MultipleScattering, G4hLowEnergyIonisation +// (ad G4hLowEnergyIonisation: Ziegler85 electronic stopping power parametr. +// and Ziegler85 nuclear stopping power parametrization is used) +// + +#ifndef EMHADRONIONLOWEZIEGLER1985_HH +#define EMHADRONIONLOWEZIEGLER1985_HH 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyIonLowEZiegler1985: public G4VPhysicsConstructor { - -public: - - HadrontherapyIonLowEZiegler1985(const G4String& name = "ion-LowE-ziegler1985"); +class EMHadronIonLowEZiegler1985: public G4VPhysicsConstructor +{ + public: + EMHadronIonLowEZiegler1985(const G4String& name = "HadronIon-LowEZiegler1985"); + virtual ~EMHadronIonLowEZiegler1985(); - virtual ~HadrontherapyIonLowEZiegler1985(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - virtual void ConstructProcess(); + protected: + void ConstructParticle() {}; + void ConstructProcess(); }; #endif diff --git a/examples/advanced/hadrontherapy/include/EMHadronIonStandard.hh b/examples/advanced/hadrontherapy/include/EMHadronIonStandard.hh new file mode 100755 index 0000000000..430de0b44d --- /dev/null +++ b/examples/advanced/hadrontherapy/include/EMHadronIonStandard.hh @@ -0,0 +1,74 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyIonStandard.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// protons, pions, generic hadrons, kaons, deuterons +// tritons, alpha particles, He3, other ions +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4MultipleScattering, G4ionIonisation +// (alpha, He3, GenericIon) and G4hIonisation (other charged hadrons +// and ions taken into account) +// + +#ifndef EMHADRONIONSTANDARD_HH +#define EMHADRONIONSTANDARD_HH 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class EMHadronIonStandard : public G4VPhysicsConstructor +{ + public: + EMHadronIonStandard(const G4String& name = "HadronIon-Standard"); + virtual ~EMHadronIonStandard(); + + protected: + void ConstructParticle() {}; + void ConstructProcess(); +}; +#endif + diff --git a/examples/advanced/hadrontherapy/include/EMMuonStandard.hh b/examples/advanced/hadrontherapy/include/EMMuonStandard.hh new file mode 100755 index 0000000000..ec278acaf0 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/EMMuonStandard.hh @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyMuonStandard.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// muon plus, muon minus +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4MultipleScattering, G4MuIonisation, +// G4MuBremsstrahlung and G4MuPairProduction +// + +#ifndef EMMUONSTANDARD_HH +#define EMMUONSTANDARD_HH 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class EMMuonStandard : public G4VPhysicsConstructor +{ + public: + EMMuonStandard(const G4String& name = "Muon-Standard"); + virtual ~EMMuonStandard(); + + protected: + void ConstructParticle() {}; + void ConstructProcess(); +}; +#endif + diff --git a/examples/advanced/hadrontherapy/include/EMPhotonEPDL.hh b/examples/advanced/hadrontherapy/include/EMPhotonEPDL.hh new file mode 100755 index 0000000000..cd6ef511cb --- /dev/null +++ b/examples/advanced/hadrontherapy/include/EMPhotonEPDL.hh @@ -0,0 +1,81 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyPhotonEPDL.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// photons +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4LowEnergyPhotoElectric, G4LowEnergyCompton +// G4LowEnergyGammaConversion and G4LowEnergyRayleigh (Low Energy Package, +// EEDL libraries) +// + +#ifndef EMPHOTONEPDL_HH +#define EMPHOTONEPDL_HH 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class EMPhotonEPDL : public G4VPhysicsConstructor +{ + public: + EMPhotonEPDL(const G4String& name = "Photon-EPDL"); + virtual ~EMPhotonEPDL(); + + protected: + void ConstructParticle() {}; + void ConstructProcess(); +}; + +#endif + + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPhotonPenelope.hh b/examples/advanced/hadrontherapy/include/EMPhotonPenelope.hh old mode 100644 new mode 100755 similarity index 78% rename from examples/advanced/hadrontherapy/include/HadrontherapyPhotonPenelope.hh rename to examples/advanced/hadrontherapy/include/EMPhotonPenelope.hh index 792b77ff57..823466c728 --- a/examples/advanced/hadrontherapy/include/HadrontherapyPhotonPenelope.hh +++ b/examples/advanced/hadrontherapy/include/EMPhotonPenelope.hh @@ -38,24 +38,35 @@ // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#ifndef HADRONTHERAPYPHOTONPENELOPE_HH -#define HADRONTHERAPYPHOTONPENELOPE_HH 1 +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// photons +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4PenelopePhotoElectric, G4PenelopeCompton +// G4PenelopeGammaConversion and G4PenelopeRayleigh +// + +#ifndef EMPHOTONPENELOPE_HH +#define EMPHOTONPENELOPE_HH 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyPhotonPenelope : public G4VPhysicsConstructor { - -public: - - HadrontherapyPhotonPenelope(const G4String& name = "photon-penelope"); +class EMPhotonPenelope : public G4VPhysicsConstructor +{ + public: + EMPhotonPenelope(const G4String& name = "Photon-Penelope"); + virtual ~EMPhotonPenelope(); - virtual ~HadrontherapyPhotonPenelope(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - - virtual void ConstructProcess(); + protected: + void ConstructParticle() {}; + void ConstructProcess(); }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPhotonStandard.hh b/examples/advanced/hadrontherapy/include/EMPhotonStandard.hh old mode 100644 new mode 100755 similarity index 79% rename from examples/advanced/hadrontherapy/include/HadrontherapyPhotonStandard.hh rename to examples/advanced/hadrontherapy/include/EMPhotonStandard.hh index 896188dcb2..fd08ac7fea --- a/examples/advanced/hadrontherapy/include/HadrontherapyPhotonStandard.hh +++ b/examples/advanced/hadrontherapy/include/EMPhotonStandard.hh @@ -38,24 +38,35 @@ // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#ifndef TST50PHOTONSTANDARD_HH -#define TST50PHOTONSTANDARD_HH 1 +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// photons +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4PhotoElectricEffect, G4ComptonScattering +// and G4GammaConversion +// + +#ifndef EMPHOTONSTANDARD_HH +#define EMPHOTONSTANDARD_HH 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyPhotonStandard : public G4VPhysicsConstructor { - -public: - - HadrontherapyPhotonStandard(const G4String& name = "photon-standard"); +class EMPhotonStandard : public G4VPhysicsConstructor +{ + public: + EMPhotonStandard(const G4String& name = "Photon-Standard"); + virtual ~EMPhotonStandard(); - virtual ~HadrontherapyPhotonStandard(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - - virtual void ConstructProcess(); + protected: + void ConstructParticle() {}; + void ConstructProcess(); }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPositronPenelope.hh b/examples/advanced/hadrontherapy/include/EMPositronPenelope.hh old mode 100644 new mode 100755 similarity index 78% rename from examples/advanced/hadrontherapy/include/HadrontherapyPositronPenelope.hh rename to examples/advanced/hadrontherapy/include/EMPositronPenelope.hh index 7a7241f232..636b1a46fa --- a/examples/advanced/hadrontherapy/include/HadrontherapyPositronPenelope.hh +++ b/examples/advanced/hadrontherapy/include/EMPositronPenelope.hh @@ -38,24 +38,35 @@ // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#ifndef HADRONTHERAPYPOSITRONPENELOPE_HH -#define HADRONTHERAPYPOSITRONPENELOPE_HH 1 +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// positrons +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4MultipleScattering, G4PenelopeIonisation, +// G4PenelopeBremsstrahlung and G4PenelopeAnnihilation +// + +#ifndef EMPOSITRONPENELOPE_HH +#define EMPOSITRONPENELOPE_HH 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyPositronPenelope : public G4VPhysicsConstructor { - -public: - - HadrontherapyPositronPenelope(const G4String& name = "positron-penelope"); +class EMPositronPenelope : public G4VPhysicsConstructor +{ + public: + EMPositronPenelope(const G4String& name = "Positron-Penelope"); + virtual ~EMPositronPenelope(); - virtual ~HadrontherapyPositronPenelope(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - - virtual void ConstructProcess(); + protected: + void ConstructParticle() {}; + void ConstructProcess(); }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPositronStandard.hh b/examples/advanced/hadrontherapy/include/EMPositronStandard.hh old mode 100644 new mode 100755 similarity index 78% rename from examples/advanced/hadrontherapy/include/HadrontherapyPositronStandard.hh rename to examples/advanced/hadrontherapy/include/EMPositronStandard.hh index f716c423e0..8081521eaf --- a/examples/advanced/hadrontherapy/include/HadrontherapyPositronStandard.hh +++ b/examples/advanced/hadrontherapy/include/EMPositronStandard.hh @@ -38,24 +38,35 @@ // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#ifndef HADRONTHERAPYPOSITRONSTANDARD_HH -#define HADRONTHERAPYPOSITRONSTANDARD_HH 1 +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Electromagnetic processes for: +// positrons +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4MultipleScattering, G4eIonisation, +// G4eBremsstrahlung and G4eplusAnnihilation +// + +#ifndef EMPOSITRONSTANDARD_HH +#define EMPOSITRONSTANDARD_HH 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyPositronStandard : public G4VPhysicsConstructor { - -public: - - HadrontherapyPositronStandard(const G4String& name = "positron-standard"); +class EMPositronStandard : public G4VPhysicsConstructor +{ + public: + EMPositronStandard(const G4String& name = "Positron-Standard"); + virtual ~EMPositronStandard(); - virtual ~HadrontherapyPositronStandard(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - - virtual void ConstructProcess(); + protected: + void ConstructParticle() {}; + void ConstructProcess(); }; #endif diff --git a/examples/advanced/hadrontherapy/include/HEHadronIonBertiniElastic.hh b/examples/advanced/hadrontherapy/include/HEHadronIonBertiniElastic.hh new file mode 100755 index 0000000000..d279a3e472 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HEHadronIonBertiniElastic.hh @@ -0,0 +1,82 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyHadronBertiniElastic.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Hadronic elastic processes for: +// protons, neutrons, pions (plus and minus), +// deuterons, tritons, alpha particles +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered process is G4HadronElasticProcess (for all above mentioned +// particles), and the applied models are G4CascadeElasticInterface (for +// protons, neutrons, pions) and G4LElastic (for deuterons, tritons, alpha +// particles). +// + +#ifndef HEHADRONIONBERTINIELASTIC_H +#define HEHADRONIONBERTINIELASTIC_H 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class HEHadronIonBertiniElastic: public G4VPhysicsConstructor +{ + public: + HEHadronIonBertiniElastic(const G4String& name = "HadronIon-BertiniElastic"); + virtual ~HEHadronIonBertiniElastic(); + + protected: + void ConstructParticle(){}; + void ConstructProcess(); +}; +#endif + + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HEHadronIonLElastic.hh b/examples/advanced/hadrontherapy/include/HEHadronIonLElastic.hh new file mode 100755 index 0000000000..aa4a670a64 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HEHadronIonLElastic.hh @@ -0,0 +1,80 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyHadronLElastic.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Hadronic elastic processes for: +// protons, neutrons, pions (plus and minus), +// deuterons, tritons, alpha particles +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered process is G4HadronElasticProcess (for all above mentioned +// particles), and the applied model is G4LElastic (for all particles). +// + +#ifndef HEHADRONIONLELASTIC_H +#define HEHADRONIONLELASTIC_H 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class HEHadronIonLElastic: public G4VPhysicsConstructor +{ + public: + HEHadronIonLElastic(const G4String& name = "HadronIon-LElastic"); + virtual ~HEHadronIonLElastic(); + + protected: + void ConstructParticle(){}; + void ConstructProcess(); +}; +#endif + + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HEHadronIonQElastic.hh b/examples/advanced/hadrontherapy/include/HEHadronIonQElastic.hh new file mode 100755 index 0000000000..684d1292f3 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HEHadronIonQElastic.hh @@ -0,0 +1,82 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyHadronCHIPSElastic.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Hadronic elastic processes for: +// protons, neutrons, pions (plus and minus), +// deuterons, tritons, alpha particles +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered processes are G4QElastic (for protons, neutrons) and +// G4HadronElasticProcess (for pions, deuterons, tritons, alpha particles). +// The applied model is G4LElastic (for pions, deuterons, tritons, alpha +// particles). +// + +#ifndef HEHADRONIONQELASTIC_H +#define HEHADRONIONQELASTIC_H 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class HEHadronIonQElastic: public G4VPhysicsConstructor +{ + public: + HEHadronIonQElastic(const G4String& name = "HadronIon-QElastic"); + virtual ~HEHadronIonQElastic(); + + protected: + void ConstructParticle(){}; + void ConstructProcess(); +}; +#endif + + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyProtonBertini.hh b/examples/advanced/hadrontherapy/include/HEHadronIonUElastic.hh old mode 100644 new mode 100755 similarity index 74% rename from examples/advanced/hadrontherapy/include/HadrontherapyProtonBertini.hh rename to examples/advanced/hadrontherapy/include/HEHadronIonUElastic.hh index af55549561..289ea2bd19 --- a/examples/advanced/hadrontherapy/include/HadrontherapyProtonBertini.hh +++ b/examples/advanced/hadrontherapy/include/HEHadronIonUElastic.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyProtonBertiniElastic.hh; May 2005 +// $Id: HadrontherapyHadronUHadronElastic.hh; May 2005 // ---------------------------------------------------------------------------- // GEANT 4 - Hadrontherapy example // ---------------------------------------------------------------------------- @@ -37,34 +37,41 @@ // // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#ifndef HadrontherapyProtonBertini_h -#define HadrontherapyProtonBertini_h 1 + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Hadronic elastic processes for: +// protons, neutrons, pions (plus and minus), +// deuterons, tritons, alpha particles +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered process is G4UHadronElasticProcess (for all above mentioned +// particles), and the applied model is G4HadronElastic (for all particles). +// + +#ifndef HEHADRONIONUELASTIC_H +#define HEHADRONIONUELASTIC_H 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -#include "G4ProtonInelasticCrossSection.hh" -#include "G4NeutronInelasticCrossSection.hh" -#include "G4DeuteronInelasticProcess.hh" -#include "G4TritonInelasticProcess.hh" -#include "G4AlphaInelasticProcess.hh" +#include "G4HadronicInteraction.hh" -class HadrontherapyProtonBertini: public G4VPhysicsConstructor +class HEHadronIonUElastic: public G4VPhysicsConstructor { public: - HadrontherapyProtonBertini(const G4String& name = "proton-bertini"); - virtual ~HadrontherapyProtonBertini(); + HEHadronIonUElastic(const G4String& name = "HadronIon-UElastic"); + virtual ~HEHadronIonUElastic(); protected: - // Construct particle and physics void ConstructParticle(){}; void ConstructProcess(); private: - G4ProtonInelasticCrossSection theProtonCrossSection; - G4NeutronInelasticCrossSection theNeutronCrossSection; - G4DeuteronInelasticProcess theDeuteronInelasticProcess; - G4TritonInelasticProcess theTritonInelasticProcess; - G4AlphaInelasticProcess theAlphaInelasticProcess; + G4HadronicInteraction* model; }; #endif diff --git a/examples/advanced/hadrontherapy/include/HIIonLEP.hh b/examples/advanced/hadrontherapy/include/HIIonLEP.hh new file mode 100755 index 0000000000..8a809e75a8 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HIIonLEP.hh @@ -0,0 +1,81 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompound.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Hadronic inelastic processes for: +// deuterons, tritons, alpha particles +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered process is G4XXXInelasticProcess (XXX to be replaced +// by the particular ion name), and the applied model is G4LEXXXInelastic +// Considered cross sections are G4TripathiCrossSection and +// G4IonsShenCrossSection +// + +#ifndef HIIONLEP_H +#define HIIONLEP_H 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class HIIonLEP: public G4VPhysicsConstructor +{ + public: + HIIonLEP(const G4String& name = "Ion-LEP"); + virtual ~HIIonLEP(); + + protected: + void ConstructParticle(){}; + void ConstructProcess(); +}; +#endif + + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HIPionBertini.hh b/examples/advanced/hadrontherapy/include/HIPionBertini.hh new file mode 100755 index 0000000000..f6086e690b --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HIPionBertini.hh @@ -0,0 +1,79 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompound.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Hadronic inelastic processes for: +// pions (plus and minus), +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered process is G4PionXXXInelasticProcess (XXX to be replaced +// by Plus or Minus), and the applied model is G4CascadeInterface +// + +#ifndef HIPIONBERTINI_H +#define HIPIONBERTINI_H 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class HIPionBertini: public G4VPhysicsConstructor +{ + public: + HIPionBertini(const G4String& name = "Pion-Bertini"); + virtual ~HIPionBertini(); + + protected: + void ConstructParticle(){}; + void ConstructProcess(); +}; +#endif + + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HIPionLEP.hh b/examples/advanced/hadrontherapy/include/HIPionLEP.hh new file mode 100755 index 0000000000..1ab841a4cb --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HIPionLEP.hh @@ -0,0 +1,79 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonLEP.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Hadronic inelastic processes for: +// pions (plus and minus) +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered process is G4PionXXXInelasticProcess (XXX to be replaced +// by Plus or Minus), and the applied model is G4LEPionXXXInelastic +// + +#ifndef HIPIONLEP_H +#define HIPYPIONLEP_H 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class HIPionLEP: public G4VPhysicsConstructor +{ + public: + HIPionLEP(const G4String& name = "Pion-LEP"); + virtual ~HIPionLEP(); + + protected: + void ConstructParticle(){}; + void ConstructProcess(); +}; +#endif + + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPhotonEPDL.hh b/examples/advanced/hadrontherapy/include/HIProtonNeutronBertini.hh old mode 100644 new mode 100755 similarity index 84% rename from examples/advanced/hadrontherapy/include/HadrontherapyPhotonEPDL.hh rename to examples/advanced/hadrontherapy/include/HIProtonNeutronBertini.hh index 9f6e3a0a00..09c886debc --- a/examples/advanced/hadrontherapy/include/HadrontherapyPhotonEPDL.hh +++ b/examples/advanced/hadrontherapy/include/HIProtonNeutronBertini.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyPhotonEPDL.cc; May 2005 +// $Id: HadrontherapyProtonBertiniElastic.hh; May 2005 // ---------------------------------------------------------------------------- // GEANT 4 - Hadrontherapy example // ---------------------------------------------------------------------------- @@ -37,27 +37,22 @@ // // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- - -#ifndef HADRONTHERAPYPHOTONEPDL_HH -#define HADRONTHERAPYPHOTONEPDL_HH 1 +#ifndef HIPROTONNEUTRONBERTINI_H +#define HIPROTONNEUTRONBERTINI_H 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyPhotonEPDL : public G4VPhysicsConstructor { +class HIProtonNeutronBertini: public G4VPhysicsConstructor +{ + public: + HIProtonNeutronBertini(const G4String& name = "ProtonNeutron-Bertini"); + virtual ~HIProtonNeutronBertini(); -public: - - HadrontherapyPhotonEPDL(const G4String& name = "photon-epdl"); - - virtual ~HadrontherapyPhotonEPDL(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - - virtual void ConstructProcess(); + protected: + void ConstructParticle(){}; + void ConstructProcess(); }; - #endif diff --git a/examples/advanced/hadrontherapy/include/HIProtonNeutronBinary.hh b/examples/advanced/hadrontherapy/include/HIProtonNeutronBinary.hh new file mode 100755 index 0000000000..665bb80906 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HIProtonNeutronBinary.hh @@ -0,0 +1,79 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompound.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Neutron induced fission, +// Neutron capture, +// Hadronic inelastic processes for: +// protons, neutrons +// +// ============================== +// COMMENTS: +// ============================== +// G4BinaryCascade model is applied for protons and neutrons +// + +#ifndef HIPROTONNEUTRONBINARY_H +#define HIPROTONNEUTRONBINARY_H 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class HIProtonNeutronBinary: public G4VPhysicsConstructor +{ + public: + HIProtonNeutronBinary(const G4String& name = "ProtonNeutron-Binary"); + virtual ~HIProtonNeutronBinary(); + + protected: + void ConstructParticle(){}; + void ConstructProcess(); +}; +#endif + + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyIonStandard.hh b/examples/advanced/hadrontherapy/include/HIProtonNeutronLEP.hh old mode 100644 new mode 100755 similarity index 84% rename from examples/advanced/hadrontherapy/include/HadrontherapyIonStandard.hh rename to examples/advanced/hadrontherapy/include/HIProtonNeutronLEP.hh index ca721cfabb..b910b5a004 --- a/examples/advanced/hadrontherapy/include/HadrontherapyIonStandard.hh +++ b/examples/advanced/hadrontherapy/include/HIProtonNeutronLEP.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyIonStandard.hh; May 2005 +// $Id: HadrontherapyProtonLEP.hh; May 2005 // ---------------------------------------------------------------------------- // GEANT 4 - Hadrontherapy example // ---------------------------------------------------------------------------- @@ -37,24 +37,28 @@ // // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- - -#ifndef HADRONTHERAPYIONSTANDARD_HH -#define HADRONTHERAPYIONSTANDARD_HH 1 +#ifndef HIPROTONNEUTRONLEP_h +#define HIPROTONNEUTRONLEP_h 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyIonStandard : public G4VPhysicsConstructor { +class HIProtonNeutronLEP: public G4VPhysicsConstructor +{ + public: + HIProtonNeutronLEP(const G4String& name = "ProtonNeutron-LEP"); + virtual ~HIProtonNeutronLEP(); -public: - - HadrontherapyIonStandard(const G4String& name = "ion-standard"); - - virtual ~HadrontherapyIonStandard(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - virtual void ConstructProcess(); + protected: + void ConstructParticle(){}; + void ConstructProcess(); }; #endif + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompound.hh b/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompound.hh new file mode 100755 index 0000000000..b98aaa8663 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompound.hh @@ -0,0 +1,80 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompound.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Neutron induced fission, +// Neutron capture, +// Hadronic inelastic processes for: +// protons, neutrons +// +// ============================== +// COMMENTS: +// ============================== +// Precompound model and default Evaporation model are applied for +// protons and neutrons +// + +#ifndef HIPROTONNEUTRONPRECOMPOUND_H +#define HIPROTONNEUTRONPRECOMPOUND_H 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class HIProtonNeutronPrecompound: public G4VPhysicsConstructor +{ + public: + HIProtonNeutronPrecompound(const G4String& name = "ProtonNeutron-Precompound"); + virtual ~HIProtonNeutronPrecompound(); + + protected: + void ConstructParticle(){}; + void ConstructProcess(); +}; +#endif + + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundFermi.hh b/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundFermi.hh new file mode 100755 index 0000000000..9bb29282c0 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundFermi.hh @@ -0,0 +1,80 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompoundFermi.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Neutron induced fission, +// Neutron capture, +// Hadronic inelastic processes for: +// protons, neutrons +// +// ============================== +// COMMENTS: +// ============================== +// Precompound model, default Evaporation model and Fermi +// Break-up model are applied for protons, neutrons +// + +#ifndef HIPROTONNEUTRONPRECOMPOUNDFERMI_H +#define HIPROTONNEUTRONPRECOMPOUNDFERMI_H 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class HIProtonNeutronPrecompoundFermi: public G4VPhysicsConstructor +{ + public: + HIProtonNeutronPrecompoundFermi(const G4String& name = "ProtonPeutron-PrecompoundFermi"); + virtual ~HIProtonNeutronPrecompoundFermi(); + + protected: + void ConstructParticle(){}; + void ConstructProcess(); +}; +#endif + + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEM.hh b/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEM.hh new file mode 100755 index 0000000000..4ab47b46e6 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEM.hh @@ -0,0 +1,80 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompoundGEM.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Neutron induced fission, +// Neutron capture, +// Hadronic inelastic processes for: +// protons, neutrons +// +// ============================== +// COMMENTS: +// ============================== +// Precompound model and GEM Evaporation model are applied for protons +// and neutrons +// + +#ifndef HIPROTONNEUTRONPRECOMPOUNDGEM_H +#define HIPROTONNEUTRONPRECOMPOUNDGEM_H 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class HIProtonNeutronPrecompoundGEM: public G4VPhysicsConstructor +{ + public: + HIProtonNeutronPrecompoundGEM(const G4String& name = "ProtonNeutron-PrecompoundGEM"); + virtual ~HIProtonNeutronPrecompoundGEM(); + + protected: + void ConstructParticle(){}; + void ConstructProcess(); +}; +#endif + + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEMFermi.hh b/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEMFermi.hh new file mode 100755 index 0000000000..575c99fac6 --- /dev/null +++ b/examples/advanced/hadrontherapy/include/HIProtonNeutronPrecompoundGEMFermi.hh @@ -0,0 +1,80 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompoundGEMFermi.hh; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Neutron induced fission, +// Neutron capture, +// Hadronic inelastic processes for: +// protons, neutrons +// +// ============================== +// COMMENTS: +// ============================== +// Precompound model, GEM Evaporation model and Fermi Break-up model are +// applied for protons and neutrons +// + +#ifndef HIPROTONNEUTRONPRECOMPOUNDGEMFERMI_H +#define HIPROTONNEUTRONPRECOMPOUNDGEMFERMI_H 1 + +#include "G4VPhysicsConstructor.hh" +#include "globals.hh" + +class HIProtonNeutronPrecompoundGEMFermi: public G4VPhysicsConstructor +{ + public: + HIProtonNeutronPrecompoundGEMFermi(const G4String& name = "ProtonNeutron-PrecompoundGEMFermi"); + virtual ~HIProtonNeutronPrecompoundGEMFermi(); + + protected: + void ConstructParticle(){}; + void ConstructProcess(); +}; +#endif + + + + + + + + diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyMuonStandard.hh b/examples/advanced/hadrontherapy/include/HRMuonMinusCapture.hh old mode 100644 new mode 100755 similarity index 79% rename from examples/advanced/hadrontherapy/include/HadrontherapyMuonStandard.hh rename to examples/advanced/hadrontherapy/include/HRMuonMinusCapture.hh index f735d8c5ce..12e7cac2a6 --- a/examples/advanced/hadrontherapy/include/HadrontherapyMuonStandard.hh +++ b/examples/advanced/hadrontherapy/include/HRMuonMinusCapture.hh @@ -37,24 +37,35 @@ // // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#ifndef HADRONTHERAPYMUONSTANDARD_HH -#define HADRONTHERAPYMUONSTANDARD_HH 1 + +// ============================== +// PHYSICS PROCESSES: +// ============================== +// Hadronic At-Rest processes for: +// muon minus +// +// +// ============================== +// COMMENTS: +// ============================== +// The considered process is G4MuonMinusCaptureAtRest +// + +#ifndef HRMUONMINUSCAPTURE_HH +#define HRMUONMINUSCAPTURE_HH 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -class HadrontherapyMuonStandard : public G4VPhysicsConstructor { - -public: - - HadrontherapyMuonStandard(const G4String& name = "muon-standard"); +class HRMuonMinusCapture : public G4VPhysicsConstructor +{ + public: + HRMuonMinusCapture(const G4String& name = "MuonMinus-Capture"); + virtual ~HRMuonMinusCapture(); - virtual ~HadrontherapyMuonStandard(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - - virtual void ConstructProcess(); + protected: + void ConstructParticle() {}; + void ConstructProcess(); }; #endif diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyIonLowEZiegler2000.hh b/examples/advanced/hadrontherapy/include/HadrontherapyIonLowEZiegler2000.hh deleted file mode 100644 index a1d0a3bb89..0000000000 --- a/examples/advanced/hadrontherapy/include/HadrontherapyIonLowEZiegler2000.hh +++ /dev/null @@ -1,60 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyIonLowEZiegler1985.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- - -#ifndef HADRONTHERAPYIONLOWEZIEGLER2000_HH -#define HADRONTHERAPYIONLOWEZIEGLER2000_HH 1 - -#include "G4VPhysicsConstructor.hh" -#include "globals.hh" - -class HadrontherapyIonLowEZiegler2000: public G4VPhysicsConstructor { - -public: - - HadrontherapyIonLowEZiegler2000(const G4String& name = "ion-LowE-ziegler2000"); - - virtual ~HadrontherapyIonLowEZiegler2000(); - - // This method is dummy for physics - virtual void ConstructParticle() {}; - virtual void ConstructProcess(); -}; -#endif - diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsList.hh b/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsList.hh index 6020e0c61b..bf81f79511 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsList.hh +++ b/examples/advanced/hadrontherapy/include/HadrontherapyPhysicsList.hh @@ -37,8 +37,8 @@ // // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#ifndef HadrontherapyPhysicsList_h -#define HadrontherapyPhysicsList_h 1 +#ifndef HADRONTHERAPYPHYSICSLIST_H +#define HADRONTHERAPYPHYSICSLIST_H 1 #include "G4VModularPhysicsList.hh" #include "globals.hh" @@ -55,14 +55,17 @@ public: void AddPhysicsList(const G4String& name); private: - G4bool electronIsRegistered; - G4bool positronIsRegistered; - G4bool photonIsRegistered; - G4bool ionIsRegistered; - G4bool protonHadronicIsRegistered; - G4bool chargedParticleIsRegistered; - G4bool muonIsRegistered; G4bool decayIsRegistered; + G4bool emElectronIsRegistered; + G4bool emPositronIsRegistered; + G4bool emPhotonIsRegistered; + G4bool emIonIsRegistered; + G4bool emMuonIsRegistered; + G4bool hadrElasticHadronIonIsRegistered; + G4bool hadrInelasticPionIsRegistered; + G4bool hadrInelasticIonIsRegistered; + G4bool hadrInelasticProtonNeutronIsRegistered; + G4bool hadrAtRestMuonIsRegistered; HadrontherapyPhysicsListMessenger* messenger; }; diff --git a/examples/advanced/hadrontherapy/lep.mac b/examples/advanced/hadrontherapy/lep.mac new file mode 100644 index 0000000000..6ae17d9388 --- /dev/null +++ b/examples/advanced/hadrontherapy/lep.mac @@ -0,0 +1,75 @@ +#---------------------------------------------------------------------------- +# PHYSICS LIST: +# +# - LOW ENERGY ELECTROMAGNETIC PHYSICS +# - ELASTIC SCATTERING FOR ALL THE HADRONS AND IONS +# - INELASTIC SCATTERING ---> +# PRECOMPOUND PHYSICS LIST with THE DEFAULT EVAPORATION MODEL AND WITHOUT THE FERMI BREAK-UP +# +# * PRECOMPOUND + EVAPORATION (DEFAULT MODEL) NO FERMI BREAK-UP FOR PROTONS, +# NEUTRONS AND PIONS +# +# * LEP MODEL UP TO 100 MEV AND BINARY ION MODEL BETWEEN 80 MEV AND 40. GEV +# FOR DEUTERON, TRITON, HE3, ALPHA +# +# * FISSION AND HADRON CAPTURE FOR NEUTRONS BETWEEN 0. MEV AND 100. TEV +# +# +#------------------------------------------------------------------------------- + + +/control/verbose 1 +/tracking/verbose 0 +/run/verbose 0 +/event/verbose 0 + +# SETTING FOR THE PHYSICS MODELS +/physics/addPhysics photon-epdl +/physics/addPhysics electron-eedl +/physics/addPhysics positron-standard +/physics/addPhysics ion-LowE +/physics/addPhysics muon-standard +/physics/addPhysics decay + + +# -------------- HADRON ELASTIC ------------------------------- +# SETTING FOR THE PARTICULAR ELASTIC HADRONIC MODEL + +# GROUP I Process: G4HadronElasticProcess + +/physics/addPhysics hadron-LElastic +#/physics/addPhysics hadron-hadronElastic +#/physics/addPhysics hadron-bertiniElastic + +# GROUP 2, Process: G4UHadronElasticProcess +#/physics/addPhysics hadron-UHadronElastic + +# GROUP 3, Process: G4QElastic +#/physics/addPhysics hadron-CHIPSElastic +#-------------------------------------------------------------- + + +# ------------- HADRON INELASTIC ------------------------------ +# +# --> LEP Model +/physics/addPhysics proton-LEP + +# ------------------------------------------------------------ + +/run/initialize + +# IF YOU WANT A RANGE SHIFTER PLEASE CHANGE +# THE FOLLOWIG PARAMETERS +# SETTING FOR THE RANGE SHIFTER +#/beamLine/RangeShifter/thickness 4 cm +#/beamLine/RangeShifter/RSMat Water +/run/beamOn 500 + + + + + + + + + diff --git a/examples/advanced/hadrontherapy/modulatorMacro.mac b/examples/advanced/hadrontherapy/modulatorMacro.mac index c39a23473a..3ef864cf59 100644 --- a/examples/advanced/hadrontherapy/modulatorMacro.mac +++ b/examples/advanced/hadrontherapy/modulatorMacro.mac @@ -28,21 +28,24 @@ /run/verbose 0 /event/verbose 0 -# SET OF THE PHYSICS PRTOCESSES -/physics/addPhysics photon-epdl -/physics/addPhysics electron-eedl -/physics/addPhysics positron-standard -/physics/addPhysics ion-LowE -/physics/addPhysics muon-standard -/physics/addPhysics decay -/physics/addPhysics proton-hadronic -/run/initialize +# SETTING FOR THE PHYSICS MODELS +/physics/addPhysics EM-Photon-EPDL +/physics/addPhysics EM-Electron-EEDL +/physics/addPhysics EM-Positron-Standard +/physics/addPhysics EM-HadronIon-LowE +/physics/addPhysics EM-Muon-Standardmuon-standard +/physics/addPhysics Decay +/physics/addPhysics HadronicEl-HadronIon-QElastic +/physics/addPhysics HadronicInel-Ion-LEP +/physics/addPhysics HadronicInel-ProtonNeutron-Prec + +/run/initialize # SET OF THE VISUALISATION CHARACTERISTICS /vis/scene/create /vis/open OGLIX -/vis/viewer/zoom 5.5 +/vis/viewer/zoom 3.5 /vis/viewer/set/viewpointThetaPhi 50 130 deg /vis/viewer/pan -60 40 cm /tracking/storeTrajectory 1 diff --git a/examples/advanced/hadrontherapy/precompoundDefaultEvaporation.mac b/examples/advanced/hadrontherapy/precompoundDefaultEvaporation.mac index 766f5c043b..e38e39dbad 100644 --- a/examples/advanced/hadrontherapy/precompoundDefaultEvaporation.mac +++ b/examples/advanced/hadrontherapy/precompoundDefaultEvaporation.mac @@ -31,9 +31,45 @@ /physics/addPhysics muon-standard /physics/addPhysics decay -# SETTING FOR THE PARTICULAR HADRONIC MODEL +# -------------- HADRON ELASTIC ------------------------------- +# SETTING FOR THE PARTICULAR ELASTIC HADRONIC MODEL + +# GROUP I Process: G4HadronElasticProcess + +/physics/addPhysics hadron-LElastic +#/physics/addPhysics hadron-hadronElastic +#/physics/addPhysics hadron-bertiniElastic + +# GROUP 2, Process: G4UHadronElasticProcess +#/physics/addPhysics hadron-UHadronElastic + +# GROUP 3, Process: G4QElastic +#/physics/addPhysics hadron-CHIPSElastic +#-------------------------------------------------------------- + + +# ------------- HADRON INELASTIC ------------------------------ +# +# --> PRECOMPOUND + DEFAULT EVAPORATION /physics/addPhysics proton-precompound +# --> PRECOMPOUND + GEM EVAPORATION +#/physics/addPhysics proton-precompoundGEM + +# --> PRECOMPOUND + DEFAULT EVAPORATION + FERMI BREAK-UP +#/physics/addPhysics proton-precompoundFermi + +# --> PRECOMPOUND + GEM EVAPORATION + FERMI BREAK-UP +#/physics/addPhysics proton-precompoundGEMFermi + +# --> BERTINI +#/physics/addPhysics proton-bertini + +# -- BINARY +#/physics/addPhysics proton-precompound-binary + +# ------------------------------------------------------------ + /run/initialize # IF YOU WANT A RANGE SHIFTER PLEASE CHANGE @@ -41,8 +77,8 @@ # SETTING FOR THE RANGE SHIFTER #/beamLine/RangeShifter/thickness 4 cm #/beamLine/RangeShifter/RSMat Water - -/run/beamOn 500 +/run/beamOn 20000 + diff --git a/examples/advanced/hadrontherapy/precompoundDefaultEvaporationFermi.mac b/examples/advanced/hadrontherapy/precompoundDefaultEvaporationFermi.mac new file mode 100644 index 0000000000..5c4ddcf271 --- /dev/null +++ b/examples/advanced/hadrontherapy/precompoundDefaultEvaporationFermi.mac @@ -0,0 +1,49 @@ +#---------------------------------------------------------------------------- +# PHYSICS LIST: +# +# - LOW ENERGY ELECTROMAGNETIC PHYSICS +# - ELASTIC SCATTERING FOR ALL THE HADRONS AND IONS +# - INELASTIC SCATTERING ---> +# PRECOMPOUND PHYSICS LIST with DEFAULT EVAPORATION MODEL + FERMI +# BREAK-UP +# +# * PRECOMPOUND + DEFAULT EVAPORATION + FERMI BREAK-UP FOR PROTONS, +# NEUTRONS AND PIONS +# +# * LEP MODEL UP TO 100 MEV AND BINARY ION MODEL BETWEEN 80 MEV AND 40. GEV +# FOR DEUTERON, TRITON, HE3, ALPHA +# +# * FISSION AND HADRON CAPTURE FOR NEUTRONS BETWEEN 0. MEV AND 100. TEV +# +# +#------------------------------------------------------------------------------- + + +/control/verbose 1 +/tracking/verbose 0 +/run/verbose 0 +/event/verbose 0 + +# SETTING FOR THE PHYSICS MODELS +/physics/addPhysics photon-epdl +/physics/addPhysics electron-eedl +/physics/addPhysics positron-standard +/physics/addPhysics ion-LowE +/physics/addPhysics muon-standard +/physics/addPhysics decay + +# SETTING FOR THE PARTICULAR HADRONIC MODEL +/physics/addPhysics proton-precompoundFermi + +/run/initialize + +# IF YOU WANT A RANGE SHIFTER PLEASE CHANGE +# THE FOLLOWIG PARAMETERS +# SETTING FOR THE RANGE SHIFTER +#/beamLine/RangeShifter/thickness 4 cm +#/beamLine/RangeShifter/RSMat Water + +/run/beamOn 200 + + + diff --git a/examples/advanced/hadrontherapy/precompoundGEMEvaporation.mac b/examples/advanced/hadrontherapy/precompoundGEMEvaporation.mac new file mode 100644 index 0000000000..fa838a4712 --- /dev/null +++ b/examples/advanced/hadrontherapy/precompoundGEMEvaporation.mac @@ -0,0 +1,48 @@ +#---------------------------------------------------------------------------- +# PHYSICS LIST: +# +# - LOW ENERGY ELECTROMAGNETIC PHYSICS +# - ELASTIC SCATTERING FOR ALL THE HADRONS AND IONS +# - INELASTIC SCATTERING ---> +# * PRECOMPOUND PHYSICS LIST with GEM EVAPORATION MODEL +# +# * PRECOMPOUND + EVAPORATION (GEM MODEL) NO FERMI BREAK-UP FOR PROTONS, +# NEUTRONS AND PIONS +# +# * LEP MODEL UP TO 100 MEV AND BINARY ION MODEL BETWEEN 80 MEV AND 40. GEV +# FOR DEUTERON, TRITON, HE3, ALPHA +# +# * FISSION AND HADRON CAPTURE FOR NEUTRONS BETWEEN 0. MEV AND 100. TEV +# +# +#------------------------------------------------------------------------------- + + +/control/verbose 1 +/tracking/verbose 0 +/run/verbose 0 +/event/verbose 0 + +# SETTING FOR THE PHYSICS MODELS +/physics/addPhysics photon-epdl +/physics/addPhysics electron-eedl +/physics/addPhysics positron-standard +/physics/addPhysics ion-LowE +/physics/addPhysics muon-standard +/physics/addPhysics decay + +# SETTING FOR THE HADRONIC PHYSICS MODELS +/physics/addPhysics proton-precompoundGEM + +/run/initialize + +# IF YOU WANT A RANGE SHIFTER PLEASE CHANGE +# THE FOLLOWIG PARAMETERS +# SETTING FOR THE RANGE SHIFTER + +#/beamLine/RangeShifter/thickness 4 cm +#/beamLine/RangeShifter/RSMat Water + +/run/beamOn 10 + + diff --git a/examples/advanced/hadrontherapy/precompoundGEMFermi.mac b/examples/advanced/hadrontherapy/precompoundGEMFermi.mac new file mode 100644 index 0000000000..56cc9b739a --- /dev/null +++ b/examples/advanced/hadrontherapy/precompoundGEMFermi.mac @@ -0,0 +1,47 @@ +#---------------------------------------------------------------------------- +# PHYSICS LIST: +# +# - LOW ENERGY ELECTROMAGNETIC PHYSICS +# - ELASTIC SCATTERING FOR ALL THE HADRONS AND IONS +# - INELASTIC SCATTERING ---> +# PRECOMPOUND PHYSICS LIST with GEM EVAPORATION MODEL and FERMI BREAK-UP MODEL +# +# * PRECOMPOUND + EVAPORATION(GEM MODEL) + FERMI BREAK-UP FOR PROTONS, +# NEUTRONS AND PIONS +# +# * LEP MODEL UP TO 100 MEV AND BINARY ION MODEL BETWEEN 80 MEV AND 40. GEV +# FOR DEUTERON, TRITON, HE3, ALPHA +# +# * FISSION AND HADRON CAPTURE FOR NEUTRONS BETWEEN 0. MEV AND 100. TEV +# +# +#------------------------------------------------------------------------------- + + +/control/verbose 1 +/tracking/verbose 0 +/run/verbose 0 +/event/verbose 0 + +# SETTING FOR THE PHYSICS MODELS +/physics/addPhysics photon-epdl +/physics/addPhysics electron-eedl +/physics/addPhysics positron-standard +/physics/addPhysics ion-LowE +/physics/addPhysics muon-standard +/physics/addPhysics decay + +# SETTING FOR THE PARTICULAR HADRONIC MODEL +/physics/addPhysics proton-precompoundGEMFermi + +/run/initialize + +# IF YOU WANT A RANGE SHIFTER PLEASE CHANGE +# THE FOLLOWIG PARAMETERS +# SETTING FOR THE RANGE SHIFTER +#/beamLine/RangeShifter/thickness 4 cm +#/beamLine/RangeShifter/RSMat Water + +/run/beamOn 10 + + diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDecay.cc b/examples/advanced/hadrontherapy/src/Decay.cc old mode 100644 new mode 100755 similarity index 77% rename from examples/advanced/hadrontherapy/src/HadrontherapyDecay.cc rename to examples/advanced/hadrontherapy/src/Decay.cc index e70dd06998..702a71085f --- a/examples/advanced/hadrontherapy/src/HadrontherapyDecay.cc +++ b/examples/advanced/hadrontherapy/src/Decay.cc @@ -37,36 +37,40 @@ // // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#include "HadrontherapyDecay.hh" -#include "G4ProcessManager.hh" -#include "globals.hh" -#include "G4ios.hh" +#include "Decay.hh" #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" +#include "G4Decay.hh" -HadrontherapyDecay::HadrontherapyDecay(const G4String& name): G4VPhysicsConstructor(name) -{ } -HadrontherapyDecay::~HadrontherapyDecay() -{ } +Decay::Decay(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "DECAY PROCESS: G4Decay (unstable particles)" + << G4endl; +} -void HadrontherapyDecay::ConstructProcess() +Decay::~Decay() +{} + +void Decay::ConstructProcess() { - // Add Decay Process - G4Decay* theDecayProcess = new G4Decay(); + G4Decay* decayProcess = new G4Decay(); theParticleIterator -> reset(); while( (*theParticleIterator)() ) { G4ParticleDefinition* particle = theParticleIterator -> value(); - G4ProcessManager* pmanager = particle -> GetProcessManager(); - if (theDecayProcess -> IsApplicable(*particle) && !particle->IsShortLived()) + G4ProcessManager* processManager = particle -> GetProcessManager(); + + if ( decayProcess -> IsApplicable(*particle) && + !particle -> IsShortLived() ) { G4String name = particle -> GetParticleName(); - pmanager -> AddProcess(theDecayProcess); - // set ordering for PostStepDoIt and AtRestDoIt - pmanager -> SetProcessOrdering(theDecayProcess, idxPostStep); - pmanager -> SetProcessOrdering(theDecayProcess, idxAtRest); + processManager -> AddProcess(decayProcess); + + processManager -> SetProcessOrdering(decayProcess, idxPostStep); + processManager -> SetProcessOrdering(decayProcess, idxAtRest); } } } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyElectronEEDL.cc b/examples/advanced/hadrontherapy/src/EMElectronEEDL.cc old mode 100644 new mode 100755 similarity index 65% rename from examples/advanced/hadrontherapy/src/HadrontherapyElectronEEDL.cc rename to examples/advanced/hadrontherapy/src/EMElectronEEDL.cc index 7a07b295d6..6569c06daa --- a/examples/advanced/hadrontherapy/src/HadrontherapyElectronEEDL.cc +++ b/examples/advanced/hadrontherapy/src/EMElectronEEDL.cc @@ -38,7 +38,7 @@ // * cirrone@lns.infn.it // -------------------------------------------------------------- -#include "HadrontherapyElectronEEDL.hh" +#include "EMElectronEEDL.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" #include "G4MultipleScattering.hh" @@ -46,31 +46,41 @@ #include "G4LowEnergyBremsstrahlung.hh" #include "G4StepLimiter.hh" -HadrontherapyElectronEEDL::HadrontherapyElectronEEDL(const G4String& name): G4VPhysicsConstructor(name) -{ } -HadrontherapyElectronEEDL::~HadrontherapyElectronEEDL() -{ } - -void HadrontherapyElectronEEDL::ConstructProcess() -{ - // Add electromagnetic processes for electrons - Low Energy Package, EEDL libraries - - theParticleIterator->reset(); - - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator -> value(); - G4ProcessManager* manager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - - if (particleName == "e-") - { - manager -> AddProcess(new G4MultipleScattering, -1, 1,1); - manager -> AddProcess(new G4LowEnergyIonisation, -1, 2,2); - G4LowEnergyBremsstrahlung* brem = new G4LowEnergyBremsstrahlung(); - manager -> AddProcess(brem,-1,-1,3); - manager -> AddProcess(new G4StepLimiter(), -1,-1, 3); - } - } +EMElectronEEDL::EMElectronEEDL(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (electron)" + << G4endl + << " G4LowEnergyIonisation (electron)" + << G4endl + << " G4LowEnergyBremsstrahlung (electron)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +EMElectronEEDL::~EMElectronEEDL() +{ } + +void EMElectronEEDL::ConstructProcess() +{ + + // **************** + // *** Electron *** + // **************** + + G4MultipleScattering* electronMultipScatProcess = new G4MultipleScattering(); + G4LowEnergyIonisation* electronIonisationProcess = new G4LowEnergyIonisation(); + G4LowEnergyBremsstrahlung* electronBremsstrProcess = new G4LowEnergyBremsstrahlung(); + + G4StepLimiter* electronStepLimiter = new G4StepLimiter(); + + G4ParticleDefinition* particle = G4Electron::Electron(); + G4ProcessManager* processManager = particle -> GetProcessManager(); + processManager -> AddProcess(electronMultipScatProcess, -1, 1, 1); + processManager -> AddProcess(electronIonisationProcess, -1, 2, 2); + processManager -> AddProcess(electronBremsstrProcess, -1, -1, 3); + processManager -> AddProcess(electronStepLimiter, -1, -1, 3); + } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyElectronPenelope.cc b/examples/advanced/hadrontherapy/src/EMElectronPenelope.cc old mode 100644 new mode 100755 similarity index 65% rename from examples/advanced/hadrontherapy/src/HadrontherapyElectronPenelope.cc rename to examples/advanced/hadrontherapy/src/EMElectronPenelope.cc index a86384314c..18cd08c8aa --- a/examples/advanced/hadrontherapy/src/HadrontherapyElectronPenelope.cc +++ b/examples/advanced/hadrontherapy/src/EMElectronPenelope.cc @@ -38,43 +38,49 @@ // * cirrone@lns.infn.it // -------------------------------------------------------------- -#include "HadrontherapyElectronPenelope.hh" +#include "EMElectronPenelope.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" #include "G4MultipleScattering.hh" #include "G4PenelopeIonisation.hh" #include "G4PenelopeBremsstrahlung.hh" -#include "G4PenelopeAnnihilation.hh" #include "G4StepLimiter.hh" -HadrontherapyElectronPenelope::HadrontherapyElectronPenelope(const G4String& name): -G4VPhysicsConstructor(name) -{ } -HadrontherapyElectronPenelope::~HadrontherapyElectronPenelope() -{ } - -void HadrontherapyElectronPenelope::ConstructProcess() -{ - - - theParticleIterator->reset(); - - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator -> value(); - G4ProcessManager* manager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - - if (particleName == "e-") - { - manager -> AddProcess(new G4MultipleScattering, -1, 1,1); - G4PenelopeIonisation* ioni = new G4PenelopeIonisation(); - G4PenelopeBremsstrahlung* brem = new G4PenelopeBremsstrahlung(); - manager -> AddProcess(ioni, -1, 2,2); - manager -> AddProcess(brem, -1,-1,3); - manager->AddProcess(new G4MultipleScattering, -1, 1,1); - manager->AddProcess(new G4StepLimiter(), -1,-1,3); - } - } +EMElectronPenelope::EMElectronPenelope(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (electron)" + << G4endl + << " G4PenelopeIonisation (electron)" + << G4endl + << " G4PenelopeBremsstrahlung (electron)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +EMElectronPenelope::~EMElectronPenelope() +{ } + +void EMElectronPenelope::ConstructProcess() +{ + + // **************** + // *** Electron *** + // **************** + + G4MultipleScattering* electronMultipScatProcess = new G4MultipleScattering(); + G4PenelopeIonisation* electronIonisationProcess = new G4PenelopeIonisation(); + G4PenelopeBremsstrahlung* electronBremsstrProcess = new G4PenelopeBremsstrahlung(); + + G4StepLimiter* electronStepLimiter = new G4StepLimiter(); + + G4ParticleDefinition* particle = G4Electron::Electron(); + G4ProcessManager* processManager = particle -> GetProcessManager(); + processManager -> AddProcess(electronMultipScatProcess, -1, 1, 1); + processManager -> AddProcess(electronIonisationProcess, -1, 2, 2); + processManager -> AddProcess(electronBremsstrProcess, -1, -1, 3); + processManager -> AddProcess(electronStepLimiter, -1, -1, 3); + } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyElectronStandard.cc b/examples/advanced/hadrontherapy/src/EMElectronStandard.cc old mode 100644 new mode 100755 similarity index 63% rename from examples/advanced/hadrontherapy/src/HadrontherapyElectronStandard.cc rename to examples/advanced/hadrontherapy/src/EMElectronStandard.cc index 0d42966ff1..f74da34b03 --- a/examples/advanced/hadrontherapy/src/HadrontherapyElectronStandard.cc +++ b/examples/advanced/hadrontherapy/src/EMElectronStandard.cc @@ -37,38 +37,53 @@ // * cirrone@lns.infn.it // -------------------------------------------------------------- -#include "HadrontherapyElectronStandard.hh" +#include "EMElectronStandard.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" #include "G4MultipleScattering.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" #include "G4StepLimiter.hh" +#include "G4EmProcessOptions.hh" -HadrontherapyElectronStandard::HadrontherapyElectronStandard(const G4String& name): G4VPhysicsConstructor(name) -{ } -HadrontherapyElectronStandard::~HadrontherapyElectronStandard() -{ } - -void HadrontherapyElectronStandard::ConstructProcess() -{ - // Add standard processes for electrons - - theParticleIterator -> reset(); - - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* manager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "e-") - { - manager->AddProcess(new G4MultipleScattering, -1, 1,1); - manager->AddProcess(new G4eIonisation, -1, 2,2); - manager->AddProcess(new G4eBremsstrahlung, -1,-1,3); - manager->AddProcess(new G4StepLimiter(), -1,-1, 3); - } - } +EMElectronStandard::EMElectronStandard(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (electron)" + << G4endl + << " G4eIonisation (electron)" + << G4endl + << " G4eBremsstrahlung (electron)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +EMElectronStandard::~EMElectronStandard() +{ } + +void EMElectronStandard::ConstructProcess() +{ + + // **************** + // *** Electron *** + // **************** + + G4EmProcessOptions* electronEmProcessOptions = new G4EmProcessOptions(); + electronEmProcessOptions -> SetDEDXBinning(480); + + G4MultipleScattering* electronMultipScatProcess = new G4MultipleScattering(); + G4eIonisation* electronIonisationProcess = new G4eIonisation(); + G4eBremsstrahlung* electronBremsstrProcess = new G4eBremsstrahlung(); + + G4StepLimiter* electronStepLimiter = new G4StepLimiter(); + + G4ParticleDefinition* particle = G4Electron::Electron(); + G4ProcessManager* processManager = particle -> GetProcessManager(); + processManager -> AddProcess(electronMultipScatProcess, -1, 1, 1); + processManager -> AddProcess(electronIonisationProcess, -1, 2, 2); + processManager -> AddProcess(electronBremsstrProcess, -1, -1, 3); + processManager -> AddProcess(electronStepLimiter, -1, -1, 3); + } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyIonLowE.cc b/examples/advanced/hadrontherapy/src/EMHadronIonLowEICRU49.cc old mode 100644 new mode 100755 similarity index 63% rename from examples/advanced/hadrontherapy/src/HadrontherapyIonLowE.cc rename to examples/advanced/hadrontherapy/src/EMHadronIonLowEICRU49.cc index 8f04528231..0ac0f499e7 --- a/examples/advanced/hadrontherapy/src/HadrontherapyIonLowE.cc +++ b/examples/advanced/hadrontherapy/src/EMHadronIonLowEICRU49.cc @@ -38,56 +38,67 @@ // * cirrone@lns.infn.it // -------------------------------------------------------------- -#include "HadrontherapyIonLowE.hh" +#include "EMHadronIonLowEICRU49.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" #include "G4MultipleScattering.hh" #include "G4hLowEnergyIonisation.hh" -#include "G4hIonisation.hh" -#include "G4hLowEnergyLoss.hh" #include "G4StepLimiter.hh" -HadrontherapyIonLowE::HadrontherapyIonLowE(const G4String& name): G4VPhysicsConstructor(name) + +EMHadronIonLowEICRU49::EMHadronIonLowEICRU49(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (ions and charged hadrons)" + << G4endl + << " G4hLowEnergyIonisation (ions and charged hadrons)" + << G4endl + << " (applying ICRU49 stopping power parametrisations)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +EMHadronIonLowEICRU49::~EMHadronIonLowEICRU49() { } -HadrontherapyIonLowE::~HadrontherapyIonLowE() -{ } - -void HadrontherapyIonLowE::ConstructProcess() +void EMHadronIonLowEICRU49::ConstructProcess() { + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // ******************************** + // *** Charged Hadrons and Ions *** + // ******************************** + + G4VProcess* hadronIonMultipleScatProcess = new G4MultipleScattering(); + G4hLowEnergyIonisation* hadronIonIonisationProcess = new G4hLowEnergyIonisation(); + hadronIonIonisationProcess -> SetNuclearStoppingOn(); + + G4StepLimiter* hadronIonStepLimiter = new G4StepLimiter(); + theParticleIterator -> reset(); while( (*theParticleIterator)() ) { - G4ParticleDefinition* particle = theParticleIterator -> value(); - - G4ProcessManager* manager = particle -> GetProcessManager(); - + particle = theParticleIterator -> value(); + processManager = particle -> GetProcessManager(); G4String particleName = particle -> GetParticleName(); G4double charge = particle -> GetPDGCharge(); - - // Electromagnetic interactions for protons, pions, generic hadrons - // deuteron, triton, alpha particles, He3, ions. - - if (( charge != 0. ) && particleName != "e+" && particleName != "mu+" && - particleName != "e-" && particleName != "mu-") + + if (charge != 0.0 && + particleName != "e+" && + particleName != "mu+" && + particleName != "e-" && + particleName != "mu-") { if((!particle -> IsShortLived()) && (particle -> GetParticleName() != "chargedgeantino")) - { - // ***** Ionisation ***** // - // ICRU49 parameterisation is the default option - G4hLowEnergyIonisation* ionisation = new G4hLowEnergyIonisation(); - // Set the nuclear stopping power - ionisation -> SetNuclearStoppingOn() ; - - // ***** Multiple scattering ***** // - G4VProcess* multipleScattering = new G4MultipleScattering(); - - // Activate the processes - manager -> AddProcess(multipleScattering, -1,1,1); - manager -> AddProcess(ionisation, -1,2,2); - manager -> AddProcess(new G4StepLimiter(),-1,-1, 3); + { + processManager -> AddProcess(hadronIonMultipleScatProcess, -1, 1, 1); + processManager -> AddProcess(hadronIonIonisationProcess, -1, 2, 2); + processManager -> AddProcess(hadronIonStepLimiter, -1, -1, 3); } } } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyIonLowEZiegler1977.cc b/examples/advanced/hadrontherapy/src/EMHadronIonLowEZiegler1977.cc old mode 100644 new mode 100755 similarity index 60% rename from examples/advanced/hadrontherapy/src/HadrontherapyIonLowEZiegler1977.cc rename to examples/advanced/hadrontherapy/src/EMHadronIonLowEZiegler1977.cc index 2f15fb26e3..b26fef99b5 --- a/examples/advanced/hadrontherapy/src/HadrontherapyIonLowEZiegler1977.cc +++ b/examples/advanced/hadrontherapy/src/EMHadronIonLowEZiegler1977.cc @@ -38,63 +38,71 @@ // * cirrone@lns.infn.it // -------------------------------------------------------------- -#include "HadrontherapyIonLowEZiegler1977.hh" +#include "EMHadronIonLowEZiegler1977.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" #include "G4MultipleScattering.hh" #include "G4hLowEnergyIonisation.hh" -#include "G4hIonisation.hh" -#include "G4hLowEnergyLoss.hh" #include "G4StepLimiter.hh" #include "G4hZiegler1977p.hh" -HadrontherapyIonLowEZiegler1977::HadrontherapyIonLowEZiegler1977(const G4String& name): G4VPhysicsConstructor(name) + +EMHadronIonLowEZiegler1977::EMHadronIonLowEZiegler1977(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (ions and charged hadrons)" + << G4endl + << " G4hLowEnergyIonisation (ions and charged hadrons)" + << G4endl + << " (applying Ziegler77 stopping power parametrisations)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +EMHadronIonLowEZiegler1977::~EMHadronIonLowEZiegler1977() { } -HadrontherapyIonLowEZiegler1977::~HadrontherapyIonLowEZiegler1977() -{ } - -void HadrontherapyIonLowEZiegler1977::ConstructProcess() +void EMHadronIonLowEZiegler1977::ConstructProcess() { + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // ******************************** + // *** Charged Hadrons and Ions *** + // ******************************** + + G4VProcess* hadronIonMultipleScatProcess = new G4MultipleScattering(); + + G4StepLimiter* hadronIonStepLimiter = new G4StepLimiter(); + theParticleIterator -> reset(); while( (*theParticleIterator)() ) { - G4ParticleDefinition* particle = theParticleIterator -> value(); - G4ProcessManager* manager = particle -> GetProcessManager(); + particle = theParticleIterator -> value(); + processManager = particle -> GetProcessManager(); G4String particleName = particle -> GetParticleName(); G4double charge = particle -> GetPDGCharge(); - - // protons - if (particleName == "proton") - { - G4hLowEnergyIonisation* ionisation = new G4hLowEnergyIonisation(); - // Electronic Stopping Power: Ziegler 1977 parameterisation - // Nuclear stopping power: Ziegler 1977 - ionisation -> SetElectronicStoppingPowerModel(particle, "Ziegler1977p"); - ionisation -> SetNuclearStoppingPowerModel("Ziegler1977"); - ionisation -> SetNuclearStoppingOn(); - - G4VProcess* multipleScattering = new G4MultipleScattering(); - manager -> AddProcess(multipleScattering, -1,1,1); - manager -> AddProcess(ionisation, -1,2,2); - manager -> AddProcess(new G4StepLimiter(),-1,-1, 3); - } - - // ions, alpha, pions, kaons, generic ion..... - if (( charge != 0. ) && particleName != "e+" && particleName != "mu+" && - particleName != "e-" && particleName != "mu-" && particleName != "proton") + + if (charge != 0.0 && + particleName != "e+" && + particleName != "mu+" && + particleName != "e-" && + particleName != "mu-") { if((!particle -> IsShortLived()) && (particle -> GetParticleName() != "chargedgeantino")) - { - G4hLowEnergyIonisation* ionisation = new G4hLowEnergyIonisation(); - ionisation -> SetNuclearStoppingOn() ; - - G4VProcess* multipleScattering = new G4MultipleScattering(); - manager -> AddProcess(multipleScattering, -1,1,1); - manager -> AddProcess(ionisation, -1,2,2); - manager -> AddProcess(new G4StepLimiter(),-1,-1, 3); + { + G4hLowEnergyIonisation* hadronIonIonisationProcess = new G4hLowEnergyIonisation(); + hadronIonIonisationProcess -> SetElectronicStoppingPowerModel(particle, "Ziegler1977p"); + hadronIonIonisationProcess -> SetNuclearStoppingPowerModel("Ziegler1977"); + hadronIonIonisationProcess -> SetNuclearStoppingOn(); + + processManager -> AddProcess(hadronIonMultipleScatProcess, -1, 1, 1); + processManager -> AddProcess(hadronIonIonisationProcess, -1, 2, 2); + processManager -> AddProcess(hadronIonStepLimiter, -1, -1, 3); } } } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyIonLowEZiegler1985.cc b/examples/advanced/hadrontherapy/src/EMHadronIonLowEZiegler1985.cc old mode 100644 new mode 100755 similarity index 60% rename from examples/advanced/hadrontherapy/src/HadrontherapyIonLowEZiegler1985.cc rename to examples/advanced/hadrontherapy/src/EMHadronIonLowEZiegler1985.cc index 6b6e3c4006..0dab822141 --- a/examples/advanced/hadrontherapy/src/HadrontherapyIonLowEZiegler1985.cc +++ b/examples/advanced/hadrontherapy/src/EMHadronIonLowEZiegler1985.cc @@ -38,64 +38,72 @@ // * cirrone@lns.infn.it // -------------------------------------------------------------- -#include "HadrontherapyIonLowEZiegler1985.hh" +#include "EMHadronIonLowEZiegler1985.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" #include "G4MultipleScattering.hh" #include "G4hLowEnergyIonisation.hh" #include "G4hIonisation.hh" -#include "G4hLowEnergyLoss.hh" #include "G4StepLimiter.hh" #include "G4hZiegler1985p.hh" -HadrontherapyIonLowEZiegler1985::HadrontherapyIonLowEZiegler1985(const G4String& name): G4VPhysicsConstructor(name) + +EMHadronIonLowEZiegler1985::EMHadronIonLowEZiegler1985(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (ions and charged hadrons)" + << G4endl + << " G4hLowEnergyIonisation (ions and charged hadrons)" + << G4endl + << " (applying Ziegler85 stopping power parametrisations)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +EMHadronIonLowEZiegler1985::~EMHadronIonLowEZiegler1985() { } -HadrontherapyIonLowEZiegler1985::~HadrontherapyIonLowEZiegler1985() -{ } - -void HadrontherapyIonLowEZiegler1985::ConstructProcess() +void EMHadronIonLowEZiegler1985::ConstructProcess() { + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // ******************************** + // *** Charged Hadrons and Ions *** + // ******************************** + + G4VProcess* hadronIonMultipleScatProcess = new G4MultipleScattering(); + + G4StepLimiter* hadronIonStepLimiter = new G4StepLimiter(); + theParticleIterator -> reset(); while( (*theParticleIterator)() ) { - G4ParticleDefinition* particle = theParticleIterator -> value(); - G4ProcessManager* manager = particle -> GetProcessManager(); + particle = theParticleIterator -> value(); + processManager = particle -> GetProcessManager(); G4String particleName = particle -> GetParticleName(); G4double charge = particle -> GetPDGCharge(); - - // protons - if (particleName == "proton") - { - G4hLowEnergyIonisation* ionisation = new G4hLowEnergyIonisation(); - // Electronic Stopping Power: Ziegler 1985 parameterisation - // Nuclear stopping power: Ziegler 1985 parameterisation - ionisation -> SetElectronicStoppingPowerModel(particle, "Ziegler1985p"); - ionisation -> SetNuclearStoppingPowerModel("Ziegler1985"); - ionisation -> SetNuclearStoppingOn() ; - - G4VProcess* multipleScattering = new G4MultipleScattering(); - manager -> AddProcess(multipleScattering, -1,1,1); - manager -> AddProcess(ionisation, -1,2,2); - manager -> AddProcess(new G4StepLimiter(),-1,-1, 3); - } - - // ions, alpha, pions, kaons, generic ions..... - if (( charge != 0. ) && (particleName != "e+") && (particleName != "mu+") && - (particleName != "e-") && (particleName != "mu-") && (particleName != "proton")) + + if (charge != 0.0 && + particleName != "e+" && + particleName != "mu+" && + particleName != "e-" && + particleName != "mu-") { if((!particle -> IsShortLived()) && (particle -> GetParticleName() != "chargedgeantino")) - { - G4hLowEnergyIonisation* ionisation = new G4hLowEnergyIonisation(); - - ionisation -> SetNuclearStoppingOn() ; - - G4VProcess* multipleScattering = new G4MultipleScattering(); - manager -> AddProcess(multipleScattering, -1,1,1); - manager -> AddProcess(ionisation, -1,2,2); - manager -> AddProcess(new G4StepLimiter(),-1,-1, 3); + { + G4hLowEnergyIonisation* hadronIonIonisationProcess = new G4hLowEnergyIonisation(); + hadronIonIonisationProcess -> SetElectronicStoppingPowerModel(particle, "Ziegler1985p"); + hadronIonIonisationProcess -> SetNuclearStoppingPowerModel("Ziegler1985"); + hadronIonIonisationProcess -> SetNuclearStoppingOn(); + + processManager -> AddProcess(hadronIonMultipleScatProcess, -1, 1, 1); + processManager -> AddProcess(hadronIonIonisationProcess, -1, 2, 2); + processManager -> AddProcess(hadronIonStepLimiter, -1, -1, 3); } } } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyIonStandard.cc b/examples/advanced/hadrontherapy/src/EMHadronIonStandard.cc old mode 100644 new mode 100755 similarity index 65% rename from examples/advanced/hadrontherapy/src/HadrontherapyIonStandard.cc rename to examples/advanced/hadrontherapy/src/EMHadronIonStandard.cc index 88b01482fa..c2cbdfaf86 --- a/examples/advanced/hadrontherapy/src/HadrontherapyIonStandard.cc +++ b/examples/advanced/hadrontherapy/src/EMHadronIonStandard.cc @@ -38,7 +38,7 @@ // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#include "HadrontherapyIonStandard.hh" +#include "EMHadronIonStandard.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" #include "G4MultipleScattering.hh" @@ -46,21 +46,42 @@ #include "G4ionIonisation.hh" #include "G4MultipleScattering.hh" #include "G4StepLimiter.hh" +#include "G4EmProcessOptions.hh" -HadrontherapyIonStandard::HadrontherapyIonStandard(const G4String& name): G4VPhysicsConstructor(name) + +EMHadronIonStandard::EMHadronIonStandard(const G4String& name): + G4VPhysicsConstructor(name) { } -HadrontherapyIonStandard::~HadrontherapyIonStandard() +EMHadronIonStandard::~EMHadronIonStandard() { } -void HadrontherapyIonStandard::ConstructProcess() +void EMHadronIonStandard::ConstructProcess() { + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // ******************************** + // *** Charged Hadrons and Ions *** + // ******************************** + + G4EmProcessOptions* hadronIonEmProcessOptions = new G4EmProcessOptions(); + hadronIonEmProcessOptions -> SetDEDXBinning(480); + + G4VProcess* hadronIonMultipleScatProcess = new G4MultipleScattering(); + G4ionIonisation* ionIonisationProcess = new G4ionIonisation(); + G4hIonisation* hadronIonisationProcess = new G4hIonisation(); + + G4StepLimiter* hadronIonStepLimiter = new G4StepLimiter(); + + theParticleIterator -> reset(); while( (*theParticleIterator)() ) { - G4ParticleDefinition* particle = theParticleIterator -> value(); - G4ProcessManager* manager = particle -> GetProcessManager(); + particle = theParticleIterator -> value(); + processManager = particle -> GetProcessManager(); G4String particleName = particle -> GetParticleName(); G4double charge = particle -> GetPDGCharge(); @@ -68,26 +89,24 @@ void HadrontherapyIonStandard::ConstructProcess() particleName == "alpha" || particleName == "He3") { - G4ionIonisation* ionisation = new G4ionIonisation(); - G4VProcess* multipleScattering = new G4MultipleScattering(); - manager -> AddProcess(multipleScattering, -1,1,1); - manager -> AddProcess(ionisation, -1,2,2); - manager -> AddProcess(new G4StepLimiter(),-1,-1, 3); + processManager -> AddProcess(hadronIonMultipleScatProcess, -1, 1, 1); + processManager -> AddProcess(ionIonisationProcess, -1, 2, 2); + processManager -> AddProcess(hadronIonStepLimiter, -1, -1, 3); } else { - //protons, triton, deuteron, pions and other hadrons - if (( charge != 0. ) && particleName != "e+" && particleName != "mu+" && - particleName != "e-" && particleName != "mu-") + if (charge != 0.0 && + particleName != "e+" && + particleName != "mu+" && + particleName != "e-" && + particleName != "mu-") { if((!particle -> IsShortLived()) && (particle -> GetParticleName() != "chargedgeantino")) { - G4hIonisation* ionisation = new G4hIonisation(); - G4VProcess* multipleScattering = new G4MultipleScattering(); - manager -> AddProcess(multipleScattering, -1,1,1); - manager -> AddProcess(ionisation, -1,2,2); - manager -> AddProcess(new G4StepLimiter(),-1,-1, 3); + processManager -> AddProcess(hadronIonMultipleScatProcess, -1, 1, 1); + processManager -> AddProcess(hadronIonisationProcess, -1, 2, 2); + processManager -> AddProcess(hadronIonStepLimiter, -1, -1, 3); } } } diff --git a/examples/advanced/hadrontherapy/src/EMMuonStandard.cc b/examples/advanced/hadrontherapy/src/EMMuonStandard.cc new file mode 100755 index 0000000000..0f65f23dec --- /dev/null +++ b/examples/advanced/hadrontherapy/src/EMMuonStandard.cc @@ -0,0 +1,138 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyMuonStandard.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "EMMuonStandard.hh" +#include "G4ParticleDefinition.hh" +#include "G4MuonPlus.hh" +#include "G4MuonMinus.hh" +#include "G4ProcessManager.hh" +#include "G4MultipleScattering.hh" +#include "G4MuIonisation.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuPairProduction.hh" +#include "G4StepLimiter.hh" +#include "G4EmProcessOptions.hh" + + +EMMuonStandard::EMMuonStandard(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (muon+/-)" + << G4endl + << " G4MuIonisation (muon+/-)" + << G4endl + << " G4MuBremsstrahlung (muon+/-)" + << G4endl + << " G4MuPairProduction (muon+/-)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +EMMuonStandard::~EMMuonStandard() +{ } + +void EMMuonStandard::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // *********************************** + // *** Muon+/-: Common Definitions *** + // *********************************** + + G4EmProcessOptions* muonEmProcessOptions = new G4EmProcessOptions; + muonEmProcessOptions -> SetDEDXBinning(480); + + G4MultipleScattering* muonMultipleScatteringProcess = new G4MultipleScattering(); + G4MuIonisation* muonIonisationProcess = new G4MuIonisation(); + G4MuBremsstrahlung* muonBremsstrahlungProcess = new G4MuBremsstrahlung(); + G4MuPairProduction* muonPairProductionProcess = new G4MuPairProduction(); + + G4StepLimiter* muonStepLimiter = new G4StepLimiter(); + + + // ************* + // *** Muon+ *** + // ************* + + particle = G4MuonPlus::MuonPlus(); + processManager = particle -> GetProcessManager(); + processManager -> AddProcess(muonMultipleScatteringProcess); + processManager -> AddProcess(muonIonisationProcess); + processManager -> AddProcess(muonBremsstrahlungProcess); + processManager -> AddProcess(muonPairProductionProcess); + processManager -> AddProcess(muonStepLimiter, -1, -1, 3); + + processManager -> SetProcessOrdering(muonMultipleScatteringProcess, idxAlongStep,1); + processManager -> SetProcessOrdering(muonIonisationProcess, idxAlongStep,2); + processManager -> SetProcessOrdering(muonBremsstrahlungProcess, idxAlongStep,3); + processManager -> SetProcessOrdering(muonPairProductionProcess, idxAlongStep,4); + + processManager -> SetProcessOrdering(muonMultipleScatteringProcess, idxPostStep,1); + processManager -> SetProcessOrdering(muonIonisationProcess, idxPostStep,2); + processManager -> SetProcessOrdering(muonBremsstrahlungProcess, idxPostStep,3); + processManager -> SetProcessOrdering(muonPairProductionProcess, idxPostStep,4); + + + // ************* + // *** Muon- *** + // ************* + + particle = G4MuonMinus::MuonMinus(); + processManager = particle -> GetProcessManager(); + processManager -> AddProcess(muonMultipleScatteringProcess); + processManager -> AddProcess(muonIonisationProcess); + processManager -> AddProcess(muonBremsstrahlungProcess); + processManager -> AddProcess(muonPairProductionProcess); + processManager -> AddProcess(muonStepLimiter, -1, -1, 3); + + processManager -> SetProcessOrdering(muonMultipleScatteringProcess, idxAlongStep,1); + processManager -> SetProcessOrdering(muonIonisationProcess, idxAlongStep,2); + processManager -> SetProcessOrdering(muonBremsstrahlungProcess, idxAlongStep,3); + processManager -> SetProcessOrdering(muonPairProductionProcess, idxAlongStep,4); + + processManager -> SetProcessOrdering(muonMultipleScatteringProcess, idxPostStep,1); + processManager -> SetProcessOrdering(muonIonisationProcess, idxPostStep,2); + processManager -> SetProcessOrdering(muonBremsstrahlungProcess, idxPostStep,3); + processManager -> SetProcessOrdering(muonPairProductionProcess, idxPostStep,4); + +} diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPhotonEPDL.cc b/examples/advanced/hadrontherapy/src/EMPhotonEPDL.cc old mode 100644 new mode 100755 similarity index 62% rename from examples/advanced/hadrontherapy/src/HadrontherapyPhotonEPDL.cc rename to examples/advanced/hadrontherapy/src/EMPhotonEPDL.cc index 7818f92f6e..dc1dd7b051 --- a/examples/advanced/hadrontherapy/src/HadrontherapyPhotonEPDL.cc +++ b/examples/advanced/hadrontherapy/src/EMPhotonEPDL.cc @@ -37,41 +37,56 @@ // // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#include "HadrontherapyPhotonEPDL.hh" + +#include "EMPhotonEPDL.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" +#include "G4Gamma.hh" #include "G4LowEnergyCompton.hh" #include "G4LowEnergyGammaConversion.hh" #include "G4LowEnergyPhotoElectric.hh" #include "G4LowEnergyRayleigh.hh" #include "G4StepLimiter.hh" -HadrontherapyPhotonEPDL::HadrontherapyPhotonEPDL(const G4String& name): G4VPhysicsConstructor(name) -{ } -HadrontherapyPhotonEPDL::~HadrontherapyPhotonEPDL() -{ } - -void HadrontherapyPhotonEPDL::ConstructProcess() -{ - // Add electromagnetic processes for photons, Low Energy Package, - // model based on EPDL Libraries - - theParticleIterator -> reset(); - - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator -> value(); - G4ProcessManager* manager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - - if (particleName == "gamma") - { - manager -> AddDiscreteProcess(new G4LowEnergyPhotoElectric); - manager -> AddDiscreteProcess(new G4LowEnergyCompton); - manager -> AddDiscreteProcess(new G4LowEnergyGammaConversion); - manager -> AddDiscreteProcess(new G4LowEnergyRayleigh); - manager -> AddProcess(new G4StepLimiter(),-1,-1, 3); - } - } +EMPhotonEPDL::EMPhotonEPDL(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4LowEnergyPhotoElectric (photon)" + << G4endl + << " G4LowEnergyCompton (photon)" + << G4endl + << " G4LowEnergyGammaConversion (photon)" + << G4endl + << " G4LowEnergyRayleigh (photon)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +EMPhotonEPDL::~EMPhotonEPDL() +{ } + +void EMPhotonEPDL::ConstructProcess() +{ + + // ************** + // *** Photon *** + // ************** + + G4LowEnergyPhotoElectric* photonPhotoElectricProcess = new G4LowEnergyPhotoElectric(); + G4LowEnergyCompton* photonComptonProcess = new G4LowEnergyCompton; + G4LowEnergyGammaConversion* photonGammaConvProcess = new G4LowEnergyGammaConversion; + G4LowEnergyRayleigh* photonRayleighProcess = new G4LowEnergyRayleigh; + + G4StepLimiter* photonStepLimiter = new G4StepLimiter(); + + G4ParticleDefinition* particle = G4Gamma::Gamma(); + G4ProcessManager* processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(photonPhotoElectricProcess); + processManager -> AddDiscreteProcess(photonComptonProcess); + processManager -> AddDiscreteProcess(photonGammaConvProcess); + processManager -> AddDiscreteProcess(photonRayleighProcess); + processManager -> AddProcess(photonStepLimiter, -1, -1, 3); + } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPhotonPenelope.cc b/examples/advanced/hadrontherapy/src/EMPhotonPenelope.cc old mode 100644 new mode 100755 similarity index 62% rename from examples/advanced/hadrontherapy/src/HadrontherapyPhotonPenelope.cc rename to examples/advanced/hadrontherapy/src/EMPhotonPenelope.cc index a1ac324477..0b9a804d21 --- a/examples/advanced/hadrontherapy/src/HadrontherapyPhotonPenelope.cc +++ b/examples/advanced/hadrontherapy/src/EMPhotonPenelope.cc @@ -38,40 +38,57 @@ // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#include "HadrontherapyPhotonPenelope.hh" +#include "EMPhotonPenelope.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" +#include "G4Gamma.hh" #include "G4PenelopeCompton.hh" #include "G4PenelopeGammaConversion.hh" #include "G4PenelopePhotoElectric.hh" #include "G4PenelopeRayleigh.hh" #include "G4StepLimiter.hh" -HadrontherapyPhotonPenelope::HadrontherapyPhotonPenelope(const G4String& name): G4VPhysicsConstructor(name) + +EMPhotonPenelope::EMPhotonPenelope(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4PenelopePhotoElectric (photon)" + << G4endl + << " G4PenelopeCompton (photon)" + << G4endl + << " G4PenelopeGammaConversion (photon)" + << G4endl + << " G4PenelopeRayleigh (photon)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +EMPhotonPenelope::~EMPhotonPenelope() { } -HadrontherapyPhotonPenelope::~HadrontherapyPhotonPenelope() -{ } - -void HadrontherapyPhotonPenelope::ConstructProcess() +void EMPhotonPenelope::ConstructProcess() { - theParticleIterator -> reset(); - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator -> value(); - G4ProcessManager* manager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - - if (particleName == "gamma") - { - manager -> AddDiscreteProcess(new G4PenelopePhotoElectric); - manager -> AddDiscreteProcess(new G4PenelopeCompton); - manager -> AddDiscreteProcess(new G4PenelopeGammaConversion); - manager -> AddDiscreteProcess(new G4PenelopeRayleigh); - manager -> AddProcess(new G4StepLimiter(),-1,-1, 3); - } - } + // ************** + // *** Photon *** + // ************** + + G4PenelopePhotoElectric* photonPhotoElectricProcess = new G4PenelopePhotoElectric(); + G4PenelopeCompton* photonComptonProcess = new G4PenelopeCompton; + G4PenelopeGammaConversion* photonGammaConvProcess = new G4PenelopeGammaConversion; + G4PenelopeRayleigh* photonRayleighProcess = new G4PenelopeRayleigh; + + G4StepLimiter* photonStepLimiter = new G4StepLimiter(); + + G4ParticleDefinition* particle = G4Gamma::Gamma(); + G4ProcessManager* processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(photonPhotoElectricProcess); + processManager -> AddDiscreteProcess(photonComptonProcess); + processManager -> AddDiscreteProcess(photonGammaConvProcess); + processManager -> AddDiscreteProcess(photonRayleighProcess); + processManager -> AddProcess(photonStepLimiter, -1, -1, 3); + } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPhotonStandard.cc b/examples/advanced/hadrontherapy/src/EMPhotonStandard.cc old mode 100644 new mode 100755 similarity index 63% rename from examples/advanced/hadrontherapy/src/HadrontherapyPhotonStandard.cc rename to examples/advanced/hadrontherapy/src/EMPhotonStandard.cc index 64f2bd06db..533ffddaba --- a/examples/advanced/hadrontherapy/src/HadrontherapyPhotonStandard.cc +++ b/examples/advanced/hadrontherapy/src/EMPhotonStandard.cc @@ -37,38 +37,55 @@ // // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#include "HadrontherapyPhotonStandard.hh" + +#include "EMPhotonStandard.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" +#include "G4Gamma.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" #include "G4StepLimiter.hh" +#include "G4EmProcessOptions.hh" -HadrontherapyPhotonStandard::HadrontherapyPhotonStandard(const G4String& name): G4VPhysicsConstructor(name) -{ } -HadrontherapyPhotonStandard::~HadrontherapyPhotonStandard() -{ } - -void HadrontherapyPhotonStandard::ConstructProcess() -{ - // Add standard processes for photons - - theParticleIterator -> reset(); - - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator -> value(); - G4ProcessManager* manager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - - if (particleName == "gamma") - { - manager -> AddDiscreteProcess(new G4PhotoElectricEffect); - manager -> AddDiscreteProcess(new G4ComptonScattering); - manager -> AddDiscreteProcess(new G4GammaConversion); - manager -> AddProcess(new G4StepLimiter(),-1,-1, 3); - } - } +EMPhotonStandard::EMPhotonStandard(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4PhotoElectricEffect (photon)" + << G4endl + << " G4ComptonScattering (photon)" + << G4endl + << " G4GammaConversion (photon)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +EMPhotonStandard::~EMPhotonStandard() +{ } + +void EMPhotonStandard::ConstructProcess() +{ + + // ************** + // *** Photon *** + // ************** + + G4EmProcessOptions* photonEmProcessOptions = new G4EmProcessOptions(); + photonEmProcessOptions -> SetDEDXBinning(480); + + G4PhotoElectricEffect* photonPhotoElectricProcess = new G4PhotoElectricEffect(); + G4ComptonScattering* photonComptonProcess = new G4ComptonScattering; + G4GammaConversion* photonGammaConvProcess = new G4GammaConversion; + + G4StepLimiter* photonStepLimiter = new G4StepLimiter(); + + G4ParticleDefinition* particle = G4Gamma::Gamma(); + G4ProcessManager* processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(photonPhotoElectricProcess); + processManager -> AddDiscreteProcess(photonComptonProcess); + processManager -> AddDiscreteProcess(photonGammaConvProcess); + processManager -> AddProcess(photonStepLimiter, -1, -1, 3); + } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPositronPenelope.cc b/examples/advanced/hadrontherapy/src/EMPositronPenelope.cc old mode 100644 new mode 100755 similarity index 62% rename from examples/advanced/hadrontherapy/src/HadrontherapyPositronPenelope.cc rename to examples/advanced/hadrontherapy/src/EMPositronPenelope.cc index fe8629c0e7..3c28322eac --- a/examples/advanced/hadrontherapy/src/HadrontherapyPositronPenelope.cc +++ b/examples/advanced/hadrontherapy/src/EMPositronPenelope.cc @@ -38,7 +38,7 @@ // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#include "HadrontherapyPositronPenelope.hh" +#include "EMPositronPenelope.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" #include "G4MultipleScattering.hh" @@ -47,30 +47,45 @@ #include "G4PenelopeAnnihilation.hh" #include "G4StepLimiter.hh" -HadrontherapyPositronPenelope::HadrontherapyPositronPenelope(const G4String& name): + +EMPositronPenelope::EMPositronPenelope(const G4String& name): G4VPhysicsConstructor(name) -{ } - -HadrontherapyPositronPenelope::~HadrontherapyPositronPenelope() -{ } - -void HadrontherapyPositronPenelope::ConstructProcess() -{ - theParticleIterator->reset(); - - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* manager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "e+") - { - manager -> AddProcess(new G4MultipleScattering, -1, 1,1); - manager -> AddProcess(new G4PenelopeIonisation, -1, 2,2); - manager -> AddProcess(new G4PenelopeBremsstrahlung,-1,-1,3); - manager -> AddProcess(new G4PenelopeAnnihilation, 0,-1,4); - manager -> AddProcess(new G4StepLimiter(), -1,-1,3); - } - } +{ + G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (positron)" + << G4endl + << " G4PenelopeIonisation (positron)" + << G4endl + << " G4PenelopeBremsstrahlung (positron)" + << G4endl + << " G4PenelopeAnnihilation (positron)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +EMPositronPenelope::~EMPositronPenelope() +{ } + +void EMPositronPenelope::ConstructProcess() +{ + + // **************** + // *** Positron *** + // **************** + + G4MultipleScattering* positronMultipScatProcess = new G4MultipleScattering(); + G4PenelopeIonisation* positronIonisationProcess = new G4PenelopeIonisation(); + G4PenelopeBremsstrahlung* positronBremsstrProcess = new G4PenelopeBremsstrahlung(); + G4PenelopeAnnihilation* positronAnnihilationProcess = new G4PenelopeAnnihilation(); + + G4StepLimiter* positronStepLimiter = new G4StepLimiter(); + + G4ParticleDefinition* particle = G4Positron::Positron(); + G4ProcessManager* processManager = particle -> GetProcessManager(); + processManager -> AddProcess(positronMultipScatProcess, -1, 1, 1); + processManager -> AddProcess(positronIonisationProcess, -1, 2, 2); + processManager -> AddProcess(positronBremsstrProcess, -1, -1, 3); + processManager -> AddProcess(positronAnnihilationProcess, 0, -1, 4); + processManager -> AddProcess(positronStepLimiter, -1, -1, 3); + } diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyPositronStandard.cc b/examples/advanced/hadrontherapy/src/EMPositronStandard.cc old mode 100644 new mode 100755 similarity index 60% rename from examples/advanced/hadrontherapy/src/HadrontherapyPositronStandard.cc rename to examples/advanced/hadrontherapy/src/EMPositronStandard.cc index a45220aab9..721f7e76ff --- a/examples/advanced/hadrontherapy/src/HadrontherapyPositronStandard.cc +++ b/examples/advanced/hadrontherapy/src/EMPositronStandard.cc @@ -37,7 +37,8 @@ // // * cirrone@lns.infn.it // ---------------------------------------------------------------------------- -#include "HadrontherapyPositronStandard.hh" + +#include "EMPositronStandard.hh" #include "G4ProcessManager.hh" #include "G4ParticleDefinition.hh" #include "G4MultipleScattering.hh" @@ -45,32 +46,50 @@ #include "G4eBremsstrahlung.hh" #include "G4eplusAnnihilation.hh" #include "G4StepLimiter.hh" +#include "G4EmProcessOptions.hh" -HadrontherapyPositronStandard::HadrontherapyPositronStandard(const G4String& name): G4VPhysicsConstructor(name) -{ } -HadrontherapyPositronStandard::~HadrontherapyPositronStandard() -{ } - -void HadrontherapyPositronStandard::ConstructProcess() -{ - // Add standard processes for positrons - - theParticleIterator -> reset(); - - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator -> value(); - G4ProcessManager* manager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - - if (particleName == "e+") - { - manager -> AddProcess(new G4MultipleScattering, -1, 1,1); - manager -> AddProcess(new G4eIonisation, -1, 2,2); - manager -> AddProcess(new G4eBremsstrahlung, -1,-1,3); - manager -> AddProcess(new G4eplusAnnihilation, 0,-1,4); - manager -> AddProcess(new G4StepLimiter(), -1,-1,3); - } - } +EMPositronStandard::EMPositronStandard(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "ELECTROMAGNETIC PROCESS(ES): G4MultipleScattering (positron)" + << G4endl + << " G4eIonisation (positron)" + << G4endl + << " G4eBremsstrahlung (positron)" + << G4endl + << " G4eplusAnnihilation (positron)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +EMPositronStandard::~EMPositronStandard() +{ } + +void EMPositronStandard::ConstructProcess() +{ + + // **************** + // *** Positron *** + // **************** + + G4EmProcessOptions* positronEmProcessOptions = new G4EmProcessOptions(); + positronEmProcessOptions -> SetDEDXBinning(480); + + G4MultipleScattering* positronMultipScatProcess = new G4MultipleScattering(); + G4eIonisation* positronIonisationProcess = new G4eIonisation(); + G4eBremsstrahlung* positronBremsstrProcess = new G4eBremsstrahlung(); + G4eplusAnnihilation* positronAnnihilationProcess = new G4eplusAnnihilation(); + + G4StepLimiter* positronStepLimiter = new G4StepLimiter(); + + G4ParticleDefinition* particle = G4Positron::Positron(); + G4ProcessManager* processManager = particle -> GetProcessManager(); + processManager -> AddProcess(positronMultipScatProcess, -1, 1, 1); + processManager -> AddProcess(positronIonisationProcess, -1, 2, 2); + processManager -> AddProcess(positronBremsstrProcess, -1, -1, 3); + processManager -> AddProcess(positronAnnihilationProcess, 0, -1, 4); + processManager -> AddProcess(positronStepLimiter, -1, -1, 3); + } diff --git a/examples/advanced/hadrontherapy/src/HEHadronIonBertiniElastic.cc b/examples/advanced/hadrontherapy/src/HEHadronIonBertiniElastic.cc new file mode 100755 index 0000000000..d2cc0f7aeb --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HEHadronIonBertiniElastic.cc @@ -0,0 +1,121 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyHadronBertiniElastic.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HEHadronIonBertiniElastic.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4LElastic.hh" +#include "G4HadronElasticProcess.hh" +#include "G4CascadeElasticInterface.hh" + + +HEHadronIonBertiniElastic::HEHadronIonBertiniElastic(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC ELASTIC PROCESS(ES): G4HadronElasticProcess (all considere hadrons and ions)" + << G4endl + << "APPLIED MODEL(S): G4CascadeElasticInterface (hadrons)" + << G4endl + << " G4LElastic (ions)" + << G4endl; +} + +HEHadronIonBertiniElastic::~HEHadronIonBertiniElastic() +{} + +void HEHadronIonBertiniElastic::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // ********************************************** + // *** Proton, Neutron, Pion plus, Pion minus *** + // ********************************************** + + G4HadronElasticProcess* hadronElasticProcess = new G4HadronElasticProcess(); + G4CascadeElasticInterface* hadronBertiniElasticModel = new G4CascadeElasticInterface; + hadronElasticProcess -> RegisterMe(hadronBertiniElasticModel); + + particle = G4Proton::Proton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(hadronElasticProcess); + + particle = G4Neutron::Neutron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(hadronElasticProcess); + + particle = G4PionPlus::PionPlus(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(hadronElasticProcess); + + particle = G4PionMinus::PionMinus(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(hadronElasticProcess); + + + // ******************************* + // *** Deuteron, Triton, Alpha *** + // ******************************* + + G4HadronElasticProcess* ionElasticProcess = new G4HadronElasticProcess(); + G4LElastic* ionLElasticModel = new G4LElastic(); + ionElasticProcess -> RegisterMe(ionLElasticModel); + + particle = G4Deuteron::Deuteron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(ionElasticProcess); + + particle = G4Triton::Triton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(ionElasticProcess); + + particle = G4Alpha::Alpha(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(ionElasticProcess); + + // particle = G4He3::He3(); + // processManager = particle -> GetProcessManager(); + // processManager -> AddDiscreteProcess(ionElasticProcess); + +} + + + diff --git a/examples/advanced/hadrontherapy/src/HEHadronIonLElastic.cc b/examples/advanced/hadrontherapy/src/HEHadronIonLElastic.cc new file mode 100755 index 0000000000..e4498029a2 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HEHadronIonLElastic.cc @@ -0,0 +1,110 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyHadronElastic.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HEHadronIonLElastic.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4LElastic.hh" +#include "G4HadronElasticProcess.hh" + + +HEHadronIonLElastic::HEHadronIonLElastic(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC ELASTIC PROCESS(ES): G4HadronElasticProcess (all considered hadrons and ions)" + << G4endl + << "APPLIED MODEL(S): G4LElastic" + << G4endl; +} + +HEHadronIonLElastic::~HEHadronIonLElastic() +{} + +void HEHadronIonLElastic::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // ********************************************** + // *** Proton, Neutron, Pion plus, Pion minus *** + // *** Deuteron, Triton, Alpha *** + // ********************************************** + + G4HadronElasticProcess* hadronIonElasticProcess = new G4HadronElasticProcess(); + G4LElastic* hadronIonLElasticModel = new G4LElastic(); + hadronIonElasticProcess -> RegisterMe(hadronIonLElasticModel); + + particle = G4Proton::Proton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(hadronIonElasticProcess); + + particle = G4Neutron::Neutron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(hadronIonElasticProcess); + + particle = G4PionPlus::PionPlus(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(hadronIonElasticProcess); + + particle = G4PionMinus::PionMinus(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(hadronIonElasticProcess); + + particle = G4Deuteron::Deuteron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(hadronIonElasticProcess); + + particle = G4Triton::Triton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(hadronIonElasticProcess); + + particle = G4Alpha::Alpha(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(hadronIonElasticProcess); + + // particle = G4He3::He3(); + // processManager = particle -> GetProcessManager(); + // processManager -> AddDiscreteProcess(hadronIonElasticProcess); + +} + + + diff --git a/examples/advanced/hadrontherapy/src/HEHadronIonQElastic.cc b/examples/advanced/hadrontherapy/src/HEHadronIonQElastic.cc new file mode 100755 index 0000000000..c8708c8987 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HEHadronIonQElastic.cc @@ -0,0 +1,118 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyHadronCHIPSElastic.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HEHadronIonQElastic.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4LElastic.hh" +#include "G4HadronElasticProcess.hh" +#include "G4QElastic.hh" + + +HEHadronIonQElastic::HEHadronIonQElastic(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC ELASTIC PROCESS(ES): G4QElastic (protons, neutrons)" + << G4endl + << " G4HadronElasticProcess (pions, considered ions)" + << "APPLIED MODEL(S): G4LElastic (pions, considered ions)" + << G4endl; +} + +HEHadronIonQElastic::~HEHadronIonQElastic() +{} + +void HEHadronIonQElastic::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // *********************** + // *** Proton, Neutron *** + // *********************** + + G4QElastic* protonNeutronElasticProcess = new G4QElastic(); + + particle = G4Proton::Proton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(protonNeutronElasticProcess); + + particle = G4Neutron::Neutron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(protonNeutronElasticProcess); + + + // *************************************** + // *** Pion plus, Pion minus, Deuteron *** + // *** Triton, Alpha *** + // *************************************** + + G4HadronElasticProcess* pionIonElasticProcess = new G4HadronElasticProcess(); + G4LElastic* pionIonLElasticModel = new G4LElastic(); + pionIonElasticProcess -> RegisterMe(pionIonLElasticModel); + + particle = G4PionPlus::PionPlus(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(pionIonElasticProcess); + + particle = G4PionMinus::PionMinus(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(pionIonElasticProcess); + + particle = G4Deuteron::Deuteron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(pionIonElasticProcess); + + particle = G4Triton::Triton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(pionIonElasticProcess); + + particle = G4Alpha::Alpha(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(pionIonElasticProcess); + + // particle = G4He3::He3(); + // processManager = particle -> GetProcessManager(); + // processManager -> AddDiscreteProcess(pionIonElasticProcess); +} + + + diff --git a/examples/advanced/hadrontherapy/src/HEHadronIonUElastic.cc b/examples/advanced/hadrontherapy/src/HEHadronIonUElastic.cc new file mode 100755 index 0000000000..a8a43c8703 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HEHadronIonUElastic.cc @@ -0,0 +1,113 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyHadronUElastic.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HEHadronIonUElastic.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4UHadronElasticProcess.hh" +#include "G4HadronElastic.hh" +#include "G4VQCrossSection.hh" + + +HEHadronIonUElastic::HEHadronIonUElastic(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC ELASTIC PROCESS(ES): G4UHadronElasticProcess (all considered hadrons and ions)" + << G4endl + << "APPLIED MODEL(S): G4HadronElastic" + << G4endl; + + model = 0; +} + +HEHadronIonUElastic::~HEHadronIonUElastic() +{ + delete model; +} + +void HEHadronIonUElastic::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + // ********************************************** + // *** Proton, Neutron, Pion plus, Pion minus *** + // *** Deuteron, Triton, Alpha *** + // ********************************************** + + G4UHadronElasticProcess* hadronIonElasticProcess = new G4UHadronElasticProcess("elasticProcess", false); + + G4double hadronIonElasticMinEnergy = 0. * keV; + G4double hadronIonElasticMaxEnergy = 100. * TeV; + + G4HadronElastic* hadronIonElasticModel = new G4HadronElastic(); + hadronIonElasticModel -> SetMinEnergy(hadronIonElasticMinEnergy); + hadronIonElasticModel -> SetMaxEnergy(hadronIonElasticMaxEnergy); + + G4VQCrossSection* hadronIonElasticCrossSection = hadronIonElasticModel->GetCS(); + + hadronIonElasticProcess -> SetQElasticCrossSection(hadronIonElasticCrossSection); + hadronIonElasticProcess -> RegisterMe(hadronIonElasticModel); + + theParticleIterator -> reset(); + + while( (*theParticleIterator)() ) + { + particle = theParticleIterator -> value(); + G4String particleName = particle -> GetParticleName(); + + if(particleName == "neutron" || + particleName == "pi-" || + particleName == "pi+" || + particleName == "proton" || + particleName == "alpha" || + particleName == "deuteron" || + particleName == "triton") + + { + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(hadronIonElasticProcess); + } + } + +} + + + diff --git a/examples/advanced/hadrontherapy/src/HIIonLEP.cc b/examples/advanced/hadrontherapy/src/HIIonLEP.cc new file mode 100755 index 0000000000..dbfb38ac98 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HIIonLEP.cc @@ -0,0 +1,138 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompound.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HIIonLEP.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4TripathiCrossSection.hh" +#include "G4IonsShenCrossSection.hh" +#include "G4DeuteronInelasticProcess.hh" +#include "G4TritonInelasticProcess.hh" +#include "G4AlphaInelasticProcess.hh" +#include "G4LEDeuteronInelastic.hh" +#include "G4LETritonInelastic.hh" +#include "G4LEAlphaInelastic.hh" + + +HIIonLEP::HIIonLEP(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (all ions)" + << G4endl + << "APPLIED MODEL(S): G4LEXXXInelastic" + << G4endl; +} + +HIIonLEP::~HIIonLEP() +{} + +void HIIonLEP::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // *************************************************** + // *** Deuteron, Triton, Alpha: Common Definitions *** + // *************************************************** + + G4TripathiCrossSection* ionTripathiCrossSection = new G4TripathiCrossSection; + G4IonsShenCrossSection* ionShenCrossSection = new G4IonsShenCrossSection; + + G4double ionLEPMaxEnergy = 100. * MeV; + + + // **************** + // *** Deuteron *** + // **************** + + G4DeuteronInelasticProcess* deuteronInelasticProcess = new G4DeuteronInelasticProcess; + + G4LEDeuteronInelastic* deuteronLEPModel = new G4LEDeuteronInelastic; + deuteronLEPModel -> SetMaxEnergy(ionLEPMaxEnergy); + + deuteronInelasticProcess -> AddDataSet(ionTripathiCrossSection); + deuteronInelasticProcess -> AddDataSet(ionShenCrossSection); + deuteronInelasticProcess -> RegisterMe(deuteronLEPModel); + + particle = G4Deuteron::Deuteron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(deuteronInelasticProcess); + + + // ************** + // *** Triton *** + // ************** + + G4TritonInelasticProcess* tritonInelasticProcess = new G4TritonInelasticProcess; + + G4LETritonInelastic* tritonLEPModel = new G4LETritonInelastic; + tritonLEPModel -> SetMaxEnergy(ionLEPMaxEnergy); + + tritonInelasticProcess -> AddDataSet(ionTripathiCrossSection); + tritonInelasticProcess -> AddDataSet(ionShenCrossSection); + tritonInelasticProcess -> RegisterMe(tritonLEPModel); + + particle = G4Triton::Triton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(tritonInelasticProcess); + + + // ************* + // *** Alpha *** + // ************* + + G4AlphaInelasticProcess* alphaInelasticProcess = new G4AlphaInelasticProcess; + + G4LEAlphaInelastic* alphaLEPModel = new G4LEAlphaInelastic; + alphaLEPModel -> SetMaxEnergy(ionLEPMaxEnergy); + + alphaInelasticProcess -> AddDataSet(ionTripathiCrossSection); + alphaInelasticProcess -> AddDataSet(ionShenCrossSection); + alphaInelasticProcess -> RegisterMe(alphaLEPModel); + + particle = G4Alpha::Alpha(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(alphaInelasticProcess); + +} + + + diff --git a/examples/advanced/hadrontherapy/src/HIPionBertini.cc b/examples/advanced/hadrontherapy/src/HIPionBertini.cc new file mode 100755 index 0000000000..fb771f179f --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HIPionBertini.cc @@ -0,0 +1,112 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonLEP.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HIPionBertini.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4PionPlusInelasticProcess.hh" +#include "G4PionMinusInelasticProcess.hh" +#include "G4CascadeInterface.hh" +#include "G4PiNuclearCrossSection.hh" + + +HIPionBertini::HIPionBertini(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4PionXXXInelasticProcess (pions+/-)" + << G4endl + << "APPLIED MODEL(S): G4CascadeInterface" + << G4endl; +} + +HIPionBertini::~HIPionBertini() +{} + +void HIPionBertini::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // *********************************** + // *** Pion+/-: Common Definitions *** + // *********************************** + + G4PiNuclearCrossSection* pionNuclearCrossSection = new G4PiNuclearCrossSection(); + + G4double pionBertiniMinEnergy = 0. * MeV; + G4double pionBertiniMaxEnergy = 100. * MeV; + + G4CascadeInterface* pionBertiniElasticModel = new G4CascadeInterface; + pionBertiniElasticModel -> SetMinEnergy(pionBertiniMinEnergy); + pionBertiniElasticModel -> SetMaxEnergy(pionBertiniMaxEnergy); + + + // ************* + // *** Pion+ *** + // ************* + + G4PionPlusInelasticProcess* pionPlusInelasticProcess = new G4PionPlusInelasticProcess("inelastic"); + + pionPlusInelasticProcess -> AddDataSet(pionNuclearCrossSection); + pionPlusInelasticProcess -> RegisterMe(pionBertiniElasticModel); + + particle = G4PionPlus::PionPlus(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(pionPlusInelasticProcess); + + + // ************** + // *** Pion- *** + // ************** + + G4PionMinusInelasticProcess* pionMinusInelasticProcess = new G4PionMinusInelasticProcess("inelastic"); + + pionMinusInelasticProcess -> AddDataSet(pionNuclearCrossSection); + pionMinusInelasticProcess -> RegisterMe(pionBertiniElasticModel); + + particle = G4PionMinus::PionMinus(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(pionMinusInelasticProcess); + +} + + + diff --git a/examples/advanced/hadrontherapy/src/HIPionLEP.cc b/examples/advanced/hadrontherapy/src/HIPionLEP.cc new file mode 100755 index 0000000000..625d50ff38 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HIPionLEP.cc @@ -0,0 +1,119 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonLEP.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HIPionLEP.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4PionPlusInelasticProcess.hh" +#include "G4PionMinusInelasticProcess.hh" +#include "G4LEPionPlusInelastic.hh" +#include "G4LEPionMinusInelastic.hh" +#include "G4PiMinusAbsorptionAtRest.hh" +#include "G4PiNuclearCrossSection.hh" + + +HIPionLEP::HIPionLEP(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4PionXXXInelasticProcess (pions+/-)" + << G4endl + << "APPLIED MODEL(S): G4LEPionXXXInelastic" + << G4endl; +} + +HIPionLEP::~HIPionLEP() +{} + +void HIPionLEP::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // *********************************** + // *** Pion+/-: Common Definitions *** + // *********************************** + + G4double pionLEPMinEnergy = 0. * MeV; + G4double pionLEPMaxEnergy = 100. * MeV; + + G4PiNuclearCrossSection* pionNuclearCrossSection = new G4PiNuclearCrossSection(); + + // ************* + // *** Pion+ *** + // ************* + + G4PionPlusInelasticProcess* pionPlusInelasticProcess = new G4PionPlusInelasticProcess("inelastic"); + + G4LEPionPlusInelastic* pionPlusLEPModel = new G4LEPionPlusInelastic(); + pionPlusLEPModel -> SetMinEnergy(pionLEPMinEnergy); + pionPlusLEPModel -> SetMaxEnergy(pionLEPMaxEnergy); + + pionPlusInelasticProcess -> AddDataSet(pionNuclearCrossSection); + pionPlusInelasticProcess -> RegisterMe(pionPlusLEPModel); + + particle = G4PionPlus::PionPlus(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(pionPlusInelasticProcess); + + + // ************** + // *** Pion- *** + // ************** + + G4PionMinusInelasticProcess* pionMinusInelasticProcess = new G4PionMinusInelasticProcess("inelastic"); + G4PiMinusAbsorptionAtRest* pionMinusAbsAtRestProcess = new G4PiMinusAbsorptionAtRest(); + + G4LEPionMinusInelastic* pionMinusLEPModel = new G4LEPionMinusInelastic(); + pionMinusLEPModel -> SetMinEnergy(pionLEPMinEnergy); + pionMinusLEPModel -> SetMaxEnergy(pionLEPMaxEnergy); + + pionMinusInelasticProcess -> AddDataSet(pionNuclearCrossSection); + pionMinusInelasticProcess -> RegisterMe(pionMinusLEPModel); + + particle = G4PionMinus::PionMinus(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(pionMinusInelasticProcess); + processManager -> AddRestProcess(pionMinusAbsAtRestProcess); + +} + + + diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronBertini.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronBertini.cc new file mode 100755 index 0000000000..50b41c6582 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HIProtonNeutronBertini.cc @@ -0,0 +1,134 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonBertini.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it + +// Code review by M.G. Pia, 2 November 2006 +// Further code review is needed +// ---------------------------------------------------------------------------- + +#include "HIProtonNeutronBertini.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4ProtonInelasticProcess.hh" +#include "G4NeutronInelasticProcess.hh" +#include "G4HadronFissionProcess.hh" +#include "G4HadronCaptureProcess.hh" +#include "G4ProtonInelasticCrossSection.hh" +#include "G4NeutronInelasticCrossSection.hh" +#include "G4CascadeInterface.hh" +#include "G4LFission.hh" +#include "G4LCapture.hh" + + +HIProtonNeutronBertini::HIProtonNeutronBertini(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" + << G4endl + << "APPLIED MODEL(S): G4CascadeInterface" + << G4endl; +} + +HIProtonNeutronBertini::~HIProtonNeutronBertini() +{} + +void HIProtonNeutronBertini::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // ******************************************* + // *** Proton, Neutron: Common Definitions *** + // ******************************************* + + G4double protonNeutronBertiniMinEnergy = 0. * MeV; + G4double protonNeutronBertiniMaxEnergy = 100. * MeV; + + G4CascadeInterface* protonNeutronBertiniCascadeModel = new G4CascadeInterface; + protonNeutronBertiniCascadeModel -> SetMinEnergy(protonNeutronBertiniMinEnergy); + protonNeutronBertiniCascadeModel -> SetMaxEnergy(protonNeutronBertiniMaxEnergy); + + + // ************** + // *** Proton *** + // ************** + + G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); + G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); + + protonInelasticProcess -> RegisterMe(protonNeutronBertiniCascadeModel); + protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); + + particle = G4Proton::Proton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(protonInelasticProcess); + + + // *************** + // *** Neutron *** + // *************** + + G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; + G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; + G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); + G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); + + G4double neutronCaptureFissionMinEnergy = 0. * TeV; + G4double neutronCaptureFissionMaxEnergy = 100. * TeV; + + G4LCapture* neutronCaptureModel = new G4LCapture(); + neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + G4LFission* neutronFissionModel = new G4LFission(); + neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + neutronInelasticProcess -> RegisterMe(protonNeutronBertiniCascadeModel); + neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); + neutronCaptureProcess -> RegisterMe(neutronCaptureModel); + neutronFissionProcess -> RegisterMe(neutronFissionModel); + + particle = G4Neutron::Neutron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(neutronInelasticProcess); + processManager -> AddDiscreteProcess(neutronCaptureProcess); + processManager -> AddDiscreteProcess(neutronFissionProcess); + +} diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronBinary.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronBinary.cc new file mode 100755 index 0000000000..30fc7c0097 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HIProtonNeutronBinary.cc @@ -0,0 +1,134 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompound.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HIProtonNeutronBinary.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4ProtonInelasticProcess.hh" +#include "G4NeutronInelasticProcess.hh" +#include "G4HadronCaptureProcess.hh" +#include "G4HadronFissionProcess.hh" +#include "G4ProtonInelasticCrossSection.hh" +#include "G4NeutronInelasticCrossSection.hh" +#include "G4BinaryCascade.hh" +#include "G4LFission.hh" +#include "G4LCapture.hh" + + +HIProtonNeutronBinary::HIProtonNeutronBinary(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" + << G4endl + << "APPLIED MODEL(S): G4BinaryCascade" + << G4endl; +} + +HIProtonNeutronBinary::~HIProtonNeutronBinary() +{} + +void HIProtonNeutronBinary::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // ********************************************* + // *** Protons, Neutrons: Common Definitions *** + // ********************************************* + + G4double protonNeutronBinaryMinEnergy = 0. * MeV; + G4double protonNeutronBinaryMaxEnergy = 100. * MeV; + + G4BinaryCascade* protonNeutronBinaryCascadeModel = new G4BinaryCascade(); + protonNeutronBinaryCascadeModel -> SetMinEnergy(protonNeutronBinaryMinEnergy); + protonNeutronBinaryCascadeModel -> SetMaxEnergy(protonNeutronBinaryMaxEnergy); + + + // ************** + // *** Proton *** + // ************** + + G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); + G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); + + protonInelasticProcess -> RegisterMe(protonNeutronBinaryCascadeModel); + protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); + + particle = G4Proton::Proton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(protonInelasticProcess); + + + // *************** + // *** Neutron *** + // *************** + + G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; + G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; + G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); + G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); + + G4double neutronCaptureFissionMinEnergy = 0. * TeV; + G4double neutronCaptureFissionMaxEnergy = 100. * TeV; + + G4LCapture* neutronCaptureModel = new G4LCapture(); + neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + G4LFission* neutronFissionModel = new G4LFission(); + neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + neutronInelasticProcess -> RegisterMe(protonNeutronBinaryCascadeModel); + neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); + neutronCaptureProcess -> RegisterMe(neutronCaptureModel); + neutronFissionProcess -> RegisterMe(neutronFissionModel); + + particle = G4Neutron::Neutron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(neutronInelasticProcess); + processManager -> AddDiscreteProcess(neutronCaptureProcess); + processManager -> AddDiscreteProcess(neutronFissionProcess); + +} + + + diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronLEP.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronLEP.cc new file mode 100755 index 0000000000..f4b6573a9b --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HIProtonNeutronLEP.cc @@ -0,0 +1,138 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonLEP.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HIProtonNeutronLEP.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4ProtonInelasticProcess.hh" +#include "G4NeutronInelasticProcess.hh" +#include "G4HadronCaptureProcess.hh" +#include "G4HadronFissionProcess.hh" +#include "G4ProtonInelasticCrossSection.hh" +#include "G4NeutronInelasticCrossSection.hh" +#include "G4LEProtonInelastic.hh" +#include "G4LENeutronInelastic.hh" +#include "G4LFission.hh" +#include "G4LCapture.hh" + + +HIProtonNeutronLEP::HIProtonNeutronLEP(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" + << G4endl + << "APPLIED MODEL(S): G4LEXXXInelastic" + << G4endl; +} + +HIProtonNeutronLEP::~HIProtonNeutronLEP() +{} + +void HIProtonNeutronLEP::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + // ****************************************** + // *** Proton,Neutron: Common Definitions *** + // ****************************************** + + G4double protonNeutronLEPMinEnergy = 0. * MeV; + G4double protonNeutronLEPMaxEnergy = 100. * MeV; + + + // ************** + // *** Proton *** + // ************** + + G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); + G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); + + G4LEProtonInelastic* protonLEPModel = new G4LEProtonInelastic(); + protonLEPModel -> SetMinEnergy(protonNeutronLEPMinEnergy); + protonLEPModel -> SetMaxEnergy(protonNeutronLEPMaxEnergy); + + protonInelasticProcess -> RegisterMe(protonLEPModel); + protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); + + particle = G4Proton::Proton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(protonInelasticProcess); + + + // *************** + // *** Neutron *** + // *************** + + G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; + G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; + G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); + G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); + + G4LENeutronInelastic* neutronLEPModel = new G4LENeutronInelastic(); + neutronLEPModel -> SetMinEnergy(protonNeutronLEPMinEnergy); + neutronLEPModel -> SetMaxEnergy(protonNeutronLEPMaxEnergy); + + G4double neutronCaptureFissionMinEnergy = 0. * TeV; + G4double neutronCaptureFissionMaxEnergy = 100. * TeV; + + G4LCapture* neutronCaptureModel = new G4LCapture(); + neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + G4LFission* neutronFissionModel = new G4LFission(); + neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + neutronInelasticProcess -> RegisterMe(neutronLEPModel); + neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); + neutronCaptureProcess -> RegisterMe(neutronCaptureModel); + neutronFissionProcess -> RegisterMe(neutronFissionModel); + + particle = G4Neutron::Neutron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(neutronInelasticProcess); + processManager -> AddDiscreteProcess(neutronCaptureProcess); + processManager -> AddDiscreteProcess(neutronFissionProcess); + +} + + + diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompound.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompound.cc new file mode 100755 index 0000000000..75590ca289 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompound.cc @@ -0,0 +1,140 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompound.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HIProtonNeutronPrecompound.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4ProtonInelasticProcess.hh" +#include "G4NeutronInelasticProcess.hh" +#include "G4HadronCaptureProcess.hh" +#include "G4HadronFissionProcess.hh" +#include "G4ProtonInelasticCrossSection.hh" +#include "G4NeutronInelasticCrossSection.hh" +#include "G4PreCompoundModel.hh" +#include "G4LFission.hh" +#include "G4LCapture.hh" +#include "G4ExcitationHandler.hh" + + +HIProtonNeutronPrecompound::HIProtonNeutronPrecompound(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" + << G4endl + << "APPLIED MODEL(S): G4PreCompound" + << G4endl + << " combined with Default Evaporation" + << G4endl; +} + +HIProtonNeutronPrecompound::~HIProtonNeutronPrecompound() +{} + +void HIProtonNeutronPrecompound::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // ********************************************* + // *** Protons, Neutrons: Common Definitions *** + // ********************************************* + + G4ExcitationHandler* excitationHandler = new G4ExcitationHandler(); + + G4double protonNeutronPrecompoundMinEnergy = 0. * MeV; + G4double protonNeutronPrecompoundMaxEnergy = 100. * MeV; + + G4PreCompoundModel* protonNeutronPreCompoundModel = new G4PreCompoundModel(excitationHandler); + protonNeutronPreCompoundModel -> SetMinEnergy(protonNeutronPrecompoundMinEnergy); + protonNeutronPreCompoundModel -> SetMaxEnergy(protonNeutronPrecompoundMaxEnergy); + + + // ************** + // *** Proton *** + // ************** + + G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); + G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); + + protonInelasticProcess -> RegisterMe(protonNeutronPreCompoundModel); + protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); + + particle = G4Proton::Proton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(protonInelasticProcess); + + + // *************** + // *** Neutron *** + // *************** + + G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; + G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; + G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); + G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); + + G4double neutronCaptureFissionMinEnergy = 0. * TeV; + G4double neutronCaptureFissionMaxEnergy = 100. * TeV; + + G4LCapture* neutronCaptureModel = new G4LCapture(); + neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + G4LFission* neutronFissionModel = new G4LFission(); + neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + neutronInelasticProcess -> RegisterMe(protonNeutronPreCompoundModel); + neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); + neutronCaptureProcess -> RegisterMe(neutronCaptureModel); + neutronFissionProcess -> RegisterMe(neutronFissionModel); + + particle = G4Neutron::Neutron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(neutronInelasticProcess); + processManager -> AddDiscreteProcess(neutronCaptureProcess); + processManager -> AddDiscreteProcess(neutronFissionProcess); + + +} + + + diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundFermi.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundFermi.cc new file mode 100755 index 0000000000..dfdaac9b7f --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundFermi.cc @@ -0,0 +1,150 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompoundFermi.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HIProtonNeutronPrecompoundFermi.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4ProtonInelasticProcess.hh" +#include "G4NeutronInelasticProcess.hh" +#include "G4HadronCaptureProcess.hh" +#include "G4HadronFissionProcess.hh" +#include "G4ProtonInelasticCrossSection.hh" +#include "G4NeutronInelasticCrossSection.hh" +#include "G4PreCompoundModel.hh" +#include "G4LFission.hh" +#include "G4LCapture.hh" +#include "G4Evaporation.hh" +#include "G4FermiBreakUp.hh" +#include "G4ExcitationHandler.hh" + + +HIProtonNeutronPrecompoundFermi::HIProtonNeutronPrecompoundFermi(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" + << G4endl + << "APPLIED MODEL(S): G4PreCompound" + << G4endl + << " combined with GEM Evaporation model" + << G4endl + << " and Fermi Break-up model" + << G4endl; +} + +HIProtonNeutronPrecompoundFermi::~HIProtonNeutronPrecompoundFermi() +{} + +void HIProtonNeutronPrecompoundFermi::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // ******************************** + // *** Hadrons: Inelastic Model *** + // ******************************** + + G4ExcitationHandler* excitationHandler = new G4ExcitationHandler(); + + G4int targetZ = 1; + G4int targetA = 2 * targetZ; + + G4FermiBreakUp* hadronFermiBreakUpModel = new G4FermiBreakUp(); + excitationHandler -> SetFermiModel(hadronFermiBreakUpModel); + excitationHandler -> SetMaxAandZForFermiBreakUp(targetA,targetZ); + + G4double protonNeutronPrecompoundMinEnergy = 0. * MeV; + G4double protonNeutronPrecompoundMaxEnergy = 100. * MeV; + + G4PreCompoundModel* hadronPreCompoundModel = new G4PreCompoundModel(excitationHandler); + hadronPreCompoundModel -> SetMinEnergy(protonNeutronPrecompoundMinEnergy); + hadronPreCompoundModel -> SetMaxEnergy(protonNeutronPrecompoundMaxEnergy); + + + // ************** + // *** Proton *** + // ************** + + G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); + G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); + + protonInelasticProcess -> RegisterMe(hadronPreCompoundModel); + protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); + + particle = G4Proton::Proton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(protonInelasticProcess); + + + // *************** + // *** Neutron *** + // *************** + + G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; + G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; + G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); + G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); + + G4double neutronCaptureFissionMinEnergy = 0. * TeV; + G4double neutronCaptureFissionMaxEnergy = 100. * TeV; + + G4LCapture* neutronCaptureModel = new G4LCapture(); + neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + G4LFission* neutronFissionModel = new G4LFission(); + neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + neutronInelasticProcess -> RegisterMe(hadronPreCompoundModel); + neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); + neutronCaptureProcess -> RegisterMe(neutronCaptureModel); + neutronFissionProcess -> RegisterMe(neutronFissionModel); + + particle = G4Neutron::Neutron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(neutronInelasticProcess); + processManager -> AddDiscreteProcess(neutronCaptureProcess); + processManager -> AddDiscreteProcess(neutronFissionProcess); + +} + + + diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEM.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEM.cc new file mode 100755 index 0000000000..7ca1bab3f5 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEM.cc @@ -0,0 +1,144 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompound.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HIProtonNeutronPrecompoundGEM.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4ProtonInelasticProcess.hh" +#include "G4NeutronInelasticProcess.hh" +#include "G4HadronCaptureProcess.hh" +#include "G4HadronFissionProcess.hh" +#include "G4ProtonInelasticCrossSection.hh" +#include "G4NeutronInelasticCrossSection.hh" +#include "G4PreCompoundModel.hh" +#include "G4LFission.hh" +#include "G4LCapture.hh" +#include "G4Evaporation.hh" +#include "G4ExcitationHandler.hh" + + +HIProtonNeutronPrecompoundGEM::HIProtonNeutronPrecompoundGEM(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" + << G4endl + << "APPLIED MODEL(S): G4PreCompound" + << G4endl + << " combined with GEM Evaporation model" + << G4endl; +} + +HIProtonNeutronPrecompoundGEM::~HIProtonNeutronPrecompoundGEM() +{} + +void HIProtonNeutronPrecompoundGEM::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // ******************************** + // *** Hadrons: Inelastic Model *** + // ******************************** + + G4ExcitationHandler* excitationHandler = new G4ExcitationHandler(); + + G4Evaporation* evaporation = new G4Evaporation(); + evaporation -> SetGEMChannel(); + excitationHandler -> SetEvaporation(evaporation); + + G4double protonNeutronPrecompoundMinEnergy = 0. * MeV; + G4double protonNeutronPrecompoundMaxEnergy = 100. * MeV; + + G4PreCompoundModel* hadronPreCompoundModel = new G4PreCompoundModel(excitationHandler); + hadronPreCompoundModel -> SetMinEnergy(protonNeutronPrecompoundMinEnergy); + hadronPreCompoundModel -> SetMaxEnergy(protonNeutronPrecompoundMaxEnergy); + + + // ************** + // *** Proton *** + // ************** + + G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); + G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); + + protonInelasticProcess -> RegisterMe(hadronPreCompoundModel); + protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); + + particle = G4Proton::Proton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(protonInelasticProcess); + + + // *************** + // *** Neutron *** + // *************** + + G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; + G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; + G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); + G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); + + G4double neutronCaptureFissionMinEnergy = 0. * TeV; + G4double neutronCaptureFissionMaxEnergy = 100. * TeV; + + G4LCapture* neutronCaptureModel = new G4LCapture(); + neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + G4LFission* neutronFissionModel = new G4LFission(); + neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + neutronInelasticProcess -> RegisterMe(hadronPreCompoundModel); + neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); + neutronCaptureProcess -> RegisterMe(neutronCaptureModel); + neutronFissionProcess -> RegisterMe(neutronFissionModel); + + particle = G4Neutron::Neutron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(neutronInelasticProcess); + processManager -> AddDiscreteProcess(neutronCaptureProcess); + processManager -> AddDiscreteProcess(neutronFissionProcess); + +} + + + diff --git a/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEMFermi.cc b/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEMFermi.cc new file mode 100755 index 0000000000..a363d0987a --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HIProtonNeutronPrecompoundGEMFermi.cc @@ -0,0 +1,152 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyProtonPrecompoundGEMFermi.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the INFN, Catania, Italy +// (b) INFN Section of Genova, Genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HIProtonNeutronPrecompoundGEMFermi.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4ProtonInelasticProcess.hh" +#include "G4NeutronInelasticProcess.hh" +#include "G4HadronCaptureProcess.hh" +#include "G4HadronFissionProcess.hh" +#include "G4ProtonInelasticCrossSection.hh" +#include "G4NeutronInelasticCrossSection.hh" +#include "G4PreCompoundModel.hh" +#include "G4LFission.hh" +#include "G4LCapture.hh" +#include "G4Evaporation.hh" +#include "G4ExcitationHandler.hh" +#include "G4FermiBreakUp.hh" + + +HIProtonNeutronPrecompoundGEMFermi::HIProtonNeutronPrecompoundGEMFermi(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC INELASTIC PROCESS(ES): G4XXXInelasticProcess (protons, neutrons)" + << G4endl + << "APPLIED MODEL(S): G4PreCompound" + << G4endl + << " combined with GEM Evaporation model and Fermi Break-up model" + << G4endl; +} + +HIProtonNeutronPrecompoundGEMFermi::~HIProtonNeutronPrecompoundGEMFermi() +{} + +void HIProtonNeutronPrecompoundGEMFermi::ConstructProcess() +{ + G4ParticleDefinition* particle = 0; + G4ProcessManager* processManager = 0; + + + // ******************************** + // *** Hadrons: Inelastic Model *** + // ******************************** + + G4ExcitationHandler* excitationHandler = new G4ExcitationHandler(); + + G4Evaporation* evaporation = new G4Evaporation(); + evaporation -> SetGEMChannel(); + excitationHandler -> SetEvaporation(evaporation); + + G4int targetZ = 1; + G4int targetA = 2 * targetZ; + + G4FermiBreakUp* hadronFermiBreakUpModel = new G4FermiBreakUp(); + excitationHandler -> SetFermiModel(hadronFermiBreakUpModel); + excitationHandler -> SetMaxAandZForFermiBreakUp(targetA,targetZ); + + G4double protonNeutronPrecompoundMinEnergy = 0. * MeV; + G4double protonNeutronPrecompoundMaxEnergy = 100. * MeV; + + G4PreCompoundModel* hadronPreCompoundModel = new G4PreCompoundModel(excitationHandler); + hadronPreCompoundModel -> SetMinEnergy(protonNeutronPrecompoundMinEnergy); + hadronPreCompoundModel -> SetMaxEnergy(protonNeutronPrecompoundMaxEnergy); + + + // ************** + // *** Proton *** + // ************** + + G4ProtonInelasticProcess* protonInelasticProcess = new G4ProtonInelasticProcess(); + G4ProtonInelasticCrossSection* protonInelasticCrossSection = new G4ProtonInelasticCrossSection(); + + protonInelasticProcess -> RegisterMe(hadronPreCompoundModel); + protonInelasticProcess -> AddDataSet(protonInelasticCrossSection); + + particle = G4Proton::Proton(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(protonInelasticProcess); + + + // *************** + // *** Neutron *** + // *************** + + G4NeutronInelasticProcess* neutronInelasticProcess = new G4NeutronInelasticProcess; + G4NeutronInelasticCrossSection* neutronInelasticCrossSection = new G4NeutronInelasticCrossSection; + G4HadronCaptureProcess* neutronCaptureProcess = new G4HadronCaptureProcess(); + G4HadronFissionProcess* neutronFissionProcess = new G4HadronFissionProcess(); + + G4double neutronCaptureFissionMinEnergy = 0. * TeV; + G4double neutronCaptureFissionMaxEnergy = 100. * TeV; + + G4LCapture* neutronCaptureModel = new G4LCapture(); + neutronCaptureModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronCaptureModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + G4LFission* neutronFissionModel = new G4LFission(); + neutronFissionModel -> SetMinEnergy(neutronCaptureFissionMinEnergy); + neutronFissionModel -> SetMaxEnergy(neutronCaptureFissionMaxEnergy); + + neutronInelasticProcess -> RegisterMe(hadronPreCompoundModel); + neutronInelasticProcess -> AddDataSet(neutronInelasticCrossSection); + neutronCaptureProcess -> RegisterMe(neutronCaptureModel); + neutronFissionProcess -> RegisterMe(neutronFissionModel); + + particle = G4Neutron::Neutron(); + processManager = particle -> GetProcessManager(); + processManager -> AddDiscreteProcess(neutronInelasticProcess); + processManager -> AddDiscreteProcess(neutronCaptureProcess); + processManager -> AddDiscreteProcess(neutronFissionProcess); + +} + + + diff --git a/examples/advanced/hadrontherapy/src/HRMuonMinusCapture.cc b/examples/advanced/hadrontherapy/src/HRMuonMinusCapture.cc new file mode 100755 index 0000000000..415fa502e7 --- /dev/null +++ b/examples/advanced/hadrontherapy/src/HRMuonMinusCapture.cc @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: HadrontherapyMuonStandard.cc; May 2005 +// ---------------------------------------------------------------------------- +// GEANT 4 - Hadrontherapy example +// ---------------------------------------------------------------------------- +// Code developed by: +// +// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) +// +// (a) Laboratori Nazionali del Sud +// of the National Institute for Nuclear Physics, Catania, Italy +// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy +// +// * cirrone@lns.infn.it +// ---------------------------------------------------------------------------- + +#include "HRMuonMinusCapture.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4MuonMinusCaptureAtRest.hh" + + +HRMuonMinusCapture::HRMuonMinusCapture(const G4String& name): + G4VPhysicsConstructor(name) +{ + G4cout<< "HADRONIC PROCESS(ES): G4MuonMinusCaptureAtRest (muon-)" + << G4endl + << "APPLIED MODEL(S): -" + << G4endl; +} + +HRMuonMinusCapture::~HRMuonMinusCapture() +{ } + +void HRMuonMinusCapture::ConstructProcess() +{ + + // ************* + // *** Muon- *** + // ************* + + G4MuonMinusCaptureAtRest* muonMinusCaptureProcess= new G4MuonMinusCaptureAtRest(); + + G4ParticleDefinition* particle = G4MuonMinus::MuonMinus(); + G4ProcessManager* processManager = particle -> GetProcessManager(); + processManager -> AddProcess(muonMinusCaptureProcess, 0, -1, -1); + +} diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyBeamLine.cc b/examples/advanced/hadrontherapy/src/HadrontherapyBeamLine.cc index 80ebd67335..cd5067d7c0 100755 --- a/examples/advanced/hadrontherapy/src/HadrontherapyBeamLine.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyBeamLine.cc @@ -52,7 +52,7 @@ #include "G4SubtractionSolid.hh" HadrontherapyBeamLine::HadrontherapyBeamLine(G4VPhysicalVolume* motherVolume): - physiBeamLineSupport(0),/* physiBeamLineCover(0), physiBeamLineCover2(0)*/ + physiBeamLineSupport(0), firstScatteringFoil(0), physiFirstScatteringFoil(0), physiKaptonWindow(0), solidStopper(0), physiStopper(0), secondScatteringFoil(0), physiSecondScatteringFoil(0), @@ -69,7 +69,6 @@ HadrontherapyBeamLine::HadrontherapyBeamLine(G4VPhysicalVolume* motherVolume): physiThirdMonitorLayer1(0), physiThirdMonitorLayer2(0), physiThirdMonitorLayer3(0), physiThirdMonitorLayer4(0), physiNozzleSupport(0), physiHoleNozzle(0), - /*physiSecondHoleNozzleSupport(0),*/ solidFinalCollimator(0), physiFinalCollimator(0) { diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorConstruction.cc b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorConstruction.cc index 2fcf3d4cab..c2cee04b0f 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorConstruction.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorConstruction.cc @@ -56,10 +56,10 @@ #include "HadrontherapyDetectorConstruction.hh" #include "HadrontherapyMaterial.hh" #include "HadrontherapyBeamLine.hh" -//#include "HadrontherapyModulator.hh" +#include "HadrontherapyModulator.hh" HadrontherapyDetectorConstruction::HadrontherapyDetectorConstruction() - : phantomSD(0), phantomROGeometry(0), beamLine(0), /*modulator(0),*/ + : phantomSD(0), phantomROGeometry(0), beamLine(0), modulator(0), physicalTreatmentRoom(0), patientPhysicalVolume(0), phantomLogicalVolume(0), @@ -146,8 +146,8 @@ void HadrontherapyDetectorConstruction::ConstructBeamLine() beamLine -> HadrontherapyBeamNozzle(); beamLine -> HadrontherapyBeamFinalCollimator(); - //modulator = new HadrontherapyModulator(); - //modulator -> BuildModulator(physicalTreatmentRoom); + modulator = new HadrontherapyModulator(); + modulator -> BuildModulator(physicalTreatmentRoom); // Patient - Mother volume of the phantom G4Box* patient = new G4Box("patient",20 *cm, 20 *cm, 20 *cm); @@ -243,13 +243,13 @@ void HadrontherapyDetectorConstruction::ConstructSensitiveDetector() phantomLogicalVolume -> SetSensitiveDetector(phantomSD); } } -/* + void HadrontherapyDetectorConstruction::SetModulatorAngle(G4double value) { modulator -> SetModulatorAngle(value); G4RunManager::GetRunManager() -> GeometryHasBeenModified(); } -*/ + void HadrontherapyDetectorConstruction::SetRangeShifterXPosition(G4double value) { beamLine -> SetRangeShifterXPosition(value); diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorMessenger.cc b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorMessenger.cc index 424b3f6ed2..0e9fe9f483 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyDetectorMessenger.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyDetectorMessenger.cc @@ -47,8 +47,8 @@ HadrontherapyDetectorMessenger::HadrontherapyDetectorMessenger( HadrontherapyDetectorConstruction* detector) :hadrontherapyDetector(detector) { - //modulatorDir = new G4UIdirectory("/modulator/"); - //modulatorDir -> SetGuidance("Command to rotate the modulator wheel"); + modulatorDir = new G4UIdirectory("/modulator/"); + modulatorDir -> SetGuidance("Command to rotate the modulator wheel"); beamLineDir = new G4UIdirectory("/beamLine/"); beamLineDir -> SetGuidance("set specification of range shifter"); @@ -68,12 +68,12 @@ HadrontherapyDetectorMessenger::HadrontherapyDetectorMessenger( finalCollimatorDir = new G4UIdirectory("/beamLine/FinalCollimator/"); finalCollimatorDir -> SetGuidance("set specification of final collimator"); - // modulatorAngleCmd = new G4UIcmdWithADoubleAndUnit("/modulator/angle",this); - //modulatorAngleCmd -> SetGuidance("Set Modulator Angle"); - //modulatorAngleCmd -> SetParameterName("Size",false); - //modulatorAngleCmd -> SetRange("Size>=0."); - //modulatorAngleCmd -> SetUnitCategory("Angle"); - //modulatorAngleCmd -> AvailableForStates(G4State_Idle); + modulatorAngleCmd = new G4UIcmdWithADoubleAndUnit("/modulator/angle",this); + modulatorAngleCmd -> SetGuidance("Set Modulator Angle"); + modulatorAngleCmd -> SetParameterName("Size",false); + modulatorAngleCmd -> SetRange("Size>=0."); + modulatorAngleCmd -> SetUnitCategory("Angle"); + modulatorAngleCmd -> AvailableForStates(G4State_Idle); rangeShifterMatCmd = new G4UIcmdWithAString("/beamLine/RangeShifter/RSMat",this); rangeShifterMatCmd -> SetGuidance("Set material of range shifter"); @@ -132,21 +132,21 @@ HadrontherapyDetectorMessenger::~HadrontherapyDetectorMessenger() delete rangeShifterXPositionCmd; delete rangeShifterXSizeCmd; delete rangeShifterMatCmd; - //delete modulatorAngleCmd; + delete modulatorAngleCmd; delete finalCollimatorDir; delete rangeStopperDir; delete secondScatteringFoilDir; delete firstScatteringFoilDir; delete rangeShifterDir; delete beamLineDir; - //delete modulatorDir; + delete modulatorDir; } void HadrontherapyDetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) { - //if( command == modulatorAngleCmd ) - // { hadrontherapyDetector -> SetModulatorAngle - // (modulatorAngleCmd -> GetNewDoubleValue(newValue));} + if( command == modulatorAngleCmd ) + { hadrontherapyDetector -> SetModulatorAngle + (modulatorAngleCmd -> GetNewDoubleValue(newValue));} if( command == rangeShifterMatCmd ) { hadrontherapyDetector -> SetRSMaterial(newValue);} diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyIonLowEZiegler2000.cc b/examples/advanced/hadrontherapy/src/HadrontherapyIonLowEZiegler2000.cc deleted file mode 100644 index 671f4d16fa..0000000000 --- a/examples/advanced/hadrontherapy/src/HadrontherapyIonLowEZiegler2000.cc +++ /dev/null @@ -1,100 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyIonLowE.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, G. Candiano, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// -------------------------------------------------------------- - -#include "HadrontherapyIonLowEZiegler2000.hh" -#include "G4ProcessManager.hh" -#include "G4ParticleDefinition.hh" -#include "G4MultipleScattering.hh" -#include "G4hLowEnergyIonisation.hh" -#include "G4hIonisation.hh" -#include "G4hLowEnergyLoss.hh" -#include "G4StepLimiter.hh" -#include "G4hSRIM2000p.hh" - -HadrontherapyIonLowEZiegler2000::HadrontherapyIonLowEZiegler2000(const G4String& name): G4VPhysicsConstructor(name) -{ } - -HadrontherapyIonLowEZiegler2000::~HadrontherapyIonLowEZiegler2000() -{ } - -void HadrontherapyIonLowEZiegler2000::ConstructProcess() -{ - theParticleIterator -> reset(); - - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator -> value(); - G4ProcessManager* manager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - G4double charge = particle -> GetPDGCharge(); - - // protons - if (particleName == "proton") - { - G4hLowEnergyIonisation* ionisation = new G4hLowEnergyIonisation(); - // Electronic Stopping Power: SRIM 2000 parameterisation - // Nuclear stopping power: ICRU 49 - ionisation -> SetElectronicStoppingPowerModel(particle, "SRIM2000p"); - ionisation -> SetNuclearStoppingOn() ; - - G4VProcess* multipleScattering = new G4MultipleScattering(); - manager -> AddProcess(multipleScattering, -1,1,1); - manager -> AddProcess(ionisation, -1,2,2); - manager -> AddProcess(new G4StepLimiter(),-1,-1, 3); - } - // ions, alpha, pions, kaons, generic ion..... - if (( charge != 0. ) && particleName != "e+" && particleName != "mu+" && - particleName != "e-" && particleName != "mu-" && particleName != "proton") - { - if((!particle -> IsShortLived()) && - (particle -> GetParticleName() != "chargedgeantino")) - { - G4hLowEnergyIonisation* ionisation = new G4hLowEnergyIonisation(); - ionisation -> SetNuclearStoppingOn() ; - G4VProcess* multipleScattering = new G4MultipleScattering(); - manager -> AddProcess(multipleScattering, -1,1,1); - manager -> AddProcess(ionisation, -1,2,2); - manager -> AddProcess(new G4StepLimiter(),-1,-1, 3); - } - } - } -} - - diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyMaterial.cc b/examples/advanced/hadrontherapy/src/HadrontherapyMaterial.cc index e29d134bb5..a1e220331e 100644 --- a/examples/advanced/hadrontherapy/src/HadrontherapyMaterial.cc +++ b/examples/advanced/hadrontherapy/src/HadrontherapyMaterial.cc @@ -218,6 +218,8 @@ void HadrontherapyMaterial::DefineMaterials() matH2O -> AddElement(elH,2); matH2O -> AddElement(elO,1); matH2O -> GetIonisation()->SetMeanExcitationEnergy(75.0*eV); + matH2O -> SetChemicalFormula("H_2O"); + G4cout << "-----------> CHEMICAL FORMULA FOR WATER FIXED <----------"<< G4endl; //soft tissue(http://www.nist.gov) d = 1.0*g/cm3; diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyMuonStandard.cc b/examples/advanced/hadrontherapy/src/HadrontherapyMuonStandard.cc deleted file mode 100644 index c2467d9fae..0000000000 --- a/examples/advanced/hadrontherapy/src/HadrontherapyMuonStandard.cc +++ /dev/null @@ -1,103 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyMuonStandard.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HadrontherapyMuonStandard.hh" -#include "G4ProcessManager.hh" - -//muon: -#include "G4hIonisation.hh" -#include "G4MultipleScattering.hh" -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" -#include "G4MuonMinusCaptureAtRest.hh" -#include "G4StepLimiter.hh" - -HadrontherapyMuonStandard::HadrontherapyMuonStandard(const G4String& name): G4VPhysicsConstructor(name) -{ } - -HadrontherapyMuonStandard::~HadrontherapyMuonStandard() -{ } - -void HadrontherapyMuonStandard::ConstructProcess() -{ - // Add standard processes for muons - - theParticleIterator -> reset(); - - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle -> GetProcessManager(); - G4String particleName = particle -> GetParticleName(); - - if(( particleName == "mu+")|| (particleName == "mu-" )) - { - //muon - G4VProcess* aMultipleScattering = new G4MultipleScattering(); - G4VProcess* aBremsstrahlung = new G4MuBremsstrahlung(); - G4VProcess* aPairProduction = new G4MuPairProduction(); - G4VProcess* anIonisation = new G4MuIonisation(); - // - // add processes - pmanager -> AddProcess(anIonisation); - pmanager -> AddProcess(aMultipleScattering); - pmanager -> AddProcess(aBremsstrahlung); - pmanager -> AddProcess(aPairProduction); - // - // set ordering for AlongStepDoIt - pmanager -> SetProcessOrdering(aMultipleScattering, idxAlongStep,1); - pmanager -> SetProcessOrdering(anIonisation, idxAlongStep,2); - pmanager -> SetProcessOrdering(aBremsstrahlung, idxAlongStep,3); - pmanager -> SetProcessOrdering(aPairProduction, idxAlongStep,4); - // - // set ordering for PostStepDoIt - pmanager -> SetProcessOrdering(aMultipleScattering, idxPostStep,1); - pmanager -> SetProcessOrdering(anIonisation, idxPostStep,2); - pmanager -> SetProcessOrdering(aBremsstrahlung, idxPostStep,3); - pmanager -> SetProcessOrdering(aPairProduction, idxPostStep,4); - pmanager -> AddProcess(new G4StepLimiter(), -1,-1, 3); - - if( particleName == "mu-" ) - pmanager -> AddProcess(new G4MuonMinusCaptureAtRest(), 0,-1,-1); - } - } - // G4cout << "Muon processes are active!"<RegisterMe(elasticModel); - - // Inelastic scattering: Bertini Inelastic model - G4CascadeInterface* theBertiniModel = new G4CascadeInterface; - - // Energy limit of the Bertini model - G4double bertiniLowEnergyLimit = 0.* MeV; - G4double bertiniHighEnergyLimit = 300.*MeV; - - theBertiniModel->SetMinEnergy(bertiniLowEnergyLimit); - theBertiniModel->SetMaxEnergy(bertiniHighEnergyLimit); - - //-------------------------------------------------------------------------------------- - // Proton processes - particle = G4Proton::Proton(); - processManager = particle->GetProcessManager(); - - // Model Registration - G4ProtonInelasticProcess* theProtonInelasticProcess = new G4ProtonInelasticProcess(); - theProtonInelasticProcess->RegisterMe(theBertiniModel); - - // Activate the cross-sections for proton nuclear scattering up to 20 GeV - theProtonInelasticProcess->AddDataSet(&theProtonCrossSection); - - // Activate the proton inelastic scattering - processManager->AddDiscreteProcess(theProtonInelasticProcess); - // Activate the elastic scattering - processManager->AddDiscreteProcess(elasticScattering); - - //-------------------------------------------------------------------------------------- - // Pions plus processes - particle = G4PionPlus::PionPlus(); - processManager = particle->GetProcessManager(); - - // Define the inelastic process for pions plus - G4PionPlusInelasticProcess* thePionPlusInelasticProcess = new G4PionPlusInelasticProcess("inelastic"); - // Register the Low Energy Inelastic Model for pions plus - thePionPlusInelasticProcess->RegisterMe(theBertiniModel); - // Activate the inelastic process for pions plus - processManager->AddDiscreteProcess(thePionPlusInelasticProcess); - // Activate the elastic process for pions plus - processManager->AddDiscreteProcess(elasticScattering); - - //-------------------------------------------------------------------------------------- - // Pion Minus processes - particle = G4PionMinus::PionMinus(); - processManager = particle->GetProcessManager(); - - // Define the inelastic process for pions minus - G4PionMinusInelasticProcess* thePionMinusInelasticProcess = new G4PionMinusInelasticProcess("inelastic"); - // Register the inelastic model for pion minus - thePionMinusInelasticProcess->RegisterMe(theBertiniModel); - // Activate the inelastic process for pion minus - processManager->AddDiscreteProcess(thePionMinusInelasticProcess); - // Activate the elastic process for pion minus - processManager->AddDiscreteProcess(elasticScattering); - - //-------------------------------------------------------------------------------------- - // Neutron processes - particle = G4Neutron::Neutron(); - processManager = particle->GetProcessManager(); - - // Register the Bertini model - G4NeutronInelasticProcess* theNeutronInelasticProcess = new G4NeutronInelasticProcess(); - theNeutronInelasticProcess->RegisterMe(theBertiniModel); - - // Activate the Cross-sections for neutron nuclear scattering from 14 MeV up to 20 GeV - theNeutronInelasticProcess->AddDataSet(&theNeutronCrossSection); - // Activate the neutron inelastic process - processManager->AddDiscreteProcess(theNeutronInelasticProcess); - // Activate the Hadron Elastic Process - processManager->AddDiscreteProcess(elasticScattering); - - // Neutron capture process - - // Energy limits - G4double neutronLowEnergyLimit = 0. * MeV; - G4double neutronHighEnergyLimit = 100. * TeV; - - G4HadronCaptureProcess* neutronCapture = new G4HadronCaptureProcess(); - // Final state production model for capture of neutral hadrons in nuclei - G4LCapture* captureModel = new G4LCapture(); - // Set the energy range for the capture model - captureModel->SetMinEnergy(neutronLowEnergyLimit); - captureModel->SetMaxEnergy(neutronHighEnergyLimit); - // Register the neutron capture model - neutronCapture->RegisterMe(captureModel); - // Activate the neutron capture process - processManager->AddDiscreteProcess(neutronCapture); - - // Process for induced fission - G4HadronFissionProcess* fission = new G4HadronFissionProcess(); - //Final state production model for induced fission - G4LFission* fissionModel = new G4LFission(); - // Set the energy range for the fission model - fissionModel->SetMinEnergy(neutronLowEnergyLimit); - fissionModel->SetMaxEnergy(neutronHighEnergyLimit); - // Register the fission model - fission->RegisterMe(fissionModel); - // Activate the fission process - processManager->AddDiscreteProcess(fission); - - //-------------------------------------------------------------------------------------- - // Physics for ions - - // Energy limit of the LEP model for ions - G4double LEPHighEnergyLimit = 100.* MeV; - - // Energy limit of the binary ion model - G4double binaryLightIonLowEnergyLimit = 80.* MeV; - G4double binaryLightIonHighEnergyLimit = 40.* GeV; - - // Cross section data sets - - // TRIPATHI CROSS SECTION - // Implementation of formulas taken from NASA technical paper 3621 by - // Tripathi, et al. Cross-sections for ion ion scattering - G4TripathiCrossSection* tripathiCrossSection = new G4TripathiCrossSection; - - // IONS SHEN CROSS SECTION - // Implementation of formulas - // Shen et al. Nuc. Phys. A 491 130 (1989) - // Total Reaction Cross Section for Heavy-Ion Collisions - G4IonsShenCrossSection* aShen = new G4IonsShenCrossSection; - - // Intra-nuclear transport: Binary Cascade Model - // Binary Cascade for deuteron, triton, alpha particle - G4BinaryLightIonReaction* theBinaryCascade = new G4BinaryLightIonReaction(); - // Set the min and max energy for the Binary Cascade - theBinaryCascade->SetMinEnergy(binaryLightIonLowEnergyLimit); - theBinaryCascade->SetMaxEnergy(binaryLightIonHighEnergyLimit); - - //-------------------------------------------------------------------------------------- - // Deuteron - particle = G4Deuteron::Deuteron(); - processManager = particle->GetProcessManager(); - - // Final state production model for deuteron inelastic scattering below 100 MeV: Low Energy Parameterised model - G4LEDeuteronInelastic* theDeuteronLEInelasticModel = new G4LEDeuteronInelastic; - // Set the maximum energy for LEP model - theDeuteronLEInelasticModel->SetMaxEnergy(LEPHighEnergyLimit); - // G4DeuteronInelasticProcess theDeuteronInelasticProcess; - - // Activate the Tripathi and Shen Cross Section - theDeuteronInelasticProcess.AddDataSet(tripathiCrossSection); - theDeuteronInelasticProcess.AddDataSet(aShen); - - // Register the Parameterised Deuteron Inelastic Model and the Ion Binary Cascade Model - theDeuteronInelasticProcess.RegisterMe(theDeuteronLEInelasticModel); - theDeuteronInelasticProcess.RegisterMe(theBinaryCascade); - - // Activate the deuteron elastic and inelastic scattering - processManager->AddDiscreteProcess(&theDeuteronInelasticProcess); - // Activate the Hadron Elastic Process - processManager->AddDiscreteProcess(elasticScattering); - - //-------------------------------------------------------------------------------------- - // Triton - particle = G4Triton::Triton(); - processManager = particle->GetProcessManager(); - - // Final state production model for Triton inelastic scattering below 100 MeV: Low Energy Parameterised model - G4LETritonInelastic* theTritonLEInelasticModel = new G4LETritonInelastic; - // Set the maximum energy for LEP model - theTritonLEInelasticModel->SetMaxEnergy(LEPHighEnergyLimit); - - // Activate the Tripathi and Shen Cross Section - //G4TritonInelasticProcess theTritonInelasticProcess; - theTritonInelasticProcess.AddDataSet(tripathiCrossSection); - theTritonInelasticProcess.AddDataSet(aShen); - - // Register the Triton Inelastic and Binary Cascade Models - theTritonInelasticProcess.RegisterMe(theTritonLEInelasticModel); - theTritonInelasticProcess.RegisterMe(theBinaryCascade); - - // Activate the triton inelastic scattering using the parameterised Triton Inelastic and Binary Cascade models - processManager->AddDiscreteProcess(&theTritonInelasticProcess); - // Activate the Hadron Elastic Process - processManager->AddDiscreteProcess(elasticScattering); - - //-------------------------------------------------------------------------------------- - // Alpha - particle = G4Alpha::Alpha(); - processManager = particle->GetProcessManager(); - - // Final state production model for Alpha inelastic scattering below 20 GeV: Low Energy Parameterised model - G4LEAlphaInelastic* theAlphaLEInelasticModel = new G4LEAlphaInelastic; - // Set the maximum energy for LEP model - theAlphaLEInelasticModel->SetMaxEnergy(LEPHighEnergyLimit); - - //G4AlphaInelasticProcess theAlphaInelasticProcess; - - // Activate the Tripathi and Shen Cross Section - theAlphaInelasticProcess.AddDataSet(tripathiCrossSection); - theAlphaInelasticProcess.AddDataSet(aShen); - - // Register the Alpha Inelastic and Binary Cascade Models - theAlphaInelasticProcess.RegisterMe(theAlphaLEInelasticModel); - theAlphaInelasticProcess.RegisterMe(theBinaryCascade); - - // Activate the alpha inelastic scattering using the parameterised Alpha Inelastic and Binary Cascade models - processManager->AddDiscreteProcess(&theAlphaInelasticProcess); - // Activate the Hadron Elastic Process - processManager->AddDiscreteProcess(elasticScattering); -} diff --git a/examples/advanced/hadrontherapy/src/HadrontherapyProtonPrecompound.cc b/examples/advanced/hadrontherapy/src/HadrontherapyProtonPrecompound.cc deleted file mode 100644 index 77b750dd68..0000000000 --- a/examples/advanced/hadrontherapy/src/HadrontherapyProtonPrecompound.cc +++ /dev/null @@ -1,287 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadrontherapyProtonPrecompound.cc; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: -// -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the INFN, Catania, Italy -// (b) INFN Section of Genova, Genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- - -#include "HadrontherapyProtonPrecompound.hh" -#include "G4ParticleDefinition.hh" -#include "G4ProcessManager.hh" -#include "G4LElastic.hh" -#include "G4PionPlusInelasticProcess.hh" -#include "G4LEPionPlusInelastic.hh" -#include "G4LEPionMinusInelastic.hh" -#include "G4PionMinusInelasticProcess.hh" -#include "G4PiMinusAbsorptionAtRest.hh" -#include "G4PiNuclearCrossSection.hh" -#include "G4LFission.hh" -#include "G4LCapture.hh" -#include "G4TripathiCrossSection.hh" -#include "G4IonsShenCrossSection.hh" -#include "G4HadronInelasticProcess.hh" -#include "G4LEDeuteronInelastic.hh" -#include "G4LETritonInelastic.hh" -#include "G4LEAlphaInelastic.hh" -#include "G4HadronElasticProcess.hh" -#include "G4HadronCaptureProcess.hh" -#include "G4BinaryLightIonReaction.hh" -#include "G4HadronInelasticProcess.hh" -// -// PRECOMPOUND PHYSICS LIST -// -// PRECOMPOUND + EVAPORATION(DEFAULT EVAPORATION) FOR PROTONS, NEUTRONS AND PIONS - -HadrontherapyProtonPrecompound::HadrontherapyProtonPrecompound(const G4String& name): - G4VPhysicsConstructor(name) -{ - G4cout<<"****** Proton Precompound Physics List is active !!!!!! ******" - < RegisterMe(elasticScatteringModel); - - // Inelastic scattering: Inelastic PreCompound model - G4PreCompoundModel* preequilibriumModel = new G4PreCompoundModel(&theHandler); - // Set the minimum and maximum energy value of the pre-equilibrium model - G4double precompoundLowLimit = 0. * MeV; - G4double precompoundHighLimit = 300. * MeV; - preequilibriumModel -> SetMinEnergy(precompoundLowLimit); - preequilibriumModel -> SetMaxEnergy(precompoundHighLimit); - - //-------------------------------------------------------------------------------------- - // Proton processes - particle = G4Proton::Proton(); - pmanager = particle -> GetProcessManager(); - - // Model Registration - protonInelasticProcess.RegisterMe(preequilibriumModel); - // Activate the cross-sections for proton nuclear scattering - protonInelasticProcess.AddDataSet(&protonInelasticCrossSection); - - // Activate the proton inelastic scattering using the precompound model - pmanager -> AddDiscreteProcess(&protonInelasticProcess); - // Activate the proton elastic scattering - pmanager -> AddDiscreteProcess(elasticScattering); - - //-------------------------------------------------------------------------------------- - // Neutron processes - - particle = G4Neutron::Neutron(); - pmanager = particle -> GetProcessManager(); - - // Register the Precompound model - neutronInelasticProcess.RegisterMe(preequilibriumModel); - // Activate the Cross-sections for neutron nuclear scattering - neutronInelasticProcess.AddDataSet(&neutronInelasticCrossSection); - - // Activate the neutron inelastic process - pmanager -> AddDiscreteProcess(&neutronInelasticProcess); - // Activate the neutron elastic scattering - pmanager -> AddDiscreteProcess(elasticScattering); - - // Neutron capture process - - // Energy limits - G4HadronCaptureProcess* neutronCapture = new G4HadronCaptureProcess(); - - G4LCapture* captureModel = new G4LCapture(); - - // Energy limit of the neutron fission and capture - G4double neutronLowLimit = 0.*TeV; - G4double neutronHighLimit = 100.*TeV; - // Set the energy range for the capture model - captureModel -> SetMinEnergy(neutronLowLimit); - captureModel -> SetMaxEnergy(neutronHighLimit); - - // Register the capture model - neutronCapture -> RegisterMe(captureModel); - // Active the capture process - pmanager -> AddDiscreteProcess(neutronCapture); - - // Process for induced fission - G4HadronFissionProcess* fission = new G4HadronFissionProcess(); - //Final state production model for induced fission - G4LFission* fissionModel = new G4LFission(); - // Set the energy range for the fission model - fissionModel -> SetMinEnergy(neutronLowLimit); - fissionModel -> SetMaxEnergy(neutronHighLimit); - // Register the fission model - fission -> RegisterMe(fissionModel); - // Active the fission process - pmanager -> AddDiscreteProcess(fission); - - //-------------------------- - // Pion Plus - - particle = G4PionPlus::PionPlus(); - pmanager = particle -> GetProcessManager(); - - // Define the inelastic process for pions plus - G4PionPlusInelasticProcess* pionPlusInelasticProcess = new G4PionPlusInelasticProcess("inelastic"); - pionPlusInelasticProcess -> RegisterMe(preequilibriumModel); - - // Active the inelastic process for pions plus - pmanager -> AddDiscreteProcess(pionPlusInelasticProcess); - pmanager -> AddDiscreteProcess(elasticScattering); - - //----------------------------- - // Pion Minus - - particle = G4PionMinus::PionMinus(); - pmanager = particle -> GetProcessManager(); - - // Define the inelastic process for pions minus - G4PionMinusInelasticProcess* pionMinusInelasticProcess = new G4PionMinusInelasticProcess("inelastic"); - // Register the inelastic model for pion minus - pionMinusInelasticProcess -> RegisterMe(preequilibriumModel); - - // Active the inelastic process for pion minus - pmanager -> AddDiscreteProcess(pionMinusInelasticProcess); - pmanager -> AddDiscreteProcess(elasticScattering); - - //-------------------------------------------------------------------------------------- - // Physics for ions - - // Energy limit of the LEP model for ions - G4double LEPHighLimit = 200.*MeV; - - // TRIPATHI CROSS SECTION - // Implementation of formulas in analogy to NASA technical paper 3621 by - // Tripathi, et al. Cross-sections for ion ion scattering - G4TripathiCrossSection* TripathiCrossSection = new G4TripathiCrossSection; - - // IONS SHEN CROSS SECTION - // Implementation of formulas - // Shen et al. Nuc. Phys. A 491 130 (1989) - // Total Reaction Cross Section for Heavy-Ion Collisions - G4IonsShenCrossSection* aShen = new G4IonsShenCrossSection; - - particle = G4Deuteron::Deuteron(); - pmanager = particle -> GetProcessManager(); - - // Final state production model for Deuteron inelastic scattering below 100 MeV - G4LEDeuteronInelastic* deuteronLEModel = new G4LEDeuteronInelastic; - // Set the maximum energy for LEP model - deuteronLEModel -> SetMaxEnergy(LEPHighLimit); - - // Active the Tripathi and aShen Cross Section - deuteronInelasticProcess.AddDataSet(TripathiCrossSection); - deuteronInelasticProcess.AddDataSet(aShen); - - // Register the deuteron inelastic scattering models - deuteronInelasticProcess.RegisterMe(deuteronLEModel); - - // Active the deuteron inelastic scattering using the deuteron inelastic and binary cascade model - pmanager -> AddDiscreteProcess(&deuteronInelasticProcess); - // Active the Hadron Elastic Process - pmanager -> AddDiscreteProcess(elasticScattering); - - // Triton - particle = G4Triton::Triton(); - pmanager = particle -> GetProcessManager(); - - // Final state production model for Triton inelastic scattering below 100 MeV - G4LETritonInelastic* tritonLEModel = new G4LETritonInelastic; - // Set the maximum energy for LEP model - tritonLEModel -> SetMaxEnergy(LEPHighLimit); - - // Active the Tripathi and aShen Cross Section - tritonInelasticProcess.AddDataSet(TripathiCrossSection); - tritonInelasticProcess.AddDataSet(aShen); - - // Register the triton inelastic scattering models - tritonInelasticProcess.RegisterMe(tritonLEModel); - - // Active the triton inelastic scattering process - pmanager -> AddDiscreteProcess(&tritonInelasticProcess); - // Active the triton elastic scattering process - pmanager -> AddDiscreteProcess(elasticScattering); - - // Alpha particles - particle = G4Alpha::Alpha(); - pmanager = particle -> GetProcessManager(); - - // Final state production model for Alpha inelastic scattering below 20 GeV - G4LEAlphaInelastic* alphaLEModel = new G4LEAlphaInelastic; - // Set the maximum energy for LEP model - alphaLEModel -> SetMaxEnergy(LEPHighLimit); - - // Register the alpha inelastic scattering models - alphaInelasticProcess.AddDataSet(TripathiCrossSection); - alphaInelasticProcess.AddDataSet(aShen); - - // Register the alpha inelastic scattering models - alphaInelasticProcess.RegisterMe(alphaLEModel); - - // Active the alpha inelastic scattering - pmanager -> AddDiscreteProcess(&alphaInelasticProcess); - // Active the alpha elastic scattering - pmanager -> AddDiscreteProcess(elasticScattering); - - // He3 - // particle = G4He3::He3(); - - // G4HadronInelasticProcess* He3inelasticProcess = - // new G4HadronInelasticProcess("He3Inelastic",particle); - - // G4BinaryLightIonReaction * ionBinaryCascade= new G4BinaryLightIonReaction; - - // He3inelasticProcess -> AddDataSet(TripathiCrossSection); - //He3inelasticProcess -> AddDataSet(aShen); - //He3inelasticProcess -> RegisterMe(ionBinaryCascade); - - //pmanager = particle -> GetProcessManager(); - //pmanager -> AddDiscreteProcess(He3inelasticProcess); - //pmanager -> AddDiscreteProcess(elasticScattering); - -} - - - diff --git a/examples/advanced/hadrontherapy/visualisationMacro.mac b/examples/advanced/hadrontherapy/visualisationMacro.mac index 69ff661744..8cfdf27b18 100644 --- a/examples/advanced/hadrontherapy/visualisationMacro.mac +++ b/examples/advanced/hadrontherapy/visualisationMacro.mac @@ -31,13 +31,15 @@ /event/verbose 0 # SETTING FOR THE PHYSICS MODELS -/physics/addPhysics photon-epdl -/physics/addPhysics electron-eedl -/physics/addPhysics positron-standard -/physics/addPhysics ion-LowE -/physics/addPhysics muon-standard -/physics/addPhysics decay -/physics/addPhysics proton-precompound +/physics/addPhysics EM-Photon-EPDL +/physics/addPhysics EM-Electron-EEDL +/physics/addPhysics EM-Positron-Standard +/physics/addPhysics EM-HadronIon-LowE +/physics/addPhysics EM-Muon-Standardmuon-standard +/physics/addPhysics Decay +/physics/addPhysics HadronicEl-HadronIon-QElastic +/physics/addPhysics HadronicInel-Ion-LEP +/physics/addPhysics HadronicInel-ProtonNeutron-Prec /run/initialize @@ -58,5 +60,5 @@ /beamLine/RangeShifter/RSMat Air #/tracking/verbose 1 /vis/viewer/flush -/run/beamOn 10 +/run/beamOn 1000 diff --git a/examples/advanced/human_phantom/History b/examples/advanced/human_phantom/History index c1c36fd5f6..d90d954296 100644 --- a/examples/advanced/human_phantom/History +++ b/examples/advanced/human_phantom/History @@ -1,4 +1,4 @@ -$Id: History,v 1.8 2006/11/30 16:06:38 guatelli Exp $ +$Id: History,v 1.19 2007/06/06 19:11:20 pia Exp $ ------------------------------------------------------------------- ========================================================= @@ -18,6 +18,38 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +06.06.2007 MGP human_phantom-V08-03-00 + Minor documentation fix + +May 15, 2007, S. Guatelli tag: human_phantom-V08-02-02 +- Left and Right Adrenals introduced +- Left and Right Scapulae introduced + +February 19, 2007, S. Guatelli tag:human_phantom-V08-02-01 + +March 13, 2007, S. Guatelli tag: human_phantom-V08-02-07 +- VoxelBreastSensitive detector introduced +- Bug deleted in MIRDOvary + +February 24, 2007, S. Guatelli tag: human_phantom-V08-02-06 +- PhantomHeadBuilder introduced + +February 23, 2007, S. Guatelli tag:human_phantom-V08-02-05 +- Voxel Right breast introduced + + +February 22, 2007, S. Guatelli tag:human_phantom-V08-02-04 +- Voxel Left breast introduced + +February 22, 2007, S. Guatelli tag:human_phantom-V08-02-03 +- Bug in MIRDLeftBreast and MIRDRightBreast corrected + +February 21, 2007, S. Guatelli tag:human_phantom-V08-02-02 +- G4HumanPhantomEnergyDeposit deleted +- HitCollection introduced + +January 17, 2007, S. Guatelli tag:human_phantom-V08-02-00 + November 30, 2006, S. Guatelli tag: human_phantom-V08-01-03 - Corrected bug in the definition of materials for MIRD phantom model. diff --git a/examples/advanced/human_phantom/README b/examples/advanced/human_phantom/README index ae6f308336..c8addee473 100644 --- a/examples/advanced/human_phantom/README +++ b/examples/advanced/human_phantom/README @@ -1,4 +1,4 @@ -$Id: README,v 1.10 2006/11/30 16:06:38 guatelli Exp $ +qYY$Id: README,v 1.13 2007/06/06 19:11:20 pia Exp $ ------------------------------------------------------------------- ========================================================= @@ -102,6 +102,17 @@ output file: g4humanphantom.hbk containing 2D histogram id=50: Energy Deposit (MeV, y axis) in Body Part (x axis) 2D histogram id=100: Edep(MeV) in the parameterized breast, x= slice, y= sector +----> Macro files: example of different human phantoms + +default.mac is executed by default in the simulation +adultMIRDFemale.mac: example to define a MIRD female human phantom +adultMIRDMale.mac: example to define a MIRD male human phantom +adultHead.mac: example how to define one piece of the anatomy +adultORNLFemale.mac: example to define a ORNL female human phantom +adultORNLMale.mac: example to define a ORNL male human phantom +adultMIXFemale.mac : example of MIRD human female phantom with + parameterised breast + -----> Setup Example enviroment with the compiler gcc-3.2.3, on the Linux platform @@ -112,7 +123,8 @@ The following environment variables need to be set: G4LEDATA : points to low energy data base set G4ANALYSIS_USE equal to 1 to activate the analysis -- Install the GDML package with Geant4 extensions and Xerces. +- Install the GDML package with Geant4 extensions and Xerces +. See: http://cern.ch/gdml. - Set the environment variable GDML_BASE to point to the area where @@ -146,9 +158,3 @@ gdmlData/Female and gdmlData/Male, specifying in the top line the - Run particles: run.mac --------------------------------------------------------------------------- - -for comments, advices, doubts and questions please contact: -guatelli@ge.infn.it, pia@ge.infn.it - -last modified: S. Guatelli, 30/11/2006 - diff --git a/examples/advanced/human_phantom/adultFemale.mac b/examples/advanced/human_phantom/adultFemale.mac deleted file mode 100644 index e64135effd..0000000000 --- a/examples/advanced/human_phantom/adultFemale.mac +++ /dev/null @@ -1,78 +0,0 @@ -# -# Sets some default verbose -/control/verbose 2 -# -# -# -# Initialize New Phantom -# -# Choose model: ORNL, MIRD, MIX -# -/phantom/setPhantomModel MIRD -# -# Choose Sex of Phantom: Male or Female -# -/phantom/setPhantomSex Female -# -# Insert Body Part and their Sensitivity -# -/bodypart/addBodyPart Head yes -######### -/bodypart/addBodyPart Trunk no -/bodypart/addBodyPart Legs yes -############## -# -# Skeleton System -# -/bodypart/addBodyPart LegBones yes -/bodypart/addBodyPart ArmBones yes -/bodypart/addBodyPart UpperSpine yes -/bodypart/addBodyPart MiddleLowerSpine yes -/bodypart/addBodyPart Skull yes -/bodypart/addBodyPart Pelvis yes -# -# Organs -# -/bodypart/addBodyPart Breast yes -/bodypart/addBodyPart Lungs yes -/bodypart/addBodyPart Brain yes -/bodypart/addBodyPart Heart yes -/bodypart/addBodyPart Kidneys yes -/bodypart/addBodyPart UrinaryBladder yes -/bodypart/addBodyPart Spleen yes -/bodypart/addBodyPart Pancreas no -/bodypart/addBodyPart Thyroid yes -# -# Gastrointestinal System -# -/bodypart/addBodyPart Stomach yes -/bodypart/addBodyPart UpperLargeIntestine yes -/bodypart/addBodyPart LowerLargeIntestine yes -/bodypart/addBodyPart Liver yes -# -# Genitalia -# -#/bodypart/addBodyPart Ovaries yes -#/bodypart/addBodyPart Uterus yes -# -# -# Construct your Phantom -# -/phantom/buildNewPhantom -/run/initialize -# -# -# Visualization Config -# -# Visualize Phantom with VRML -#/control/execute vrmlVis.mac -# -# Visualize Phantom with OPENGL -/control/execute openGLVis.mac -# -# Visualize Phantom with DAWN -#/control/execute dawnVis.mac -# -# Run Particles -# -/control/execute run.mac diff --git a/examples/advanced/human_phantom/adultHead.mac b/examples/advanced/human_phantom/adultHead.mac new file mode 100755 index 0000000000..7436dade94 --- /dev/null +++ b/examples/advanced/human_phantom/adultHead.mac @@ -0,0 +1,71 @@ +# +# Sets some default verbose +/control/verbose 2 +# +# +# +# Initialize New Phantom +# +# Choose model: MIRDHead, ORNLHead +# +/phantom/setPhantomModel MIRDHead +# +# Choose Sex of Phantom: Male or Female +# +/phantom/setPhantomSex Male +# +# Insert Body Part and their Sensitivity +# +/bodypart/addBodyPart Head yes +######### +/bodypart/addBodyPart Trunk no +/bodypart/addBodyPart Legs yes +############## +# +# Skeleton System +# +/bodypart/addBodyPart LegBones no +/bodypart/addBodyPart ArmBones no +/bodypart/addBodyPart UpperSpine no +/bodypart/addBodyPart MiddleLowerSpine no +/bodypart/addBodyPart Skull yes +/bodypart/addBodyPart Pelvis no +# +# Organs +# +/bodypart/addBodyPart Lungs no +/bodypart/addBodyPart Brain yes +/bodypart/addBodyPart Heart no +/bodypart/addBodyPart Kidneys no +/bodypart/addBodyPart UrinaryBladder no +/bodypart/addBodyPart Spleen no +/bodypart/addBodyPart Pancreas no +/bodypart/addBodyPart Thyroid no +# +# Gastrointestinal System +# +/bodypart/addBodyPart Stomach no +/bodypart/addBodyPart UpperLargeIntestine no +/bodypart/addBodyPart LowerLargeIntestine no +/bodypart/addBodyPart Liver no +# +# Construct your Phantom +# +/phantom/buildNewPhantom +/run/initialize +# +# +# Visualization Config +# +# Visualize Phantom with VRML +#/control/execute vrmlVis.mac +# +# Visualize Phantom with OPENGL +/control/execute openGLVis.mac +# +# Visualize Phantom with DAWN +#/control/execute dawnVis.mac +# +# Run Particles +# +#/control/execute run.mac diff --git a/examples/advanced/human_phantom/adultMIRDFemale.mac b/examples/advanced/human_phantom/adultMIRDFemale.mac new file mode 100755 index 0000000000..248d4755d1 --- /dev/null +++ b/examples/advanced/human_phantom/adultMIRDFemale.mac @@ -0,0 +1,90 @@ +# Sets some default verbose +#/control/verbose 2 +# +# +# +# Initialize New Phantom +# +# Choose model: ORNLFemale, ORNLMale, MIRD, MIX, MIRDHead, ORNLHead +# +/phantom/setPhantomModel MIRD +# +# Choose Sex of Phantom: Male or Female +# +/phantom/setPhantomSex Female +# +# Insert Body Part and their Sensitivity +# The energy deposit is calculated in the organs declared sensitive +/bodypart/addBodyPart Head yes +######### +/bodypart/addBodyPart Trunk yes +/bodypart/addBodyPart LeftLeg yes +/bodypart/addBodyPart RightLeg yes +############## +# +# Skeleton System +# +/bodypart/addBodyPart LeftLegBone yes +/bodypart/addBodyPart RightLegBone yes +/bodypart/addBodyPart LeftArmBone yes +/bodypart/addBodyPart RightArmBone yes +/bodypart/addBodyPart UpperSpine yes +/bodypart/addBodyPart MiddleLowerSpine yes +/bodypart/addBodyPart Skull yes +/bodypart/addBodyPart Pelvis yes +# +# Organs +# +/bodypart/addBodyPart LeftBreast yes +/bodypart/addBodyPart RightBreast yes +/bodypart/addBodyPart LeftLung yes +/bodypart/addBodyPart RightLung yes +/bodypart/addBodyPart Brain yes +/bodypart/addBodyPart Heart no +/bodypart/addBodyPart LeftKidney yes +/bodypart/addBodyPart RightKidney yes +/bodypart/addBodyPart UrinaryBladder yes +/bodypart/addBodyPart Spleen yes +/bodypart/addBodyPart Pancreas yes +/bodypart/addBodyPart Thyroid yes +# +# Gastrointestinal System +# +/bodypart/addBodyPart Stomach yes +/bodypart/addBodyPart UpperLargeIntestine yes +/bodypart/addBodyPart LowerLargeIntestine yes +/bodypart/addBodyPart Liver no +/bodypart/addBodyPart RibCage yes +/bodypart/addBodyPart LeftScapula yes +/bodypart/addBodyPart RightScapula yes +/bodypart/addBodyPart LeftAdrenal yes +/bodypart/addBodyPart RightAdrenal yes +# +# Genitalia +# +/bodypart/addBodyPart LeftOvary yes +/bodypart/addBodyPart RightOvary yes +/bodypart/addBodyPart Uterus yes +# +# +# Construct your Phantom +# +/phantom/buildNewPhantom +/run/initialize +# +# +# Visualization Config +# +# Visualize Phantom with VRML +#/control/execute vrmlVis.mac +# +# Visualize Phantom with OPENGL +#/control/execute openGLVis.mac +# +# Visualize Phantom with DAWN +/control/execute dawnVis.mac +# +# Run Particles +# +#/control/execute run.mac + diff --git a/examples/advanced/human_phantom/adultMale.mac b/examples/advanced/human_phantom/adultMIRDMale.mac old mode 100644 new mode 100755 similarity index 95% rename from examples/advanced/human_phantom/adultMale.mac rename to examples/advanced/human_phantom/adultMIRDMale.mac index 8ee38c8694..9fc41781d1 --- a/examples/advanced/human_phantom/adultMale.mac +++ b/examples/advanced/human_phantom/adultMIRDMale.mac @@ -18,7 +18,7 @@ # /bodypart/addBodyPart Head yes ######### -/bodypart/addBodyPart Trunk no +/bodypart/addBodyPart Trunk yes /bodypart/addBodyPart Legs yes ############## # @@ -68,4 +68,4 @@ # # Run Particles # -/control/execute run.mac +#/control/execute run.mac diff --git a/examples/advanced/human_phantom/adultMIXFemale.mac b/examples/advanced/human_phantom/adultMIXFemale.mac new file mode 100755 index 0000000000..47de35625e --- /dev/null +++ b/examples/advanced/human_phantom/adultMIXFemale.mac @@ -0,0 +1,90 @@ +# Sets some default verbose +#/control/verbose 2 +# +# +# +# Initialize New Phantom +# +# Choose model: ORNLFemale, ORNLMale, MIRD, MIX, MIRDHead, ORNLHead +# +/phantom/setPhantomModel MIX +# +# Choose Sex of Phantom: Male or Female +# +/phantom/setPhantomSex Female +# +# Insert Body Part and their Sensitivity +# The energy deposit is calculated in the organs declared sensitive +/bodypart/addBodyPart Head yes +######### +/bodypart/addBodyPart Trunk yes +/bodypart/addBodyPart LeftLeg yes +/bodypart/addBodyPart RightLeg yes +############## +# +# Skeleton System +# +/bodypart/addBodyPart LeftLegBone yes +/bodypart/addBodyPart RightLegBone yes +/bodypart/addBodyPart LeftArmBone yes +/bodypart/addBodyPart RightArmBone yes +/bodypart/addBodyPart UpperSpine yes +/bodypart/addBodyPart MiddleLowerSpine yes +/bodypart/addBodyPart Skull yes +/bodypart/addBodyPart Pelvis yes +# +# Organs +# +/bodypart/addBodyPart LeftBreast yes +/bodypart/addBodyPart RightBreast yes +/bodypart/addBodyPart LeftLung yes +/bodypart/addBodyPart RightLung yes +/bodypart/addBodyPart Brain yes +/bodypart/addBodyPart Heart no +/bodypart/addBodyPart LeftKidney yes +/bodypart/addBodyPart RightKidney yes +/bodypart/addBodyPart UrinaryBladder yes +/bodypart/addBodyPart Spleen yes +/bodypart/addBodyPart Pancreas yes +/bodypart/addBodyPart Thyroid yes +# +# Gastrointestinal System +# +/bodypart/addBodyPart Stomach yes +/bodypart/addBodyPart UpperLargeIntestine yes +/bodypart/addBodyPart LowerLargeIntestine yes +/bodypart/addBodyPart Liver no +/bodypart/addBodyPart RibCage yes +/bodypart/addBodyPart LeftScapula yes +/bodypart/addBodyPart RightScapula yes +/bodypart/addBodyPart LeftAdrenal yes +/bodypart/addBodyPart RightAdrenal yes +# +# Genitalia +# +/bodypart/addBodyPart LeftOvary yes +/bodypart/addBodyPart RightOvary yes +/bodypart/addBodyPart Uterus yes +# +# +# Construct your Phantom +# +/phantom/buildNewPhantom +/run/initialize +# +# +# Visualization Config +# +# Visualize Phantom with VRML +#/control/execute vrmlVis.mac +# +# Visualize Phantom with OPENGL +#/control/execute openGLVis.mac +# +# Visualize Phantom with DAWN +/control/execute dawnVis.mac +# +# Run Particles +# +#/control/execute run.mac + diff --git a/examples/advanced/human_phantom/adultORNLFemale.mac b/examples/advanced/human_phantom/adultORNLFemale.mac index f5d375286d..5f391ea80a 100644 --- a/examples/advanced/human_phantom/adultORNLFemale.mac +++ b/examples/advanced/human_phantom/adultORNLFemale.mac @@ -1,31 +1,34 @@ -# # Sets some default verbose -/control/verbose 2 +#/control/verbose 2 # # # # Initialize New Phantom # -# Choose model: ORNL, MIRD, MIX +# Choose model: ORNLFemale, ORNLMale, MIRD, MIX, MIRDHead, ORNLHead # -/phantom/setPhantomModel ORNL + +/phantom/setPhantomModel ORNLFemale # # Choose Sex of Phantom: Male or Female # /phantom/setPhantomSex Female # # Insert Body Part and their Sensitivity -# +# The energy deposit is calculated in the organs declared sensitive /bodypart/addBodyPart Head yes ######### -/bodypart/addBodyPart Trunk no -/bodypart/addBodyPart Legs yes +/bodypart/addBodyPart Trunk yes +/bodypart/addBodyPart LeftLeg yes +/bodypart/addBodyPart RightLeg yes ############## # # Skeleton System # -/bodypart/addBodyPart LegBones yes -/bodypart/addBodyPart ArmBones yes +/bodypart/addBodyPart LeftLegBone yes +/bodypart/addBodyPart RightLegBone yes +/bodypart/addBodyPart LeftArmBone yes +/bodypart/addBodyPart RightArmBone yes /bodypart/addBodyPart UpperSpine yes /bodypart/addBodyPart MiddleLowerSpine yes /bodypart/addBodyPart Skull yes @@ -33,14 +36,17 @@ # # Organs # -/bodypart/addBodyPart Breast yes -/bodypart/addBodyPart Lungs yes +/bodypart/addBodyPart LeftBreast yes +/bodypart/addBodyPart RightBreast yes +/bodypart/addBodyPart LeftLung yes +/bodypart/addBodyPart RightLung yes /bodypart/addBodyPart Brain yes -/bodypart/addBodyPart Heart yes -/bodypart/addBodyPart Kidneys yes +/bodypart/addBodyPart Heart no +/bodypart/addBodyPart LeftKidney yes +/bodypart/addBodyPart RightKidney yes /bodypart/addBodyPart UrinaryBladder yes /bodypart/addBodyPart Spleen yes -/bodypart/addBodyPart Pancreas no +/bodypart/addBodyPart Pancreas yes /bodypart/addBodyPart Thyroid yes # # Gastrointestinal System @@ -48,12 +54,18 @@ /bodypart/addBodyPart Stomach yes /bodypart/addBodyPart UpperLargeIntestine yes /bodypart/addBodyPart LowerLargeIntestine yes -/bodypart/addBodyPart Liver yes +/bodypart/addBodyPart Liver no +/bodypart/addBodyPart RibCage yes +/bodypart/addBodyPart LeftScapula yes +/bodypart/addBodyPart RightScapula yes +/bodypart/addBodyPart LeftAdrenal yes +/bodypart/addBodyPart RightAdrenal yes # # Genitalia # -#/bodypart/addBodyPart Ovaries yes -#/bodypart/addBodyPart Uterus yes +/bodypart/addBodyPart LeftOvary yes +/bodypart/addBodyPart RightOvary yes +/bodypart/addBodyPart Uterus yes # # # Construct your Phantom @@ -76,3 +88,4 @@ # Run Particles # /control/execute run.mac + diff --git a/examples/advanced/human_phantom/adultORNLMale.mac b/examples/advanced/human_phantom/adultORNLMale.mac index 0750c32e23..4170302152 100644 --- a/examples/advanced/human_phantom/adultORNLMale.mac +++ b/examples/advanced/human_phantom/adultORNLMale.mac @@ -1,31 +1,34 @@ -# # Sets some default verbose -/control/verbose 2 +#/control/verbose 2 # # # # Initialize New Phantom # -# Choose model: ORNL, MIRD, MIX +# Choose model: ORNLFemale, ORNLMale, MIRD, MIX, MIRDHead, ORNLHead # -/phantom/setPhantomModel ORNL + +/phantom/setPhantomModel ORNLMale # # Choose Sex of Phantom: Male or Female # /phantom/setPhantomSex Male # # Insert Body Part and their Sensitivity -# +# The energy deposit is calculated in the organs declared sensitive /bodypart/addBodyPart Head yes ######### -/bodypart/addBodyPart Trunk no -/bodypart/addBodyPart Legs yes +/bodypart/addBodyPart Trunk yes +/bodypart/addBodyPart LeftLeg yes +/bodypart/addBodyPart RightLeg yes ############## # # Skeleton System # -/bodypart/addBodyPart LegBones yes -/bodypart/addBodyPart ArmBones yes +/bodypart/addBodyPart LeftLegBone yes +/bodypart/addBodyPart RightLegBone yes +/bodypart/addBodyPart LeftArmBone yes +/bodypart/addBodyPart RightArmBone yes /bodypart/addBodyPart UpperSpine yes /bodypart/addBodyPart MiddleLowerSpine yes /bodypart/addBodyPart Skull yes @@ -33,14 +36,17 @@ # # Organs # -/bodypart/addBodyPart Breast yes -/bodypart/addBodyPart Lungs yes +/bodypart/addBodyPart LeftBreast yes +/bodypart/addBodyPart RightBreast yes +/bodypart/addBodyPart LeftLung yes +/bodypart/addBodyPart RightLung yes /bodypart/addBodyPart Brain yes -/bodypart/addBodyPart Heart yes -/bodypart/addBodyPart Kidneys yes +/bodypart/addBodyPart Heart no +/bodypart/addBodyPart LeftKidney yes +/bodypart/addBodyPart RightKidney yes /bodypart/addBodyPart UrinaryBladder yes /bodypart/addBodyPart Spleen yes -/bodypart/addBodyPart Pancreas no +/bodypart/addBodyPart Pancreas yes /bodypart/addBodyPart Thyroid yes # # Gastrointestinal System @@ -48,12 +54,18 @@ /bodypart/addBodyPart Stomach yes /bodypart/addBodyPart UpperLargeIntestine yes /bodypart/addBodyPart LowerLargeIntestine yes -/bodypart/addBodyPart Liver yes +/bodypart/addBodyPart Liver no +/bodypart/addBodyPart RibCage yes +/bodypart/addBodyPart LeftScapula yes +/bodypart/addBodyPart RightScapula yes +/bodypart/addBodyPart LeftAdrenal yes +/bodypart/addBodyPart RightAdrenal yes # # Genitalia # -#/bodypart/addBodyPart Ovaries yes -#/bodypart/addBodyPart Uterus yes +/bodypart/addBodyPart LeftOvary yes +/bodypart/addBodyPart RightOvary yes +/bodypart/addBodyPart Uterus yes # # # Construct your Phantom @@ -76,3 +88,4 @@ # Run Particles # /control/execute run.mac + diff --git a/examples/advanced/human_phantom/dawnVis.mac b/examples/advanced/human_phantom/dawnVis.mac index 5ab1072328..552e2b5612 100644 --- a/examples/advanced/human_phantom/dawnVis.mac +++ b/examples/advanced/human_phantom/dawnVis.mac @@ -10,5 +10,7 @@ /tracking/verbose 0 /vis/scene/create /vis/open DAWNFILE +/vis/drawVolume +#/vis/specify /vis/viewer/flush # diff --git a/examples/advanced/human_phantom/default.mac b/examples/advanced/human_phantom/default.mac new file mode 100755 index 0000000000..3a0e652db0 --- /dev/null +++ b/examples/advanced/human_phantom/default.mac @@ -0,0 +1,2 @@ +/control/execute adultMIXFemale.mac + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLBrain.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLBrain.gdml index b73687fe8e..ebc05a5c8e 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLBrain.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLBrain.gdml @@ -4,8 +4,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLHead.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLHead.gdml index 1916bdebf7..71137489bc 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLHead.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLHead.gdml @@ -2,8 +2,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftArmBone.gdml new file mode 100644 index 0000000000..766ca7170c --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftArmBone.gdml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLBreast.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftBreast.gdml similarity index 85% rename from examples/advanced/human_phantom/gdmlData/Female/ORNLBreast.gdml rename to examples/advanced/human_phantom/gdmlData/Female/ORNLLeftBreast.gdml index 0f1e2a740a..f8b75aa449 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLBreast.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftBreast.gdml @@ -7,8 +7,8 @@ - - + + @@ -113,28 +113,15 @@ - - - - - - - - - - - - - - + - + - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftKidney.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftKidney.gdml new file mode 100644 index 0000000000..385771b910 --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftKidney.gdml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLegs.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLeg.gdml similarity index 88% rename from examples/advanced/human_phantom/gdmlData/Female/ORNLLegs.gdml rename to examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLeg.gdml index 8d90476df7..9da7899fa1 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLegs.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLeg.gdml @@ -4,9 +4,8 @@ - - - + + @@ -109,20 +108,15 @@ - - - - - - + - + - + \ No newline at end of file diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLegBone.gdml new file mode 100644 index 0000000000..d4bdff99fb --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLegBone.gdml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLung.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLung.gdml similarity index 89% rename from examples/advanced/human_phantom/gdmlData/Female/ORNLLung.gdml rename to examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLung.gdml index 05d96ae848..98032c7a7b 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLung.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftLung.gdml @@ -4,11 +4,10 @@ - - - + + @@ -113,13 +112,8 @@ - + - - - - - @@ -128,12 +122,12 @@ - + - + - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftOvary.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftOvary.gdml new file mode 100644 index 0000000000..e62a610b3b --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLeftOvary.gdml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLLowerLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLLowerLargeIntestine.gdml index 526ccc18da..590ce4f682 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLLowerLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLLowerLargeIntestine.gdml @@ -9,8 +9,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLMiddleLowerSpine.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLMiddleLowerSpine.gdml index ff6323f7ec..f95f8a4ae3 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLMiddleLowerSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLMiddleLowerSpine.gdml @@ -6,8 +6,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLPancreas.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLPancreas.gdml index d3af2c3e1c..28a613963e 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLPancreas.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLPancreas.gdml @@ -6,8 +6,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLPelvis.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLPelvis.gdml index 5d7a5e664f..fe61107ac3 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLPelvis.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLPelvis.gdml @@ -8,8 +8,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightArmBone.gdml new file mode 100644 index 0000000000..c0bbb1157b --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightArmBone.gdml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightBreast.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightBreast.gdml new file mode 100644 index 0000000000..b260503641 --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightBreast.gdml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLKidney.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightKidney.gdml similarity index 88% rename from examples/advanced/human_phantom/gdmlData/Female/ORNLKidney.gdml rename to examples/advanced/human_phantom/gdmlData/Female/ORNLRightKidney.gdml index 9e70cea00e..e20f07e03c 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLKidney.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightKidney.gdml @@ -4,10 +4,9 @@ - - - + + @@ -115,13 +114,8 @@ - + - - - - - @@ -130,13 +124,13 @@ - + - + - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLeg.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLeg.gdml new file mode 100644 index 0000000000..dc87c213ec --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLeg.gdml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLegBone.gdml new file mode 100644 index 0000000000..4b91b8122c --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLegBone.gdml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLung.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLung.gdml new file mode 100644 index 0000000000..b8736c5b7e --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightLung.gdml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLOvary.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightOvary.gdml similarity index 88% rename from examples/advanced/human_phantom/gdmlData/Female/ORNLOvary.gdml rename to examples/advanced/human_phantom/gdmlData/Female/ORNLRightOvary.gdml index ef389f20b2..d5417ffed5 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLOvary.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLRightOvary.gdml @@ -4,9 +4,8 @@ - - - + + @@ -110,22 +109,15 @@ - - - - - - - - + - + - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLSkull.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLSkull.gdml index ea7a37cce0..fcad6f46d0 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLSkull.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLSkull.gdml @@ -8,8 +8,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLSpleen.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLSpleen.gdml index 80a36f30bc..648344d016 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLSpleen.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLSpleen.gdml @@ -4,8 +4,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLStomach.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLStomach.gdml index ab576c7c9f..cae54c1eaf 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLStomach.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLStomach.gdml @@ -4,8 +4,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLTrunk.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLTrunk.gdml index 32043d73ed..ec6e97f465 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLTrunk.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLTrunk.gdml @@ -4,8 +4,8 @@ - - + + @@ -107,13 +107,13 @@ - + - + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperLargeIntestine.gdml index 86504e668a..33920d1ea4 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperLargeIntestine.gdml @@ -7,8 +7,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperSpine.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperSpine.gdml index 46ab440b0d..7cc327e48e 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLUpperSpine.gdml @@ -5,8 +5,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Female/ORNLUrinaryBladder.gdml b/examples/advanced/human_phantom/gdmlData/Female/ORNLUrinaryBladder.gdml index ed7f450729..47bf5156e9 100644 --- a/examples/advanced/human_phantom/gdmlData/Female/ORNLUrinaryBladder.gdml +++ b/examples/advanced/human_phantom/gdmlData/Female/ORNLUrinaryBladder.gdml @@ -5,8 +5,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDArmBone.gdml index bd7760954a..381bbe559b 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDArmBone.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDBrain.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDBrain.gdml index 5191424c30..86ea947361 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDBrain.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDBrain.gdml @@ -1,5 +1,5 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDLowerLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDLowerLargeIntestine.gdml index 172868302e..53214a5745 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDLowerLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDLowerLargeIntestine.gdml @@ -57,7 +57,9 @@ + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/MIRDSkull.gdml b/examples/advanced/human_phantom/gdmlData/Male/MIRDSkull.gdml index b226fc0b08..1a1ffdc146 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/MIRDSkull.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/MIRDSkull.gdml @@ -59,25 +59,31 @@ + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLArmBone.gdml index 381bbe559b..ab924d4802 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLArmBone.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLArmBone.gdml @@ -1,5 +1,6 @@ - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLBrain.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLBrain.gdml index b73687fe8e..ebc05a5c8e 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLBrain.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLBrain.gdml @@ -4,8 +4,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLHead.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLHead.gdml index 1916bdebf7..71137489bc 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLHead.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLHead.gdml @@ -2,8 +2,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftArmBone.gdml new file mode 100644 index 0000000000..766ca7170c --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftArmBone.gdml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftKidney.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftKidney.gdml new file mode 100644 index 0000000000..385771b910 --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftKidney.gdml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLeg.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLeg.gdml new file mode 100644 index 0000000000..9da7899fa1 --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLeg.gdml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLegBone.gdml new file mode 100644 index 0000000000..d4bdff99fb --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLegBone.gdml @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLung.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLung.gdml new file mode 100644 index 0000000000..98032c7a7b --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLeftLung.gdml @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLLowerLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLLowerLargeIntestine.gdml index 526ccc18da..590ce4f682 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLLowerLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLLowerLargeIntestine.gdml @@ -9,8 +9,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLMiddleLowerSpine.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLMiddleLowerSpine.gdml index ff6323f7ec..f95f8a4ae3 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLMiddleLowerSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLMiddleLowerSpine.gdml @@ -6,8 +6,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLPancreas.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLPancreas.gdml index d3af2c3e1c..28a613963e 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLPancreas.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLPancreas.gdml @@ -6,8 +6,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLPelvis.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLPelvis.gdml index 5d7a5e664f..fe61107ac3 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLPelvis.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLPelvis.gdml @@ -8,8 +8,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightArmBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightArmBone.gdml new file mode 100644 index 0000000000..c0bbb1157b --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightArmBone.gdml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightKidney.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightKidney.gdml new file mode 100644 index 0000000000..e20f07e03c --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightKidney.gdml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLeg.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLeg.gdml new file mode 100644 index 0000000000..dc87c213ec --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLeg.gdml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLegBone.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLegBone.gdml new file mode 100644 index 0000000000..4b91b8122c --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLegBone.gdml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLung.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLung.gdml new file mode 100644 index 0000000000..b8736c5b7e --- /dev/null +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLRightLung.gdml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLSkull.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLSkull.gdml index ea7a37cce0..fcad6f46d0 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLSkull.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLSkull.gdml @@ -8,8 +8,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLSpleen.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLSpleen.gdml index 80a36f30bc..648344d016 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLSpleen.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLSpleen.gdml @@ -4,8 +4,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLStomach.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLStomach.gdml index ab576c7c9f..cae54c1eaf 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLStomach.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLStomach.gdml @@ -4,8 +4,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLTrunk.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLTrunk.gdml index 32043d73ed..ec6e97f465 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLTrunk.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLTrunk.gdml @@ -4,8 +4,8 @@ - - + + @@ -107,13 +107,13 @@ - + - + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperLargeIntestine.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperLargeIntestine.gdml index 86504e668a..33920d1ea4 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperLargeIntestine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperLargeIntestine.gdml @@ -7,8 +7,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperSpine.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperSpine.gdml index 46ab440b0d..7cc327e48e 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperSpine.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLUpperSpine.gdml @@ -5,8 +5,8 @@ - - + + diff --git a/examples/advanced/human_phantom/gdmlData/Male/ORNLUrinaryBladder.gdml b/examples/advanced/human_phantom/gdmlData/Male/ORNLUrinaryBladder.gdml index ed7f450729..47bf5156e9 100644 --- a/examples/advanced/human_phantom/gdmlData/Male/ORNLUrinaryBladder.gdml +++ b/examples/advanced/human_phantom/gdmlData/Male/ORNLUrinaryBladder.gdml @@ -5,8 +5,8 @@ - - + + diff --git a/examples/advanced/human_phantom/include/G4BasePhantomBuilder.hh b/examples/advanced/human_phantom/include/G4BasePhantomBuilder.hh new file mode 100644 index 0000000000..0461d09ed2 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4BasePhantomBuilder.hh @@ -0,0 +1,102 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// + +#ifndef G4BasePhantomBuilder_h +#define G4BasePhantomBuilder_h 1 + +#include "G4VPhysicalVolume.hh" +class G4VPhysicalVolume; +class G4BasePhantomBuilder +{ +public: + + G4BasePhantomBuilder(); + ~G4BasePhantomBuilder(); + + virtual void BuildHead(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildTrunk(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildLegs(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildNeck(const G4String&,G4bool,G4bool) {return ;}; + + virtual void BuildUpperSpine(const G4String&,G4bool,G4bool) {return ;} + virtual void BuildMiddleLowerSpine(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildLeftLeg(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildRightLeg(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildLeftLegBone(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildRightLegBone(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildLeftArmBone(const G4String&,G4bool,G4bool) {return ;} + virtual void BuildRightArmBone(const G4String&,G4bool,G4bool) {return ;} + virtual void BuildSkull(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildRibCage(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildPelvis(const G4String&,G4bool,G4bool) {return ;}; + + + //virtual void BuildScapulae(G4bool,G4bool) = 0; + //virtual void BuildClavicles(G4bool,G4bool) = 0; + + virtual void BuildBrain(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildHeart(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildLeftLung(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildRightLung(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildStomach(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildUpperLargeIntestine(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildLowerLargeIntestine(const G4String&,G4bool,G4bool) {return ;}; + // virtual void BuildEsophagus(G4bool,G4bool) = 0; + + virtual void BuildLeftKidney(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildRightKidney(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildLeftAdrenal(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildRightAdrenal(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildLiver(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildPancreas(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildSpleen(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildUrinaryBladder(const G4String& ,G4bool,G4bool) {return ;}; + virtual void BuildThyroid(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildLeftScapula(const G4String&,G4bool,G4bool){return;}; + virtual void BuildRightScapula(const G4String&,G4bool,G4bool){return;}; + virtual void SetModel(G4String) {return ;}; + virtual void SetMotherVolume(G4VPhysicalVolume*) {return;}; + virtual G4VPhysicalVolume* GetPhantom() {return 0;}; + + virtual void BuildLeftOvary(const G4String&,G4bool,G4bool ) {return ;}; + + virtual void BuildRightOvary(const G4String&,G4bool,G4bool) {return ;}; + virtual void BuildUterus(const G4String&,G4bool,G4bool){return;}; + virtual void BuildLeftBreast(const G4String&,G4bool,G4bool){return;}; + virtual void BuildRightBreast(const G4String&,G4bool,G4bool){return;}; + virtual void BuildVoxelLeftBreast(const G4String&,G4bool,G4bool){return;}; + virtual void BuildVoxelRightBreast(const G4String&,G4bool,G4bool){return;}; + +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4CustomFemaleBuilder.hh b/examples/advanced/human_phantom/include/G4CustomFemaleBuilder.hh new file mode 100644 index 0000000000..146f04b454 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4CustomFemaleBuilder.hh @@ -0,0 +1,54 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// + +#ifndef G4CustomFemaleBuilder_h +#define G4CustomFemaleBuilder_h 1 + +//#include "G4VPhysicalVolume.hh" + +#include "G4PhantomBuilder.hh" + +class G4CustomFemaleBuilder: public G4PhantomBuilder +{ +public: + G4CustomFemaleBuilder(); + ~G4CustomFemaleBuilder(); + + void BuildVoxelLeftBreast(const G4String&, G4bool, G4bool); + void BuildVoxelRightBreast(const G4String&, G4bool, G4bool); + void BuildLeftOvary(const G4String&, G4bool, G4bool); + void BuildRightOvary(const G4String&, G4bool, G4bool); + void BuildUterus(const G4String&, G4bool, G4bool); +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4FemaleBuilder.hh b/examples/advanced/human_phantom/include/G4FemaleBuilder.hh index 01720c00e9..501dad7f6e 100644 --- a/examples/advanced/human_phantom/include/G4FemaleBuilder.hh +++ b/examples/advanced/human_phantom/include/G4FemaleBuilder.hh @@ -35,25 +35,20 @@ #ifndef G4FemaleBuilder_h #define G4FemaleBuilder_h 1 -#include "G4VPhysicalVolume.hh" +//#include "G4VPhysicalVolume.hh" #include "G4PhantomBuilder.hh" -class G4PhantomBuilder; - -class G4VPhysicalVolume; -class G4VBodyFactory; class G4FemaleBuilder: public G4PhantomBuilder { public: G4FemaleBuilder(); ~G4FemaleBuilder(); - void BuildBreast(G4bool sensitivity); - void BuildParameterisedBreast(G4bool sensitivity); - void BuildOvary(G4bool sensitivity); - void BuildUterus(G4bool sensitivity); - void BuildTestes(G4bool){;}; - void BuildMaleGenitalia(G4bool){;}; + void BuildLeftBreast(const G4String&, G4bool, G4bool); + void BuildRightBreast(const G4String&, G4bool, G4bool); + void BuildLeftOvary(const G4String&, G4bool, G4bool); + void BuildRightOvary(const G4String&, G4bool, G4bool); + void BuildUterus(const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4HumanDummyLeftBreastSD.hh b/examples/advanced/human_phantom/include/G4HumanDummyLeftBreastSD.hh new file mode 100644 index 0000000000..a910f72a16 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4HumanDummyLeftBreastSD.hh @@ -0,0 +1,64 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// ******************************** +// * * +// * G4HumanDummyLeftBreastSD.hh * +// * * +// ******************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +// Dummy sensitive used only to flag sensitivity in cells of RO geometry. + +#ifndef G4HumanDummyLeftBreastSD_h +#define G4HumanDummyLeftBreastSD_h 1 + +#include "G4VSensitiveDetector.hh" +class G4Step; + +class G4HumanDummyLeftBreastSD : public G4VSensitiveDetector +{ +public: + G4HumanDummyLeftBreastSD(); + ~G4HumanDummyLeftBreastSD() {}; + + void Initialize(G4HCofThisEvent* ) {}; + G4bool ProcessHits(G4Step* ,G4TouchableHistory*) {return false;} + void EndOfEvent(G4HCofThisEvent*) {}; + void clear() {}; + void DrawAll() {}; + void PrintAll() {}; +}; + +G4HumanDummyLeftBreastSD::G4HumanDummyLeftBreastSD() : G4VSensitiveDetector("dummyLeftBreastSD") +{} +#endif diff --git a/examples/advanced/human_phantom/include/G4HumanDummySD.hh b/examples/advanced/human_phantom/include/G4HumanDummyRightBreastSD.hh similarity index 89% rename from examples/advanced/human_phantom/include/G4HumanDummySD.hh rename to examples/advanced/human_phantom/include/G4HumanDummyRightBreastSD.hh index bf5a17f009..7c5ccb14ca 100644 --- a/examples/advanced/human_phantom/include/G4HumanDummySD.hh +++ b/examples/advanced/human_phantom/include/G4HumanDummyRightBreastSD.hh @@ -39,17 +39,17 @@ // // Dummy sensitive used only to flag sensitivity in cells of RO geometry. -#ifndef G4HumanDummySD_h -#define G4HumanDummySD_h 1 +#ifndef G4HumanDummyRightBreastSD_h +#define G4HumanDummyRightBreastSD_h 1 #include "G4VSensitiveDetector.hh" class G4Step; -class G4HumanDummySD : public G4VSensitiveDetector +class G4HumanDummyRightBreastSD : public G4VSensitiveDetector { public: - G4HumanDummySD(); - ~G4HumanDummySD() {}; + G4HumanDummyRightBreastSD(); + ~G4HumanDummyRightBreastSD() {}; void Initialize(G4HCofThisEvent* ) {}; G4bool ProcessHits(G4Step* ,G4TouchableHistory*) {return false;} @@ -59,6 +59,6 @@ public: void PrintAll() {}; }; -G4HumanDummySD::G4HumanDummySD() : G4VSensitiveDetector("dummySD") +G4HumanDummyRightBreastSD::G4HumanDummyRightBreastSD() : G4VSensitiveDetector("dummyRightBreastSD") {} #endif diff --git a/examples/advanced/human_phantom/include/G4HumanPhantomAnalysisManager.hh b/examples/advanced/human_phantom/include/G4HumanPhantomAnalysisManager.hh index 7e63200d72..ee4b9fa8b8 100644 --- a/examples/advanced/human_phantom/include/G4HumanPhantomAnalysisManager.hh +++ b/examples/advanced/human_phantom/include/G4HumanPhantomAnalysisManager.hh @@ -45,7 +45,9 @@ namespace AIDA { class ITree; - class IHistogramFactory; + class IHistogramFactory; + class ITupleFactory; + class ITuple; class IAnalysisFactory; class ITreeFactory; }; @@ -53,17 +55,13 @@ namespace AIDA class G4HumanPhantomAnalysisManager { public: - ~G4HumanPhantomAnalysisManager(); static G4HumanPhantomAnalysisManager* getInstance(); void book(); - void particlePath(G4double); - void particleProjectionXY(G4double, G4double); - void particleProjectionYZ(G4double, G4double); - void particleProjectionZX(G4double, G4double); - void bodypartEnergyDep(G4double,G4double); - void innerBreastEnergyDep(G4int, G4int, G4double); + void bodyPartEnergyDeposit(G4int,G4double); + void voxelLeftBreastEnergyDeposit(G4int, G4int, G4double); + void voxelRightBreastEnergyDeposit(G4int, G4int, G4double); void finish(); private: @@ -73,13 +71,11 @@ private: AIDA::IAnalysisFactory* aFact; AIDA::ITreeFactory* treeFact; AIDA::ITree* theTree; - AIDA::IHistogramFactory* histogramFactory; - AIDA::IHistogram1D* histogramParticlePath; - AIDA::IHistogram2D* projectionXY; - AIDA::IHistogram2D* projectionYZ; - AIDA::IHistogram2D* projectionZX; - AIDA::IHistogram2D* energy; - AIDA::IHistogram2D* innerBreast; + AIDA::IHistogramFactory* histogramFactory; + AIDA::ITupleFactory *tupFact; + AIDA::ITuple *ntuple; + AIDA::IHistogram2D* voxelLeftBreast; + AIDA::IHistogram2D* voxelRightBreast; }; #endif #endif diff --git a/examples/advanced/human_phantom/include/G4HumanPhantomEnergyDeposit.hh b/examples/advanced/human_phantom/include/G4HumanPhantomColour.hh similarity index 80% rename from examples/advanced/human_phantom/include/G4HumanPhantomEnergyDeposit.hh rename to examples/advanced/human_phantom/include/G4HumanPhantomColour.hh index fdd95c178a..865c1eceed 100644 --- a/examples/advanced/human_phantom/include/G4HumanPhantomEnergyDeposit.hh +++ b/examples/advanced/human_phantom/include/G4HumanPhantomColour.hh @@ -31,23 +31,36 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // - -#ifndef G4HumanPhantomEnergyDeposit_H -#define G4HumanPhantomEnergyDeposit_H 1 +// This class manages colours +// +#ifndef G4HumanPhantomColour_H +#define G4HumanPhantomColour_H 1 #include "globals.hh" -#include -class G4HumanPhantomEnergyDeposit -{ +class G4Colour; +class G4HumanPhantomColour +{ public: - G4HumanPhantomEnergyDeposit(); - ~G4HumanPhantomEnergyDeposit(); - void Fill(G4String bodypartName, G4double energyDeposit); - void TotalEnergyDeposit(); + G4HumanPhantomColour(); + ~G4HumanPhantomColour(); -private: - std::map energyTotal; - G4String bodypartName; +public: + //void DefineColour(); + G4Colour GetColour(const G4String&); //returns the colour + +private: + G4Colour white; + G4Colour pink; + G4Colour grey; + G4Colour yellow; + G4Colour blue; + G4Colour lightBlue; + G4Colour green; + G4Colour brown; + G4Colour purple; + G4Colour red; + G4Colour orange; + G4Colour black; }; #endif diff --git a/examples/advanced/human_phantom/include/G4HumanPhantomConstruction.hh b/examples/advanced/human_phantom/include/G4HumanPhantomConstruction.hh index 436d322e15..17006a2986 100644 --- a/examples/advanced/human_phantom/include/G4HumanPhantomConstruction.hh +++ b/examples/advanced/human_phantom/include/G4HumanPhantomConstruction.hh @@ -41,35 +41,28 @@ #include class G4VPhysicalVolume; -//class G4LogicalVolume; -//class G4HumanPhantomSD; class G4HumanPhantomMaterial; -//class G4PhantomBuilder; -class G4HumanPhantomEnergyDeposit; class G4HumanPhantomConstruction : public G4VUserDetectorConstruction { public: - G4HumanPhantomConstruction(G4HumanPhantomEnergyDeposit*); + G4HumanPhantomConstruction(); ~G4HumanPhantomConstruction(); G4VPhysicalVolume* Construct(); void SetBodyPartSensitivity(G4String, G4bool); - void CleanPhantom(); - void UpdatePhantom(); + void SetPhantomSex(G4String); void SetPhantomModel(G4String); - G4VPhysicalVolume* GetMotherVolume(){return mother;}; + //G4VPhysicalVolume* GetMotherVolume(){return mother;}; private: - G4HumanPhantomEnergyDeposit* edepTot; + G4HumanPhantomMaterial* material; G4HumanPhantomMessenger* messenger; - - G4VPhysicalVolume* mother; + G4VPhysicalVolume* ConstructWorld(); G4String model; G4String sex; - G4HumanPhantomMaterial* material; std::map sensitivities; }; diff --git a/examples/advanced/human_phantom/include/G4HumanPhantomEventAction.hh b/examples/advanced/human_phantom/include/G4HumanPhantomEventAction.hh index a5c4525c6b..dd91392d98 100644 --- a/examples/advanced/human_phantom/include/G4HumanPhantomEventAction.hh +++ b/examples/advanced/human_phantom/include/G4HumanPhantomEventAction.hh @@ -36,17 +36,26 @@ #include "G4UserEventAction.hh" #include "globals.hh" +#include class G4Event; class G4HumanPhantomEventAction : public G4UserEventAction { - public: - G4HumanPhantomEventAction(); - ~G4HumanPhantomEventAction(); +public: + G4HumanPhantomEventAction(); + ~G4HumanPhantomEventAction(); - public: - void BeginOfEventAction(const G4Event*); - void EndOfEventAction(const G4Event*); +public: + void BeginOfEventAction(const G4Event*); + void EndOfEventAction(const G4Event*); + +private: + void Fill(G4String bodypartName, G4double energyDeposit); + void totalEventEnergyDeposit(); + + G4int hitCollectionID; + std::map energyTotal; + G4String bodypartName; }; #endif diff --git a/source/processes/transportation/include/G4MScoreConfigurator.hh b/examples/advanced/human_phantom/include/G4HumanPhantomHit.hh similarity index 55% rename from source/processes/transportation/include/G4MScoreConfigurator.hh rename to examples/advanced/human_phantom/include/G4HumanPhantomHit.hh index be1d7c522f..f7d67dcb53 100644 --- a/source/processes/transportation/include/G4MScoreConfigurator.hh +++ b/examples/advanced/human_phantom/include/G4HumanPhantomHit.hh @@ -24,53 +24,60 @@ // ******************************************************************** // // -// $Id: G4MScoreConfigurator.hh,v 1.6 2006/06/29 21:09:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4HumanPhantomHit.hh,v 1.10 2007/05/15 14:46:54 guatelli Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// ---------------------------------------------------------------------- -// Class G4MScoreConfigurator -// -// Class description: -// This class builds and places the G4MScoreProcess. -// If the object is deleted the process is removed from the -// process list. -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- +#ifndef G4HumanPhantomHit_h +#define G4HumanPhantomHit_h 1 -#ifndef G4MScoreConfigurator_hh -#define G4MScoreConfigurator_hh G4MScoreConfigurator_hh +#include "G4VHit.hh" +#include "G4THitsCollection.hh" +#include "G4Allocator.hh" +#include "G4ThreeVector.hh" -#include "G4Types.hh" -#include "G4ProcessPlacer.hh" - -#include "G4VSamplerConfigurator.hh" - -class G4VScorer; -class G4VTrackTerminator; -class G4MScoreProcess; - -class G4MScoreConfigurator : public G4VSamplerConfigurator +class G4HumanPhantomHit : public G4VHit { +public: -public: // with description + G4HumanPhantomHit(); + ~G4HumanPhantomHit(); + G4HumanPhantomHit(const G4HumanPhantomHit&); + const G4HumanPhantomHit& operator=(const G4HumanPhantomHit&); + G4int operator==(const G4HumanPhantomHit&) const; - G4MScoreConfigurator(const G4String &particlename, - G4VScorer &scorer); - virtual ~G4MScoreConfigurator(); - - virtual void Configure(G4VSamplerConfigurator *preConf); - virtual const G4VTrackTerminator *GetTrackTerminator() const; + inline void* operator new(size_t); + inline void operator delete(void*); + void Draw(); + void Print(); + +public: + void SetBodyPartID (G4String bodyPartName) { bodyPartID = bodyPartName;}; + void SetEdep (G4double de) { edep = de; }; + + G4String GetBodyPartID() { return bodyPartID; }; + G4double GetEdep() { return edep; }; + private: - - G4MScoreConfigurator(const G4MScoreConfigurator&); - G4MScoreConfigurator &operator=(const G4MScoreConfigurator&); - - G4ProcessPlacer fPlacer; - G4VScorer &fScorer; - G4MScoreProcess *fMScoreProcess; + G4String bodyPartID; + G4double edep; }; +typedef G4THitsCollection G4HumanPhantomHitsCollection; + +extern G4Allocator G4HumanPhantomHitAllocator; + +inline void* G4HumanPhantomHit::operator new(size_t) +{ + void *aHit; + aHit = (void *) G4HumanPhantomHitAllocator.MallocSingle(); + return aHit; +} + +inline void G4HumanPhantomHit::operator delete(void *aHit) +{ + G4HumanPhantomHitAllocator.FreeSingle((G4HumanPhantomHit*) aHit); +} #endif diff --git a/examples/advanced/human_phantom/include/G4HumanPhantomMessenger.hh b/examples/advanced/human_phantom/include/G4HumanPhantomMessenger.hh index 2a5c1b4b0b..1367ae26f5 100644 --- a/examples/advanced/human_phantom/include/G4HumanPhantomMessenger.hh +++ b/examples/advanced/human_phantom/include/G4HumanPhantomMessenger.hh @@ -65,7 +65,6 @@ private: G4UIcmdWithAString* sexCmd; G4UIcmdWithAString* bodypartCmd; G4UIcmdWithoutParameter* endCmd; - G4UIcmdWithoutParameter* cleanCmd; G4String bodypart; G4bool bps; diff --git a/examples/advanced/human_phantom/include/G4HumanPhantomRunAction.hh b/examples/advanced/human_phantom/include/G4HumanPhantomRunAction.hh index f71c9527d9..c79e4110ab 100644 --- a/examples/advanced/human_phantom/include/G4HumanPhantomRunAction.hh +++ b/examples/advanced/human_phantom/include/G4HumanPhantomRunAction.hh @@ -37,6 +37,7 @@ #include "G4UserRunAction.hh" #include "globals.hh" +#include class G4HumanPhantomRunAction : public G4UserRunAction { @@ -47,6 +48,12 @@ class G4HumanPhantomRunAction : public G4UserRunAction public: void BeginOfRunAction(const G4Run*); void EndOfRunAction(const G4Run*); + void Fill(G4String bodypartName, G4double energyDeposit); +private: + void totalRunEnergyDeposit(); + std::map energyTotal; + G4String bodypartName; + }; #endif diff --git a/examples/advanced/human_phantom/include/G4HumanPhantomSD.hh b/examples/advanced/human_phantom/include/G4HumanPhantomSD.hh index 0dca7bfd37..03874985ac 100644 --- a/examples/advanced/human_phantom/include/G4HumanPhantomSD.hh +++ b/examples/advanced/human_phantom/include/G4HumanPhantomSD.hh @@ -35,22 +35,22 @@ #define G4HumanPhantomSD_h 1 #include "G4VSensitiveDetector.hh" +#include "G4HumanPhantomHit.hh" class G4Step; -class G4HumanPhantomEnergyDeposit; class G4HumanPhantomSD : public G4VSensitiveDetector { public: - G4HumanPhantomSD(G4String,G4HumanPhantomEnergyDeposit*); + G4HumanPhantomSD(G4String); ~G4HumanPhantomSD(); void Initialize(G4HCofThisEvent*); G4bool ProcessHits(G4Step*, G4TouchableHistory*); void EndOfEvent(G4HCofThisEvent*); - - private: - G4HumanPhantomEnergyDeposit* energyTotal; + + private: + G4HumanPhantomHitsCollection* collection; }; #endif diff --git a/examples/advanced/human_phantom/include/G4HumanPhantomSteppingAction.hh b/examples/advanced/human_phantom/include/G4HumanPhantomSteppingAction.hh index 033869caac..4a3be38ed4 100644 --- a/examples/advanced/human_phantom/include/G4HumanPhantomSteppingAction.hh +++ b/examples/advanced/human_phantom/include/G4HumanPhantomSteppingAction.hh @@ -43,7 +43,6 @@ class G4HumanPhantomSteppingAction : public G4UserSteppingAction public: G4HumanPhantomSteppingAction(); ~G4HumanPhantomSteppingAction(); - void UserSteppingAction(const G4Step*); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDBodyFactory.hh b/examples/advanced/human_phantom/include/G4MIRDBodyFactory.hh index aa79d25734..9ffa4a3482 100644 --- a/examples/advanced/human_phantom/include/G4MIRDBodyFactory.hh +++ b/examples/advanced/human_phantom/include/G4MIRDBodyFactory.hh @@ -36,62 +36,21 @@ #define G4MIRDBodyFactory_h 1 #include "G4VBodyFactory.hh" - +#include "G4VOrgan.hh" +#include class G4VBodyFactory; class G4VPhysicalVolume; +class G4VOrgan; + class G4MIRDBodyFactory: public G4VBodyFactory { public: G4MIRDBodyFactory(); ~G4MIRDBodyFactory(); - - G4VPhysicalVolume* CreateHead(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateTrunk(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateLegs(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateUpperSpine(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateMiddleLowerSpine(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateLegBone(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateArmBone(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateSkull(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateRibCage(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreatePelvis(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateBreast(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateParameterisedBreast(G4VPhysicalVolume*, - G4String,G4bool); - - G4VPhysicalVolume* CreateUterus(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateOvary(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateTestes(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateBrain(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateHeart(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateLung(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateStomach(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateUpperLargeIntestine(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateLowerLargeIntestine(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateKidney(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateAdrenal(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateLiver(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreatePancreas(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateSpleen(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateUrinaryBladder(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateThyroid(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateEsophagus(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateNeck(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateScapulae(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateClavicles(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateMaleGenitalia(G4VPhysicalVolume*,G4String,G4bool); - + G4VPhysicalVolume* CreateOrgan(const G4String&, G4VPhysicalVolume*, + const G4String&,G4bool,G4bool); + private: - + std::map organ; }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDBrain.hh b/examples/advanced/human_phantom/include/G4MIRDBrain.hh index 09de43ab88..9c531630f2 100644 --- a/examples/advanced/human_phantom/include/G4MIRDBrain.hh +++ b/examples/advanced/human_phantom/include/G4MIRDBrain.hh @@ -35,20 +35,21 @@ #define G4MIRDBrain_h 1 #include "G4VPhysicalVolume.hh" - +#include "G4VOrgan.hh" //#include "Saxana/SAXProcessor.h" ///#include "Saxana/ProcessingConfigurator.h" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDBrain +class G4MIRDBrain: public G4VOrgan { public: G4MIRDBrain(); ~G4MIRDBrain(); - G4VPhysicalVolume* ConstructBrain(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); private: //AXProcessor sxp; diff --git a/examples/advanced/human_phantom/include/G4MIRDHead.hh b/examples/advanced/human_phantom/include/G4MIRDHead.hh index 5bf67cfa9c..7f417c8a07 100644 --- a/examples/advanced/human_phantom/include/G4MIRDHead.hh +++ b/examples/advanced/human_phantom/include/G4MIRDHead.hh @@ -35,7 +35,7 @@ #define G4MIRDHead_h 1 #include "G4VPhysicalVolume.hh" - +#include "G4VOrgan.hh" //##include "Saxana/SAXProcessor.h" //#include "Saxana/ProcessingConfigurator.h" @@ -43,13 +43,14 @@ class G4VPhysicalVolume; class G4LogicalVolume; class G4HumanPhantomMaterial; -class G4MIRDHead +class G4MIRDHead: public G4VOrgan { public: G4MIRDHead(); ~G4MIRDHead(); - G4VPhysicalVolume* ConstructHead(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&, G4VPhysicalVolume*, const G4String&, + G4bool, G4bool); private: // SAXProcessor sxp; diff --git a/examples/advanced/human_phantom/include/G4MIRDHeart.hh b/examples/advanced/human_phantom/include/G4MIRDHeart.hh index 032d267b4b..e9e0e47eeb 100644 --- a/examples/advanced/human_phantom/include/G4MIRDHeart.hh +++ b/examples/advanced/human_phantom/include/G4MIRDHeart.hh @@ -35,16 +35,17 @@ #define G4MIRDHeart_h 1 #include "G4VPhysicalVolume.hh" - +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDHeart +class G4MIRDHeart:public G4VOrgan { public: G4MIRDHeart(); ~G4MIRDHeart(); - G4VPhysicalVolume* ConstructHeart(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDLeftAdrenal.hh b/examples/advanced/human_phantom/include/G4MIRDLeftAdrenal.hh new file mode 100755 index 0000000000..3c5fe69312 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4MIRDLeftAdrenal.hh @@ -0,0 +1,51 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4MIRDLeftAdrenal_h +#define G4MIRDLeftAdrenal_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" +class G4VPhysicalVolume; +class G4LogicalVolume; + +class G4MIRDLeftAdrenal: public G4VOrgan +{ +public: + + G4MIRDLeftAdrenal(); + ~G4MIRDLeftAdrenal(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&,G4bool, G4bool); +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4MIRDArmBone.hh b/examples/advanced/human_phantom/include/G4MIRDLeftArmBone.hh similarity index 89% rename from examples/advanced/human_phantom/include/G4MIRDArmBone.hh rename to examples/advanced/human_phantom/include/G4MIRDLeftArmBone.hh index 935162c498..c609de0fe6 100644 --- a/examples/advanced/human_phantom/include/G4MIRDArmBone.hh +++ b/examples/advanced/human_phantom/include/G4MIRDLeftArmBone.hh @@ -32,22 +32,22 @@ // design and code review. // -#ifndef G4MIRDArmBone_h -#define G4MIRDArmBone_h 1 +#ifndef G4MIRDLeftArmBone_h +#define G4MIRDLeftArmBone_h 1 #include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDArmBone +class G4MIRDLeftArmBone: public G4VOrgan { public: + G4MIRDLeftArmBone(); + ~G4MIRDLeftArmBone(); - G4MIRDArmBone(); - ~G4MIRDArmBone(); - - G4VPhysicalVolume* ConstructArmBone(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, const G4String&, G4bool, G4bool); private: // SAXProcessor sxp; diff --git a/examples/advanced/human_phantom/include/G4MIRDKidney.hh b/examples/advanced/human_phantom/include/G4MIRDLeftBreast.hh similarity index 88% rename from examples/advanced/human_phantom/include/G4MIRDKidney.hh rename to examples/advanced/human_phantom/include/G4MIRDLeftBreast.hh index 611e3fdb46..e058b1bcd6 100644 --- a/examples/advanced/human_phantom/include/G4MIRDKidney.hh +++ b/examples/advanced/human_phantom/include/G4MIRDLeftBreast.hh @@ -31,20 +31,22 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#ifndef G4MIRDKidney_h -#define G4MIRDKidney_h 1 +#ifndef G4MIRDLeftBreast_h +#define G4MIRDLeftBreast_h 1 #include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDKidney +class G4MIRDLeftBreast: public G4VOrgan { public: - G4MIRDKidney(); - ~G4MIRDKidney(); - G4VPhysicalVolume* ConstructKidney(G4VPhysicalVolume*, G4String, G4bool); + G4MIRDLeftBreast(); + ~G4MIRDLeftBreast(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDLeftKidney.hh b/examples/advanced/human_phantom/include/G4MIRDLeftKidney.hh new file mode 100644 index 0000000000..11da05f21b --- /dev/null +++ b/examples/advanced/human_phantom/include/G4MIRDLeftKidney.hh @@ -0,0 +1,51 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4MIRDLeftKidney_h +#define G4MIRDLeftKidney_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" +class G4VPhysicalVolume; +class G4LogicalVolume; + +class G4MIRDLeftKidney: public G4VOrgan +{ +public: + + G4MIRDLeftKidney(); + ~G4MIRDLeftKidney(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&,G4bool, G4bool); +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4MIRDLegs.hh b/examples/advanced/human_phantom/include/G4MIRDLeftLeg.hh similarity index 89% rename from examples/advanced/human_phantom/include/G4MIRDLegs.hh rename to examples/advanced/human_phantom/include/G4MIRDLeftLeg.hh index c545a7417b..118fc0382f 100644 --- a/examples/advanced/human_phantom/include/G4MIRDLegs.hh +++ b/examples/advanced/human_phantom/include/G4MIRDLeftLeg.hh @@ -31,20 +31,21 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#ifndef G4MIRDLegs_h -#define G4MIRDLegs_h 1 +#ifndef G4MIRDLeftLeg_h +#define G4MIRDLeftLeg_h 1 #include "G4VPhysicalVolume.hh" - +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDLegs +class G4MIRDLeftLeg:public G4VOrgan { public: - G4MIRDLegs(); - ~G4MIRDLegs(); - G4VPhysicalVolume* ConstructLegs(G4VPhysicalVolume*, G4String, G4bool); + G4MIRDLeftLeg(); + ~G4MIRDLeftLeg(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDLeftLegBone.hh b/examples/advanced/human_phantom/include/G4MIRDLeftLegBone.hh new file mode 100644 index 0000000000..916db542d0 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4MIRDLeftLegBone.hh @@ -0,0 +1,51 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4MIRDLeftLegBone_h +#define G4MIRDLeftLegBone_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" +class G4VPhysicalVolume; +class G4LogicalVolume; + +class G4MIRDLeftLegBone: public G4VOrgan +{ +public: + + G4MIRDLeftLegBone(); + ~G4MIRDLeftLegBone(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4MIRDLung.hh b/examples/advanced/human_phantom/include/G4MIRDLeftLung.hh similarity index 89% rename from examples/advanced/human_phantom/include/G4MIRDLung.hh rename to examples/advanced/human_phantom/include/G4MIRDLeftLung.hh index b44f1cf2eb..4e7d431fda 100644 --- a/examples/advanced/human_phantom/include/G4MIRDLung.hh +++ b/examples/advanced/human_phantom/include/G4MIRDLeftLung.hh @@ -31,21 +31,23 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#ifndef G4MIRDLung_h -#define G4MIRDLung_h 1 +#ifndef G4MIRDLeftLung_h +#define G4MIRDLeftLung_h 1 #include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDLung +class G4MIRDLeftLung: public G4VOrgan { public: - G4MIRDLung(); - ~G4MIRDLung(); - G4VPhysicalVolume* ConstructLung(G4VPhysicalVolume*, G4String, G4bool); + G4MIRDLeftLung(); + ~G4MIRDLeftLung(); + G4VPhysicalVolume* Construct(const G4String&, G4VPhysicalVolume*, + const G4String&,G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDLeftOvary.hh b/examples/advanced/human_phantom/include/G4MIRDLeftOvary.hh new file mode 100644 index 0000000000..c629f6f337 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4MIRDLeftOvary.hh @@ -0,0 +1,52 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4MIRDLeftOvary_h +#define G4MIRDLeftOvary_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" + +class G4VPhysicalVolume; + +class G4MIRDLeftOvary: public G4VOrgan +{ +public: + + G4MIRDLeftOvary(); + ~G4MIRDLeftOvary(); + G4VPhysicalVolume* Construct(const G4String&, G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); + +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4MIRDLeftScapula.hh b/examples/advanced/human_phantom/include/G4MIRDLeftScapula.hh new file mode 100755 index 0000000000..74b4d3e805 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4MIRDLeftScapula.hh @@ -0,0 +1,51 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4MIRDLeftScapula_h +#define G4MIRDLeftScapula_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" +class G4VPhysicalVolume; +class G4LogicalVolume; + +class G4MIRDLeftScapula:public G4VOrgan +{ +public: + + G4MIRDLeftScapula(); + ~G4MIRDLeftScapula(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4MIRDLiver.hh b/examples/advanced/human_phantom/include/G4MIRDLiver.hh index eb2d88d945..4fc3065783 100644 --- a/examples/advanced/human_phantom/include/G4MIRDLiver.hh +++ b/examples/advanced/human_phantom/include/G4MIRDLiver.hh @@ -35,17 +35,17 @@ #define G4MIRDLiver_h 1 #include "G4VPhysicalVolume.hh" - +#include "G4VOrgan.hh" class G4VPhysicalVolume; -class G4LogicalVolume; -class G4MIRDLiver +class G4MIRDLiver: public G4VOrgan { public: G4MIRDLiver(); ~G4MIRDLiver(); - G4VPhysicalVolume* ConstructLiver(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDLowerLargeIntestine.hh b/examples/advanced/human_phantom/include/G4MIRDLowerLargeIntestine.hh index 38ab06bac9..cb2af872f3 100644 --- a/examples/advanced/human_phantom/include/G4MIRDLowerLargeIntestine.hh +++ b/examples/advanced/human_phantom/include/G4MIRDLowerLargeIntestine.hh @@ -35,16 +35,17 @@ #define G4MIRDLowerLargeIntestine_h 1 #include "G4VPhysicalVolume.hh" - +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDLowerLargeIntestine +class G4MIRDLowerLargeIntestine: public G4VOrgan { public: G4MIRDLowerLargeIntestine(); ~G4MIRDLowerLargeIntestine(); - G4VPhysicalVolume* ConstructLowerLargeIntestine(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDMiddleLowerSpine.hh b/examples/advanced/human_phantom/include/G4MIRDMiddleLowerSpine.hh index b3aaf12faf..32015b9472 100644 --- a/examples/advanced/human_phantom/include/G4MIRDMiddleLowerSpine.hh +++ b/examples/advanced/human_phantom/include/G4MIRDMiddleLowerSpine.hh @@ -35,17 +35,19 @@ #define G4MIRDMiddleLowerSpine_h 1 #include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDMiddleLowerSpine +class G4MIRDMiddleLowerSpine: public G4VOrgan { public: G4MIRDMiddleLowerSpine(); ~G4MIRDMiddleLowerSpine(); - G4VPhysicalVolume* ConstructMiddleLowerSpine(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); private: }; diff --git a/examples/advanced/human_phantom/include/G4MIRDPancreas.hh b/examples/advanced/human_phantom/include/G4MIRDPancreas.hh index 48340e5a4c..325a7d3fd9 100644 --- a/examples/advanced/human_phantom/include/G4MIRDPancreas.hh +++ b/examples/advanced/human_phantom/include/G4MIRDPancreas.hh @@ -35,20 +35,21 @@ #define G4MIRDPancreas_h 1 #include "G4VPhysicalVolume.hh" - +#include "G4VOrgan.hh" //#include "Saxana/SAXProcessor.h" //#include "Saxana/ProcessingConfigurator.h" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDPancreas +class G4MIRDPancreas: public G4VOrgan { public: G4MIRDPancreas(); ~G4MIRDPancreas(); - G4VPhysicalVolume* ConstructPancreas(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); private: // SAXProcessor sxp; diff --git a/examples/advanced/human_phantom/include/G4MIRDPelvis.hh b/examples/advanced/human_phantom/include/G4MIRDPelvis.hh index 7107cf5c4c..a6750ef948 100644 --- a/examples/advanced/human_phantom/include/G4MIRDPelvis.hh +++ b/examples/advanced/human_phantom/include/G4MIRDPelvis.hh @@ -35,16 +35,17 @@ #define G4MIRDPelvis_h 1 #include "G4VPhysicalVolume.hh" - +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDPelvis +class G4MIRDPelvis: public G4VOrgan { public: G4MIRDPelvis(); ~G4MIRDPelvis(); - G4VPhysicalVolume* ConstructPelvis(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDRibCage.hh b/examples/advanced/human_phantom/include/G4MIRDRibCage.hh index 9231fbdcce..6bf871e4ba 100644 --- a/examples/advanced/human_phantom/include/G4MIRDRibCage.hh +++ b/examples/advanced/human_phantom/include/G4MIRDRibCage.hh @@ -35,24 +35,32 @@ #define G4MIRDRibCage_h 1 #include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDRibCage +class G4MIRDRibCage: public G4VOrgan { public: G4MIRDRibCage(); ~G4MIRDRibCage(); - G4VPhysicalVolume* ConstructRibCage(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); +private: +G4VPhysicalVolume* physRib1; +G4VPhysicalVolume* physRib2; +G4VPhysicalVolume* physRib3; +G4VPhysicalVolume* physRib4; +G4VPhysicalVolume* physRib5; +G4VPhysicalVolume* physRib6; +G4VPhysicalVolume* physRib7; +G4VPhysicalVolume* physRib8; +G4VPhysicalVolume* physRib9; +G4VPhysicalVolume* physRib10; +G4VPhysicalVolume* physRib11; +G4VPhysicalVolume* physRib12; }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDRightAdrenal.hh b/examples/advanced/human_phantom/include/G4MIRDRightAdrenal.hh new file mode 100755 index 0000000000..e18c51ec75 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4MIRDRightAdrenal.hh @@ -0,0 +1,51 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4MIRDRightAdrenal_h +#define G4MIRDRightAdrenal_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" +class G4VPhysicalVolume; +class G4LogicalVolume; + +class G4MIRDRightAdrenal: public G4VOrgan +{ +public: + + G4MIRDRightAdrenal(); + ~G4MIRDRightAdrenal(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&,G4bool, G4bool); +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4MIRDAdrenal.hh b/examples/advanced/human_phantom/include/G4MIRDRightArmBone.hh similarity index 86% rename from examples/advanced/human_phantom/include/G4MIRDAdrenal.hh rename to examples/advanced/human_phantom/include/G4MIRDRightArmBone.hh index bb0134359c..1730ddd0f4 100644 --- a/examples/advanced/human_phantom/include/G4MIRDAdrenal.hh +++ b/examples/advanced/human_phantom/include/G4MIRDRightArmBone.hh @@ -31,28 +31,28 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#ifndef G4MIRDAdrenal_h -#define G4MIRDAdrenal_h 1 + +#ifndef G4MIRDRightArmBone_h +#define G4MIRDRightArmBone_h 1 #include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDAdrenal +class G4MIRDRightArmBone: public G4VOrgan { public: - G4MIRDAdrenal(); - ~G4MIRDAdrenal(); - G4VPhysicalVolume* ConstructAdrenal(G4VPhysicalVolume*, G4String, G4bool); + G4MIRDRightArmBone(); + ~G4MIRDRightArmBone(); + + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&,G4bool, G4bool); private: - SAXProcessor sxp; - ProcessingConfigurator config; + // SAXProcessor sxp; + // ProcessingConfigurator config; }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDRightBreast.hh b/examples/advanced/human_phantom/include/G4MIRDRightBreast.hh new file mode 100644 index 0000000000..3b1057e5cb --- /dev/null +++ b/examples/advanced/human_phantom/include/G4MIRDRightBreast.hh @@ -0,0 +1,52 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4MIRDRightBreast_h +#define G4MIRDRightBreast_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" + +class G4VPhysicalVolume; +class G4LogicalVolume; + +class G4MIRDRightBreast: public G4VOrgan +{ +public: + + G4MIRDRightBreast(); + ~G4MIRDRightBreast(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&,G4bool, G4bool); +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4MIRDRightKidney.hh b/examples/advanced/human_phantom/include/G4MIRDRightKidney.hh new file mode 100644 index 0000000000..08c8a4beb9 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4MIRDRightKidney.hh @@ -0,0 +1,51 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4MIRDRightKidney_h +#define G4MIRDRightKidney_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" +class G4VPhysicalVolume; +class G4LogicalVolume; + +class G4MIRDRightKidney: public G4VOrgan +{ +public: + + G4MIRDRightKidney(); + ~G4MIRDRightKidney(); + G4VPhysicalVolume* Construct(const G4String&, G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4MIRDLegBone.hh b/examples/advanced/human_phantom/include/G4MIRDRightLeg.hh similarity index 89% rename from examples/advanced/human_phantom/include/G4MIRDLegBone.hh rename to examples/advanced/human_phantom/include/G4MIRDRightLeg.hh index 657a0754de..423c19a9ed 100644 --- a/examples/advanced/human_phantom/include/G4MIRDLegBone.hh +++ b/examples/advanced/human_phantom/include/G4MIRDRightLeg.hh @@ -31,23 +31,21 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#ifndef G4MIRDLegBone_h -#define G4MIRDLegBone_h 1 +#ifndef G4MIRDRightLeg_h +#define G4MIRDRightLeg_h 1 #include "G4VPhysicalVolume.hh" - +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDLegBone +class G4MIRDRightLeg:public G4VOrgan { public: - G4MIRDLegBone(); - ~G4MIRDLegBone(); - G4VPhysicalVolume* ConstructLegBone(G4VPhysicalVolume*, G4String, G4bool); - -private: - + G4MIRDRightLeg(); + ~G4MIRDRightLeg(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&,G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDRightLegBone.hh b/examples/advanced/human_phantom/include/G4MIRDRightLegBone.hh new file mode 100644 index 0000000000..f0badd3be1 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4MIRDRightLegBone.hh @@ -0,0 +1,52 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4MIRDRightLegBone_h +#define G4MIRDRightLegBone_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" +class G4VPhysicalVolume; +class G4LogicalVolume; + +class G4MIRDRightLegBone: public G4VOrgan +{ +public: + + G4MIRDRightLegBone(); + ~G4MIRDRightLegBone(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); + +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4MIRDOvary.hh b/examples/advanced/human_phantom/include/G4MIRDRightLung.hh similarity index 88% rename from examples/advanced/human_phantom/include/G4MIRDOvary.hh rename to examples/advanced/human_phantom/include/G4MIRDRightLung.hh index 2cefbb8fee..56b7271723 100644 --- a/examples/advanced/human_phantom/include/G4MIRDOvary.hh +++ b/examples/advanced/human_phantom/include/G4MIRDRightLung.hh @@ -31,21 +31,23 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#ifndef G4MIRDOvary_h -#define G4MIRDOvary_h 1 +#ifndef G4MIRDRightLung_h +#define G4MIRDRightLung_h 1 #include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDOvary +class G4MIRDRightLung: public G4VOrgan { public: - G4MIRDOvary(); - ~G4MIRDOvary(); - G4VPhysicalVolume* ConstructOvary(G4VPhysicalVolume*, G4String, G4bool); + G4MIRDRightLung(); + ~G4MIRDRightLung(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDRightOvary.hh b/examples/advanced/human_phantom/include/G4MIRDRightOvary.hh new file mode 100644 index 0000000000..58cc0f3aa7 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4MIRDRightOvary.hh @@ -0,0 +1,53 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4MIRDRightOvary_h +#define G4MIRDRightOvary_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" + +class G4VPhysicalVolume; +class G4LogicalVolume; + +class G4MIRDRightOvary: public G4VOrgan +{ +public: + + G4MIRDRightOvary(); + ~G4MIRDRightOvary(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&,G4bool, G4bool); + +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4MIRDRightScapula.hh b/examples/advanced/human_phantom/include/G4MIRDRightScapula.hh new file mode 100755 index 0000000000..bed3843b13 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4MIRDRightScapula.hh @@ -0,0 +1,51 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4MIRDRightScapula_h +#define G4MIRDRightScapula_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" +class G4VPhysicalVolume; +class G4LogicalVolume; + +class G4MIRDRightScapula:public G4VOrgan +{ +public: + + G4MIRDRightScapula(); + ~G4MIRDRightScapula(); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4MIRDSkull.hh b/examples/advanced/human_phantom/include/G4MIRDSkull.hh index 6cffb39b9e..5549616b55 100644 --- a/examples/advanced/human_phantom/include/G4MIRDSkull.hh +++ b/examples/advanced/human_phantom/include/G4MIRDSkull.hh @@ -35,17 +35,18 @@ #define G4MIRDSkull_h 1 #include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDSkull +class G4MIRDSkull: public G4VOrgan { public: - G4MIRDSkull(); ~G4MIRDSkull(); - G4VPhysicalVolume* ConstructSkull(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); private: diff --git a/examples/advanced/human_phantom/include/G4MIRDSpleen.hh b/examples/advanced/human_phantom/include/G4MIRDSpleen.hh index d73e047d1c..34da680746 100644 --- a/examples/advanced/human_phantom/include/G4MIRDSpleen.hh +++ b/examples/advanced/human_phantom/include/G4MIRDSpleen.hh @@ -35,18 +35,19 @@ #define G4MIRDSpleen_h 1 #include "G4VPhysicalVolume.hh" - +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDSpleen +class G4MIRDSpleen: public G4VOrgan { public: G4MIRDSpleen(); ~G4MIRDSpleen(); - G4VPhysicalVolume* ConstructSpleen(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDStomach.hh b/examples/advanced/human_phantom/include/G4MIRDStomach.hh index a4e79c4008..4454e8c5fc 100644 --- a/examples/advanced/human_phantom/include/G4MIRDStomach.hh +++ b/examples/advanced/human_phantom/include/G4MIRDStomach.hh @@ -35,16 +35,18 @@ #define G4MIRDStomach_h 1 #include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDStomach +class G4MIRDStomach: public G4VOrgan { public: G4MIRDStomach(); ~G4MIRDStomach(); - G4VPhysicalVolume* ConstructStomach(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&, G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDTrunk.hh b/examples/advanced/human_phantom/include/G4MIRDTrunk.hh index 936ac1b48b..42d024c270 100644 --- a/examples/advanced/human_phantom/include/G4MIRDTrunk.hh +++ b/examples/advanced/human_phantom/include/G4MIRDTrunk.hh @@ -35,24 +35,18 @@ #define G4MIRDTrunk_h 1 #include "G4VPhysicalVolume.hh" - -//#include "Saxana/SAXProcessor.h" -//#include "Saxana/ProcessingConfigurator.h" +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDTrunk +class G4MIRDTrunk:public G4VOrgan { public: G4MIRDTrunk(); ~G4MIRDTrunk(); - G4VPhysicalVolume* ConstructTrunk(G4VPhysicalVolume*, G4String, G4bool); - -private: - // SAXProcessor sxp; - // ProcessingConfigurator config; - + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDUpperLargeIntestine.hh b/examples/advanced/human_phantom/include/G4MIRDUpperLargeIntestine.hh index 25629d6fa2..350a55b32b 100644 --- a/examples/advanced/human_phantom/include/G4MIRDUpperLargeIntestine.hh +++ b/examples/advanced/human_phantom/include/G4MIRDUpperLargeIntestine.hh @@ -35,16 +35,17 @@ #define G4MIRDUpperLargeIntestine_h 1 #include "G4VPhysicalVolume.hh" - +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDUpperLargeIntestine +class G4MIRDUpperLargeIntestine: public G4VOrgan { public: G4MIRDUpperLargeIntestine(); ~G4MIRDUpperLargeIntestine(); - G4VPhysicalVolume* ConstructUpperLargeIntestine(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&,G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDUpperSpine.hh b/examples/advanced/human_phantom/include/G4MIRDUpperSpine.hh index ee13cdc0cc..f896563389 100644 --- a/examples/advanced/human_phantom/include/G4MIRDUpperSpine.hh +++ b/examples/advanced/human_phantom/include/G4MIRDUpperSpine.hh @@ -35,18 +35,19 @@ #define G4MIRDUpperSpine_h 1 #include "G4VPhysicalVolume.hh" - +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDUpperSpine +class G4MIRDUpperSpine: public G4VOrgan { public: G4MIRDUpperSpine(); ~G4MIRDUpperSpine(); - G4VPhysicalVolume* ConstructUpperSpine(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*,const G4String&, + G4bool, G4bool); private: }; diff --git a/examples/advanced/human_phantom/include/G4MIRDUrinaryBladder.hh b/examples/advanced/human_phantom/include/G4MIRDUrinaryBladder.hh index f5efec80c5..57fbb0861d 100644 --- a/examples/advanced/human_phantom/include/G4MIRDUrinaryBladder.hh +++ b/examples/advanced/human_phantom/include/G4MIRDUrinaryBladder.hh @@ -36,16 +36,18 @@ #define G4MIRDUrinaryBladder_h 1 #include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDUrinaryBladder +class G4MIRDUrinaryBladder: public G4VOrgan { public: G4MIRDUrinaryBladder(); ~G4MIRDUrinaryBladder(); - G4VPhysicalVolume* ConstructUrinaryBladder(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDUterus.hh b/examples/advanced/human_phantom/include/G4MIRDUterus.hh index ab18308e42..208c0da767 100644 --- a/examples/advanced/human_phantom/include/G4MIRDUterus.hh +++ b/examples/advanced/human_phantom/include/G4MIRDUterus.hh @@ -35,16 +35,18 @@ #define G4MIRDUterus_h 1 #include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDUterus +class G4MIRDUterus: public G4VOrgan { public: G4MIRDUterus(); ~G4MIRDUterus(); - G4VPhysicalVolume* ConstructUterus(G4VPhysicalVolume*, G4String, G4bool); + G4VPhysicalVolume* Construct(const G4String&, G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4MaleBuilder.hh b/examples/advanced/human_phantom/include/G4MaleBuilder.hh index f40074ae2a..e6e0cdefcd 100644 --- a/examples/advanced/human_phantom/include/G4MaleBuilder.hh +++ b/examples/advanced/human_phantom/include/G4MaleBuilder.hh @@ -44,11 +44,9 @@ class G4MaleBuilder: public G4PhantomBuilder public: G4MaleBuilder(); ~G4MaleBuilder(); - void BuildBreast(G4bool){;}; - void BuildParameterisedBreast(G4bool){;}; - void BuildOvary(G4bool){;}; - void BuildUterus(G4bool){;}; + void BuildMaleGenitalia(G4bool); void BuildTestes(G4bool); + // void SetModel(G4String); }; #endif diff --git a/examples/advanced/human_phantom/include/G4ORNLBodyFactory.hh b/examples/advanced/human_phantom/include/G4ORNLBodyFactory.hh deleted file mode 100644 index 2992cc2160..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLBodyFactory.hh +++ /dev/null @@ -1,96 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLBodyFactory_h -#define G4ORNLBodyFactory_h 1 - -#include "G4VBodyFactory.hh" - -class G4VBodyFactory; -class G4ORNLBodyFactory: public G4VBodyFactory -{ -public: - G4ORNLBodyFactory(); - ~G4ORNLBodyFactory(); - - G4VPhysicalVolume* CreateHead(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateTrunk(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateLegs(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateNeck(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateUpperSpine(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateMiddleLowerSpine(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateLegBone(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateArmBone(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateSkull(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateRibCage(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreatePelvis(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateScapulae(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateClavicles(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateBreast(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateParameterisedBreast(G4VPhysicalVolume*,G4String,G4bool) { G4cout<< "Parameterised breast is not available for ORNL model"<< G4endl; - return 0;}; - - - G4VPhysicalVolume* CreateUterus(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateOvary(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateTestes(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateMaleGenitalia(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateBrain(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateHeart(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateLung(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateStomach(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateUpperLargeIntestine(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateLowerLargeIntestine(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateEsophagus(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateKidney(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateAdrenal(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateLiver(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreatePancreas(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateSpleen(G4VPhysicalVolume*,G4String,G4bool); - G4VPhysicalVolume* CreateUrinaryBladder(G4VPhysicalVolume*,G4String,G4bool); - - G4VPhysicalVolume* CreateThyroid(G4VPhysicalVolume*,G4String,G4bool); - - -private: - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLBrain.hh b/examples/advanced/human_phantom/include/G4ORNLBrain.hh deleted file mode 100644 index 872085f05e..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLBrain.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLBrain_h -#define G4ORNLBrain_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLBrain -{ -public: - - G4ORNLBrain(); - ~G4ORNLBrain(); - G4VPhysicalVolume* ConstructBrain(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLBreast.hh b/examples/advanced/human_phantom/include/G4ORNLBreast.hh deleted file mode 100644 index 7a5b2c24c0..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLBreast.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLBreast_h -#define G4ORNLBreast_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLBreast -{ -public: - - G4ORNLBreast(); - ~G4ORNLBreast(); - G4VPhysicalVolume* ConstructBreast(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLEsophagus.hh b/examples/advanced/human_phantom/include/G4ORNLEsophagus.hh deleted file mode 100644 index 8b43901ab1..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLEsophagus.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLEsophagus_h -#define G4ORNLEsophagus_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLEsophagus -{ -public: - - G4ORNLEsophagus(); - ~G4ORNLEsophagus(); - G4VPhysicalVolume* ConstructEsophagus(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLAdrenal.hh b/examples/advanced/human_phantom/include/G4ORNLFemaleBodyFactory.hh similarity index 86% rename from examples/advanced/human_phantom/include/G4ORNLAdrenal.hh rename to examples/advanced/human_phantom/include/G4ORNLFemaleBodyFactory.hh index 3ceba67456..2063a07886 100644 --- a/examples/advanced/human_phantom/include/G4ORNLAdrenal.hh +++ b/examples/advanced/human_phantom/include/G4ORNLFemaleBodyFactory.hh @@ -31,28 +31,23 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#ifndef G4ORNLAdrenal_h -#define G4ORNLAdrenal_h 1 +#ifndef G4ORNLFemaleBodyFactory_h +#define G4ORNLFemaleBodyFactory_h 1 +#include "G4VBodyFactory.hh" #include "G4VPhysicalVolume.hh" #include "Saxana/SAXProcessor.h" #include "Saxana/ProcessingConfigurator.h" -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLAdrenal +class G4VBodyFactory; +class G4ORNLFemaleBodyFactory: public G4VBodyFactory { public: - - G4ORNLAdrenal(); - ~G4ORNLAdrenal(); - G4VPhysicalVolume* ConstructAdrenal(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - + G4ORNLFemaleBodyFactory(); + ~G4ORNLFemaleBodyFactory(); + + G4VPhysicalVolume* CreateOrgan(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4ORNLHead.hh b/examples/advanced/human_phantom/include/G4ORNLHead.hh deleted file mode 100644 index f077387971..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLHead.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLHead_h -#define G4ORNLHead_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLHead -{ -public: - - G4ORNLHead(); - ~G4ORNLHead(); - G4VPhysicalVolume* ConstructHead(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLHeart.hh b/examples/advanced/human_phantom/include/G4ORNLHeart.hh deleted file mode 100644 index 688a57fbe8..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLHeart.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLHeart_h -#define G4ORNLHeart_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLHeart -{ -public: - - G4ORNLHeart(); - ~G4ORNLHeart(); - G4VPhysicalVolume* ConstructHeart(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLKidney.hh b/examples/advanced/human_phantom/include/G4ORNLKidney.hh deleted file mode 100644 index e4a7ec2545..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLKidney.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLKidney_h -#define G4ORNLKidney_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLKidney -{ -public: - - G4ORNLKidney(); - ~G4ORNLKidney(); - G4VPhysicalVolume* ConstructKidney(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLLegBone.hh b/examples/advanced/human_phantom/include/G4ORNLLegBone.hh deleted file mode 100644 index b87e9e1fdc..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLLegBone.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLLegBone_h -#define G4ORNLLegBone_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLLegBone -{ -public: - - G4ORNLLegBone(); - ~G4ORNLLegBone(); - G4VPhysicalVolume* ConstructLegBone(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLLegs.hh b/examples/advanced/human_phantom/include/G4ORNLLegs.hh deleted file mode 100644 index 0e6bde94db..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLLegs.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLLegs_h -#define G4ORNLLegs_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLLegs -{ -public: - - G4ORNLLegs(); - ~G4ORNLLegs(); - G4VPhysicalVolume* ConstructLegs(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLLiver.hh b/examples/advanced/human_phantom/include/G4ORNLLiver.hh deleted file mode 100644 index a7d6e5bf5d..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLLiver.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLLiver_h -#define G4ORNLLiver_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLLiver -{ -public: - - G4ORNLLiver(); - ~G4ORNLLiver(); - G4VPhysicalVolume* ConstructLiver(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLLowerLargeIntestine.hh b/examples/advanced/human_phantom/include/G4ORNLLowerLargeIntestine.hh deleted file mode 100644 index 8cc480e23c..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLLowerLargeIntestine.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLLowerLargeIntestine_h -#define G4ORNLLowerLargeIntestine_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLLowerLargeIntestine -{ -public: - - G4ORNLLowerLargeIntestine(); - ~G4ORNLLowerLargeIntestine(); - G4VPhysicalVolume* ConstructLowerLargeIntestine(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLLung.hh b/examples/advanced/human_phantom/include/G4ORNLLung.hh deleted file mode 100644 index 0229075703..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLLung.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLLung_h -#define G4ORNLLung_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLLung -{ -public: - - G4ORNLLung(); - ~G4ORNLLung(); - G4VPhysicalVolume* ConstructLung(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLMaleBodyFactory.hh b/examples/advanced/human_phantom/include/G4ORNLMaleBodyFactory.hh new file mode 100644 index 0000000000..e68a4de218 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4ORNLMaleBodyFactory.hh @@ -0,0 +1,49 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4ORNLMaleBodyFactory_h +#define G4ORNLMaleBodyFactory_h 1 + +#include "G4VBodyFactory.hh" + +class G4VBodyFactory; +class G4ORNLMaleBodyFactory: public G4VBodyFactory +{ +public: + G4ORNLMaleBodyFactory(); + ~G4ORNLMaleBodyFactory(); + + G4VPhysicalVolume* CreateOrgan(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool); +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLMiddleLowerSpine.hh b/examples/advanced/human_phantom/include/G4ORNLMiddleLowerSpine.hh deleted file mode 100644 index 41ae2af20a..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLMiddleLowerSpine.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLMiddleLowerSpine_h -#define G4ORNLMiddleLowerSpine_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLMiddleLowerSpine -{ -public: - - G4ORNLMiddleLowerSpine(); - ~G4ORNLMiddleLowerSpine(); - G4VPhysicalVolume* ConstructMiddleLowerSpine(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLOvary.hh b/examples/advanced/human_phantom/include/G4ORNLOvary.hh deleted file mode 100644 index a7b7543e76..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLOvary.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLOvary_h -#define G4ORNLOvary_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLOvary -{ -public: - - G4ORNLOvary(); - ~G4ORNLOvary(); - G4VPhysicalVolume* ConstructOvary(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLPancreas.hh b/examples/advanced/human_phantom/include/G4ORNLPancreas.hh deleted file mode 100644 index 116cd2f2f1..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLPancreas.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLPancreas_h -#define G4ORNLPancreas_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLPancreas -{ -public: - - G4ORNLPancreas(); - ~G4ORNLPancreas(); - G4VPhysicalVolume* ConstructPancreas(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLPelvis.hh b/examples/advanced/human_phantom/include/G4ORNLPelvis.hh deleted file mode 100644 index 32661f9aae..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLPelvis.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLPelvis_h -#define G4ORNLPelvis_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLPelvis -{ -public: - - G4ORNLPelvis(); - ~G4ORNLPelvis(); - G4VPhysicalVolume* ConstructPelvis(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLRibCage.hh b/examples/advanced/human_phantom/include/G4ORNLRibCage.hh deleted file mode 100644 index 31f75bb1c9..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLRibCage.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLRibCage_h -#define G4ORNLRibCage_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLRibCage -{ -public: - - G4ORNLRibCage(); - ~G4ORNLRibCage(); - G4VPhysicalVolume* ConstructRibCage(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLSkull.hh b/examples/advanced/human_phantom/include/G4ORNLSkull.hh deleted file mode 100644 index f3d94c24f1..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLSkull.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLSkull_h -#define G4ORNLSkull_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLSkull -{ -public: - - G4ORNLSkull(); - ~G4ORNLSkull(); - G4VPhysicalVolume* ConstructSkull(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLSpleen.hh b/examples/advanced/human_phantom/include/G4ORNLSpleen.hh deleted file mode 100644 index 27a191e275..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLSpleen.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLSpleen_h -#define G4ORNLSpleen_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLSpleen -{ -public: - - G4ORNLSpleen(); - ~G4ORNLSpleen(); - G4VPhysicalVolume* ConstructSpleen(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLStomach.hh b/examples/advanced/human_phantom/include/G4ORNLStomach.hh deleted file mode 100644 index 47fe286c91..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLStomach.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLStomach_h -#define G4ORNLStomach_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLStomach -{ -public: - - G4ORNLStomach(); - ~G4ORNLStomach(); - G4VPhysicalVolume* ConstructStomach(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLTestes.hh b/examples/advanced/human_phantom/include/G4ORNLTestes.hh deleted file mode 100644 index 042581730a..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLTestes.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLTestes_h -#define G4ORNLTestes_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLTestes -{ -public: - - G4ORNLTestes(); - ~G4ORNLTestes(); - G4VPhysicalVolume* ConstructTestes(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLThyroid.hh b/examples/advanced/human_phantom/include/G4ORNLThyroid.hh deleted file mode 100644 index f6ed616143..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLThyroid.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLThyroid_h -#define G4ORNLThyroid_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLThyroid -{ -public: - - G4ORNLThyroid(); - ~G4ORNLThyroid(); - G4VPhysicalVolume* ConstructThyroid(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLTrunk.hh b/examples/advanced/human_phantom/include/G4ORNLTrunk.hh deleted file mode 100644 index 9e8aed2c1b..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLTrunk.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLTrunk_h -#define G4ORNLTrunk_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLTrunk -{ -public: - - G4ORNLTrunk(); - ~G4ORNLTrunk(); - G4VPhysicalVolume* ConstructTrunk(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLUpperLargeIntestine.hh b/examples/advanced/human_phantom/include/G4ORNLUpperLargeIntestine.hh deleted file mode 100644 index 46b89ea01f..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLUpperLargeIntestine.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLUpperLargeIntestine_h -#define G4ORNLUpperLargeIntestine_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLUpperLargeIntestine -{ -public: - - G4ORNLUpperLargeIntestine(); - ~G4ORNLUpperLargeIntestine(); - G4VPhysicalVolume* ConstructUpperLargeIntestine(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLUpperSpine.hh b/examples/advanced/human_phantom/include/G4ORNLUpperSpine.hh deleted file mode 100644 index 38c6de7acf..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLUpperSpine.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLUpperSpine_h -#define G4ORNLUpperSpine_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLUpperSpine -{ -public: - - G4ORNLUpperSpine(); - ~G4ORNLUpperSpine(); - G4VPhysicalVolume* ConstructUpperSpine(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLUrinaryBladder.hh b/examples/advanced/human_phantom/include/G4ORNLUrinaryBladder.hh deleted file mode 100644 index 6d64bd1a84..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLUrinaryBladder.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLUrinaryBladder_h -#define G4ORNLUrinaryBladder_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLUrinaryBladder -{ -public: - - G4ORNLUrinaryBladder(); - ~G4ORNLUrinaryBladder(); - G4VPhysicalVolume* ConstructUrinaryBladder(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ORNLUterus.hh b/examples/advanced/human_phantom/include/G4ORNLUterus.hh deleted file mode 100644 index 505ad6389b..0000000000 --- a/examples/advanced/human_phantom/include/G4ORNLUterus.hh +++ /dev/null @@ -1,58 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ORNLUterus_h -#define G4ORNLUterus_h 1 - -#include "G4VPhysicalVolume.hh" - -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - -class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLUterus -{ -public: - - G4ORNLUterus(); - ~G4ORNLUterus(); - G4VPhysicalVolume* ConstructUterus(G4VPhysicalVolume*, G4String, G4bool); - -private: - SAXProcessor sxp; - ProcessingConfigurator config; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4ParameterisedBreast.hh b/examples/advanced/human_phantom/include/G4ParameterisedBreast.hh deleted file mode 100644 index c5686ed151..0000000000 --- a/examples/advanced/human_phantom/include/G4ParameterisedBreast.hh +++ /dev/null @@ -1,53 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#ifndef G4ParameterisedBreast_h -#define G4ParameterisedBreast_h 1 - -#include "G4VPhysicalVolume.hh" - -class G4VPhysicalVolume; -class G4LogicalVolume; -class G4HumanPhantomSDBreast; - -class G4ParameterisedBreast -{ -public: - G4ParameterisedBreast(); - ~G4ParameterisedBreast(); - G4VPhysicalVolume* ConstructBreast(G4VPhysicalVolume*, G4String, G4bool); - -private: - G4HumanPhantomSDBreast* breastSD; -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4PhantomBuilder.hh b/examples/advanced/human_phantom/include/G4PhantomBuilder.hh index 8efa29d9d9..e004845f5a 100644 --- a/examples/advanced/human_phantom/include/G4PhantomBuilder.hh +++ b/examples/advanced/human_phantom/include/G4PhantomBuilder.hh @@ -36,79 +36,76 @@ #define G4PhantomBuilder_h 1 #include "G4VPhysicalVolume.hh" -#include "G4VPhantomBuilder.hh" +#include "G4BasePhantomBuilder.hh" #include "globals.hh" -class G4VPhantomBuilder; +class G4BasePhantomBuilder; class G4VPhysicalVolume; class G4VBodyFactory; -class G4PhantomBuilder: public G4VPhantomBuilder +class G4PhantomBuilder: public G4BasePhantomBuilder { public: G4PhantomBuilder(); ~G4PhantomBuilder(); - void BuildWorld(); + void BuildHead(const G4String&,G4bool,G4bool); + void BuildTrunk(const G4String&,G4bool,G4bool); + void BuildLeftLeg(const G4String&,G4bool,G4bool); + void BuildRightLeg(const G4String&,G4bool,G4bool); - void BuildHead(G4bool); - void BuildTrunk(G4bool); - void BuildLegs(G4bool); - void BuildNeck(G4bool); - - void BuildUpperSpine(G4bool); - void BuildMiddleLowerSpine(G4bool); - void BuildLegBone(G4bool); - void BuildArmBone(G4bool); - void BuildSkull(G4bool); -// void BuildRibCage(G4bool); - void BuildPelvis(G4bool); -// void BuildScapulae(G4bool); + void BuildUpperSpine(const G4String&,G4bool,G4bool); + void BuildMiddleLowerSpine(const G4String&,G4bool,G4bool); + void BuildLeftLegBone(const G4String&,G4bool,G4bool); + void BuildRightLegBone(const G4String&,G4bool,G4bool); + void BuildLeftArmBone(const G4String&,G4bool,G4bool); + void BuildRightArmBone(const G4String&,G4bool,G4bool); + void BuildSkull(const G4String&,G4bool,G4bool); + void BuildRibCage(const G4String&,G4bool,G4bool); + void BuildPelvis(const G4String&,G4bool,G4bool); + void BuildLeftScapula(const G4String&,G4bool,G4bool); + void BuildRightScapula(const G4String&,G4bool,G4bool); + void BuildLeftAdrenal(const G4String&,G4bool,G4bool); + void BuildRightAdrenal(const G4String&,G4bool,G4bool); // void BuildClavicles(G4bool); -virtual void BuildBreast(G4bool)= 0; -virtual void BuildParameterisedBreast(G4bool) = 0; + void BuildBrain(const G4String&,G4bool,G4bool); -virtual void BuildUterus(G4bool)=0; -virtual void BuildOvary(G4bool)=0; + void BuildHeart(const G4String&,G4bool,G4bool); -virtual void BuildTestes(G4bool) =0; -virtual void BuildMaleGenitalia(G4bool)=0; + void BuildLeftLung(const G4String&,G4bool,G4bool); + void BuildRightLung(const G4String&,G4bool,G4bool); - void BuildBrain(G4bool); - - void BuildHeart(G4bool); - - void BuildLung(G4bool); - - void BuildStomach(G4bool); - void BuildUpperLargeIntestine(G4bool); - void BuildLowerLargeIntestine(G4bool); + void BuildStomach(const G4String&,G4bool,G4bool); + void BuildUpperLargeIntestine(const G4String&,G4bool,G4bool); + void BuildLowerLargeIntestine(const G4String&,G4bool,G4bool); // void BuildEsophagus(G4bool); - void BuildKidney(G4bool); + void BuildLeftKidney(const G4String&,G4bool,G4bool); + void BuildRightKidney(const G4String&,G4bool,G4bool); // void BuildAdrenal(G4bool); - void BuildLiver(G4bool); - void BuildPancreas(G4bool); - void BuildSpleen(G4bool); - void BuildUrinaryBladder(G4bool); + void BuildLiver(const G4String&,G4bool,G4bool); + void BuildPancreas(const G4String&,G4bool,G4bool); + void BuildSpleen(const G4String&,G4bool,G4bool); + void BuildUrinaryBladder(const G4String&,G4bool,G4bool); - void BuildThyroid(G4bool); + void BuildThyroid(const G4String&,G4bool,G4bool); - void SetSex(G4String); void SetModel(G4String); + void SetMotherVolume(G4VPhysicalVolume*); - G4VPhysicalVolume* GetPhantom(); + +G4VPhysicalVolume* GetPhantom(); + +protected: + G4VBodyFactory* body; -protected: - G4String sex; G4String model; - G4bool sensitivity; + G4VPhysicalVolume* motherVolume; G4VPhysicalVolume* headVolume; G4VPhysicalVolume* trunkVolume; - G4VPhysicalVolume* legsVolume; - G4VPhysicalVolume* neckVolume; + G4VPhysicalVolume* leftLegVolume; + G4VPhysicalVolume* rightLegVolume; G4VPhysicalVolume* maleGenitaliaVolume; - G4VBodyFactory* body; }; #endif diff --git a/examples/advanced/human_phantom/include/G4ORNLArmBone.hh b/examples/advanced/human_phantom/include/G4PhantomHeadBuilder.hh similarity index 76% rename from examples/advanced/human_phantom/include/G4ORNLArmBone.hh rename to examples/advanced/human_phantom/include/G4PhantomHeadBuilder.hh index 8627ec17d0..154307ffcb 100644 --- a/examples/advanced/human_phantom/include/G4ORNLArmBone.hh +++ b/examples/advanced/human_phantom/include/G4PhantomHeadBuilder.hh @@ -31,28 +31,39 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#ifndef G4ORNLArmBone_h -#define G4ORNLArmBone_h 1 + +#ifndef G4PhantomHeadBuilder_h +#define G4PhantomHeadBuilder_h 1 #include "G4VPhysicalVolume.hh" +#include "G4BasePhantomBuilder.hh" +#include "globals.hh" -#include "Saxana/SAXProcessor.h" -#include "Saxana/ProcessingConfigurator.h" - +class G4BasePhantomBuilder; class G4VPhysicalVolume; -class G4LogicalVolume; - -class G4ORNLArmBone +class G4VBodyFactory; +class G4PhantomHeadBuilder: public G4BasePhantomBuilder { public: + G4PhantomHeadBuilder(); + ~G4PhantomHeadBuilder(); + + void BuildHead(const G4String&,G4bool,G4bool); + void BuildSkull(const G4String&,G4bool,G4bool); + void BuildBrain(const G4String&,G4bool,G4bool); + + void SetModel(G4String); + void SetMotherVolume(G4VPhysicalVolume*); - G4ORNLArmBone(); - ~G4ORNLArmBone(); - G4VPhysicalVolume* ConstructArmBone(G4VPhysicalVolume*, G4String, G4bool); -private: - SAXProcessor sxp; - ProcessingConfigurator config; +G4VPhysicalVolume* GetPhantom(); +protected: + G4VBodyFactory* body; + + G4String model; + + G4VPhysicalVolume* motherVolume; + G4VPhysicalVolume* headVolume; }; #endif diff --git a/examples/advanced/human_phantom/include/G4VBodyFactory.hh b/examples/advanced/human_phantom/include/G4VBodyFactory.hh index 6971b57f9e..54055e7482 100644 --- a/examples/advanced/human_phantom/include/G4VBodyFactory.hh +++ b/examples/advanced/human_phantom/include/G4VBodyFactory.hh @@ -42,51 +42,10 @@ public: G4VBodyFactory(); virtual ~G4VBodyFactory(); - - virtual G4VPhysicalVolume* CreateHead(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateTrunk(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateLegs(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateNeck(G4VPhysicalVolume*,G4String,G4bool) = 0; - - virtual G4VPhysicalVolume* CreateUpperSpine(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateMiddleLowerSpine(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateLegBone(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateArmBone(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateSkull(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateRibCage(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreatePelvis(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateScapulae(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateClavicles(G4VPhysicalVolume*,G4String,G4bool) = 0; - - virtual G4VPhysicalVolume* CreateBreast(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateParameterisedBreast(G4VPhysicalVolume*,G4String,G4bool) = 0; - - virtual G4VPhysicalVolume* CreateUterus(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateOvary(G4VPhysicalVolume*,G4String,G4bool) = 0; - - virtual G4VPhysicalVolume* CreateTestes(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateMaleGenitalia(G4VPhysicalVolume*,G4String,G4bool) = 0; - - virtual G4VPhysicalVolume* CreateBrain(G4VPhysicalVolume*,G4String,G4bool) = 0; - - virtual G4VPhysicalVolume* CreateHeart(G4VPhysicalVolume*,G4String,G4bool) = 0; - - virtual G4VPhysicalVolume* CreateLung(G4VPhysicalVolume*,G4String,G4bool) = 0; - - virtual G4VPhysicalVolume* CreateStomach(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateUpperLargeIntestine(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateLowerLargeIntestine(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateEsophagus(G4VPhysicalVolume*,G4String,G4bool) = 0; - - virtual G4VPhysicalVolume* CreateKidney(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateAdrenal(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateLiver(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreatePancreas(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateSpleen(G4VPhysicalVolume*,G4String,G4bool) = 0; - virtual G4VPhysicalVolume* CreateUrinaryBladder(G4VPhysicalVolume*,G4String,G4bool) = 0; - - virtual G4VPhysicalVolume* CreateThyroid(G4VPhysicalVolume*,G4String,G4bool) = 0; - - + virtual G4VPhysicalVolume* CreateOrgan(const G4String& idFile, + G4VPhysicalVolume* motherVolume, + const G4String& colour, + G4bool solidFrame, + G4bool sensitivity)=0; }; #endif diff --git a/examples/advanced/human_phantom/include/G4MIRDBreast.hh b/examples/advanced/human_phantom/include/G4VOrgan.hh similarity index 88% rename from examples/advanced/human_phantom/include/G4MIRDBreast.hh rename to examples/advanced/human_phantom/include/G4VOrgan.hh index 7620bb204d..27fcadbecb 100644 --- a/examples/advanced/human_phantom/include/G4MIRDBreast.hh +++ b/examples/advanced/human_phantom/include/G4VOrgan.hh @@ -31,20 +31,21 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#ifndef G4MIRDBreast_h -#define G4MIRDBreast_h 1 +#ifndef G4VOrgan_h +#define G4VOrgan_h 1 #include "G4VPhysicalVolume.hh" class G4VPhysicalVolume; class G4LogicalVolume; -class G4MIRDBreast +class G4VOrgan { public: + G4VOrgan(); + virtual ~G4VOrgan(); + virtual G4VPhysicalVolume* Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity)=0; - G4MIRDBreast(); - ~G4MIRDBreast(); - G4VPhysicalVolume* ConstructBreast(G4VPhysicalVolume*, G4String, G4bool); }; #endif diff --git a/examples/advanced/human_phantom/include/G4VPhantomBuilder.hh b/examples/advanced/human_phantom/include/G4VPhantomBuilder.hh deleted file mode 100644 index 389b90eb73..0000000000 --- a/examples/advanced/human_phantom/include/G4VPhantomBuilder.hh +++ /dev/null @@ -1,88 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// - -#ifndef G4VPhantomBuilder_h -#define G4VPhantomBuilder_h 1 - -#include "G4VPhysicalVolume.hh" -class G4VPhysicalVolume; -class G4VPhantomBuilder -{ -public: - - G4VPhantomBuilder(); - virtual ~G4VPhantomBuilder(); - - virtual void BuildWorld() = 0; - - virtual void BuildHead(G4bool) = 0; - virtual void BuildTrunk(G4bool) = 0; - virtual void BuildLegs(G4bool) = 0; - virtual void BuildNeck(G4bool) = 0; - - virtual void BuildUpperSpine(G4bool) = 0; - virtual void BuildMiddleLowerSpine(G4bool) = 0; - virtual void BuildLegBone(G4bool) = 0; - virtual void BuildArmBone(G4bool) = 0; - virtual void BuildSkull(G4bool) = 0; - //virtual void BuildRibCage(G4bool) = 0; - virtual void BuildPelvis(G4bool) = 0; - //virtual void BuildScapulae(G4bool) = 0; - //virtual void BuildClavicles(G4bool) = 0; - - virtual void BuildBrain(G4bool) = 0; - - virtual void BuildHeart(G4bool) = 0; - - virtual void BuildLung(G4bool) = 0; - - virtual void BuildStomach(G4bool) = 0; - virtual void BuildUpperLargeIntestine(G4bool) = 0; - virtual void BuildLowerLargeIntestine(G4bool) = 0; - //virtual void BuildEsophagus(G4bool) = 0; - - virtual void BuildKidney(G4bool) = 0; -// virtual void BuildAdrenal(G4bool) = 0; - virtual void BuildLiver(G4bool) = 0; - virtual void BuildPancreas(G4bool) = 0; - virtual void BuildSpleen(G4bool) = 0; - virtual void BuildUrinaryBladder(G4bool) = 0; - - virtual void BuildThyroid(G4bool) = 0; - - virtual void SetSex(G4String) = 0; - virtual void SetModel(G4String) = 0; - -}; -#endif diff --git a/examples/advanced/human_phantom/include/G4VoxelBreastFactory.hh b/examples/advanced/human_phantom/include/G4VoxelBreastFactory.hh new file mode 100644 index 0000000000..aaf19608f1 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4VoxelBreastFactory.hh @@ -0,0 +1,56 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4VoxelBreastFactory_h +#define G4VoxelBreastFactory_h 1 + +#include "G4VBodyFactory.hh" +#include "G4VOrgan.hh" +#include +class G4VBodyFactory; +class G4VPhysicalVolume; +class G4VOrgan; + +class G4VoxelBreastFactory: public G4VBodyFactory +{ +public: + G4VoxelBreastFactory(); + ~G4VoxelBreastFactory(); + G4VPhysicalVolume* CreateOrgan(const G4String&, G4VPhysicalVolume*, + const G4String&,G4bool,G4bool); + +private: + std::map organ; +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4VoxelLeftBreast.hh b/examples/advanced/human_phantom/include/G4VoxelLeftBreast.hh new file mode 100644 index 0000000000..8a84707afa --- /dev/null +++ b/examples/advanced/human_phantom/include/G4VoxelLeftBreast.hh @@ -0,0 +1,50 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4VoxelLeftBreast_h +#define G4VoxelLeftBreast_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" + +class G4VPhysicalVolume; + +class G4VoxelLeftBreast: public G4VOrgan +{ +public: + G4VoxelLeftBreast(); + ~G4VoxelLeftBreast(); + G4VPhysicalVolume* Construct(const G4String&, G4VPhysicalVolume*, + const G4String&,G4bool, G4bool); +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4HumanPhantomROGeometry.hh b/examples/advanced/human_phantom/include/G4VoxelLeftBreastROGeometry.hh similarity index 90% rename from examples/advanced/human_phantom/include/G4HumanPhantomROGeometry.hh rename to examples/advanced/human_phantom/include/G4VoxelLeftBreastROGeometry.hh index 7ba5e334a4..1fc76b35e7 100644 --- a/examples/advanced/human_phantom/include/G4HumanPhantomROGeometry.hh +++ b/examples/advanced/human_phantom/include/G4VoxelLeftBreastROGeometry.hh @@ -32,21 +32,19 @@ // design and code review. // -#ifndef G4HumanPhantomROGeometry_h -#define G4HumanPhantomROGeometry_h +#ifndef G4VoxelLeftBreastROGeometry_h +#define G4VoxelLeftBreastROGeometry_h #include "G4VReadOutGeometry.hh" -class G4HumanPhantomROGeometry : public G4VReadOutGeometry +class G4VoxelLeftBreastROGeometry : public G4VReadOutGeometry { public: - G4HumanPhantomROGeometry(G4String aString); - ~G4HumanPhantomROGeometry(); + G4VoxelLeftBreastROGeometry(G4String aString); + ~G4VoxelLeftBreastROGeometry(); private: G4VPhysicalVolume* Build(); - -private: G4VPhysicalVolume* ROvoxel_phys; }; #endif diff --git a/examples/advanced/human_phantom/include/G4HumanPhantomSDBreast.hh b/examples/advanced/human_phantom/include/G4VoxelLeftBreastSD.hh similarity index 91% rename from examples/advanced/human_phantom/include/G4HumanPhantomSDBreast.hh rename to examples/advanced/human_phantom/include/G4VoxelLeftBreastSD.hh index 4173f827a0..c2a47ce18a 100644 --- a/examples/advanced/human_phantom/include/G4HumanPhantomSDBreast.hh +++ b/examples/advanced/human_phantom/include/G4VoxelLeftBreastSD.hh @@ -31,19 +31,19 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#ifndef G4HumanPhantomSDBreast_h -#define G4HumanPhantomSDBreast_h 1 +#ifndef G4VoxelLeftBreastSD_h +#define G4VoxelLeftBreastSD_h 1 #include "G4VSensitiveDetector.hh" //class G4Step; //class G4HCofThisEvent; -class G4HumanPhantomSDBreast : public G4VSensitiveDetector +class G4VoxelLeftBreastSD : public G4VSensitiveDetector { public: - G4HumanPhantomSDBreast(G4String); - ~G4HumanPhantomSDBreast(); + G4VoxelLeftBreastSD(G4String); + ~G4VoxelLeftBreastSD(); void Initialize(G4HCofThisEvent*); G4bool ProcessHits(G4Step*, G4TouchableHistory*); diff --git a/examples/advanced/human_phantom/include/G4VoxelRightBreast.hh b/examples/advanced/human_phantom/include/G4VoxelRightBreast.hh new file mode 100644 index 0000000000..0d4009160d --- /dev/null +++ b/examples/advanced/human_phantom/include/G4VoxelRightBreast.hh @@ -0,0 +1,50 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4VoxelRightBreast_h +#define G4VoxelRightBreast_h 1 + +#include "G4VPhysicalVolume.hh" +#include "G4VOrgan.hh" + +class G4VPhysicalVolume; + +class G4VoxelRightBreast: public G4VOrgan +{ +public: + G4VoxelRightBreast(); + ~G4VoxelRightBreast(); + G4VPhysicalVolume* Construct(const G4String&, G4VPhysicalVolume*, + const G4String&,G4bool, G4bool); +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4VoxelRightBreastROGeometry.hh b/examples/advanced/human_phantom/include/G4VoxelRightBreastROGeometry.hh new file mode 100644 index 0000000000..5e8fbfc3a0 --- /dev/null +++ b/examples/advanced/human_phantom/include/G4VoxelRightBreastROGeometry.hh @@ -0,0 +1,50 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// + +#ifndef G4VoxelRightBreastROGeometry_h +#define G4VoxelRightBreastROGeometry_h + +#include "G4VReadOutGeometry.hh" + +class G4VoxelRightBreastROGeometry : public G4VReadOutGeometry +{ +public: + G4VoxelRightBreastROGeometry(G4String aString); + ~G4VoxelRightBreastROGeometry(); + +private: + G4VPhysicalVolume* Build(); + G4VPhysicalVolume* ROvoxel_phys; +}; +#endif diff --git a/examples/advanced/human_phantom/include/G4VoxelRightBreastSD.hh b/examples/advanced/human_phantom/include/G4VoxelRightBreastSD.hh new file mode 100644 index 0000000000..99667099be --- /dev/null +++ b/examples/advanced/human_phantom/include/G4VoxelRightBreastSD.hh @@ -0,0 +1,53 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#ifndef G4VoxelRightBreastSD_h +#define G4VoxelRightBreastSD_h 1 + +#include "G4VSensitiveDetector.hh" + +//class G4Step; +//class G4HCofThisEvent; + +class G4VoxelRightBreastSD : public G4VSensitiveDetector +{ + public: + G4VoxelRightBreastSD(G4String); + ~G4VoxelRightBreastSD(); + + void Initialize(G4HCofThisEvent*); + G4bool ProcessHits(G4Step*, G4TouchableHistory*); + void EndOfEvent(G4HCofThisEvent*); +}; +#endif + diff --git a/examples/advanced/human_phantom/openGLVis.mac b/examples/advanced/human_phantom/openGLVis.mac index 5962ece5d7..bdd6a2b3d0 100644 --- a/examples/advanced/human_phantom/openGLVis.mac +++ b/examples/advanced/human_phantom/openGLVis.mac @@ -10,6 +10,11 @@ # Create a scene handler for a specific graphics system # (Edit the next line(s) to choose another graphic system) # -#/vis/viewer/set/viewpointThetaPhi 90 180 deg -#/vis/viewer/zoom 1.5 -# \ No newline at end of file +#/vis/viewer/set/viewpointThetaPhi 90 90 deg +#/vis/viewer/zoom 2. +# (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) +/vis/scene/endOfEventAction accumulate +# diff --git a/examples/advanced/human_phantom/phantom.cc b/examples/advanced/human_phantom/phantom.cc index 4f1be156a7..fc5ee535f8 100644 --- a/examples/advanced/human_phantom/phantom.cc +++ b/examples/advanced/human_phantom/phantom.cc @@ -53,26 +53,30 @@ #include "G4HumanPhantomSteppingAction.hh" #include "G4HumanPhantomEventAction.hh" #include "G4HumanPhantomRunAction.hh" -#include "G4HumanPhantomEnergyDeposit.hh" #ifdef G4ANALYSIS_USE #include "G4HumanPhantomAnalysisManager.hh" #endif + int main(int argc,char** argv) { - G4cout << "Starting run " << G4endl; - G4RunManager* runManager = new G4RunManager; - G4HumanPhantomEnergyDeposit* energyTotal = new G4HumanPhantomEnergyDeposit(); - - // Set mandatory initialization classes - G4HumanPhantomConstruction* userPhantom = new G4HumanPhantomConstruction(energyTotal); + // G4VSteppingVerbose* verbosity = new ExN02SteppingVerbose; + // G4VSteppingVerbose::SetInstance(new ExN02SteppingVerbose); + + // Set mandatory initialization classes + G4HumanPhantomConstruction* userPhantom = new G4HumanPhantomConstruction(); runManager->SetUserInitialization(userPhantom); runManager->SetUserInitialization(new G4HumanPhantomPhysicsList); runManager->SetUserAction(new G4HumanPhantomPrimaryGeneratorAction); +#ifdef G4ANALYSIS_USE + G4HumanPhantomAnalysisManager* analysis = G4HumanPhantomAnalysisManager::getInstance(); + analysis->book(); +#endif + G4UIsession* session=0; if (argc==1) @@ -105,7 +109,7 @@ int main(int argc,char** argv) if (session) // Define UI session for interactive mode. { G4cout << " UI session starts ..." << G4endl; - UI -> ApplyCommand("/control/execute adultFemale.mac"); + UI -> ApplyCommand("/control/execute default.mac"); session -> SessionStart(); delete session; } @@ -116,10 +120,7 @@ int main(int argc,char** argv) UI -> ApplyCommand(command+fileName); } - energyTotal->TotalEnergyDeposit(); - #ifdef G4ANALYSIS_USE - G4HumanPhantomAnalysisManager* analysis = G4HumanPhantomAnalysisManager::getInstance(); if (analysis)analysis->finish(); #endif diff --git a/examples/advanced/human_phantom/run.mac b/examples/advanced/human_phantom/run.mac index d0f642af30..516a664eed 100644 --- a/examples/advanced/human_phantom/run.mac +++ b/examples/advanced/human_phantom/run.mac @@ -4,9 +4,9 @@ # # Sets some default verbose # -/run/verbose 0 -/event/verbose 0 -/tracking/verbose 0 +#/run/verbose 0 +#/event/verbose 0 +#/tracking/verbose 0 #/control/execute openGLVis.mac # Visualize Phantom with DAWN #/control/execute dawnVis.mac @@ -23,8 +23,8 @@ /vis/scene/endOfEventAction accumulate # # Set Particle -#/gun/particle e- -/gun/energy 100. MeV +/gun/particle e- +/gun/energy 50. MeV # # Set Direction of Beam # @@ -33,7 +33,35 @@ /gun/setBeam beamAlongZ #/gun/setBeam isotropicFlux # -/run/beamOn 500 +#/tracking/verbose 1 +/run/beamOn 100 + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/advanced/human_phantom/src/G4BasePhantomBuilder.cc b/examples/advanced/human_phantom/src/G4BasePhantomBuilder.cc new file mode 100644 index 0000000000..8fce72e871 --- /dev/null +++ b/examples/advanced/human_phantom/src/G4BasePhantomBuilder.cc @@ -0,0 +1,40 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +// +#include"G4BasePhantomBuilder.hh" +G4BasePhantomBuilder::G4BasePhantomBuilder() +{;} + +G4BasePhantomBuilder::~G4BasePhantomBuilder() +{;} diff --git a/examples/advanced/human_phantom/src/G4ORNLLung.cc b/examples/advanced/human_phantom/src/G4CustomFemaleBuilder.cc similarity index 51% rename from examples/advanced/human_phantom/src/G4ORNLLung.cc rename to examples/advanced/human_phantom/src/G4CustomFemaleBuilder.cc index 315175da26..1c6329ccd6 100644 --- a/examples/advanced/human_phantom/src/G4ORNLLung.cc +++ b/examples/advanced/human_phantom/src/G4CustomFemaleBuilder.cc @@ -31,64 +31,78 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#include "G4ORNLLung.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" -#include "G4VisAttributes.hh" +#include"G4CustomFemaleBuilder.hh" -G4ORNLLung::G4ORNLLung() -{ +#include "G4VBodyFactory.hh" +#include "G4VoxelBreastFactory.hh" +//#include "G4MIRDBodyFactory.hh" +//#include "G4ORNLCustomFemaleBodyFactory.hh" + + +G4CustomFemaleBuilder::G4CustomFemaleBuilder() +{ } -G4ORNLLung::~G4ORNLLung() +G4CustomFemaleBuilder::~G4CustomFemaleBuilder() + +{ + delete body; +} + +void G4CustomFemaleBuilder::BuildUterus(const G4String& colourName, G4bool solidVis, G4bool sensitivity ) + { - sxp.Finalize(); +if (trunkVolume == 0) + + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("Uterus",trunkVolume, colourName, solidVis, sensitivity); } + +void G4CustomFemaleBuilder::BuildLeftOvary(const G4String& colourName, G4bool solidVis, G4bool sensitivity ) + +{ +if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("LeftOvary",trunkVolume, colourName, + solidVis, sensitivity); } -G4VPhysicalVolume* G4ORNLLung::ConstructLung(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLLung.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); +void G4CustomFemaleBuilder::BuildRightOvary(const G4String& colourName, G4bool solidVis, G4bool sensitivity ) - // Run GDML Processor - sxp.Run(); +{ + if (trunkVolume == 0) + + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("RightOvary",trunkVolume, colourName, + solidVis, sensitivity); +} + +void G4CustomFemaleBuilder::BuildVoxelLeftBreast(const G4String& colourName, + G4bool solidVis, G4bool sensitivity) +{ + G4cout << "BuildVoxelLeftBreast" << G4endl; + if (motherVolume == 0) + G4Exception("The world volume is missing !!!!!"); - - G4LogicalVolume* logicLung = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("LungVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("LungPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("LungRot"); - -G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physLung = new G4PVPlacement(rm,position, - "physicalLung", - logicLung, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicLung->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* LungVisAtt = new G4VisAttributes(G4Colour(0.25,0.41,0.88)); - LungVisAtt->SetForceSolid(true); - logicLung->SetVisAttributes(LungVisAtt); - - G4cout << "Lung created !!!!!!" << G4endl; - - return physLung; + G4VBodyFactory* customBody = new G4VoxelBreastFactory(); + customBody -> CreateOrgan("LeftBreast",motherVolume, colourName, + solidVis, sensitivity); + delete customBody; +} + + +void G4CustomFemaleBuilder::BuildVoxelRightBreast(const G4String& colourName, + G4bool solidVis, + G4bool sensitivity) +{ + if (motherVolume == 0) + G4Exception("The world volume is missing !!!!!"); + + G4VBodyFactory* customBody = new G4VoxelBreastFactory(); + customBody -> CreateOrgan("RightBreast",motherVolume, colourName, + solidVis, sensitivity); + delete customBody; } diff --git a/examples/advanced/human_phantom/src/G4FemaleBuilder.cc b/examples/advanced/human_phantom/src/G4FemaleBuilder.cc index 32e48ce9a0..2884afb942 100644 --- a/examples/advanced/human_phantom/src/G4FemaleBuilder.cc +++ b/examples/advanced/human_phantom/src/G4FemaleBuilder.cc @@ -35,47 +35,69 @@ #include"G4FemaleBuilder.hh" #include "G4VBodyFactory.hh" -#include "G4MIRDBodyFactory.hh" -#include "G4ORNLBodyFactory.hh" +//#include "G4MIRDBodyFactory.hh" +//#include "G4ORNLFemaleBodyFactory.hh" + G4FemaleBuilder::G4FemaleBuilder() { } G4FemaleBuilder::~G4FemaleBuilder() -{ + +{ + delete body; } -void G4FemaleBuilder::BuildBreast(G4bool sensitivity) +void G4FemaleBuilder::BuildUterus(const G4String& colourName, G4bool solidVis, G4bool sensitivity ) + +{ +if (trunkVolume == 0) + + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("Uterus",trunkVolume, colourName, solidVis, sensitivity); } + +void G4FemaleBuilder::BuildLeftOvary(const G4String& colourName, G4bool solidVis, G4bool sensitivity ) + +{ +if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("LeftOvary",trunkVolume, colourName, + solidVis, sensitivity); +} + +void G4FemaleBuilder::BuildRightOvary(const G4String& colourName, G4bool solidVis, G4bool sensitivity ) + +{ + if (trunkVolume == 0) + + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("RightOvary",trunkVolume, colourName, + solidVis, sensitivity); +} + +void G4FemaleBuilder::BuildLeftBreast(const G4String& colourName, + G4bool solidVis, G4bool sensitivity) +{ + if (motherVolume == 0) + G4Exception("The world volume is missing !!!!!"); + + body -> CreateOrgan("LeftBreast",motherVolume, colourName, + solidVis, sensitivity); +} + + +void G4FemaleBuilder::BuildRightBreast(const G4String& colourName, + G4bool solidVis, + G4bool sensitivity) { if (motherVolume == 0) - G4Exception("The world volume is missing !!!!!"); + G4Exception("The world volume is missing !!!!!"); + + body -> CreateOrgan("RightBreast",motherVolume, colourName, + solidVis, sensitivity); - body -> CreateBreast(motherVolume,sex,sensitivity); -} - -void G4FemaleBuilder::BuildParameterisedBreast(G4bool sensitivity) -{ -G4cout << "Builder: build parameterised breast!!!!" < CreateParameterisedBreast(motherVolume,sex,sensitivity); -} - -void G4FemaleBuilder::BuildOvary(G4bool sensitivity) -{ -if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreateOvary(trunkVolume,sex,sensitivity); -} - -void G4FemaleBuilder::BuildUterus(G4bool sensitivity ) -{ -if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreateUterus(trunkVolume,sex,sensitivity); } diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomAnalysisManager.cc b/examples/advanced/human_phantom/src/G4HumanPhantomAnalysisManager.cc index c969fc0b85..d8492dd78f 100644 --- a/examples/advanced/human_phantom/src/G4HumanPhantomAnalysisManager.cc +++ b/examples/advanced/human_phantom/src/G4HumanPhantomAnalysisManager.cc @@ -43,9 +43,8 @@ G4HumanPhantomAnalysisManager* G4HumanPhantomAnalysisManager::instance = 0; G4HumanPhantomAnalysisManager::G4HumanPhantomAnalysisManager() - : aFact(0), treeFact(0),theTree(0), histogramFactory(0), - histogramParticlePath(0), projectionXY(0), projectionYZ(0), - projectionZX(0), energy(0), innerBreast(0) + : aFact(0), treeFact(0),theTree(0), histogramFactory(0),tupFact(0), + ntuple(0), voxelLeftBreast(0), voxelRightBreast(0) { aFact = AIDA_createAnalysisFactory(); treeFact = aFact -> createTreeFactory(); @@ -53,24 +52,18 @@ G4HumanPhantomAnalysisManager::G4HumanPhantomAnalysisManager() G4HumanPhantomAnalysisManager::~G4HumanPhantomAnalysisManager() { - delete innerBreast; - innerBreast = 0; + delete voxelRightBreast; + voxelRightBreast = 0; - delete energy; - energy = 0; + delete voxelLeftBreast; + voxelLeftBreast = 0; - delete projectionXY; - projectionXY = 0; - - delete projectionYZ; - projectionYZ = 0; - - delete projectionZX; - projectionZX = 0; - - delete histogramParticlePath; - histogramParticlePath = 0; + delete ntuple; + ntuple = 0; + delete tupFact; + tupFact =0; + delete histogramFactory; histogramFactory = 0; @@ -96,65 +89,61 @@ void G4HumanPhantomAnalysisManager::book() theTree = treeFact->create(fileName,"hbook",false, true); histogramFactory = aFact -> createHistogramFactory( *theTree ); - - G4double histogramDimension = 20.; + tupFact = aFact -> createTupleFactory( *theTree ); - G4int bins = 3600; - G4int binsProj = 300; + voxelLeftBreast = histogramFactory->createHistogram2D("100", + "Edep(MeV) in LeftBreast, x= slice, y= sector", + 10, -0.5, 9.5, + 10, -0.5, 9.5); - histogramParticlePath = histogramFactory->createHistogram1D - ("10","Particle Path Distribution",bins,0.,histogramDimension); - - projectionXY = histogramFactory->createHistogram2D - ("20","Particle Projection XY",binsProj,-histogramDimension,histogramDimension,binsProj,-histogramDimension,histogramDimension); - - projectionYZ = histogramFactory->createHistogram2D - ("30","Particle Projection YZ",binsProj,-histogramDimension,histogramDimension,binsProj,-histogramDimension,histogramDimension); - - projectionZX = histogramFactory->createHistogram2D - ("40","Particle Projection ZX",binsProj,-histogramDimension,histogramDimension,binsProj,-histogramDimension,histogramDimension); - - energy = histogramFactory->createHistogram2D - ("50","Energy Deposit in Body Part", 1000,0.,30.,500,0.,100.); - - innerBreast = histogramFactory->createHistogram2D("100", "Edep(MeV) in innerBreast, x= slice, y= sector", - 11, -0.5, 10.5, - 11, -0.5, 10.5); - - G4cout<<"Booking the histograms"<createHistogram2D("110", + "Edep(MeV) in RightBreast, x= slice, y= sector", + 10, -0.5, 9.5, + 10, -0.5, 9.5); + + // Defining the ntuple columns' name + std::string columnNames = "int id; float energy"; + std::string options = ""; + + // Creating a ntuple + if (tupFact) ntuple = tupFact -> create("1","1",columnNames, options); + + G4cout<<"Booking !!!!"< fill(path); + if (ntuple == 0) + { + G4cout << "AAAAAAAGH..... The Ntuple is 0" << G4endl; + return; + } + + // Fill the ntuple + + // Each organ is identified with an integer + G4int indexX = ntuple -> findColumn( "id" ); + G4int indexEnergy = ntuple -> findColumn( "energy" ); + + ntuple -> fill(indexX, bodyPartID); + ntuple -> fill(indexEnergy, eDep); + + ntuple->addRow(); } -void G4HumanPhantomAnalysisManager::particleProjectionXY(G4double xx,G4double yy) -{ - projectionXY -> fill(xx,yy,1.); -} - -void G4HumanPhantomAnalysisManager::particleProjectionYZ(G4double yy,G4double zz) -{ - projectionYZ -> fill(yy,zz,1.); -} - -void G4HumanPhantomAnalysisManager::particleProjectionZX(G4double zz,G4double xx) -{ - projectionZX -> fill(zz,xx,1.); -} - -void G4HumanPhantomAnalysisManager::bodypartEnergyDep(G4double bpID, G4double eDep) +void G4HumanPhantomAnalysisManager::voxelLeftBreastEnergyDeposit(G4int slice, G4int sector, G4double edep) { - energy -> fill(bpID,eDep); + // G4cout << "analisis " << slice << " "<< sector << " "<< edep/MeV << G4endl; + voxelLeftBreast -> fill(slice,sector, edep); } -void G4HumanPhantomAnalysisManager::innerBreastEnergyDep(G4int slice, G4int sector, G4double edep) +void G4HumanPhantomAnalysisManager::voxelRightBreastEnergyDeposit(G4int slice, G4int sector, G4double edep) { - // G4cout << "analisis " << slice << " "<< sector << " "<< edep << G4endl; - innerBreast -> fill(slice,sector, edep); + //G4cout << "analisis " << slice << " "<< sector << " "<< edep/MeV << G4endl; + voxelRightBreast -> fill(slice,sector, edep); } void G4HumanPhantomAnalysisManager::finish() diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomColour.cc b/examples/advanced/human_phantom/src/G4HumanPhantomColour.cc new file mode 100644 index 0000000000..4d64966044 --- /dev/null +++ b/examples/advanced/human_phantom/src/G4HumanPhantomColour.cc @@ -0,0 +1,76 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// + +#include "G4VisAttributes.hh" +#include "G4HumanPhantomColour.hh" +#include "G4Colour.hh" +G4HumanPhantomColour::G4HumanPhantomColour() +{ + white = G4Colour(1.0, 1.0, 1.0); + pink = G4Colour(0.94, 0.5, 0.5); + grey = G4Colour(0.46, 0.53, 0.6); + yellow = G4Colour(1.0, 1.0, 0.); + blue = G4Colour(0.25,0.41, 0.88 ); + lightBlue = G4Colour(0.28, 0.82, 0.8); + green = G4Colour(0., 1., 0.); + brown = G4Colour(0.5, 0.5, 0.); + purple = G4Colour(0.85,0.44,0.84); + red = G4Colour(1.0, 0.0, 0.0); + orange = G4Colour(1.,0.5,0.); + black = G4Colour(0.,0.,0.); +} + +G4HumanPhantomColour::~G4HumanPhantomColour() +{ + +} + +G4Colour G4HumanPhantomColour::GetColour(const G4String& colourName) +{ + + // Returns the colour + if (colourName == "pink") return pink; + else if(colourName == "white") return white; + else if (colourName == "grey") return grey; + else if (colourName == "yellow") return yellow; + else if (colourName == "blue") return blue; + else if (colourName == "lightBlue") return lightBlue; + else if (colourName == "green") return green; + else if (colourName == "brown") return brown; + else if (colourName == "purple") return purple; + else if (colourName == "red") return red; + else if (colourName == "orange") return orange; + else if (colourName == "black") return black; +else {G4cout<< colourName << "does not exist !!!"<< G4endl; return white;} +} diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomConstruction.cc b/examples/advanced/human_phantom/src/G4HumanPhantomConstruction.cc index ebcfac6fa1..bbd529f90b 100644 --- a/examples/advanced/human_phantom/src/G4HumanPhantomConstruction.cc +++ b/examples/advanced/human_phantom/src/G4HumanPhantomConstruction.cc @@ -47,13 +47,18 @@ #include "G4PhantomBuilder.hh" #include "G4FemaleBuilder.hh" #include "G4MaleBuilder.hh" - +#include "G4PhantomHeadBuilder.hh" +#include "G4CustomFemaleBuilder.hh" #include "G4RunManager.hh" #include "G4HumanPhantomMaterial.hh" -#include "G4HumanPhantomEnergyDeposit.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4VPhysicalVolume.hh" +#include "G4VisAttributes.hh" +#include "G4Colour.hh" +#include "G4PVPlacement.hh" -G4HumanPhantomConstruction::G4HumanPhantomConstruction(G4HumanPhantomEnergyDeposit* energyDep): - edepTot(energyDep) +G4HumanPhantomConstruction::G4HumanPhantomConstruction() { messenger = new G4HumanPhantomMessenger(this); material = new G4HumanPhantomMaterial(); @@ -71,80 +76,158 @@ G4VPhysicalVolume* G4HumanPhantomConstruction::Construct() G4SDManager* SDman = G4SDManager::GetSDMpointer(); G4String bodypartSD = "BodyPartSD"; - G4HumanPhantomSD* userPhantomSD = new G4HumanPhantomSD( bodypartSD, edepTot); - SDman->AddNewDetector( userPhantomSD ); - - G4PhantomBuilder* builder = 0; + G4HumanPhantomSD* userPhantomSD = new G4HumanPhantomSD(bodypartSD); + SDman->AddNewDetector(userPhantomSD); - if(sex=="Female") builder = new G4FemaleBuilder; - else builder = new G4MaleBuilder ; + G4BasePhantomBuilder* builder = 0; - builder->BuildWorld(); - - builder->SetModel(model); - - builder->SetSex(sex); + if (model == "MIRDHead" || model == "ORNLHead") + { + G4cout << "HeadBuilder instantiated" << G4endl; + builder = new G4PhantomHeadBuilder; + if (model == "MIRDHead") builder->SetModel("MIRD"); + else if (model == "ORNLHead") builder->SetModel("ORNLMale"); + } + else + { + if (sex =="Female") + { + if (model == "MIX") builder = new G4CustomFemaleBuilder; + else {builder = new G4FemaleBuilder;} + builder->SetModel(model); + G4cout <SetModel(model); + if (model == "MIX") + { + G4cout<< "Custom Male is not available!!! MIRD model is selected !" + << G4endl; + model = "MIRD"; + builder->SetModel(model);} + } + } + + builder->SetMotherVolume(ConstructWorld()); // the argument indicates the sensitivity of the volume - builder->BuildHead(sensitivities["Head"]); - builder->BuildTrunk(sensitivities["Trunk"]); - builder->BuildLegs(sensitivities["Legs"]); - builder->BuildBrain(sensitivities["Brain"]); + builder->BuildHead("black", false, sensitivities["Head"]); + builder->BuildSkull("orange", false,sensitivities["Skull"]); + builder->BuildBrain("yellow", true,sensitivities["Brain"]); - builder->BuildArmBone(sensitivities["ArmBone"]); - builder->BuildLegBone(sensitivities["LegBone"]); - builder->BuildSkull(sensitivities["Skull"]); - builder->BuildUpperSpine(sensitivities["UpperSpine"]); - builder->BuildMiddleLowerSpine(sensitivities["MiddleLowerSpine"]); - - builder->BuildPelvis(sensitivities["Pelvis"]); - builder->BuildStomach(sensitivities["Stomach"]); - builder->BuildUpperLargeIntestine(sensitivities["UpperLargeIntestine"]); - builder->BuildLowerLargeIntestine(sensitivities["LowerLargeIntestine"]); - - builder->BuildSpleen(sensitivities["Spleen"]); - builder->BuildPancreas(sensitivities["Pancreas"]); - builder->BuildLiver(sensitivities["Liver"]); - - builder->BuildKidney(sensitivities["Kidney"]); - builder->BuildUrinaryBladder(sensitivities["UrinaryBladder"]); - - builder->BuildHeart(sensitivities["Hearth"]); - builder->BuildLung(sensitivities["Lung"]); - builder->BuildThyroid(sensitivities["Thyroid"]); - - if(sex=="Female"){ - builder->BuildOvary(true); - builder->BuildUterus(true); - builder->BuildBreast(true); - if(model == "MIRD") builder->BuildParameterisedBreast(true); - } + if (model != "MIRDHead" && model != "ORNLHead") + { + // builder->SetModel(model); + builder->BuildTrunk("yellow", false, sensitivities["Trunk"]); + + builder->BuildLeftLeg("yellow", false,sensitivities["LeftLeg"]); + builder->BuildRightLeg("yellow", false,sensitivities["RightLeg"]); + + builder->BuildLeftArmBone("grey", true,sensitivities["LeftArmBone"]); + builder->BuildRightArmBone("grey", true, sensitivities["RightArmBone"]); + + builder->BuildLeftLegBone("grey", true,sensitivities["LeftLegBone"]); + builder ->BuildRightLegBone("grey", true,sensitivities["RightLegBone"]); - if(sex=="Male"){ - builder->BuildMaleGenitalia(sensitivities["MaleGenitalia"]); - builder->BuildTestes(sensitivities["Testes"]); - } + builder->BuildUpperSpine("yellow", true,sensitivities["UpperSpine"]); + + if (model == "MIRD" || model == "MIX") + { + builder->BuildLeftScapula("grey", true, sensitivities["LeftScapula"]); + builder->BuildRightScapula("grey", true, sensitivities["RightScapula"]); + builder->BuildLeftAdrenal("yellow", true, sensitivities["LeftAdrenal"]); + builder->BuildRightAdrenal("yellow", true, sensitivities["RightAdrenal"]); + + } + builder->BuildMiddleLowerSpine("yellow", true,sensitivities["MiddleLowerSpine"]); + + builder->BuildPelvis("grey", true,sensitivities["Pelvis"]); + + builder->BuildStomach("orange", true,sensitivities["Stomach"]); + builder->BuildUpperLargeIntestine("lightBlue", true,sensitivities["UpperLargeIntestine"]); + builder->BuildLowerLargeIntestine("lightBlue", true,sensitivities["LowerLargeIntestine"]); + if (model == "MIRD" || model == "MIX") builder->BuildRibCage("grey", true,sensitivities["RibCage"]); + + + builder->BuildSpleen("green", true,sensitivities["Spleen"]); + builder->BuildPancreas("purple", true,sensitivities["Pancreas"]); + //builder->BuildLiver("orange", true,sensitivities["Liver"]); // da fare MIRD + + builder->BuildLeftKidney("green", true,sensitivities["LeftKidney"]); + builder->BuildRightKidney("green", true,sensitivities["RightKidney"]); + builder->BuildUrinaryBladder("green", true,sensitivities["UrinaryBladder"]); + + //builder->BuildHeart("red", true,sensitivities["Hearth"]);//dafare MIRD + // builder->BuildLeftLung("blue", true,sensitivities["LeftLung"]); + //builder->BuildRightLung("blue", true,sensitivities["RightLung"]); + //builder->BuildThyroid("orange", true,sensitivities["Thyroid"]); + + if(sex=="Female"){ + + builder->BuildLeftOvary("purple", true,sensitivities["LeftOvary"]); + builder->BuildRightOvary("purple", true,sensitivities["RightOvary"]); + builder->BuildUterus("purple", true,sensitivities["Uterus"]); + + if (model == "ORNLFemale" || model == "MIRD") + { + builder->BuildLeftBreast("purple", true,sensitivities["LeftBreast"]); + builder->BuildRightBreast("purple", true,sensitivities["RightBreast"]); + } + else if (model == "MIX") + { + builder->BuildVoxelLeftBreast("purple",false, sensitivities["LeftBreast"]); + builder->BuildVoxelRightBreast("purple", false, sensitivities["RightBreast"]); + } + } + + if(sex=="Male"){ + // builder->BuildMaleGenitalia(sensitivities["MaleGenitalia"]); + // builder->BuildTestes(sensitivities["Testes"]); + } + + } return builder->GetPhantom(); delete builder; } void G4HumanPhantomConstruction::SetBodyPartSensitivity(G4String bodyPartName, G4bool bodyPartSensitivity) { - sensitivities[bodyPartName] = bodyPartSensitivity; + sensitivities[bodyPartName] = bodyPartSensitivity; if(bodyPartSensitivity==true) - G4cout << " >>> " << bodyPartName << " added as sensitive volume." << G4endl; + G4cout << " >>> " << bodyPartName << " added as sensitive volume." << G4endl; } -void G4HumanPhantomConstruction::CleanPhantom() +G4VPhysicalVolume* G4HumanPhantomConstruction::ConstructWorld() { - //delete mother; -} + G4Material* air = material -> GetMaterial("Air"); -void G4HumanPhantomConstruction::UpdatePhantom() -{ - G4RunManager::GetRunManager()->DefineWorldVolume(Construct()); + // World Volume + // G4double worldSize = 1.*m ; + G4double worldSize = 1. *m ; + G4Box* world = new G4Box("world", worldSize, worldSize, worldSize); + + G4LogicalVolume* logicWorld = new G4LogicalVolume(world, + air, + "logicalWorld", 0, 0,0); + + G4VPhysicalVolume* motherVolume = new G4PVPlacement(0,G4ThreeVector(), + "physicalWorld", + logicWorld, + 0, + false, + 0); + + // Visualization Attributes + G4VisAttributes* WorldVisAtt = new G4VisAttributes(G4Colour(0.94,0.5,0.5)); + + WorldVisAtt->SetForceSolid(false); + logicWorld->SetVisAttributes(G4VisAttributes::Invisible); + + return motherVolume; } void G4HumanPhantomConstruction::SetPhantomSex(G4String newSex) @@ -171,7 +254,26 @@ void G4HumanPhantomConstruction::SetPhantomModel(G4String newModel) { G4cout<<" >> Phantom " << model << " will be built."<> Phantom " << model << " will be built."<> Phantom " << model << " will be built."<> Phantom " << model << " will be built."<> Phantom " << model << " will be built."<> Phantom " << model << " will be built."<GetCollectionID("HumanPhantomCollection"); + } } void G4HumanPhantomEventAction::EndOfEventAction(const G4Event* evt) { + + G4HCofThisEvent* HCE = evt->GetHCofThisEvent(); + + G4HumanPhantomHitsCollection* HC = 0; + + if (HCE) + HC = (G4HumanPhantomHitsCollection*)(HCE->GetHC(hitCollectionID)); + + if (HC) + { + G4int hitNumber = HC->entries(); + G4double edep =0; + G4String bodyPart; + for (G4int i=0;iGetEdep(); + bodyPart = (*HC)[i]->GetBodyPartID(); + Fill(bodyPart, edep); + // if(edep !=0.) G4cout << bodyPart <<": "<< edep/MeV << G4endl; + } + } + + totalEventEnergyDeposit(); + + + // Visualization of particle tracks G4TrajectoryContainer* trajectoryContainer = evt->GetTrajectoryContainer(); G4int n_trajectories = 0; if (trajectoryContainer) n_trajectories = trajectoryContainer->entries(); @@ -63,5 +135,36 @@ void G4HumanPhantomEventAction::EndOfEventAction(const G4Event* evt) ((*(evt->GetTrajectoryContainer()))[i]); trj->DrawTrajectory(500); } - } + } +} + +void G4HumanPhantomEventAction:: Fill(G4String bodypartName, + G4double energyDeposit) + +{ + energyTotal[bodypartName] += energyDeposit; +} + +void G4HumanPhantomEventAction::totalEventEnergyDeposit() +{ + + G4RunManager* runManager = G4RunManager::GetRunManager(); + G4HumanPhantomRunAction* pointerRun = (G4HumanPhantomRunAction*)(runManager->GetUserRunAction()); + + std::map::iterator i = energyTotal.begin(); + std::map::iterator end = energyTotal.end(); + + while(i!=end) + { + + G4String bodypart = i->first; + G4double energyDep = i->second; + + if(energyDep != 0.) + { + pointerRun->Fill(bodypart, energyDep); + } + i++; + } + } diff --git a/examples/extended/biasing/B03/src/B03PrimaryGeneratorAction.cc b/examples/advanced/human_phantom/src/G4HumanPhantomHit.cc similarity index 62% rename from examples/extended/biasing/B03/src/B03PrimaryGeneratorAction.cc rename to examples/advanced/human_phantom/src/G4HumanPhantomHit.cc index c6cd3a447b..3b772c276f 100644 --- a/examples/extended/biasing/B03/src/B03PrimaryGeneratorAction.cc +++ b/examples/advanced/human_phantom/src/G4HumanPhantomHit.cc @@ -24,35 +24,50 @@ // ******************************************************************** // // -// $Id: B03PrimaryGeneratorAction.cc,v 1.6 2006/06/29 16:35:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4HumanPhantomHit.cc,v 1.11 2007/05/15 14:45:35 guatelli Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -#include "globals.hh" +#include "G4HumanPhantomHit.hh" +#include "G4UnitsTable.hh" +#include "G4VVisManager.hh" +#include "G4Circle.hh" +#include "G4Colour.hh" +#include "G4VisAttributes.hh" -#include "B03PrimaryGeneratorAction.hh" +G4Allocator G4HumanPhantomHitAllocator; -#include "G4Event.hh" -#include "G4ParticleGun.hh" -#include "G4Neutron.hh" -#include "G4ThreeVector.hh" -B03PrimaryGeneratorAction::B03PrimaryGeneratorAction() +G4HumanPhantomHit::G4HumanPhantomHit() {} + +G4HumanPhantomHit::~G4HumanPhantomHit() {} + +G4HumanPhantomHit::G4HumanPhantomHit(const G4HumanPhantomHit& right) + : G4VHit() { - G4int n_particle = 1; - particleGun = new G4ParticleGun(n_particle); - particleGun->SetParticleDefinition(G4Neutron::NeutronDefinition()); - particleGun->SetParticleEnergy(10.0*MeV); - particleGun->SetParticlePosition(G4ThreeVector(0.0, 0.0, -90.0005*cm)); - particleGun->SetParticleMomentumDirection(G4ThreeVector(0.0, 0.0, 1.0)); + bodyPartID = right.bodyPartID; + edep = right.edep; } -B03PrimaryGeneratorAction::~B03PrimaryGeneratorAction() +const G4HumanPhantomHit& G4HumanPhantomHit::operator=(const G4HumanPhantomHit& right) { - delete particleGun; + bodyPartID = right.bodyPartID; + edep = right.edep; + return *this; } -void B03PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) +G4int G4HumanPhantomHit::operator==(const G4HumanPhantomHit& right) const { - particleGun->GeneratePrimaryVertex(anEvent); + return (this==&right) ? 1 : 0; } + +void G4HumanPhantomHit::Draw() +{ +} + +void G4HumanPhantomHit::Print() +{ + G4cout << "Energy deposit: " << G4BestUnit(edep,"Energy") + << "BodyPartID: " << bodyPartID << G4endl; +} + diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomMaterial.cc b/examples/advanced/human_phantom/src/G4HumanPhantomMaterial.cc index f616b9dbaf..d685b92c58 100644 --- a/examples/advanced/human_phantom/src/G4HumanPhantomMaterial.cc +++ b/examples/advanced/human_phantom/src/G4HumanPhantomMaterial.cc @@ -205,6 +205,12 @@ void G4HumanPhantomMaterial::DefineMaterials() adipose_glandular = new G4Material("adipose_glandular", d, 2); adipose_glandular -> AddMaterial(adipose, 0.5); adipose_glandular -> AddMaterial(glandular, 0.5); + + // Air + d = 1.290*mg/cm3; + G4Material* matAir = new G4Material("Air",d,2); + matAir->AddElement(elN,0.7); + matAir->AddElement(elO,0.3); } G4Material* G4HumanPhantomMaterial::GetMaterial(G4String material) diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomMessenger.cc b/examples/advanced/human_phantom/src/G4HumanPhantomMessenger.cc index 892128b0c6..86d8f7ae1a 100644 --- a/examples/advanced/human_phantom/src/G4HumanPhantomMessenger.cc +++ b/examples/advanced/human_phantom/src/G4HumanPhantomMessenger.cc @@ -51,15 +51,11 @@ G4HumanPhantomMessenger::G4HumanPhantomMessenger(G4HumanPhantomConstruction* myU bpDir = new G4UIdirectory("/bodypart/"); bpDir->SetGuidance("Add Body Part to Phantom"); - cleanCmd = new G4UIcmdWithoutParameter("/phantom/startNewPhantom",this); - cleanCmd->SetGuidance("Start a New Phantom and clean previous one."); - cleanCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - modelCmd = new G4UIcmdWithAString("/phantom/setPhantomModel",this); - modelCmd->SetGuidance("Set sex of Phantom: MIRD, ORNL or MIX."); + modelCmd->SetGuidance("Set sex of Phantom: MIRD, ORNLFemale, ORNLMale, MIX, MIRDHead, ORNLHead."); modelCmd->SetParameterName("phantomModel",true); modelCmd->SetDefaultValue("MIRD"); - modelCmd->SetCandidates("MIRD ORNL MIX"); + modelCmd->SetCandidates("MIRD ORNLFemale ORNLMale MIX MIRDHead ORNLHead"); modelCmd->AvailableForStates(G4State_PreInit,G4State_Idle); sexCmd = new G4UIcmdWithAString("/phantom/setPhantomSex",this); @@ -82,7 +78,6 @@ G4HumanPhantomMessenger::G4HumanPhantomMessenger(G4HumanPhantomConstruction* myU G4HumanPhantomMessenger::~G4HumanPhantomMessenger() { - delete cleanCmd; delete modelCmd; delete sexCmd; delete bodypartCmd; @@ -92,10 +87,7 @@ G4HumanPhantomMessenger::~G4HumanPhantomMessenger() } void G4HumanPhantomMessenger::SetNewValue(G4UIcommand* command,G4String newValue){ - if( command == cleanCmd ) - { - myUserPhantom->CleanPhantom(); - } + if( command == modelCmd ) { myUserPhantom->SetPhantomModel(newValue); @@ -113,10 +105,6 @@ void G4HumanPhantomMessenger::SetNewValue(G4UIcommand* command,G4String newValue G4cout << " ****************>>>> NEW PHANTOM CONSTRUCTION <<<<***************** " << G4endl; - - //myUserPhantom->UpdatePhantom(); - - //G4RunManager::GetRunManager()->Initialize(); } } diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomPrimaryGeneratorAction.cc b/examples/advanced/human_phantom/src/G4HumanPhantomPrimaryGeneratorAction.cc index 096e51cfcb..9602733d2a 100644 --- a/examples/advanced/human_phantom/src/G4HumanPhantomPrimaryGeneratorAction.cc +++ b/examples/advanced/human_phantom/src/G4HumanPhantomPrimaryGeneratorAction.cc @@ -93,7 +93,14 @@ void G4HumanPhantomPrimaryGeneratorAction::GenerateBeamAlongZ() z0 = 0.5*(worldLength)*cm; y0 = (worldLength)*(G4UniformRand()-0.5)*cm; x0 = (worldLength)*(G4UniformRand()-0.5)*cm; - G4ThreeVector direction(0.,0.,-1.); + + //z0 = 0.5*(worldLength)*cm; + //y0 = 50. * cm + 5.*(G4UniformRand()-0.5)*cm; + //x0 = 10.*(G4UniformRand()-0.5)*cm; + + G4ThreeVector direction(0.,0.,-1.); + + particleGun->SetParticleMomentumDirection(direction); } diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomRunAction.cc b/examples/advanced/human_phantom/src/G4HumanPhantomRunAction.cc index 7e15f759e1..a9fe45813b 100644 --- a/examples/advanced/human_phantom/src/G4HumanPhantomRunAction.cc +++ b/examples/advanced/human_phantom/src/G4HumanPhantomRunAction.cc @@ -36,7 +36,10 @@ #include "G4HumanPhantomAnalysisManager.hh" #include "G4ios.hh" #include "G4Run.hh" - +#include "G4UnitsTable.hh" +#ifdef G4ANALYSIS_USE +#include "G4HumanPhantomAnalysisManager.hh" +#endif G4HumanPhantomRunAction::G4HumanPhantomRunAction() {} @@ -48,18 +51,86 @@ void G4HumanPhantomRunAction::BeginOfRunAction(const G4Run* aRun) G4int run_number = aRun->GetRunID(); G4cout << "### Run " << run_number << " start." << G4endl; -#ifdef G4ANALYSIS_USE - if (run_number == 0) - { - G4HumanPhantomAnalysisManager* analysis = G4HumanPhantomAnalysisManager::getInstance(); - analysis->book(); - } -#endif + energyTotal["logicalHead"]=0.; + energyTotal["logicalTrunk"]=0.; + energyTotal["logicalLeftLeg"]=0.; + energyTotal["logicalRightLeg"]=0.; + energyTotal["logicalBrain"]=0.; + energyTotal["logicalLeftArmBone"]=0.; + energyTotal["logicalRightArmBone"]=0.; + energyTotal["logicalSkull"]=0.; + energyTotal["logicalUpperSpine"]=0.; + energyTotal["logicalMiddleLowerSpine"]=0.; + energyTotal["logicalPelvis"]=0.; + energyTotal["logicalStomach"]=0.; + energyTotal["logicalUpperLargeIntestine"]=0.; + energyTotal["logicalLowerLargeIntestine"]=0.; + energyTotal["logicalRibCage"]=0.; + energyTotal["logicalSpleen"]=0.; + energyTotal["logicalPancreas"]=0.; + energyTotal["logicalLeftKidney"]=0.; + energyTotal["logicalRightKidney"]=0.; + energyTotal["logicalUrinaryBladder"]=0.; + energyTotal["logicalUterus"]=0.; + energyTotal["logicalLeftLung"]=0.; + energyTotal["logicalRightLung"]=0.; + energyTotal["logicalLeftOvary"]=0.; + energyTotal["logicalRightOvary"]=0.; + energyTotal["logicalLeftLegBone"]=0.; + energyTotal["logicalRightLegBone"]=0.; + energyTotal["logicalLeftBreast"]=0.; + energyTotal["logicalRightBreast"]=0.; + energyTotal["logicalLeftScapula"]=0.; + energyTotal["logicalRightScapula"]=0.; + energyTotal["logicalLeftAdrenal"]=0.; + energyTotal["logicalRightAdrenal"]=0.; } void G4HumanPhantomRunAction::EndOfRunAction(const G4Run* aRun) { G4cout << "Number of events = " << aRun->GetNumberOfEvent() << G4endl; + totalRunEnergyDeposit(); +} + + +void G4HumanPhantomRunAction::Fill(G4String bodypartName, + G4double energyDeposit) + +{ + energyTotal[bodypartName] += energyDeposit; +} + +void G4HumanPhantomRunAction::totalRunEnergyDeposit() +{ + std::map::iterator i = energyTotal.begin(); + std::map::iterator end = energyTotal.end(); + + G4double totalEnergyDepositInPhantom =0.; + G4int k=0; + while(i!=end) + { + G4String bodypart = i->first; + G4double energyDep = i->second; + // if(energyDep != 0.) + // { + + G4cout << "Energy Total in Run" < bodyPartEnergyDeposit(k,energyDep/MeV); +#endif + // } + i++; + k++; + totalEnergyDepositInPhantom += energyDep; + } + + + G4cout << "Total Energy deposit in the body is: " + << totalEnergyDepositInPhantom/MeV << " MeV" <GetCollectionID(collectionName[0]); } + HCE->AddHitsCollection( HCID, collection ); } G4bool G4HumanPhantomSD::ProcessHits(G4Step* aStep,G4TouchableHistory*) { -G4double edep = aStep->GetTotalEnergyDeposit(); + G4double edep = aStep->GetTotalEnergyDeposit(); if(edep==0.) return false; G4String bodypartName = aStep->GetPreStepPoint()->GetTouchable() ->GetVolume()->GetLogicalVolume()->GetName(); - energyTotal->Fill(bodypartName, edep); + // G4cout <SetEdep(edep); + newHit->SetBodyPartID(bodypartName); + collection->insert(newHit); + return true; } void G4HumanPhantomSD::EndOfEvent(G4HCofThisEvent*) { + +// G4int NbHits = collection->entries(); +// G4cout << "\n-------->Hits Collection: in this event they are " << NbHits +// << " hits in the tracker chambers: " << G4endl; +// for (G4int i=0;iPrint(); } diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomSteppingAction.cc b/examples/advanced/human_phantom/src/G4HumanPhantomSteppingAction.cc index 600b04ac93..5bd4d7f556 100644 --- a/examples/advanced/human_phantom/src/G4HumanPhantomSteppingAction.cc +++ b/examples/advanced/human_phantom/src/G4HumanPhantomSteppingAction.cc @@ -32,47 +32,14 @@ // design and code review. // #include "G4HumanPhantomSteppingAction.hh" -#include "G4HumanPhantomEventAction.hh" #include "G4SteppingManager.hh" -#include "G4Track.hh" -#ifdef G4ANALYSIS_USE -#include "G4HumanPhantomAnalysisManager.hh" -#endif - +#include "G4UnitsTable.hh" G4HumanPhantomSteppingAction::G4HumanPhantomSteppingAction() { } G4HumanPhantomSteppingAction::~G4HumanPhantomSteppingAction() {} -void G4HumanPhantomSteppingAction::UserSteppingAction(const G4Step* aStep) +void G4HumanPhantomSteppingAction::UserSteppingAction(const G4Step*) { - - G4String name = aStep->GetPreStepPoint()->GetPhysicalVolume()->GetName(); - - G4ThreeVector particlePosition = aStep -> GetTrack() -> GetPosition(); - -#ifdef G4ANALYSIS_USE - - if (particlePosition[2]/cm >= 0.) // section at the z-coord - { - G4HumanPhantomAnalysisManager* analysis = G4HumanPhantomAnalysisManager::getInstance(); - analysis -> particleProjectionXY(particlePosition[0]/cm,particlePosition[1]/cm); - } - - if (particlePosition[0]/cm >= 0.) // section at the x-coord - { - G4HumanPhantomAnalysisManager* analysis = G4HumanPhantomAnalysisManager::getInstance(); - analysis -> particleProjectionYZ(particlePosition[1]/cm,particlePosition[2]/cm); - } - - if ((particlePosition[1]/cm >= 50.) && (particlePosition[1]/cm <= 51.)) - // section at the y-coord - { - G4HumanPhantomAnalysisManager* analysis = G4HumanPhantomAnalysisManager::getInstance(); - analysis -> particleProjectionZX(particlePosition[2]/cm,particlePosition[0]/cm); - } - -#endif - } diff --git a/examples/advanced/human_phantom/src/G4MIRDAdrenal.cc b/examples/advanced/human_phantom/src/G4MIRDAdrenal.cc deleted file mode 100644 index 7dab3e0c17..0000000000 --- a/examples/advanced/human_phantom/src/G4MIRDAdrenal.cc +++ /dev/null @@ -1,93 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4MIRDAdrenal.hh" - -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" -#include "G4VisAttributes.hh" -#include "G4PhysicalVolumeStore.hh" - -G4MIRDAdrenal::G4MIRDAdrenal() -{ -} - -G4MIRDAdrenal::~G4MIRDAdrenal() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4MIRDAdrenal::ConstructAdrenal(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/MIRDAdrenal.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - G4LogicalVolume* logicAdrenal = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("AdrenalVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("AdrenalPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("AdrenalRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physAdrenal = new G4PVPlacement(rm,position, - "physicalAdrenal", - logicAdrenal, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicAdrenal->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* AdrenalVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - AdrenalVisAtt->SetForceSolid(true); - logicAdrenal->SetVisAttributes(AdrenalVisAtt); - - G4cout << "Adrenal created !!!!!!" << G4endl; - - return physAdrenal; -} diff --git a/examples/advanced/human_phantom/src/G4MIRDBodyFactory.cc b/examples/advanced/human_phantom/src/G4MIRDBodyFactory.cc index 0155b367f8..1e0e1cb32f 100644 --- a/examples/advanced/human_phantom/src/G4MIRDBodyFactory.cc +++ b/examples/advanced/human_phantom/src/G4MIRDBodyFactory.cc @@ -35,245 +35,125 @@ #include "G4MIRDStomach.hh" #include "G4MIRDUpperLargeIntestine.hh" #include "G4MIRDLowerLargeIntestine.hh" -#include "G4MIRDKidney.hh" -#include "G4MIRDAdrenal.hh" +#include "G4MIRDLeftKidney.hh" +#include "G4MIRDRightKidney.hh" #include "G4MIRDLiver.hh" #include "G4MIRDPancreas.hh" #include "G4MIRDSpleen.hh" #include "G4MIRDUrinaryBladder.hh" -#include "G4MIRDLung.hh" +#include "G4MIRDLeftLung.hh" +#include "G4MIRDRightLung.hh" #include "G4MIRDHeart.hh" #include "G4MIRDBrain.hh" #include "G4MIRDHead.hh" #include "G4MIRDTrunk.hh" -#include "G4MIRDLegs.hh" +#include "G4MIRDLeftLeg.hh" +#include "G4MIRDRightLeg.hh" #include "G4MIRDThyroid.hh" #include "G4MIRDUterus.hh" -#include "G4MIRDBreast.hh" -#include "G4MIRDOvary.hh" +#include "G4MIRDLeftBreast.hh" +#include "G4MIRDRightBreast.hh" +#include "G4MIRDRightOvary.hh" +#include "G4MIRDLeftOvary.hh" #include "G4MIRDUpperSpine.hh" #include "G4MIRDMiddleLowerSpine.hh" -#include "G4MIRDLegBone.hh" -#include "G4MIRDArmBone.hh" +#include "G4MIRDLeftLegBone.hh" +#include "G4MIRDRightLegBone.hh" +#include "G4MIRDLeftArmBone.hh" +#include "G4MIRDRightArmBone.hh" #include "G4MIRDSkull.hh" #include "G4MIRDRibCage.hh" #include "G4MIRDPelvis.hh" #include "G4MIRDTestes.hh" -#include "G4ParameterisedBreast.hh" +#include "G4MIRDLeftScapula.hh" +#include "G4MIRDRightScapula.hh" +#include "G4MIRDLeftAdrenal.hh" +#include "G4MIRDRightAdrenal.hh" G4MIRDBodyFactory::G4MIRDBodyFactory() { + // Map with name of the organ and pointer to the MIRDOrgan class + // organ["ParameterisedRightBreast"] = new G4ParameterisedRightBreast(); + //organ["ParameterisedLeftBreast"] = new G4ParameterisedLeftBreast(); + organ["Head"] = new G4MIRDHead(); + organ["Trunk"] = new G4MIRDTrunk(); + organ["LeftLeg"] = new G4MIRDLeftLeg(); + organ["RightLeg"] = new G4MIRDRightLeg(); + organ["Brain"] = new G4MIRDBrain(); + organ["LeftArmBone"] = new G4MIRDLeftArmBone(); + organ["RightArmBone"] = new G4MIRDRightArmBone(); + organ["Skull"] = new G4MIRDSkull(); + organ["UpperSpine"] = new G4MIRDUpperSpine(); + organ["MiddleLowerSpine"] = new G4MIRDMiddleLowerSpine(); + organ["Pelvis"]= new G4MIRDPelvis(); + organ["Stomach"] = new G4MIRDStomach(); + organ["UpperLargeIntestine"] = new G4MIRDUpperLargeIntestine(); + organ["LowerLargeIntestine"] = new G4MIRDLowerLargeIntestine(); + organ["RibCage"] = new G4MIRDRibCage(); + organ["Spleen"] = new G4MIRDSpleen(); + organ["Pancreas"] = new G4MIRDPancreas(); + organ["LeftKidney"] = new G4MIRDLeftKidney(); + organ["RightKidney"] = new G4MIRDRightKidney(); + organ["UrinaryBladder"] = new G4MIRDUrinaryBladder(); + organ["Uterus"] = new G4MIRDUterus(); + organ["LeftLung"]= new G4MIRDLeftLung(); + organ["RightLung"] = new G4MIRDRightLung(); + organ["LeftOvary"] = new G4MIRDLeftOvary(); + organ["RightOvary"] = new G4MIRDRightOvary(); + organ["LeftLegBone"] = new G4MIRDLeftLegBone(); + organ["RightLegBone"] = new G4MIRDRightLegBone(); + organ["RightBreast"] = new G4MIRDRightBreast(); + organ["LeftBreast"] = new G4MIRDLeftBreast(); + organ["LeftScapula"]= new G4MIRDLeftScapula(); + organ["RightScapula"]= new G4MIRDRightScapula(); + organ["LeftAdrenal"]= new G4MIRDLeftAdrenal(); + organ["RightAdrenal"]= new G4MIRDRightAdrenal(); } G4MIRDBodyFactory::~G4MIRDBodyFactory() { + delete organ["RightAdrenal"]; organ["RightAdrenal"]=0; + delete organ["LeftAdrenal"]; organ["LeftAdrenal"]=0; + delete organ["RightScapula"];organ["RightScapula"] =0; + delete organ["LeftScapula"];organ["LeftScapula"] =0; + delete organ["LeftBreast"]; organ["LeftBreast"]=0; + delete organ["RightBreast"]; organ["RightBreast"]=0; + delete organ["RightLegBone"]; organ["RightLegBone"]=0; + delete organ["LeftLegBone"]; organ["LeftLegBone"]=0; + delete organ["RightOvary"]; organ["RightOvary"]=0; + delete organ["LeftOvary"]; organ["LeftOvary"]=0; + delete organ["RightLung"]; organ["RightLung"] =0; + delete organ["LeftLung"]; organ["LeftLung"]=0; + delete organ["Uterus"]; organ["Uterus"]=0; + delete organ["UrinaryBladder"]; organ["UrinaryBladder"]=0; + delete organ["RightKidney"]; organ["RightKidney"] =0; + delete organ["LeftKidney"]; organ["LeftKidney"] =0; + delete organ["Pancreas"]; organ["Pancreas"] =0; + delete organ["Spleen"]; organ["Spleen"] =0; + delete organ["RibCage"]; organ["RibCage"] =0; + delete organ["LowerLargeIntestine"]; organ["LowerLargeIntestine"] =0; + delete organ["UpperLargeIntestine"]; organ["UpperLargeIntestine"] =0; + delete organ["Stomach"]; organ["Stomach"] =0; + delete organ["Pelvis"]; organ["Pelvis"] =0; + delete organ["MiddleLowerSpine"]; organ["MidlleLowerSpine"]=0; + delete organ["UpperSpine"]; organ["UpperSpine"]=0; + delete organ["Skull"]; organ["Skull"] =0; + delete organ["RightArmBone"]; organ["RightArmBone"] =0; + delete organ["LeftArmBone"]; organ["LeftArmBone"] =0; + delete organ["Brain"]; organ["Brain"]=0; + delete organ["Head"]; organ["Head"]=0; + delete organ["Trunk"]; organ["Trunk"]=0; + delete organ["RightLeg"]; organ["RightLeg"]=0; + delete organ["LeftLeg"]; organ["LeftLeg"]=0; } -G4VPhysicalVolume* G4MIRDBodyFactory::CreateStomach(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) + + +G4VPhysicalVolume* G4MIRDBodyFactory::CreateOrgan(const G4String& organ_name,G4VPhysicalVolume* motherVolume, + const G4String& colourName, G4bool visAttribute, + G4bool sensitivity) { - G4MIRDStomach* stomach = new G4MIRDStomach(); - return stomach -> ConstructStomach(motherVolume,sex,sensitivity); - delete stomach; + return organ[organ_name] -> Construct(organ_name,motherVolume,colourName, visAttribute, sensitivity); } -G4VPhysicalVolume* G4MIRDBodyFactory::CreateUpperLargeIntestine(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDUpperLargeIntestine* upperLargeIntestine = new G4MIRDUpperLargeIntestine(); - return upperLargeIntestine -> ConstructUpperLargeIntestine(motherVolume,sex,sensitivity); - delete upperLargeIntestine; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateLowerLargeIntestine(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDLowerLargeIntestine* lowerLargeIntestine = new G4MIRDLowerLargeIntestine(); - return lowerLargeIntestine -> ConstructLowerLargeIntestine(motherVolume,sex,sensitivity); - delete lowerLargeIntestine; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateKidney(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDKidney* kidney = new G4MIRDKidney(); - return kidney -> ConstructKidney(motherVolume,sex,sensitivity); - delete kidney; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateAdrenal(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDAdrenal* adrenal = new G4MIRDAdrenal(); - return adrenal -> ConstructAdrenal(motherVolume,sex,sensitivity); - delete adrenal; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateLiver(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDLiver* liver = new G4MIRDLiver(); - return liver -> ConstructLiver(motherVolume,sex,sensitivity); - delete liver; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreatePancreas(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDPancreas* pancreas = new G4MIRDPancreas(); - return pancreas -> ConstructPancreas(motherVolume,sex,sensitivity); - delete pancreas; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateSpleen(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDSpleen* spleen = new G4MIRDSpleen(); - return spleen -> ConstructSpleen(motherVolume,sex,sensitivity); - delete spleen; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateUrinaryBladder(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDUrinaryBladder* urinaryBladder = new G4MIRDUrinaryBladder(); - return urinaryBladder -> ConstructUrinaryBladder(motherVolume,sex,sensitivity); -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateLung(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDLung* lung = new G4MIRDLung(); - return lung -> ConstructLung(motherVolume,sex,sensitivity); - delete lung; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateHeart(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDHeart* heart = new G4MIRDHeart(); - return heart -> ConstructHeart(motherVolume,sex,sensitivity); - delete heart; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateBrain(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDBrain* brain = new G4MIRDBrain(); - return brain -> ConstructBrain(motherVolume,sex,sensitivity); - delete brain; -} - -G4VPhysicalVolume* G4MIRDBodyFactory::CreateHead(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDHead* head = new G4MIRDHead(); - return head -> ConstructHead(motherVolume, sex, sensitivity); - delete head; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateTrunk(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDTrunk* trunk = new G4MIRDTrunk(); - return trunk -> ConstructTrunk(motherVolume,sex,sensitivity); - delete trunk; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateLegs(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDLegs* legs = new G4MIRDLegs(); - return legs -> ConstructLegs(motherVolume,sex,sensitivity); - delete legs; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateThyroid(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDThyroid* thyroid = new G4MIRDThyroid(); - return thyroid -> ConstructThyroid(motherVolume,sex,sensitivity); - delete thyroid; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateUterus(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDUterus* uterus = new G4MIRDUterus(); - return uterus -> ConstructUterus(motherVolume,sex,sensitivity); - delete uterus; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateBreast(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDBreast* breast = new G4MIRDBreast(); - return breast -> ConstructBreast(motherVolume,sex,sensitivity); - delete breast; -} - -G4VPhysicalVolume* G4MIRDBodyFactory::CreateParameterisedBreast(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4cout << "G4MIRDBodyFactory::CreateParameterisedBreast" << G4endl; - G4ParameterisedBreast* breast = new G4ParameterisedBreast(); - return breast -> ConstructBreast(motherVolume,sex,sensitivity); - delete breast; -} - -G4VPhysicalVolume* G4MIRDBodyFactory::CreateOvary(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDOvary* ovary = new G4MIRDOvary(); - return ovary -> ConstructOvary(motherVolume,sex,sensitivity); - delete ovary; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateUpperSpine(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDUpperSpine* upperSpine = new G4MIRDUpperSpine(); - return upperSpine -> ConstructUpperSpine(motherVolume,sex,sensitivity); - delete upperSpine; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateMiddleLowerSpine(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDMiddleLowerSpine* middleLowerSpine = new G4MIRDMiddleLowerSpine(); - return middleLowerSpine -> ConstructMiddleLowerSpine(motherVolume,sex,sensitivity); - delete middleLowerSpine; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateLegBone(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDLegBone* legBone = new G4MIRDLegBone(); - return legBone -> ConstructLegBone(motherVolume,sex,sensitivity); - delete legBone; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateArmBone(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDArmBone* armBone = new G4MIRDArmBone(); - return armBone -> ConstructArmBone(motherVolume,sex,sensitivity); - delete armBone; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateSkull(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDSkull* skull = new G4MIRDSkull(); - return skull -> ConstructSkull(motherVolume,sex,sensitivity); - delete skull; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateRibCage(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDRibCage* ribCage = new G4MIRDRibCage(); - return ribCage -> ConstructRibCage(motherVolume,sex,sensitivity); - delete ribCage; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreatePelvis(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDPelvis* pelvis = new G4MIRDPelvis(); - return pelvis -> ConstructPelvis(motherVolume,sex,sensitivity); - delete pelvis; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateTestes(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4MIRDTestes* testes = new G4MIRDTestes(); - return testes -> ConstructTestes(motherVolume,sex,sensitivity); - delete testes; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateEsophagus(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4cout << motherVolume << ">>>> Cannot create Esophagus of " << sex - << "phantom and with sensitivity = " << sensitivity - << ": not yet implemented!" << G4endl; - return 0; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateClavicles(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4cout << motherVolume << ">>>> Cannot create Clavicles of " << sex - << "phantom and with sensitivity = " << sensitivity - << ": not yet implemented!" << G4endl; - return 0; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateScapulae(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4cout << motherVolume << ">>>> Cannot create Scapulae of " << sex - << "phantom and with sensitivity = " << sensitivity - << ": not yet implemented!" << G4endl; - return 0; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateNeck(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4cout << motherVolume << ">>>> Cannot create Neck of " << sex - << "phantom and with sensitivity = " << sensitivity - << ": not yet implemented!" << G4endl; - return 0; -} -G4VPhysicalVolume* G4MIRDBodyFactory::CreateMaleGenitalia(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4cout << motherVolume << ">>>> Cannot create Male Genitalia of " << sex - << "phantom and with sensitivity = " << sensitivity - << ": not yet implemented!" << G4endl; - return 0; -} diff --git a/examples/advanced/human_phantom/src/G4MIRDBrain.cc b/examples/advanced/human_phantom/src/G4MIRDBrain.cc index f4a7bd689b..80bfd6bb4f 100644 --- a/examples/advanced/human_phantom/src/G4MIRDBrain.cc +++ b/examples/advanced/human_phantom/src/G4MIRDBrain.cc @@ -44,6 +44,7 @@ #include "G4HumanPhantomMaterial.hh" #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" +#include "G4HumanPhantomColour.hh" G4MIRDBrain::G4MIRDBrain() { @@ -54,32 +55,33 @@ G4MIRDBrain::~G4MIRDBrain() } -G4VPhysicalVolume* G4MIRDBrain::ConstructBrain(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDBrain::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity) { - + G4cout << "Construct " << volumeName << G4endl; G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); G4Material* soft = material -> GetMaterial("soft_tissue"); delete material; - G4double ax = 6.58 * cm; - G4double by= 8.57 * cm; - G4double cz = 5.73 * cm; + G4double ax = 6. * cm; + G4double by= 9. * cm; + G4double cz = 6.5 * cm; G4Ellipsoid* brain = new G4Ellipsoid("Brain", ax, by, cz); G4LogicalVolume* logicBrain = new G4LogicalVolume(brain, soft, - "BrainVolume", + "logical" + volumeName, 0, 0, 0); // Define rotation and position here! G4VPhysicalVolume* physBrain = new G4PVPlacement(0, - G4ThreeVector(0.*cm, 0.*cm, 8.25 * cm), + G4ThreeVector(0.*cm, 0.*cm, 8.75 * cm), "physicalBrain", logicBrain, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) { @@ -89,12 +91,15 @@ G4VPhysicalVolume* G4MIRDBrain::ConstructBrain(G4VPhysicalVolume* mother, G4Stri // Visualization Attributes - G4VisAttributes* BrainVisAtt = new G4VisAttributes(G4Colour(0.41,0.41,0.41)); - BrainVisAtt->SetForceSolid(true); + // G4VisAttributes* BrainVisAtt = new G4VisAttributes(G4Colour(0.41,0.41,0.41)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + + G4VisAttributes* BrainVisAtt = new G4VisAttributes(colour); + BrainVisAtt->SetForceSolid(wireFrame); + BrainVisAtt->SetLineWidth(0.7* mm); logicBrain->SetVisAttributes(BrainVisAtt); - G4cout << "Brain created for " << sex << "!!!! "<GetSolid()->GetCubicVolume(); G4cout << "Volume of Brain = " << BrainVol/cm3 << " cm^3" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MIRDHead.cc b/examples/advanced/human_phantom/src/G4MIRDHead.cc index eb2c613069..481e292f89 100644 --- a/examples/advanced/human_phantom/src/G4MIRDHead.cc +++ b/examples/advanced/human_phantom/src/G4MIRDHead.cc @@ -45,6 +45,7 @@ #include "G4RotationMatrix.hh" #include "G4Material.hh" #include "G4EllipticalTube.hh" +#include "G4HumanPhantomColour.hh" G4MIRDHead::G4MIRDHead() { @@ -56,45 +57,46 @@ G4MIRDHead::~G4MIRDHead() delete material; } -G4VPhysicalVolume* G4MIRDHead::ConstructHead(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDHead::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) { - // G4cout << "ConstructHead"<< G4endl; + G4cout << "Construct " << volumeName < GetMaterial("soft_tissue"); + // MIRD male model // Ellipsoid - G4double ax = 7.77 * cm; - G4double by = 9.76 * cm; - G4double cz = 6.92 * cm; + G4double ax = 7.0 * cm; + G4double by = 10.0 * cm; + G4double cz = 8.50 * cm; G4double zcut1 = 0.0 * cm; - G4double zcut2 = 6.92 * cm; + G4double zcut2 = 8.5 * cm; G4Ellipsoid* head1 = new G4Ellipsoid("Head1", ax, by, cz, zcut1, zcut2); - G4double dx = 7.77 * cm; - G4double dy = 9.76 * cm; - G4double dz = 8.25 * cm; + G4double dx = 7.0 * cm; + G4double dy = 10.0 * cm; + G4double dz = 7.75 * cm; + G4EllipticalTube* head2 = new G4EllipticalTube("Head2", dx, dy, dz); - // G4Tubs(Name, r_int, r_est, halfz lenght, spanning angles) G4UnionSolid* head = new G4UnionSolid("Head",head2,head1, - 0, // Rotation - G4ThreeVector(0.* cm, 0.*cm, 8.15 * cm) ); + 0, // Rotation + G4ThreeVector(0.* cm, 0.*cm, 7.7500 * cm) ); - G4LogicalVolume* logicHead = new G4LogicalVolume(head, soft,"HeadVolume", + G4LogicalVolume* logicHead = new G4LogicalVolume(head, soft,"logical" + volumeName, 0, 0,0); G4RotationMatrix* rm = new G4RotationMatrix(); rm -> rotateX(90.* degree); - + // Define rotation and position here! G4VPhysicalVolume* physHead = new G4PVPlacement(rm, - G4ThreeVector(0.* cm,71.35*cm, 0.*cm), + G4ThreeVector(0.* cm,77.75 *cm, 0.*cm), "physicalHead", logicHead, mother, false, - 0); - // delete rm; + 0, true); // Sensitive Body Part @@ -102,14 +104,21 @@ G4VPhysicalVolume* G4MIRDHead::ConstructHead(G4VPhysicalVolume* mother, G4String { G4SDManager* SDman = G4SDManager::GetSDMpointer(); logicHead->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + G4cout <FindSensitiveDetector("BodyPartSD")->GetName()<< G4endl; + SDman->FindSensitiveDetector("BodyPartSD")->SetVerboseLevel(1); + } // Visualization Attributes - G4VisAttributes* HeadVisAtt = new G4VisAttributes(G4Colour(0.94,0.5,0.5)); - HeadVisAtt->SetForceSolid(false); - logicHead->SetVisAttributes(HeadVisAtt); - G4cout << "Head created for " << sex << "!!!!!!" << G4endl; + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* HeadVisAtt = new G4VisAttributes(colour); + + HeadVisAtt->SetForceSolid(wireFrame); + // HeadVisAtt->SetLineWidth(0.7* mm); + //HeadVisAtt-> SetForceAuxEdgeVisible(true); + logicHead->SetVisAttributes(HeadVisAtt); // Testing Head Volume G4double HeadVol = logicHead->GetSolid()->GetCubicVolume(); diff --git a/examples/advanced/human_phantom/src/G4MIRDHeart.cc b/examples/advanced/human_phantom/src/G4MIRDHeart.cc index 1cf5e16741..c04acdeb15 100644 --- a/examples/advanced/human_phantom/src/G4MIRDHeart.cc +++ b/examples/advanced/human_phantom/src/G4MIRDHeart.cc @@ -56,10 +56,12 @@ G4MIRDHeart::~G4MIRDHeart() } -G4VPhysicalVolume* G4MIRDHeart::ConstructHeart(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDHeart::Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool) { - G4cout << "ConstructHeart for " << sex << G4endl; - + + G4cout << " MIRD Heart is not available yet !!!! " << G4endl; + /* G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); G4Material* soft = material -> GetMaterial("soft_tissue"); delete material; @@ -132,4 +134,5 @@ G4VPhysicalVolume* G4MIRDHeart::ConstructHeart(G4VPhysicalVolume* mother, G4Stri return physHeart; + */ } diff --git a/examples/advanced/human_phantom/src/G4MIRDKidney.cc b/examples/advanced/human_phantom/src/G4MIRDLeftAdrenal.cc old mode 100644 new mode 100755 similarity index 57% rename from examples/advanced/human_phantom/src/G4MIRDKidney.cc rename to examples/advanced/human_phantom/src/G4MIRDLeftAdrenal.cc index b7d6c81e90..361bc2a571 --- a/examples/advanced/human_phantom/src/G4MIRDKidney.cc +++ b/examples/advanced/human_phantom/src/G4MIRDLeftAdrenal.cc @@ -32,7 +32,7 @@ // design and code review. // -#include "G4MIRDKidney.hh" +#include "G4MIRDLeftAdrenal.hh" #include "globals.hh" #include "G4SDManager.hh" @@ -49,60 +49,40 @@ #include "G4EllipticalTube.hh" #include "G4Box.hh" #include "G4UnionSolid.hh" - -G4MIRDKidney::G4MIRDKidney() +#include "G4HumanPhantomColour.hh" +G4MIRDLeftAdrenal::G4MIRDLeftAdrenal() { } -G4MIRDKidney::~G4MIRDKidney() +G4MIRDLeftAdrenal::~G4MIRDLeftAdrenal() { } -G4VPhysicalVolume* G4MIRDKidney::ConstructKidney(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDLeftAdrenal::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) { - G4cout << "ConstructKidney for " << sex << G4endl; + G4cout << "Construct "<< volumeName << G4endl; G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); G4Material* soft = material -> GetMaterial("soft_tissue"); delete material; - G4double ax= 4.05 *cm; - G4double by= 1.53 *cm; - G4double cz= 4.96 *cm; - G4double zcut1 =-4.96 *cm; - G4double zcut2 = 4.96*cm; - - G4VSolid* oneKidney = new G4Ellipsoid("OneKidney",ax, by, cz, - zcut1,zcut2); - - G4double xx = 4.96 * cm; - G4double yy = 20.00*cm; - G4double zz = 20.00*cm; - G4VSolid* subtrKidney = new G4Box("SubtrKidney",xx/2., yy/2., zz/2.); + G4double ax= 1.5 *cm; //a + G4double by= 0.5 *cm; //b + G4double cz= 5.0 *cm; //c - G4UnionSolid* unionKidney = new G4UnionSolid("UnionKidney", - oneKidney, - oneKidney,0, - G4ThreeVector(10.36 *cm, - 0.0 * cm, - 0.0 * cm)); - G4SubtractionSolid* kidney = new G4SubtractionSolid("Kidneys", - unionKidney, - subtrKidney, - 0, - G4ThreeVector(5.18 *cm, - 0.0 *cm, - 0.0 * cm)); - - G4LogicalVolume* logicKidney = new G4LogicalVolume(kidney, + G4VSolid* leftAdrenal = new G4Ellipsoid("OneLeftAdrenal",ax, by, cz, 0. *cm, cz); + + + G4LogicalVolume* logicLeftAdrenal = new G4LogicalVolume(leftAdrenal, soft, - "KidneyVolume", + "logical" + volumeName, 0, 0, 0); - G4VPhysicalVolume* physKidney = new G4PVPlacement(0 ,G4ThreeVector(-5.18*cm, - 5.88 *cm, - -2.25 *cm), - "physicalKidney", logicKidney, + G4VPhysicalVolume* physLeftAdrenal = new G4PVPlacement(0 ,G4ThreeVector(4.5*cm, // xo + 6.5 *cm, //yo + 3. *cm),//zo + "physicalLeftAdrenal", logicLeftAdrenal, mother, false, 0, true); @@ -111,32 +91,35 @@ G4VPhysicalVolume* G4MIRDKidney::ConstructKidney(G4VPhysicalVolume* mother, G4St if (sensitivity==true) { G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicKidney->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + logicLeftAdrenal->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); } // Visualization Attributes - G4VisAttributes* KidneyVisAtt = new G4VisAttributes(G4Colour(0.72,0.52,0.04)); - KidneyVisAtt->SetForceSolid(true); - logicKidney->SetVisAttributes(KidneyVisAtt); + // G4VisAttributes* LeftAdrenalVisAtt = new G4VisAttributes(G4Colour(0.72,0.52,0.04)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* LeftAdrenalVisAtt = new G4VisAttributes(colour); + LeftAdrenalVisAtt->SetForceSolid(wireFrame); + logicLeftAdrenal->SetVisAttributes(LeftAdrenalVisAtt); - G4cout << "Kidney created !!!!!!" << G4endl; + G4cout << "Left LeftAdrenal created !!!!!!" << G4endl; - // Testing Kidney Volume - G4double KidneyVol = logicKidney->GetSolid()->GetCubicVolume(); - G4cout << "Volume of Kidney = " << KidneyVol/cm3 << " cm^3" << G4endl; + // Testing LeftAdrenal Volume + G4double LeftAdrenalVol = logicLeftAdrenal->GetSolid()->GetCubicVolume(); + G4cout << "Volume of LeftAdrenal = " << LeftAdrenalVol/cm3 << " cm^3" << G4endl; - // Testing Kidney Material - G4String KidneyMat = logicKidney->GetMaterial()->GetName(); - G4cout << "Material of Kidney = " << KidneyMat << G4endl; + // Testing LeftAdrenal Material + G4String LeftAdrenalMat = logicLeftAdrenal->GetMaterial()->GetName(); + G4cout << "Material of LeftAdrenal = " << LeftAdrenalMat << G4endl; // Testing Density - G4double KidneyDensity = logicKidney->GetMaterial()->GetDensity(); - G4cout << "Density of Material = " << KidneyDensity*cm3/g << " g/cm^3" << G4endl; + G4double LeftAdrenalDensity = logicLeftAdrenal->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << LeftAdrenalDensity*cm3/g << " g/cm^3" << G4endl; // Testing Mass - G4double KidneyMass = (KidneyVol)*KidneyDensity; - G4cout << "Mass of Kidney = " << KidneyMass/gram << " g" << G4endl; + G4double LeftAdrenalMass = (LeftAdrenalVol)*LeftAdrenalDensity; + G4cout << "Mass of LeftAdrenal = " << LeftAdrenalMass/gram << " g" << G4endl; - return physKidney; + return physLeftAdrenal; } diff --git a/examples/advanced/human_phantom/src/G4MIRDArmBone.cc b/examples/advanced/human_phantom/src/G4MIRDLeftArmBone.cc similarity index 53% rename from examples/advanced/human_phantom/src/G4MIRDArmBone.cc rename to examples/advanced/human_phantom/src/G4MIRDLeftArmBone.cc index c9595471d3..ff8593d72e 100644 --- a/examples/advanced/human_phantom/src/G4MIRDArmBone.cc +++ b/examples/advanced/human_phantom/src/G4MIRDLeftArmBone.cc @@ -32,7 +32,7 @@ // design and code review. // -#include "G4MIRDArmBone.hh" +#include "G4MIRDLeftArmBone.hh" #include "globals.hh" #include "G4SDManager.hh" #include "G4VisAttributes.hh" @@ -43,79 +43,88 @@ #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" #include "G4UnionSolid.hh" +#include "G4EllipticalCone.hh" +#include "G4HumanPhantomColour.hh" -G4MIRDArmBone::G4MIRDArmBone() +G4MIRDLeftArmBone::G4MIRDLeftArmBone() { } -G4MIRDArmBone::~G4MIRDArmBone() +G4MIRDLeftArmBone::~G4MIRDLeftArmBone() { } -G4VPhysicalVolume* G4MIRDArmBone::ConstructArmBone(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDLeftArmBone::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) { + // Remind! the elliptical cone gives problems! Intersections of volumes, + // wrong calculation of the volume! G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); - G4cout << "ConstructArmBone for "<< sex < GetMaterial("skeleton"); delete material; - G4double dx = 1.21 * cm; - G4double dy = 2.65 * cm; - G4double dz= 31.10 * cm; + G4double dx = 1.4 * cm;//a + G4double dy = 2.7 * cm;//b + // G4double dz= 46. * cm;//z0 - G4EllipticalTube* arm = new G4EllipticalTube("OneArmBone",dx,dy,dz); - - G4UnionSolid* arms = new G4UnionSolid("ArmBone", arm, arm, - 0, - G4ThreeVector(31.74 * cm, 0.0, 0.0)); + //G4EllipticalCone* arm = new G4EllipticalCone("OneLeftArmBone",dx/2.,dy/2.,dz, 34.5 *cm); + G4EllipticalTube* leftArm = new G4EllipticalTube("OneLeftArmBone",dx,dy,34.5 *cm); - G4LogicalVolume* logicArmBone = new G4LogicalVolume(arms, + G4LogicalVolume* logicLeftArmBone = new G4LogicalVolume(leftArm, skeleton, - "ArmBoneVolume", + "logical" + volumeName, 0, 0,0); - G4VPhysicalVolume* physArmBone = new G4PVPlacement(0, - G4ThreeVector(-15.87 * cm, 0.0, 0.0), - "physicalArmBone", - logicArmBone, + G4RotationMatrix* matrix = new G4RotationMatrix(); + matrix -> rotateX(180. * degree); + + G4VPhysicalVolume* physLeftArmBone = new G4PVPlacement(matrix, + G4ThreeVector(18.4 * cm, 0.0, -0.5*cm), + //-x0 + "physicalLeftArmBone", + logicLeftArmBone, mother, - false, - 0); + false,0,true); + // Sensitive Body Part if (sensitivity==true) { G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicArmBone->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + logicLeftArmBone->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); } // Visualization Attributes - G4VisAttributes* ArmBoneVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); - ArmBoneVisAtt->SetForceSolid(true); - logicArmBone->SetVisAttributes(ArmBoneVisAtt); - G4cout << "ArmBone created !!!!!!" << G4endl; + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* LeftArmBoneVisAtt = new G4VisAttributes(colour); + LeftArmBoneVisAtt->SetForceSolid(wireFrame); + logicLeftArmBone->SetVisAttributes(LeftArmBoneVisAtt); + + G4cout << "LeftArmBone created !!!!!!" << G4endl; - // Testing ArmBone Volume - G4double ArmBoneVol = logicArmBone->GetSolid()->GetCubicVolume(); - G4cout << "Volume of ArmBone = " << ArmBoneVol/cm3 << " cm^3" << G4endl; + // Testing LeftArmBone Volume + G4double LeftArmBoneVol = logicLeftArmBone->GetSolid()->GetCubicVolume(); + G4cout << "Volume of LeftArmBone = " << LeftArmBoneVol/cm3 << " cm^3" << G4endl; - // Testing ArmBone Material - G4String ArmBoneMat = logicArmBone->GetMaterial()->GetName(); - G4cout << "Material of ArmBone = " << ArmBoneMat << G4endl; + // Testing LeftArmBone Material + G4String LeftArmBoneMat = logicLeftArmBone->GetMaterial()->GetName(); + G4cout << "Material of LeftArmBone = " << LeftArmBoneMat << G4endl; // Testing Density - G4double ArmBoneDensity = logicArmBone->GetMaterial()->GetDensity(); - G4cout << "Density of Material = " << ArmBoneDensity*cm3/g << " g/cm^3" << G4endl; + G4double LeftArmBoneDensity = logicLeftArmBone->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << LeftArmBoneDensity*cm3/g << " g/cm^3" << G4endl; // Testing Mass - G4double ArmBoneMass = (ArmBoneVol)*ArmBoneDensity; - G4cout << "Mass of ArmBone = " << ArmBoneMass/gram << " g" << G4endl; + G4double LeftArmBoneMass = (LeftArmBoneVol)*LeftArmBoneDensity; + G4cout << "Mass of LeftArmBone = " << LeftArmBoneMass/gram << " g" << G4endl; - return physArmBone; + return physLeftArmBone; } diff --git a/examples/advanced/human_phantom/src/G4MIRDBreast.cc b/examples/advanced/human_phantom/src/G4MIRDLeftBreast.cc similarity index 60% rename from examples/advanced/human_phantom/src/G4MIRDBreast.cc rename to examples/advanced/human_phantom/src/G4MIRDLeftBreast.cc index 2e21401af7..f025086035 100644 --- a/examples/advanced/human_phantom/src/G4MIRDBreast.cc +++ b/examples/advanced/human_phantom/src/G4MIRDLeftBreast.cc @@ -31,7 +31,7 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#include "G4MIRDBreast.hh" +#include "G4MIRDLeftBreast.hh" #include "globals.hh" #include "G4SDManager.hh" #include "G4VisAttributes.hh" @@ -47,18 +47,20 @@ #include "G4EllipticalTube.hh" #include "G4UnionSolid.hh" #include "G4SubtractionSolid.hh" +#include "G4HumanPhantomColour.hh" -G4MIRDBreast::G4MIRDBreast() +G4MIRDLeftBreast::G4MIRDLeftBreast() { } -G4MIRDBreast::~G4MIRDBreast() +G4MIRDLeftBreast::~G4MIRDLeftBreast() { } -G4VPhysicalVolume* G4MIRDBreast::ConstructBreast(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDLeftBreast::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) { - G4cout << "ConstructBreast for " << sex << G4endl; + G4cout << "Construct " << volumeName << G4endl; G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); G4Material* soft = material -> GetMaterial("soft_tissue"); @@ -67,81 +69,76 @@ G4VPhysicalVolume* G4MIRDBreast::ConstructBreast(G4VPhysicalVolume* mother, G4St G4double ax= 4.95* cm; G4double by= 4.35* cm; G4double cz= 4.15*cm; - G4double zcut1= -4.15 *cm; - G4double zcut2= 4.15*cm; - G4Ellipsoid* oneBreast = new G4Ellipsoid("OneBreast", - ax, by, cz, - zcut1, zcut2); + G4Ellipsoid* oneLeftBreast = new G4Ellipsoid("OneLeftBreast", + ax, by, cz); - G4double dx= 17.25* cm; - G4double dy= 9.80* cm; - G4double dz= 31.55*cm; + G4double dx= 20.* cm; + G4double dy= 10.* cm; + G4double dz= 35.*cm; G4EllipticalTube* Trunk = new G4EllipticalTube("Trunk",dx, dy, dz ); - /* - G4UnionSolid* BreastUnion = new G4UnionSolid("BreastUnion", - oneBreast,oneBreast, - 0, - G4ThreeVector(17.26*cm, - 0. *cm, - 0. *cm)); - */ + G4RotationMatrix* rm_relative = new G4RotationMatrix(); rm_relative -> rotateX(90. * degree); - G4SubtractionSolid* breast = new G4SubtractionSolid("Breast", - oneBreast, + G4SubtractionSolid* breast = new G4SubtractionSolid("LeftBreast", + oneLeftBreast, Trunk, rm_relative, - G4ThreeVector(8.63*cm, + G4ThreeVector(-10.*cm, 0.0*cm, - -8.4854*cm)); + -8.66*cm)); - G4LogicalVolume* logicBreast = new G4LogicalVolume(breast, soft,"BreastVolume", 0, 0,0); + G4LogicalVolume* logicLeftBreast = new G4LogicalVolume(breast, soft, + "logical" + volumeName, 0, 0,0); // Define rotation and position here! - G4VPhysicalVolume* physBreast = new G4PVPlacement(0,G4ThreeVector(-8.63*cm, 46.87* cm, 8.4854 *cm), - "physicalBreast", - logicBreast, + G4VPhysicalVolume* physLeftBreast = new G4PVPlacement(0,G4ThreeVector(10*cm, 52.* cm, 8.66 *cm), + "physicalLeftBreast", + logicLeftBreast, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) { G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicBreast->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + logicLeftBreast->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); } // Visualization Attributes - G4VisAttributes* BreastVisAtt = new G4VisAttributes(G4Colour(1.0,0.41,0.71)); - BreastVisAtt->SetForceSolid(true); - logicBreast->SetVisAttributes(BreastVisAtt); + //G4VisAttributes* LeftBreastVisAtt = new G4VisAttributes(G4Colour(1.0,0.41,0.71)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* LeftBreastVisAtt = new G4VisAttributes(colour); + LeftBreastVisAtt->SetForceSolid(wireFrame); + + logicLeftBreast->SetVisAttributes(LeftBreastVisAtt); - G4cout << "Breast created !!!!!!" << G4endl; + G4cout << "LeftBreast created !!!!!!" << G4endl; - // Testing Breast Volume - G4double BreastVol = logicBreast->GetSolid()->GetCubicVolume(); - G4cout << "Volume of Breast = " << BreastVol/cm3 << " cm^3" << G4endl; + // Testing LeftBreast Volume + G4double LeftBreastVol = logicLeftBreast->GetSolid()->GetCubicVolume(); + G4cout << "Volume of LeftBreast = " << LeftBreastVol/cm3 << " cm^3" << G4endl; - // Testing Breast Material - G4String BreastMat = logicBreast->GetMaterial()->GetName(); - G4cout << "Material of Breast = " << BreastMat << G4endl; + // Testing LeftBreast Material + G4String LeftBreastMat = logicLeftBreast->GetMaterial()->GetName(); + G4cout << "Material of LeftBreast = " << LeftBreastMat << G4endl; // Testing Density - G4double BreastDensity = logicBreast->GetMaterial()->GetDensity(); - G4cout << "Density of Material = " << BreastDensity*cm3/g << " g/cm^3" << G4endl; + G4double LeftBreastDensity = logicLeftBreast->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << LeftBreastDensity*cm3/g << " g/cm^3" << G4endl; // Testing Mass - G4double BreastMass = (BreastVol)*BreastDensity; - G4cout << "Mass of Breast = " << BreastMass/gram << " g" << G4endl; + G4double LeftBreastMass = (LeftBreastVol)*LeftBreastDensity; + G4cout << "Mass of LeftBreast = " << LeftBreastMass/gram << " g" << G4endl; - return physBreast; + return physLeftBreast; } diff --git a/examples/advanced/human_phantom/src/G4MIRDLeftKidney.cc b/examples/advanced/human_phantom/src/G4MIRDLeftKidney.cc new file mode 100644 index 0000000000..16f49c9e23 --- /dev/null +++ b/examples/advanced/human_phantom/src/G4MIRDLeftKidney.cc @@ -0,0 +1,137 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// + +#include "G4MIRDLeftKidney.hh" + +#include "globals.hh" +#include "G4SDManager.hh" +#include "G4VisAttributes.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4SDManager.hh" +#include "G4PVPlacement.hh" +#include "G4SubtractionSolid.hh" +#include "G4Ellipsoid.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" +#include "G4RotationMatrix.hh" +#include "G4Material.hh" +#include "G4EllipticalTube.hh" +#include "G4Box.hh" +#include "G4UnionSolid.hh" +#include "G4HumanPhantomColour.hh" +G4MIRDLeftKidney::G4MIRDLeftKidney() +{ +} + +G4MIRDLeftKidney::~G4MIRDLeftKidney() +{ +} + +G4VPhysicalVolume* G4MIRDLeftKidney::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) +{ + G4cout << "Construct "<< volumeName << G4endl; + + G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); + G4Material* soft = material -> GetMaterial("soft_tissue"); + delete material; + + G4double ax= 4.5 *cm; //a + G4double by= 1.5 *cm; //b + G4double cz= 5.5 *cm; //c + + G4VSolid* oneLeftKidney = new G4Ellipsoid("OneLeftKidney",ax, by, cz); + + G4double xx = 6. * cm; + G4double yy = 12.00*cm; + G4double zz = 12.00*cm; + G4VSolid* subtrLeftKidney = new G4Box("SubtrLeftKidney",xx/2., yy/2., zz/2.); + + G4SubtractionSolid* leftKidney = new G4SubtractionSolid("LeftKidney", + oneLeftKidney, + subtrLeftKidney, + 0, + G4ThreeVector(-6. *cm, // x0 + 0.0 *cm, + 0.0 * cm)); + + G4LogicalVolume* logicLeftKidney = new G4LogicalVolume(leftKidney, + soft, + "logical" + volumeName, + 0, 0, 0); + + G4VPhysicalVolume* physLeftKidney = new G4PVPlacement(0 ,G4ThreeVector(6.*cm, // xo + 6. *cm, //yo + -2.50 *cm),//zo + "physicalLeftKidney", logicLeftKidney, + mother, + false, + 0, true); + + // Sensitive Body Part + if (sensitivity==true) + { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + logicLeftKidney->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + } + + // Visualization Attributes + // G4VisAttributes* LeftKidneyVisAtt = new G4VisAttributes(G4Colour(0.72,0.52,0.04)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* LeftKidneyVisAtt = new G4VisAttributes(colour); + LeftKidneyVisAtt->SetForceSolid(wireFrame); + logicLeftKidney->SetVisAttributes(LeftKidneyVisAtt); + + G4cout << "Left LeftKidney created !!!!!!" << G4endl; + + // Testing LeftKidney Volume + G4double LeftKidneyVol = logicLeftKidney->GetSolid()->GetCubicVolume(); + G4cout << "Volume of LeftKidney = " << LeftKidneyVol/cm3 << " cm^3" << G4endl; + + // Testing LeftKidney Material + G4String LeftKidneyMat = logicLeftKidney->GetMaterial()->GetName(); + G4cout << "Material of LeftKidney = " << LeftKidneyMat << G4endl; + + // Testing Density + G4double LeftKidneyDensity = logicLeftKidney->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << LeftKidneyDensity*cm3/g << " g/cm^3" << G4endl; + + // Testing Mass + G4double LeftKidneyMass = (LeftKidneyVol)*LeftKidneyDensity; + G4cout << "Mass of LeftKidney = " << LeftKidneyMass/gram << " g" << G4endl; + + + return physLeftKidney; +} diff --git a/examples/advanced/human_phantom/src/G4MIRDLegs.cc b/examples/advanced/human_phantom/src/G4MIRDLeftLeg.cc similarity index 62% rename from examples/advanced/human_phantom/src/G4MIRDLegs.cc rename to examples/advanced/human_phantom/src/G4MIRDLeftLeg.cc index c55a233872..57ec1b0edf 100644 --- a/examples/advanced/human_phantom/src/G4MIRDLegs.cc +++ b/examples/advanced/human_phantom/src/G4MIRDLeftLeg.cc @@ -31,7 +31,7 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#include "G4MIRDLegs.hh" +#include "G4MIRDLeftLeg.hh" #include "globals.hh" @@ -46,29 +46,31 @@ #include "G4RotationMatrix.hh" #include "G4LogicalVolume.hh" #include "G4PVPlacement.hh" -#include "G4IntersectionSolid.hh" +#include "G4UnionSolid.hh" +#include "G4HumanPhantomColour.hh" -G4MIRDLegs::G4MIRDLegs() +G4MIRDLeftLeg::G4MIRDLeftLeg() { } -G4MIRDLegs::~G4MIRDLegs() +G4MIRDLeftLeg::~G4MIRDLeftLeg() { } -G4VPhysicalVolume* G4MIRDLegs::ConstructLegs(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDLeftLeg::Construct(const G4String& volumeName, G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity) { - G4cout << "ConstructLegs for "< GetMaterial("soft_tissue"); G4double rmin1 = 0.* cm; G4double rmin2 = 0.* cm; - G4double dz= 78.0 * cm; - G4double rmax1= 4.0 * cm; - G4double rmax2= 17.25 * cm; + G4double dz= 80.0 * cm; + G4double rmax1= 2.0 * cm; + G4double rmax2= 10. * cm; G4double startphi= 0.* degree; G4double deltaphi= 360. * degree; @@ -77,61 +79,56 @@ G4VPhysicalVolume* G4MIRDLegs::ConstructLegs(G4VPhysicalVolume* mother, G4String rmin2, rmax2, dz/2., startphi, deltaphi); - G4double dxx = 17.25 * cm; - G4double dyy = 9.80 * cm; - G4double dzz = 78. * cm; - - G4EllipticalTube* trunk1 = new G4EllipticalTube("Trunk_Leg", dxx, dyy, dzz); - - G4IntersectionSolid* intersection = new G4IntersectionSolid("Legs", - leg1, trunk1); - - G4LogicalVolume* logicLegs = new G4LogicalVolume(intersection, + G4LogicalVolume* logicLeftLeg = new G4LogicalVolume(leg1, soft, - "LegsVolume", + "logical" + volumeName, 0, 0, 0); G4RotationMatrix* rm = new G4RotationMatrix(); rm -> rotateX(90.* degree); - G4VPhysicalVolume* physLegs = new G4PVPlacement(rm, - G4ThreeVector(0. * cm, -39.00001 * cm, 0. *cm), - "physicalLegs", - logicLegs, + G4VPhysicalVolume* physLeftLeg = new G4PVPlacement(rm, + + G4ThreeVector(10. * cm, -40. * cm, 0. *cm), + "physicalLeftLeg", + logicLeftLeg, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity == true) { G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicLegs->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + logicLeftLeg->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); } // Visualization Attributes - G4VisAttributes* LegsVisAtt = new G4VisAttributes(G4Colour(0.94,0.5,0.5)); - LegsVisAtt->SetForceSolid(false); - logicLegs->SetVisAttributes(LegsVisAtt); + //G4VisAttributes* LeftLegVisAtt = new G4VisAttributes(G4Colour(0.94,0.5,0.5)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* LeftLegVisAtt = new G4VisAttributes(colour); + LeftLegVisAtt->SetForceSolid(wireFrame); + logicLeftLeg->SetVisAttributes(LeftLegVisAtt); - G4cout << "Legs created !!!!!!" << G4endl; + G4cout << "LeftLeg created !!!!!!" << G4endl; - // Testing Legs Volume - G4double LegsVol = logicLegs->GetSolid()->GetCubicVolume(); - G4cout << "Volume of Legs = " << LegsVol/cm3 << " cm^3" << G4endl; + // Testing LeftLeg Volume + G4double LeftLegVol = logicLeftLeg->GetSolid()->GetCubicVolume(); + G4cout << "Volume of LeftLeg = " << LeftLegVol/cm3 << " cm^3" << G4endl; - // Testing Legs Material - G4String LegsMat = logicLegs->GetMaterial()->GetName(); - G4cout << "Material of Legs = " << LegsMat << G4endl; + // Testing LeftLeg Material + G4String LeftLegMat = logicLeftLeg->GetMaterial()->GetName(); + G4cout << "Material of LeftLeg = " << LeftLegMat << G4endl; // Testing Density - G4double LegsDensity = logicLegs->GetMaterial()->GetDensity(); - G4cout << "Density of Material = " << LegsDensity*cm3/g << " g/cm^3" << G4endl; + G4double LeftLegDensity = logicLeftLeg->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << LeftLegDensity*cm3/g << " g/cm^3" << G4endl; // Testing Mass - G4double LegsMass = (LegsVol)*LegsDensity; - G4cout << "Mass of Legs = " << LegsMass/gram << " g" << G4endl; + G4double LeftLegMass = (LeftLegVol)*LeftLegDensity; + G4cout << "Mass of LeftLeg = " << LeftLegMass/gram << " g" << G4endl; - return physLegs; + return physLeftLeg; } diff --git a/examples/advanced/human_phantom/src/G4MIRDLegBone.cc b/examples/advanced/human_phantom/src/G4MIRDLeftLegBone.cc similarity index 58% rename from examples/advanced/human_phantom/src/G4MIRDLegBone.cc rename to examples/advanced/human_phantom/src/G4MIRDLeftLegBone.cc index d45d5b30c4..7b92b1c751 100644 --- a/examples/advanced/human_phantom/src/G4MIRDLegBone.cc +++ b/examples/advanced/human_phantom/src/G4MIRDLeftLegBone.cc @@ -32,7 +32,7 @@ // design and code review. // -#include "G4MIRDLegBone.hh" +#include "G4MIRDLeftLegBone.hh" #include "globals.hh" #include "G4SDManager.hh" @@ -45,95 +45,88 @@ #include "G4PVPlacement.hh" #include "G4Cons.hh" #include "G4UnionSolid.hh" +#include "G4HumanPhantomColour.hh" -G4MIRDLegBone::G4MIRDLegBone() +G4MIRDLeftLegBone::G4MIRDLeftLegBone() { } -G4MIRDLegBone::~G4MIRDLegBone() +G4MIRDLeftLegBone::~G4MIRDLeftLegBone() { } -G4VPhysicalVolume* G4MIRDLegBone::ConstructLegBone(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDLeftLegBone::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity) { G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); - G4cout << "ConstructArmBone for "<< sex < GetMaterial("skeleton"); delete material; - G4double dz = 76. * cm; + G4double dz = 79.8 * cm; G4double rmin1 = 0.0 * cm; G4double rmin2 = 0.0 * cm; - G4double rmax1 = 1.0 * cm; - G4double rmax2 = 2.0 * cm; - G4double startphi = 0 * degree; - G4double deltaphi = 360 * degree; + G4double rmax1 = 1. * cm; + G4double rmax2 = 3.5 * cm; + G4double startphi = 0. * degree; + G4double deltaphi = 360. * degree; - G4Cons* leg_bone = new G4Cons("OneLegBone", + G4Cons* leg_bone = new G4Cons("OneLeftLegBone", rmin1, rmax1, rmin2, rmax2, dz/2., startphi, deltaphi); - G4RotationMatrix* rm_relative = new G4RotationMatrix(); - rm_relative -> rotateY(-12.5 * degree); - - G4UnionSolid* legs_bones = new G4UnionSolid("LegBone", - leg_bone, leg_bone, - rm_relative, - G4ThreeVector(10.* cm, 0.0,-0.95 * cm)); - - - G4LogicalVolume* logicLegBone = new G4LogicalVolume(legs_bones, skeleton,"LegBoneVolume", + G4LogicalVolume* logicLeftLegBone = new G4LogicalVolume(leg_bone, skeleton,"logical" + volumeName, 0, 0, 0); - G4RotationMatrix* rm = new G4RotationMatrix(); - rm -> rotateY(6.25 * degree); - - // Define rotation and position here! - G4VPhysicalVolume* physLegBone = new G4PVPlacement(rm, - G4ThreeVector(-5.0 * cm, 0.0, 0.0), - "physicalLegBone", - logicLegBone, + G4VPhysicalVolume* physLeftLegBone = new G4PVPlacement(0, + G4ThreeVector(0.0 * cm, 0.0, 0.1*cm), + "physicalLeftLegBone", + logicLeftLegBone, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) { G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicLegBone->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + logicLeftLegBone->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); } // Visualization Attributes - G4VisAttributes* LegBoneVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); - LegBoneVisAtt->SetForceSolid(true); - logicLegBone->SetVisAttributes(LegBoneVisAtt); + //G4VisAttributes* LeftLegBoneVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* LeftLegBoneVisAtt = new G4VisAttributes(colour); + + LeftLegBoneVisAtt->SetForceSolid(wireFrame); + logicLeftLegBone->SetVisAttributes(LeftLegBoneVisAtt); - G4cout << "LegBone created !!!!!!" << G4endl; + G4cout << "LeftLegBone created !!!!!!" << G4endl; - // Testing LegBone Volume - G4double LegBoneVol = logicLegBone->GetSolid()->GetCubicVolume(); - G4cout << "Volume of LegBone = " << LegBoneVol/cm3 << " cm^3" << G4endl; + // Testing LeftLegBone Volume + G4double LeftLegBoneVol = logicLeftLegBone->GetSolid()->GetCubicVolume(); + G4cout << "Volume of LeftLegBone = " << LeftLegBoneVol/cm3 << " cm^3" << G4endl; - // Testing LegBone Material - G4String LegBoneMat = logicLegBone->GetMaterial()->GetName(); - G4cout << "Material of LegBone = " << LegBoneMat << G4endl; + // Testing LeftLegBone Material + G4String LeftLegBoneMat = logicLeftLegBone->GetMaterial()->GetName(); + G4cout << "Material of LeftLegBone = " << LeftLegBoneMat << G4endl; // Testing Density - G4double LegBoneDensity = logicLegBone->GetMaterial()->GetDensity(); - G4cout << "Density of Material = " << LegBoneDensity*cm3/g << " g/cm^3" << G4endl; + G4double LeftLegBoneDensity = logicLeftLegBone->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << LeftLegBoneDensity*cm3/g << " g/cm^3" << G4endl; // Testing Mass - G4double LegBoneMass = (LegBoneVol)*LegBoneDensity; - G4cout << "Mass of LegBone = " << LegBoneMass/gram << " g" << G4endl; + G4double LeftLegBoneMass = (LeftLegBoneVol)*LeftLegBoneDensity; + G4cout << "Mass of LeftLegBone = " << LeftLegBoneMass/gram << " g" << G4endl; - return physLegBone; + return physLeftLegBone; } diff --git a/examples/advanced/human_phantom/src/G4MIRDLeftLung.cc b/examples/advanced/human_phantom/src/G4MIRDLeftLung.cc new file mode 100644 index 0000000000..ef0228e1f5 --- /dev/null +++ b/examples/advanced/human_phantom/src/G4MIRDLeftLung.cc @@ -0,0 +1,161 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#include "G4MIRDLeftLung.hh" +#include "globals.hh" +#include "G4SDManager.hh" +#include "G4VisAttributes.hh" +#include "G4Ellipsoid.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" +#include "G4RotationMatrix.hh" +#include "G4Material.hh" +#include "G4LogicalVolume.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4UnionSolid.hh" +#include "G4SubtractionSolid.hh" +#include "G4Box.hh" +#include "G4HumanPhantomColour.hh" + +G4MIRDLeftLung::G4MIRDLeftLung() +{ +} + +G4MIRDLeftLung::~G4MIRDLeftLung() +{ + +} + +G4VPhysicalVolume* G4MIRDLeftLung::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity) +{ + + G4cout << "Construct " << volumeName << G4endl; + + G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); + G4Material* lung_material = material -> GetMaterial("lung_material"); + delete material; + + G4double ax = 5. *cm; //a + G4double by = 7.5 *cm; //b + G4double cz = 24.*cm; //c + G4double zcut1 = 0.0 *cm; + G4double zcut2=24. *cm; + + G4Ellipsoid* oneLung = new G4Ellipsoid("OneLung",ax, by, cz, zcut1,zcut2); + + ax= 5.*cm; + by= 7.5*cm; + cz= 24.*cm; + + + G4Ellipsoid* subtrLung = new G4Ellipsoid("subtrLung",ax, by, cz); + + // y<0 + + G4double dx = 5.5* cm; + G4double dy = 8.5 * cm; + G4double dz = 24. * cm; + + G4Box* box = new G4Box("Box", dx, dy, dz); + + + //G4SubtractionSolid* section = new G4SubtractionSolid("BoxSub", subtrLung, box, 0, G4ThreeVector(0.*cm, 8.5* cm, 0.*cm)); +G4SubtractionSolid* section2 = new G4SubtractionSolid("BoxSub2", subtrLung, box, 0, G4ThreeVector(0.*cm, 8.5* cm, 0.*cm)); + +//G4SubtractionSolid* lung1 = new G4SubtractionSolid("Lung1", oneLung, +// section, +// 0, G4ThreeVector(6.*cm,0*cm,0.0*cm)); + + G4SubtractionSolid* lung2 = new G4SubtractionSolid("Lung2", oneLung, + section2, + 0, G4ThreeVector(-6.*cm,0*cm,0.0*cm)); + + // G4RotationMatrix* matrix = new G4RotationMatrix(); + // matrix->rotateX(180. * degree); + //matrix ->rotateZ(180.*degree); + //matrix -> rotateY(180.* degree); + + //G4UnionSolid* lungs = new G4UnionSolid("Lungs", lung1, lung2, matrix, G4ThreeVector(17*cm, 0., 0.)); + + + G4LogicalVolume* logicLeftLung = new G4LogicalVolume(lung2,lung_material, + "logical" + volumeName, 0, 0, 0); + + + G4VPhysicalVolume* physLeftLung = new G4PVPlacement(0,G4ThreeVector(8.50 *cm, 0.0*cm, 8.5*cm), + "physicalLeftLung", + logicLeftLung, + mother, + false, + 0, true); + + + // Sensitive Body Part + if (sensitivity==true) + { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + logicLeftLung->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + } + + // Visualization Attributes + //G4VisAttributes* LeftLungVisAtt = new G4VisAttributes(G4Colour(0.25,0.41,0.88)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* LeftLungVisAtt = new G4VisAttributes(colour); + LeftLungVisAtt->SetForceSolid(wireFrame); + logicLeftLung->SetVisAttributes(LeftLungVisAtt); + + G4cout << "LeftLung created !!!!!!" << G4endl; + + // Testing LeftLung Volume + G4double LeftLungVol = logicLeftLung->GetSolid()->GetCubicVolume(); + + G4cout << "Volume of LeftLung = " << (LeftLungVol)/cm3 << " cm^3" << G4endl; + + // Testing LeftLung Material + G4String LeftLungMat = logicLeftLung->GetMaterial()->GetName(); + G4cout << "Material of LeftLung = " << LeftLungMat << G4endl; + + // Testing Density + G4double LeftLungDensity = logicLeftLung->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << LeftLungDensity*cm3/g << " g/cm^3" << G4endl; + + // Testing Mass + G4double LeftLungMass = (LeftLungVol)*LeftLungDensity; + G4cout << "Mass of LeftLung = " << LeftLungMass/gram << " g" << G4endl; + + return physLeftLung; +} diff --git a/examples/advanced/human_phantom/src/G4MIRDLung.cc b/examples/advanced/human_phantom/src/G4MIRDLeftOvary.cc similarity index 55% rename from examples/advanced/human_phantom/src/G4MIRDLung.cc rename to examples/advanced/human_phantom/src/G4MIRDLeftOvary.cc index 22dbfe9d77..ea66b240fb 100644 --- a/examples/advanced/human_phantom/src/G4MIRDLung.cc +++ b/examples/advanced/human_phantom/src/G4MIRDLeftOvary.cc @@ -31,9 +31,11 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#include "G4MIRDLung.hh" -#include "globals.hh" +#include "G4MIRDLeftOvary.hh" #include "G4SDManager.hh" + +#include "globals.hh" + #include "G4VisAttributes.hh" #include "G4Ellipsoid.hh" #include "G4ThreeVector.hh" @@ -45,54 +47,43 @@ #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" #include "G4UnionSolid.hh" -#include "G4SubtractionSolid.hh" - -G4MIRDLung::G4MIRDLung() +#include "G4HumanPhantomColour.hh" +G4MIRDLeftOvary::G4MIRDLeftOvary() { } -G4MIRDLung::~G4MIRDLung() +G4MIRDLeftOvary::~G4MIRDLeftOvary() { } -G4VPhysicalVolume* G4MIRDLung::ConstructLung(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - - G4cout << "ConstructLungs for " << sex << G4endl; +G4VPhysicalVolume* G4MIRDLeftOvary::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) +{ + G4cout << "Construct "<< volumeName << G4endl; G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); - G4Material* lung_material = material -> GetMaterial("lung_material"); + G4Material* soft = material -> GetMaterial("soft_tissue"); delete material; - - G4double ax = 4.09 *cm; - G4double by = 6.98 *cm; - G4double cz = 20.55*cm; - G4double zcut1 = 0.0 *cm; - G4double zcut2=20.55 *cm; - G4Ellipsoid* oneLung = new G4Ellipsoid("OneLung",ax, by, cz, zcut1,zcut2); - - ax= 5.0*cm; - by= 7.0*cm; - cz= 20.55*cm; + G4double ax= 1. *cm; + G4double by= 0.5*cm; + G4double cz= 2.*cm; - G4Ellipsoid* subtrLung = new G4Ellipsoid("subtrLung",ax, by, cz); + G4Ellipsoid* OneOvary = new G4Ellipsoid("OneOvary", + ax, by, cz); - G4UnionSolid* lung1 = new G4UnionSolid("Lung1", oneLung, oneLung,0, - G4ThreeVector(14.66*cm, 0.0*cm,0.*cm)); - G4SubtractionSolid* lung = new G4SubtractionSolid("Lung", lung1, - subtrLung, - 0, G4ThreeVector(7.50*cm,-4.0*cm,0.0)); - - G4LogicalVolume* logicLung = new G4LogicalVolume(lung,lung_material, - "LungVolume", 0, 0, 0); + G4LogicalVolume* logicLeftOvary = new G4LogicalVolume(OneOvary, + soft, + "logical" + volumeName, + 0, 0, 0); - - G4VPhysicalVolume* physLung = new G4PVPlacement(0,G4ThreeVector(-7.33 *cm, 0.0*cm, 7.66*cm), - "physicalLung", - logicLung, + // Define rotation and position here! + G4VPhysicalVolume* physLeftOvary = new G4PVPlacement(0, + G4ThreeVector(-6. *cm,0.0*cm, -20*cm), + "physicalLeftOvary", + logicLeftOvary, mother, false, 0, true); @@ -101,31 +92,38 @@ G4VPhysicalVolume* G4MIRDLung::ConstructLung(G4VPhysicalVolume* mother, G4String if (sensitivity==true) { G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicLung->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + logicLeftOvary->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + G4cout<< SDman->FindSensitiveDetector("BodyPartSD")->GetName()<< G4endl; + SDman->FindSensitiveDetector("BodyPartSD")->SetVerboseLevel(1); } // Visualization Attributes - G4VisAttributes* LungVisAtt = new G4VisAttributes(G4Colour(0.25,0.41,0.88)); - LungVisAtt->SetForceSolid(true); - logicLung->SetVisAttributes(LungVisAtt); + //G4VisAttributes* LeftOvaryVisAtt = new G4VisAttributes(G4Colour(0.85,0.44,0.84)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + delete colourPointer; - G4cout << "Lung created !!!!!!" << G4endl; + G4VisAttributes* LeftOvaryVisAtt = new G4VisAttributes(colour); + LeftOvaryVisAtt->SetForceSolid(wireFrame); + logicLeftOvary->SetVisAttributes(LeftOvaryVisAtt); - // Testing Lung Volume - G4double LungVol = logicLung->GetSolid()->GetCubicVolume(); - G4cout << "Volume of Lung = " << LungVol/cm3 << " cm^3" << G4endl; + G4cout << "LeftOvary created !!!!!!" << G4endl; + + // Testing LeftOvary Volume + G4double LeftOvaryVol = logicLeftOvary->GetSolid()->GetCubicVolume(); + G4cout << "Volume of LeftOvary = " << LeftOvaryVol/cm3 << " cm^3" << G4endl; - // Testing Lung Material - G4String LungMat = logicLung->GetMaterial()->GetName(); - G4cout << "Material of Lung = " << LungMat << G4endl; + // Testing LeftOvary Material + G4String LeftOvaryMat = logicLeftOvary->GetMaterial()->GetName(); + G4cout << "Material of LeftOvary = " << LeftOvaryMat << G4endl; // Testing Density - G4double LungDensity = logicLung->GetMaterial()->GetDensity(); - G4cout << "Density of Material = " << LungDensity*cm3/g << " g/cm^3" << G4endl; + G4double LeftOvaryDensity = logicLeftOvary->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << LeftOvaryDensity*cm3/g << " g/cm^3" << G4endl; // Testing Mass - G4double LungMass = (LungVol)*LungDensity; - G4cout << "Mass of Lung = " << LungMass/gram << " g" << G4endl; + G4double LeftOvaryMass = (LeftOvaryVol)*LeftOvaryDensity; + G4cout << "Mass of LeftOvary = " << LeftOvaryMass/gram << " g" << G4endl; - return physLung; + return physLeftOvary; } diff --git a/examples/advanced/human_phantom/src/G4MIRDLeftScapula.cc b/examples/advanced/human_phantom/src/G4MIRDLeftScapula.cc new file mode 100755 index 0000000000..5ae06e1105 --- /dev/null +++ b/examples/advanced/human_phantom/src/G4MIRDLeftScapula.cc @@ -0,0 +1,164 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#include "G4MIRDLeftScapula.hh" + +#include "globals.hh" + +#include "G4SDManager.hh" +#include "G4Cons.hh" + +#include "G4VisAttributes.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4EllipticalTube.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" +#include "G4RotationMatrix.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4SubtractionSolid.hh" +#include "G4HumanPhantomColour.hh" +#include "G4Box.hh" + +G4MIRDLeftScapula::G4MIRDLeftScapula() +{ +} + +G4MIRDLeftScapula::~G4MIRDLeftScapula() +{ +} + +G4VPhysicalVolume* G4MIRDLeftScapula::Construct(const G4String& volumeName, G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity) +{ + + G4cout << "Construct"<< volumeName << G4endl; + + G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); + G4Material* skeleton = material -> GetMaterial("skeleton"); + + G4double ax_in = 17.* cm; + G4double by_in = 9.8* cm; + G4double ax_out = 19.*cm; + G4double by_out = 9.8*cm; + G4double dz= 16.4* cm; + + + G4EllipticalTube* inner_scapula = new G4EllipticalTube("ScapulaIn", ax_in, by_in, (dz+ 1.*cm)/2); + G4EllipticalTube* outer_scapula = new G4EllipticalTube("ScapulaOut", ax_out, by_out, dz/2); + + + + + G4Box* subtraction = new G4Box("subtraction",ax_out, ax_out, ax_out); + + G4double xx = ax_out * 0.242 ; //(sin 14deg) + G4double yy = - ax_out * 0.97; // (cos 14 deg) + + G4RotationMatrix* rm = new G4RotationMatrix(); + rm -> rotateZ(-14.* degree); + + + + G4SubtractionSolid* scapula_first = new G4SubtractionSolid("Scapula_first", + outer_scapula, + subtraction, + rm, + G4ThreeVector(xx, yy, 0. *cm)); + + G4double xx2 = -ax_out * 0.62470 ; //(cos 51.34deg) + G4double yy2 = ax_out * 0.78087; // (sin 51.34 deg) + + G4RotationMatrix* rm2 = new G4RotationMatrix(); + rm2 -> rotateZ(-38.6598* degree); + + + G4SubtractionSolid* scapula_bone = new G4SubtractionSolid("Scapula", + scapula_first, + subtraction, + rm2, + G4ThreeVector(xx2, yy2, 0. *cm)); + + G4SubtractionSolid* scapula = new G4SubtractionSolid("Scapula", + scapula_bone, + inner_scapula); + + G4LogicalVolume* logicLeftScapula = new G4LogicalVolume(scapula, + skeleton, + "logical" + volumeName, + 0, 0, 0); + + G4VPhysicalVolume* physLeftScapula = new G4PVPlacement(0, + + G4ThreeVector(0. * cm, 0. * cm, 24.1 *cm), + "physicalLeftScapula", + logicLeftScapula, + mother, + false, + 0, true); + + if (sensitivity == true) + { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + logicLeftScapula->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + } + + // Visualization Attributes + //G4VisAttributes* LeftScapulaVisAtt = new G4VisAttributes(G4Colour(0.94,0.5,0.5)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* LeftScapulaVisAtt = new G4VisAttributes(colour); + LeftScapulaVisAtt->SetForceSolid(wireFrame); + logicLeftScapula->SetVisAttributes(LeftScapulaVisAtt); + + G4cout << "LeftScapula created !!!!!!" << G4endl; + + // Testing LeftScapula Volume + G4double LeftScapulaVol = logicLeftScapula->GetSolid()->GetCubicVolume(); + G4cout << "Volume of LeftScapula = " << LeftScapulaVol/cm3 << " cm^3" << G4endl; + + // Testing LeftScapula Material + G4String LeftScapulaMat = logicLeftScapula->GetMaterial()->GetName(); + G4cout << "Material of LeftScapula = " << LeftScapulaMat << G4endl; + + // Testing Density + G4double LeftScapulaDensity = logicLeftScapula->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << LeftScapulaDensity*cm3/g << " g/cm^3" << G4endl; + + // Testing Mass + G4double LeftScapulaMass = (LeftScapulaVol)*LeftScapulaDensity; + G4cout << "Mass of LeftScapula = " << LeftScapulaMass/gram << " g" << G4endl; + + + return physLeftScapula; +} diff --git a/examples/advanced/human_phantom/src/G4MIRDLiver.cc b/examples/advanced/human_phantom/src/G4MIRDLiver.cc index e0c2e7044b..7742ab894a 100644 --- a/examples/advanced/human_phantom/src/G4MIRDLiver.cc +++ b/examples/advanced/human_phantom/src/G4MIRDLiver.cc @@ -32,11 +32,8 @@ // design and code review. // #include "G4MIRDLiver.hh" - #include "globals.hh" - #include "G4SDManager.hh" - #include "G4VisAttributes.hh" #include "G4HumanPhantomMaterial.hh" #include "G4SDManager.hh" @@ -49,7 +46,7 @@ #include "G4Material.hh" #include "G4EllipticalTube.hh" #include "G4Box.hh" - +#include G4MIRDLiver::G4MIRDLiver() { } @@ -59,85 +56,92 @@ G4MIRDLiver::~G4MIRDLiver() } -G4VPhysicalVolume* G4MIRDLiver::ConstructLiver(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDLiver::Construct(const G4String&,G4VPhysicalVolume*, + const G4String&, G4bool, G4bool) { - G4cout << "ConstructLiver for " << sex << G4endl; + G4cout << "MIRD Liver is not available yet !!!" << G4endl; - G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); - G4Material* soft = material -> GetMaterial("soft_tissue"); - delete material; +// G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); +// G4Material* soft = material -> GetMaterial("soft_tissue"); +// delete material; - G4double dx= 14.19 *cm; - G4double dy= 7.84 *cm; - G4double dz= 7.21* cm; +// G4double dx= 14.19 *cm; //a +// G4double dy= 7.84 *cm; //b +// G4double dz= 7.21* cm; //(z2-z1)/2 - //G4double dx = 16.5 * cm; - //G4double dy = 8. *cm; - //G4double dz = 8. *cm; - G4EllipticalTube* firstLiver = new G4EllipticalTube("FirstLiver",dx, dy, dz); +// G4EllipticalTube* firstLiver = new G4EllipticalTube("FirstLiver",dx, dy, dz); - G4double xx = 20.00 * cm; - G4double yy = 50.00 * cm; - G4double zz = 50.00 *cm; +// G4double xx = 20.00 * cm; +// G4double yy = 50.00 * cm; +// G4double zz = 50.00 *cm; - G4Box* subtrLiver = new G4Box("SubtrLiver", xx/2., yy/2., zz/2.); +// G4Box* subtrLiver = new G4Box("SubtrLiver", xx/2., yy/2., zz/2.); - G4RotationMatrix* rm_relative = new G4RotationMatrix(); - rm_relative -> rotateY(32.* degree); - rm_relative -> rotateZ(40.9* degree); +// G4RotationMatrix* rm_relative = new G4RotationMatrix(); +// rm_relative -> rotateY(32.* degree); +// rm_relative -> rotateZ(40.9* degree); +// G4double aa = (1.00/31.51); +// G4double bb = (1.00/44.75); +// G4double cc = (-1.00/38.76); +// G4cout<< aa << " "<< bb << " "< rotateX(180.* degree); +// G4RotationMatrix* rm = new G4RotationMatrix(); +// rm -> rotateX(180.* degree); - // Define rotation and position here! - G4VPhysicalVolume* physLiver = new G4PVPlacement(rm,G4ThreeVector(0. *cm,0. *cm,0.*cm), - "physicalLiver", - logicLiver, - mother, - false, - 0); +// // Define rotation and position here! +// G4VPhysicalVolume* physLiver = new G4PVPlacement(rm,G4ThreeVector(0. *cm,0. *cm,0.*cm), +// "physicalLiver", +// logicLiver, +// mother, +// false, +// 0); - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicLiver->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } +// // Sensitive Body Part +// if (sensitivity==true) +// { +// G4SDManager* SDman = G4SDManager::GetSDMpointer(); +// logicLiver->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); +// } - // Visualization Attributes - G4VisAttributes* LiverVisAtt = new G4VisAttributes(G4Colour(2.0,2.0,0.0)); - LiverVisAtt->SetForceSolid(true); - logicLiver->SetVisAttributes(LiverVisAtt); +// // Visualization Attributes +// G4VisAttributes* LiverVisAtt = new G4VisAttributes(G4Colour(2.0,2.0,0.0)); +// LiverVisAtt->SetForceSolid(true); +// logicLiver->SetVisAttributes(LiverVisAtt); - G4cout << "Liver created !!!!!!" << G4endl; +// G4cout << "Liver created !!!!!!" << G4endl; - // Testing Liver Volume - G4double LiverVol = logicLiver->GetSolid()->GetCubicVolume(); - G4cout << "Volume of Liver = " << LiverVol/cm3 << " cm^3" << G4endl; +// // Testing Liver Volume +// G4double LiverVol = logicLiver->GetSolid()->GetCubicVolume(); +// G4cout << "Volume of Liver = " << LiverVol/cm3 << " cm^3" << G4endl; - // Testing Liver Material - G4String LiverMat = logicLiver->GetMaterial()->GetName(); - G4cout << "Material of Liver = " << LiverMat << G4endl; +// // Testing Liver Material +// G4String LiverMat = logicLiver->GetMaterial()->GetName(); +// G4cout << "Material of Liver = " << LiverMat << G4endl; - // Testing Density - G4double LiverDensity = logicLiver->GetMaterial()->GetDensity(); - G4cout << "Density of Material = " << LiverDensity*cm3/g << " g/cm^3" << G4endl; +// // Testing Density +// G4double LiverDensity = logicLiver->GetMaterial()->GetDensity(); +// G4cout << "Density of Material = " << LiverDensity*cm3/g << " g/cm^3" << G4endl; - // Testing Mass - G4double LiverMass = (LiverVol)*LiverDensity; - G4cout << "Mass of Liver = " << LiverMass/gram << " g" << G4endl; +// // Testing Mass +// G4double LiverMass = (LiverVol)*LiverDensity; +// G4cout << "Mass of Liver = " << LiverMass/gram << " g" << G4endl; - return physLiver; +// return physLiver; } diff --git a/examples/advanced/human_phantom/src/G4MIRDLowerLargeIntestine.cc b/examples/advanced/human_phantom/src/G4MIRDLowerLargeIntestine.cc index 3694aecd01..e011dcfbc1 100644 --- a/examples/advanced/human_phantom/src/G4MIRDLowerLargeIntestine.cc +++ b/examples/advanced/human_phantom/src/G4MIRDLowerLargeIntestine.cc @@ -44,7 +44,7 @@ #include "G4LogicalVolume.hh" #include "G4Torus.hh" #include "G4HumanPhantomMaterial.hh" - +#include "G4HumanPhantomColour.hh" G4MIRDLowerLargeIntestine::G4MIRDLowerLargeIntestine() { } @@ -54,24 +54,26 @@ G4MIRDLowerLargeIntestine::~G4MIRDLowerLargeIntestine() } -G4VPhysicalVolume* G4MIRDLowerLargeIntestine::ConstructLowerLargeIntestine(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDLowerLargeIntestine::Construct(const G4String& volumeName, + G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity) { - G4cout << "ConstructLowerLargeIntestine for " << sex << G4endl; + G4cout << "Construct "<< volumeName < GetMaterial("soft_tissue"); delete material; - G4double dx = 1.62 * cm; - G4double dy = 2.09 *cm; - G4double dz = 6.885 *cm; + G4double dx = 1.88 * cm; //a + G4double dy = 2.13 *cm; //b + G4double dz = 7.64 *cm; //(z1-z2)/2 G4EllipticalTube* DescendingColonLowerLargeIntestine = new G4EllipticalTube("DiscendingColon",dx, dy, dz); G4double rmin= 0.0 *cm; - G4double rmax = 1.62 * cm; - G4double rtor= 5.16*cm; + G4double rmax = 1.88 * cm;//a + G4double rtor= 5.72*cm; //R1 G4double startphi= 0. * degree; G4double deltaphi= 90. * degree; @@ -79,7 +81,7 @@ G4VPhysicalVolume* G4MIRDLowerLargeIntestine::ConstructLowerLargeIntestine(G4VPh rmin, rmax,rtor, startphi, deltaphi); - rtor = 2.70 * cm; + rtor = 3. * cm;//R2 G4VSolid* SigmoidColonDownLowerLargeIntestine = new G4Torus("SigmoidColonDownLowerLargeIntestine", rmin, rmax, rtor,startphi,deltaphi); @@ -92,7 +94,8 @@ G4VPhysicalVolume* G4MIRDLowerLargeIntestine::ConstructLowerLargeIntestine(G4VPh SigmoidColonUpLowerLargeIntestine, SigmoidColonDownLowerLargeIntestine, relative_rm, - G4ThreeVector(0.0,7.85*cm,0.0)); + G4ThreeVector(0.0,8.72*cm,0.0)); + // R1 + R2 G4RotationMatrix* relative_rm_2 = new G4RotationMatrix(); relative_rm_2 -> rotateX(90. * degree); @@ -101,21 +104,21 @@ G4VPhysicalVolume* G4MIRDLowerLargeIntestine::ConstructLowerLargeIntestine(G4VPh DescendingColonLowerLargeIntestine, SigmoidColonLowerLargeIntestine, relative_rm_2, - G4ThreeVector(-5.16*cm,0.0*cm, -6.885*cm) - ); + G4ThreeVector(-5.72*cm,0.0*cm, -7.64*cm) + ); // -rtor,0, -dz G4LogicalVolume* logicLowerLargeIntestine = new G4LogicalVolume( LowerLargeIntestine, soft, - "LowerLargeIntestineVolume", + "logical" + volumeName, 0, 0, 0); - G4VPhysicalVolume* physLowerLargeIntestine = new G4PVPlacement(0, - G4ThreeVector(7.86*cm, -2.31*cm,-16.79 *cm), + G4VPhysicalVolume* physLowerLargeIntestine = new G4PVPlacement(0, // R1+ R2, -2.36 (y0), z0 + G4ThreeVector(8.72*cm, -2.36*cm,-18.64 *cm), "physicalLowerLargeIntestine", logicLowerLargeIntestine, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) { @@ -124,8 +127,11 @@ G4VPhysicalVolume* G4MIRDLowerLargeIntestine::ConstructLowerLargeIntestine(G4VPh } // Visualization Attributes - G4VisAttributes* LowerLargeIntestineVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - LowerLargeIntestineVisAtt->SetForceSolid(true); + //G4VisAttributes* LowerLargeIntestineVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* LowerLargeIntestineVisAtt = new G4VisAttributes(colour); + LowerLargeIntestineVisAtt->SetForceSolid(wireFrame); logicLowerLargeIntestine->SetVisAttributes(LowerLargeIntestineVisAtt); G4cout << "LowerLargeIntestine created !!!!!!" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MIRDMiddleLowerSpine.cc b/examples/advanced/human_phantom/src/G4MIRDMiddleLowerSpine.cc index b0392383f1..0e7cf340bf 100644 --- a/examples/advanced/human_phantom/src/G4MIRDMiddleLowerSpine.cc +++ b/examples/advanced/human_phantom/src/G4MIRDMiddleLowerSpine.cc @@ -42,6 +42,7 @@ #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" #include "G4UnionSolid.hh" +#include "G4HumanPhantomColour.hh" G4MIRDMiddleLowerSpine::G4MIRDMiddleLowerSpine() { @@ -51,45 +52,35 @@ G4MIRDMiddleLowerSpine::~G4MIRDMiddleLowerSpine() { } -G4VPhysicalVolume* G4MIRDMiddleLowerSpine::ConstructMiddleLowerSpine(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDMiddleLowerSpine::Construct(const G4String& volumeName, + G4VPhysicalVolume* mother, + const G4String& colourName + , G4bool wireFrame, G4bool sensitivity) { G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); - G4cout << "ConstructMiddleLowerSpine for "<< sex < GetMaterial("skeleton"); delete material; - G4double dx = 1.73 *cm; - G4double dy = 2.45 *cm; - G4double dz = 15.645 *cm; + G4double dx = 2. *cm; + G4double dy = 2.5 *cm; + G4double dz = 24. *cm; - G4VSolid* midSpine = new G4EllipticalTube("MiddleSpine",dx, dy, dz); - - dx = 1.73 *cm; - dy = 2.45 *cm; - dz = 5.905 *cm; - - G4VSolid* lowSpine = new G4EllipticalTube("LowSpine",dx, dy, dz); - - G4UnionSolid* middleLowerSpine = new G4UnionSolid("MiddleLowerSpine", - midSpine, - lowSpine, - 0, - G4ThreeVector(0.0, 0.0, -21.56 * cm) - ); + G4VSolid* middleLowerSpine = new G4EllipticalTube("MiddleLowerSpine",dx, dy, dz); G4LogicalVolume* logicMiddleLowerSpine = new G4LogicalVolume( middleLowerSpine, skeleton, - "MiddleLowerSpineVolume", + "logical" + volumeName, 0, 0, 0); // Define rotation and position here! - G4VPhysicalVolume* physMiddleLowerSpine = new G4PVPlacement(0,G4ThreeVector(0.0 *cm, 5.39 * cm,15.905 * cm), + G4VPhysicalVolume* physMiddleLowerSpine = new G4PVPlacement(0,G4ThreeVector(0.0 *cm, 5.5 * cm,11. * cm), "physicalMiddleLowerSpine", logicMiddleLowerSpine, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) @@ -99,8 +90,12 @@ G4VPhysicalVolume* G4MIRDMiddleLowerSpine::ConstructMiddleLowerSpine(G4VPhysical } // Visualization Attributes - G4VisAttributes* MiddleLowerSpineVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); - MiddleLowerSpineVisAtt->SetForceSolid(true); + // G4VisAttributes* MiddleLowerSpineVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); + + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* MiddleLowerSpineVisAtt = new G4VisAttributes(colour); + MiddleLowerSpineVisAtt->SetForceSolid(wireFrame); logicMiddleLowerSpine->SetVisAttributes(MiddleLowerSpineVisAtt); G4cout << "MiddleLowerSpine created !!!!!!" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MIRDPancreas.cc b/examples/advanced/human_phantom/src/G4MIRDPancreas.cc index c66139a57a..36da0989ee 100644 --- a/examples/advanced/human_phantom/src/G4MIRDPancreas.cc +++ b/examples/advanced/human_phantom/src/G4MIRDPancreas.cc @@ -47,7 +47,7 @@ #include "G4PVPlacement.hh" #include "G4Box.hh" #include "G4SubtractionSolid.hh" - +#include "G4HumanPhantomColour.hh" G4MIRDPancreas::G4MIRDPancreas() { } @@ -57,49 +57,51 @@ G4MIRDPancreas::~G4MIRDPancreas() } -G4VPhysicalVolume* G4MIRDPancreas::ConstructPancreas(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDPancreas::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName + ,G4bool wireFrame, G4bool sensitivity) { - G4cout << "ConstructPancreas for " << sex << G4endl; + G4cout << "Construct "<< volumeName << G4endl; G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); G4Material* soft = material -> GetMaterial("soft_tissue"); delete material; - G4double ax= 2.87*cm; - G4double by= 1.14*cm; - G4double cz= 13.32*cm; - G4double zcut1= -13.32 *cm; + G4double ax= 3.*cm; //c + G4double by= 1.*cm;//b + G4double cz= 15.*cm;//a + G4double zcut1= -15. *cm;// -a G4double zcut2= 0.0 *cm; G4Ellipsoid* pancreasFirst = new G4Ellipsoid("PancreasFirst",ax, by, cz, zcut1, zcut2); - G4double xx = 5.74 * cm; - G4double yy = 2.30 * cm; - G4double zz = 10.71 * cm; + G4double xx = 6. * cm;// 2*c + G4double yy = 2. * cm;// 2*b + G4double zz = 12. * cm; // cz - x1 = 3 cm G4Box* subtrPancreas = new G4Box("SubtrPancreas",xx/2., yy/2., zz/2.); G4SubtractionSolid* pancreas = new G4SubtractionSolid("pancreas", pancreasFirst, subtrPancreas, 0, - G4ThreeVector(-2.87 * cm,0.0,-8.685*cm)); - + G4ThreeVector(-3 * cm,0.0,-9.*cm)); + // G4LogicalVolume* logicPancreas = new G4LogicalVolume(pancreas, soft, - "PancreasVolume", + "logical" + volumeName, 0, 0, 0); G4RotationMatrix* rotation = new G4RotationMatrix(); rotation ->rotateY(90. * degree); G4VPhysicalVolume* physPancreas = new G4PVPlacement(rotation, - G4ThreeVector(-0.72 *cm, 0.0, 1.8*cm), + G4ThreeVector(-0. *cm, 0.0, 2*cm),//x0, 0, 2 cm "physicalPancreas", logicPancreas, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) { @@ -108,8 +110,11 @@ G4VPhysicalVolume* G4MIRDPancreas::ConstructPancreas(G4VPhysicalVolume* mother, } // Visualization Attributes - G4VisAttributes* PancreasVisAtt = new G4VisAttributes(G4Colour(0.28,0.82,0.8)); - PancreasVisAtt->SetForceSolid(true); + // G4VisAttributes* PancreasVisAtt = new G4VisAttributes(G4Colour(0.28,0.82,0.8)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* PancreasVisAtt = new G4VisAttributes(colour); + PancreasVisAtt->SetForceSolid(wireFrame); logicPancreas->SetVisAttributes(PancreasVisAtt); G4cout << "Pancreas created !!!!!!" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MIRDPelvis.cc b/examples/advanced/human_phantom/src/G4MIRDPelvis.cc index f2b06b24ef..892049114e 100644 --- a/examples/advanced/human_phantom/src/G4MIRDPelvis.cc +++ b/examples/advanced/human_phantom/src/G4MIRDPelvis.cc @@ -46,7 +46,7 @@ #include "G4Box.hh" #include "G4VSolid.hh" #include "G4LogicalVolume.hh" - +#include "G4HumanPhantomColour.hh" G4MIRDPelvis::G4MIRDPelvis() { } @@ -56,61 +56,78 @@ G4MIRDPelvis::~G4MIRDPelvis() } -G4VPhysicalVolume* G4MIRDPelvis::ConstructPelvis(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDPelvis::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity) { G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); - G4cout << "ConstructMiddleLowerSpine for "<< sex < GetMaterial("skeleton"); delete material; - - G4double dx= 10.35 *cm; - G4double dy= 11.76 * cm; - G4double dz= 9.915 * cm; + /* + G4double dx= 10.35 * cm;//12. *cm; // a2 + G4double dy= 11.76 * cm;//12. * cm; // b2 + G4double dz= 9.915 * cm; // z2/2 G4VSolid* outPelvis = new G4EllipticalTube("OutPelvis",dx, dy, dz); - dx = 9.75 * cm; - dy = 11.07* cm; - dz = 10.0 *cm; + G4double dx_in = 9.75 * cm;//11.3 * cm; // a1 + G4double dy_in = 11.07 *cm; //11.3* cm; //b1 + G4double dz_in = 10. * cm;//11.0 *cm; // z2/2 + + */ + G4double dx= 12. *cm; // a2 + G4double dy= 12. * cm; //b2 + G4double dz= 11. * cm; // z2/2 + + G4VSolid* outPelvis = new G4EllipticalTube("OutPelvis",dx, dy, dz); + + dx = 11.3 * cm; // a1 + dy = 11.3* cm; // b1 + dz = 12.0 *cm; // z2/2 G4VSolid* inPelvis = new G4EllipticalTube("InPelvis",dx, dy, dz); - G4double x = 20.71 * cm; - G4double y = 23.52 * cm; - G4double z = 19.84 *cm; + G4double x = 28. * cm; // a2 * 2 + G4double y = 28. * cm; //b2*2 + G4double z = 24. *cm; // z2 G4VSolid* subPelvis = new G4Box("SubtrPelvis", x/2., y/2., z/2.); + + G4SubtractionSolid* firstPelvis = new G4SubtractionSolid("FirstPelvis", outPelvis, - inPelvis); + inPelvis, 0, G4ThreeVector(0.*cm, -0.8 *cm, 0. * cm)); - + G4SubtractionSolid* secondPelvis = new G4SubtractionSolid("SecondPelvis", firstPelvis, subPelvis, 0, G4ThreeVector(0.0, - 14.70 * cm, -8.21 *cm)); - + -14. * cm, 0.*cm)); + // half of the y size of the box + + G4SubtractionSolid* pelvis = new G4SubtractionSolid("Pelvis", secondPelvis, subPelvis, 0, G4ThreeVector(0.0, - -11.76 * cm, 0.0)); - + 22. * cm, -9. *cm)); + G4LogicalVolume* logicPelvis = new G4LogicalVolume(pelvis, skeleton, - "PelvisVolume", 0, 0, 0); + "logical" + volumeName, 0, 0, 0); - G4VPhysicalVolume* physPelvis = new G4PVPlacement(0,G4ThreeVector(0.0, -2.94 * cm,-21.635 * cm), + G4VPhysicalVolume* physPelvis = new G4PVPlacement(0,G4ThreeVector(0.0, -3. * cm,-24. * cm),// 0, y02, z position + // with respect to the trunk "physicalPelvis", logicPelvis, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) @@ -120,8 +137,12 @@ G4VPhysicalVolume* G4MIRDPelvis::ConstructPelvis(G4VPhysicalVolume* mother, G4St } // Visualization Attributes - G4VisAttributes* PelvisVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); - PelvisVisAtt->SetForceSolid(false); + // G4VisAttributes* PelvisVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); + + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* PelvisVisAtt = new G4VisAttributes(colour); + PelvisVisAtt->SetForceSolid(wireFrame); logicPelvis->SetVisAttributes(PelvisVisAtt); G4cout << "Pelvis created !!!!!!" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MIRDRibCage.cc b/examples/advanced/human_phantom/src/G4MIRDRibCage.cc index 371307a2d8..26045c49f3 100644 --- a/examples/advanced/human_phantom/src/G4MIRDRibCage.cc +++ b/examples/advanced/human_phantom/src/G4MIRDRibCage.cc @@ -33,10 +33,16 @@ // #include "G4MIRDRibCage.hh" -#include "G4Processor/GDMLProcessor.h" #include "globals.hh" #include "G4SDManager.hh" #include "G4VisAttributes.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4SubtractionSolid.hh" +#include "G4EllipticalTube.hh" +#include "G4PVReplica.hh" +#include "G4Box.hh" +#include "G4PVPlacement.hh" +#include "G4HumanPhantomColour.hh" G4MIRDRibCage::G4MIRDRibCage() { @@ -44,47 +50,192 @@ G4MIRDRibCage::G4MIRDRibCage() G4MIRDRibCage::~G4MIRDRibCage() { - sxp.Finalize(); -} + } -G4VPhysicalVolume* G4MIRDRibCage::ConstructRibCage(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDRibCage::Construct(const G4String& volumeName, G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) { - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/MIRDRibCage.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); + G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); + + G4cout << "Construct "<< volumeName < GetMaterial("skeleton"); + G4Material* soft = material -> GetMaterial("soft_tissue"); + delete material; - G4LogicalVolume* logicRibCage = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("RibCageVolume"); + G4double dx= 17. *cm; // a2 + G4double dy= 9.8 * cm; //b2 + G4double thickness= 32.4 * cm; // z2/2 of cage - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("RibCagePos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("RibCageRot"); + G4EllipticalTube* outCage = new G4EllipticalTube("outCage",dx, dy, thickness/2.); + + dx = 16.4 * cm; // a1 + dy = 9.2 * cm; // b1 + G4double dz = 34. *cm; // z2/2 + + G4EllipticalTube* inCage = new G4EllipticalTube("inCage",dx, dy, dz/2.); + + G4SubtractionSolid* cage = new G4SubtractionSolid("Cage", + outCage, + inCage, 0, G4ThreeVector(0.*cm, 0.*cm, 0. * cm)); + + + G4LogicalVolume* logicRibCage = new G4LogicalVolume(cage, soft, "LogicalCage", 0, 0, 0); + + G4VPhysicalVolume* physRibCage = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, thickness/2. + 0.1 * cm), + // with respect to the trunk + "physicalRibCage", + logicRibCage, + mother, + false, + 0, true); + - // Define rotation and position here! - G4VPhysicalVolume* physRibCage = new G4PVPlacement(rm,position, - "physicalRibCage", - logicRibCage, - mother, - false, - 0); + G4double xx = 17.*cm; + G4double yy = 9.8*cm; + G4double ribThickness = 1.4*cm; + G4EllipticalTube* rib_out = new G4EllipticalTube("rib_out",xx, yy, ribThickness/2.); + + xx = 16.5 *cm; + yy = 9.3 * cm; + G4double zz = 1.5 * cm; + G4EllipticalTube* rib_in = new G4EllipticalTube("rib_in",xx, yy, zz/2.); + G4SubtractionSolid* rib = new G4SubtractionSolid("rib",rib_out, rib_in); + G4LogicalVolume* logicRib= new G4LogicalVolume(rib, skeleton, "logical" + volumeName, 0, 0, 0); + + physRib1 = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, (- 32.2*cm/2. + 0.8 *cm)), + // with respect to the trunk + "physicalRib", + logicRib, + physRibCage, + false, + 0, true); + + physRib2 = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, ( - 32.2*cm/2. + 0.8 *cm + 2.8 *cm)), + // with respect to the trunk + "physicalRib", + logicRib, + physRibCage, + false, + 0, true); + + physRib3 = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, (-thickness/2. + 0.8 * cm + 5.6 *cm)), + // with respect to the trunk + "physicalRib", + logicRib, + physRibCage, + false, + 0, true); + + physRib4 = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, (-thickness/2. + 0.8 * cm + 8.4 *cm)), + // with respect to the trunk + "physicalRib", + logicRib, + physRibCage, + false, + 0, true); + + physRib5 = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, (-thickness/2. + 0.8 * cm + 11.2 *cm)), + // with respect to the trunk + "physicalRib", + logicRib, + physRibCage, + false, + 0, true); + + physRib6 = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, (-thickness/2. + 0.8 * cm + 14. *cm)), + // with respect to the trunk + "physicalRib", + logicRib, + physRibCage, + false, + 0, true); + + physRib7 = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, (-thickness/2. + 0.8 *cm + 16.8 *cm)), + // with respect to the trunk + "physicalRib", + logicRib, + physRibCage, + false, + 0, true); + + physRib8 = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, (-thickness/2. + 0.8 *cm + 19.6 *cm)), + // with respect to the trunk + "physicalRib", + logicRib, + physRibCage, + false, + 0, true); + + physRib9 = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, (-thickness/2. + 0.8*cm + 22.4 *cm)), + // with respect to the trunk + "physicalRib", + logicRib, + physRibCage, + false, + 0, true); + + physRib10 = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, (-thickness/2. + 0.8*cm + 25.2 *cm)), + // with respect to the trunk + "physicalRib", + logicRib, + physRibCage, + false, + 0, true); + + physRib11 = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, (-thickness/2. + 0.8*cm + 28. *cm)), + // with respect to the trunk + "physicalRib", + logicRib, + physRibCage, + false, + 0, true); + + physRib12 = new G4PVPlacement(0,G4ThreeVector(0.0, 0.0, (-thickness/2. + 0.8*cm + 30.8 *cm)), + // with respect to the trunk + "physicalRib", + logicRib, + physRibCage, + false, + 0, true); + // Sensitive Body Part if (sensitivity==true) { G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicRibCage->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + // logicRibCage->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + logicRib->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); } // Visualization Attributes - G4VisAttributes* RibCageVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - RibCageVisAtt->SetForceSolid(true); - logicRibCage->SetVisAttributes(RibCageVisAtt); + logicRibCage -> SetVisAttributes(G4VisAttributes::Invisible); + + //G4VisAttributes* RibCageVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); + + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* RibCageVisAtt = new G4VisAttributes(colour); + RibCageVisAtt->SetForceSolid(wireFrame); + logicRib->SetVisAttributes(RibCageVisAtt); G4cout << "RibCage created !!!!!!" << G4endl; + // Testing Pelvis Volume + G4double RibCageVol = logicRib->GetSolid()->GetCubicVolume(); + G4cout << "Volume of RibCage = " << ((RibCageVol)*12.)/cm3 << " cm^3" << G4endl; + // Testing RibCage Material + G4String RibCageMat = logicRib->GetMaterial()->GetName(); + G4cout << "Material of RibCage = " << RibCageMat << G4endl; + + // Testing Density + G4double RibCageDensity = logicRib->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << RibCageDensity*cm3/g << " g/cm^3" << G4endl; + + // Testing Mass + G4double RibCageMass = (RibCageVol)* RibCageDensity * 12;// 12 is the total number of ribs; + G4cout << "Mass of RibCage = " << (RibCageMass)/gram << " g" << G4endl; + return physRibCage; } diff --git a/examples/advanced/human_phantom/src/G4MIRDRightAdrenal.cc b/examples/advanced/human_phantom/src/G4MIRDRightAdrenal.cc new file mode 100755 index 0000000000..7375a86808 --- /dev/null +++ b/examples/advanced/human_phantom/src/G4MIRDRightAdrenal.cc @@ -0,0 +1,125 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// + +#include "G4MIRDRightAdrenal.hh" + +#include "globals.hh" +#include "G4SDManager.hh" +#include "G4VisAttributes.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4SDManager.hh" +#include "G4PVPlacement.hh" +#include "G4SubtractionSolid.hh" +#include "G4Ellipsoid.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" +#include "G4RotationMatrix.hh" +#include "G4Material.hh" +#include "G4EllipticalTube.hh" +#include "G4Box.hh" +#include "G4UnionSolid.hh" +#include "G4HumanPhantomColour.hh" +G4MIRDRightAdrenal::G4MIRDRightAdrenal() +{ +} + +G4MIRDRightAdrenal::~G4MIRDRightAdrenal() +{ +} + +G4VPhysicalVolume* G4MIRDRightAdrenal::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) +{ + G4cout << "Construct "<< volumeName << G4endl; + + G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); + G4Material* soft = material -> GetMaterial("soft_tissue"); + delete material; + + G4double ax= 1.5 *cm; //a + G4double by= 0.5 *cm; //b + G4double cz= 5.0 *cm; //c + + G4VSolid* rightAdrenal = new G4Ellipsoid("OneRightAdrenal",ax, by, cz, 0. *cm, cz); + + + G4LogicalVolume* logicRightAdrenal = new G4LogicalVolume(rightAdrenal, + soft, + "logical" + volumeName, + 0, 0, 0); + + G4VPhysicalVolume* physRightAdrenal = new G4PVPlacement(0 ,G4ThreeVector(-4.5*cm, // xo + 6.5 *cm, //yo + 3. *cm),//zo + "physicalRightAdrenal", logicRightAdrenal, + mother, + false, + 0, true); + + // Sensitive Body Part + if (sensitivity==true) + { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + logicRightAdrenal->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + } + + // Visualization Attributes + // G4VisAttributes* RightAdrenalVisAtt = new G4VisAttributes(G4Colour(0.72,0.52,0.04)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* RightAdrenalVisAtt = new G4VisAttributes(colour); + RightAdrenalVisAtt->SetForceSolid(wireFrame); + logicRightAdrenal->SetVisAttributes(RightAdrenalVisAtt); + + G4cout << "Right RightAdrenal created !!!!!!" << G4endl; + + // Testing RightAdrenal Volume + G4double RightAdrenalVol = logicRightAdrenal->GetSolid()->GetCubicVolume(); + G4cout << "Volume of RightAdrenal = " << RightAdrenalVol/cm3 << " cm^3" << G4endl; + + // Testing RightAdrenal Material + G4String RightAdrenalMat = logicRightAdrenal->GetMaterial()->GetName(); + G4cout << "Material of RightAdrenal = " << RightAdrenalMat << G4endl; + + // Testing Density + G4double RightAdrenalDensity = logicRightAdrenal->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << RightAdrenalDensity*cm3/g << " g/cm^3" << G4endl; + + // Testing Mass + G4double RightAdrenalMass = (RightAdrenalVol)*RightAdrenalDensity; + G4cout << "Mass of RightAdrenal = " << RightAdrenalMass/gram << " g" << G4endl; + + + return physRightAdrenal; +} diff --git a/examples/advanced/human_phantom/src/G4MIRDRightArmBone.cc b/examples/advanced/human_phantom/src/G4MIRDRightArmBone.cc new file mode 100644 index 0000000000..ac3bdcf70c --- /dev/null +++ b/examples/advanced/human_phantom/src/G4MIRDRightArmBone.cc @@ -0,0 +1,130 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// + +#include "G4MIRDRightArmBone.hh" +#include "globals.hh" +#include "G4SDManager.hh" +#include "G4VisAttributes.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4EllipticalTube.hh" +#include "G4RotationMatrix.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4UnionSolid.hh" +#include "G4EllipticalCone.hh" +#include "G4HumanPhantomColour.hh" +G4MIRDRightArmBone::G4MIRDRightArmBone() +{ +} + +G4MIRDRightArmBone::~G4MIRDRightArmBone() +{ +} + +G4VPhysicalVolume* G4MIRDRightArmBone::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName,G4bool wireFrame, G4bool sensitivity) +{ + // Remind! the elliptical cone gives problems! Intersections of volumes, + // wrong calculation of the volume! + + G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); + + G4cout << "Construct " << volumeName << G4endl; + + G4Material* skeleton = material -> GetMaterial("skeleton"); + + delete material; + + G4double dx = 1.4 * cm;//a + G4double dy = 2.7 * cm;//b + // G4double dz= 46. * cm;//z0 + + //G4EllipticalCone* arm = new G4EllipticalCone("OneRightArmBone",dx/2.,dy/2.,dz, 34.5 *cm); + G4EllipticalTube* rightArm = new G4EllipticalTube("OneRightArmBone",dx,dy,34.5 *cm); + + G4LogicalVolume* logicRightArmBone = new G4LogicalVolume(rightArm, + skeleton, + "logical" + volumeName, + 0, 0,0); + + G4RotationMatrix* matrix = new G4RotationMatrix(); + matrix -> rotateX(180. * degree); + + G4VPhysicalVolume* physRightArmBone = new G4PVPlacement(matrix, + G4ThreeVector(-18.4 * cm, 0.0, -0.5*cm), + //-x0 + "physicalRightArmBone", + logicRightArmBone, + mother, + false,0,true); + + + // Sensitive Body Part + if (sensitivity==true) + { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + logicRightArmBone->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + } + + + // Visualization Attributes + //G4VisAttributes* RightArmBoneVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* RightArmBoneVisAtt = new G4VisAttributes(colour); + + RightArmBoneVisAtt->SetForceSolid(wireFrame); + logicRightArmBone->SetVisAttributes(RightArmBoneVisAtt); + + G4cout << "RightArmBone created !!!!!!" << G4endl; + + // Testing RightArmBone Volume + G4double RightArmBoneVol = logicRightArmBone->GetSolid()->GetCubicVolume(); + G4cout << "Volume of RightArmBone = " << RightArmBoneVol/cm3 << " cm^3" << G4endl; + + // Testing RightArmBone Material + G4String RightArmBoneMat = logicRightArmBone->GetMaterial()->GetName(); + G4cout << "Material of RightArmBone = " << RightArmBoneMat << G4endl; + + // Testing Density + G4double RightArmBoneDensity = logicRightArmBone->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << RightArmBoneDensity*cm3/g << " g/cm^3" << G4endl; + + // Testing Mass + G4double RightArmBoneMass = (RightArmBoneVol)*RightArmBoneDensity; + G4cout << "Mass of RightArmBone = " << RightArmBoneMass/gram << " g" << G4endl; + + return physRightArmBone; +} diff --git a/examples/advanced/human_phantom/src/G4MIRDRightBreast.cc b/examples/advanced/human_phantom/src/G4MIRDRightBreast.cc new file mode 100644 index 0000000000..b85046d825 --- /dev/null +++ b/examples/advanced/human_phantom/src/G4MIRDRightBreast.cc @@ -0,0 +1,144 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#include "G4MIRDRightBreast.hh" +#include "globals.hh" +#include "G4SDManager.hh" +#include "G4VisAttributes.hh" +#include "G4Ellipsoid.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" +#include "G4RotationMatrix.hh" +#include "G4Material.hh" +#include "G4LogicalVolume.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4EllipticalTube.hh" +#include "G4UnionSolid.hh" +#include "G4SubtractionSolid.hh" +#include "G4HumanPhantomColour.hh" + +G4MIRDRightBreast::G4MIRDRightBreast() +{ +} + +G4MIRDRightBreast::~G4MIRDRightBreast() +{ +} + +G4VPhysicalVolume* G4MIRDRightBreast::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) +{ + G4cout << "Construct" << volumeName << G4endl; + + G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); + G4Material* soft = material -> GetMaterial("soft_tissue"); + delete material; + + G4double ax= 4.95* cm; + G4double by= 4.35* cm; + G4double cz= 4.15*cm; + + G4Ellipsoid* oneRightBreast = new G4Ellipsoid("OneRightBreast", + ax, by, cz); + + G4double dx= 20.* cm; + G4double dy= 10.* cm; + G4double dz= 35.* cm; + + G4EllipticalTube* Trunk = new G4EllipticalTube("Trunk",dx, dy, dz ); + + + G4RotationMatrix* rm_relative = new G4RotationMatrix(); + rm_relative -> rotateX(90. * degree); + + G4SubtractionSolid* breast = new G4SubtractionSolid("RightBreast", + oneRightBreast, + Trunk, + rm_relative, + G4ThreeVector(10.*cm, + 0.0*cm, + -8.66*cm)); + + + G4LogicalVolume* logicRightBreast = new G4LogicalVolume(breast, soft,"logical" + volumeName, 0, 0,0); + + + // Define rotation and position here! + G4VPhysicalVolume* physRightBreast = new G4PVPlacement(0, + G4ThreeVector(-10.*cm, + 52.* cm, + 8.66 *cm), + "physicalRightBreast", + logicRightBreast, + mother, + false, + 0, true); + + // Sensitive Body Part + if (sensitivity==true) + { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + logicRightBreast->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + } + + // Visualization Attributes + // G4VisAttributes* RightBreastVisAtt = new G4VisAttributes(G4Colour(1.0,0.41,0.71)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* RightBreastVisAtt = new G4VisAttributes(colour); + RightBreastVisAtt->SetForceSolid(wireFrame); + logicRightBreast->SetVisAttributes(RightBreastVisAtt); + + G4cout << "RightBreast created !!!!!!" << G4endl; + + // Testing RightBreast Volume + G4double RightBreastVol = logicRightBreast->GetSolid()->GetCubicVolume(); + G4cout << "Volume of RightBreast = " << RightBreastVol/cm3 << " cm^3" << G4endl; + + // Testing RightBreast Material + G4String RightBreastMat = logicRightBreast->GetMaterial()->GetName(); + G4cout << "Material of RightBreast = " << RightBreastMat << G4endl; + + // Testing Density + G4double RightBreastDensity = logicRightBreast->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << RightBreastDensity*cm3/g << " g/cm^3" << G4endl; + + // Testing Mass + G4double RightBreastMass = (RightBreastVol)*RightBreastDensity; + G4cout << "Mass of RightBreast = " << RightBreastMass/gram << " g" << G4endl; + + + return physRightBreast; +} diff --git a/examples/advanced/human_phantom/src/G4MIRDRightKidney.cc b/examples/advanced/human_phantom/src/G4MIRDRightKidney.cc new file mode 100644 index 0000000000..ecc6e8fe4c --- /dev/null +++ b/examples/advanced/human_phantom/src/G4MIRDRightKidney.cc @@ -0,0 +1,140 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// + +#include "G4MIRDRightKidney.hh" + +#include "globals.hh" +#include "G4SDManager.hh" +#include "G4VisAttributes.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4SDManager.hh" +#include "G4PVPlacement.hh" +#include "G4SubtractionSolid.hh" +#include "G4Ellipsoid.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" +#include "G4RotationMatrix.hh" +#include "G4Material.hh" +#include "G4EllipticalTube.hh" +#include "G4Box.hh" +#include "G4UnionSolid.hh" +#include "G4HumanPhantomColour.hh" + +G4MIRDRightKidney::G4MIRDRightKidney() +{ +} + +G4MIRDRightKidney::~G4MIRDRightKidney() +{ +} + +G4VPhysicalVolume* G4MIRDRightKidney::Construct(const G4String& volumeName, + G4VPhysicalVolume* mother, + const G4String& colourName, + G4bool wireFrame,G4bool sensitivity) +{ + G4cout << "Construct " << volumeName << G4endl; + + G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); + G4Material* soft = material -> GetMaterial("soft_tissue"); + delete material; + + G4double ax= 4.5 *cm; //a + G4double by= 1.5 *cm; //b + G4double cz= 5.5 *cm; //c + + G4VSolid* oneRightKidney = new G4Ellipsoid("OneRightKidney",ax, by, cz); + + G4double xx = 6. * cm; + G4double yy = 12.00*cm; + G4double zz = 12.00*cm; + G4VSolid* subtrRightKidney = new G4Box("SubtrRightKidney",xx/2., yy/2., zz/2.); + + G4SubtractionSolid* kidney = new G4SubtractionSolid("RightKidney", + oneRightKidney, + subtrRightKidney, + 0, + G4ThreeVector(6. *cm, // x0 + 0.0 *cm, + 0.0 * cm)); + + G4LogicalVolume* logicRightKidney = new G4LogicalVolume(kidney, + soft, + "logical" + volumeName, + 0, 0, 0); + + G4VPhysicalVolume* physRightKidney = new G4PVPlacement(0 ,G4ThreeVector(-6.*cm, // xo + 6. *cm, //yo + -2.50 *cm),//zo + "physicalRightKidney", logicRightKidney, + mother, + false, + 0, true); + + // Sensitive Body Part + if (sensitivity==true) + { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + logicRightKidney->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + } + + // Visualization Attributes + //G4VisAttributes* RightKidneyVisAtt = new G4VisAttributes(G4Colour(0.72,0.52,0.04)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* RightKidneyVisAtt = new G4VisAttributes(colour); + RightKidneyVisAtt->SetForceSolid(wireFrame); + logicRightKidney->SetVisAttributes(RightKidneyVisAtt); + + G4cout << "RightKidney created !!!!!!" << G4endl; + + // Testing RightKidney Volume + G4double RightKidneyVol = logicRightKidney->GetSolid()->GetCubicVolume(); + G4cout << "Volume of RightKidney = " << RightKidneyVol/cm3 << " cm^3" << G4endl; + + // Testing RightKidney Material + G4String RightKidneyMat = logicRightKidney->GetMaterial()->GetName(); + G4cout << "Material of RightKidney = " << RightKidneyMat << G4endl; + + // Testing Density + G4double RightKidneyDensity = logicRightKidney->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << RightKidneyDensity*cm3/g << " g/cm^3" << G4endl; + + // Testing Mass + G4double RightKidneyMass = (RightKidneyVol)*RightKidneyDensity; + G4cout << "Mass of RightKidney = " << RightKidneyMass/gram << " g" << G4endl; + + + return physRightKidney; +} diff --git a/examples/advanced/human_phantom/src/G4MIRDRightLeg.cc b/examples/advanced/human_phantom/src/G4MIRDRightLeg.cc new file mode 100644 index 0000000000..cd4923b6f0 --- /dev/null +++ b/examples/advanced/human_phantom/src/G4MIRDRightLeg.cc @@ -0,0 +1,137 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#include "G4MIRDRightLeg.hh" + +#include "globals.hh" + +#include "G4SDManager.hh" +#include "G4Cons.hh" + +#include "G4VisAttributes.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4EllipticalTube.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" +#include "G4RotationMatrix.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4UnionSolid.hh" +#include "G4HumanPhantomColour.hh" + +G4MIRDRightLeg::G4MIRDRightLeg() +{ +} + +G4MIRDRightLeg::~G4MIRDRightLeg() +{ +} + +G4VPhysicalVolume* G4MIRDRightLeg::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) +{ + + G4cout << "Construct"<< volumeName << G4endl; + + G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); + G4Material* soft = material -> GetMaterial("soft_tissue"); + + G4double rmin1 = 0.* cm; + G4double rmin2 = 0.* cm; + G4double dz= 80.0 * cm; + G4double rmax1= 2.0 * cm; + G4double rmax2= 10. * cm; + G4double startphi= 0.* degree; + G4double deltaphi= 360. * degree; + + G4Cons* leg1 = new G4Cons("Leg1", + rmin1, rmax1, + rmin2, rmax2, dz/2., + startphi, deltaphi); + + // G4UnionSolid* RightLeg = new G4UnionSolid("RightLeg", leg1, leg1,0, + // G4ThreeVector(20. *cm, 0., 0.)); + + G4LogicalVolume* logicRightLeg = new G4LogicalVolume(leg1, + soft, + "logical" + volumeName, + 0, 0, 0); + + G4RotationMatrix* rm = new G4RotationMatrix(); + rm -> rotateX(90.* degree); + + G4VPhysicalVolume* physRightLeg = new G4PVPlacement(rm, + + G4ThreeVector(-10. * cm, -40. * cm, 0. *cm), + "physicalRightLeg", + logicRightLeg, + mother, + false, + 0, true); + + // Sensitive Body Part + if (sensitivity == true) + { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + logicRightLeg->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + } + + // Visualization Attributes + //G4VisAttributes* RightLegVisAtt = new G4VisAttributes(G4Colour(0.94,0.5,0.5)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* RightLegVisAtt = new G4VisAttributes(colour); + RightLegVisAtt->SetForceSolid(wireFrame); + logicRightLeg->SetVisAttributes(RightLegVisAtt); + + G4cout << "RightLeg created !!!!!!" << G4endl; + + // Testing RightLeg Volume + G4double RightLegVol = logicRightLeg->GetSolid()->GetCubicVolume(); + G4cout << "Volume of RightLeg = " << RightLegVol/cm3 << " cm^3" << G4endl; + + // Testing RightLeg Material + G4String RightLegMat = logicRightLeg->GetMaterial()->GetName(); + G4cout << "Material of RightLeg = " << RightLegMat << G4endl; + + // Testing Density + G4double RightLegDensity = logicRightLeg->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << RightLegDensity*cm3/g << " g/cm^3" << G4endl; + + // Testing Mass + G4double RightLegMass = (RightLegVol)*RightLegDensity; + G4cout << "Mass of RightLeg = " << RightLegMass/gram << " g" << G4endl; + + + return physRightLeg; +} diff --git a/examples/advanced/human_phantom/src/G4MIRDRightLegBone.cc b/examples/advanced/human_phantom/src/G4MIRDRightLegBone.cc new file mode 100644 index 0000000000..57de2ef512 --- /dev/null +++ b/examples/advanced/human_phantom/src/G4MIRDRightLegBone.cc @@ -0,0 +1,139 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// + +#include "G4MIRDRightLegBone.hh" + +#include "globals.hh" +#include "G4SDManager.hh" +#include "G4VisAttributes.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4EllipticalTube.hh" +#include "G4RotationMatrix.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4Cons.hh" +#include "G4UnionSolid.hh" +#include "G4HumanPhantomColour.hh" +G4MIRDRightLegBone::G4MIRDRightLegBone() +{ +} + +G4MIRDRightLegBone::~G4MIRDRightLegBone() +{ +} + +G4VPhysicalVolume* G4MIRDRightLegBone::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity) +{ + + G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); + + G4cout << "Construct " << volumeName << G4endl; + + G4Material* skeleton = material -> GetMaterial("skeleton"); + + delete material; + + G4double dz = 79.8 * cm; + G4double rmin1 = 0.0 * cm; + G4double rmin2 = 0.0 * cm; + G4double rmax1 = 1. * cm; + G4double rmax2 = 3.5 * cm; + G4double startphi = 0. * degree; + G4double deltaphi = 360. * degree; + + G4Cons* leg_bone = new G4Cons("OneRightLegBone", + rmin1, rmax1, + rmin2, rmax2, dz/2., + startphi, deltaphi); + + //G4RotationMatrix* rm_relative = new G4RotationMatrix(); + //rm_relative -> rotateY(-12.5 * degree); + + // G4UnionSolid* legs_bones = new G4UnionSolid("RightLegBone", + // leg_bone, leg_bone, + // 0, + // G4ThreeVector(20.* cm, 0.0,0. * cm)); + + + G4LogicalVolume* logicRightLegBone = new G4LogicalVolume(leg_bone, skeleton,"logical" + volumeName, + 0, 0, 0); + + + // Define rotation and position here! + G4VPhysicalVolume* physRightLegBone = new G4PVPlacement(0, + G4ThreeVector(0.0 * cm, 0.0, 0.1*cm), + "physicalRightLegBone", + logicRightLegBone, + mother, + false, + 0, true); + + // Sensitive Body Part + if (sensitivity==true) + { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + logicRightLegBone->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + } + + // Visualization Attributes + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* RightLegBoneVisAtt = new G4VisAttributes(colour); + + RightLegBoneVisAtt->SetForceSolid(wireFrame); + logicRightLegBone->SetVisAttributes(RightLegBoneVisAtt); + + G4cout << "RightLegBone created !!!!!!" << G4endl; + + // Testing RightLegBone Volume + G4double RightLegBoneVol = logicRightLegBone->GetSolid()->GetCubicVolume(); + G4cout << "Volume of RightLegBone = " << RightLegBoneVol/cm3 << " cm^3" << G4endl; + + // Testing RightLegBone Material + G4String RightLegBoneMat = logicRightLegBone->GetMaterial()->GetName(); + G4cout << "Material of RightLegBone = " << RightLegBoneMat << G4endl; + + // Testing Density + G4double RightLegBoneDensity = logicRightLegBone->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << RightLegBoneDensity*cm3/g << " g/cm^3" << G4endl; + + // Testing Mass + G4double RightLegBoneMass = (RightLegBoneVol)*RightLegBoneDensity; + G4cout << "Mass of RightLegBone = " << RightLegBoneMass/gram << " g" << G4endl; + + + return physRightLegBone; +} diff --git a/examples/advanced/human_phantom/src/G4MIRDRightLung.cc b/examples/advanced/human_phantom/src/G4MIRDRightLung.cc new file mode 100644 index 0000000000..34e288ca6f --- /dev/null +++ b/examples/advanced/human_phantom/src/G4MIRDRightLung.cc @@ -0,0 +1,151 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#include "G4MIRDRightLung.hh" +#include "globals.hh" +#include "G4SDManager.hh" +#include "G4VisAttributes.hh" +#include "G4Ellipsoid.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" +#include "G4RotationMatrix.hh" +#include "G4Material.hh" +#include "G4LogicalVolume.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4UnionSolid.hh" +#include "G4SubtractionSolid.hh" +#include "G4Box.hh" +#include "G4HumanPhantomColour.hh" + +G4MIRDRightLung::G4MIRDRightLung() +{ +} + +G4MIRDRightLung::~G4MIRDRightLung() +{ + +} + +G4VPhysicalVolume* G4MIRDRightLung::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity) +{ + + G4cout << "Construct " << volumeName < GetMaterial("lung_material"); + delete material; + + G4double ax = 5. *cm; //a + G4double by = 7.5 *cm; //b + G4double cz = 24.*cm; //c + G4double zcut1 = 0.0 *cm; + G4double zcut2=24. *cm; + + G4Ellipsoid* oneLung = new G4Ellipsoid("OneLung",ax, by, cz, zcut1,zcut2); + + ax= 5.*cm; + by= 7.5*cm; + cz= 24.*cm; + + + G4Ellipsoid* subtrLung = new G4Ellipsoid("subtrLung",ax, by, cz); + + // y<0 + + G4double dx = 5.5* cm; + G4double dy = 8.5 * cm; + G4double dz = 24. * cm; + + G4Box* box = new G4Box("Box", dx, dy, dz); + + + G4SubtractionSolid* section = new G4SubtractionSolid("BoxSub", subtrLung, box, 0, G4ThreeVector(0.*cm, 8.5* cm, 0.*cm)); + //G4SubtractionSolid* section2 = new G4SubtractionSolid("BoxSub2", subtrLung, box, 0, G4ThreeVector(0.*cm, -8.5* cm, 0.*cm)); + + G4SubtractionSolid* lung1 = new G4SubtractionSolid("Lung1", oneLung, + section, + 0, G4ThreeVector(6.*cm,0*cm,0.0*cm)); + + + G4LogicalVolume* logicRightLung = new G4LogicalVolume(lung1,lung_material, + "logical" + volumeName, 0, 0, 0); + + G4RotationMatrix* matrix = new G4RotationMatrix(); + matrix -> rotateZ(-360. * deg); + G4VPhysicalVolume* physRightLung = new G4PVPlacement(0,G4ThreeVector(-8.50 *cm, 0.0*cm, 8.5*cm), + "physicalRightLung", + logicRightLung, + mother, + false, + 0, true); + + + // Sensitive Body Part + if (sensitivity==true) + { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + logicRightLung->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + } + + // Visualization Attributes + // G4VisAttributes* RightLungVisAtt = new G4VisAttributes(G4Colour(0.25,0.41,0.88)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* RightLungVisAtt = new G4VisAttributes(colour); + RightLungVisAtt->SetForceSolid(wireFrame); + logicRightLung->SetVisAttributes(RightLungVisAtt); + + G4cout << "RightLung created !!!!!!" << G4endl; + + // Testing RightLung Volume + G4double RightLungVol = logicRightLung->GetSolid()->GetCubicVolume(); + + G4cout << "Volume of RightLung = " << (RightLungVol)/cm3 << " cm^3" << G4endl; + + // Testing RightLung Material + G4String RightLungMat = logicRightLung->GetMaterial()->GetName(); + G4cout << "Material of RightLung = " << RightLungMat << G4endl; + + // Testing Density + G4double RightLungDensity = logicRightLung->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << RightLungDensity*cm3/g << " g/cm^3" << G4endl; + + // Testing Mass + G4double RightLungMass = (RightLungVol)*RightLungDensity; + G4cout << "Mass of RightLung = " << RightLungMass/gram << " g" << G4endl; + + return physRightLung; +} diff --git a/examples/advanced/human_phantom/src/G4MIRDOvary.cc b/examples/advanced/human_phantom/src/G4MIRDRightOvary.cc similarity index 60% rename from examples/advanced/human_phantom/src/G4MIRDOvary.cc rename to examples/advanced/human_phantom/src/G4MIRDRightOvary.cc index 746c920ded..a6f5a07256 100644 --- a/examples/advanced/human_phantom/src/G4MIRDOvary.cc +++ b/examples/advanced/human_phantom/src/G4MIRDRightOvary.cc @@ -31,7 +31,7 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#include "G4MIRDOvary.hh" +#include "G4MIRDRightOvary.hh" #include "G4SDManager.hh" #include "globals.hh" @@ -47,84 +47,78 @@ #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" #include "G4UnionSolid.hh" - -G4MIRDOvary::G4MIRDOvary() +#include "G4HumanPhantomColour.hh" +G4MIRDRightOvary::G4MIRDRightOvary() { } -G4MIRDOvary::~G4MIRDOvary() +G4MIRDRightOvary::~G4MIRDRightOvary() { } -G4VPhysicalVolume* G4MIRDOvary::ConstructOvary(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDRightOvary::Construct(const G4String& volumeName, G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity) { - G4cout << "ConstructOvary for " << sex << G4endl; + G4cout << "Construct "<< volumeName << G4endl; G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); G4Material* soft = material -> GetMaterial("soft_tissue"); delete material; - G4double ax= 1.17 *cm; - G4double by= 0.58*cm; - G4double cz= 1.80*cm; - G4double zcut1=-1.80*cm; - G4double zcut2= 1.80*cm; + G4double ax= 1. *cm; + G4double by= 0.5*cm; + G4double cz= 2.*cm; G4Ellipsoid* OneOvary = new G4Ellipsoid("OneOvary", - ax, by, cz, - zcut1, zcut2); + ax, by, cz); - G4UnionSolid* Ovary = new G4UnionSolid("Ovary", OneOvary, - OneOvary,0, - G4ThreeVector(10.36*cm, - 0.0*cm, - 0.0*cm)); - - - G4LogicalVolume* logicOvary = new G4LogicalVolume(Ovary, + G4LogicalVolume* logicRightOvary = new G4LogicalVolume(OneOvary, soft, - "OvaryVolume", + "logical" + volumeName, 0, 0, 0); // Define rotation and position here! - G4VPhysicalVolume* physOvary = new G4PVPlacement(0, - G4ThreeVector(-5.18 *cm,0.0*cm, -18.03*cm), - "physicalOvary", - logicOvary, + G4VPhysicalVolume* physRightOvary = new G4PVPlacement(0, + G4ThreeVector(6. *cm,0.0*cm, -20*cm), + "physicalRightOvary", + logicRightOvary, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) { G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicOvary->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + logicRightOvary->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); } // Visualization Attributes - G4VisAttributes* OvaryVisAtt = new G4VisAttributes(G4Colour(0.85,0.44,0.84)); - OvaryVisAtt->SetForceSolid(true); - logicOvary->SetVisAttributes(OvaryVisAtt); + // G4VisAttributes* RightOvaryVisAtt = new G4VisAttributes(G4Colour(0.85,0.44,0.84)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* RightOvaryVisAtt = new G4VisAttributes(colour); + RightOvaryVisAtt->SetForceSolid(wireFrame); + logicRightOvary->SetVisAttributes(RightOvaryVisAtt); - G4cout << "Ovary created !!!!!!" << G4endl; + G4cout << "RightOvary created !!!!!!" << G4endl; - // Testing Ovary Volume - G4double OvaryVol = logicOvary->GetSolid()->GetCubicVolume(); - G4cout << "Volume of Ovary = " << OvaryVol/cm3 << " cm^3" << G4endl; + // Testing RightOvary Volume + G4double RightOvaryVol = logicRightOvary->GetSolid()->GetCubicVolume(); + G4cout << "Volume of RightOvary = " << RightOvaryVol/cm3 << " cm^3" << G4endl; - // Testing Ovary Material - G4String OvaryMat = logicOvary->GetMaterial()->GetName(); - G4cout << "Material of Ovary = " << OvaryMat << G4endl; + // Testing RightOvary Material + G4String RightOvaryMat = logicRightOvary->GetMaterial()->GetName(); + G4cout << "Material of RightOvary = " << RightOvaryMat << G4endl; // Testing Density - G4double OvaryDensity = logicOvary->GetMaterial()->GetDensity(); - G4cout << "Density of Material = " << OvaryDensity*cm3/g << " g/cm^3" << G4endl; + G4double RightOvaryDensity = logicRightOvary->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << RightOvaryDensity*cm3/g << " g/cm^3" << G4endl; // Testing Mass - G4double OvaryMass = (OvaryVol)*OvaryDensity; - G4cout << "Mass of Ovary = " << OvaryMass/gram << " g" << G4endl; + G4double RightOvaryMass = (RightOvaryVol)*RightOvaryDensity; + G4cout << "Mass of RightOvary = " << RightOvaryMass/gram << " g" << G4endl; - return physOvary; + return physRightOvary; } diff --git a/examples/advanced/human_phantom/src/G4MIRDRightScapula.cc b/examples/advanced/human_phantom/src/G4MIRDRightScapula.cc new file mode 100755 index 0000000000..4e65e0134b --- /dev/null +++ b/examples/advanced/human_phantom/src/G4MIRDRightScapula.cc @@ -0,0 +1,163 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#include "G4MIRDRightScapula.hh" + +#include "globals.hh" + +#include "G4SDManager.hh" +#include "G4Cons.hh" + +#include "G4VisAttributes.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4EllipticalTube.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" +#include "G4RotationMatrix.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4SubtractionSolid.hh" +#include "G4HumanPhantomColour.hh" +#include "G4Box.hh" + +G4MIRDRightScapula::G4MIRDRightScapula() +{ +} + +G4MIRDRightScapula::~G4MIRDRightScapula() +{ +} + +G4VPhysicalVolume* G4MIRDRightScapula::Construct(const G4String& volumeName, G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity) +{ + + G4cout << "Construct"<< volumeName << G4endl; + + G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); + G4Material* skeleton = material -> GetMaterial("skeleton"); + + G4double ax_in = 17.* cm; + G4double by_in = 9.8* cm; + G4double ax_out = 19.*cm; + G4double by_out = 9.8*cm; + G4double dz= 16.4* cm; + + + G4EllipticalTube* inner_scapula = new G4EllipticalTube("ScapulaIn", ax_in, by_in, (dz+ 1.*cm)/2); + G4EllipticalTube* outer_scapula = new G4EllipticalTube("ScapulaOut", ax_out, by_out, dz/2); + + + + + G4Box* subtraction = new G4Box("subtraction",ax_out, ax_out, ax_out); + + G4double xx = -ax_out * 0.242 ; //(sin 14deg) + G4double yy = - ax_out * 0.97; // (cos 14 deg) + + G4RotationMatrix* rm = new G4RotationMatrix(); + rm -> rotateZ(14.* degree); + + + + G4SubtractionSolid* scapula_first = new G4SubtractionSolid("Scapula_first", + outer_scapula, + subtraction, + rm, + G4ThreeVector(xx, yy, 0. *cm)); + + G4double xx2 = ax_out * 0.62470 ; //(cos 51.34deg) + G4double yy2 = ax_out * 0.78087; // (sin 51.34 deg) + + G4RotationMatrix* rm2 = new G4RotationMatrix(); + rm2 -> rotateZ(38.6598* degree); + + + G4SubtractionSolid* scapula_bone = new G4SubtractionSolid("Scapula", + scapula_first, + subtraction, + rm2, + G4ThreeVector(xx2, yy2, 0. *cm)); + + G4SubtractionSolid* scapula = new G4SubtractionSolid("Scapula", + scapula_bone, + inner_scapula); + + G4LogicalVolume* logicRightScapula = new G4LogicalVolume(scapula, + skeleton, + "logical" + volumeName, + 0, 0, 0); + + G4VPhysicalVolume* physRightScapula = new G4PVPlacement(0, + + G4ThreeVector(0. * cm, 0. * cm, 24.1 *cm), + "physicalRightScapula", + logicRightScapula, + mother, + false, + 0, true); + + if (sensitivity == true) + { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + logicRightScapula->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + } + + // Visualization Attributes + //G4VisAttributes* RightScapulaVisAtt = new G4VisAttributes(G4Colour(0.94,0.5,0.5)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* RightScapulaVisAtt = new G4VisAttributes(colour); + RightScapulaVisAtt->SetForceSolid(wireFrame); + logicRightScapula->SetVisAttributes(RightScapulaVisAtt); + G4cout << "RightScapula created !!!!!!" << G4endl; + + // Testing RightScapula Volume + G4double RightScapulaVol = logicRightScapula->GetSolid()->GetCubicVolume(); + G4cout << "Volume of RightScapula = " << RightScapulaVol/cm3 << " cm^3" << G4endl; + + // Testing RightScapula Material + G4String RightScapulaMat = logicRightScapula->GetMaterial()->GetName(); + G4cout << "Material of RightScapula = " << RightScapulaMat << G4endl; + + // Testing Density + G4double RightScapulaDensity = logicRightScapula->GetMaterial()->GetDensity(); + G4cout << "Density of Material = " << RightScapulaDensity*cm3/g << " g/cm^3" << G4endl; + + // Testing Mass + G4double RightScapulaMass = (RightScapulaVol)*RightScapulaDensity; + G4cout << "Mass of RightScapula = " << RightScapulaMass/gram << " g" << G4endl; + + + return physRightScapula; +} diff --git a/examples/advanced/human_phantom/src/G4MIRDSkull.cc b/examples/advanced/human_phantom/src/G4MIRDSkull.cc index 64b7245971..74c322a05c 100644 --- a/examples/advanced/human_phantom/src/G4MIRDSkull.cc +++ b/examples/advanced/human_phantom/src/G4MIRDSkull.cc @@ -46,6 +46,7 @@ #include "G4Box.hh" #include "G4UnionSolid.hh" #include "G4VSolid.hh" +#include "G4HumanPhantomColour.hh" G4MIRDSkull::G4MIRDSkull() { @@ -56,81 +57,50 @@ G4MIRDSkull::~G4MIRDSkull() } -G4VPhysicalVolume* G4MIRDSkull::ConstructSkull(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDSkull::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, + G4bool wireFrame,G4bool sensitivity) { G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); - G4cout << "ConstructSkull for "<< sex < GetMaterial("skeleton"); delete material; - G4double ax = 7.68 * cm; - G4double by = 9.67 * cm; - G4double cz = 6.83 * cm; - G4double zcut1 = -6.83 * cm; - G4double zcut2 = 6.83 * cm; - - G4Ellipsoid* craniumOut = new G4Ellipsoid("CraniumOut", ax, by, cz, zcut1, zcut2); - - ax = 7.18 * cm; - by = 9.17 * cm; - cz= 6.33 * cm; - zcut1 =-6.33 * cm; - zcut2 = 6.33 * cm; - - G4Ellipsoid* craniumIn = new G4Ellipsoid("CraniumIn", ax, by, cz, zcut1, zcut2); - - G4double dx = 6.92 * cm; - G4double dy = 8.91 * cm; - G4double dz = 5.13 * cm; - - G4EllipticalTube* facialSkeletonOut = new G4EllipticalTube("FacialSkeletonOut",dx, dy, dz); - - dx= 5.82 * cm; - dy= 7.81 * cm; - dz= 6.13 * cm; + // Outer cranium + G4double ax = 6.8 * cm;//a out skull + G4double by = 9.8 * cm; // bout + G4double cz = 8.3 * cm; //cout - G4EllipticalTube* facialSkeletonIn = new G4EllipticalTube("FacialSkeletonIn",dx, dy, dz); - - G4double xx = 14.84 * cm; - G4double yy = 18.82 * cm; - G4double zz = 11.26 * cm; + G4Ellipsoid* craniumOut = new G4Ellipsoid("CraniumOut", ax, by, cz); - G4VSolid* subtr = new G4Box("SubtrFacialSkeleton", xx/2., yy/2., zz/2.); + ax = 6. * cm; //a in + by = 9. * cm; //b in + cz= 6.5 * cm; // cin + + G4Ellipsoid* craniumIn = new G4Ellipsoid("CraniumIn", ax, by, cz); - G4VSolid* firstFacialSkeleton = new G4SubtractionSolid("SubtrFacialSkeleton", - facialSkeletonOut, - facialSkeletonIn); - - - G4SubtractionSolid* facialSkeleton = new G4SubtractionSolid("FacialSkeleton", - firstFacialSkeleton, - subtr,0, - G4ThreeVector(0.0, 8.91 * cm, 0.0)); G4SubtractionSolid* cranium = new G4SubtractionSolid("Cranium", craniumOut, craniumIn,0, - G4ThreeVector(0.0, 0.0,-0.6 * cm)); + G4ThreeVector(0.0, 0.0,1. * cm)); - G4UnionSolid* skull = new G4UnionSolid("Skull", facialSkeleton, cranium,0, - G4ThreeVector(0.0,0.0,5.13 * cm)); - - G4LogicalVolume* logicSkull = new G4LogicalVolume(skull, skeleton, - "SkullVolume", + G4LogicalVolume* logicSkull = new G4LogicalVolume(cranium, skeleton, + "logical" + volumeName, 0, 0, 0); // Define rotation and position here! G4VPhysicalVolume* physSkull = new G4PVPlacement(0, - G4ThreeVector(0., 0.,2.875 * cm), + G4ThreeVector(0., 0.,7.75 * cm), "physicalSkull", logicSkull, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) @@ -140,8 +110,12 @@ G4VPhysicalVolume* G4MIRDSkull::ConstructSkull(G4VPhysicalVolume* mother, G4Stri } // Visualization Attributes - G4VisAttributes* SkullVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); - SkullVisAtt->SetForceSolid(false); + //G4VisAttributes* SkullVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* SkullVisAtt = new G4VisAttributes(colour); + SkullVisAtt->SetForceSolid(wireFrame); + SkullVisAtt->SetLineWidth(4.* mm); logicSkull->SetVisAttributes(SkullVisAtt); G4cout << "Skull created !!!!!!" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MIRDSpleen.cc b/examples/advanced/human_phantom/src/G4MIRDSpleen.cc index bdba1e9a65..40255205a1 100644 --- a/examples/advanced/human_phantom/src/G4MIRDSpleen.cc +++ b/examples/advanced/human_phantom/src/G4MIRDSpleen.cc @@ -46,6 +46,7 @@ #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" #include "G4Ellipsoid.hh" +#include "G4HumanPhantomColour.hh" G4MIRDSpleen::G4MIRDSpleen() { } @@ -55,28 +56,29 @@ G4MIRDSpleen::~G4MIRDSpleen() } -G4VPhysicalVolume* G4MIRDSpleen::ConstructSpleen(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDSpleen::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) { - G4cout << "ConstructSpleen for " << sex << G4endl; + G4cout << "Construct "<< volumeName << G4endl; G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); G4Material* soft = material -> GetMaterial("soft_tissue"); delete material; - G4double ax= 2.90 *cm; - G4double by= 1.88 *cm; - G4double cz= 5.19 * cm; + G4double ax= 3.5 *cm; + G4double by= 2. *cm; + G4double cz= 6. * cm; G4Ellipsoid* spleen = new G4Ellipsoid("spleen", ax, by, cz); G4LogicalVolume* logicSpleen = new G4LogicalVolume(spleen, soft, - "SpleenVolume", - 0, 0, 0); + "logical" + volumeName, + 0, 0, 0); // Define rotation and position here! G4VPhysicalVolume* physSpleen = new G4PVPlacement(0, - G4ThreeVector(9.49 *cm, 2.94 *cm, 1.8*cm), + G4ThreeVector(11. *cm, 3. *cm, 2.*cm), // ztrans = half trunk lenght - z0 "physicalSpleen", logicSpleen, mother, @@ -91,8 +93,11 @@ G4VPhysicalVolume* G4MIRDSpleen::ConstructSpleen(G4VPhysicalVolume* mother, G4St } // Visualization Attributes - G4VisAttributes* SpleenVisAtt = new G4VisAttributes(G4Colour(0.41,0.41,0.41)); - SpleenVisAtt->SetForceSolid(true); + // G4VisAttributes* SpleenVisAtt = new G4VisAttributes(G4Colour(0.41,0.41,0.41)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* SpleenVisAtt = new G4VisAttributes(colour); + SpleenVisAtt->SetForceSolid(wireFrame); logicSpleen->SetVisAttributes(SpleenVisAtt); G4cout << "Spleen created !!!!!!" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MIRDStomach.cc b/examples/advanced/human_phantom/src/G4MIRDStomach.cc index c7fe389243..f1b39e368a 100644 --- a/examples/advanced/human_phantom/src/G4MIRDStomach.cc +++ b/examples/advanced/human_phantom/src/G4MIRDStomach.cc @@ -39,12 +39,13 @@ #include "G4Ellipsoid.hh" #include "G4ThreeVector.hh" #include "G4VPhysicalVolume.hh" -#include "G4RotationMatrix.hh" #include "G4Material.hh" #include "G4LogicalVolume.hh" #include "G4HumanPhantomMaterial.hh" #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" +#include "G4SubtractionSolid.hh" +#include "G4HumanPhantomColour.hh" G4MIRDStomach::G4MIRDStomach() { @@ -54,35 +55,46 @@ G4MIRDStomach::~G4MIRDStomach() { } -G4VPhysicalVolume* G4MIRDStomach::ConstructStomach(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDStomach::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) { - G4cout << "ConstructStomach for " << sex << G4endl; + G4cout << "Construct "<< volumeName << G4endl; G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); G4Material* soft = material -> GetMaterial("soft_tissue"); delete material; - G4double ax = 3.43 * cm; - G4double by= 2.92 * cm; - G4double cz = 7.16 * cm; - G4double zcut1 = -7.16 * cm; - G4double zcut2 = 7.16 * cm; + G4double ax = 4. * cm; + G4double by= 3. * cm; + G4double cz = 8. * cm; + //G4double zcut1 = -8. * cm; + //G4double zcut2 = 8* cm; - G4Ellipsoid* stomach = new G4Ellipsoid("stomach", - ax, by, cz, - zcut1, zcut2); + G4Ellipsoid* stomach_out = new G4Ellipsoid("stomach_out", + ax, by, cz); + // zcut1, zcut2); + /* + ax = 3.387 * cm; + by = 2.387 * cm; + cz = 7.387 * cm; + zcut1 = - 7.387 *cm; + zcut2 = 7.387 *cm; - G4LogicalVolume* logicStomach = new G4LogicalVolume(stomach, soft, - "StomachVolume", 0, 0, 0); + G4Ellipsoid* cavity = new G4Ellipsoid ("cavity", ax, by, cz, zcut1, zcut2); + + G4SubtractionSolid* stomach = new G4SubtractionSolid("stomach",stomach_out, cavity); + */ + G4LogicalVolume* logicStomach = new G4LogicalVolume(stomach_out, soft, + "logical" + volumeName, 0, 0, 0); // Define rotation and position here! - G4VPhysicalVolume* physStomach = new G4PVPlacement(0,G4ThreeVector(6.90 *cm,-3.92 * cm, 0), + G4VPhysicalVolume* physStomach = new G4PVPlacement(0,G4ThreeVector(8. *cm,-4. * cm, 0), "physicalStomach", logicStomach, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) @@ -92,8 +104,11 @@ G4VPhysicalVolume* G4MIRDStomach::ConstructStomach(G4VPhysicalVolume* mother, G4 } // Visualization Attributes - G4VisAttributes* StomachVisAtt = new G4VisAttributes(G4Colour(0.63,0.32,0.17)); - StomachVisAtt->SetForceSolid(true); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + + G4VisAttributes* StomachVisAtt = new G4VisAttributes(colour); + StomachVisAtt->SetForceSolid(wireFrame); logicStomach->SetVisAttributes(StomachVisAtt); G4cout << "Stomach created !!!!!!" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MIRDThyroid.cc b/examples/advanced/human_phantom/src/G4MIRDThyroid.cc index 54f6ec3afb..616c678f6c 100644 --- a/examples/advanced/human_phantom/src/G4MIRDThyroid.cc +++ b/examples/advanced/human_phantom/src/G4MIRDThyroid.cc @@ -60,18 +60,18 @@ G4VPhysicalVolume* G4MIRDThyroid::ConstructThyroid(G4VPhysicalVolume* mother, G4 G4Material* soft = material -> GetMaterial("soft_tissue"); delete material; - G4double z= 4.20*cm; - G4double rmin= 0. * cm; - G4double rmax= 1.85 *cm; + G4double z= 4.20*cm; //c thickness = c, + G4double rmin= 0. * cm; + G4double rmax= 1.85 *cm; //Rmax G4double startphi = 0. * degree; - G4double deltaphi= 180. * degree; + G4double deltaphi= 180. * degree; // y< y0 G4Tubs* LobOfThyroidOut = new G4Tubs("LobOfThyroidOut", rmin, rmax,z/2., startphi, deltaphi); - z= 4.50*cm; - rmax= 0.83 * cm; + z= 4.50*cm; // c thickness + something + rmax= 0.83 * cm; //r deltaphi= 360. * degree; G4Tubs* LobOfThyroidIn = new G4Tubs("LobOfThyroidIn", rmin, rmax,z/2., @@ -83,6 +83,7 @@ G4VPhysicalVolume* G4MIRDThyroid::ConstructThyroid(G4VPhysicalVolume* mother, G4 G4Box* SubtrThyroid = new G4Box("SubtrThyroid", xx/2., yy/2., zz/2.); + // subtraction of the two tubs G4SubtractionSolid* FirstThyroid = new G4SubtractionSolid("FirstThyroid", LobOfThyroidOut, LobOfThyroidIn); @@ -116,7 +117,7 @@ G4SubtractionSolid* thyroid = new G4SubtractionSolid("SecondThyroid", rm -> rotateZ(180.*degree); G4VPhysicalVolume* physThyroid = new G4PVPlacement(rm, - G4ThreeVector(0.0*cm,-3.91*cm, -5.925*cm), + G4ThreeVector(0.0*cm,-3.91*cm, -5.925*cm),//y0 "physicalThyroid", logicThyroid, mother, diff --git a/examples/advanced/human_phantom/src/G4MIRDTrunk.cc b/examples/advanced/human_phantom/src/G4MIRDTrunk.cc index 533e8aa43d..97a3c429c7 100644 --- a/examples/advanced/human_phantom/src/G4MIRDTrunk.cc +++ b/examples/advanced/human_phantom/src/G4MIRDTrunk.cc @@ -41,6 +41,7 @@ #include "G4ThreeVector.hh" #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" +#include "G4HumanPhantomColour.hh" G4MIRDTrunk::G4MIRDTrunk() { @@ -51,37 +52,40 @@ G4MIRDTrunk::~G4MIRDTrunk() } -G4VPhysicalVolume* G4MIRDTrunk::ConstructTrunk(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDTrunk::Construct(const G4String& volumeName, G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame,G4bool sensitivity) { G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); - G4cout << "ConstructTrunck for "<< sex < GetMaterial("soft_tissue"); delete material; - G4double dx = 17.25 * cm; - G4double dy = 9.80 * cm; - G4double dz = 31.55 * cm; + // MIRD Male trunk + + G4double dx = 20. * cm; + G4double dy = 10. * cm; + G4double dz = 35. * cm; G4EllipticalTube* trunk = new G4EllipticalTube("Trunk",dx, dy, dz); G4LogicalVolume* logicTrunk = new G4LogicalVolume(trunk, soft, - "TrunkVolume", + "logical" + volumeName, 0, 0, 0); G4RotationMatrix* rm = new G4RotationMatrix(); rm -> rotateX(90.* degree); // Define rotation and position here! G4VPhysicalVolume* physTrunk = new G4PVPlacement(rm, - G4ThreeVector(0.* cm,31.55*cm, 0.*cm), + G4ThreeVector(0.* cm, 35.0 *cm, 0.*cm), "physicalTrunk", logicTrunk, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity == true) @@ -91,8 +95,10 @@ G4VPhysicalVolume* G4MIRDTrunk::ConstructTrunk(G4VPhysicalVolume* mother, G4Stri } // Visualization Attributes - G4VisAttributes* TrunkVisAtt = new G4VisAttributes(G4Colour(0.94,0.5,0.5)); - TrunkVisAtt->SetForceSolid(false); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* TrunkVisAtt = new G4VisAttributes(colour); + TrunkVisAtt->SetForceSolid(wireFrame); logicTrunk->SetVisAttributes(TrunkVisAtt); G4cout << "Trunk created !!!!!!" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MIRDUpperLargeIntestine.cc b/examples/advanced/human_phantom/src/G4MIRDUpperLargeIntestine.cc index 91f25f471b..ceabad5931 100644 --- a/examples/advanced/human_phantom/src/G4MIRDUpperLargeIntestine.cc +++ b/examples/advanced/human_phantom/src/G4MIRDUpperLargeIntestine.cc @@ -44,6 +44,7 @@ #include "G4PVPlacement.hh" #include "G4LogicalVolume.hh" #include "G4HumanPhantomMaterial.hh" +#include "G4HumanPhantomColour.hh" G4MIRDUpperLargeIntestine::G4MIRDUpperLargeIntestine() { @@ -53,23 +54,26 @@ G4MIRDUpperLargeIntestine::~G4MIRDUpperLargeIntestine() { } -G4VPhysicalVolume* G4MIRDUpperLargeIntestine::ConstructUpperLargeIntestine(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDUpperLargeIntestine::Construct(const G4String& volumeName, + G4VPhysicalVolume* mother, + const G4String& colourName + , G4bool wireFrame,G4bool sensitivity) { -G4cout << "ConstructUpperLargeIntestine for " << sex << G4endl; + G4cout << "Construct " << volumeName<< G4endl; G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); G4Material* soft = material -> GetMaterial("soft_tissue"); delete material; - G4double dx = 2.16 * cm; - G4double dy = 2.45 * cm; - G4double dz = 4.3 * cm; + G4double dx = 2.5 * cm; // aU + G4double dy = 2.5* cm; //bU + G4double dz = 4.775 * cm; //dzU G4VSolid* AscendingColonUpperLargeIntestine = new G4EllipticalTube("AscendingColon",dx, dy, dz); - dx = 2.45 * cm; - dy = 1.35 *cm; - dz = 9.06* cm; + dx = 2.5 * cm;//bt + dy = 1.5 *cm;//ct + dz = 10.5* cm;//x1t G4VSolid* TraverseColonUpperLargeIntestine = new G4EllipticalTube("TraverseColon",dx, dy, dz); @@ -81,20 +85,20 @@ G4cout << "ConstructUpperLargeIntestine for " << sex << G4endl; AscendingColonUpperLargeIntestine, TraverseColonUpperLargeIntestine, relative_rm, - G4ThreeVector(7.2 *cm, 0.0, 5.65 * cm)); - + G4ThreeVector(8.50 *cm, 0.0,6.275 * cm)); //,0,dzU + ct transverse + G4LogicalVolume* logicUpperLargeIntestine = new G4LogicalVolume(upperLargeIntestine, soft, - "UpperLargeIntestineVolume", + "logical" + volumeName, 0, 0, 0); G4VPhysicalVolume* physUpperLargeIntestine = new G4PVPlacement(0, - G4ThreeVector(-7.33 * cm, -2.31 *cm,-14.22 *cm), - "physicalUpperLargeIntestine", + G4ThreeVector(-8.50 * cm, -2.36 *cm,-15.775 *cm), + "physicalUpperLargeIntestine", //xo, yo, zo ascending colon logicUpperLargeIntestine, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) @@ -104,8 +108,11 @@ G4cout << "ConstructUpperLargeIntestine for " << sex << G4endl; } // Visualization Attributes - G4VisAttributes* UpperLargeIntestineVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - UpperLargeIntestineVisAtt->SetForceSolid(true); + // G4VisAttributes* UpperLargeIntestineVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* UpperLargeIntestineVisAtt = new G4VisAttributes(colour); + UpperLargeIntestineVisAtt->SetForceSolid(wireFrame); logicUpperLargeIntestine->SetVisAttributes(UpperLargeIntestineVisAtt); G4cout << "UpperLargeIntestine created !!!!!!" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MIRDUpperSpine.cc b/examples/advanced/human_phantom/src/G4MIRDUpperSpine.cc index 49e366826c..b6f8ab7a0c 100644 --- a/examples/advanced/human_phantom/src/G4MIRDUpperSpine.cc +++ b/examples/advanced/human_phantom/src/G4MIRDUpperSpine.cc @@ -42,6 +42,9 @@ #include "G4ThreeVector.hh" #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" +#include "G4Box.hh" +#include "G4SubtractionSolid.hh" +#include "G4HumanPhantomColour.hh" G4MIRDUpperSpine::G4MIRDUpperSpine() { @@ -52,33 +55,48 @@ G4MIRDUpperSpine::~G4MIRDUpperSpine() } -G4VPhysicalVolume* G4MIRDUpperSpine::ConstructUpperSpine(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDUpperSpine::Construct(const G4String& volumeName, + G4VPhysicalVolume* mother, + const G4String& colourName + , G4bool wireFrame,G4bool sensitivity) { G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); - G4cout << "ConstructUpperSpine for "<< sex < GetMaterial("skeleton"); delete material; - G4double dx = 1.73 *cm; - G4double dy = 2.45 *cm; - G4double dz = 5.*cm; + G4double dx = 2. *cm; + G4double dy = 2.5 *cm; + G4double dz = 4.25*cm; G4EllipticalTube* upperSpine = new G4EllipticalTube("UpperSpine",dx, dy, dz); - G4LogicalVolume* logicUpperSpine = new G4LogicalVolume(upperSpine, skeleton, - "UpperSpineVolume", + G4double xx = 20. * cm; + G4double yy = 10. * cm; + G4double zz = 5. * cm; + + G4Box* subtraction = new G4Box("box", xx/2., yy/2., zz/2.); + + G4RotationMatrix* matrix = new G4RotationMatrix(); + matrix -> rotateX(-25.* deg); + + G4SubtractionSolid* upper_spine = new G4SubtractionSolid("upperspine",upperSpine, subtraction, + matrix, G4ThreeVector(0., -2.5 * cm, 5.5* cm)); + + G4LogicalVolume* logicUpperSpine = new G4LogicalVolume(upper_spine, skeleton, + "logical" + volumeName, 0, 0, 0); // Define rotation and position here! G4VPhysicalVolume* physUpperSpine = new G4PVPlacement(0, - G4ThreeVector(0.0, 5.39 *cm, -3.25 *cm), + G4ThreeVector(0.0, 5.5 *cm, -3.5 *cm), "physicalUpperSpine", logicUpperSpine, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) @@ -88,8 +106,12 @@ G4VPhysicalVolume* G4MIRDUpperSpine::ConstructUpperSpine(G4VPhysicalVolume* moth } // Visualization Attributes - G4VisAttributes* UpperSpineVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); - UpperSpineVisAtt->SetForceSolid(true); + //G4VisAttributes* UpperSpineVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* UpperSpineVisAtt = new G4VisAttributes(colour); + + UpperSpineVisAtt->SetForceSolid(wireFrame); logicUpperSpine->SetVisAttributes(UpperSpineVisAtt); G4cout << "UpperSpine created !!!!!!" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MIRDUrinaryBladder.cc b/examples/advanced/human_phantom/src/G4MIRDUrinaryBladder.cc index 5c95fe9c57..40443f0800 100644 --- a/examples/advanced/human_phantom/src/G4MIRDUrinaryBladder.cc +++ b/examples/advanced/human_phantom/src/G4MIRDUrinaryBladder.cc @@ -41,6 +41,9 @@ #include "G4HumanPhantomMaterial.hh" #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" +#include "G4SubtractionSolid.hh" +#include "G4HumanPhantomColour.hh" + G4MIRDUrinaryBladder::G4MIRDUrinaryBladder() { } @@ -49,34 +52,40 @@ G4MIRDUrinaryBladder::~G4MIRDUrinaryBladder() { } -G4VPhysicalVolume* G4MIRDUrinaryBladder::ConstructUrinaryBladder(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDUrinaryBladder::Construct(const G4String& volumeName, G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) { - G4cout << "ConstructUrinaryBladded for " << sex << G4endl; + G4cout << "Construct " << volumeName << G4endl; G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); G4Material* soft = material -> GetMaterial("soft_tissue"); delete material; - G4double ax = 4.27*cm; - G4double by= 3.38 *cm; - G4double cz= 3.11 *cm; - G4double zcut1= -3.11*cm; - G4double zcut2= 3.11*cm; - - G4Ellipsoid* bladder = new G4Ellipsoid("bladder",ax, by, cz, zcut1, zcut2 ); + G4double ax = 4.958*cm; + G4double by= 3.458 *cm; + G4double cz= 3.458 *cm; - G4LogicalVolume* logicUrinaryBladder = new G4LogicalVolume(bladder, soft, - "UrinaryBladderVolume", + G4Ellipsoid* bladder = new G4Ellipsoid("bladder_out",ax, by, cz); + + ax = 4.706 * cm; + by = 3.206 * cm; + cz = 3.206 * cm; + G4Ellipsoid* inner = new G4Ellipsoid("innerBladder", ax, by, cz); + + G4SubtractionSolid* totalBladder = new G4SubtractionSolid("bladder", bladder, inner); + + G4LogicalVolume* logicUrinaryBladder = new G4LogicalVolume(totalBladder, soft, + "logical" + volumeName, 0, 0, 0); // Define rotation and position here! - G4VPhysicalVolume* physUrinaryBladder = new G4PVPlacement(0,G4ThreeVector(0 *cm, -4.41 *cm,-24.34 *cm), + G4VPhysicalVolume* physUrinaryBladder = new G4PVPlacement(0,G4ThreeVector(0 *cm, -4.5 *cm,-27. *cm), "physicalUrinaryBladder", logicUrinaryBladder, mother, false, - 0); + 0, true); // Sensitive Body Part if (sensitivity==true) @@ -86,8 +95,12 @@ G4VPhysicalVolume* G4MIRDUrinaryBladder::ConstructUrinaryBladder(G4VPhysicalVolu } // Visualization Attributes - G4VisAttributes* UrinaryBladderVisAtt = new G4VisAttributes(G4Colour(0.85,0.65,0.125)); - UrinaryBladderVisAtt->SetForceSolid(true); + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* UrinaryBladderVisAtt = new G4VisAttributes(colour); + //G4VisAttributes* UrinaryBladderVisAtt = new G4VisAttributes(G4Colour(0.85,0.65,0.125)); + + UrinaryBladderVisAtt->SetForceSolid(wireFrame); logicUrinaryBladder->SetVisAttributes(UrinaryBladderVisAtt); G4cout << "UrinaryBladder created !!!!!!" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MIRDUterus.cc b/examples/advanced/human_phantom/src/G4MIRDUterus.cc index 975848d434..ba16637bc6 100644 --- a/examples/advanced/human_phantom/src/G4MIRDUterus.cc +++ b/examples/advanced/human_phantom/src/G4MIRDUterus.cc @@ -44,6 +44,7 @@ #include "G4HumanPhantomMaterial.hh" #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" +#include "G4HumanPhantomColour.hh" G4MIRDUterus::G4MIRDUterus() { } @@ -52,20 +53,22 @@ G4MIRDUterus::~G4MIRDUterus() { } -G4VPhysicalVolume* G4MIRDUterus::ConstructUterus(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4MIRDUterus::Construct(const G4String& volumeName,G4VPhysicalVolume* mother, + const G4String& colourName, G4bool wireFrame, G4bool sensitivity) { - G4cout << "ConstructUterus for " << sex << G4endl; + G4cout << "Construct " << volumeName << G4endl; G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); G4Material* soft = material -> GetMaterial("soft_tissue"); delete material; - G4double ax= 2.47*cm; - G4double by= 1.55*cm; - G4double cz= 5.61*cm; - G4double zcut1= -5.61* cm; - G4double zcut2= 2.81*cm; + G4double ax= 2.5*cm; //a + G4double by= 1.5*cm; //c + G4double cz= 5.*cm; //b + + G4double zcut1= -5.* cm; //-b + G4double zcut2= 2.5*cm; //y1-y0 G4Ellipsoid* uterus = new G4Ellipsoid("Uterus", ax, by, cz, @@ -73,7 +76,7 @@ G4VPhysicalVolume* G4MIRDUterus::ConstructUterus(G4VPhysicalVolume* mother, G4St G4LogicalVolume* logicUterus = new G4LogicalVolume(uterus, soft, - "UterusVolume", + "logical" + volumeName, 0, 0, 0); @@ -82,8 +85,8 @@ G4VPhysicalVolume* G4MIRDUterus::ConstructUterus(G4VPhysicalVolume* mother, G4St // Define rotation and position here! G4VPhysicalVolume* physUterus = new G4PVPlacement(rm, - G4ThreeVector(0. *cm, 1.96*cm,-18.93 *cm), - "physicalUterus", + G4ThreeVector(0. *cm, 2*cm,-21 *cm), + "physicalUterus", //y0 logicUterus, mother, false, @@ -97,8 +100,12 @@ G4VPhysicalVolume* G4MIRDUterus::ConstructUterus(G4VPhysicalVolume* mother, G4St } // Visualization Attributes - G4VisAttributes* UterusVisAtt = new G4VisAttributes(G4Colour(0.85,0.44,0.84)); - UterusVisAtt->SetForceSolid(true); + // G4VisAttributes* UterusVisAtt = new G4VisAttributes(G4Colour(0.85,0.44,0.84)); + + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* UterusVisAtt = new G4VisAttributes(colour); + UterusVisAtt->SetForceSolid(wireFrame); logicUterus->SetVisAttributes(UterusVisAtt); G4cout << "Uterus created !!!!!!" << G4endl; diff --git a/examples/advanced/human_phantom/src/G4MaleBuilder.cc b/examples/advanced/human_phantom/src/G4MaleBuilder.cc index c9a3ff4cbf..156afb2975 100644 --- a/examples/advanced/human_phantom/src/G4MaleBuilder.cc +++ b/examples/advanced/human_phantom/src/G4MaleBuilder.cc @@ -32,12 +32,16 @@ // design and code review. // #include"G4MaleBuilder.hh" +#include "G4MIRDBodyFactory.hh" +#include "G4ORNLMaleBodyFactory.hh" + G4MaleBuilder::G4MaleBuilder() { } G4MaleBuilder::~G4MaleBuilder() { + delete body; } void G4MaleBuilder::BuildMaleGenitalia(G4bool /*sensitivity*/) @@ -49,3 +53,13 @@ void G4MaleBuilder::BuildTestes(G4bool /*sensitivity*/) { G4cout << "Male testes are not available !!!" << G4endl; } +/* +void G4MaleBuilder::SetModel(G4String modelFlag) +{ + model = modelFlag; + + if(model=="MIRD") body = new G4MIRDBodyFactory(); + if(model=="ORNLMale") body = new G4ORNLMaleBodyFactory(); + G4cout << "SetModel in G4PhantomBuilder: "<< body << G4endl; +} +*/ diff --git a/examples/advanced/human_phantom/src/G4ORNLAdrenal.cc b/examples/advanced/human_phantom/src/G4ORNLAdrenal.cc deleted file mode 100644 index 1aa9fd467c..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLAdrenal.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// - -#include "G4ORNLAdrenal.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" -#include "G4VisAttributes.hh" - -G4ORNLAdrenal::G4ORNLAdrenal() -{ -} - -G4ORNLAdrenal::~G4ORNLAdrenal() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLAdrenal::ConstructAdrenal(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLAdrenal.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - G4LogicalVolume* logicAdrenal = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("AdrenalVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("AdrenalPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("AdrenalRot"); - -G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physAdrenal = new G4PVPlacement(rm,position, - "physicalAdrenal", - logicAdrenal, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicAdrenal->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - - // Visualization Attributes - G4VisAttributes* AdrenalVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - AdrenalVisAtt->SetForceSolid(true); - logicAdrenal->SetVisAttributes(AdrenalVisAtt); - - G4cout << "Adrenal created !!!!!!" << G4endl; - - return physAdrenal; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLArmBone.cc b/examples/advanced/human_phantom/src/G4ORNLArmBone.cc deleted file mode 100644 index 1decd02d12..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLArmBone.cc +++ /dev/null @@ -1,92 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLArmBone.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" -#include "G4VisAttributes.hh" - -G4ORNLArmBone::G4ORNLArmBone() -{ -} - -G4ORNLArmBone::~G4ORNLArmBone() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLArmBone::ConstructArmBone(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLArmBone.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicArmBone = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("ArmBoneVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("ArmBonePos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("ArmBoneRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physArmBone = new G4PVPlacement(rm,position, - "physicalArmBone", - logicArmBone, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicArmBone->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* ArmBoneVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - ArmBoneVisAtt->SetForceSolid(true); - logicArmBone->SetVisAttributes(ArmBoneVisAtt); - - G4cout << "ArmBone created !!!!!!" << G4endl; - - return physArmBone; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLBodyFactory.cc b/examples/advanced/human_phantom/src/G4ORNLBodyFactory.cc deleted file mode 100644 index 50a5debb1f..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLBodyFactory.cc +++ /dev/null @@ -1,241 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -// -#include "G4ORNLBodyFactory.hh" -#include "G4ORNLStomach.hh" -#include "G4ORNLUpperLargeIntestine.hh" -#include "G4ORNLLowerLargeIntestine.hh" -#include "G4ORNLEsophagus.hh" -#include "G4ORNLKidney.hh" -#include "G4ORNLAdrenal.hh" -#include "G4ORNLLiver.hh" -#include "G4ORNLPancreas.hh" -#include "G4ORNLSpleen.hh" -#include "G4ORNLUrinaryBladder.hh" -#include "G4ORNLLung.hh" -#include "G4ORNLHeart.hh" -#include "G4ORNLBrain.hh" -#include "G4ORNLHead.hh" -#include "G4ORNLTrunk.hh" -#include "G4ORNLLegs.hh" -#include "G4ORNLThyroid.hh" -#include "G4ORNLUterus.hh" -#include "G4ORNLBreast.hh" -#include "G4ORNLOvary.hh" -#include "G4ORNLUpperSpine.hh" -#include "G4ORNLMiddleLowerSpine.hh" -#include "G4ORNLLegBone.hh" -#include "G4ORNLArmBone.hh" -#include "G4ORNLSkull.hh" -#include "G4ORNLRibCage.hh" -#include "G4ORNLPelvis.hh" -#include "G4ORNLTestes.hh" - - -G4ORNLBodyFactory::G4ORNLBodyFactory() -{ -} - -G4ORNLBodyFactory::~G4ORNLBodyFactory() -{ -} - -G4VPhysicalVolume* G4ORNLBodyFactory::CreateStomach(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLStomach* stomach = new G4ORNLStomach(); - return stomach -> ConstructStomach(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateUpperLargeIntestine(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLUpperLargeIntestine* upperLargeIntestine = new G4ORNLUpperLargeIntestine(); - return upperLargeIntestine -> ConstructUpperLargeIntestine(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateLowerLargeIntestine(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLLowerLargeIntestine* lowerLargeIntestine = new G4ORNLLowerLargeIntestine(); - return lowerLargeIntestine -> ConstructLowerLargeIntestine(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateEsophagus(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLEsophagus* esophagus = new G4ORNLEsophagus(); - return esophagus -> ConstructEsophagus(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateKidney(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLKidney* kidney = new G4ORNLKidney(); - return kidney -> ConstructKidney(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateAdrenal(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLAdrenal* adrenal = new G4ORNLAdrenal(); - return adrenal -> ConstructAdrenal(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateLiver(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLLiver* liver = new G4ORNLLiver(); - return liver -> ConstructLiver(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreatePancreas(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLPancreas* pancreas = new G4ORNLPancreas(); - return pancreas -> ConstructPancreas(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateSpleen(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLSpleen* spleen = new G4ORNLSpleen(); - return spleen -> ConstructSpleen(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateUrinaryBladder(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLUrinaryBladder* urinaryBladder = new G4ORNLUrinaryBladder(); - return urinaryBladder -> ConstructUrinaryBladder(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateLung(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLLung* lung = new G4ORNLLung(); - return lung -> ConstructLung(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateHeart(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLHeart* heart = new G4ORNLHeart(); - return heart -> ConstructHeart(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateBrain(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLBrain* brain = new G4ORNLBrain(); - return brain -> ConstructBrain(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateHead(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLHead* head = new G4ORNLHead(); - return head -> ConstructHead(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateTrunk(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLTrunk* trunk = new G4ORNLTrunk(); - return trunk -> ConstructTrunk(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateLegs(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLLegs* legs = new G4ORNLLegs(); - return legs -> ConstructLegs(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateThyroid(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLThyroid* thyroid = new G4ORNLThyroid(); - return thyroid -> ConstructThyroid(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateUterus(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLUterus* uterus = new G4ORNLUterus(); - return uterus -> ConstructUterus(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateBreast(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLBreast* breast = new G4ORNLBreast(); - return breast -> ConstructBreast(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateOvary(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLOvary* ovary = new G4ORNLOvary(); - return ovary -> ConstructOvary(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateUpperSpine(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLUpperSpine* upperSpine = new G4ORNLUpperSpine(); - return upperSpine -> ConstructUpperSpine(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateMiddleLowerSpine(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLMiddleLowerSpine* middleLowerSpine = new G4ORNLMiddleLowerSpine(); - return middleLowerSpine -> ConstructMiddleLowerSpine(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateLegBone(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLLegBone* legBone = new G4ORNLLegBone(); - return legBone -> ConstructLegBone(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateArmBone(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLArmBone* armBone = new G4ORNLArmBone(); - return armBone -> ConstructArmBone(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateSkull(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLSkull* skull = new G4ORNLSkull(); - return skull -> ConstructSkull(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateRibCage(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLRibCage* ribCage = new G4ORNLRibCage(); - return ribCage -> ConstructRibCage(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreatePelvis(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLPelvis* pelvis = new G4ORNLPelvis(); - return pelvis -> ConstructPelvis(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateTestes(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4ORNLTestes* testes = new G4ORNLTestes(); - return testes -> ConstructTestes(motherVolume, sex, sensitivity); -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateNeck(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4cout << motherVolume << ">>>> Cannot create Neck of " << sex - << "phantom and with sensitivity = " << sensitivity - << ": not yet implemented!" << G4endl; - return 0; -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateScapulae(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4cout << motherVolume << ">>>> Cannot create Scapulae of " << sex - << "phantom and with sensitivity = " << sensitivity - << ": not yet implemented!" << G4endl; - return 0; -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateClavicles(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4cout << motherVolume << ">>>> Cannot create Clavicles of " << sex - << "phantom and with sensitivity = " << sensitivity - << ": not yet implemented!" << G4endl; - return 0; -} -G4VPhysicalVolume* G4ORNLBodyFactory::CreateMaleGenitalia(G4VPhysicalVolume* motherVolume, G4String sex, G4bool sensitivity) -{ - G4cout << motherVolume << ">>>> Cannot create Male Genitalia of " << sex - << "phantom and with sensitivity = " << sensitivity - << ": not yet implemented!" << G4endl; - return 0; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLBreast.cc b/examples/advanced/human_phantom/src/G4ORNLBreast.cc deleted file mode 100644 index f5c0bdb5f2..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLBreast.cc +++ /dev/null @@ -1,91 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLBreast.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" -#include "G4VisAttributes.hh" - -G4ORNLBreast::G4ORNLBreast() -{ -} - -G4ORNLBreast::~G4ORNLBreast() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLBreast::ConstructBreast(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLBreast.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicBreast = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("BreastVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("BreastPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("BreastRot"); - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physBreast = new G4PVPlacement(rm,position, - "physicalBreast", - logicBreast, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicBreast->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* BreastVisAtt = new G4VisAttributes(G4Colour(1.0,0.41,0.71)); - BreastVisAtt->SetForceSolid(true); - logicBreast->SetVisAttributes(BreastVisAtt); - - G4cout << "Breast created !!!!!!" << G4endl; - - return physBreast; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLEsophagus.cc b/examples/advanced/human_phantom/src/G4ORNLEsophagus.cc deleted file mode 100644 index 35a7bc8112..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLEsophagus.cc +++ /dev/null @@ -1,91 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLEsophagus.hh" - -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLEsophagus::G4ORNLEsophagus() -{ -} - -G4ORNLEsophagus::~G4ORNLEsophagus() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLEsophagus::ConstructEsophagus(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLEsophagus.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicEsophagus = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("EsophagusVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("EsophagusPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("EsophagusRot"); - - // Define rotation and position here! - G4VPhysicalVolume* physEsophagus = new G4PVPlacement(rm,position, - "physicalEsophagus", - logicEsophagus, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicEsophagus->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* EsophagusVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - EsophagusVisAtt->SetForceSolid(true); - logicEsophagus->SetVisAttributes(EsophagusVisAtt); - - G4cout << "Esophagus created !!!!!!" << G4endl; - - return physEsophagus; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLOvary.cc b/examples/advanced/human_phantom/src/G4ORNLFemaleBodyFactory.cc similarity index 58% rename from examples/advanced/human_phantom/src/G4ORNLOvary.cc rename to examples/advanced/human_phantom/src/G4ORNLFemaleBodyFactory.cc index 6f91a2d86a..4e0f9eddc3 100644 --- a/examples/advanced/human_phantom/src/G4ORNLOvary.cc +++ b/examples/advanced/human_phantom/src/G4ORNLFemaleBodyFactory.cc @@ -31,62 +31,89 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#include "G4ORNLOvary.hh" +// +#include "G4ORNLFemaleBodyFactory.hh" #include "G4PhysicalVolumeStore.hh" #include "G4Processor/GDMLProcessor.h" #include "globals.hh" #include "G4SDManager.hh" - #include "G4VisAttributes.hh" - -G4ORNLOvary::G4ORNLOvary() +#include "G4HumanPhantomColour.hh" +G4ORNLFemaleBodyFactory::G4ORNLFemaleBodyFactory() { + } -G4ORNLOvary::~G4ORNLOvary() -{ - sxp.Finalize(); +G4ORNLFemaleBodyFactory::~G4ORNLFemaleBodyFactory() +{ + //sxp.Finalize(); } -G4VPhysicalVolume* G4ORNLOvary::ConstructOvary(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4ORNLFemaleBodyFactory::CreateOrgan(const G4String& gdmlFile, G4VPhysicalVolume* motherVolume, + const G4String& colourName, G4bool visAttribute, + G4bool sensitivity) { + G4cout<< "ORNLBodyFactory: "<< "gdmlData/Female/ORNL"<< gdmlFile <<".gdml" << G4endl; + SAXProcessor sxp; + ProcessingConfigurator config; // Initialize GDML Processor sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLOvary.gdml" ); + G4String name = "gdmlData/Female/ORNL"+ gdmlFile + ".gdml"; + config.SetURI(name); + G4cout << "config.SetURI(name);" << G4endl; config.SetSetupName( "Default" ); + G4cout << "config.SetSetUpName;" << G4endl; sxp.Configure( &config ); - + G4cout << "sxp.Configure( &config );" << G4endl; // Run GDML Processor - sxp.Run(); + sxp.Run(); + G4cout << "sxp.Run();" << G4endl; - G4LogicalVolume* logicOvary = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("OvaryVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("OvaryPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("OvaryRot"); + G4String logicalVolumeName = gdmlFile + "Volume"; + G4LogicalVolume* logicOrgan = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume(logicalVolumeName); + G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("OrganPos"); + G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("OrganRot"); + G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - + + // sxp.Finalize(); // Define rotation and position here! - G4VPhysicalVolume* physOvary = new G4PVPlacement(rm,position, - "physicalOvary", - logicOvary, - mother, + G4VPhysicalVolume* physOrgan = new G4PVPlacement(rm,position, + "physicalOrgan", + logicOrgan, + motherVolume, false, - 0); + 0, true); // Sensitive Body Part - if (sensitivity==true) + if (sensitivity==true) { G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicOvary->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + logicOrgan->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); } + if ( (gdmlFile == "Trunk" ) || + (gdmlFile == "Head" ) || + (gdmlFile == "LeftLeg" ) || + (gdmlFile == "RightLeg" )) + { + logicOrgan->SetVisAttributes(G4VisAttributes::Invisible); + } + else + { +// Visualization Attributes + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* organVisAtt = new G4VisAttributes(colour); // Visualization Attributes - G4VisAttributes* OvaryVisAtt = new G4VisAttributes(G4Colour(0.85,0.44,0.84)); - OvaryVisAtt->SetForceSolid(true); - logicOvary->SetVisAttributes(OvaryVisAtt); + organVisAtt->SetForceSolid(visAttribute); + logicOrgan->SetVisAttributes(organVisAtt); + } + G4cout << "Organ created !!!!!! from " << name <GetLogicalVolume("HeartVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("HeartPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("HeartRot"); - -G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physHeart = new G4PVPlacement(rm,position, - "physicalHeart", - logicHeart, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicHeart->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* HeartVisAtt = new G4VisAttributes(G4Colour(1.0,0.0,0.0)); - HeartVisAtt->SetForceSolid(true); - logicHeart->SetVisAttributes(HeartVisAtt); - - G4cout << "Heart created !!!!!!" << G4endl; - - return physHeart; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLKidney.cc b/examples/advanced/human_phantom/src/G4ORNLKidney.cc deleted file mode 100644 index c14a5ed950..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLKidney.cc +++ /dev/null @@ -1,93 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLKidney.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLKidney::G4ORNLKidney() -{ -} - -G4ORNLKidney::~G4ORNLKidney() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLKidney::ConstructKidney(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLKidney.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicKidney = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("KidneyVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("KidneyPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("KidneyRot"); - -G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - // Define rotation and position here! - G4VPhysicalVolume* physKidney = new G4PVPlacement(rm,position, - "physicalKidney", - logicKidney, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicKidney->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* KidneyVisAtt = new G4VisAttributes(G4Colour(0.72,0.52,0.04)); - KidneyVisAtt->SetForceSolid(true); - logicKidney->SetVisAttributes(KidneyVisAtt); - - G4cout << "Kidney created !!!!!!" << G4endl; - - return physKidney; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLLegBone.cc b/examples/advanced/human_phantom/src/G4ORNLLegBone.cc deleted file mode 100644 index 05eabb3fdb..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLLegBone.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLLegBone.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLLegBone::G4ORNLLegBone() -{ -} - -G4ORNLLegBone::~G4ORNLLegBone() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLLegBone::ConstructLegBone(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLLegBone.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicLegBone = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("LegBoneVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("LegBonePos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("LegBoneRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physLegBone = new G4PVPlacement(rm,position, - "physicalLegBone", - logicLegBone, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicLegBone->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* LegBoneVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); - LegBoneVisAtt->SetForceSolid(true); - logicLegBone->SetVisAttributes(LegBoneVisAtt); - - G4cout << "LegBone created !!!!!!" << G4endl; - - return physLegBone; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLLegs.cc b/examples/advanced/human_phantom/src/G4ORNLLegs.cc deleted file mode 100644 index 3151c2fd5c..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLLegs.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -// -#include "G4ORNLLegs.hh" - -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4VisAttributes.hh" - -G4ORNLLegs::G4ORNLLegs() -{ -} - -G4ORNLLegs::~G4ORNLLegs() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLLegs::ConstructLegs(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLLegs.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicLegs = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("LegsVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("LegsPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("LegsRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physLegs = new G4PVPlacement(rm,position, - "physicalLegs", - logicLegs, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicLegs->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* LegsVisAtt = new G4VisAttributes(G4Colour(0.94,0.5,0.5)); - LegsVisAtt->SetForceSolid(false); - logicLegs->SetVisAttributes(LegsVisAtt); - - G4cout << "Legs created !!!!!!" << G4endl; - - return physLegs; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLLiver.cc b/examples/advanced/human_phantom/src/G4ORNLLiver.cc deleted file mode 100644 index 7f64531b44..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLLiver.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLLiver.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLLiver::G4ORNLLiver() -{ -} - -G4ORNLLiver::~G4ORNLLiver() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLLiver::ConstructLiver(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLLiver.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicLiver = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("LiverVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("LiverPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("LiverRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physLiver = new G4PVPlacement(rm,position, - "physicalLiver", - logicLiver, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicLiver->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* LiverVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - LiverVisAtt->SetForceSolid(true); - logicLiver->SetVisAttributes(LiverVisAtt); - - G4cout << "Liver created !!!!!!" << G4endl; - - return physLiver; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLLowerLargeIntestine.cc b/examples/advanced/human_phantom/src/G4ORNLLowerLargeIntestine.cc deleted file mode 100644 index e8d69d772e..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLLowerLargeIntestine.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLLowerLargeIntestine.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLLowerLargeIntestine::G4ORNLLowerLargeIntestine() -{ -} - -G4ORNLLowerLargeIntestine::~G4ORNLLowerLargeIntestine() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLLowerLargeIntestine::ConstructLowerLargeIntestine(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLLowerLargeIntestine.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicLowerLargeIntestine = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("LowerLargeIntestineVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("LowerLargeIntestinePos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("LowerLargeIntestineRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physLowerLargeIntestine = new G4PVPlacement(rm,position, - "physicalLowerLargeIntestine", - logicLowerLargeIntestine, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicLowerLargeIntestine->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* LowerLargeIntestineVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - LowerLargeIntestineVisAtt->SetForceSolid(true); - logicLowerLargeIntestine->SetVisAttributes(LowerLargeIntestineVisAtt); - - G4cout << "LowerLargeIntestine created !!!!!!" << G4endl; - - return physLowerLargeIntestine; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLBrain.cc b/examples/advanced/human_phantom/src/G4ORNLMaleBodyFactory.cc similarity index 62% rename from examples/advanced/human_phantom/src/G4ORNLBrain.cc rename to examples/advanced/human_phantom/src/G4ORNLMaleBodyFactory.cc index c766d7cce8..790a5a2e09 100644 --- a/examples/advanced/human_phantom/src/G4ORNLBrain.cc +++ b/examples/advanced/human_phantom/src/G4ORNLMaleBodyFactory.cc @@ -31,45 +31,59 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#include "G4ORNLBrain.hh" +// +#include "G4ORNLMaleBodyFactory.hh" #include "G4PhysicalVolumeStore.hh" #include "G4Processor/GDMLProcessor.h" #include "globals.hh" #include "G4SDManager.hh" #include "G4VisAttributes.hh" - -G4ORNLBrain::G4ORNLBrain() +#include "G4HumanPhantomColour.hh" +#include "Saxana/SAXProcessor.h" +#include "Saxana/ProcessingConfigurator.h" +G4ORNLMaleBodyFactory::G4ORNLMaleBodyFactory() { } -G4ORNLBrain::~G4ORNLBrain() +G4ORNLMaleBodyFactory::~G4ORNLMaleBodyFactory() { - sxp.Finalize(); } -G4VPhysicalVolume* G4ORNLBrain::ConstructBrain(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) +G4VPhysicalVolume* G4ORNLMaleBodyFactory::CreateOrgan(const G4String& gdmlFile, + G4VPhysicalVolume* motherVolume, + const G4String& colourName, G4bool visAttribute,G4bool sensitivity) { + + G4cout<< "ORNLBodyFactory: "<< "gdmlData/Male/ORNL"<< gdmlFile <<".gdml" << G4endl; + SAXProcessor sxp; + ProcessingConfigurator config; // Initialize GDML Processor sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLBrain.gdml" ); + G4String name = "gdmlData/Male/ORNL"+ gdmlFile + ".gdml"; + config.SetURI(name); + G4cout << "config.SetURI(name);" << G4endl; config.SetSetupName( "Default" ); + G4cout << "config.SetSetUpName;" << G4endl; sxp.Configure( &config ); - + G4cout << "sxp.Configure( &config );" << G4endl; // Run GDML Processor - sxp.Run(); + sxp.Run(); + G4cout << "sxp.Run();" << G4endl; + G4String logicalVolumeName = gdmlFile + "Volume"; + G4LogicalVolume* logicOrgan = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume(logicalVolumeName); - G4LogicalVolume* logicBrain = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("BrainVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("BrainPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("BrainRot"); + G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("OrganPos"); + G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("OrganRot"); G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); + + // sxp.Finalize(); // Define rotation and position here! - G4VPhysicalVolume* physBrain = new G4PVPlacement(rm,position, - "physicalBrain", - logicBrain, - mother, + G4VPhysicalVolume* physOrgan = new G4PVPlacement(rm,position, + "physicalOrgan", + logicOrgan, + motherVolume, false, 0); @@ -77,15 +91,20 @@ G4VPhysicalVolume* G4ORNLBrain::ConstructBrain(G4VPhysicalVolume* mother, G4Stri if (sensitivity==true) { G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicBrain->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); + logicOrgan->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); } - +// Visualization Attributes + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + G4VisAttributes* organVisAtt = new G4VisAttributes(colour); // Visualization Attributes - G4VisAttributes* BrainVisAtt = new G4VisAttributes(G4Colour(0.41,0.41,0.41)); - BrainVisAtt->SetForceSolid(true); - logicBrain->SetVisAttributes(BrainVisAtt); + organVisAtt->SetForceSolid(visAttribute); + logicOrgan->SetVisAttributes(organVisAtt); - G4cout << "Brain created !!!!!!" << G4endl; - - return physBrain; + G4cout << "Organ created !!!!!! from " << name <GetLogicalVolume("MiddleLowerSpineVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("MiddleLowerSpinePos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("MiddleLowerSpineRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physMiddleLowerSpine = new G4PVPlacement(rm,position, - "physicalMiddleLowerSpine", - logicMiddleLowerSpine, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicMiddleLowerSpine->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* MiddleLowerSpineVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - MiddleLowerSpineVisAtt->SetForceSolid(true); - logicMiddleLowerSpine->SetVisAttributes(MiddleLowerSpineVisAtt); - - G4cout << "MiddleLowerSpine created !!!!!!" << G4endl; - - return physMiddleLowerSpine; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLPancreas.cc b/examples/advanced/human_phantom/src/G4ORNLPancreas.cc deleted file mode 100644 index a5df4da91a..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLPancreas.cc +++ /dev/null @@ -1,92 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLPancreas.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLPancreas::G4ORNLPancreas() -{ -} - -G4ORNLPancreas::~G4ORNLPancreas() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLPancreas::ConstructPancreas(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLPancreas.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - G4LogicalVolume* logicPancreas = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("PancreasVolume"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("PancreasPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("PancreasRot"); - - // Define rotation and position here! - G4VPhysicalVolume* physPancreas = new G4PVPlacement(rm,position, - "physicalPancreas", - logicPancreas, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicPancreas->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* PancreasVisAtt = new G4VisAttributes(G4Colour(0.28,0.82,0.81)); - PancreasVisAtt->SetForceSolid(true); - logicPancreas->SetVisAttributes(PancreasVisAtt); - - G4cout << "Pancreas created !!!!!!" << G4endl; - - return physPancreas; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLPelvis.cc b/examples/advanced/human_phantom/src/G4ORNLPelvis.cc deleted file mode 100644 index 09dd190859..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLPelvis.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLPelvis.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLPelvis::G4ORNLPelvis() -{ -} - -G4ORNLPelvis::~G4ORNLPelvis() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLPelvis::ConstructPelvis(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLPelvis.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicPelvis = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("PelvisVolume"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("PelvisPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("PelvisRot"); - - // Define rotation and position here! - G4VPhysicalVolume* physPelvis = new G4PVPlacement(rm,position, - "physicalPelvis", - logicPelvis, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicPelvis->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* PelvisVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); - PelvisVisAtt->SetForceSolid(true); - logicPelvis->SetVisAttributes(PelvisVisAtt); - - G4cout << "Pelvis created !!!!!!" << G4endl; - - return physPelvis; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLRibCage.cc b/examples/advanced/human_phantom/src/G4ORNLRibCage.cc deleted file mode 100644 index 2768266446..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLRibCage.cc +++ /dev/null @@ -1,91 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLRibCage.hh" - -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLRibCage::G4ORNLRibCage() -{ -} - -G4ORNLRibCage::~G4ORNLRibCage() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLRibCage::ConstructRibCage(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLRibCage.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicRibCage = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("RibCageVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("RibCagePos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("RibCageRot"); - - // Define rotation and position here! - G4VPhysicalVolume* physRibCage = new G4PVPlacement(rm,position, - "physicalRibCage", - logicRibCage, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicRibCage->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* RibCageVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - RibCageVisAtt->SetForceSolid(true); - logicRibCage->SetVisAttributes(RibCageVisAtt); - - G4cout << "RibCage created !!!!!!" << G4endl; - - return physRibCage; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLSkull.cc b/examples/advanced/human_phantom/src/G4ORNLSkull.cc deleted file mode 100644 index 2f88367463..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLSkull.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLSkull.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLSkull::G4ORNLSkull() -{ -} - -G4ORNLSkull::~G4ORNLSkull() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLSkull::ConstructSkull(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLSkull.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicSkull = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("SkullVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("SkullPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("SkullRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physSkull = new G4PVPlacement(rm,position, - "physicalSkull", - logicSkull, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicSkull->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - - // Visualization Attributes - G4VisAttributes* SkullVisAtt = new G4VisAttributes(G4Colour(0.46,0.53,0.6)); - SkullVisAtt->SetForceSolid(false); - logicSkull->SetVisAttributes(SkullVisAtt); - - G4cout << "Skull created !!!!!!" << G4endl; - - return physSkull; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLSpleen.cc b/examples/advanced/human_phantom/src/G4ORNLSpleen.cc deleted file mode 100644 index 9ae9e4b484..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLSpleen.cc +++ /dev/null @@ -1,93 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLSpleen.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLSpleen::G4ORNLSpleen() -{ -} - -G4ORNLSpleen::~G4ORNLSpleen() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLSpleen::ConstructSpleen(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLSpleen.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicSpleen = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("SpleenVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("SpleenPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("SpleenRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physSpleen = new G4PVPlacement(rm,position, - "physicalSpleen", - logicSpleen, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicSpleen->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* SpleenVisAtt = new G4VisAttributes(G4Colour(0.41,0.41,0.41)); - SpleenVisAtt->SetForceSolid(true); - logicSpleen->SetVisAttributes(SpleenVisAtt); - - G4cout << "Spleen created !!!!!!" << G4endl; - - return physSpleen; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLStomach.cc b/examples/advanced/human_phantom/src/G4ORNLStomach.cc deleted file mode 100644 index 108a2e45b6..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLStomach.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLStomach.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLStomach::G4ORNLStomach() -{ -} - -G4ORNLStomach::~G4ORNLStomach() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLStomach::ConstructStomach(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLStomach.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicStomach = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("StomachVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("StomachPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("StomachRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physStomach = new G4PVPlacement(rm,position, - "physicalStomach", - logicStomach, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicStomach->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* StomachVisAtt = new G4VisAttributes(G4Colour(0.63,0.32,0.17)); - StomachVisAtt->SetForceSolid(true); - logicStomach->SetVisAttributes(StomachVisAtt); - - G4cout << "Stomach created !!!!!!" << G4endl; - - return physStomach; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLTestes.cc b/examples/advanced/human_phantom/src/G4ORNLTestes.cc deleted file mode 100644 index f439836c6e..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLTestes.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLTestes.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLTestes::G4ORNLTestes() -{ -} - -G4ORNLTestes::~G4ORNLTestes() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLTestes::ConstructTestes(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLTestes.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicTestes = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("TestesVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("TestesPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("TestesRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physTestes = new G4PVPlacement(rm,position, - "physicalTestes", - logicTestes, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicTestes->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* TestesVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - TestesVisAtt->SetForceSolid(true); - logicTestes->SetVisAttributes(TestesVisAtt); - - G4cout << "Testes created !!!!!!" << G4endl; - - return physTestes; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLThyroid.cc b/examples/advanced/human_phantom/src/G4ORNLThyroid.cc deleted file mode 100644 index d0491d7d2e..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLThyroid.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLThyroid.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLThyroid::G4ORNLThyroid() -{ -} - -G4ORNLThyroid::~G4ORNLThyroid() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLThyroid::ConstructThyroid(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLThyroid.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicThyroid = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("ThyroidVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("ThyroidPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("ThyroidRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physThyroid = new G4PVPlacement(rm,position, - "physicalThyroid", - logicThyroid, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicThyroid->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* ThyroidVisAtt = new G4VisAttributes(G4Colour(0.0,1.0,1.0)); - ThyroidVisAtt->SetForceSolid(true); - logicThyroid->SetVisAttributes(ThyroidVisAtt); - - G4cout << "Thyroid created !!!!!!" << G4endl; - - return physThyroid; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLTrunk.cc b/examples/advanced/human_phantom/src/G4ORNLTrunk.cc deleted file mode 100644 index b1c1bd9e92..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLTrunk.cc +++ /dev/null @@ -1,95 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLTrunk.hh" - -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4VisAttributes.hh" - -G4ORNLTrunk::G4ORNLTrunk() -{ -} - -G4ORNLTrunk::~G4ORNLTrunk() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLTrunk::ConstructTrunk(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLTrunk.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicTrunk = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("TrunkVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("TrunkPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("TrunkRot"); - - // Define rotation and position here! -G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - - G4VPhysicalVolume* physTrunk = new G4PVPlacement(rm,position, - "physicalTrunk", - logicTrunk, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicTrunk->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* TrunkVisAtt = new G4VisAttributes(G4Colour(0.94,0.5,0.5)); - TrunkVisAtt->SetForceSolid(false); - logicTrunk->SetVisAttributes(TrunkVisAtt); - - G4cout << "Trunk created !!!!!!" << G4endl; - - return physTrunk; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLUpperLargeIntestine.cc b/examples/advanced/human_phantom/src/G4ORNLUpperLargeIntestine.cc deleted file mode 100644 index 194eaca1bc..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLUpperLargeIntestine.cc +++ /dev/null @@ -1,93 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLUpperLargeIntestine.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLUpperLargeIntestine::G4ORNLUpperLargeIntestine() -{ -} - -G4ORNLUpperLargeIntestine::~G4ORNLUpperLargeIntestine() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLUpperLargeIntestine::ConstructUpperLargeIntestine(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLUpperLargeIntestine.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - G4LogicalVolume* logicUpperLargeIntestine = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("UpperLargeIntestineVolume"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("UpperLargeIntestinePos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("UpperLargeIntestineRot"); - - // Define rotation and position here! - G4VPhysicalVolume* physUpperLargeIntestine = new G4PVPlacement(rm,position, - "physicalUpperLargeIntestine", - logicUpperLargeIntestine, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicUpperLargeIntestine->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* UpperLargeIntestineVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - UpperLargeIntestineVisAtt->SetForceSolid(true); - logicUpperLargeIntestine->SetVisAttributes(UpperLargeIntestineVisAtt); - - G4cout << "UpperLargeIntestine created !!!!!!" << G4endl; - - return physUpperLargeIntestine; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLUpperSpine.cc b/examples/advanced/human_phantom/src/G4ORNLUpperSpine.cc deleted file mode 100644 index b4c793902b..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLUpperSpine.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLUpperSpine.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLUpperSpine::G4ORNLUpperSpine() -{ -} - -G4ORNLUpperSpine::~G4ORNLUpperSpine() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLUpperSpine::ConstructUpperSpine(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLUpperSpine.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicUpperSpine = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("UpperSpineVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("UpperSpinePos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("UpperSpineRot"); - - G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physUpperSpine = new G4PVPlacement(rm,position, - "physicalUpperSpine", - logicUpperSpine, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicUpperSpine->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - - // Visualization Attributes - G4VisAttributes* UpperSpineVisAtt = new G4VisAttributes(G4Colour(1.0,1.0,0.0)); - UpperSpineVisAtt->SetForceSolid(true); - logicUpperSpine->SetVisAttributes(UpperSpineVisAtt); - - G4cout << "UpperSpine created !!!!!!" << G4endl; - - return physUpperSpine; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLUrinaryBladder.cc b/examples/advanced/human_phantom/src/G4ORNLUrinaryBladder.cc deleted file mode 100644 index 8475518daa..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLUrinaryBladder.cc +++ /dev/null @@ -1,93 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLUrinaryBladder.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLUrinaryBladder::G4ORNLUrinaryBladder() -{ -} - -G4ORNLUrinaryBladder::~G4ORNLUrinaryBladder() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLUrinaryBladder::ConstructUrinaryBladder(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLUrinaryBladder.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicUrinaryBladder = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("UrinaryBladderVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("UrinaryBladderPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("UrinaryBladderRot"); - -G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - // Define rotation and position here! - G4VPhysicalVolume* physUrinaryBladder = new G4PVPlacement(rm,position, - "physicalUrinaryBladder", - logicUrinaryBladder, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicUrinaryBladder->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - - // Visualization Attributes - G4VisAttributes* UrinaryBladderVisAtt = new G4VisAttributes(G4Colour(0.85,0.65,0.125)); - UrinaryBladderVisAtt->SetForceSolid(true); - logicUrinaryBladder->SetVisAttributes(UrinaryBladderVisAtt); - - G4cout << "UrinaryBladder created !!!!!!" << G4endl; - - return physUrinaryBladder; -} diff --git a/examples/advanced/human_phantom/src/G4ORNLUterus.cc b/examples/advanced/human_phantom/src/G4ORNLUterus.cc deleted file mode 100644 index 6aca9d40e3..0000000000 --- a/examples/advanced/human_phantom/src/G4ORNLUterus.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy -// -// Based on code developed by the undergraduate student G. Guerrieri -// Note: this is a preliminary beta-version of the code; an improved -// version will be distributed in the next Geant4 public release, compliant -// with the design in a forthcoming publication, and subject to a -// design and code review. -// -#include "G4ORNLUterus.hh" -#include "G4PhysicalVolumeStore.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" - -G4ORNLUterus::G4ORNLUterus() -{ -} - -G4ORNLUterus::~G4ORNLUterus() -{ - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLUterus::ConstructUterus(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLUterus.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicUterus = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("UterusVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("UterusPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("UterusRot"); - -G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); - - // Define rotation and position here! - G4VPhysicalVolume* physUterus = new G4PVPlacement(rm,position, - "physicalUterus", - logicUterus, - mother, - false, - 0); - - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicUterus->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* UterusVisAtt = new G4VisAttributes(G4Colour(0.85,0.44,0.84)); - UterusVisAtt->SetForceSolid(true); - logicUterus->SetVisAttributes(UterusVisAtt); - - G4cout << "Uterus created !!!!!!" << G4endl; - - return physUterus; -} diff --git a/examples/advanced/human_phantom/src/G4PhantomBuilder.cc b/examples/advanced/human_phantom/src/G4PhantomBuilder.cc index c9089310c9..27c672abb3 100644 --- a/examples/advanced/human_phantom/src/G4PhantomBuilder.cc +++ b/examples/advanced/human_phantom/src/G4PhantomBuilder.cc @@ -34,230 +34,250 @@ #include "G4PhantomBuilder.hh" #include "G4VBodyFactory.hh" #include "G4MIRDBodyFactory.hh" -#include "G4ORNLBodyFactory.hh" +#include "G4ORNLFemaleBodyFactory.hh" +#include "G4ORNLMaleBodyFactory.hh" #include "G4RunManager.hh" #include "G4Element.hh" #include "G4Material.hh" #include "G4Box.hh" #include "G4LogicalVolume.hh" #include "G4PVPlacement.hh" - +#include "G4Colour.hh" #include "G4VisAttributes.hh" -G4PhantomBuilder::G4PhantomBuilder(): sex("Female"), model("MIRD") +G4PhantomBuilder::G4PhantomBuilder(): model("MIRD") { // sex can be "female" or "male" + body = 0; motherVolume = 0; headVolume = 0; trunkVolume = 0; - neckVolume = 0; + leftLegVolume =0; + rightLegVolume =0; maleGenitaliaVolume = 0; } G4PhantomBuilder::~G4PhantomBuilder() { - delete body; } - -void G4PhantomBuilder::BuildWorld() -{ - // Elements - G4double A; - G4double Z; - A = 16.00*g/mole; - G4Element* elO = new G4Element("Oxygen","O",Z = 8.,A); - A = 14.01*g/mole; - G4Element* elN = new G4Element("Nitrogen","N",Z = 7.,A); - - // Air Material - G4double d = 1.290*mg/cm3; - G4Material* matAir = new G4Material("Air",d,2); - matAir->AddElement(elN,0.7); - matAir->AddElement(elO,0.3); - - // World Volume - G4double worldSize = 1.*m ; - - G4Box* world = new G4Box("world", worldSize, worldSize, worldSize); - - G4LogicalVolume* logicWorld = new G4LogicalVolume(world, - matAir, - "logicalWorld", 0, 0,0); - - motherVolume = new G4PVPlacement(0,G4ThreeVector(), - "physicalWorld", - logicWorld, - 0, - false, - 0); - - // Visualization Attributes - G4VisAttributes* WorldVisAtt = new G4VisAttributes(G4VisAttributes::Invisible); - WorldVisAtt->SetForceSolid(false); - logicWorld->SetVisAttributes(WorldVisAtt); -} - -void G4PhantomBuilder::BuildHead(G4bool sensitivity) +void G4PhantomBuilder::BuildTrunk(const G4String& colourName, G4bool solidVis, G4bool sensitivity) { if (motherVolume == 0) G4Exception("The world volume is missing !!!!!"); G4cout <<"MotherVolume: " << motherVolume -> GetName()<< G4endl; G4cout << "sensitivity : "<< sensitivity << G4endl; - headVolume = body -> CreateHead(motherVolume,sex, sensitivity); + trunkVolume = body -> CreateOrgan("Trunk", motherVolume, colourName, solidVis, sensitivity); } -void G4PhantomBuilder::BuildTrunk(G4bool sensitivity) +void G4PhantomBuilder::BuildLeftLeg(const G4String& colourName, G4bool solidVis, G4bool sensitivity) { if (motherVolume == 0) G4Exception("The world volume is missing !!!!!"); - - trunkVolume = body -> CreateTrunk(motherVolume,sex,sensitivity); + + G4cout <<"MotherVolume: " << motherVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + leftLegVolume = body -> CreateOrgan("LeftLeg", motherVolume, colourName, solidVis, sensitivity); +} +void G4PhantomBuilder::BuildRightLeg(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (motherVolume == 0) + G4Exception("The world volume is missing !!!!!"); + + G4cout <<"MotherVolume: " << motherVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + rightLegVolume = body -> CreateOrgan("RightLeg", motherVolume, colourName, solidVis, sensitivity); } -void G4PhantomBuilder::BuildLegs(G4bool sensitivity) +void G4PhantomBuilder::BuildLeftLegBone(const G4String& colourName, G4bool solidVis, G4bool sensitivity) { - if (motherVolume == 0) - G4Exception("The world volume is missing !!!!!"); - - legsVolume = body -> CreateLegs(motherVolume,sex,sensitivity); + if (leftLegVolume == 0) + G4Exception("The left leg volume is missing !!!!!"); + + G4cout <<"MotherVolume: " << leftLegVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + body -> CreateOrgan("LeftLegBone", leftLegVolume,colourName, solidVis, sensitivity); } -void G4PhantomBuilder::BuildNeck(G4bool sensitivity) +void G4PhantomBuilder::BuildRightLegBone(const G4String& colourName, G4bool solidVis, G4bool sensitivity) { - if (motherVolume == 0) - G4Exception("The world volume is missing !!!!!"); - - neckVolume = body -> CreateNeck(motherVolume,sex,sensitivity); + if (trunkVolume == 0) + G4Exception("The right leg volume is missing !!!!!"); + + G4cout <<"MotherVolume: " << rightLegVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + body -> CreateOrgan("RightLegBone", rightLegVolume, colourName, solidVis, sensitivity); } -void G4PhantomBuilder::BuildUpperSpine(G4bool sensitivity) +void G4PhantomBuilder::BuildLeftArmBone(const G4String& colourName, G4bool solidVis, G4bool sensitivity) { - if (headVolume == 0) - G4Exception("The head volume is missing !!!!!"); - - body -> CreateUpperSpine(headVolume,sex,sensitivity); + if (trunkVolume == 0) + G4Exception("The world volume is missing !!!!!"); + + G4cout <<"MotherVolume: " << trunkVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + body -> CreateOrgan("LeftArmBone" ,trunkVolume,colourName,solidVis, sensitivity); +} +void G4PhantomBuilder::BuildRightArmBone(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + G4cout <<"MotherVolume: " << trunkVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + body -> CreateOrgan("RightArmBone",trunkVolume,colourName,solidVis, sensitivity); } -void G4PhantomBuilder::BuildMiddleLowerSpine(G4bool sensitivity) +void G4PhantomBuilder::BuildLeftScapula(const G4String& colourName, G4bool solidVis, G4bool sensitivity) { - if (trunkVolume == 0) + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + G4cout <<"MotherVolume: " << trunkVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + body -> CreateOrgan("LeftScapula",trunkVolume,colourName,solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildRightScapula(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + G4cout <<"MotherVolume: " << trunkVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + body -> CreateOrgan("RightScapula",trunkVolume,colourName,solidVis, sensitivity); +} + + + +void G4PhantomBuilder::BuildHead(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (motherVolume == 0) + G4Exception("The mother volume is missing !!!!!"); + + G4cout <<"MotherVolume: " << motherVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + headVolume = body -> CreateOrgan("Head",motherVolume, colourName, solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildSkull(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (headVolume == 0) + G4Exception("The head volume is missing !!!!!"); + + G4cout <<"MotherVolume: " << headVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + body -> CreateOrgan( "Skull",headVolume, colourName, solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildUpperSpine(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (headVolume == 0) + G4Exception("The head volume is missing !!!!!"); + + G4cout <<"MotherVolume: " << headVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + body -> CreateOrgan("UpperSpine",headVolume,colourName, solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildMiddleLowerSpine(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + G4cout <<"MotherVolume: " << trunkVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + body -> CreateOrgan("MiddleLowerSpine",trunkVolume, colourName, solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildPelvis(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) G4Exception("The trunk volume is missing !!!!!"); - body -> CreateMiddleLowerSpine(trunkVolume,sex,sensitivity); -} - -void G4PhantomBuilder::BuildSpleen(G4bool sensitivity) -{ - if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreateSpleen(trunkVolume,sex,sensitivity); -} - -void G4PhantomBuilder::BuildLegBone(G4bool sensitivity) -{ - if (legsVolume == 0) - G4Exception("The legs volume volume is missing !!!!!"); - - body -> CreateLegBone(legsVolume,sex,sensitivity); -} - -void G4PhantomBuilder::BuildArmBone(G4bool sensitivity) -{ - if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreateArmBone(trunkVolume,sex,sensitivity); -} - -void G4PhantomBuilder::BuildSkull(G4bool sensitivity) -{ - if (headVolume == 0) - G4Exception("The head volume is missing !!!!!"); - - body -> CreateSkull(headVolume,sex,sensitivity); + body -> CreateOrgan( "Pelvis",trunkVolume, + colourName, solidVis, sensitivity); } /* -void G4PhantomBuilder::BuildRibCage(G4bool sensitivity) -{ - if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreateRibCage(trunkVolume,sex,sensitivity); -} -*/ -void G4PhantomBuilder::BuildPelvis(G4bool sensitivity) -{ - if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreatePelvis(trunkVolume,sex,sensitivity); -} -/* -void G4PhantomBuilder::BuildScapulae(G4bool sensitivity) -{ - if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreateScapulae(trunkVolume,sex,sensitivity); -} void G4PhantomBuilder::BuildClavicles(G4bool sensitivity) { if (trunkVolume == 0) G4Exception("The trunk volume is missing !!!!!"); - body -> CreateClavicles(trunkVolume,sex,sensitivity); + body -> CreateClavicles(trunkVolume, sensitivity); } */ -void G4PhantomBuilder::BuildBrain(G4bool sensitivity) +void G4PhantomBuilder::BuildBrain(const G4String& colourName, G4bool solidVis, G4bool sensitivity) { - if (headVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); + if (headVolume == 0) + G4Exception("The head volume is missing !!!!!"); - body -> CreateBrain(headVolume,sex,sensitivity); + body -> CreateOrgan("Brain",headVolume, colourName, solidVis, sensitivity); } -void G4PhantomBuilder::BuildHeart(G4bool sensitivity) +void G4PhantomBuilder::BuildHeart(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + body -> CreateOrgan("Heart", trunkVolume,colourName, solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildLeftLung(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("LeftLung",trunkVolume,colourName,solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildRightLung(const G4String& colourName, G4bool solidVis, G4bool sensitivity ) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("RightLung",trunkVolume,colourName, solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildStomach(const G4String& colourName, G4bool solidVis, G4bool sensitivity ) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("Stomach",trunkVolume,colourName, solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildRibCage(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("RibCage",trunkVolume,colourName, solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildSpleen(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("Spleen", trunkVolume,colourName, solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildUpperLargeIntestine(const G4String& colourName, G4bool solidVis, G4bool sensitivity) { if (trunkVolume == 0) G4Exception("The trunk volume is missing !!!!!"); - body -> CreateHeart(trunkVolume,sex,sensitivity); + body -> CreateOrgan("UpperLargeIntestine",trunkVolume, colourName, solidVis, sensitivity); } -void G4PhantomBuilder::BuildLung(G4bool sensitivity) +void G4PhantomBuilder::BuildLowerLargeIntestine(const G4String& colourName, G4bool solidVis, G4bool sensitivity) { - if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); - body -> CreateLung(trunkVolume,sex,sensitivity); -} - -void G4PhantomBuilder::BuildStomach(G4bool sensitivity) -{ - if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreateStomach(trunkVolume,sex,sensitivity); -} - -void G4PhantomBuilder::BuildUpperLargeIntestine(G4bool sensitivity) -{ - if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreateUpperLargeIntestine(trunkVolume,sex,sensitivity); -} - -void G4PhantomBuilder::BuildLowerLargeIntestine(G4bool sensitivity) -{ - if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreateLowerLargeIntestine(trunkVolume,sex,sensitivity); + body -> CreateOrgan("LowerLargeIntestine", trunkVolume, colourName,solidVis, sensitivity); } /* void G4PhantomBuilder::BuildEsophagus(G4bool sensitivity) @@ -265,54 +285,70 @@ void G4PhantomBuilder::BuildEsophagus(G4bool sensitivity) if (trunkVolume == 0) G4Exception("The trunk volume is missing !!!!!"); - body -> CreateEsophagus(trunkVolume,sex,sensitivity); + body -> CreateEsophagus(trunkVolume, sensitivity); } */ -void G4PhantomBuilder::BuildKidney(G4bool sensitivity) +void G4PhantomBuilder::BuildLeftKidney(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("LeftKidney", trunkVolume,colourName, solidVis, sensitivity); +} +void G4PhantomBuilder::BuildRightKidney(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("RightKidney",trunkVolume,colourName, solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildLeftAdrenal(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("LeftAdrenal", trunkVolume,colourName, solidVis, sensitivity); +} + +void G4PhantomBuilder::BuildRightAdrenal(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("RightAdrenal", trunkVolume,colourName, solidVis, sensitivity); +} + + +void G4PhantomBuilder::BuildLiver(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (trunkVolume == 0) + G4Exception("The trunk volume is missing !!!!!"); + + body -> CreateOrgan("Liver", trunkVolume,colourName, solidVis, sensitivity); +} +void G4PhantomBuilder::BuildPancreas(const G4String& colourName, G4bool solidVis, G4bool sensitivity) { if (trunkVolume == 0) G4Exception("The trunk volume is missing !!!!!"); - body -> CreateKidney(trunkVolume,sex,sensitivity); + body -> CreateOrgan("Pancreas",trunkVolume,colourName, solidVis, sensitivity); } -/* -void G4PhantomBuilder::BuildAdrenal(G4bool sensitivity) + +void G4PhantomBuilder::BuildUrinaryBladder(const G4String& colourName, G4bool solidVis, G4bool sensitivity) { - if (trunkVolume == 0) + if (trunkVolume == 0) G4Exception("The trunk volume is missing !!!!!"); - body -> CreateAdrenal(trunkVolume,sex,sensitivity); -} -*/ -void G4PhantomBuilder::BuildLiver(G4bool sensitivity) -{ - if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreateLiver(trunkVolume,sex,sensitivity); -} -void G4PhantomBuilder::BuildPancreas(G4bool sensitivity) -{ - if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreatePancreas(trunkVolume,sex,sensitivity); + body -> CreateOrgan("UrinaryBladder",trunkVolume, colourName, solidVis, sensitivity); } -void G4PhantomBuilder::BuildUrinaryBladder(G4bool sensitivity) -{ - if (trunkVolume == 0) - G4Exception("The trunk volume is missing !!!!!"); - - body -> CreateUrinaryBladder(trunkVolume,sex,sensitivity); -} - -void G4PhantomBuilder::BuildThyroid(G4bool sensitivity) +void G4PhantomBuilder::BuildThyroid(const G4String& colourName, G4bool solidVis, G4bool sensitivity ) { if (headVolume == 0) G4Exception("The trunk volume is missing !!!!!"); - body -> CreateThyroid(headVolume,sex,sensitivity); + body -> CreateOrgan("Thyroid",headVolume, colourName,solidVis, sensitivity); } @@ -321,15 +357,18 @@ G4VPhysicalVolume* G4PhantomBuilder::GetPhantom() return motherVolume; } -void G4PhantomBuilder::SetSex(G4String sexFlag) +void G4PhantomBuilder::SetMotherVolume(G4VPhysicalVolume* mother) { - sex = sexFlag; + motherVolume = mother; } + void G4PhantomBuilder::SetModel(G4String modelFlag) { model = modelFlag; - if(model=="MIRD") body = new G4MIRDBodyFactory(); - if(model=="ORNL") body = new G4ORNLBodyFactory(); + if(model=="MIRD" || model =="MIX") body = new G4MIRDBodyFactory(); + if(model=="ORNLFemale") body = new G4ORNLFemaleBodyFactory(); + if(model=="ORNLMale") body = new G4ORNLMaleBodyFactory(); } + diff --git a/examples/advanced/human_phantom/src/G4ORNLHead.cc b/examples/advanced/human_phantom/src/G4PhantomHeadBuilder.cc similarity index 51% rename from examples/advanced/human_phantom/src/G4ORNLHead.cc rename to examples/advanced/human_phantom/src/G4PhantomHeadBuilder.cc index 9f034c5c99..cc84883468 100644 --- a/examples/advanced/human_phantom/src/G4ORNLHead.cc +++ b/examples/advanced/human_phantom/src/G4PhantomHeadBuilder.cc @@ -31,65 +31,71 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#include "G4ORNLHead.hh" +#include "G4PhantomHeadBuilder.hh" +#include "G4VBodyFactory.hh" +#include "G4MIRDBodyFactory.hh" +#include "G4ORNLFemaleBodyFactory.hh" +#include "G4ORNLMaleBodyFactory.hh" +#include "G4PVPlacement.hh" -#include "G4Processor/GDMLProcessor.h" -#include "globals.hh" -#include "G4SDManager.hh" - -#include "G4VisAttributes.hh" -#include "G4PhysicalVolumeStore.hh" - -G4ORNLHead::G4ORNLHead() -{ +G4PhantomHeadBuilder::G4PhantomHeadBuilder(): model("MIRD") +{ + // sex can be "female" or "male" + body = 0; + motherVolume = 0; + headVolume = 0; } -G4ORNLHead::~G4ORNLHead() +G4PhantomHeadBuilder::~G4PhantomHeadBuilder() { - sxp.Finalize(); -} - -G4VPhysicalVolume* G4ORNLHead::ConstructHead(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - // Initialize GDML Processor - sxp.Initialize(); - config.SetURI( "gdmlData/"+sex+"/ORNLHead.gdml" ); - config.SetSetupName( "Default" ); - sxp.Configure( &config ); - - // Run GDML Processor - sxp.Run(); - - - G4LogicalVolume* logicHead = (G4LogicalVolume *)GDMLProcessor::GetInstance()->GetLogicalVolume("HeadVolume"); - - G4ThreeVector position = (G4ThreeVector)*GDMLProcessor::GetInstance()->GetPosition("HeadPos"); - G4RotationMatrix* rm = (G4RotationMatrix*)GDMLProcessor::GetInstance()->GetRotation("HeadRot"); - -G4PhysicalVolumeStore::DeRegister((G4VPhysicalVolume*)GDMLProcessor::GetInstance()->GetWorldVolume()); + delete body; +} +void G4PhantomHeadBuilder::BuildHead(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (motherVolume == 0) + G4Exception("The moder Volume volume is missing !!!!!"); - // Define rotation and position here! - G4VPhysicalVolume* physHead = new G4PVPlacement(rm,position, - "physicalHead", - logicHead, - mother, - false, - 0); - - // Sensitive Body Part - if (sensitivity==true) - { - G4SDManager* SDman = G4SDManager::GetSDMpointer(); - logicHead->SetSensitiveDetector( SDman->FindSensitiveDetector("BodyPartSD") ); - } - - // Visualization Attributes - G4VisAttributes* HeadVisAtt = new G4VisAttributes(G4Colour(0.94,0.5,0.5)); - HeadVisAtt->SetForceSolid(false); - logicHead->SetVisAttributes(HeadVisAtt); - - G4cout << "Head created !!!!!!" << G4endl; - - return physHead; + G4cout <<"MotherVolume: " << motherVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + headVolume = body -> CreateOrgan("Head",motherVolume, colourName, solidVis, sensitivity); } + +void G4PhantomHeadBuilder::BuildSkull(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (headVolume == 0) + G4Exception("The head volume is missing !!!!!"); + + G4cout <<"MotherVolume: " << headVolume -> GetName()<< G4endl; + G4cout << "sensitivity : "<< sensitivity << G4endl; + body -> CreateOrgan( "Skull",headVolume, colourName, solidVis, sensitivity); +} + +void G4PhantomHeadBuilder::BuildBrain(const G4String& colourName, G4bool solidVis, G4bool sensitivity) +{ + if (headVolume == 0) + G4Exception("The head volume is missing !!!!!"); + + body -> CreateOrgan("Brain",headVolume, colourName, solidVis, sensitivity); +} + +G4VPhysicalVolume* G4PhantomHeadBuilder::GetPhantom() +{ + return motherVolume; +} + +void G4PhantomHeadBuilder::SetMotherVolume(G4VPhysicalVolume* mother) +{ + motherVolume = mother; +} + + +void G4PhantomHeadBuilder::SetModel(G4String modelFlag) +{ + model = modelFlag; + + if(model=="MIRD" || model =="MIX") body = new G4MIRDBodyFactory(); + if(model=="ORNLFemale") body = new G4ORNLFemaleBodyFactory(); + if(model=="ORNLMale") body = new G4ORNLMaleBodyFactory(); +} + diff --git a/examples/advanced/human_phantom/src/G4VPhantomBuilder.cc b/examples/advanced/human_phantom/src/G4VOrgan.cc similarity index 94% rename from examples/advanced/human_phantom/src/G4VPhantomBuilder.cc rename to examples/advanced/human_phantom/src/G4VOrgan.cc index d2b6cca5fc..977ee73d29 100644 --- a/examples/advanced/human_phantom/src/G4VPhantomBuilder.cc +++ b/examples/advanced/human_phantom/src/G4VOrgan.cc @@ -31,10 +31,13 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -// -#include"G4VPhantomBuilder.hh" -G4VPhantomBuilder::G4VPhantomBuilder() -{;} +#include "G4VOrgan.hh" -G4VPhantomBuilder::~G4VPhantomBuilder() -{;} +G4VOrgan::G4VOrgan() +{; +} + +G4VOrgan::~G4VOrgan() +{ + ; +} diff --git a/examples/advanced/human_phantom/src/G4VoxelBreastFactory.cc b/examples/advanced/human_phantom/src/G4VoxelBreastFactory.cc new file mode 100644 index 0000000000..d1cf6eb963 --- /dev/null +++ b/examples/advanced/human_phantom/src/G4VoxelBreastFactory.cc @@ -0,0 +1,66 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#include "G4VoxelBreastFactory.hh" +#include "G4VoxelLeftBreast.hh" +#include "G4VoxelRightBreast.hh" + +G4VoxelBreastFactory::G4VoxelBreastFactory() +{ + // Map with name of the organ and pointer to the MIRDOrgan class + // organ["ParameterisedRightBreast"] = new G4ParameterisedRightBreast(); + organ["LeftBreast"] = new G4VoxelLeftBreast(); + organ["RightBreast"] = new G4VoxelRightBreast(); +} + +G4VoxelBreastFactory::~G4VoxelBreastFactory() +{ + delete organ["RightBreast"]; + organ["RightBreast"]=0; + + delete organ["LeftBreast"]; + organ["LeftBreast"]=0; +} + + + +G4VPhysicalVolume* G4VoxelBreastFactory::CreateOrgan(const G4String& organ_name, + G4VPhysicalVolume* motherVolume, + const G4String& colourName, + G4bool visAttribute, + G4bool sensitivity) +{ + return organ[organ_name] -> Construct(organ_name,motherVolume,colourName, visAttribute, sensitivity); +} + + diff --git a/examples/advanced/human_phantom/src/G4ParameterisedBreast.cc b/examples/advanced/human_phantom/src/G4VoxelLeftBreast.cc similarity index 72% rename from examples/advanced/human_phantom/src/G4ParameterisedBreast.cc rename to examples/advanced/human_phantom/src/G4VoxelLeftBreast.cc index 06b38e16f5..dd87e64cb2 100644 --- a/examples/advanced/human_phantom/src/G4ParameterisedBreast.cc +++ b/examples/advanced/human_phantom/src/G4VoxelLeftBreast.cc @@ -31,7 +31,7 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#include "G4ParameterisedBreast.hh" +#include "G4VoxelLeftBreast.hh" #include "globals.hh" #include "G4SDManager.hh" #include "G4VisAttributes.hh" @@ -45,23 +45,25 @@ #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" -#include "G4HumanPhantomROGeometry.hh" -#include "G4HumanPhantomSDBreast.hh" -G4ParameterisedBreast::G4ParameterisedBreast():breastSD(0) +#include "G4VoxelLeftBreastROGeometry.hh" +#include "G4VoxelLeftBreastSD.hh" +#include "G4HumanPhantomColour.hh" +G4VoxelLeftBreast::G4VoxelLeftBreast() { } -G4ParameterisedBreast::~G4ParameterisedBreast() +G4VoxelLeftBreast::~G4VoxelLeftBreast() { } -G4VPhysicalVolume* G4ParameterisedBreast::ConstructBreast(G4VPhysicalVolume* mother, G4String sex, G4bool sensitivity) -{ - - G4cout << "ConstructParameterisedBreast for " << sex << G4endl; - +G4VPhysicalVolume* G4VoxelLeftBreast::Construct(const G4String& volumeName, + G4VPhysicalVolume* mother, + const G4String& colourName, + G4bool wireFrame,G4bool sensitivity) + +{ G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); G4Material* adipose = material -> GetMaterial("adipose"); G4Material* adipose_glandular = material -> GetMaterial("adipose_glandular"); @@ -78,7 +80,7 @@ G4VPhysicalVolume* G4ParameterisedBreast::ConstructBreast(G4VPhysicalVolume* mot G4LogicalVolume* breast_log = new G4LogicalVolume(breast, adipose, - "Breast", + "logicalOut"+ volumeName, 0, 0, 0); rmax = 5.5 *cm; zz = 5. *cm; @@ -88,7 +90,7 @@ G4VPhysicalVolume* G4ParameterisedBreast::ConstructBreast(G4VPhysicalVolume* mot G4LogicalVolume* innerBreast_log = new G4LogicalVolume(innerBreast, adipose_glandular, - "InnerBreast", + "logical"+ volumeName, 0, 0, 0); G4RotationMatrix* matrix = new G4RotationMatrix(); @@ -97,23 +99,23 @@ G4VPhysicalVolume* G4ParameterisedBreast::ConstructBreast(G4VPhysicalVolume* mot matrix -> rotateZ(-18. * degree); - G4VPhysicalVolume* physBreast = new G4PVPlacement(matrix,G4ThreeVector(8.63*cm, 46.87* cm, 8.4854 *cm), - "physicalParameterisedBreast", + G4VPhysicalVolume* physBreast = new G4PVPlacement(matrix,G4ThreeVector(10.*cm, 52.* cm, 8.7 *cm), + "physicalVoxelLeftBreast", breast_log, mother, false, - 0); + 0, true); G4VPhysicalVolume* physInnerBreast = new G4PVPlacement(0,0, - "innerBreast", + "LeftBreast", innerBreast_log, physBreast, false, - 0); + 0, true); - - // Parameterisation with Replicas /* + // Parameterisation with Replicas + G4double rmin_voxelz = 0.* cm; G4double rmax_voxelz = 5.5 * cm; G4double zz_voxels = 5. * cm; @@ -146,58 +148,39 @@ G4VPhysicalVolume* G4ParameterisedBreast::ConstructBreast(G4VPhysicalVolume* mot */ - G4VisAttributes* BreastVisAtt = new G4VisAttributes(G4Colour(1.0,0.41,0.71)); - BreastVisAtt -> SetForceSolid(false); + + G4HumanPhantomColour* colourPointer = new G4HumanPhantomColour(); + G4Colour colour = colourPointer -> GetColour(colourName); + delete colourPointer; + + G4VisAttributes* BreastVisAtt = new G4VisAttributes(colour); + BreastVisAtt -> SetForceSolid(wireFrame); breast_log -> SetVisAttributes(BreastVisAtt); - G4VisAttributes* innerBreastVisAtt = new G4VisAttributes(G4Colour(1.0,0.0,0.)); + G4VisAttributes* innerBreastVisAtt = new G4VisAttributes(colour); innerBreastVisAtt -> SetForceSolid(false); innerBreast_log -> SetVisAttributes(innerBreastVisAtt); - // voxelz_log -> SetVisAttributes(innerBreastVisAtt); + + // voxelz_log -> SetVisAttributes(innerBreastVisAtt); // voxel_log -> SetVisAttributes(innerBreastVisAtt); - G4cout << "Parameterised Breast created !!!!!!" << G4endl; + G4cout << "Voxel Left Breast created !!!!!!" << G4endl; - // Testing Breast Volume - G4double BreastVol = breast_log->GetSolid()->GetCubicVolume(); - G4cout << "Volume of Breast = " << BreastVol/cm3 << " cm^3" << G4endl; - - // Testing Breast Material - G4String BreastMat = breast_log->GetMaterial()->GetName(); - G4cout << "Material of Breast = " << BreastMat << G4endl; - - G4String innerBreastMat = innerBreast_log->GetMaterial()->GetName(); - G4cout << "Material of the Inner Breast = " << BreastMat << G4endl; - - // Testing Density - //G4double BreastDensity = logicBreast->GetMaterial()->GetDensity(); - //G4cout << "Density of Material = " << BreastDensity*cm3/g << " g/cm^3" << G4endl; - - // Testing Mass - //G4double BreastMass = (BreastVol)*BreastDensity; - //G4cout << "Mass of Breast = " << BreastMass/gram << " g" << G4endl; - - - // Sensitive detector - // Sensitive Body Part - if (sensitivity==true) +if (sensitivity==true) { G4SDManager* SDman = G4SDManager::GetSDMpointer(); - if(!breastSD) - { - G4String sensitiveDetectorName = "Parameterised_breast"; + G4String sensitiveDetectorName = "VoxelLeftBreast"; - breastSD = new G4HumanPhantomSDBreast(sensitiveDetectorName); + G4VoxelLeftBreastSD* breastSD = new G4VoxelLeftBreastSD(sensitiveDetectorName); - G4String ROGeometryName = "PhantomROGeometry"; + G4String ROGeometryName = "VoxelLeftROGeometry"; - G4HumanPhantomROGeometry* phantomROGeometry = new G4HumanPhantomROGeometry(ROGeometryName); + G4VoxelLeftBreastROGeometry* phantomROGeometry = new G4VoxelLeftBreastROGeometry(ROGeometryName); phantomROGeometry -> BuildROGeometry(); breastSD -> SetROgeometry(phantomROGeometry); SDman -> AddNewDetector(breastSD); innerBreast_log -> SetSensitiveDetector(breastSD); - } } return physInnerBreast; diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomROGeometry.cc b/examples/advanced/human_phantom/src/G4VoxelLeftBreastROGeometry.cc similarity index 84% rename from examples/advanced/human_phantom/src/G4HumanPhantomROGeometry.cc rename to examples/advanced/human_phantom/src/G4VoxelLeftBreastROGeometry.cc index 492e943197..2696bcfed0 100644 --- a/examples/advanced/human_phantom/src/G4HumanPhantomROGeometry.cc +++ b/examples/advanced/human_phantom/src/G4VoxelLeftBreastROGeometry.cc @@ -31,8 +31,8 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#include "G4HumanPhantomROGeometry.hh" -#include "G4HumanDummySD.hh" +#include "G4VoxelLeftBreastROGeometry.hh" +#include "G4HumanDummyLeftBreastSD.hh" #include "G4LogicalVolume.hh" #include "G4VPhysicalVolume.hh" #include "G4PVPlacement.hh" @@ -43,17 +43,17 @@ #include "G4Material.hh" #include "G4Tubs.hh" -G4HumanPhantomROGeometry::G4HumanPhantomROGeometry(G4String aString): +G4VoxelLeftBreastROGeometry::G4VoxelLeftBreastROGeometry(G4String aString): G4VReadOutGeometry(aString), ROvoxel_phys(0) { } -G4HumanPhantomROGeometry::~G4HumanPhantomROGeometry() +G4VoxelLeftBreastROGeometry::~G4VoxelLeftBreastROGeometry() { } -G4VPhysicalVolume* G4HumanPhantomROGeometry::Build() +G4VPhysicalVolume* G4VoxelLeftBreastROGeometry::Build() { // A dummy material is used to fill the volumes of the readout geometry. @@ -63,12 +63,10 @@ G4VPhysicalVolume* G4HumanPhantomROGeometry::Build() G4Material* dummyMat = new G4Material(name="dummyMat", 1., 1.*g/mole, 1.*g/cm3); - G4double worldSizeX = 2.0*m; G4double worldSizeY = 2.0*m; G4double worldSizeZ = 2.0*m; - // world volume of ROGeometry ... G4Box *ROWorld = new G4Box("ROWorld", worldSizeX/2., @@ -92,14 +90,16 @@ G4VPhysicalVolume* G4HumanPhantomROGeometry::Build() G4double spanningPhi = 180. * degree; G4double rmax = 5.5 *cm; G4double zz = 5. *cm; - - G4Tubs* ROinnerBreast = new G4Tubs("inner_breast", + + // RO geometry is defined for the inner tube of the breast + + G4Tubs* ROinnerLeftBreast = new G4Tubs("innerVoxelLeftBreast", rmin, rmax, zz/2., startPhi, spanningPhi); - G4LogicalVolume* ROinnerBreast_log = new G4LogicalVolume(ROinnerBreast, + G4LogicalVolume* ROinnerLeftBreast_log = new G4LogicalVolume(ROinnerLeftBreast, dummyMat, - "InnerBreast", + "InnerLeftBreast", 0, 0, 0); G4RotationMatrix* matrix = new G4RotationMatrix(); matrix -> rotateX(-90.* degree); @@ -107,10 +107,10 @@ G4VPhysicalVolume* G4HumanPhantomROGeometry::Build() matrix -> rotateZ(-18. * degree); - G4VPhysicalVolume* ROphysInnerBreast = new G4PVPlacement(matrix, - G4ThreeVector(8.63*cm, 46.87* cm, 8.4854 *cm), - "physicalParameterisedBreast", - ROinnerBreast_log, + G4VPhysicalVolume* ROphysInnerLeftBreast = new G4PVPlacement(matrix, + G4ThreeVector(10.*cm, 52.* cm, 8.7 *cm), + "physicalVoxelLeftBreast", + ROinnerLeftBreast_log, ROWorldPhys, false, 0); @@ -127,10 +127,12 @@ G4VPhysicalVolume* G4HumanPhantomROGeometry::Build() G4LogicalVolume* ROvoxelz_log = new G4LogicalVolume(ROvoxelz, dummyMat, "voxelz_log",0 , 0, 0); - G4VPhysicalVolume* ROvoxelz_phys = new G4PVReplica("LinearArray", ROvoxelz_log, ROphysInnerBreast, + G4VPhysicalVolume* ROvoxelz_phys = new G4PVReplica("LinearArray", ROvoxelz_log, ROphysInnerLeftBreast, kZAxis, nslice, zz_voxels/nslice); G4double voxel_height = (zz_voxels/nslice); + +// Breast RO Geometry - slices along phi angle G4int n_voxels = 10; @@ -149,7 +151,7 @@ G4VPhysicalVolume* G4HumanPhantomROGeometry::Build() //delete matrix; - G4HumanDummySD *dummySD = new G4HumanDummySD; + G4HumanDummyLeftBreastSD *dummySD = new G4HumanDummyLeftBreastSD; ROvoxel_log -> SetSensitiveDetector(dummySD); return ROWorldPhys; diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomEnergyDeposit.cc b/examples/advanced/human_phantom/src/G4VoxelLeftBreastSD.cc similarity index 60% rename from examples/advanced/human_phantom/src/G4HumanPhantomEnergyDeposit.cc rename to examples/advanced/human_phantom/src/G4VoxelLeftBreastSD.cc index 1eb1abc35c..434357d842 100644 --- a/examples/advanced/human_phantom/src/G4HumanPhantomEnergyDeposit.cc +++ b/examples/advanced/human_phantom/src/G4VoxelLeftBreastSD.cc @@ -31,55 +31,58 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // - -#include "G4HumanPhantomEnergyDeposit.hh" -#ifdef G4ANALYSIS_USE +#include "G4VoxelLeftBreastSD.hh" +#include "G4HCofThisEvent.hh" +#include "G4Step.hh" +#include "G4ThreeVector.hh" +#include "G4SDManager.hh" +#include "G4ios.hh" +#ifdef G4ANALYSIS_USE #include "G4HumanPhantomAnalysisManager.hh" #endif -#include "globals.hh" -#include "G4UnitsTable.hh" -G4HumanPhantomEnergyDeposit::G4HumanPhantomEnergyDeposit() -{ -} - -G4HumanPhantomEnergyDeposit::~G4HumanPhantomEnergyDeposit() +G4VoxelLeftBreastSD::G4VoxelLeftBreastSD(G4String name) +:G4VSensitiveDetector(name) { } -void G4HumanPhantomEnergyDeposit::Fill(G4String bodypartName, - G4double energyDeposit) +G4VoxelLeftBreastSD::~G4VoxelLeftBreastSD() +{;} + +void G4VoxelLeftBreastSD::Initialize(G4HCofThisEvent*) +{} + +G4bool G4VoxelLeftBreastSD::ProcessHits(G4Step* aStep,G4TouchableHistory* ROhist) { - energyTotal[bodypartName] += energyDeposit; -} + if(!ROhist) return false; + + // Check the volume + if(aStep -> GetPreStepPoint() -> GetPhysicalVolume() -> + GetName() != "LeftBreast") + return false; -void G4HumanPhantomEnergyDeposit::TotalEnergyDeposit() -{ - - G4double totalBody = energyTotal["HeadVolume"]+energyTotal["TrunkVolume"]+energyTotal["LegsVolume"]; - G4cout << "Energy in total body = " << G4BestUnit(totalBody,"Energy") << G4endl; + G4double edep = aStep->GetTotalEnergyDeposit(); + if(edep==0.) return false; - std::map::iterator i = energyTotal.begin(); - std::map::iterator end = energyTotal.end(); + if(edep != 0) + { + +#ifdef G4ANALYSIS_USE +G4HumanPhantomAnalysisManager* analysis = + G4HumanPhantomAnalysisManager::getInstance(); - G4double k = 0.;; - - while(i!=end) - { - - G4String bodypart = i->first; - G4double energyDep = i->second; - - G4cout << "Energy Total in " < bodypartEnergyDep(k,energyDep/MeV); -#endif - i++; - k++; + if (aStep -> GetPreStepPoint() -> GetPhysicalVolume() -> + GetName() == "LeftBreast") + { + G4int sector = ROhist -> GetReplicaNumber(); + G4int slice = ROhist -> GetReplicaNumber(1); + analysis -> voxelLeftBreastEnergyDeposit(slice,sector,edep/MeV); + // G4cout << "LeftBreast:" << "slice: " << slice << ",sector: "<< sector << " "<< edep/MeV << G4endl; + } +#endif } - + return true; } + +void G4VoxelLeftBreastSD::EndOfEvent(G4HCofThisEvent*) +{} diff --git a/examples/advanced/human_phantom/src/G4VoxelRightBreast.cc b/examples/advanced/human_phantom/src/G4VoxelRightBreast.cc new file mode 100644 index 0000000000..1858216088 --- /dev/null +++ b/examples/advanced/human_phantom/src/G4VoxelRightBreast.cc @@ -0,0 +1,187 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#include "G4VoxelRightBreast.hh" +#include "globals.hh" +#include "G4SDManager.hh" +#include "G4VisAttributes.hh" +#include "G4Tubs.hh" +#include "G4ThreeVector.hh" +#include "G4VPhysicalVolume.hh" +#include "G4RotationMatrix.hh" +#include "G4Material.hh" +#include "G4LogicalVolume.hh" +#include "G4HumanPhantomMaterial.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" +#include "G4VoxelRightBreastROGeometry.hh" +#include "G4VoxelRightBreastSD.hh" +#include "G4HumanPhantomColour.hh" +G4VoxelRightBreast::G4VoxelRightBreast() +{ +} + +G4VoxelRightBreast::~G4VoxelRightBreast() +{ + + +} + +G4VPhysicalVolume* G4VoxelRightBreast::Construct(const G4String& volumeName, + G4VPhysicalVolume* mother, + const G4String& colourName, + G4bool wireFrame,G4bool sensitivity) + +{ + G4HumanPhantomMaterial* material = new G4HumanPhantomMaterial(); + G4Material* adipose = material -> GetMaterial("adipose"); + G4Material* adipose_glandular = material -> GetMaterial("adipose_glandular"); + delete material; + + G4double rmin = 0.* cm; + G4double rmax = 6. * cm; + G4double zz = 6. * cm; + G4double startPhi = 0.* degree; + G4double spanningPhi = 180. * degree; + + G4Tubs* breast = new G4Tubs("out_breast", rmin, rmax, + zz/2., startPhi, spanningPhi); + + G4LogicalVolume* breast_log = new G4LogicalVolume(breast, + adipose, + "logicalOut"+ volumeName, + 0, 0, 0); + rmax = 5.5 *cm; + zz = 5. *cm; + G4Tubs* innerBreast = new G4Tubs("inner_breast", + rmin, rmax, + zz/2., startPhi, spanningPhi); + + G4LogicalVolume* innerBreast_log = new G4LogicalVolume(innerBreast, + adipose_glandular, + "logical"+ volumeName, + 0, 0, 0); + + G4RotationMatrix* matrix = new G4RotationMatrix(); + matrix -> rotateX(-90.* degree); + matrix -> rotateY(180.* degree); + matrix -> rotateZ(18. * degree); + + + G4VPhysicalVolume* physBreast = new G4PVPlacement(matrix,G4ThreeVector(-10.*cm, 52.* cm, 8.7 *cm), + "physicalVoxelRightBreast", + breast_log, + mother, + false, + 0, true); + + G4VPhysicalVolume* physInnerBreast = new G4PVPlacement(0,0, + "RightBreast", + innerBreast_log, + physBreast, + false, + 0, true); + + + // Parameterisation with Replicas + /* + G4double rmin_voxelz = 0.* cm; + G4double rmax_voxelz = 5.5 * cm; + G4double zz_voxels = 5. * cm; + G4double startPhi_voxelz = 0.* degree; + G4double spanningPhi_voxelz = 180. * degree; + G4int nslice = 10; + + G4Tubs* voxelz = new G4Tubs("voxel_z", rmin_voxelz, rmax_voxelz, zz_voxels/(2*nslice),startPhi_voxelz, spanningPhi_voxelz); + G4LogicalVolume* voxelz_log = new G4LogicalVolume(voxelz, adipose_glandular, "voxelz_log",0 , 0, 0); + G4VPhysicalVolume* voxelz_phys = new G4PVReplica("LinearArray", voxelz_log, physInnerBreast, + kZAxis, nslice, zz_voxels/nslice); + + G4double voxel_height = (zz_voxels/nslice); + + G4int n_voxels = 10; + + G4double voxel_phi = spanningPhi_voxelz/n_voxels; + + G4cout <<"voxel_phi: " < GetColour(colourName); + delete colourPointer; + + G4VisAttributes* BreastVisAtt = new G4VisAttributes(colour); + BreastVisAtt -> SetForceSolid(wireFrame); + breast_log -> SetVisAttributes(BreastVisAtt); + + G4VisAttributes* innerBreastVisAtt = new G4VisAttributes(colour); + innerBreastVisAtt -> SetForceSolid(true); + innerBreast_log -> SetVisAttributes(innerBreastVisAtt); + + // voxelz_log -> SetVisAttributes(innerBreastVisAtt); + // voxel_log -> SetVisAttributes(innerBreastVisAtt); + + G4cout << "Voxel Right Breast created !!!!!!" << G4endl; + +if (sensitivity==true) + { + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + + G4String sensitiveDetectorName = "VoxelRightBreast"; + + G4VoxelRightBreastSD* breastSD = new G4VoxelRightBreastSD(sensitiveDetectorName); + + G4String ROGeometryName = "VoxelRightROGeometry"; + + G4VoxelRightBreastROGeometry* phantomROGeometry = new G4VoxelRightBreastROGeometry(ROGeometryName); + phantomROGeometry -> BuildROGeometry(); + breastSD -> SetROgeometry(phantomROGeometry); + SDman -> AddNewDetector(breastSD); + innerBreast_log -> SetSensitiveDetector(breastSD); + } + return physInnerBreast; + +} diff --git a/examples/advanced/human_phantom/src/G4VoxelRightBreastROGeometry.cc b/examples/advanced/human_phantom/src/G4VoxelRightBreastROGeometry.cc new file mode 100644 index 0000000000..be510f0d01 --- /dev/null +++ b/examples/advanced/human_phantom/src/G4VoxelRightBreastROGeometry.cc @@ -0,0 +1,161 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// Authors: S. Guatelli and M. G. Pia, INFN Genova, Italy +// +// Based on code developed by the undergraduate student G. Guerrieri +// Note: this is a preliminary beta-version of the code; an improved +// version will be distributed in the next Geant4 public release, compliant +// with the design in a forthcoming publication, and subject to a +// design and code review. +// +#include "G4VoxelRightBreastROGeometry.hh" +#include "G4HumanDummyRightBreastSD.hh" +#include "G4LogicalVolume.hh" +#include "G4VPhysicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" +#include "G4SDManager.hh" +#include "G4Box.hh" +#include "G4ThreeVector.hh" +#include "G4Material.hh" +#include "G4Tubs.hh" + +G4VoxelRightBreastROGeometry::G4VoxelRightBreastROGeometry(G4String aString): + + G4VReadOutGeometry(aString), ROvoxel_phys(0) +{ +} + +G4VoxelRightBreastROGeometry::~G4VoxelRightBreastROGeometry() +{ +} + +G4VPhysicalVolume* G4VoxelRightBreastROGeometry::Build() +{ + + // A dummy material is used to fill the volumes of the readout geometry. + // (It will be allowed to set a NULL pointer in volumes of such virtual + // division in future, since this material is irrelevant for tracking.) + + G4Material* dummyMat = new G4Material(name="dummyMat", + 1., 1.*g/mole, 1.*g/cm3); + + G4double worldSizeX = 2.0*m; + G4double worldSizeY = 2.0*m; + G4double worldSizeZ = 2.0*m; + + // world volume of ROGeometry ... + G4Box *ROWorld = new G4Box("ROWorld", + worldSizeX/2., + worldSizeY/2., + worldSizeZ/2.); + + G4LogicalVolume *ROWorldLog = new G4LogicalVolume(ROWorld, + dummyMat, + "ROWorldLog", + 0,0,0); + + G4VPhysicalVolume *ROWorldPhys = new G4PVPlacement(0, + G4ThreeVector(), + "ROWorldPhys", + ROWorldLog, + 0,false,0); + + // Breast Mother Volume + G4double rmin = 0.* cm; + G4double startPhi = 0.* degree; + G4double spanningPhi = 180. * degree; + G4double rmax = 5.5 *cm; + G4double zz = 5. *cm; + + // RO geometry is defined for the inner tube of the breast + + G4Tubs* ROinnerRightBreast = new G4Tubs("innerRightBreast", + rmin, rmax, + zz/2., startPhi, spanningPhi); + + G4LogicalVolume* ROinnerRightBreast_log = new G4LogicalVolume(ROinnerRightBreast, + dummyMat, + "InnerRightBreast", + 0, 0, 0); + G4RotationMatrix* matrix = new G4RotationMatrix(); + matrix -> rotateX(-90.* degree); + matrix -> rotateY(180.* degree); + matrix -> rotateZ(18. * degree); + + + G4VPhysicalVolume* ROphysInnerRightBreast = new G4PVPlacement(matrix, + G4ThreeVector(-10.*cm, 52.* cm, 8.7 *cm), + "innerRightBreast", + ROinnerRightBreast_log, + ROWorldPhys, + false, + 0); + + // Breast RO Geometry - slices along z axis + G4double rmin_voxelz = 0.* cm; + G4double rmax_voxelz = 5.5 * cm; + G4double zz_voxels = 5. * cm; + G4double startPhi_voxelz = 0.* degree; + G4double spanningPhi_voxelz = 180. * degree; + G4int nslice = 10; + + G4Tubs* ROvoxelz = new G4Tubs("voxel_z", rmin_voxelz, rmax_voxelz, zz_voxels/(2*nslice),startPhi_voxelz, spanningPhi_voxelz); + + G4LogicalVolume* ROvoxelz_log = new G4LogicalVolume(ROvoxelz, dummyMat, "voxelz_log",0 , 0, 0); + + G4VPhysicalVolume* ROvoxelz_phys = new G4PVReplica("LinearArray", ROvoxelz_log, ROphysInnerRightBreast, + kZAxis, nslice, zz_voxels/nslice); + + G4double voxel_height = (zz_voxels/nslice); + +// Breast RO Geometry - slices along phi angle + + G4int n_voxels = 10; + + G4double voxel_phi = spanningPhi_voxelz/n_voxels; + + + G4Tubs* ROvoxel = new G4Tubs("voxel", rmin_voxelz, rmax_voxelz, voxel_height/2., + startPhi_voxelz,voxel_phi); + + G4LogicalVolume* ROvoxel_log = new G4LogicalVolume(ROvoxel, dummyMat, "voxel_log", 0,0,0); + + ROvoxel_phys = new G4PVReplica("RZPhiSlices", + ROvoxel_log, + ROvoxelz_phys, + kPhi, n_voxels, voxel_phi,- (voxel_phi/2.)); + + //delete matrix; + + G4HumanDummyRightBreastSD* dummySD = new G4HumanDummyRightBreastSD; + ROvoxel_log -> SetSensitiveDetector(dummySD); + + return ROWorldPhys; +} + + + diff --git a/examples/advanced/human_phantom/src/G4HumanPhantomSDBreast.cc b/examples/advanced/human_phantom/src/G4VoxelRightBreastSD.cc similarity index 74% rename from examples/advanced/human_phantom/src/G4HumanPhantomSDBreast.cc rename to examples/advanced/human_phantom/src/G4VoxelRightBreastSD.cc index fd4c393490..ace4243988 100644 --- a/examples/advanced/human_phantom/src/G4HumanPhantomSDBreast.cc +++ b/examples/advanced/human_phantom/src/G4VoxelRightBreastSD.cc @@ -31,7 +31,7 @@ // with the design in a forthcoming publication, and subject to a // design and code review. // -#include "G4HumanPhantomSDBreast.hh" +#include "G4VoxelRightBreastSD.hh" #include "G4HCofThisEvent.hh" #include "G4Step.hh" #include "G4ThreeVector.hh" @@ -41,24 +41,25 @@ #include "G4HumanPhantomAnalysisManager.hh" #endif -G4HumanPhantomSDBreast::G4HumanPhantomSDBreast(G4String name) +G4VoxelRightBreastSD::G4VoxelRightBreastSD(G4String name) :G4VSensitiveDetector(name) { } -G4HumanPhantomSDBreast::~G4HumanPhantomSDBreast() +G4VoxelRightBreastSD::~G4VoxelRightBreastSD() {;} -void G4HumanPhantomSDBreast::Initialize(G4HCofThisEvent*) +void G4VoxelRightBreastSD::Initialize(G4HCofThisEvent*) {} -G4bool G4HumanPhantomSDBreast::ProcessHits(G4Step* aStep,G4TouchableHistory* ROhist) +G4bool G4VoxelRightBreastSD::ProcessHits(G4Step* aStep,G4TouchableHistory* ROhist) { if(!ROhist) return false; // Check the volume if(aStep -> GetPreStepPoint() -> GetPhysicalVolume() -> - GetName() != "innerBreast") + GetName() != "RightBreast") + return false; G4double edep = aStep->GetTotalEnergyDeposit(); @@ -67,17 +68,22 @@ G4bool G4HumanPhantomSDBreast::ProcessHits(G4Step* aStep,G4TouchableHistory* ROh if(edep != 0) { -#ifdef G4ANALYSIS_USE - G4int sector = ROhist -> GetReplicaNumber(); - G4int slice = ROhist -> GetReplicaNumber(1); - G4HumanPhantomAnalysisManager* analysis = - G4HumanPhantomAnalysisManager::getInstance(); - - analysis -> innerBreastEnergyDep(slice,sector,edep/MeV); +#ifdef G4ANALYSIS_USE +G4HumanPhantomAnalysisManager* analysis = + G4HumanPhantomAnalysisManager::getInstance(); + + if (aStep -> GetPreStepPoint() -> GetPhysicalVolume() -> + GetName() == "RightBreast") + { + G4int sector = ROhist -> GetReplicaNumber(); + G4int slice = ROhist -> GetReplicaNumber(1); + analysis -> voxelRightBreastEnergyDeposit(slice,sector,edep/MeV); + //G4cout << "RightBreast:" << "slice: " << slice << ",sector: "<< sector << " "<< edep/MeV << G4endl; + } #endif } return true; } -void G4HumanPhantomSDBreast::EndOfEvent(G4HCofThisEvent*) +void G4VoxelRightBreastSD::EndOfEvent(G4HCofThisEvent*) {} diff --git a/examples/advanced/lAr_calorimeter/include/FCALCalorHit.hh b/examples/advanced/lAr_calorimeter/include/FCALCalorHit.hh index bf3c453f62..188c8796fe 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALCalorHit.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALCalorHit.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALCalorHit.hh,v 1.6 2006/06/29 16:01:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/include/FCALEMModuleSD.hh b/examples/advanced/lAr_calorimeter/include/FCALEMModuleSD.hh index 9d3b88213c..bb387bffad 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALEMModuleSD.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALEMModuleSD.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALEMModuleSD.hh,v 1.8 2006/06/29 16:01:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/include/FCALHadModuleSD.hh b/examples/advanced/lAr_calorimeter/include/FCALHadModuleSD.hh index f04084ba7c..4cd0e3e150 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALHadModuleSD.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALHadModuleSD.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALHadModuleSD.hh,v 1.8 2006/06/29 16:01:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/include/FCALPrimaryGeneratorAction.hh b/examples/advanced/lAr_calorimeter/include/FCALPrimaryGeneratorAction.hh index 26fe5761b4..d84ed22c43 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALPrimaryGeneratorAction.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALPrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALPrimaryGeneratorAction.hh,v 1.6 2006/06/29 16:02:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/include/FCALRunAction.hh b/examples/advanced/lAr_calorimeter/include/FCALRunAction.hh index 29c6b4428a..210d9eb061 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALRunAction.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALRunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALRunAction.hh,v 1.10 2006/06/29 16:02:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/include/FCALSteppingAction.hh b/examples/advanced/lAr_calorimeter/include/FCALSteppingAction.hh index e747a8decb..5503facd0e 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALSteppingAction.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALSteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALSteppingAction.hh,v 1.7 2006/06/29 16:02:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/include/FCALSteppingVerbose.hh b/examples/advanced/lAr_calorimeter/include/FCALSteppingVerbose.hh index 0f089ee0cb..1f6ef3bbf3 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALSteppingVerbose.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALSteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALSteppingVerbose.hh,v 1.6 2006/06/29 16:02:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/examples/advanced/lAr_calorimeter/include/FCALTBEventAction.hh b/examples/advanced/lAr_calorimeter/include/FCALTBEventAction.hh index 1d92ce8739..b08cea20d8 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALTBEventAction.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALTBEventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALTBEventAction.hh,v 1.11 2006/06/29 16:02:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/include/FCALTestbeamSetupSD.hh b/examples/advanced/lAr_calorimeter/include/FCALTestbeamSetupSD.hh index 780a6eb0ab..7b41252563 100644 --- a/examples/advanced/lAr_calorimeter/include/FCALTestbeamSetupSD.hh +++ b/examples/advanced/lAr_calorimeter/include/FCALTestbeamSetupSD.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALTestbeamSetupSD.hh,v 1.7 2006/06/29 16:02:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/lArCal.cc b/examples/advanced/lAr_calorimeter/lArCal.cc index a7888dd192..ea417d6920 100644 --- a/examples/advanced/lAr_calorimeter/lArCal.cc +++ b/examples/advanced/lAr_calorimeter/lArCal.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: lArCal.cc,v 1.11 2006/06/29 16:01:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/advanced/lAr_calorimeter/src/FCALCalorHit.cc b/examples/advanced/lAr_calorimeter/src/FCALCalorHit.cc index d350fbf861..2b296564cb 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALCalorHit.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALCalorHit.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALCalorHit.cc,v 1.6 2006/06/29 16:02:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/src/FCALEMModuleSD.cc b/examples/advanced/lAr_calorimeter/src/FCALEMModuleSD.cc index eb195709c5..f2585bc9b9 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALEMModuleSD.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALEMModuleSD.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALEMModuleSD.cc,v 1.12 2006/07/21 11:45:53 ribon Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/src/FCALHadModuleSD.cc b/examples/advanced/lAr_calorimeter/src/FCALHadModuleSD.cc index c618041199..22bb72737f 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALHadModuleSD.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALHadModuleSD.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALHadModuleSD.cc,v 1.10 2006/07/21 11:45:53 ribon Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/src/FCALPrimaryGeneratorAction.cc b/examples/advanced/lAr_calorimeter/src/FCALPrimaryGeneratorAction.cc index 63bb41db6f..0e90f3387d 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALPrimaryGeneratorAction.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALPrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALPrimaryGeneratorAction.cc,v 1.9 2006/07/21 08:19:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/src/FCALRunAction.cc b/examples/advanced/lAr_calorimeter/src/FCALRunAction.cc index ca9ba28b10..2a7c1d264a 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALRunAction.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALRunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALRunAction.cc,v 1.7 2006/06/29 16:03:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/src/FCALSteppingAction.cc b/examples/advanced/lAr_calorimeter/src/FCALSteppingAction.cc index 8600b0339b..7157b6ff57 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALSteppingAction.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALSteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALSteppingAction.cc,v 1.7 2006/06/29 16:03:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/src/FCALSteppingVerbose.cc b/examples/advanced/lAr_calorimeter/src/FCALSteppingVerbose.cc index f34026e329..c9cd2af194 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALSteppingVerbose.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALSteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALSteppingVerbose.cc,v 1.7 2006/06/29 16:03:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/examples/advanced/lAr_calorimeter/src/FCALTBEventAction.cc b/examples/advanced/lAr_calorimeter/src/FCALTBEventAction.cc index 62d7552f3e..15f5b62669 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALTBEventAction.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALTBEventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALTBEventAction.cc,v 1.13 2006/06/29 16:03:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetupSD.cc b/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetupSD.cc index 2b192d30a8..5f4fe1ccd3 100644 --- a/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetupSD.cc +++ b/examples/advanced/lAr_calorimeter/src/FCALTestbeamSetupSD.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FCALTestbeamSetupSD.cc,v 1.11 2006/06/29 16:03:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/microbeam/microbeam.out b/examples/advanced/microbeam/microbeam.out index d2d18f0e3d..5202e5d455 100644 --- a/examples/advanced/microbeam/microbeam.out +++ b/examples/advanced/microbeam/microbeam.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -14,7 +14,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -131,7 +130,7 @@ MicrobeamPhysicsList::SetCuts:CutLength : 10 nm msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 G4AugerData for Element no. 6 are loaded G4AugerData for Element no. 7 are loaded G4AugerData for Element no. 8 are loaded @@ -166,7 +165,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -175,7 +174,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 0 hLowEIoni: Knock-on electron cross sections . Good description above the mean excitation energy. @@ -191,7 +190,7 @@ hLowEIoni: Knock-on electron cross sections . msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 hLowEIoni: Knock-on electron cross sections . Good description above the mean excitation energy. @@ -208,7 +207,7 @@ hLowEIoni: Knock-on electron cross sections . msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 0 ========= Table of registered couples ============================== @@ -307,24 +306,26 @@ Index : 12 used in the geometry : Yes recalculation needed : No -> Event # 1 generated ===> The incident alpha particle has reached the targeted cell : - -----> total absorbed dose within Nucleus is (Gy) = 0.38476 - -----> total absorbed dose within Cytoplasm is (Gy) = 0.0474129 + -----> total absorbed dose within Nucleus is (Gy) = 0.307962 + -----> total absorbed dose within Cytoplasm is (Gy) = 0.0382348 -> Event # 2 generated ===> The incident alpha particle has reached the targeted cell : - -----> total absorbed dose within Nucleus is (Gy) = 0.326371 - -----> total absorbed dose within Cytoplasm is (Gy) = 0.0235737 + -----> total absorbed dose within Nucleus is (Gy) = 0.3149 + -----> total absorbed dose within Cytoplasm is (Gy) = 0.13141 -> Event # 3 generated - ===> Sorry, the incident alpha particle has missed the targeted cell ! + ===> The incident alpha particle has reached the targeted cell : + -----> total absorbed dose within Nucleus is (Gy) = 0.307115 + -----> total absorbed dose within Cytoplasm is (Gy) = 0.100445 -> Event # 4 generated - ===> Sorry, the incident alpha particle has missed the targeted cell ! + ===> The incident alpha particle has reached the targeted cell : + -----> total absorbed dose within Nucleus is (Gy) = 0.388045 + -----> total absorbed dose within Cytoplasm is (Gy) = 0.0381594 -> Event # 5 generated - ===> The incident alpha particle has reached the targeted cell : - -----> total absorbed dose within Nucleus is (Gy) = 0.327327 - -----> total absorbed dose within Cytoplasm is (Gy) = 0.00630958 + ===> Sorry, the incident alpha particle has missed the targeted cell ! -> Event # 6 generated ===> Sorry, the incident alpha particle has missed the targeted cell ! @@ -339,9 +340,7 @@ Index : 12 used in the geometry : Yes recalculation needed : No ===> Sorry, the incident alpha particle has missed the targeted cell ! -> Event # 10 generated - ===> The incident alpha particle has reached the targeted cell : - -----> total absorbed dose within Nucleus is (Gy) = 0.383181 - -----> total absorbed dose within Cytoplasm is (Gy) = 0.0430387 + ===> Sorry, the incident alpha particle has missed the targeted cell ! ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. -> Total number of particles detected by the gas detector : 4 diff --git a/examples/advanced/purging_magnet/PurgMag.cc b/examples/advanced/purging_magnet/PurgMag.cc index 35db5b82f6..ab37e7e057 100644 --- a/examples/advanced/purging_magnet/PurgMag.cc +++ b/examples/advanced/purging_magnet/PurgMag.cc @@ -33,7 +33,7 @@ // ********************* // // $Id: PurgMag.cc,v 1.5 2006/06/29 16:05:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Comments: Main program for the Purgin Magnet example. // diff --git a/examples/advanced/purging_magnet/include/PurgMagAnalysisManager.hh b/examples/advanced/purging_magnet/include/PurgMagAnalysisManager.hh index 7512bc216f..e4e0b4946f 100644 --- a/examples/advanced/purging_magnet/include/PurgMagAnalysisManager.hh +++ b/examples/advanced/purging_magnet/include/PurgMagAnalysisManager.hh @@ -33,7 +33,7 @@ // ************************************ // // $Id: PurgMagAnalysisManager.hh,v 1.3 2006/06/29 16:05:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4ANALYSIS_USE diff --git a/examples/advanced/purging_magnet/include/PurgMagDetectorConstruction.hh b/examples/advanced/purging_magnet/include/PurgMagDetectorConstruction.hh index bbd1fb13a9..bc265467a8 100644 --- a/examples/advanced/purging_magnet/include/PurgMagDetectorConstruction.hh +++ b/examples/advanced/purging_magnet/include/PurgMagDetectorConstruction.hh @@ -33,7 +33,7 @@ // ***************************************** // // $Id: PurgMagDetectorConstruction.hh,v 1.3 2006/06/29 16:05:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/purging_magnet/include/PurgMagEventAction.hh b/examples/advanced/purging_magnet/include/PurgMagEventAction.hh index 764d9d7e4a..cb204ffba9 100644 --- a/examples/advanced/purging_magnet/include/PurgMagEventAction.hh +++ b/examples/advanced/purging_magnet/include/PurgMagEventAction.hh @@ -33,7 +33,7 @@ // ******************************** // // $Id: PurgMagEventAction.hh,v 1.3 2006/06/29 16:05:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/purging_magnet/include/PurgMagPhysicsList.hh b/examples/advanced/purging_magnet/include/PurgMagPhysicsList.hh index d747cd95bf..15e94edafa 100644 --- a/examples/advanced/purging_magnet/include/PurgMagPhysicsList.hh +++ b/examples/advanced/purging_magnet/include/PurgMagPhysicsList.hh @@ -34,7 +34,7 @@ // // // $Id: PurgMagPhysicsList.hh,v 1.4 2006/06/29 16:05:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/purging_magnet/include/PurgMagPrimaryGeneratorAction.hh b/examples/advanced/purging_magnet/include/PurgMagPrimaryGeneratorAction.hh index f76a2bb869..243bb92bad 100644 --- a/examples/advanced/purging_magnet/include/PurgMagPrimaryGeneratorAction.hh +++ b/examples/advanced/purging_magnet/include/PurgMagPrimaryGeneratorAction.hh @@ -34,7 +34,7 @@ // ******************************************** // // $Id: PurgMagPrimaryGeneratorAction.hh,v 1.3 2006/06/29 16:05:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/purging_magnet/include/PurgMagRunAction.hh b/examples/advanced/purging_magnet/include/PurgMagRunAction.hh index ff5f9871e5..e7e4339dfa 100644 --- a/examples/advanced/purging_magnet/include/PurgMagRunAction.hh +++ b/examples/advanced/purging_magnet/include/PurgMagRunAction.hh @@ -33,7 +33,7 @@ // ****************************** // // $Id: PurgMagRunAction.hh,v 1.3 2006/06/29 16:05:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef PurgMagRunAction_h diff --git a/examples/advanced/purging_magnet/include/PurgMagSteppingAction.hh b/examples/advanced/purging_magnet/include/PurgMagSteppingAction.hh index 468d0d149e..954d908bc1 100644 --- a/examples/advanced/purging_magnet/include/PurgMagSteppingAction.hh +++ b/examples/advanced/purging_magnet/include/PurgMagSteppingAction.hh @@ -33,7 +33,7 @@ // *********************************** // // $Id: PurgMagSteppingAction.hh,v 1.3 2006/06/29 16:06:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/purging_magnet/include/PurgMagSteppingVerbose.hh b/examples/advanced/purging_magnet/include/PurgMagSteppingVerbose.hh index 2d28c67169..b2b9944a91 100644 --- a/examples/advanced/purging_magnet/include/PurgMagSteppingVerbose.hh +++ b/examples/advanced/purging_magnet/include/PurgMagSteppingVerbose.hh @@ -34,7 +34,7 @@ // ************************************ // // $Id: PurgMagSteppingVerbose.hh,v 1.3 2006/06/29 16:06:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // class PurgMagSteppingVerbose; diff --git a/examples/advanced/purging_magnet/include/PurgMagTabulatedField3D.hh b/examples/advanced/purging_magnet/include/PurgMagTabulatedField3D.hh index 2139588de7..cb4ada52a9 100644 --- a/examples/advanced/purging_magnet/include/PurgMagTabulatedField3D.hh +++ b/examples/advanced/purging_magnet/include/PurgMagTabulatedField3D.hh @@ -33,7 +33,7 @@ // ************************************* // // $Id: PurgMagTabulatedField3D.hh,v 1.3 2006/06/29 16:06:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/examples/advanced/purging_magnet/include/PurgMagTrackingAction.hh b/examples/advanced/purging_magnet/include/PurgMagTrackingAction.hh index 3cb07fb6c5..c0a0f5e1b9 100644 --- a/examples/advanced/purging_magnet/include/PurgMagTrackingAction.hh +++ b/examples/advanced/purging_magnet/include/PurgMagTrackingAction.hh @@ -33,7 +33,7 @@ // ********************************** // // $Id: PurgMagTrackingAction.hh,v 1.3 2006/06/29 16:06:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef PurgMagTrackingAction_h diff --git a/examples/advanced/purging_magnet/src/PurgMagAnalysisManager.cc b/examples/advanced/purging_magnet/src/PurgMagAnalysisManager.cc index 04c9f94452..3084ac8119 100644 --- a/examples/advanced/purging_magnet/src/PurgMagAnalysisManager.cc +++ b/examples/advanced/purging_magnet/src/PurgMagAnalysisManager.cc @@ -33,7 +33,7 @@ // ************************************ // // $Id: PurgMagAnalysisManager.cc,v 1.3 2006/06/29 16:06:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4ANALYSIS_USE #include diff --git a/examples/advanced/purging_magnet/src/PurgMagDetectorConstruction.cc b/examples/advanced/purging_magnet/src/PurgMagDetectorConstruction.cc index df3410cba5..c1957ed795 100644 --- a/examples/advanced/purging_magnet/src/PurgMagDetectorConstruction.cc +++ b/examples/advanced/purging_magnet/src/PurgMagDetectorConstruction.cc @@ -33,7 +33,7 @@ // ***************************************** // // $Id: PurgMagDetectorConstruction.cc,v 1.4 2006/06/29 16:06:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "PurgMagDetectorConstruction.hh" #include "PurgMagTabulatedField3D.hh" diff --git a/examples/advanced/purging_magnet/src/PurgMagEventAction.cc b/examples/advanced/purging_magnet/src/PurgMagEventAction.cc index 323aee5de1..7186ccbd7d 100644 --- a/examples/advanced/purging_magnet/src/PurgMagEventAction.cc +++ b/examples/advanced/purging_magnet/src/PurgMagEventAction.cc @@ -33,7 +33,7 @@ // ******************************** // // $Id: PurgMagEventAction.cc,v 1.4 2006/06/29 16:06:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/purging_magnet/src/PurgMagPhysicsList.cc b/examples/advanced/purging_magnet/src/PurgMagPhysicsList.cc index 957ae2c9b7..f86cec8dc8 100644 --- a/examples/advanced/purging_magnet/src/PurgMagPhysicsList.cc +++ b/examples/advanced/purging_magnet/src/PurgMagPhysicsList.cc @@ -34,7 +34,7 @@ // // // $Id: PurgMagPhysicsList.cc,v 1.5 2006/06/29 16:06:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/purging_magnet/src/PurgMagPrimaryGeneratorAction.cc b/examples/advanced/purging_magnet/src/PurgMagPrimaryGeneratorAction.cc index a623af71ef..6b24e4afc2 100644 --- a/examples/advanced/purging_magnet/src/PurgMagPrimaryGeneratorAction.cc +++ b/examples/advanced/purging_magnet/src/PurgMagPrimaryGeneratorAction.cc @@ -33,7 +33,7 @@ // ******************************************** // // $Id: PurgMagPrimaryGeneratorAction.cc,v 1.3 2006/06/29 16:06:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/purging_magnet/src/PurgMagRunAction.cc b/examples/advanced/purging_magnet/src/PurgMagRunAction.cc index 0185bf564b..a972768f35 100644 --- a/examples/advanced/purging_magnet/src/PurgMagRunAction.cc +++ b/examples/advanced/purging_magnet/src/PurgMagRunAction.cc @@ -33,7 +33,7 @@ // ****************************** // // $Id: PurgMagRunAction.cc,v 1.4 2006/06/29 16:06:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "PurgMagRunAction.hh" diff --git a/examples/advanced/purging_magnet/src/PurgMagSteppingAction.cc b/examples/advanced/purging_magnet/src/PurgMagSteppingAction.cc index b12e848c59..fd3454b6f3 100644 --- a/examples/advanced/purging_magnet/src/PurgMagSteppingAction.cc +++ b/examples/advanced/purging_magnet/src/PurgMagSteppingAction.cc @@ -33,7 +33,7 @@ // *********************************** // // $Id: PurgMagSteppingAction.cc,v 1.5 2006/06/29 16:06:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/advanced/purging_magnet/src/PurgMagSteppingVerbose.cc b/examples/advanced/purging_magnet/src/PurgMagSteppingVerbose.cc index 66e9bd46ae..c24f30deef 100644 --- a/examples/advanced/purging_magnet/src/PurgMagSteppingVerbose.cc +++ b/examples/advanced/purging_magnet/src/PurgMagSteppingVerbose.cc @@ -33,7 +33,7 @@ // ************************************ // // $Id: PurgMagSteppingVerbose.cc,v 1.3 2006/06/29 16:06:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "PurgMagSteppingVerbose.hh" diff --git a/examples/advanced/purging_magnet/src/PurgMagTabulatedField3D.cc b/examples/advanced/purging_magnet/src/PurgMagTabulatedField3D.cc index eb3f900b86..fb467db154 100644 --- a/examples/advanced/purging_magnet/src/PurgMagTabulatedField3D.cc +++ b/examples/advanced/purging_magnet/src/PurgMagTabulatedField3D.cc @@ -33,7 +33,7 @@ // ************************************* // // $Id: PurgMagTabulatedField3D.cc,v 1.4 2006/06/29 16:06:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "PurgMagTabulatedField3D.hh" diff --git a/examples/advanced/purging_magnet/src/PurgMagTrackingAction.cc b/examples/advanced/purging_magnet/src/PurgMagTrackingAction.cc index d6a1c81144..8794720aab 100644 --- a/examples/advanced/purging_magnet/src/PurgMagTrackingAction.cc +++ b/examples/advanced/purging_magnet/src/PurgMagTrackingAction.cc @@ -33,7 +33,7 @@ // *********************************** // // $Id: PurgMagTrackingAction.cc,v 1.3 2006/06/29 16:06:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "PurgMagTrackingAction.hh" diff --git a/examples/advanced/radiation_monitor/Radmon.cc b/examples/advanced/radiation_monitor/Radmon.cc index 670ef61723..9d341565d5 100644 --- a/examples/advanced/radiation_monitor/Radmon.cc +++ b/examples/advanced/radiation_monitor/Radmon.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: Radmon.cc,v 1.3 2006/06/29 16:06:29 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Application main file // diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysis.hh b/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysis.hh index 5711ab5a51..46c51767c6 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysis.hh +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysis.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonAnalysis.hh,v 1.4 2006/06/29 16:06:41 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Analysis main class // diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisLayout.hh b/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisLayout.hh index f1fcad90f2..045a7cd7e4 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisLayout.hh +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonAnalysisLayout.hh,v 1.3 2006/06/29 16:06:44 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Concrete class to keep track of the analysis options // diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisMessenger.hh b/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisMessenger.hh index 6ae8f5a685..6591dc3cd8 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisMessenger.hh +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisMessenger.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonAnalysisMessenger.hh,v 1.3 2006/06/29 16:06:47 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: UI commands for managing a layout // diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisSensitiveDetectorTypeLayout.hh b/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisSensitiveDetectorTypeLayout.hh index b5413b77cb..5abd2d8e79 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisSensitiveDetectorTypeLayout.hh +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisSensitiveDetectorTypeLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonAnalysisSensitiveDetectorTypeLayout.hh,v 1.3 2006/06/29 16:06:49 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Internal class to manage sensitive detector types // diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisSensitiveDetectorTypeLayout.icc b/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisSensitiveDetectorTypeLayout.icc index fa813f58f4..74728e2a4c 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisSensitiveDetectorTypeLayout.icc +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonAnalysisSensitiveDetectorTypeLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonAnalysisSensitiveDetectorTypeLayout.icc,v 1.3 2006/06/29 16:06:51 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONANALYSISSENSITIVEDETECTORTYPELAYOUT_HH diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisDepositedEnergy.hh b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisDepositedEnergy.hh index 5f6c71cf18..75c3923aad 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisDepositedEnergy.hh +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisDepositedEnergy.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDataAnalysisDepositedEnergy.hh,v 1.3 2006/06/29 16:06:53 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Energy deposit analysis // diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisDepositedEnergy.icc b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisDepositedEnergy.icc index 2ba2598b6c..30d0cc1c5f 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisDepositedEnergy.icc +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisDepositedEnergy.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDataAnalysisDepositedEnergy.icc,v 1.3 2006/06/29 16:06:55 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDATAANALYSISDEPOSITEDENERGY_HH diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisLayout.hh b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisLayout.hh index a06b3fd0a5..cf4df630dd 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisLayout.hh +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDataAnalysisLayout.hh,v 1.3 2006/06/29 16:06:57 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Internal class that describes layer informations // diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisLayout.icc b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisLayout.icc index 45f68aebdd..abaf6b0c8e 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisLayout.icc +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDataAnalysisLayout.icc,v 1.3 2006/06/29 16:07:01 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDATAANALYSISLAYOUT_HH diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisWithLabelFactory.hh b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisWithLabelFactory.hh index f166d89692..e3276b07c7 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisWithLabelFactory.hh +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisWithLabelFactory.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDataAnalysisWithLabelFactory.hh,v 1.3 2006/06/29 16:07:05 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Concrete factory that constructs // RadmonSubPhysiscsListWithLabel objects diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisWithLabelFactory.icc b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisWithLabelFactory.icc index c969400c3d..28a2bb1ca0 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisWithLabelFactory.icc +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisWithLabelFactory.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDataAnalysisWithLabelFactory.icc,v 1.3 2006/06/29 16:07:07 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDATAANALYSISWITHLABELFACTORY_HH diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisWithLabelMessenger.hh b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisWithLabelMessenger.hh index 739d76a434..76900979fd 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisWithLabelMessenger.hh +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonDataAnalysisWithLabelMessenger.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDataAnalysisWithLabelMessenger.hh,v 1.3 2006/06/29 16:07:09 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: UI commands for dumping the available constructors // diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonVAnalysisLayout.hh b/examples/advanced/radiation_monitor/analysis/include/RadmonVAnalysisLayout.hh index e46f147a30..cf5459e114 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonVAnalysisLayout.hh +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonVAnalysisLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVAnalysisLayout.hh,v 1.1.2.2 2006/06/29 16:07:11 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class to keep track of the analysis options // diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonVAnalysisLayout.icc b/examples/advanced/radiation_monitor/analysis/include/RadmonVAnalysisLayout.icc index 336a0e5b3d..6e5bb1eb34 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonVAnalysisLayout.icc +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonVAnalysisLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVAnalysisLayout.icc,v 1.3 2006/06/29 16:07:13 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVANALYSISLAYOUT_HH diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysis.hh b/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysis.hh index 1533fc5323..1613f904c3 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysis.hh +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysis.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDataAnalysis.hh,v 1.4 2006/06/29 16:07:15 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class of an analysis piece // diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysis.icc b/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysis.icc index 309f7b1842..1a3378f2a7 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysis.icc +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysis.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDataAnalysis.icc,v 1.3 2006/06/29 16:07:17 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVDATAANALYSIS_HH diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisFactory.hh b/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisFactory.hh index 50ecd867de..23cccf1e10 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisFactory.hh +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisFactory.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDataAnalysisFactory.hh,v 1.1.2.2 2006/06/29 16:07:19 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class of a factory of analysis items // diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisFactory.icc b/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisFactory.icc index 6b980cd9f0..9e9effb090 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisFactory.icc +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisFactory.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDataAnalysisFactory.icc,v 1.1.2.2 2006/06/29 16:07:21 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVDATAANALYSISFACTORY_HH diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisWithLabel.hh b/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisWithLabel.hh index 54229462cd..7a2e37e85b 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisWithLabel.hh +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisWithLabel.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDataAnalysisWithLabel.hh,v 1.3 2006/06/29 16:07:23 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class of an analysis piece with label // and attributes diff --git a/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisWithLabel.icc b/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisWithLabel.icc index a8ad538514..312155ed23 100644 --- a/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisWithLabel.icc +++ b/examples/advanced/radiation_monitor/analysis/include/RadmonVDataAnalysisWithLabel.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDataAnalysisWithLabel.icc,v 1.3 2006/06/29 16:07:25 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVDATAANALYSISWITHLABEL_HH diff --git a/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysis.cc b/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysis.cc index c19892dda0..d6106e55f5 100644 --- a/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysis.cc +++ b/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysis.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonAnalysis.cc,v 1.2.2.2 2006/06/29 16:07:35 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysisLayout.cc b/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysisLayout.cc index 58af2d6930..c4bf3092f5 100644 --- a/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysisLayout.cc +++ b/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysisLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonAnalysisLayout.cc,v 1.3 2006/06/29 16:07:37 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysisMessenger.cc b/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysisMessenger.cc index 0b23122c8b..7d26f7c08b 100644 --- a/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysisMessenger.cc +++ b/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysisMessenger.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonAnalysisMessenger.cc,v 1.3 2006/06/29 16:07:39 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Messenger commands path diff --git a/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysisSensitiveDetectorTypeLayout.cc b/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysisSensitiveDetectorTypeLayout.cc index 1263089c35..46342109ad 100644 --- a/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysisSensitiveDetectorTypeLayout.cc +++ b/examples/advanced/radiation_monitor/analysis/src/RadmonAnalysisSensitiveDetectorTypeLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonAnalysisSensitiveDetectorTypeLayout.cc,v 1.3 2006/06/29 16:07:41 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisDepositedEnergy.cc b/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisDepositedEnergy.cc index 6b2ad0674c..9470fe939c 100644 --- a/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisDepositedEnergy.cc +++ b/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisDepositedEnergy.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDataAnalysisDepositedEnergy.cc,v 1.3 2006/06/29 16:07:43 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonDataAnalysisDepositedEnergy.hh" diff --git a/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisLayout.cc b/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisLayout.cc index e00b62e178..fa3c71209d 100644 --- a/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisLayout.cc +++ b/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDataAnalysisLayout.cc,v 1.1.2.2 2006/06/29 16:07:45 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisWithLabelFactory.cc b/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisWithLabelFactory.cc index bfb21f8da8..92d7ff7420 100644 --- a/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisWithLabelFactory.cc +++ b/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisWithLabelFactory.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDataAnalysisWithLabelFactory.cc,v 1.3 2006/06/29 16:07:47 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisWithLabelMessenger.cc b/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisWithLabelMessenger.cc index 57f26ff2f4..9efa5ba8e2 100644 --- a/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisWithLabelMessenger.cc +++ b/examples/advanced/radiation_monitor/analysis/src/RadmonDataAnalysisWithLabelMessenger.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDataAnalysisWithLabelMessenger.cc,v 1.3 2006/06/29 16:07:49 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Messenger commands path diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplication.hh b/examples/advanced/radiation_monitor/application/include/RadmonApplication.hh index 569c45498d..072bac05f4 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplication.hh +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplication.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplication.hh,v 1.8 2006/06/29 16:07:51 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Radmon application // diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplication.icc b/examples/advanced/radiation_monitor/application/include/RadmonApplication.icc index fcf8af46ba..9dbd63718c 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplication.icc +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplication.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplication.icc,v 1.3 2006/06/29 16:07:53 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONAPPLICATION_HH diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationAnalysisSetup.hh b/examples/advanced/radiation_monitor/application/include/RadmonApplicationAnalysisSetup.hh index 0b61192c81..d7f49697cf 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationAnalysisSetup.hh +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationAnalysisSetup.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationAnalysisSetup.hh,v 1.3 2006/06/29 16:07:55 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Radmon application analysis setup // diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationAnalysisSetup.icc b/examples/advanced/radiation_monitor/application/include/RadmonApplicationAnalysisSetup.icc index c37f0ada05..6e84c0ae2b 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationAnalysisSetup.icc +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationAnalysisSetup.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationAnalysisSetup.icc,v 1.3 2006/06/29 16:07:57 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONAPPLICATIONANALYSISSETUP_HH diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationDetectorSetup.hh b/examples/advanced/radiation_monitor/application/include/RadmonApplicationDetectorSetup.hh index f262172506..9b5882be09 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationDetectorSetup.hh +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationDetectorSetup.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationDetectorSetup.hh,v 1.3 2006/06/29 16:07:59 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Radmon application detector entity constructors setup // diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationDetectorSetup.icc b/examples/advanced/radiation_monitor/application/include/RadmonApplicationDetectorSetup.icc index a448037940..56d3d63739 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationDetectorSetup.icc +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationDetectorSetup.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationDetectorSetup.icc,v 1.3 2006/06/29 16:08:01 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONAPPLICATIONDETECTORSETUP_HH diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventNumbering.hh b/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventNumbering.hh index 7244e1f346..f3f07e3f8b 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventNumbering.hh +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventNumbering.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationEventNumbering.hh,v 1.3 2006/06/29 16:08:03 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Dumps event id // diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventNumbering.icc b/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventNumbering.icc index 4ed80f9edb..b2e9b71cd6 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventNumbering.icc +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventNumbering.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationEventNumbering.icc,v 1.3 2006/06/29 16:08:05 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONAPPLICATIONEVENTNUMBERING_HH diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventTracks.hh b/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventTracks.hh index cd41f8f387..a9b773cddb 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventTracks.hh +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventTracks.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationEventTracks.hh,v 1.3 2006/06/29 16:08:07 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Dumps event id // diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventTracks.icc b/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventTracks.icc index 42b35c419c..2ab94c320b 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventTracks.icc +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationEventTracks.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationEventTracks.icc,v 1.3 2006/06/29 16:08:09 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONAPPLICATIONEVENTTRACKS_HH diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationGeneratorSetup.hh b/examples/advanced/radiation_monitor/application/include/RadmonApplicationGeneratorSetup.hh index 8a9bb7b7bf..9605e7ccf1 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationGeneratorSetup.hh +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationGeneratorSetup.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationGeneratorSetup.hh,v 1.3 2006/06/29 16:08:11 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Radmon application generators algoritms setup // diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationGeneratorSetup.icc b/examples/advanced/radiation_monitor/application/include/RadmonApplicationGeneratorSetup.icc index 70cd71d20c..2576b12e7f 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationGeneratorSetup.icc +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationGeneratorSetup.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationGeneratorSetup.icc,v 1.3 2006/06/29 16:08:13 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONAPPLICATIONGENERATORSETUP_HH diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationMessenger.hh b/examples/advanced/radiation_monitor/application/include/RadmonApplicationMessenger.hh index fc9a680871..c131201d05 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationMessenger.hh +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationMessenger.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationMessenger.hh,v 1.1.2.2 2006/06/29 16:08:15 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: UI commands for managing application level options // diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationOptions.hh b/examples/advanced/radiation_monitor/application/include/RadmonApplicationOptions.hh index cfc9cc4741..bdd657f662 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationOptions.hh +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationOptions.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationOptions.hh,v 1.3 2006/06/29 16:08:17 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Supporting class for application startup // diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationOptions.icc b/examples/advanced/radiation_monitor/application/include/RadmonApplicationOptions.icc index 730452f54e..b2bd00cf2b 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationOptions.icc +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationOptions.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationOptions.icc,v 1.3 2006/06/29 16:08:19 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONAPPLICATIONOPTIONS_HH diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationPhysicsSetup.hh b/examples/advanced/radiation_monitor/application/include/RadmonApplicationPhysicsSetup.hh index 0d3b761587..ae4d7cd63a 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationPhysicsSetup.hh +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationPhysicsSetup.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationPhysicsSetup.hh,v 1.3 2006/06/29 16:08:21 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Radmon application generators algoritms setup // diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationPhysicsSetup.icc b/examples/advanced/radiation_monitor/application/include/RadmonApplicationPhysicsSetup.icc index 69ef3cfb87..a9b9583069 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationPhysicsSetup.icc +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationPhysicsSetup.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationPhysicsSetup.icc,v 1.3 2006/06/29 16:08:23 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONAPPLICATIONPHYSICSSETUP_HH diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationRunNumbering.hh b/examples/advanced/radiation_monitor/application/include/RadmonApplicationRunNumbering.hh index 56ea8ef09e..9ef3151025 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationRunNumbering.hh +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationRunNumbering.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationRunNumbering.hh,v 1.3 2006/06/29 16:08:25 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Dumps run id // diff --git a/examples/advanced/radiation_monitor/application/include/RadmonApplicationRunNumbering.icc b/examples/advanced/radiation_monitor/application/include/RadmonApplicationRunNumbering.icc index 00828835bb..d9f2a656a9 100644 --- a/examples/advanced/radiation_monitor/application/include/RadmonApplicationRunNumbering.icc +++ b/examples/advanced/radiation_monitor/application/include/RadmonApplicationRunNumbering.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationRunNumbering.icc,v 1.3 2006/06/29 16:08:27 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONAPPLICATIONRUNNUMBERING_HH diff --git a/examples/advanced/radiation_monitor/application/src/RadmonApplication.cc b/examples/advanced/radiation_monitor/application/src/RadmonApplication.cc index 8d31a41bef..a437f4ccc7 100644 --- a/examples/advanced/radiation_monitor/application/src/RadmonApplication.cc +++ b/examples/advanced/radiation_monitor/application/src/RadmonApplication.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplication.cc,v 1.12.2.2 2006/06/29 16:08:29 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/application/src/RadmonApplicationAnalysisSetup.cc b/examples/advanced/radiation_monitor/application/src/RadmonApplicationAnalysisSetup.cc index b8824becb9..dea5600554 100644 --- a/examples/advanced/radiation_monitor/application/src/RadmonApplicationAnalysisSetup.cc +++ b/examples/advanced/radiation_monitor/application/src/RadmonApplicationAnalysisSetup.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationAnalysisSetup.cc,v 1.3.2.2 2006/06/29 16:08:31 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/application/src/RadmonApplicationDetectorSetup.cc b/examples/advanced/radiation_monitor/application/src/RadmonApplicationDetectorSetup.cc index 1dce1a0b4c..8628e8f856 100644 --- a/examples/advanced/radiation_monitor/application/src/RadmonApplicationDetectorSetup.cc +++ b/examples/advanced/radiation_monitor/application/src/RadmonApplicationDetectorSetup.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationDetectorSetup.cc,v 1.1.2.2 2006/06/29 16:08:33 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/application/src/RadmonApplicationEventNumbering.cc b/examples/advanced/radiation_monitor/application/src/RadmonApplicationEventNumbering.cc index 4928e4843b..55d36c02b2 100644 --- a/examples/advanced/radiation_monitor/application/src/RadmonApplicationEventNumbering.cc +++ b/examples/advanced/radiation_monitor/application/src/RadmonApplicationEventNumbering.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationEventNumbering.cc,v 1.3 2006/06/29 16:08:35 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/application/src/RadmonApplicationEventTracks.cc b/examples/advanced/radiation_monitor/application/src/RadmonApplicationEventTracks.cc index cf57cf836d..d7b0517fa1 100644 --- a/examples/advanced/radiation_monitor/application/src/RadmonApplicationEventTracks.cc +++ b/examples/advanced/radiation_monitor/application/src/RadmonApplicationEventTracks.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationEventTracks.cc,v 1.3 2006/06/29 16:08:37 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/application/src/RadmonApplicationGeneratorSetup.cc b/examples/advanced/radiation_monitor/application/src/RadmonApplicationGeneratorSetup.cc index d70036d17a..6d45364d4f 100644 --- a/examples/advanced/radiation_monitor/application/src/RadmonApplicationGeneratorSetup.cc +++ b/examples/advanced/radiation_monitor/application/src/RadmonApplicationGeneratorSetup.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationGeneratorSetup.cc,v 1.3 2006/06/29 16:08:39 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/application/src/RadmonApplicationMessenger.cc b/examples/advanced/radiation_monitor/application/src/RadmonApplicationMessenger.cc index bb4a9a65fe..3e133f6816 100644 --- a/examples/advanced/radiation_monitor/application/src/RadmonApplicationMessenger.cc +++ b/examples/advanced/radiation_monitor/application/src/RadmonApplicationMessenger.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationMessenger.cc,v 1.1.2.2 2006/06/29 16:08:41 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Messenger commands path diff --git a/examples/advanced/radiation_monitor/application/src/RadmonApplicationOptions.cc b/examples/advanced/radiation_monitor/application/src/RadmonApplicationOptions.cc index a990fcb5bc..57ace3198f 100644 --- a/examples/advanced/radiation_monitor/application/src/RadmonApplicationOptions.cc +++ b/examples/advanced/radiation_monitor/application/src/RadmonApplicationOptions.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationOptions.cc,v 1.5 2006/06/29 16:08:43 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/application/src/RadmonApplicationPhysicsSetup.cc b/examples/advanced/radiation_monitor/application/src/RadmonApplicationPhysicsSetup.cc index 6c8bef787c..b0d17b279f 100644 --- a/examples/advanced/radiation_monitor/application/src/RadmonApplicationPhysicsSetup.cc +++ b/examples/advanced/radiation_monitor/application/src/RadmonApplicationPhysicsSetup.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationPhysicsSetup.cc,v 1.4.2.2 2006/06/29 16:08:45 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/application/src/RadmonApplicationRunNumbering.cc b/examples/advanced/radiation_monitor/application/src/RadmonApplicationRunNumbering.cc index 45558cbb55..b409399f60 100644 --- a/examples/advanced/radiation_monitor/application/src/RadmonApplicationRunNumbering.cc +++ b/examples/advanced/radiation_monitor/application/src/RadmonApplicationRunNumbering.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonApplicationRunNumbering.cc,v 1.3 2006/06/29 16:08:47 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeConstructor.hh index 21367f6836..ca0dace708 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeConstructor.hh,v 1.3 2006/06/29 16:08:49 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with carved borders // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeConstructor.icc index e7b9a47ee9..c242ca8fc9 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeConstructor.icc,v 1.1.2.2 2006/06/29 16:08:51 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORCARVEDFLATVOLUMECONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.hh index 12e3037327..ec3f1b488e 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.hh,v 1.3 2006/06/29 16:08:53 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a carved box with a ground pad and marks and hole // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.icc index b39a1ebb93..4099e5f946 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.icc,v 1.3 2006/06/29 16:08:55 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORCARVEDFLATVOLUMEWITHGROUNDANDKEYMARKSANDHOLECONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksConstructor.hh index daeba72206..056ccc146c 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksConstructor.hh,v 1.3 2006/06/29 16:08:57 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a carved box with a ground pad and marks // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksConstructor.icc index d70ae55573..3571503589 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithGroundAndKeyMarksConstructor.icc,v 1.3 2006/06/29 16:08:59 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORCARVEDFLATVOLUMEWITHGROUNDANDKEYMARKSCONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundConstructor.hh index fb90088af9..280bffe2f7 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithGroundConstructor.hh,v 1.3 2006/06/29 16:09:01 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with carved borders // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundConstructor.icc index 1cb7498154..026cbae4bf 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithGroundConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithGroundConstructor.icc,v 1.3 2006/06/29 16:09:03 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORCARVEDFLATVOLUMEWITHGROUNDCONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithHoleConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithHoleConstructor.hh index 188c9ec3af..08c37f84d2 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithHoleConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithHoleConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithHoleConstructor.hh,v 1.3 2006/06/29 16:09:05 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with carved borders // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithHoleConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithHoleConstructor.icc index 204912d8bc..1ad35a650e 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithHoleConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithHoleConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithHoleConstructor.icc,v 1.3 2006/06/29 16:09:07 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORCARVEDFLATVOLUMEWITHHOLECONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithPinsConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithPinsConstructor.hh index 6c903cfbdc..4e985ebfa4 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithPinsConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithPinsConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithPinsConstructor.hh,v 1.3 2006/06/29 16:09:09 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with carved borders and pins // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithPinsConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithPinsConstructor.icc index 3e534339b2..c44e4296c7 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithPinsConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithPinsConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithPinsConstructor.icc,v 1.3 2006/06/29 16:09:11 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORCARVEDFLATVOLUMEWITHPINSCONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksAndHoleConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksAndHoleConstructor.hh index a7e1dd3dc8..57f243eff0 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksAndHoleConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksAndHoleConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithTracksAndHoleConstructor.hh,v 1.3 2006/06/29 16:09:13 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with carved borders // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksAndHoleConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksAndHoleConstructor.icc index 60dc9ec063..116d34e301 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksAndHoleConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksAndHoleConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithTracksAndHoleConstructor.icc,v 1.3 2006/06/29 16:09:15 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORCARVEDFLATVOLUMEWITHTRACKSANDHOLECONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksConstructor.hh index bd9a311ff8..89d929233e 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithTracksConstructor.hh,v 1.3 2006/06/29 16:09:17 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with carved borders and tracks // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksConstructor.icc index 231564e573..3ae5c4ebd9 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorCarvedFlatVolumeWithTracksConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorCarvedFlatVolumeWithTracksConstructor.icc,v 1.3 2006/06/29 16:09:19 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORCARVEDFLATVOLUMEWITHTRACKSCONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorConstruction.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorConstruction.hh index d0d33b7e1d..190138fad5 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorConstruction.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorConstruction.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorConstruction.hh,v 1.3.2.2 2006/06/29 16:09:21 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Implementation of the G4VUserDetectorConstruction // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorEnvironmentLayout.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorEnvironmentLayout.hh index eaab700096..c9a10a0436 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorEnvironmentLayout.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorEnvironmentLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorEnvironmentLayout.hh,v 1.5 2006/06/29 16:09:23 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Internal class to describe the environment layout // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorEnvironmentLayout.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorEnvironmentLayout.icc index 0cdf9714c4..97e6e3077a 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorEnvironmentLayout.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorEnvironmentLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorEnvironmentLayout.icc,v 1.3 2006/06/29 16:09:25 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORENVIRONMENTLAYOUT_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeComponent.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeComponent.hh index f5ccc075af..82716dce54 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeComponent.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeComponent.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeComponent.hh,v 1.4 2006/06/29 16:09:27 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Component to create a box // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeComponent.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeComponent.icc index a9eebfd041..97c57f7b51 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeComponent.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeComponent.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeComponent.icc,v 1.1.2.2 2006/06/29 16:09:29 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORFLATVOLUMECOMPONENT_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeConstructor.hh index a4d7994da2..6e657a810b 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeConstructor.hh,v 1.3 2006/06/29 16:09:31 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeConstructor.icc index d0be4bdcb9..cb87b43e9f 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeConstructor.icc,v 1.3 2006/06/29 16:09:33 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORFLATVOLUMECONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.hh index c935981209..c6c960006c 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.hh,v 1.3 2006/06/29 16:09:35 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with a ground pad, marks and hole // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.icc index e6319202be..9fb8bfc370 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithGroundAndKeyMarksAndHoleConstructor.icc,v 1.3 2006/06/29 16:09:37 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORFLATVOLUMEWITHGROUNDANDKEYMARKSANDHOLECONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksConstructor.hh index 522dd1a968..956941aa44 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithGroundAndKeyMarksConstructor.hh,v 1.3 2006/06/29 16:09:39 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with a ground pad and marks // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksConstructor.icc index 7342f7d4f6..264431eb08 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundAndKeyMarksConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithGroundAndKeyMarksConstructor.icc,v 1.3 2006/06/29 16:09:41 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORFLATVOLUMEWITHGROUNDANDKEYMARKSCONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundConstructor.hh index ce352d428b..b58d4fa6e5 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithGroundConstructor.hh,v 1.3 2006/06/29 16:09:43 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with carved borders // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundConstructor.icc index fc490c6686..8d1d96f1ea 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithGroundConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithGroundConstructor.icc,v 1.3 2006/06/29 16:09:45 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORFLATVOLUMEWITHGROUNDCONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithHoleConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithHoleConstructor.hh index 702bd3b3b7..ffa6cd5bc3 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithHoleConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithHoleConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithHoleConstructor.hh,v 1.3 2006/06/29 16:09:47 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with a hole // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithHoleConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithHoleConstructor.icc index 997a875b74..52f713a424 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithHoleConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithHoleConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithHoleConstructor.icc,v 1.3 2006/06/29 16:09:49 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORFLATVOLUMEWITHHOLECONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPadsConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPadsConstructor.hh index a54c032348..96965fb707 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPadsConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPadsConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithPadsConstructor.hh,v 1.3 2006/06/29 16:09:51 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with pins // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPadsConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPadsConstructor.icc index 6c2bc204ec..a1671635e1 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPadsConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPadsConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithPadsConstructor.icc,v 1.3 2006/06/29 16:09:53 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORFLATVOLUMEWITHPADSCONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPinsConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPinsConstructor.hh index ec18f6e06d..408c9638b4 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPinsConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPinsConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithPinsConstructor.hh,v 1.3 2006/06/29 16:09:55 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with pins // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPinsConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPinsConstructor.icc index 409e132f74..5ff9bc3df1 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPinsConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithPinsConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithPinsConstructor.icc,v 1.3 2006/06/29 16:09:57 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORFLATVOLUMEWITHPINSCONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksAndHoleConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksAndHoleConstructor.hh index 5e9b0b15b2..dcbe9c167d 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksAndHoleConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksAndHoleConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithTracksAndHoleConstructor.hh,v 1.3 2006/06/29 16:09:59 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with tracks and a hole // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksAndHoleConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksAndHoleConstructor.icc index bb6e3b708c..7ccafbb424 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksAndHoleConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksAndHoleConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithTracksAndHoleConstructor.icc,v 1.3 2006/06/29 16:10:01 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORFLATVOLUMEWITHTRACKSANDHOLECONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksConstructor.hh index 7073a2566a..29b057aba8 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithTracksConstructor.hh,v 1.3 2006/06/29 16:10:03 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Builds a box with tracks // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksConstructor.icc index 9087e8cc66..a149199eb6 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorFlatVolumeWithTracksConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeWithTracksConstructor.icc,v 1.3 2006/06/29 16:10:05 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORFLATVOLUMEWITHTRACKSCONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLabelledEntitiesConstructorsFactory.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLabelledEntitiesConstructorsFactory.hh index 61e064045c..263623e547 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLabelledEntitiesConstructorsFactory.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLabelledEntitiesConstructorsFactory.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLabelledEntitiesConstructorsFactory.hh,v 1.4 2006/06/29 16:10:07 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Concrete factory that constructs // RadmonVDetectorLabelledEntityConstructor objects diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLabelledEntitiesConstructorsFactory.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLabelledEntitiesConstructorsFactory.icc index 4cf3a1daa5..adfa608aa3 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLabelledEntitiesConstructorsFactory.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLabelledEntitiesConstructorsFactory.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLabelledEntitiesConstructorsFactory.icc,v 1.3 2006/06/29 16:10:09 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORLABELLEDENTITIESCONSTRUCTORSFACTORY_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLabelledEntitiesConstructorsMessenger.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLabelledEntitiesConstructorsMessenger.hh index c81a4feded..8fe912f0f9 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLabelledEntitiesConstructorsMessenger.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLabelledEntitiesConstructorsMessenger.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLabelledEntitiesConstructorsMessenger.hh,v 1.3 2006/06/29 16:10:11 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: UI commands for dumping the available constructors // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerLayout.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerLayout.hh index acc3960ed1..ec42146029 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerLayout.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerLayout.hh,v 1.5 2006/06/29 16:10:13 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Internal class that describes layer informations // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerLayout.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerLayout.icc index 362a6f0109..fb9b169346 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerLayout.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerLayout.icc,v 1.5 2006/06/29 16:10:15 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORLAYERLAYOUT_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItem.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItem.hh index fe71608a38..7b5c1ee04a 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItem.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItem.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumeItem.hh,v 1.5 2006/06/29 16:10:17 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: solids, physical and logical volumes // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItem.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItem.icc index 7564922b84..9d32a03a1c 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItem.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItem.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumeItem.icc,v 1.4 2006/06/29 16:10:19 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORLAYERVOLUMEITEM_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemIntersection.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemIntersection.hh index ce99baa5c2..ba816d195f 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemIntersection.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemIntersection.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumeItemIntersection.hh,v 1.3 2006/06/29 16:10:21 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Intersection of two solids // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemIntersection.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemIntersection.icc index c52336b406..79b2309439 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemIntersection.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemIntersection.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumeItemIntersection.icc,v 1.3 2006/06/29 16:10:23 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORLAYERVOLUMEITEMINTERSECTION_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemSubtraction.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemSubtraction.hh index 340b4468b4..2564cdf465 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemSubtraction.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemSubtraction.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumeItemSubtraction.hh,v 1.3 2006/06/29 16:10:25 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Subtraction of two solids // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemSubtraction.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemSubtraction.icc index e3f209ee53..b8441c0bee 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemSubtraction.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemSubtraction.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumeItemSubtraction.icc,v 1.3 2006/06/29 16:10:27 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORLAYERVOLUMEITEMSUBTRACTION_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemUnion.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemUnion.hh index 9af6aa60ed..fc465db7c8 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemUnion.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemUnion.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumeItemUnion.hh,v 1.3 2006/06/29 16:10:29 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Union of two solids // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemUnion.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemUnion.icc index 6f8cdd4ca4..d9ea9985aa 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemUnion.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumeItemUnion.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumeItemUnion.icc,v 1.3 2006/06/29 16:10:31 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORLAYERVOLUMEITEMUNION_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumesList.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumesList.hh index 80388ef051..f09624c4c5 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumesList.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumesList.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumesList.hh,v 1.4 2006/06/29 16:10:33 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Collection of solids, physical and logical volumes // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumesList.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumesList.icc index a1894d8c05..2e9b0b0b7f 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumesList.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayerVolumesList.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumesList.icc,v 1.3 2006/06/29 16:10:35 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORLAYERVOLUMESLIST_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayout.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayout.hh index 0414d8c187..df9a3afa9e 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayout.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayout.hh,v 1.4.2.2 2006/06/29 16:10:37 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Class to keep track of the configured detector layout // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMessenger.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMessenger.hh index cfa6a65a91..a8a998113e 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMessenger.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMessenger.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMessenger.hh,v 1.5 2006/06/29 16:10:39 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: UI commands for managing a layout // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerLayout.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerLayout.hh index 92624fedf9..73c20db26f 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerLayout.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMultilayerLayout.hh,v 1.4 2006/06/29 16:10:41 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Internal class to manage multilayers // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerLayout.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerLayout.icc index 58d4fb5574..8e998b9271 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerLayout.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMultilayerLayout.icc,v 1.4 2006/06/29 16:10:43 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORMULTILAYERLAYOUT_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementLayout.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementLayout.hh index 98e9b2c07a..7320a16657 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementLayout.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMultilayerPlacementLayout.hh,v 1.4 2006/06/29 16:10:45 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Internal class to manage placed multilayer // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementLayout.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementLayout.icc index c36be5b2ed..8c47d182e1 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementLayout.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMultilayerPlacementLayout.icc,v 1.3 2006/06/29 16:10:47 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORMULTILAYERPLACEMENTLAYOUT_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementsLayoutCollection.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementsLayoutCollection.hh index 72f5714b0b..561287f6a8 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementsLayoutCollection.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementsLayoutCollection.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMultilayerPlacementsLayoutCollection.hh,v 1.4 2006/06/29 16:10:49 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Internal class to collect placed multilayer // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementsLayoutCollection.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementsLayoutCollection.icc index b16bb312f5..12b0f8265c 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementsLayoutCollection.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayerPlacementsLayoutCollection.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMultilayerPlacementsLayoutCollection.icc,v 1.3 2006/06/29 16:11:14 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORMULTILAYERPLACEMENTSLAYOUTCOLLECTION_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayersLayoutCollection.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayersLayoutCollection.hh index 1074540c98..3226865255 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayersLayoutCollection.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayersLayoutCollection.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMultilayersLayoutCollection.hh,v 1.4 2006/06/29 16:11:42 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Internal class to collect multilayers // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayersLayoutCollection.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayersLayoutCollection.icc index a846b4308d..d0c2232f2e 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayersLayoutCollection.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorMultilayersLayoutCollection.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMultilayersLayoutCollection.icc,v 1.3 2006/06/29 16:12:06 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORMULTILAYERSLAYOUTCOLLECTION_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorPadsData.hh b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorPadsData.hh index da14aba0ba..aac8ec72c7 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorPadsData.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorPadsData.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorPadsData.hh,v 1.3 2006/06/29 16:12:09 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Internal class for pads data managemenet // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorPadsData.icc b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorPadsData.icc index eaaa4ad8cd..3a60579880 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonDetectorPadsData.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonDetectorPadsData.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorPadsData.icc,v 1.3 2006/06/29 16:12:11 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONDETECTORPADSDATA_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorCarvedVolumesDecorator.hh b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorCarvedVolumesDecorator.hh index ba5eaad953..b414cc80c7 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorCarvedVolumesDecorator.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorCarvedVolumesDecorator.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorCarvedVolumesDecorator.hh,v 1.5 2006/06/29 16:12:13 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Carves the borders of a component with the following method // - Constructor diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorCarvedVolumesDecorator.icc b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorCarvedVolumesDecorator.icc index 612646ffe7..99cdf99137 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorCarvedVolumesDecorator.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorCarvedVolumesDecorator.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorCarvedVolumesDecorator.icc,v 1.2.2.2 2006/06/29 16:12:15 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONTDETECTORCARVEDVOLUMESDECORATOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorLayerConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorLayerConstructor.hh index e49eeecbec..7b8cbaca5f 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorLayerConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorLayerConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorLayerConstructor.hh,v 1.4 2006/06/29 16:12:17 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Generates a layer using a component with the following methods // - Constructor with RadmonVDetectorLabelledEntityConstructor or its base classes as argument diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorLayerConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorLayerConstructor.icc index 763122d5bd..a86d4310a3 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorLayerConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorLayerConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorLayerConstructor.icc,v 1.2.2.2 2006/06/29 16:12:20 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONTDETECTORLAYERCONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithGroundDecorator.hh b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithGroundDecorator.hh index 4914b77e00..d7739189b8 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithGroundDecorator.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithGroundDecorator.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorVolumesWithGroundDecorator.hh,v 1.4 2006/06/29 16:12:28 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Decorates with a ground plane // - Constructor diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithGroundDecorator.icc b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithGroundDecorator.icc index 3ef744590e..8f3334d5fb 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithGroundDecorator.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithGroundDecorator.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorVolumesWithGroundDecorator.icc,v 1.1.2.2 2006/06/29 16:12:30 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONTDETECTORVOLUMESWITHGROUNDDECORATOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithHoleDecorator.hh b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithHoleDecorator.hh index b85c854b40..bca21681c2 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithHoleDecorator.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithHoleDecorator.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorVolumesWithHoleDecorator.hh,v 1.5 2006/06/29 16:12:32 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Decorates with a hole a component with the following method // - Constructor diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithHoleDecorator.icc b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithHoleDecorator.icc index e4a08e03f4..97fad22c75 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithHoleDecorator.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithHoleDecorator.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorVolumesWithHoleDecorator.icc,v 1.4 2006/06/29 16:12:34 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONTDETECTORVOLUMESWITHHOLEDECORATOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithKeyMarksDecorator.hh b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithKeyMarksDecorator.hh index 8c72c87151..9aa10b2aa5 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithKeyMarksDecorator.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithKeyMarksDecorator.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorVolumesWithKeyMarksDecorator.hh,v 1.3 2006/06/29 16:12:36 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Decorates with key marks // - Constructor diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithKeyMarksDecorator.icc b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithKeyMarksDecorator.icc index b04ef59519..8c8a9790ab 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithKeyMarksDecorator.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithKeyMarksDecorator.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorVolumesWithKeyMarksDecorator.icc,v 1.1.2.2 2006/06/29 16:12:38 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONTDETECTORVOLUMESWITHKEYMARKSDECORATOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPadsDecorator.hh b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPadsDecorator.hh index fb36324d9c..4141c149b6 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPadsDecorator.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPadsDecorator.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorVolumesWithPadsDecorator.hh,v 1.3 2006/06/29 16:12:40 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Decorates with a ground plane // - Constructor diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPadsDecorator.icc b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPadsDecorator.icc index 42f893bd5a..3dfbe6a6b5 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPadsDecorator.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPadsDecorator.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorVolumesWithPadsDecorator.icc,v 1.1.2.2 2006/06/29 16:12:42 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONTDETECTORVOLUMESWITHPADSDECORATOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPinsDecorator.hh b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPinsDecorator.hh index dccf0a55b2..74aadff21a 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPinsDecorator.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPinsDecorator.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorVolumesWithPinsDecorator.hh,v 1.3 2006/06/29 16:12:44 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Decorates with the pin out // - Constructor diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPinsDecorator.icc b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPinsDecorator.icc index e2f7fe9b6c..46e787ad4f 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPinsDecorator.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithPinsDecorator.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorVolumesWithPinsDecorator.icc,v 1.1.2.2 2006/06/29 16:12:46 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONTDETECTORVOLUMESWITHPINSDECORATOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithTracksDecorator.hh b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithTracksDecorator.hh index df266e2b1a..d4d68da18b 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithTracksDecorator.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithTracksDecorator.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorVolumesWithTracksDecorator.hh,v 1.3 2006/06/29 16:12:48 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Decorates with tracks according to the pin-out // - Constructor diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithTracksDecorator.icc b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithTracksDecorator.icc index 0a032aab50..4a804d76c5 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithTracksDecorator.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonTDetectorVolumesWithTracksDecorator.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTDetectorVolumesWithTracksDecorator.icc,v 1.1.2.2 2006/06/29 16:12:50 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONTDETECTORVOLUMESWITHTRACKSDECORATOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntitiesConstructorsFactory.hh b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntitiesConstructorsFactory.hh index 121925a030..802bf67889 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntitiesConstructorsFactory.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntitiesConstructorsFactory.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDetectorEntitiesConstructorsFactory.hh,v 1.4 2006/06/29 16:12:52 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class of a factory of detector-entity constructor // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntitiesConstructorsFactory.icc b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntitiesConstructorsFactory.icc index 3a14f59e9a..31758ad1f2 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntitiesConstructorsFactory.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntitiesConstructorsFactory.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDetectorEntitiesConstructorsFactory.icc,v 1.3 2006/06/29 16:13:10 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVDETECTORENTITIESCONSTRUCTORSFACTORY_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntityConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntityConstructor.hh index 2eb3200938..168388fa87 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntityConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntityConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDetectorEntityConstructor.hh,v 1.4 2006/06/29 16:13:12 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class of a detector-entity constructor // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntityConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntityConstructor.icc index 54d467a112..d476cc75e7 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntityConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorEntityConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDetectorEntityConstructor.icc,v 1.3 2006/06/29 16:13:14 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVDETECTORENTITYCONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLabelledEntityConstructor.hh b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLabelledEntityConstructor.hh index 3db27e7a53..f752ba433e 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLabelledEntityConstructor.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLabelledEntityConstructor.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDetectorLabelledEntityConstructor.hh,v 1.8 2006/06/29 16:13:16 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class of a detector-entity constructor with label // and attributes diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLabelledEntityConstructor.icc b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLabelledEntityConstructor.icc index 4b7b1cdaec..8a8abfb97b 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLabelledEntityConstructor.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLabelledEntityConstructor.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDetectorLabelledEntityConstructor.icc,v 1.3 2006/06/29 16:13:18 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVDETECTORLABELLEDENTITYCONSTRUCTOR_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayerVolumeItemOperation.hh b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayerVolumeItemOperation.hh index 72f64ea689..f99c0c58a0 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayerVolumeItemOperation.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayerVolumeItemOperation.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDetectorLayerVolumeItemOperation.hh,v 1.3 2006/06/29 16:13:20 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Operates on solids // diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayerVolumeItemOperation.icc b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayerVolumeItemOperation.icc index 9e53b241bd..b498aed599 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayerVolumeItemOperation.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayerVolumeItemOperation.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDetectorLayerVolumeItemOperation.icc,v 1.3 2006/06/29 16:13:22 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVDETECTORLAYERVOLUMEITEMOPERATION_HH diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayout.hh b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayout.hh index 53e094db29..8d9cc0ba6d 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayout.hh +++ b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDetectorLayout.hh,v 1.7 2006/06/29 16:13:24 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class to keep track of the configured detector // layout diff --git a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayout.icc b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayout.icc index 3f3f5687e8..69c30607b0 100644 --- a/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayout.icc +++ b/examples/advanced/radiation_monitor/detector/include/RadmonVDetectorLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDetectorLayout.icc,v 1.3 2006/06/29 16:13:26 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVDETECTORLAYOUT_HH diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorConstruction.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorConstruction.cc index 0d8fb90369..c4f62a61c9 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorConstruction.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorConstruction.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorConstruction.cc,v 1.4.2.2 2006/06/29 16:13:28 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorEnvironmentLayout.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorEnvironmentLayout.cc index 9e1af73384..e89cb90b7a 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorEnvironmentLayout.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorEnvironmentLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorEnvironmentLayout.cc,v 1.5 2006/06/29 16:13:30 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorFlatVolumeComponent.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorFlatVolumeComponent.cc index 5d3cd16c2b..b0d3e7cbb0 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorFlatVolumeComponent.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorFlatVolumeComponent.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorFlatVolumeComponent.cc,v 1.2.2.2 2006/06/29 16:13:32 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLabelledEntitiesConstructorsFactory.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLabelledEntitiesConstructorsFactory.cc index 56844d0078..77b3c8469a 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLabelledEntitiesConstructorsFactory.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLabelledEntitiesConstructorsFactory.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLabelledEntitiesConstructorsFactory.cc,v 1.2.2.2 2006/06/29 16:13:34 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLabelledEntitiesConstructorsMessenger.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLabelledEntitiesConstructorsMessenger.cc index 0725cb7102..149cdedba0 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLabelledEntitiesConstructorsMessenger.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLabelledEntitiesConstructorsMessenger.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLabelledEntitiesConstructorsMessenger.cc,v 1.5 2006/06/29 16:13:36 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Messenger commands path diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerLayout.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerLayout.cc index eb9e9609f5..cb7422adfe 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerLayout.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerLayout.cc,v 1.5 2006/06/29 16:13:39 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItem.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItem.cc index 48cb920475..751fa93321 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItem.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItem.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumeItem.cc,v 1.2.2.2 2006/06/29 16:13:44 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemIntersection.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemIntersection.cc index 5f9b7657de..5c992d6f0c 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemIntersection.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemIntersection.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumeItemIntersection.cc,v 1.3 2006/06/29 16:13:49 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemSubtraction.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemSubtraction.cc index 51df67305a..0f0332a124 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemSubtraction.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemSubtraction.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumeItemSubtraction.cc,v 1.3 2006/06/29 16:13:53 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemUnion.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemUnion.cc index 9d26f90927..dc38a7313f 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemUnion.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumeItemUnion.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumeItemUnion.cc,v 1.3 2006/06/29 16:13:55 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumesList.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumesList.cc index 42178d4a94..0a61f35a5d 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumesList.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayerVolumesList.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayerVolumesList.cc,v 1.3 2006/06/29 16:13:57 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayout.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayout.cc index 6c6c832fc8..d3617f16ab 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayout.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorLayout.cc,v 1.3.2.2 2006/06/29 16:13:59 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMessenger.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMessenger.cc index 20e78add6f..df057f84ef 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMessenger.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMessenger.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMessenger.cc,v 1.3.2.2 2006/06/29 16:14:01 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Messenger commands path diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayerLayout.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayerLayout.cc index 3003688084..9684be77d1 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayerLayout.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayerLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMultilayerLayout.cc,v 1.6.2.2 2006/06/29 16:14:03 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayerPlacementLayout.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayerPlacementLayout.cc index eef503e99b..d788a510f4 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayerPlacementLayout.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayerPlacementLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMultilayerPlacementLayout.cc,v 1.5 2006/06/29 16:14:05 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayerPlacementsLayoutCollection.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayerPlacementsLayoutCollection.cc index 415078a9a3..35693c29fd 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayerPlacementsLayoutCollection.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayerPlacementsLayoutCollection.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMultilayerPlacementsLayoutCollection.cc,v 1.4 2006/06/29 16:14:07 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayersLayoutCollection.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayersLayoutCollection.cc index ca52ffe190..9a7180b48b 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayersLayoutCollection.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorMultilayersLayoutCollection.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorMultilayersLayoutCollection.cc,v 1.5 2006/06/29 16:14:09 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorPadsData.cc b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorPadsData.cc index 46609a653c..5a929773ae 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonDetectorPadsData.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonDetectorPadsData.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDetectorPadsData.cc,v 1.3 2006/06/29 16:14:11 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonVDetectorLabelledEntityConstructor.cc b/examples/advanced/radiation_monitor/detector/src/RadmonVDetectorLabelledEntityConstructor.cc index d2b0b723f1..4c8b011312 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonVDetectorLabelledEntityConstructor.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonVDetectorLabelledEntityConstructor.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDetectorLabelledEntityConstructor.cc,v 1.7 2006/06/29 16:14:13 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/detector/src/RadmonVDetectorLayerVolumeItemOperation.cc b/examples/advanced/radiation_monitor/detector/src/RadmonVDetectorLayerVolumeItemOperation.cc index 0c54276fa8..b4863fef55 100644 --- a/examples/advanced/radiation_monitor/detector/src/RadmonVDetectorLayerVolumeItemOperation.cc +++ b/examples/advanced/radiation_monitor/detector/src/RadmonVDetectorLayerVolumeItemOperation.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVDetectorLayerVolumeItemOperation.cc,v 1.3 2006/06/29 16:14:15 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonDumpStyle.hh b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonDumpStyle.hh index 8ddb4f806c..84989ff34f 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonDumpStyle.hh +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonDumpStyle.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonDumpStyle.hh,v 1.3 2006/06/29 16:14:17 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Define dump widths // diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonLayoutEntityWithAttributes.hh b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonLayoutEntityWithAttributes.hh index 9b0ad78466..665134b4e5 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonLayoutEntityWithAttributes.hh +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonLayoutEntityWithAttributes.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonLayoutEntityWithAttributes.hh,v 1.3.2.2 2006/06/29 16:14:19 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Provides attributes to other detector classes // diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonLayoutEntityWithAttributes.icc b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonLayoutEntityWithAttributes.icc index 3bfe57d881..be757d537e 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonLayoutEntityWithAttributes.icc +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonLayoutEntityWithAttributes.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonLayoutEntityWithAttributes.icc,v 1.3 2006/06/29 16:14:21 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONLAYOUTENTITYWITHATTRIBUTES_HH diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonMessenger.hh b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonMessenger.hh index 82d247db7f..d357887e69 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonMessenger.hh +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonMessenger.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonMessenger.hh,v 1.3 2006/06/29 16:14:23 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: UI commands for managing a layout // diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonMessenger.icc b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonMessenger.icc index a47921ea62..e7f41a006d 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonMessenger.icc +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonMessenger.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonMessenger.icc,v 1.3 2006/06/29 16:14:25 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONMESSENGER_HH diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonMessengersSupport.hh b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonMessengersSupport.hh index 17f70a01c4..dcef20180e 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonMessengersSupport.hh +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonMessengersSupport.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonMessengersSupport.hh,v 1.3 2006/06/29 16:14:27 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Define macros useful to maintain the code of messengers // diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTLabelledCollection.hh b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTLabelledCollection.hh index 4764803f13..f4ea1005d4 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTLabelledCollection.hh +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTLabelledCollection.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTLabelledCollection.hh,v 1.4 2006/06/29 16:14:29 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Container for objects with the following methods // - Constructor diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTLabelledCollection.icc b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTLabelledCollection.icc index 29175005b6..d6add60923 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTLabelledCollection.icc +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTLabelledCollection.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTLabelledCollection.icc,v 1.6 2006/06/29 16:14:31 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONTLABELLEDCOLLECTION_HH diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTokenizer.hh b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTokenizer.hh index 646dc8d39a..4eba0ceadc 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTokenizer.hh +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTokenizer.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTokenizer.hh,v 1.3 2006/06/29 16:14:33 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Reads single tokens of a string // diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTokenizer.icc b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTokenizer.icc index 8774e03441..d9b711784c 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTokenizer.icc +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonTokenizer.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTokenizer.icc,v 1.3 2006/06/29 16:14:35 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONTOKENIZER_HH diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutObserver.hh b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutObserver.hh index 248b2b7b9d..7acebc1351 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutObserver.hh +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutObserver.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVLayoutObserver.hh,v 1.3 2006/06/29 16:14:37 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Observer class of the observer-subjectmodel for the detector // layout diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutObserver.icc b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutObserver.icc index 239870e58c..bb0a2117b5 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutObserver.icc +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutObserver.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVLayoutObserver.icc,v 1.3 2006/06/29 16:14:39 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVLAYOUTOBSERVER_HH diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutSubject.hh b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutSubject.hh index 4167c38f01..b48281d057 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutSubject.hh +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutSubject.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVLayoutSubject.hh,v 1.2.2.2 2006/06/29 16:14:41 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Subject class of the observer-subjectmodel for the detector // layout diff --git a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutSubject.icc b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutSubject.icc index 8034149868..27d4b33daf 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutSubject.icc +++ b/examples/advanced/radiation_monitor/generalPurpose/include/RadmonVLayoutSubject.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVLayoutSubject.icc,v 1.3 2006/06/29 16:14:43 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVLAYOUTSUBJECT_HH diff --git a/examples/advanced/radiation_monitor/generalPurpose/src/RadmonLayoutEntityWithAttributes.cc b/examples/advanced/radiation_monitor/generalPurpose/src/RadmonLayoutEntityWithAttributes.cc index 2fca1d3171..5c07e5cf52 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/src/RadmonLayoutEntityWithAttributes.cc +++ b/examples/advanced/radiation_monitor/generalPurpose/src/RadmonLayoutEntityWithAttributes.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonLayoutEntityWithAttributes.cc,v 1.5 2006/06/29 16:14:45 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generalPurpose/src/RadmonMessenger.cc b/examples/advanced/radiation_monitor/generalPurpose/src/RadmonMessenger.cc index 8d15b55fae..b6234d6d1e 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/src/RadmonMessenger.cc +++ b/examples/advanced/radiation_monitor/generalPurpose/src/RadmonMessenger.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonMessenger.cc,v 1.3 2006/06/29 16:14:47 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generalPurpose/src/RadmonTokenizer.cc b/examples/advanced/radiation_monitor/generalPurpose/src/RadmonTokenizer.cc index 20c96c04e5..64975dad3a 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/src/RadmonTokenizer.cc +++ b/examples/advanced/radiation_monitor/generalPurpose/src/RadmonTokenizer.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonTokenizer.cc,v 1.3 2006/06/29 16:14:49 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generalPurpose/src/RadmonVLayoutSubject.cc b/examples/advanced/radiation_monitor/generalPurpose/src/RadmonVLayoutSubject.cc index db79e15b2f..9afbf8d2cf 100644 --- a/examples/advanced/radiation_monitor/generalPurpose/src/RadmonVLayoutSubject.cc +++ b/examples/advanced/radiation_monitor/generalPurpose/src/RadmonVLayoutSubject.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVLayoutSubject.cc,v 1.3 2006/06/29 16:14:51 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedDirection.hh b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedDirection.hh index ebca7183ad..edd79e3cf9 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedDirection.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedDirection.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorFixedDirection.hh,v 1.3 2006/06/29 16:14:53 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class for a primary generator // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedDirection.icc b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedDirection.icc index d3eb6163bd..744589b802 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedDirection.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedDirection.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorFixedDirection.icc,v 1.3 2006/06/29 16:14:55 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONGENERATORFIXEDDIRECTION_HH diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedEnergy.hh b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedEnergy.hh index 355a53bafc..15ce511288 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedEnergy.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedEnergy.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorFixedEnergy.hh,v 1.3 2006/06/29 16:14:57 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class for a primary generator // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedEnergy.icc b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedEnergy.icc index 3e35ea1b12..0b24095632 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedEnergy.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedEnergy.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorFixedEnergy.icc,v 1.3 2006/06/29 16:14:59 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONGENERATORFIXEDENERGY_HH diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedParticle.hh b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedParticle.hh index 8bfeb7aebc..dfcacb9721 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedParticle.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedParticle.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorFixedParticle.hh,v 1.3 2006/06/29 16:15:01 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class for a primary generator // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedParticle.icc b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedParticle.icc index b236c7b4a6..76655e218f 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedParticle.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedParticle.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorFixedParticle.icc,v 1.3 2006/06/29 16:15:03 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONGENERATORFIXEDPARTICLE_HH diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedPosition.hh b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedPosition.hh index ca5cd0279c..8116e1b94f 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedPosition.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedPosition.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorFixedPosition.hh,v 1.3 2006/06/29 16:15:05 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class for a primary generator // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedPosition.icc b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedPosition.icc index 6d3a86a025..7f36f5836d 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedPosition.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorFixedPosition.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorFixedPosition.icc,v 1.3 2006/06/29 16:15:07 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONGENERATORFIXEDPOSITION_HH diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorLayout.hh b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorLayout.hh index 5b2e13cec2..af091cff15 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorLayout.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorLayout.hh,v 1.3 2006/06/29 16:15:09 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Implementation of the particles source data // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorLayout.icc b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorLayout.icc index 2903568d3f..5aef1a1a39 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorLayout.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorLayout.icc,v 1.3 2006/06/29 16:15:11 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONGENERATORLAYOUT_HH diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorMessenger.hh b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorMessenger.hh index e06ab72ae9..a0947a1f02 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorMessenger.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorMessenger.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorMessenger.hh,v 1.3 2006/06/29 16:15:13 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Messenger to change sources properties // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceAlgorithmLayout.hh b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceAlgorithmLayout.hh index fa25ab3a7e..21d13f4bc3 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceAlgorithmLayout.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceAlgorithmLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorSourceAlgorithmLayout.hh,v 1.3 2006/06/29 16:15:15 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Container for the data of an algorithm of a particles source // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceAlgorithmLayout.icc b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceAlgorithmLayout.icc index f22e8d4abd..705bc5fe7d 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceAlgorithmLayout.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceAlgorithmLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorSourceAlgorithmLayout.icc,v 1.3 2006/06/29 16:15:17 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONGENERATORSOURCEALGORITHMLAYOUT_HH diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceLayout.hh b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceLayout.hh index 4fb8f714f0..df6755575d 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceLayout.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorSourceLayout.hh,v 1.3 2006/06/29 16:15:19 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Container for the data of a particles source // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceLayout.icc b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceLayout.icc index 6bf07dd0a3..baa2fbe594 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceLayout.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorSourceLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorSourceLayout.icc,v 1.3 2006/06/29 16:15:21 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONGENERATORSOURCELAYOUT_HH diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformPlane.hh b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformPlane.hh index f2e0ecae45..6d7ac6c5db 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformPlane.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformPlane.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorUniformPlane.hh,v 1.3 2006/06/29 16:15:23 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class for a primary generator // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformPlane.icc b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformPlane.icc index 4dd6f92e4d..69068c4714 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformPlane.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformPlane.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorUniformPlane.icc,v 1.3 2006/06/29 16:15:36 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONGENERATORUNIFORMPLANE_HH diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformSphere.hh b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformSphere.hh index 0910c30da2..42783db2b6 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformSphere.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformSphere.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorUniformSphere.hh,v 1.3 2006/06/29 16:15:40 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class for a primary generator // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformSphere.icc b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformSphere.icc index 8bad83c7a5..33d123a309 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformSphere.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorUniformSphere.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorUniformSphere.icc,v 1.3 2006/06/29 16:15:42 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONGENERATORUNIFORMSPHERE_HH diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorsWithLabelFactory.hh b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorsWithLabelFactory.hh index 66fe5adb0e..accb459b44 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorsWithLabelFactory.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorsWithLabelFactory.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorsWithLabelFactory.hh,v 1.3 2006/06/29 16:15:44 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Factory of primary generators with a label // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorsWithLabelMessenger.hh b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorsWithLabelMessenger.hh index 225c6e4b81..b29f5eb3f2 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorsWithLabelMessenger.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonGeneratorsWithLabelMessenger.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorsWithLabelMessenger.hh,v 1.3 2006/06/29 16:15:46 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: UI commands for dumping the available constructors // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonPrimaryGeneratorAction.hh b/examples/advanced/radiation_monitor/generator/include/RadmonPrimaryGeneratorAction.hh index f0517dcd7a..4a05d97d3a 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonPrimaryGeneratorAction.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonPrimaryGeneratorAction.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPrimaryGeneratorAction.hh,v 1.1.2.2 2006/06/29 16:15:48 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Primary particles generator user action // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonVGenerator.hh b/examples/advanced/radiation_monitor/generator/include/RadmonVGenerator.hh index e1c553b3ca..17b82a64c6 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonVGenerator.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonVGenerator.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVGenerator.hh,v 1.3 2006/06/29 16:15:50 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class for a primary generator // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonVGenerator.icc b/examples/advanced/radiation_monitor/generator/include/RadmonVGenerator.icc index ffeb1ee67d..b02bc704ce 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonVGenerator.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonVGenerator.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVGenerator.icc,v 1.3 2006/06/29 16:15:52 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVGENERATOR_HH diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorLayout.hh b/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorLayout.hh index 5bf090b9a0..0ae51975c0 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorLayout.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVGeneratorLayout.hh,v 1.3 2006/06/29 16:15:54 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class for storing primary generator data // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorLayout.icc b/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorLayout.icc index b2ff47d441..2c79043ef9 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorLayout.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVGeneratorLayout.icc,v 1.3 2006/06/29 16:15:56 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVGENERATORLAYOUT_HH diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorWithLabel.hh b/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorWithLabel.hh index 933ec94448..89ae9da123 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorWithLabel.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorWithLabel.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVGeneratorWithLabel.hh,v 1.3 2006/06/29 16:15:58 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Primary generators with a label abstract class // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorWithLabel.icc b/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorWithLabel.icc index 7abce14db3..2d6d2558d4 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorWithLabel.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorWithLabel.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVGeneratorWithLabel.icc,v 1.3 2006/06/29 16:16:00 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVGENERATORWITHLABEL_HH diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorsFactory.hh b/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorsFactory.hh index 449ce9580e..f379ce9672 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorsFactory.hh +++ b/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorsFactory.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVGeneratorsFactory.hh,v 1.3 2006/06/29 16:16:02 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract factory for a primary generators // diff --git a/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorsFactory.icc b/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorsFactory.icc index e3344c38c4..f2925b70cc 100644 --- a/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorsFactory.icc +++ b/examples/advanced/radiation_monitor/generator/include/RadmonVGeneratorsFactory.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVGeneratorsFactory.icc,v 1.3 2006/06/29 16:16:04 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVGENERATORSFACTORY_HH diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedDirection.cc b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedDirection.cc index fb520b6de3..d661e5fd7e 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedDirection.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedDirection.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorFixedDirection.cc,v 1.4 2006/06/29 16:16:16 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedEnergy.cc b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedEnergy.cc index b49eae48ea..0b3855c112 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedEnergy.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedEnergy.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorFixedEnergy.cc,v 1.3 2006/06/29 16:16:19 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedParticle.cc b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedParticle.cc index 1fdcc2022c..a260549431 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedParticle.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedParticle.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorFixedParticle.cc,v 1.3 2006/06/29 16:16:21 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedPosition.cc b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedPosition.cc index 1b1fc53eb8..a157ad1d07 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedPosition.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorFixedPosition.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorFixedPosition.cc,v 1.3 2006/06/29 16:16:23 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorLayout.cc b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorLayout.cc index 2a4a56cccf..7dc06b0c8b 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorLayout.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorLayout.cc,v 1.1.2.2 2006/06/29 16:16:25 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorMessenger.cc b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorMessenger.cc index 59b9b9b68d..5fbb00fe70 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorMessenger.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorMessenger.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorMessenger.cc,v 1.3 2006/06/29 16:16:27 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Messenger commands path diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorSourceAlgorithmLayout.cc b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorSourceAlgorithmLayout.cc index d83afa07d1..074eee9f40 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorSourceAlgorithmLayout.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorSourceAlgorithmLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorSourceAlgorithmLayout.cc,v 1.3 2006/06/29 16:16:29 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorSourceLayout.cc b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorSourceLayout.cc index 74d00d9020..4c5d31fc43 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorSourceLayout.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorSourceLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorSourceLayout.cc,v 1.3 2006/06/29 16:16:31 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorUniformPlane.cc b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorUniformPlane.cc index 4ef83394c0..b65db08c6b 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorUniformPlane.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorUniformPlane.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorUniformPlane.cc,v 1.5 2006/06/29 16:16:33 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorUniformSphere.cc b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorUniformSphere.cc index 8378b3a9ac..8252bb607c 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorUniformSphere.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorUniformSphere.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorUniformSphere.cc,v 1.4 2006/06/29 16:16:35 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorsWithLabelFactory.cc b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorsWithLabelFactory.cc index 06ee5fa67b..e2257e5b5f 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorsWithLabelFactory.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorsWithLabelFactory.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorsWithLabelFactory.cc,v 1.3 2006/06/29 16:16:37 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorsWithLabelMessenger.cc b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorsWithLabelMessenger.cc index f3367dff99..9e6f080fa6 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorsWithLabelMessenger.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonGeneratorsWithLabelMessenger.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonGeneratorsWithLabelMessenger.cc,v 1.3 2006/06/29 16:16:39 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Messenger commands path diff --git a/examples/advanced/radiation_monitor/generator/src/RadmonPrimaryGeneratorAction.cc b/examples/advanced/radiation_monitor/generator/src/RadmonPrimaryGeneratorAction.cc index 86d3d8ffcb..a78a9070e8 100644 --- a/examples/advanced/radiation_monitor/generator/src/RadmonPrimaryGeneratorAction.cc +++ b/examples/advanced/radiation_monitor/generator/src/RadmonPrimaryGeneratorAction.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPrimaryGeneratorAction.cc,v 1.2.2.2 2006/06/29 16:16:41 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsDumpStyle.hh b/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsDumpStyle.hh index da5835241d..6023b235ff 100644 --- a/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsDumpStyle.hh +++ b/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsDumpStyle.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonMaterialsDumpStyle.hh,v 1.3 2006/06/29 16:16:43 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Define dump widths // diff --git a/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsManager.hh b/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsManager.hh index 74707e986a..2d6ddb173f 100644 --- a/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsManager.hh +++ b/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsManager.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonMaterialsManager.hh,v 1.4 2006/06/29 16:16:45 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Singleton that manages the materials creation // diff --git a/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsManager.icc b/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsManager.icc index 0c57e061bf..3408a2270a 100644 --- a/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsManager.icc +++ b/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsManager.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonMaterialsManager.icc,v 1.3 2006/06/29 16:16:47 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONMATERIALSMANAGER_HH diff --git a/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsMessenger.hh b/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsMessenger.hh index 691a7dee26..5ead3420c2 100644 --- a/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsMessenger.hh +++ b/examples/advanced/radiation_monitor/materials/include/RadmonMaterialsMessenger.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonMaterialsMessenger.hh,v 1.5 2006/06/29 16:16:49 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: UI commands for managing a layout // diff --git a/examples/advanced/radiation_monitor/materials/src/RadmonMaterialsManager.cc b/examples/advanced/radiation_monitor/materials/src/RadmonMaterialsManager.cc index 3ef2a2f1a3..e3045e31ef 100644 --- a/examples/advanced/radiation_monitor/materials/src/RadmonMaterialsManager.cc +++ b/examples/advanced/radiation_monitor/materials/src/RadmonMaterialsManager.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonMaterialsManager.cc,v 1.4 2006/06/29 16:16:51 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/materials/src/RadmonMaterialsMessenger.cc b/examples/advanced/radiation_monitor/materials/src/RadmonMaterialsMessenger.cc index b14992e983..8488dd9376 100644 --- a/examples/advanced/radiation_monitor/materials/src/RadmonMaterialsMessenger.cc +++ b/examples/advanced/radiation_monitor/materials/src/RadmonMaterialsMessenger.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonMaterialsMessenger.cc,v 1.4 2006/06/29 16:16:53 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Messenger commands path diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsDecay.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsDecay.hh index 6140e4ac32..bf9f6ed95b 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsDecay.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsDecay.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsDecay.hh,v 1.4 2006/06/29 16:16:55 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Decay processes // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsDecay.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsDecay.icc index a1cf4eab40..f513382820 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsDecay.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsDecay.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsDecay.icc,v 1.3 2006/06/29 16:16:57 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSDECAY_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronEEDL.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronEEDL.hh index 0d4a533d71..8edea69511 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronEEDL.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronEEDL.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsElectronEEDL.hh,v 1.3 2006/06/29 16:16:59 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: EEDL processes for electrons // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronEEDL.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronEEDL.icc index ca4f89d958..30dcb36665 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronEEDL.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronEEDL.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsElectronEEDL.icc,v 1.3 2006/06/29 16:17:01 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSELECTRONEEDL_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronStandard.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronStandard.hh index a39ffb3dfc..ba2232ad7b 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronStandard.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronStandard.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsElectronStandard.hh,v 1.3 2006/06/29 16:17:03 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Standard processes for electrons // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronStandard.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronStandard.icc index 0977b69c0d..b777962fab 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronStandard.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsElectronStandard.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsElectronStandard.icc,v 1.3 2006/06/29 16:17:05 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSELECTRONSTANDARD_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBertini.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBertini.hh index ace60b8e28..d0db749577 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBertini.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBertini.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsHadronsBertini.hh,v 1.3 2006/06/29 16:17:07 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Hadrons (except neutron) processes based on bertini cascade model // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBertini.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBertini.icc index 905d90b267..cbb29dd455 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBertini.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBertini.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsHadronsBertini.icc,v 1.3 2006/06/29 16:17:09 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSHADRONSBERTINI_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBinary.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBinary.hh index fbf2b528f3..ecca49d8f0 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBinary.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBinary.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsHadronsBinary.hh,v 1.3 2006/06/29 16:17:11 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Hadrons (except neutron) processes based on binary cascade model // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBinary.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBinary.icc index a0b67ea3ef..e3aca15dce 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBinary.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsHadronsBinary.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsHadronsBinary.icc,v 1.3 2006/06/29 16:17:13 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSHADRONSBINARY_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsICRUIonization.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsICRUIonization.hh index 3eccc1e801..c23b00e8c4 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsICRUIonization.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsICRUIonization.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsICRUIonization.hh,v 1.3 2006/06/29 16:17:15 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: ICRU ionization processe // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsICRUIonization.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsICRUIonization.icc index 67ebeb0623..02ed6aad8f 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsICRUIonization.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsICRUIonization.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsICRUIonization.icc,v 1.3 2006/06/29 16:17:17 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSICRUIONIZATION_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfo.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfo.hh index 13c1e1f7f1..ba690707c2 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfo.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfo.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsInfo.hh,v 1.3 2006/06/29 16:17:19 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Provides informations about a process // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfo.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfo.icc index 7a28fdad4c..76b942b7a7 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfo.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfo.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsInfo.icc,v 1.3 2006/06/29 16:17:21 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSINFO_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfoList.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfoList.hh index fb67398427..8e968971ae 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfoList.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfoList.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsInfoList.hh,v 1.3 2006/06/29 16:17:23 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Provides informations about a process // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfoList.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfoList.icc index b28dc4fbd2..57a2dc17a9 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfoList.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsInfoList.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsInfoList.icc,v 1.3 2006/06/29 16:17:25 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSINFOLIST_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsLayout.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsLayout.hh index ceb9052507..39f2c9b66d 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsLayout.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsLayout.hh,v 1.4 2006/06/29 16:17:27 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class to keep track of the configured physics list // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsList.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsList.hh index 014b5f0de0..00ba6aa618 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsList.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsList.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsList.hh,v 1.6 2006/06/29 16:17:29 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Implementation of the G4VUserPhysicsList // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsMessenger.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsMessenger.hh index 2838af6aa4..fdec1fe673 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsMessenger.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsMessenger.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsMessenger.hh,v 1.3 2006/06/29 16:17:31 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: UI commands for managing a layout // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsMuonStandard.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsMuonStandard.hh index 9468c314fe..d8eb7cf549 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsMuonStandard.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsMuonStandard.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsMuonStandard.hh,v 1.3 2006/06/29 16:17:33 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: EEDL processes for electrons // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsMuonStandard.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsMuonStandard.icc index 78e03d1277..01a39fb591 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsMuonStandard.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsMuonStandard.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsMuonStandard.icc,v 1.3 2006/06/29 16:17:35 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSMUONSTANDARD_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBertini.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBertini.hh index 6ef6b510fc..8cbf340b8b 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBertini.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBertini.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsNeutronBertini.hh,v 1.3 2006/06/29 16:17:37 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Neutron processes based on bertini cascade model // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBertini.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBertini.icc index 7a87d21afa..873252e2a2 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBertini.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBertini.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsNeutronBertini.icc,v 1.3 2006/06/29 16:17:39 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSNEUTRONBERTINI_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBinary.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBinary.hh index b419549382..50aa2ba5c0 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBinary.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBinary.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsNeutronBinary.hh,v 1.4 2006/06/29 16:17:41 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Neutron processes based on binary cascade model // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBinary.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBinary.icc index 5ff641dafb..dba5f3718b 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBinary.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNeutronBinary.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsNeutronBinary.icc,v 1.3 2006/06/29 16:17:43 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSNEUTRONBINARY_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNuclear.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNuclear.hh index 14e0b0c731..744884a46c 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNuclear.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNuclear.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsNuclear.hh,v 1.3 2006/06/29 16:17:45 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: EEDL processes for electrons // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNuclear.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNuclear.icc index 8ce8cea500..97f7376ebf 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNuclear.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsNuclear.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsNuclear.icc,v 1.3 2006/06/29 16:17:47 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSNUCLEAR_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonEPDL.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonEPDL.hh index d0f8e7ddc7..b7d7b0d8c7 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonEPDL.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonEPDL.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsPhotonEPDL.hh,v 1.3 2006/06/29 16:17:49 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: EEDL processes for electrons // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonEPDL.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonEPDL.icc index de27e0d948..60aea4e775 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonEPDL.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonEPDL.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsPhotonEPDL.icc,v 1.3 2006/06/29 16:17:51 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSPHOTONEPDL_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonStandard.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonStandard.hh index e529a3f150..aa32f12318 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonStandard.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonStandard.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsPhotonStandard.hh,v 1.3 2006/06/29 16:17:53 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: EEDL processes for electrons // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonStandard.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonStandard.icc index 963a8ed8d3..d4abe6299f 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonStandard.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPhotonStandard.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsPhotonStandard.icc,v 1.3 2006/06/29 16:17:55 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSPHOTONSTANDARD_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPositronStandard.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPositronStandard.hh index 659ac65585..ec2c61aa02 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPositronStandard.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPositronStandard.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsPositronStandard.hh,v 1.3 2006/06/29 16:17:57 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Standard processes for electrons // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPositronStandard.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPositronStandard.icc index 1b9853a551..616fe00980 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPositronStandard.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsPositronStandard.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsPositronStandard.icc,v 1.3 2006/06/29 16:17:59 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSPOSITRONSTANDARD_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsProductionCuts.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsProductionCuts.hh index a825168753..5e4b091d4b 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsProductionCuts.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsProductionCuts.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsProductionCuts.hh,v 1.3 2006/06/29 16:18:01 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Particles production cuts // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsProductionCuts.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsProductionCuts.icc index 3aae6768bc..96b1a064d0 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsProductionCuts.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsProductionCuts.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsProductionCuts.icc,v 1.3 2006/06/29 16:18:03 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSPRODUCTIONCUTS_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsSteppingAction.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsSteppingAction.hh index 972f06c7e3..4d50d17e93 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsSteppingAction.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsSteppingAction.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsSteppingAction.hh,v 1.3 2006/06/29 16:18:05 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Observer class for the Stepping Action // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsSteppingAction.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsSteppingAction.icc index 1fe1cd53ee..1b5d65b512 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsSteppingAction.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsSteppingAction.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsSteppingAction.icc,v 1.3 2006/06/29 16:18:07 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSSTEPPINGACTION_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsTauStandard.hh b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsTauStandard.hh index 7c76386f78..6c699062cb 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsTauStandard.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsTauStandard.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsTauStandard.hh,v 1.3 2006/06/29 16:18:09 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: EEDL processes for electrons // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsTauStandard.icc b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsTauStandard.icc index a2ed67cbdc..b456b560f2 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsTauStandard.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonPhysicsTauStandard.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsTauStandard.icc,v 1.3 2006/06/29 16:18:11 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONPHYSICSTAUSTANDARD_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListLayout.hh b/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListLayout.hh index b5e67326c0..3a0a5a7a3e 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListLayout.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSubPhysicsListLayout.hh,v 1.5 2006/06/29 16:18:13 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Internal class that describes sub physics list informations // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListLayout.icc b/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListLayout.icc index 6b35205fb9..697b4c4d2b 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListLayout.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSubPhysicsListLayout.icc,v 1.5 2006/06/29 16:18:15 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONSUBPHYSICSLISTLAYOUT_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListWithLabelFactory.hh b/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListWithLabelFactory.hh index bf2c8aac3b..a8ed458570 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListWithLabelFactory.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListWithLabelFactory.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSubPhysicsListWithLabelFactory.hh,v 1.3 2006/06/29 16:18:17 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Concrete factory that constructs // RadmonSubPhysiscsListWithLabel objects diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListWithLabelFactory.icc b/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListWithLabelFactory.icc index 8fb848598f..9c0727914b 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListWithLabelFactory.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListWithLabelFactory.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSubPhysicsListWithLabelFactory.icc,v 1.3 2006/06/29 16:18:19 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONSUBPHYSICSLISTWITHLABELFACTORY_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListWithLabelMessenger.hh b/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListWithLabelMessenger.hh index 4f0da8421f..cb6b8a2427 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListWithLabelMessenger.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonSubPhysicsListWithLabelMessenger.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSubPhysicsListWithLabelMessenger.hh,v 1.4 2006/06/29 16:18:21 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: UI commands for dumping the available constructors // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonVPhysicsLayout.hh b/examples/advanced/radiation_monitor/physics/include/RadmonVPhysicsLayout.hh index 205f28c3d0..aa6e56d29b 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonVPhysicsLayout.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonVPhysicsLayout.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVPhysicsLayout.hh,v 1.4 2006/06/29 16:18:23 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class to keep track of the configured physics list // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonVPhysicsLayout.icc b/examples/advanced/radiation_monitor/physics/include/RadmonVPhysicsLayout.icc index 0628ced719..ba820328cd 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonVPhysicsLayout.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonVPhysicsLayout.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVPhysicsLayout.icc,v 1.3 2006/06/29 16:18:25 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVPHYSICSLAYOUT_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsList.hh b/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsList.hh index 24cacfb6ee..d4772ec5a8 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsList.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsList.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVSubPhysicsList.hh,v 1.4 2006/06/29 16:18:27 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class of a physics list piece // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsList.icc b/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsList.icc index 82139a8221..ccf0501a00 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsList.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsList.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVSubPhysicsList.icc,v 1.3 2006/06/29 16:18:29 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVSUBPHYSICSLIST_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListFactory.hh b/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListFactory.hh index 15ce81e16f..8d23d434fe 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListFactory.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListFactory.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVSubPhysicsListFactory.hh,v 1.4 2006/06/29 16:18:31 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class of a factory of sub physics lists // diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListFactory.icc b/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListFactory.icc index 780715c6a7..f332ff24d2 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListFactory.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListFactory.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVSubPhysicsListFactory.icc,v 1.3 2006/06/29 16:18:33 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVSUBPHYSICSLISTFACTORY_HH diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListWithLabel.hh b/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListWithLabel.hh index cd6704010e..1808c3f043 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListWithLabel.hh +++ b/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListWithLabel.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVSubPhysicsListWithLabel.hh,v 1.4 2006/06/29 16:18:35 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Abstract class of a physics list piece with label // and attributes diff --git a/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListWithLabel.icc b/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListWithLabel.icc index 21ea1e159e..c72b04e62f 100644 --- a/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListWithLabel.icc +++ b/examples/advanced/radiation_monitor/physics/include/RadmonVSubPhysicsListWithLabel.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonVSubPhysicsListWithLabel.icc,v 1.4 2006/06/29 16:18:37 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONVSUBPHYSICSLISTWITHLABEL_HH diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsDecay.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsDecay.cc index b970eefead..d65aae27c8 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsDecay.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsDecay.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsDecay.cc,v 1.6 2006/06/29 16:18:39 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsDecay.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsElectronEEDL.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsElectronEEDL.cc index 6bff463706..813894295d 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsElectronEEDL.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsElectronEEDL.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsElectronEEDL.cc,v 1.4 2006/06/29 16:18:41 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsElectronEEDL.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsElectronStandard.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsElectronStandard.cc index cca979cbc9..ad77a5348e 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsElectronStandard.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsElectronStandard.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsElectronStandard.cc,v 1.4 2006/06/29 16:18:43 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsElectronStandard.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsHadronsBertini.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsHadronsBertini.cc index a6d505cfa2..1923d4b2dd 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsHadronsBertini.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsHadronsBertini.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsHadronsBertini.cc,v 1.4 2006/06/29 16:18:45 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsHadronsBertini.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsHadronsBinary.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsHadronsBinary.cc index db5c1c5989..cb54e0c851 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsHadronsBinary.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsHadronsBinary.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsHadronsBinary.cc,v 1.3 2006/06/29 16:18:47 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsHadronsBinary.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsICRUIonization.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsICRUIonization.cc index cabcf88d18..14943db99a 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsICRUIonization.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsICRUIonization.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsICRUIonization.cc,v 1.5 2006/06/29 16:18:49 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsICRUIonization.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsInfo.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsInfo.cc index 7c5e21a242..927d9ced23 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsInfo.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsInfo.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsInfo.cc,v 1.3 2006/06/29 16:18:51 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsInfo.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsInfoList.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsInfoList.cc index c509bd92b6..27e5d4f1ef 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsInfoList.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsInfoList.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsInfoList.cc,v 1.3 2006/06/29 16:18:53 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsInfoList.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsLayout.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsLayout.cc index ce71c6806b..83635975da 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsLayout.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsLayout.cc,v 1.4 2006/06/29 16:18:55 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsList.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsList.cc index cb3937e214..8c116d2ddf 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsList.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsList.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsList.cc,v 1.6 2006/06/29 16:18:57 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsMessenger.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsMessenger.cc index c50dab93f2..b7050dd435 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsMessenger.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsMessenger.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsMessenger.cc,v 1.4 2006/06/29 16:18:59 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Messenger commands path diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsMuonStandard.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsMuonStandard.cc index ab584b4dd1..9198ac5690 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsMuonStandard.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsMuonStandard.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsMuonStandard.cc,v 1.4 2006/06/29 16:19:01 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsMuonStandard.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsNeutronBertini.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsNeutronBertini.cc index 11732d29d1..ca257ac348 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsNeutronBertini.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsNeutronBertini.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsNeutronBertini.cc,v 1.1.2.2 2006/06/29 16:19:14 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsNeutronBertini.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsNeutronBinary.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsNeutronBinary.cc index 8d4ff41008..73d2f3ae5e 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsNeutronBinary.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsNeutronBinary.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsNeutronBinary.cc,v 1.2.2.2 2006/06/29 16:19:29 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsNeutronBinary.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsNuclear.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsNuclear.cc index ab9992cd8d..d6b02c9b61 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsNuclear.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsNuclear.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsNuclear.cc,v 1.3 2006/06/29 16:19:33 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsNuclear.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsPhotonEPDL.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsPhotonEPDL.cc index e930ab3555..2ce7d0c8d1 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsPhotonEPDL.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsPhotonEPDL.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsPhotonEPDL.cc,v 1.3 2006/06/29 16:19:46 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsPhotonEPDL.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsPhotonStandard.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsPhotonStandard.cc index ec95d58f49..dc6df96733 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsPhotonStandard.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsPhotonStandard.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsPhotonStandard.cc,v 1.3 2006/06/29 16:19:48 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsPhotonStandard.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsPositronStandard.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsPositronStandard.cc index 26596b8b19..a31583f1f1 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsPositronStandard.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsPositronStandard.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsPositronStandard.cc,v 1.4 2006/06/29 16:19:50 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsPositronStandard.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsProductionCuts.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsProductionCuts.cc index 5fafe1e910..468350cbe6 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsProductionCuts.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsProductionCuts.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsProductionCuts.cc,v 1.3 2006/06/29 16:19:52 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsProductionCuts.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsSteppingAction.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsSteppingAction.cc index e3973b685d..4c570ca308 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsSteppingAction.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsSteppingAction.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsSteppingAction.cc,v 1.3 2006/06/29 16:19:54 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsTauStandard.cc b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsTauStandard.cc index 833cb3498b..8806c40a5a 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsTauStandard.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonPhysicsTauStandard.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonPhysicsTauStandard.cc,v 1.3 2006/06/29 16:19:56 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #include "RadmonPhysicsTauStandard.hh" diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonSubPhysicsListLayout.cc b/examples/advanced/radiation_monitor/physics/src/RadmonSubPhysicsListLayout.cc index f74efc455d..83ad09af46 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonSubPhysicsListLayout.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonSubPhysicsListLayout.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSubPhysicsListLayout.cc,v 1.5 2006/06/29 16:19:59 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonSubPhysicsListWithLabelFactory.cc b/examples/advanced/radiation_monitor/physics/src/RadmonSubPhysicsListWithLabelFactory.cc index bde6d9ca38..79340a16ba 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonSubPhysicsListWithLabelFactory.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonSubPhysicsListWithLabelFactory.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSubPhysicsListWithLabelFactory.cc,v 1.3 2006/06/29 16:20:10 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/physics/src/RadmonSubPhysicsListWithLabelMessenger.cc b/examples/advanced/radiation_monitor/physics/src/RadmonSubPhysicsListWithLabelMessenger.cc index fa90e6ca93..159d9c5790 100644 --- a/examples/advanced/radiation_monitor/physics/src/RadmonSubPhysicsListWithLabelMessenger.cc +++ b/examples/advanced/radiation_monitor/physics/src/RadmonSubPhysicsListWithLabelMessenger.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSubPhysicsListWithLabelMessenger.cc,v 1.5 2006/06/29 16:20:12 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Messenger commands path diff --git a/examples/advanced/radiation_monitor/sensitivity/include/RadmonHit.hh b/examples/advanced/radiation_monitor/sensitivity/include/RadmonHit.hh index d1e307ae54..03940ab74f 100644 --- a/examples/advanced/radiation_monitor/sensitivity/include/RadmonHit.hh +++ b/examples/advanced/radiation_monitor/sensitivity/include/RadmonHit.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonHit.hh,v 1.3 2006/06/29 16:20:14 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Radmon hit // diff --git a/examples/advanced/radiation_monitor/sensitivity/include/RadmonHit.icc b/examples/advanced/radiation_monitor/sensitivity/include/RadmonHit.icc index 70c7c5ee72..25ff841395 100644 --- a/examples/advanced/radiation_monitor/sensitivity/include/RadmonHit.icc +++ b/examples/advanced/radiation_monitor/sensitivity/include/RadmonHit.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonHit.icc,v 1.3 2006/06/29 16:20:16 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONHIT_HH diff --git a/examples/advanced/radiation_monitor/sensitivity/include/RadmonHitsManager.hh b/examples/advanced/radiation_monitor/sensitivity/include/RadmonHitsManager.hh index c4e126c496..4b1bb2e3f5 100644 --- a/examples/advanced/radiation_monitor/sensitivity/include/RadmonHitsManager.hh +++ b/examples/advanced/radiation_monitor/sensitivity/include/RadmonHitsManager.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonHitsManager.hh,v 1.3 2006/06/29 16:20:18 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Global features for hits // diff --git a/examples/advanced/radiation_monitor/sensitivity/include/RadmonHitsManager.icc b/examples/advanced/radiation_monitor/sensitivity/include/RadmonHitsManager.icc index 36f6653ef5..706185dbf1 100644 --- a/examples/advanced/radiation_monitor/sensitivity/include/RadmonHitsManager.icc +++ b/examples/advanced/radiation_monitor/sensitivity/include/RadmonHitsManager.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonHitsManager.icc,v 1.3 2006/06/29 16:20:20 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONHITSMANAGER_HH diff --git a/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetector.hh b/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetector.hh index 5e8b5789f8..a7fbd292a2 100644 --- a/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetector.hh +++ b/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetector.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSensitiveDetector.hh,v 1.4 2006/06/29 16:20:22 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Radmon sensitive detector class // diff --git a/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetector.icc b/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetector.icc index 08abd5c542..0dc753fc62 100644 --- a/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetector.icc +++ b/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetector.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSensitiveDetector.icc,v 1.3 2006/06/29 16:20:24 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONSENSITIVEDETECTOR_HH diff --git a/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetectorDataStorer.hh b/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetectorDataStorer.hh index 9c31bee44e..6d6c9921f6 100644 --- a/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetectorDataStorer.hh +++ b/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetectorDataStorer.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSensitiveDetectorDataStorer.hh,v 1.3 2006/06/29 16:20:26 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Stores data step into a radmon hit // diff --git a/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetectorDataStorer.icc b/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetectorDataStorer.icc index e042a8f162..24350a23df 100644 --- a/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetectorDataStorer.icc +++ b/examples/advanced/radiation_monitor/sensitivity/include/RadmonSensitiveDetectorDataStorer.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSensitiveDetectorDataStorer.icc,v 1.3 2006/06/29 16:20:28 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONSENSITIVEDETECTORDATASTORER_HH diff --git a/examples/advanced/radiation_monitor/sensitivity/src/RadmonHit.cc b/examples/advanced/radiation_monitor/sensitivity/src/RadmonHit.cc index d121ded4ee..65bdccece3 100644 --- a/examples/advanced/radiation_monitor/sensitivity/src/RadmonHit.cc +++ b/examples/advanced/radiation_monitor/sensitivity/src/RadmonHit.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonHit.cc,v 1.3 2006/06/29 16:20:30 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/sensitivity/src/RadmonHitsManager.cc b/examples/advanced/radiation_monitor/sensitivity/src/RadmonHitsManager.cc index 38b6ff3483..e439e71b4b 100644 --- a/examples/advanced/radiation_monitor/sensitivity/src/RadmonHitsManager.cc +++ b/examples/advanced/radiation_monitor/sensitivity/src/RadmonHitsManager.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonHitsManager.cc,v 1.3 2006/06/29 16:20:32 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/sensitivity/src/RadmonSensitiveDetector.cc b/examples/advanced/radiation_monitor/sensitivity/src/RadmonSensitiveDetector.cc index 1c191c611a..9a954d014f 100644 --- a/examples/advanced/radiation_monitor/sensitivity/src/RadmonSensitiveDetector.cc +++ b/examples/advanced/radiation_monitor/sensitivity/src/RadmonSensitiveDetector.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSensitiveDetector.cc,v 1.2.2.2 2006/06/29 16:20:34 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/userActions/include/RadmonEventAction.hh b/examples/advanced/radiation_monitor/userActions/include/RadmonEventAction.hh index ce85631897..c504b9de00 100644 --- a/examples/advanced/radiation_monitor/userActions/include/RadmonEventAction.hh +++ b/examples/advanced/radiation_monitor/userActions/include/RadmonEventAction.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonEventAction.hh,v 1.3 2006/06/29 16:20:36 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Radmon event action class // diff --git a/examples/advanced/radiation_monitor/userActions/include/RadmonEventAction.icc b/examples/advanced/radiation_monitor/userActions/include/RadmonEventAction.icc index 0315a8420b..5383168c23 100644 --- a/examples/advanced/radiation_monitor/userActions/include/RadmonEventAction.icc +++ b/examples/advanced/radiation_monitor/userActions/include/RadmonEventAction.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonEventAction.icc,v 1.3 2006/06/29 16:20:38 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONEVENTACTION_HH diff --git a/examples/advanced/radiation_monitor/userActions/include/RadmonEventActionObserver.hh b/examples/advanced/radiation_monitor/userActions/include/RadmonEventActionObserver.hh index 8df6f2e180..62b98ba843 100644 --- a/examples/advanced/radiation_monitor/userActions/include/RadmonEventActionObserver.hh +++ b/examples/advanced/radiation_monitor/userActions/include/RadmonEventActionObserver.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonEventActionObserver.hh,v 1.3 2006/06/29 16:20:40 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Observer class for the Event Action // diff --git a/examples/advanced/radiation_monitor/userActions/include/RadmonEventActionObserver.icc b/examples/advanced/radiation_monitor/userActions/include/RadmonEventActionObserver.icc index 24352e7fcf..cd7aa3de2f 100644 --- a/examples/advanced/radiation_monitor/userActions/include/RadmonEventActionObserver.icc +++ b/examples/advanced/radiation_monitor/userActions/include/RadmonEventActionObserver.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonEventActionObserver.icc,v 1.3 2006/06/29 16:20:42 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONEVENTACTIONOBSERVER_HH diff --git a/examples/advanced/radiation_monitor/userActions/include/RadmonRunAction.hh b/examples/advanced/radiation_monitor/userActions/include/RadmonRunAction.hh index 56882c2f27..e604597928 100644 --- a/examples/advanced/radiation_monitor/userActions/include/RadmonRunAction.hh +++ b/examples/advanced/radiation_monitor/userActions/include/RadmonRunAction.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonRunAction.hh,v 1.3 2006/06/29 16:21:00 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Radmon run action class // diff --git a/examples/advanced/radiation_monitor/userActions/include/RadmonRunAction.icc b/examples/advanced/radiation_monitor/userActions/include/RadmonRunAction.icc index c7e897dbcc..8579f9a60a 100644 --- a/examples/advanced/radiation_monitor/userActions/include/RadmonRunAction.icc +++ b/examples/advanced/radiation_monitor/userActions/include/RadmonRunAction.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonRunAction.icc,v 1.3 2006/06/29 16:21:38 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONRUNACTION_HH diff --git a/examples/advanced/radiation_monitor/userActions/include/RadmonRunActionObserver.hh b/examples/advanced/radiation_monitor/userActions/include/RadmonRunActionObserver.hh index 5ecf33a7a0..a246251270 100644 --- a/examples/advanced/radiation_monitor/userActions/include/RadmonRunActionObserver.hh +++ b/examples/advanced/radiation_monitor/userActions/include/RadmonRunActionObserver.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonRunActionObserver.hh,v 1.3 2006/06/29 16:21:44 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Observer class for the Run Action // diff --git a/examples/advanced/radiation_monitor/userActions/include/RadmonRunActionObserver.icc b/examples/advanced/radiation_monitor/userActions/include/RadmonRunActionObserver.icc index 7d406a54ef..19c1484b85 100644 --- a/examples/advanced/radiation_monitor/userActions/include/RadmonRunActionObserver.icc +++ b/examples/advanced/radiation_monitor/userActions/include/RadmonRunActionObserver.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonRunActionObserver.icc,v 1.3 2006/06/29 16:21:46 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONRUNACTIONOBSERVER_HH diff --git a/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingAction.hh b/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingAction.hh index 2c4b72852b..143b01ca51 100644 --- a/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingAction.hh +++ b/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingAction.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSteppingAction.hh,v 1.3 2006/06/29 16:21:48 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Radmon stepping action class // diff --git a/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingAction.icc b/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingAction.icc index c923f024f2..684afd4347 100644 --- a/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingAction.icc +++ b/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingAction.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSteppingAction.icc,v 1.3 2006/06/29 16:21:50 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONSTEPPINGACTION_HH diff --git a/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingActionObserver.hh b/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingActionObserver.hh index 1f36eff105..a5bf40bb27 100644 --- a/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingActionObserver.hh +++ b/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingActionObserver.hh @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSteppingActionObserver.hh,v 1.3 2006/06/29 16:21:52 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Description: Observer class for the Stepping Action // diff --git a/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingActionObserver.icc b/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingActionObserver.icc index 01f73cb0b6..6378d389a4 100644 --- a/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingActionObserver.icc +++ b/examples/advanced/radiation_monitor/userActions/include/RadmonSteppingActionObserver.icc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSteppingActionObserver.icc,v 1.3 2006/06/29 16:21:54 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // #ifndef RADMONSTEPPINGACTIONOBSERVER_HH diff --git a/examples/advanced/radiation_monitor/userActions/src/RadmonEventAction.cc b/examples/advanced/radiation_monitor/userActions/src/RadmonEventAction.cc index a853808dd8..e61718cf71 100644 --- a/examples/advanced/radiation_monitor/userActions/src/RadmonEventAction.cc +++ b/examples/advanced/radiation_monitor/userActions/src/RadmonEventAction.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonEventAction.cc,v 1.1.2.2 2006/06/29 16:21:56 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/userActions/src/RadmonRunAction.cc b/examples/advanced/radiation_monitor/userActions/src/RadmonRunAction.cc index f966c09b03..a5b5e3a04c 100644 --- a/examples/advanced/radiation_monitor/userActions/src/RadmonRunAction.cc +++ b/examples/advanced/radiation_monitor/userActions/src/RadmonRunAction.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonRunAction.cc,v 1.3 2006/06/29 16:21:58 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radiation_monitor/userActions/src/RadmonSteppingAction.cc b/examples/advanced/radiation_monitor/userActions/src/RadmonSteppingAction.cc index 74bc7f1e15..fa6b3746fd 100644 --- a/examples/advanced/radiation_monitor/userActions/src/RadmonSteppingAction.cc +++ b/examples/advanced/radiation_monitor/userActions/src/RadmonSteppingAction.cc @@ -29,7 +29,7 @@ // Main author: Riccardo Capra // // Id: $Id: RadmonSteppingAction.cc,v 1.3 2006/06/29 16:22:00 gunter Exp $ -// Tag: $Name: geant4-08-02 $ +// Tag: $Name: geant4-09-00 $ // // Include files diff --git a/examples/advanced/radioprotection/History b/examples/advanced/radioprotection/History index ee891539d5..29b9939c61 100644 --- a/examples/advanced/radioprotection/History +++ b/examples/advanced/radioprotection/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.19 2006/11/15 18:39:30 guatelli Exp $ +$Id: History,v 1.20 2007/06/06 19:15:06 pia Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,6 +8,10 @@ $Id: History,v 1.19 2006/11/15 18:39:30 guatelli Exp $ Category History file --------------------- + +06.06.2007 MGP tag radioprotection-V08-03-00 + Minor documentation update + 15th November 2006 Susanna Guatelli (radioprotection-V08-01-00) - The hadronic physics lists are more clear. diff --git a/examples/advanced/radioprotection/README b/examples/advanced/radioprotection/README index abc29939c0..92231f854f 100644 --- a/examples/advanced/radioprotection/README +++ b/examples/advanced/radioprotection/README @@ -1,3 +1,6 @@ +------------------------------------------------------------------- +$Id: README,v 1.24 2007/06/06 19:15:06 pia Exp $ +------------------------------------------------------------------- ========================================================= Geant4 - Radioprotection example @@ -235,12 +238,12 @@ compiler = gcc-3.2.3 G4SYSTEM = linux-g++ The following environment variables need to be set for the physics packages: -G4LEDATA points to low energy data base - G4EMLOW3.0 +G4LEDATA points to low energy data base - G4LEVELGAMMADATA points to PhotoEvaporation data G4RADIOACTIVEDATA points to Radioactive Decay data -NeutronHPCrossSections points to neutron data - G4NDL3.7 +NeutronHPCrossSections points to neutron data - -Setup for analysis: AIDA 3.2.1, PI 1.3.8 +Setup for analysis: AIDA 3.2.1, PI 1.3.8 Users can download the analysis tools from: @@ -265,10 +268,5 @@ example macros are provided: -> the vis.mac is loaded automatically ------------------------------------------------------------------------ -Author : Susanna Guatelli - -for comments, advices, doubts and questions: guatelli@ge.infn.it - -last modified: Susanna Guatelli 31/5/2006 diff --git a/examples/advanced/radioprotection/include/RemSimDecay.hh b/examples/advanced/radioprotection/include/RemSimDecay.hh index 91043f0ada..201eeaee02 100644 --- a/examples/advanced/radioprotection/include/RemSimDecay.hh +++ b/examples/advanced/radioprotection/include/RemSimDecay.hh @@ -31,7 +31,7 @@ // ************************ // // $Id: RemSimDecay.hh,v 1.3 2006/06/29 16:22:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimDecorator.hh b/examples/advanced/radioprotection/include/RemSimDecorator.hh index d601cbe07c..b6bdbee6e6 100644 --- a/examples/advanced/radioprotection/include/RemSimDecorator.hh +++ b/examples/advanced/radioprotection/include/RemSimDecorator.hh @@ -31,7 +31,7 @@ // *************************** // // $Id: RemSimDecorator.hh,v 1.10 2006/06/29 16:22:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimDetectorConstruction.hh b/examples/advanced/radioprotection/include/RemSimDetectorConstruction.hh index 99ee30e196..53b1c2027f 100644 --- a/examples/advanced/radioprotection/include/RemSimDetectorConstruction.hh +++ b/examples/advanced/radioprotection/include/RemSimDetectorConstruction.hh @@ -30,7 +30,7 @@ // ************************************** // // $Id: RemSimDetectorConstruction.hh,v 1.13 2006/06/29 16:22:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimDetectorMessenger.hh b/examples/advanced/radioprotection/include/RemSimDetectorMessenger.hh index 615da73522..a99bb447e3 100644 --- a/examples/advanced/radioprotection/include/RemSimDetectorMessenger.hh +++ b/examples/advanced/radioprotection/include/RemSimDetectorMessenger.hh @@ -31,7 +31,7 @@ // ***************************************** // // $Id: RemSimDetectorMessenger.hh,v 1.9 2006/06/29 16:22:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // #ifndef RemSimDetectorMessenger_h diff --git a/examples/advanced/radioprotection/include/RemSimElectronEEDL.hh b/examples/advanced/radioprotection/include/RemSimElectronEEDL.hh index a2617c077b..d1aff3538a 100644 --- a/examples/advanced/radioprotection/include/RemSimElectronEEDL.hh +++ b/examples/advanced/radioprotection/include/RemSimElectronEEDL.hh @@ -25,7 +25,7 @@ // // // $Id: RemSimElectronEEDL.hh,v 1.4 2006/06/29 16:22:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli, guatelli@ge.infn.it diff --git a/examples/advanced/radioprotection/include/RemSimEventAction.hh b/examples/advanced/radioprotection/include/RemSimEventAction.hh index 686c86eddd..695876c3ab 100644 --- a/examples/advanced/radioprotection/include/RemSimEventAction.hh +++ b/examples/advanced/radioprotection/include/RemSimEventAction.hh @@ -31,7 +31,7 @@ // ********************************** // // $Id: RemSimEventAction.hh,v 1.5 2006/06/29 16:22:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author : Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimHadronicBertini.hh b/examples/advanced/radioprotection/include/RemSimHadronicBertini.hh index 59503c8afd..f1f06d1daf 100644 --- a/examples/advanced/radioprotection/include/RemSimHadronicBertini.hh +++ b/examples/advanced/radioprotection/include/RemSimHadronicBertini.hh @@ -30,7 +30,7 @@ // ************************************** // // $Id: RemSimHadronicBertini.hh,v 1.5 2006/11/15 18:39:30 guatelli Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author : Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimHadronicBinary.hh b/examples/advanced/radioprotection/include/RemSimHadronicBinary.hh index f3308b61d1..297bae266a 100644 --- a/examples/advanced/radioprotection/include/RemSimHadronicBinary.hh +++ b/examples/advanced/radioprotection/include/RemSimHadronicBinary.hh @@ -30,7 +30,7 @@ // ************************************** // // $Id: RemSimHadronicBinary.hh,v 1.5 2006/11/15 18:39:30 guatelli Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author : Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimIonICRU.hh b/examples/advanced/radioprotection/include/RemSimIonICRU.hh index 6cde771c81..635c4c9042 100644 --- a/examples/advanced/radioprotection/include/RemSimIonICRU.hh +++ b/examples/advanced/radioprotection/include/RemSimIonICRU.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimIonICRU.hh,v 1.5 2006/06/29 16:22:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli, guatelli@ge.infn.it diff --git a/examples/advanced/radioprotection/include/RemSimMaterial.hh b/examples/advanced/radioprotection/include/RemSimMaterial.hh index 936e8e9d44..1a1f992193 100644 --- a/examples/advanced/radioprotection/include/RemSimMaterial.hh +++ b/examples/advanced/radioprotection/include/RemSimMaterial.hh @@ -25,7 +25,7 @@ // // // $Id: RemSimMaterial.hh,v 1.6 2006/06/29 16:22:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ********************************** // * * diff --git a/examples/advanced/radioprotection/include/RemSimMoonHabitat.hh b/examples/advanced/radioprotection/include/RemSimMoonHabitat.hh index 122bdb1c72..50c9a9419d 100644 --- a/examples/advanced/radioprotection/include/RemSimMoonHabitat.hh +++ b/examples/advanced/radioprotection/include/RemSimMoonHabitat.hh @@ -31,7 +31,7 @@ // ************************************** // // $Id: RemSimMoonHabitat.hh,v 1.6 2006/06/29 16:22:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimMuonStandard.hh b/examples/advanced/radioprotection/include/RemSimMuonStandard.hh index 6e60dc9915..04333742ae 100644 --- a/examples/advanced/radioprotection/include/RemSimMuonStandard.hh +++ b/examples/advanced/radioprotection/include/RemSimMuonStandard.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimMuonStandard.hh,v 1.3 2006/06/29 16:22:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimPhotonEPDL.hh b/examples/advanced/radioprotection/include/RemSimPhotonEPDL.hh index 4967d07f11..69fbf556c7 100644 --- a/examples/advanced/radioprotection/include/RemSimPhotonEPDL.hh +++ b/examples/advanced/radioprotection/include/RemSimPhotonEPDL.hh @@ -25,7 +25,7 @@ // // // $Id: RemSimPhotonEPDL.hh,v 1.4 2006/06/29 16:22:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimPhysicsList.hh b/examples/advanced/radioprotection/include/RemSimPhysicsList.hh index 75009030ec..9679f3508d 100644 --- a/examples/advanced/radioprotection/include/RemSimPhysicsList.hh +++ b/examples/advanced/radioprotection/include/RemSimPhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimPhysicsList.hh,v 1.6 2006/06/29 16:23:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli, guatelli@ge.infn.it diff --git a/examples/advanced/radioprotection/include/RemSimPhysicsListMessenger.hh b/examples/advanced/radioprotection/include/RemSimPhysicsListMessenger.hh index 8efa34c736..0048c578a5 100644 --- a/examples/advanced/radioprotection/include/RemSimPhysicsListMessenger.hh +++ b/examples/advanced/radioprotection/include/RemSimPhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimPhysicsListMessenger.hh,v 1.4 2006/06/29 16:23:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli, guatelli@ge.infn.it diff --git a/examples/advanced/radioprotection/include/RemSimPositronStandard.hh b/examples/advanced/radioprotection/include/RemSimPositronStandard.hh index 1f3328a1b6..ec7c283904 100644 --- a/examples/advanced/radioprotection/include/RemSimPositronStandard.hh +++ b/examples/advanced/radioprotection/include/RemSimPositronStandard.hh @@ -25,7 +25,7 @@ // // // $Id: RemSimPositronStandard.hh,v 1.4 2006/06/29 16:23:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli, guatelli@ge.infn.it diff --git a/examples/advanced/radioprotection/include/RemSimPrimaryGeneratorAction.hh b/examples/advanced/radioprotection/include/RemSimPrimaryGeneratorAction.hh index 04ade929e1..5567f63910 100644 --- a/examples/advanced/radioprotection/include/RemSimPrimaryGeneratorAction.hh +++ b/examples/advanced/radioprotection/include/RemSimPrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: RemSimPrimaryGeneratorAction.hh,v 1.14 2006/06/29 16:23:07 gunter Exp $// GEANT4 tag $Name: geant4-08-02 $ +// $Id: RemSimPrimaryGeneratorAction.hh,v 1.14 2006/06/29 16:23:07 gunter Exp $// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimPrimaryGeneratorMessenger.hh b/examples/advanced/radioprotection/include/RemSimPrimaryGeneratorMessenger.hh index 8e2fa63771..beac8c8870 100644 --- a/examples/advanced/radioprotection/include/RemSimPrimaryGeneratorMessenger.hh +++ b/examples/advanced/radioprotection/include/RemSimPrimaryGeneratorMessenger.hh @@ -31,7 +31,7 @@ // ************************************************ // // $Id: RemSimPrimaryGeneratorMessenger.hh,v 1.10 2006/06/29 16:23:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimROGeometry.hh b/examples/advanced/radioprotection/include/RemSimROGeometry.hh index 650c3f4232..f4e37c9428 100644 --- a/examples/advanced/radioprotection/include/RemSimROGeometry.hh +++ b/examples/advanced/radioprotection/include/RemSimROGeometry.hh @@ -25,7 +25,7 @@ // // // $Id: RemSimROGeometry.hh,v 1.6 2006/06/29 16:23:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ************************************ // * * diff --git a/examples/advanced/radioprotection/include/RemSimRoofDecorator.hh b/examples/advanced/radioprotection/include/RemSimRoofDecorator.hh index 07780a3b9d..1cdd5c7bce 100644 --- a/examples/advanced/radioprotection/include/RemSimRoofDecorator.hh +++ b/examples/advanced/radioprotection/include/RemSimRoofDecorator.hh @@ -33,7 +33,7 @@ // // // $Id: RemSimRoofDecorator.hh,v 1.6 2006/06/29 16:23:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RemSimRoofDecorator_h diff --git a/examples/advanced/radioprotection/include/RemSimRunAction.hh b/examples/advanced/radioprotection/include/RemSimRunAction.hh index 78b46b2832..aad2691622 100644 --- a/examples/advanced/radioprotection/include/RemSimRunAction.hh +++ b/examples/advanced/radioprotection/include/RemSimRunAction.hh @@ -25,7 +25,7 @@ // // // $Id: RemSimRunAction.hh,v 1.10 2006/06/29 16:23:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimSensitiveDetector.hh b/examples/advanced/radioprotection/include/RemSimSensitiveDetector.hh index ab695514c7..630c385e8c 100644 --- a/examples/advanced/radioprotection/include/RemSimSensitiveDetector.hh +++ b/examples/advanced/radioprotection/include/RemSimSensitiveDetector.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimSensitiveDetector.hh,v 1.5 2006/06/29 16:23:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimShelterSPEDecorator.hh b/examples/advanced/radioprotection/include/RemSimShelterSPEDecorator.hh index 2c2c1c432d..5eb0b937d1 100644 --- a/examples/advanced/radioprotection/include/RemSimShelterSPEDecorator.hh +++ b/examples/advanced/radioprotection/include/RemSimShelterSPEDecorator.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimShelterSPEDecorator.hh,v 1.5 2006/06/29 16:23:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimShieldingDecorator.hh b/examples/advanced/radioprotection/include/RemSimShieldingDecorator.hh index 801ac6be38..12b78213d8 100644 --- a/examples/advanced/radioprotection/include/RemSimShieldingDecorator.hh +++ b/examples/advanced/radioprotection/include/RemSimShieldingDecorator.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimShieldingDecorator.hh,v 1.7 2006/06/29 16:23:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimSteppingAction.hh b/examples/advanced/radioprotection/include/RemSimSteppingAction.hh index 05e39f3ad6..615f2bd6ec 100644 --- a/examples/advanced/radioprotection/include/RemSimSteppingAction.hh +++ b/examples/advanced/radioprotection/include/RemSimSteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: RemSimSteppingAction.hh,v 1.4 2006/06/29 16:23:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli (guatelli@ge.infn.it) // diff --git a/examples/advanced/radioprotection/include/RemSimSteppingActionMessenger.hh b/examples/advanced/radioprotection/include/RemSimSteppingActionMessenger.hh index d6f6896e86..876e34f653 100644 --- a/examples/advanced/radioprotection/include/RemSimSteppingActionMessenger.hh +++ b/examples/advanced/radioprotection/include/RemSimSteppingActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: RemSimSteppingActionMessenger.hh,v 1.3 2006/06/29 16:23:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimVGeometryComponent.hh b/examples/advanced/radioprotection/include/RemSimVGeometryComponent.hh index e935626092..fad7df6361 100644 --- a/examples/advanced/radioprotection/include/RemSimVGeometryComponent.hh +++ b/examples/advanced/radioprotection/include/RemSimVGeometryComponent.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimVGeometryComponent.hh,v 1.8 2006/06/29 16:23:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/include/RemSimVehicle1.hh b/examples/advanced/radioprotection/include/RemSimVehicle1.hh index 2791ccb6e5..073fb1f16d 100644 --- a/examples/advanced/radioprotection/include/RemSimVehicle1.hh +++ b/examples/advanced/radioprotection/include/RemSimVehicle1.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimVehicle1.hh,v 1.8 2006/06/29 16:23:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/remsim.cc b/examples/advanced/radioprotection/remsim.cc index c9a9eff226..af7b0a5700 100644 --- a/examples/advanced/radioprotection/remsim.cc +++ b/examples/advanced/radioprotection/remsim.cc @@ -25,7 +25,7 @@ // // // $Id: remsim.cc,v 1.14 2006/07/24 09:53:27 guatelli Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4RunManager.hh" #include "G4UImanager.hh" diff --git a/examples/advanced/radioprotection/src/RemSimDecay.cc b/examples/advanced/radioprotection/src/RemSimDecay.cc index 0978703b0b..f4efd74ae5 100644 --- a/examples/advanced/radioprotection/src/RemSimDecay.cc +++ b/examples/advanced/radioprotection/src/RemSimDecay.cc @@ -31,7 +31,7 @@ // *********************** // // $Id: RemSimDecay.cc,v 1.5 2006/06/29 16:23:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/src/RemSimDecorator.cc b/examples/advanced/radioprotection/src/RemSimDecorator.cc index f04dbab484..8d614d3d5a 100644 --- a/examples/advanced/radioprotection/src/RemSimDecorator.cc +++ b/examples/advanced/radioprotection/src/RemSimDecorator.cc @@ -31,7 +31,7 @@ // *************************** // // $Id: RemSimDecorator.cc,v 1.6 2006/06/29 16:23:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/src/RemSimDetectorConstruction.cc b/examples/advanced/radioprotection/src/RemSimDetectorConstruction.cc index 0a217a6c4d..1c0ceba164 100644 --- a/examples/advanced/radioprotection/src/RemSimDetectorConstruction.cc +++ b/examples/advanced/radioprotection/src/RemSimDetectorConstruction.cc @@ -31,7 +31,7 @@ // ************************************** // // $Id: RemSimDetectorConstruction.cc,v 1.17 2006/06/29 16:23:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/src/RemSimDetectorMessenger.cc b/examples/advanced/radioprotection/src/RemSimDetectorMessenger.cc index 96dbbbc131..20d726839c 100644 --- a/examples/advanced/radioprotection/src/RemSimDetectorMessenger.cc +++ b/examples/advanced/radioprotection/src/RemSimDetectorMessenger.cc @@ -35,7 +35,7 @@ // // // $Id: RemSimDetectorMessenger.cc,v 1.13 2006/06/29 16:23:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/radioprotection/src/RemSimElectronEEDL.cc b/examples/advanced/radioprotection/src/RemSimElectronEEDL.cc index 83ab19dec7..728d4d76f6 100644 --- a/examples/advanced/radioprotection/src/RemSimElectronEEDL.cc +++ b/examples/advanced/radioprotection/src/RemSimElectronEEDL.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimElectronEEDL.cc,v 1.6 2006/06/29 16:23:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli, guatelloi@ge.infn.it diff --git a/examples/advanced/radioprotection/src/RemSimEventAction.cc b/examples/advanced/radioprotection/src/RemSimEventAction.cc index 421dc3220f..68f27fb155 100644 --- a/examples/advanced/radioprotection/src/RemSimEventAction.cc +++ b/examples/advanced/radioprotection/src/RemSimEventAction.cc @@ -31,7 +31,7 @@ // // // $Id: RemSimEventAction.cc,v 1.9 2006/06/29 16:23:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author : Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/src/RemSimHadronicBertini.cc b/examples/advanced/radioprotection/src/RemSimHadronicBertini.cc index 9d45e0dd8b..719997a2b7 100644 --- a/examples/advanced/radioprotection/src/RemSimHadronicBertini.cc +++ b/examples/advanced/radioprotection/src/RemSimHadronicBertini.cc @@ -30,7 +30,7 @@ // ************************************** // // $Id: RemSimHadronicBertini.cc,v 1.5 2006/11/15 18:39:30 guatelli Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author : Susanna Guatelli, guatelli@ge.infn.it diff --git a/examples/advanced/radioprotection/src/RemSimHadronicBinary.cc b/examples/advanced/radioprotection/src/RemSimHadronicBinary.cc index 613a9686f1..ee8424dc26 100644 --- a/examples/advanced/radioprotection/src/RemSimHadronicBinary.cc +++ b/examples/advanced/radioprotection/src/RemSimHadronicBinary.cc @@ -30,7 +30,7 @@ // ************************************** // // $Id: RemSimHadronicBinary.cc,v 1.7 2006/11/15 18:39:30 guatelli Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author : Susanna Guatelli, guatelli@ge.infn.it diff --git a/examples/advanced/radioprotection/src/RemSimIonICRU.cc b/examples/advanced/radioprotection/src/RemSimIonICRU.cc index ba1619f038..c0cd565340 100644 --- a/examples/advanced/radioprotection/src/RemSimIonICRU.cc +++ b/examples/advanced/radioprotection/src/RemSimIonICRU.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimIonICRU.cc,v 1.10 2006/06/29 16:23:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli, guatelli@ge.infn.it diff --git a/examples/advanced/radioprotection/src/RemSimMaterial.cc b/examples/advanced/radioprotection/src/RemSimMaterial.cc index 6bfb8cc84e..38a481a714 100644 --- a/examples/advanced/radioprotection/src/RemSimMaterial.cc +++ b/examples/advanced/radioprotection/src/RemSimMaterial.cc @@ -33,7 +33,7 @@ // ******************************* // // $Id: RemSimMaterial.cc,v 1.7 2006/06/29 16:23:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4MaterialPropertiesTable.hh" diff --git a/examples/advanced/radioprotection/src/RemSimMoonHabitat.cc b/examples/advanced/radioprotection/src/RemSimMoonHabitat.cc index 5a61cdd935..6cf0656263 100644 --- a/examples/advanced/radioprotection/src/RemSimMoonHabitat.cc +++ b/examples/advanced/radioprotection/src/RemSimMoonHabitat.cc @@ -31,7 +31,7 @@ // ************************************** // // $Id: RemSimMoonHabitat.cc,v 1.7 2006/06/29 16:23:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/src/RemSimMuonStandard.cc b/examples/advanced/radioprotection/src/RemSimMuonStandard.cc index 338d8074b0..92d3ea4052 100644 --- a/examples/advanced/radioprotection/src/RemSimMuonStandard.cc +++ b/examples/advanced/radioprotection/src/RemSimMuonStandard.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimMuonStandard.cc,v 1.6 2006/06/29 16:23:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/src/RemSimPhotonEPDL.cc b/examples/advanced/radioprotection/src/RemSimPhotonEPDL.cc index d9054d8a4e..e155bab41e 100644 --- a/examples/advanced/radioprotection/src/RemSimPhotonEPDL.cc +++ b/examples/advanced/radioprotection/src/RemSimPhotonEPDL.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimPhotonEPDL.cc,v 1.7 2006/06/29 16:24:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author:Susanna Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/src/RemSimPhysicsList.cc b/examples/advanced/radioprotection/src/RemSimPhysicsList.cc index 44da537fe1..8cb918c5fb 100644 --- a/examples/advanced/radioprotection/src/RemSimPhysicsList.cc +++ b/examples/advanced/radioprotection/src/RemSimPhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimPhysicsList.cc,v 1.10 2006/06/29 16:24:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli diff --git a/examples/advanced/radioprotection/src/RemSimPhysicsListMessenger.cc b/examples/advanced/radioprotection/src/RemSimPhysicsListMessenger.cc index 788a2f7ee6..ecb26880cf 100644 --- a/examples/advanced/radioprotection/src/RemSimPhysicsListMessenger.cc +++ b/examples/advanced/radioprotection/src/RemSimPhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimPhysicsListMessenger.cc,v 1.4 2006/06/29 16:24:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli, guatelli@ge.infn.it diff --git a/examples/advanced/radioprotection/src/RemSimPositronStandard.cc b/examples/advanced/radioprotection/src/RemSimPositronStandard.cc index 55d9716548..c156a0f84e 100644 --- a/examples/advanced/radioprotection/src/RemSimPositronStandard.cc +++ b/examples/advanced/radioprotection/src/RemSimPositronStandard.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimPositronStandard.cc,v 1.6 2006/06/29 16:24:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Susanna Guatelli, guatelli@ge.infn.it #include "RemSimPositronStandard.hh" diff --git a/examples/advanced/radioprotection/src/RemSimPrimaryGeneratorMessenger.cc b/examples/advanced/radioprotection/src/RemSimPrimaryGeneratorMessenger.cc index 30c33d92cb..102b17089a 100644 --- a/examples/advanced/radioprotection/src/RemSimPrimaryGeneratorMessenger.cc +++ b/examples/advanced/radioprotection/src/RemSimPrimaryGeneratorMessenger.cc @@ -34,7 +34,7 @@ // // // $Id: RemSimPrimaryGeneratorMessenger.cc,v 1.11 2006/06/29 16:24:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/radioprotection/src/RemSimROGeometry.cc b/examples/advanced/radioprotection/src/RemSimROGeometry.cc index 47d769d670..705a7fb288 100644 --- a/examples/advanced/radioprotection/src/RemSimROGeometry.cc +++ b/examples/advanced/radioprotection/src/RemSimROGeometry.cc @@ -33,7 +33,7 @@ // ************************************ // // $Id: RemSimROGeometry.cc,v 1.6 2006/06/29 16:24:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RemSimROGeometry.hh" #include "RemSimDummySD.hh" diff --git a/examples/advanced/radioprotection/src/RemSimRoofDecorator.cc b/examples/advanced/radioprotection/src/RemSimRoofDecorator.cc index bf5ee3e47c..46fa340895 100644 --- a/examples/advanced/radioprotection/src/RemSimRoofDecorator.cc +++ b/examples/advanced/radioprotection/src/RemSimRoofDecorator.cc @@ -33,7 +33,7 @@ // // // $Id: RemSimRoofDecorator.cc,v 1.7 2006/06/29 16:24:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RemSimVGeometryComponent.hh" #include "RemSimMaterial.hh" diff --git a/examples/advanced/radioprotection/src/RemSimRunAction.cc b/examples/advanced/radioprotection/src/RemSimRunAction.cc index ebe75cf283..a586c0e33b 100644 --- a/examples/advanced/radioprotection/src/RemSimRunAction.cc +++ b/examples/advanced/radioprotection/src/RemSimRunAction.cc @@ -32,7 +32,7 @@ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // $Id: RemSimRunAction.cc,v 1.14 2006/06/29 16:24:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RemSimRunAction.hh" diff --git a/examples/advanced/radioprotection/src/RemSimSensitiveDetector.cc b/examples/advanced/radioprotection/src/RemSimSensitiveDetector.cc index 8c40461c1e..abf12f6069 100644 --- a/examples/advanced/radioprotection/src/RemSimSensitiveDetector.cc +++ b/examples/advanced/radioprotection/src/RemSimSensitiveDetector.cc @@ -25,7 +25,7 @@ // // // $Id: RemSimSensitiveDetector.cc,v 1.15 2006/06/29 16:24:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/src/RemSimShelterSPEDecorator.cc b/examples/advanced/radioprotection/src/RemSimShelterSPEDecorator.cc index 84e1807371..e352bab878 100644 --- a/examples/advanced/radioprotection/src/RemSimShelterSPEDecorator.cc +++ b/examples/advanced/radioprotection/src/RemSimShelterSPEDecorator.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimShelterSPEDecorator.cc,v 1.3 2006/06/29 16:24:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/src/RemSimShieldingDecorator.cc b/examples/advanced/radioprotection/src/RemSimShieldingDecorator.cc index 2cb6165ce2..042a49bad2 100644 --- a/examples/advanced/radioprotection/src/RemSimShieldingDecorator.cc +++ b/examples/advanced/radioprotection/src/RemSimShieldingDecorator.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimShieldingDecorator.cc,v 1.6 2006/06/29 16:24:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/src/RemSimSteppingAction.cc b/examples/advanced/radioprotection/src/RemSimSteppingAction.cc index d7465e4ee2..afb93f874f 100644 --- a/examples/advanced/radioprotection/src/RemSimSteppingAction.cc +++ b/examples/advanced/radioprotection/src/RemSimSteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: RemSimSteppingAction.cc,v 1.10 2006/06/29 16:24:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Author: Susanna Guatelli (guatelli@ge.infn.it) diff --git a/examples/advanced/radioprotection/src/RemSimSteppingActionMessenger.cc b/examples/advanced/radioprotection/src/RemSimSteppingActionMessenger.cc index 61b17e34b6..199f497a51 100644 --- a/examples/advanced/radioprotection/src/RemSimSteppingActionMessenger.cc +++ b/examples/advanced/radioprotection/src/RemSimSteppingActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -//$Id: RemSimSteppingActionMessenger.cc,v 1.5 2006/06/29 16:24:27 gunter Exp $// GEANT4 tag $Name: geant4-08-02 $ +//$Id: RemSimSteppingActionMessenger.cc,v 1.5 2006/06/29 16:24:27 gunter Exp $// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/src/RemSimVGeometryComponent.cc b/examples/advanced/radioprotection/src/RemSimVGeometryComponent.cc index be8ad3e729..bf97de0498 100644 --- a/examples/advanced/radioprotection/src/RemSimVGeometryComponent.cc +++ b/examples/advanced/radioprotection/src/RemSimVGeometryComponent.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimVGeometryComponent.cc,v 1.4 2006/06/29 16:24:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/radioprotection/src/RemSimVehicle1.cc b/examples/advanced/radioprotection/src/RemSimVehicle1.cc index b6ec3cf9fc..77cd0e6a70 100644 --- a/examples/advanced/radioprotection/src/RemSimVehicle1.cc +++ b/examples/advanced/radioprotection/src/RemSimVehicle1.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RemSimVehicle1.cc,v 1.9 2006/06/29 16:24:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: S.Guatelli, guatelli@ge.infn.it // diff --git a/examples/advanced/raredecay_calorimetry/PhotIn.cc b/examples/advanced/raredecay_calorimetry/PhotIn.cc index 6b632e3d75..190aa32802 100644 --- a/examples/advanced/raredecay_calorimetry/PhotIn.cc +++ b/examples/advanced/raredecay_calorimetry/PhotIn.cc @@ -25,7 +25,7 @@ // // // $Id: PhotIn.cc,v 1.10 2006/11/22 09:46:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/advanced/raredecay_calorimetry/PhotIn.out b/examples/advanced/raredecay_calorimetry/PhotIn.out index d89f5911b9..791ceacec7 100644 --- a/examples/advanced/raredecay_calorimetry/PhotIn.out +++ b/examples/advanced/raredecay_calorimetry/PhotIn.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -15,7 +15,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -489,18 +488,26 @@ PhotInPhysicsList::SetCuts: default cut length : 1 mm /run/dumpRegion Region -- appears in world volume + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Vac Production cuts : gamma 1 mm e- 1 mm e+ 1 mm Region -- appears in world volume + Root logical volume(s) : Sect-0 + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Scintillator Production cuts : gamma 1 mm e- 1 mm e+ 1 mm Region -- appears in world volume + Root logical volume(s) : Sect-1 + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Scintillator Production cuts : gamma 1 cm e- 1 cm e+ 1 cm Region -- appears in world volume + Root logical volume(s) : Sect-2 + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Scintillator Production cuts : gamma 10 cm e- 10 cm e+ 10 cm /PhotIn/projParticle pi+ @@ -527,7 +534,7 @@ phot: Total cross sections from Sandia parametrisation. msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -540,7 +547,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -553,7 +560,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -566,7 +573,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -578,7 +585,7 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 hIoni: tables are built for anti_proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -591,7 +598,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -638,7 +645,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -704,129 +711,3 @@ Index : 6 used in the geometry : Yes recalculation needed : No Start Run processing. PhotInPrimaryGeneratorAction::GeneratePrimaries: pi+,E=100 PhotInPrimaryGeneratorAction::GeneratePrimaries: part&E're redefined -Run terminated. -Run Summary - Number of events processed : 1 - User=74.19s Real=77.22s Sys=2.86s -############################################################## - Run Summary - Number of events : 1 -############################################################## -Region Region0 -==================== - Production thresholds : - ----------------------- - gamma 1 mm e- 1 mm e+ 1 mm - Energy deposition in Absorber 1.1014107 GeV, in Gap 0 eV - Number of secondaries in the event : - ------------------------------------ - gamma in Absorber 19, in Gap 137 - e- in Absorber 412, in Gap 912 - e+ in Absorber 1, in Gap 12 - Minimum kinetic energy of generated secondaries : - ------------------------------------------------- - gamma in Absorber = 3.3336565 keV, in Gap = 7.0059449 keV - e- in Absorber = 0.36374712 eV , in Gap = 30.878493 eV - e+ in Absorber = 8.0783104 MeV in Gap = 1.044149 MeV - Mean total track length of neutrons in the event : in Absorber = 3.3745678 m , in Gap = 0 fm - Mean number of steps of charged particles in the event : in Absorber =87, in Gap = 0 -############################################################## -Region Region1 -==================== - Production thresholds : - ----------------------- - gamma 1 cm e- 1 cm e+ 1 cm - Energy deposition in Absorber 65.908667 GeV, in Gap 0 eV - Number of secondaries in the event : - ------------------------------------ - gamma in Absorber 2095, in Gap 9035 - e- in Absorber 22065, in Gap 47423 - e+ in Absorber 136, in Gap 742 - Minimum kinetic energy of generated secondaries : - ------------------------------------------------- - gamma in Absorber = 5.7170692 keV, in Gap = 20.503949 keV - e- in Absorber = 0.26932028 eV , in Gap = 0.045852756 eV - e+ in Absorber = 214.55633 keV in Gap = 156.10678 keV - Mean total track length of neutrons in the event : in Absorber = 81.069248 m , in Gap = 0 fm - Mean number of steps of charged particles in the event : in Absorber =1872, in Gap = 0 -############################################################## -Region Region2 -==================== - Production thresholds : - ----------------------- - gamma 10 cm e- 10 cm e+ 10 cm - Energy deposition in Absorber 671.94787 MeV, in Gap 0 eV - Number of secondaries in the event : - ------------------------------------ - gamma in Absorber 22, in Gap 45 - e- in Absorber 451, in Gap 661 - e+ in Absorber 3, in Gap 9 - Minimum kinetic energy of generated secondaries : - ------------------------------------------------- - gamma in Absorber = 45.665742 keV, in Gap = 83.908611 keV - e- in Absorber = 32.180541 eV , in Gap = 6.014585 eV - e+ in Absorber = 1.3764601 MeV in Gap = 1.1425304 MeV - Mean total track length of neutrons in the event : in Absorber = 5.6787259 m , in Gap = 0 fm - Mean number of steps of charged particles in the event : in Absorber =127, in Gap = 0 -############################################################## -/run/dumpCouples - -========= Table of registered couples ============================== - -Index : 0 used in the geometry : Yes recalculation needed : No - Material : Vac - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV - Region(s) which use this couple : - DefaultRegionForTheWorld - -Index : 1 used in the geometry : Yes recalculation needed : No - Material : Aluminium - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 6.8873065 keV e- 596.68045 keV e+ 568.01052 keV - Region(s) which use this couple : - Region0 - -Index : 2 used in the geometry : Yes recalculation needed : No - Material : Scintillator - Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 2.3689452 keV e- 355.79082 keV e+ 347.13789 keV - Region(s) which use this couple : - Region0 - -Index : 3 used in the geometry : Yes recalculation needed : No - Material : Aluminium - Range cuts : gamma 1 cm e- 1 cm e+ 1 cm - Energy thresholds : gamma 20.494884 keV e- 4.5487391 MeV e+ 4.2771968 MeV - Region(s) which use this couple : - Region1 - -Index : 4 used in the geometry : Yes recalculation needed : No - Material : Scintillator - Range cuts : gamma 1 cm e- 1 cm e+ 1 cm - Energy thresholds : gamma 5.6988252 keV e- 2.200168 MeV e+ 2.0688264 MeV - Region(s) which use this couple : - Region1 - -Index : 5 used in the geometry : Yes recalculation needed : No - Material : Aluminium - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 79.141018 keV e- 56.740688 MeV e+ 54.014351 MeV - Region(s) which use this couple : - Region2 - -Index : 6 used in the geometry : Yes recalculation needed : No - Material : Scintillator - Range cuts : gamma 10 cm e- 10 cm e+ 10 cm - Energy thresholds : gamma 18.864481 keV e- 23.386044 MeV e+ 22.262366 MeV - Region(s) which use this couple : - Region2 - -==================================================================== - -## -## -## -/run/setCutForRegqion Region0 0.2 mm -Graphics systems deleted. -Visualization Manager deleting... -G4 kernel has come to Quit state. diff --git a/examples/advanced/raredecay_calorimetry/include/PhotInCalorHit.hh b/examples/advanced/raredecay_calorimetry/include/PhotInCalorHit.hh index fb5d457458..86fb5d46b8 100644 --- a/examples/advanced/raredecay_calorimetry/include/PhotInCalorHit.hh +++ b/examples/advanced/raredecay_calorimetry/include/PhotInCalorHit.hh @@ -25,7 +25,7 @@ // // // $Id: PhotInCalorHit.hh,v 1.4 2006/06/29 16:24:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef PhotInCalorHit_h diff --git a/examples/advanced/raredecay_calorimetry/include/PhotInCalorimeterSD.hh b/examples/advanced/raredecay_calorimetry/include/PhotInCalorimeterSD.hh index 444fae7c83..f5a2d4e8f5 100644 --- a/examples/advanced/raredecay_calorimetry/include/PhotInCalorimeterSD.hh +++ b/examples/advanced/raredecay_calorimetry/include/PhotInCalorimeterSD.hh @@ -25,7 +25,7 @@ // // // $Id: PhotInCalorimeterSD.hh,v 1.3 2006/06/29 16:24:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef PhotInCalorimeterSD_h diff --git a/examples/advanced/raredecay_calorimetry/include/PhotInConstants.hh b/examples/advanced/raredecay_calorimetry/include/PhotInConstants.hh index 0c2b0cdba8..60da79d8a1 100644 --- a/examples/advanced/raredecay_calorimetry/include/PhotInConstants.hh +++ b/examples/advanced/raredecay_calorimetry/include/PhotInConstants.hh @@ -25,7 +25,7 @@ // // // $Id: PhotInConstants.hh,v 1.2 2006/06/29 16:24:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef PhotInConstants_h diff --git a/examples/advanced/raredecay_calorimetry/include/PhotInDetectorConstruction.hh b/examples/advanced/raredecay_calorimetry/include/PhotInDetectorConstruction.hh index 3b94fdd8b0..b4eead2af9 100644 --- a/examples/advanced/raredecay_calorimetry/include/PhotInDetectorConstruction.hh +++ b/examples/advanced/raredecay_calorimetry/include/PhotInDetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: PhotInDetectorConstruction.hh,v 1.3 2006/06/29 16:24:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/advanced/raredecay_calorimetry/include/PhotInDetectorMessenger.hh b/examples/advanced/raredecay_calorimetry/include/PhotInDetectorMessenger.hh index e2e04f6c34..57d2439702 100644 --- a/examples/advanced/raredecay_calorimetry/include/PhotInDetectorMessenger.hh +++ b/examples/advanced/raredecay_calorimetry/include/PhotInDetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: PhotInDetectorMessenger.hh,v 1.5 2006/06/29 16:24:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef PhotInDetectorMessenger_h diff --git a/examples/advanced/raredecay_calorimetry/include/PhotInEventAction.hh b/examples/advanced/raredecay_calorimetry/include/PhotInEventAction.hh index 6861e99b6a..e7eb3f4a46 100644 --- a/examples/advanced/raredecay_calorimetry/include/PhotInEventAction.hh +++ b/examples/advanced/raredecay_calorimetry/include/PhotInEventAction.hh @@ -25,7 +25,7 @@ // // // $Id: PhotInEventAction.hh,v 1.3 2006/06/29 16:24:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef PhotInEventAction_h diff --git a/examples/advanced/raredecay_calorimetry/include/PhotInGapParameterisation.hh b/examples/advanced/raredecay_calorimetry/include/PhotInGapParameterisation.hh index 835f9b0978..e7213c084d 100644 --- a/examples/advanced/raredecay_calorimetry/include/PhotInGapParameterisation.hh +++ b/examples/advanced/raredecay_calorimetry/include/PhotInGapParameterisation.hh @@ -25,7 +25,7 @@ // // // $Id: PhotInGapParameterisation.hh,v 1.5 2006/11/22 09:44:22 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A parameterisation that describes a series of boxes along Z diff --git a/examples/advanced/raredecay_calorimetry/include/PhotInLayerParameterisation.hh b/examples/advanced/raredecay_calorimetry/include/PhotInLayerParameterisation.hh index 40e6cda089..4e3130536d 100644 --- a/examples/advanced/raredecay_calorimetry/include/PhotInLayerParameterisation.hh +++ b/examples/advanced/raredecay_calorimetry/include/PhotInLayerParameterisation.hh @@ -25,7 +25,7 @@ // // // $Id: PhotInLayerParameterisation.hh,v 1.3 2006/06/29 16:24:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A parameterisation that describes a series of boxes along Z diff --git a/examples/advanced/raredecay_calorimetry/include/PhotInPhysicsList.hh b/examples/advanced/raredecay_calorimetry/include/PhotInPhysicsList.hh index c3a758a3ff..b98b910fee 100644 --- a/examples/advanced/raredecay_calorimetry/include/PhotInPhysicsList.hh +++ b/examples/advanced/raredecay_calorimetry/include/PhotInPhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhotInPhysicsList.hh,v 1.4 2006/06/29 16:24:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef PhotInPhysicsList_h diff --git a/examples/advanced/raredecay_calorimetry/include/PhotInPrimaryGeneratorAction.hh b/examples/advanced/raredecay_calorimetry/include/PhotInPrimaryGeneratorAction.hh index 529297eb95..29de7f388b 100644 --- a/examples/advanced/raredecay_calorimetry/include/PhotInPrimaryGeneratorAction.hh +++ b/examples/advanced/raredecay_calorimetry/include/PhotInPrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: PhotInPrimaryGeneratorAction.hh,v 1.5 2006/06/29 16:24:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef PhotInPrimaryGeneratorAction_h diff --git a/examples/advanced/raredecay_calorimetry/include/PhotInRun.hh b/examples/advanced/raredecay_calorimetry/include/PhotInRun.hh index 1994f18837..fc06e8cd95 100644 --- a/examples/advanced/raredecay_calorimetry/include/PhotInRun.hh +++ b/examples/advanced/raredecay_calorimetry/include/PhotInRun.hh @@ -25,7 +25,7 @@ // // // $Id: PhotInRun.hh,v 1.4 2006/06/29 16:24:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef PhotInRun_h diff --git a/examples/advanced/raredecay_calorimetry/include/PhotInRunAction.hh b/examples/advanced/raredecay_calorimetry/include/PhotInRunAction.hh index ce6d36a620..f730661bc9 100644 --- a/examples/advanced/raredecay_calorimetry/include/PhotInRunAction.hh +++ b/examples/advanced/raredecay_calorimetry/include/PhotInRunAction.hh @@ -25,7 +25,7 @@ // // // $Id: PhotInRunAction.hh,v 1.3 2006/06/29 16:24:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef PhotInRunAction_h diff --git a/examples/advanced/raredecay_calorimetry/src/PhotInCalorHit.cc b/examples/advanced/raredecay_calorimetry/src/PhotInCalorHit.cc index cbbfb0691e..8e99fe7888 100644 --- a/examples/advanced/raredecay_calorimetry/src/PhotInCalorHit.cc +++ b/examples/advanced/raredecay_calorimetry/src/PhotInCalorHit.cc @@ -25,7 +25,7 @@ // // // $Id: PhotInCalorHit.cc,v 1.4 2006/06/29 16:25:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //#define debug diff --git a/examples/advanced/raredecay_calorimetry/src/PhotInCalorimeterSD.cc b/examples/advanced/raredecay_calorimetry/src/PhotInCalorimeterSD.cc index 4dc994cbf2..d667143206 100644 --- a/examples/advanced/raredecay_calorimetry/src/PhotInCalorimeterSD.cc +++ b/examples/advanced/raredecay_calorimetry/src/PhotInCalorimeterSD.cc @@ -25,7 +25,7 @@ // // // $Id: PhotInCalorimeterSD.cc,v 1.6 2006/06/29 16:25:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //#define debug diff --git a/examples/advanced/raredecay_calorimetry/src/PhotInDetectorConstruction.cc b/examples/advanced/raredecay_calorimetry/src/PhotInDetectorConstruction.cc index b4b2da8c5a..cfc1f1487e 100644 --- a/examples/advanced/raredecay_calorimetry/src/PhotInDetectorConstruction.cc +++ b/examples/advanced/raredecay_calorimetry/src/PhotInDetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: PhotInDetectorConstruction.cc,v 1.5 2006/06/29 16:25:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // *************************************************************************** diff --git a/examples/advanced/raredecay_calorimetry/src/PhotInDetectorMessenger.cc b/examples/advanced/raredecay_calorimetry/src/PhotInDetectorMessenger.cc index 3265c018aa..8138feccee 100644 --- a/examples/advanced/raredecay_calorimetry/src/PhotInDetectorMessenger.cc +++ b/examples/advanced/raredecay_calorimetry/src/PhotInDetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: PhotInDetectorMessenger.cc,v 1.5 2006/06/29 16:25:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //#define debug diff --git a/examples/advanced/raredecay_calorimetry/src/PhotInEventAction.cc b/examples/advanced/raredecay_calorimetry/src/PhotInEventAction.cc index 98cb4ad543..72aa29f39f 100644 --- a/examples/advanced/raredecay_calorimetry/src/PhotInEventAction.cc +++ b/examples/advanced/raredecay_calorimetry/src/PhotInEventAction.cc @@ -25,7 +25,7 @@ // // // $Id: PhotInEventAction.cc,v 1.6 2006/06/29 16:25:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //#define debug diff --git a/examples/advanced/raredecay_calorimetry/src/PhotInGapParameterisation.cc b/examples/advanced/raredecay_calorimetry/src/PhotInGapParameterisation.cc index a62178019e..e484a23fe5 100644 --- a/examples/advanced/raredecay_calorimetry/src/PhotInGapParameterisation.cc +++ b/examples/advanced/raredecay_calorimetry/src/PhotInGapParameterisation.cc @@ -25,7 +25,7 @@ // // // $Id: PhotInGapParameterisation.cc,v 1.5 2006/06/29 16:25:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //#define debug diff --git a/examples/advanced/raredecay_calorimetry/src/PhotInLayerParameterisation.cc b/examples/advanced/raredecay_calorimetry/src/PhotInLayerParameterisation.cc index a7843492e9..54f99a8b74 100644 --- a/examples/advanced/raredecay_calorimetry/src/PhotInLayerParameterisation.cc +++ b/examples/advanced/raredecay_calorimetry/src/PhotInLayerParameterisation.cc @@ -25,7 +25,7 @@ // // // $Id: PhotInLayerParameterisation.cc,v 1.3 2006/06/29 16:25:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //#define debug diff --git a/examples/advanced/raredecay_calorimetry/src/PhotInPhysicsList.cc b/examples/advanced/raredecay_calorimetry/src/PhotInPhysicsList.cc index fc64c7aa0e..8d41e2f7ea 100644 --- a/examples/advanced/raredecay_calorimetry/src/PhotInPhysicsList.cc +++ b/examples/advanced/raredecay_calorimetry/src/PhotInPhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: PhotInPhysicsList.cc,v 1.4 2006/06/29 16:25:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #define debug diff --git a/examples/advanced/raredecay_calorimetry/src/PhotInPrimaryGeneratorAction.cc b/examples/advanced/raredecay_calorimetry/src/PhotInPrimaryGeneratorAction.cc index 76e4357b30..4ad9d087df 100644 --- a/examples/advanced/raredecay_calorimetry/src/PhotInPrimaryGeneratorAction.cc +++ b/examples/advanced/raredecay_calorimetry/src/PhotInPrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: PhotInPrimaryGeneratorAction.cc,v 1.6 2006/06/29 16:25:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #define debug diff --git a/examples/advanced/raredecay_calorimetry/src/PhotInRun.cc b/examples/advanced/raredecay_calorimetry/src/PhotInRun.cc index 960813be12..123d8445b0 100644 --- a/examples/advanced/raredecay_calorimetry/src/PhotInRun.cc +++ b/examples/advanced/raredecay_calorimetry/src/PhotInRun.cc @@ -25,7 +25,7 @@ // // // $Id: PhotInRun.cc,v 1.6 2006/06/29 16:25:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //#define debug diff --git a/examples/advanced/raredecay_calorimetry/src/PhotInRunAction.cc b/examples/advanced/raredecay_calorimetry/src/PhotInRunAction.cc index 787052db21..4819c2d902 100644 --- a/examples/advanced/raredecay_calorimetry/src/PhotInRunAction.cc +++ b/examples/advanced/raredecay_calorimetry/src/PhotInRunAction.cc @@ -25,7 +25,7 @@ // // // $Id: PhotInRunAction.cc,v 1.5 2006/06/29 16:25:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //#define debug diff --git a/examples/advanced/underground_physics/History b/examples/advanced/underground_physics/History index 28b5d5aa3e..3ad726f139 100644 --- a/examples/advanced/underground_physics/History +++ b/examples/advanced/underground_physics/History @@ -1,5 +1,5 @@ ------------------------------------------------------------------- -$Id: History,v 1.10 2006/10/13 10:09:10 ahoward Exp $ +$Id: History,v 1.12 2007/06/13 15:00:48 ahoward Exp $ ------------------------------------------------------------------- ========================================================= @@ -8,6 +8,15 @@ $Id: History,v 1.10 2006/10/13 10:09:10 ahoward Exp $ Category History file --------------------- +06.06.2007 - A. Howard (DMX-V08-03-01) + Changed fG4v71 to preferable fMinimal for msc step limitation + Converted to hIonisation from hLowEnergyIonisation until + un-initialiased variables are fixed + +06.06.2007 - A. Howard (DMX-V08-03-00) + Migrated to new interface for SetMscStepLimitation(fG4v71) in + DMXPhysicsList + 13.10.2006 - A. Howard (DMX-V08-01-00) Removed uninitialized UserLimitsForXenon (bug) diff --git a/examples/advanced/underground_physics/include/DMXMinEkineCuts.hh b/examples/advanced/underground_physics/include/DMXMinEkineCuts.hh index 45aab2fa32..79ac587b10 100644 --- a/examples/advanced/underground_physics/include/DMXMinEkineCuts.hh +++ b/examples/advanced/underground_physics/include/DMXMinEkineCuts.hh @@ -25,7 +25,7 @@ // // // $Id: DMXMinEkineCuts.hh,v 1.4 2006/06/29 16:25:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/examples/advanced/underground_physics/src/DMXMinEkineCuts.cc b/examples/advanced/underground_physics/src/DMXMinEkineCuts.cc index df7222f268..2249ecdb12 100644 --- a/examples/advanced/underground_physics/src/DMXMinEkineCuts.cc +++ b/examples/advanced/underground_physics/src/DMXMinEkineCuts.cc @@ -25,7 +25,7 @@ // // // $Id: DMXMinEkineCuts.cc,v 1.6 2006/06/29 16:26:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/advanced/underground_physics/src/DMXPhysicsList.cc b/examples/advanced/underground_physics/src/DMXPhysicsList.cc index 89c3793492..8b8fa9eedc 100644 --- a/examples/advanced/underground_physics/src/DMXPhysicsList.cc +++ b/examples/advanced/underground_physics/src/DMXPhysicsList.cc @@ -228,7 +228,7 @@ void DMXPhysicsList::AddTransportation() { // alpha and GenericIon and deuterons, triton, He3: -#include "G4hLowEnergyIonisation.hh" +//hIonisation #include "G4hLowEnergyIonisation.hh" -> moved to G4hIonisation #include "G4EnergyLossTables.hh" // hLowEnergyIonisation uses Ziegler 1988 as the default @@ -334,15 +334,17 @@ void DMXPhysicsList::ConstructEM() { // G4Nucleus exists and therefore has particle type nucleus // genericIon: G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - G4hLowEnergyIonisation* ahadronLowEIon = new G4hLowEnergyIonisation(); + //hIonisation G4hLowEnergyIonisation* ahadronLowEIon = new G4hLowEnergyIonisation(); + G4hIonisation* ahadronIon = new G4hIonisation(); pmanager->AddProcess(aMultipleScattering,-1,1,1); - pmanager->AddProcess(ahadronLowEIon,-1,2,2); + //hIonisation pmanager->AddProcess(ahadronLowEIon,-1,2,2); + pmanager->AddProcess(ahadronIon,-1,2,2); // ahadronLowEIon->SetNuclearStoppingOff() ; // ahadronLowEIon->SetNuclearStoppingPowerModel("ICRU_R49") ; // ahadronLowEIon->SetNuclearStoppingOn() ; //fluorescence switch off for hadrons (for now) PIXE: - ahadronLowEIon->SetFluorescence(false); + //hIonisation ahadronLowEIon->SetFluorescence(false); } else if ((!particle->IsShortLived()) && (charge != 0.0) && @@ -350,9 +352,11 @@ void DMXPhysicsList::ConstructEM() { { //all others charged particles except geantino G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); - G4hLowEnergyIonisation* ahadronLowEIon = new G4hLowEnergyIonisation(); + //hIonisation G4hLowEnergyIonisation* ahadronLowEIon = new G4hLowEnergyIonisation(); + G4hIonisation* ahadronIon = new G4hIonisation(); pmanager->AddProcess(aMultipleScattering,-1,1,1); - pmanager->AddProcess(ahadronLowEIon, -1,2,2); + //hIonisation pmanager->AddProcess(ahadronLowEIon, -1,2,2); + pmanager->AddProcess(ahadronIon, -1,2,2); // pmanager->AddProcess(new G4hIonisation(), -1,2,2); } @@ -360,7 +364,8 @@ void DMXPhysicsList::ConstructEM() { // turn off msc step-limitation - especially as electron cut 1nm G4EmProcessOptions opt; - opt.SetMscStepLimitation(false); + // opt.SetMscStepLimitation(false); + opt.SetMscStepLimitation(fMinimal); } diff --git a/examples/advanced/xray_fluorescence/History b/examples/advanced/xray_fluorescence/History index 3b89242fa7..3e96a0f760 100644 --- a/examples/advanced/xray_fluorescence/History +++ b/examples/advanced/xray_fluorescence/History @@ -1,6 +1,6 @@ # $Id: History,v 1.6 2005/11/15 15:57:47 gcosmo Exp $ # ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # ------------------------------------------------------------------- ========================================================= diff --git a/examples/advanced/xray_telescope/include/XrayTelAnalysis.hh b/examples/advanced/xray_telescope/include/XrayTelAnalysis.hh index 9b4d2e5aa2..6bdc18a719 100644 --- a/examples/advanced/xray_telescope/include/XrayTelAnalysis.hh +++ b/examples/advanced/xray_telescope/include/XrayTelAnalysis.hh @@ -25,7 +25,7 @@ // // // $Id: XrayTelAnalysis.hh,v 1.10 2006/06/29 16:29:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: A. Pfeiffer (Andreas.Pfeiffer@cern.ch) // (copy of his UserAnalyser class) diff --git a/examples/advanced/xray_telescope/src/XrayTelAnalysis.cc b/examples/advanced/xray_telescope/src/XrayTelAnalysis.cc index 48f6feb1be..e24eb02970 100644 --- a/examples/advanced/xray_telescope/src/XrayTelAnalysis.cc +++ b/examples/advanced/xray_telescope/src/XrayTelAnalysis.cc @@ -25,7 +25,7 @@ // // // $Id: XrayTelAnalysis.cc,v 1.12 2006/06/29 16:30:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: A. Pfeiffer (Andreas.Pfeiffer@cern.ch) // (copied from his UserAnalyser class) diff --git a/examples/advanced/xray_telescope/test.out b/examples/advanced/xray_telescope/test.out index 4b4f374e42..af4cf68e74 100644 --- a/examples/advanced/xray_telescope/test.out +++ b/examples/advanced/xray_telescope/test.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-08-02 $ + Geant4 version $Name: geant4-09-00 $ (19-May-2003) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/analysis/A01/History b/examples/extended/analysis/A01/History index 689a331f76..977f7456fa 100644 --- a/examples/extended/analysis/A01/History +++ b/examples/extended/analysis/A01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.41 2006/11/14 07:11:18 perl Exp $ +$Id: History,v 1.43 2007/05/17 09:55:13 duns Exp $ ------------------------------------------------------------------- ========================================================= @@ -10,6 +10,11 @@ $Id: History,v 1.41 2006/11/14 07:11:18 perl Exp $ ---------------------------------------------------------- --------------------------------------------------------------------------- +17 May 2007 - Mark Donszelmann (exampleA01-V08-03-01) +- Fixed memory leak for plotter + +16 May 2007 - Mark Donszelmann +- Fixed warning message about JAS-JAIDA window on exit. 13 November 2006 - Joseph Perl (exampleA01-V08-01-02) - Remove unused attributes from hit classes. diff --git a/examples/extended/analysis/A01/include/A01AnalysisManager.hh b/examples/extended/analysis/A01/include/A01AnalysisManager.hh index 213eb26322..8f89af53a2 100644 --- a/examples/extended/analysis/A01/include/A01AnalysisManager.hh +++ b/examples/extended/analysis/A01/include/A01AnalysisManager.hh @@ -70,7 +70,7 @@ public: IHistogramFactory* getHistogramFactory(); ITupleFactory* getTupleFactory(); - IPlotter* createPlotter(); + IPlotter* getPlotter(); private: @@ -80,6 +80,7 @@ private: IAnalysisFactory* analysisFactory; IHistogramFactory* hFactory; ITupleFactory* tFactory; + IPlotter* plotter; ITree* tree; }; diff --git a/examples/extended/analysis/A01/src/A01AnalysisManager.cc b/examples/extended/analysis/A01/src/A01AnalysisManager.cc index 995eb38ff0..e85ff302fa 100644 --- a/examples/extended/analysis/A01/src/A01AnalysisManager.cc +++ b/examples/extended/analysis/A01/src/A01AnalysisManager.cc @@ -62,7 +62,7 @@ A01AnalysisManager* A01AnalysisManager::instance = 0; A01AnalysisManager::A01AnalysisManager() -:analysisFactory(0), hFactory(0), tFactory(0) +:analysisFactory(0), hFactory(0), tFactory(0), plotter(0) { // Hooking an AIDA compliant analysis system. analysisFactory = AIDA_createAnalysisFactory(); @@ -72,6 +72,11 @@ A01AnalysisManager::A01AnalysisManager() tree = treeFactory->create("A01.aida","xml",false,true,"compress=yes"); hFactory = analysisFactory->createHistogramFactory(*tree); tFactory = analysisFactory->createTupleFactory(*tree); + IPlotterFactory* pf = analysisFactory->createPlotterFactory(0,0); + if (pf) { + plotter = pf->create("Plotter"); + delete pf; + } delete treeFactory; // Will not delete the ITree. } } @@ -84,7 +89,8 @@ A01AnalysisManager::~A01AnalysisManager() delete tree; delete tFactory; delete hFactory; - G4cout << "Warning: Geant4 will NOT exit unless you close the JAS-AIDA window." << G4endl; + delete plotter; + G4cout << "Warning: In case of working with JAS-AIDA, Geant4 will NOT exit unless you close the JAS-AIDA window." << G4endl; delete analysisFactory; } } @@ -96,14 +102,9 @@ ITupleFactory* A01AnalysisManager::getTupleFactory() { return tFactory; } -IPlotter* A01AnalysisManager::createPlotter() +IPlotter* A01AnalysisManager::getPlotter() { - if (analysisFactory) - { - IPlotterFactory* pf = analysisFactory->createPlotterFactory(0,0); - if (pf) return pf->create("Plotter"); - } - return 0; + return plotter; } A01AnalysisManager* A01AnalysisManager::getInstance() diff --git a/examples/extended/analysis/A01/src/A01EventAction.cc b/examples/extended/analysis/A01/src/A01EventAction.cc index 10a455a318..501afc1f70 100644 --- a/examples/extended/analysis/A01/src/A01EventAction.cc +++ b/examples/extended/analysis/A01/src/A01EventAction.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: A01EventAction.cc,v 1.9 2006/11/10 21:04:51 duns Exp $ +// $Id: A01EventAction.cc,v 1.10 2007/05/17 09:55:14 duns Exp $ // -------------------------------------------------------------- // @@ -90,7 +90,7 @@ A01EventAction::A01EventAction() dc2XY = hFactory->createCloud2D("Drift Chamber 2 X vs Y"); evstof = hFactory->createCloud2D("EDep vs Time-of-flight"); - plotter = analysisManager->createPlotter(); + plotter = analysisManager->getPlotter(); if (plotter) { plotter->createRegions(3,2); diff --git a/examples/extended/analysis/A01/test.out b/examples/extended/analysis/A01/test.out index 7056204e84..5f3547693e 100644 --- a/examples/extended/analysis/A01/test.out +++ b/examples/extended/analysis/A01/test.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version $Name: geant4-08-02 $ (25-June-2004) + Geant4 version $Name: geant4-09-00 $ (25-June-2004) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 diff --git a/examples/extended/analysis/AnaEx01/AnaEx01.cc b/examples/extended/analysis/AnaEx01/AnaEx01.cc index a3594c980e..cddafb529f 100644 --- a/examples/extended/analysis/AnaEx01/AnaEx01.cc +++ b/examples/extended/analysis/AnaEx01/AnaEx01.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01.cc,v 1.14 2006/06/29 16:33:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh index 6ee09b8c71..51b2c99112 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01AnalysisManager.hh @@ -25,7 +25,7 @@ // // // $Id: AnaEx01AnalysisManager.hh,v 1.9 2006/06/29 16:33:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh index f9154ac81d..aea56f8b96 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01CalorHit.hh @@ -25,7 +25,7 @@ // // // $Id: AnaEx01CalorHit.hh,v 1.4 2006/06/29 16:33:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01CalorimeterSD.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01CalorimeterSD.hh index 00ab9eaa20..781693d577 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01CalorimeterSD.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01CalorimeterSD.hh @@ -25,7 +25,7 @@ // // // $Id: AnaEx01CalorimeterSD.hh,v 1.4 2006/06/29 16:33:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh index c3795d1e3b..88de128d76 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: AnaEx01DetectorConstruction.hh,v 1.4 2006/06/29 16:33:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh index 21c46b4e47..4b7e0d6bd3 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: AnaEx01DetectorMessenger.hh,v 1.4 2006/06/29 16:33:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01EventAction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01EventAction.hh index 4e0b3aec3f..70f5853e7b 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01EventAction.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: AnaEx01EventAction.hh,v 1.6 2006/06/29 16:33:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh index 4bcbd4837f..1c34fc14e6 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: AnaEx01PhysicsList.hh,v 1.4 2006/06/29 16:33:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh index b30d550ce9..ffafc089a5 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: AnaEx01PrimaryGeneratorAction.hh,v 1.4 2006/06/29 16:33:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh index f0b597d8cb..c0db6c3d25 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01PrimaryGeneratorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: AnaEx01PrimaryGeneratorMessenger.hh,v 1.4 2006/06/29 16:33:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh index 48b7ddd4b0..7133bca25b 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: AnaEx01RunAction.hh,v 1.6 2006/06/29 16:33:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingAction.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingAction.hh index 1914f7ec97..34b1721d30 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingAction.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: AnaEx01SteppingAction.hh,v 1.6 2006/06/29 16:33:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh b/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh index 2406c0e405..c431d42c63 100644 --- a/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh +++ b/examples/extended/analysis/AnaEx01/include/AnaEx01SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: AnaEx01SteppingVerbose.hh,v 1.4 2006/06/29 16:33:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc index b1e1b66f1f..d7851c58b9 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01AnalysisManager.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01AnalysisManager.cc,v 1.16 2006/06/29 16:33:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Guy Barrand 14th Septembre 2000. diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc index 9e9ba8bc2f..62e3972c08 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorHit.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01CalorHit.cc,v 1.6 2006/06/29 16:33:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc index 67a8bb3845..1ca1c70c71 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01CalorimeterSD.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01CalorimeterSD.cc,v 1.5 2006/06/29 16:33:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc index ddc954d803..16757221e5 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01DetectorConstruction.cc,v 1.5 2006/06/29 16:33:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc index 33dbad5155..60f6a902c1 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01DetectorMessenger.cc,v 1.5 2006/06/29 16:33:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc index 1b313f1ae4..8ca71b3cb5 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01EventAction.cc,v 1.6 2006/06/29 16:33:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc index 3e83d8ce1c..fba7c70e25 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01PhysicsList.cc,v 1.5 2006/06/29 16:33:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc index 527483008b..f6f7ef75e3 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01PrimaryGeneratorAction.cc,v 1.5 2006/06/29 16:33:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc index 8c3ebff356..be4197e6c9 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01PrimaryGeneratorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01PrimaryGeneratorMessenger.cc,v 1.5 2006/06/29 16:33:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc index c279902ac0..2ce1e98f6a 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01RunAction.cc,v 1.7 2006/06/29 16:34:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingAction.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingAction.cc index a1330cd9b3..9c270f6ee9 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingAction.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01SteppingAction.cc,v 1.7 2006/06/29 16:34:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc b/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc index afa450f92d..646a64652d 100644 --- a/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc +++ b/examples/extended/analysis/AnaEx01/src/AnaEx01SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: AnaEx01SteppingVerbose.cc,v 1.7 2006/06/29 16:34:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/analysis/N03Con/GNUmakefile b/examples/extended/analysis/N03Con/GNUmakefile new file mode 100644 index 0000000000..26c055eaf2 --- /dev/null +++ b/examples/extended/analysis/N03Con/GNUmakefile @@ -0,0 +1,22 @@ +# $Id: GNUmakefile,v 1.1 2007/05/26 00:18:27 tkoi Exp $ +# -------------------------------------------------------------- +# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. +# -------------------------------------------------------------- + +name := exampleN03Con +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +.PHONY: all +all: lib bin + +include $(G4INSTALL)/config/binmake.gmk + +visclean: + rm -f g4*.prim g4*.eps g4*.wrl + rm -f .DAWN_* + diff --git a/examples/extended/analysis/N03Con/History b/examples/extended/analysis/N03Con/History new file mode 100644 index 0000000000..2805c7aac4 --- /dev/null +++ b/examples/extended/analysis/N03Con/History @@ -0,0 +1,19 @@ +-------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + Example N03Con History file + ------------------------ +This file should be used by the G4 example coordinator to briefly +summarize all major modifications introduced in the code and keep +track of all tags. + + ---------------------------------------------------------- + * Reverse chronological order (last date on top), please * + ---------------------------------------------------------- + +25-05-07 T. Koi exampleN03Con-V08-03-01 + +- Created. diff --git a/examples/extended/analysis/N03Con/History.N03 b/examples/extended/analysis/N03Con/History.N03 new file mode 100644 index 0000000000..744c0ec868 --- /dev/null +++ b/examples/extended/analysis/N03Con/History.N03 @@ -0,0 +1,467 @@ +$Id: History.N03,v 1.1 2007/05/26 00:18:27 tkoi Exp $ +-------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + Example N03 History file + ------------------------ +This file should be used by the G4 example coordinator to briefly +summarize all major modifications introduced in the code and keep +track of all tags. + + ---------------------------------------------------------- + * Reverse chronological order (last date on top), please * + ---------------------------------------------------------- + +26-10-06 John Allison (exampleN03-V08-01-04) +- Migrate to new trajectory modeling commands: + o vis.mac: Add new trajectory commands and helpful comments. + o ExN03EventActionMessenger: Remove /N03/event/drawTracks. + o ExN03EventAction: Remove SetDrawFlag and code for drawing + trajectories in EndOfEventAction. + o ExN03TrackingAction: Remove. (Trajectory choice now available + by vis commands - see exN03Vis12.mac and exN03Vis13.mac.) + o exN03Vis12.mac and exN03Vis13.mac: Further refinement. + +19-09-06 John Allison (exampleN03-V08-01-03) +- exN03Vis12.mac and exN03Vis13.mac: Further refinement. + +12-09-06 John Allison (exampleN03-V08-01-02) +- exN03Vis12.mac and exN03Vis13.mac: Switched off local trajectory + drawing (/N03/event/drawTracks none) so as not to interfere with + drawing from /vis/scene/add/trajectories. + +31-08-06 mma +- Code tidy. + +30-08-06 John Allison (exampleN03-V08-01-01) +- Improved visTutor/exN03Vis12.mac. +- Added visTutor/exN03Vis13.mac: Further demonstration of time slicing. + +16-08-06 John Allison (exampleN03-V08-01-00) +- Added ExN03TrackingAction. Active code is commented out so it + continues to use G4Trajectory. Introduced so that the code can + easily be instated to get G4RichTrajectory for exN03Vis12.mac. +- Added visTutor/exN03Vis12.mac: demonstration of time slicing. + +16-06-06 Gabriele Cosmo (exampleN03-V08-00-06) +- Use coherent allocation scheme for user-classes and + initialisation in main(). + +15-06-06 Gabriele Cosmo (exampleN03-V08-00-05) +- Separate instantiation of the user-stepping-verbose class from + initialisation of the G4VSteppingVerbose singleton. + +06-06-06 mma (exampleN03-V08-00-04) +- gui.mac : /N03/event/printModulo + +02-06-06 mma (exampleN03-V08-00-03) +- stepping action: replace Touchable by TouchableHandle + +29-05-06 mma (exampleN03-V08-00-02) +- stepping action: prePoint->GetTouchable()->GetVolume() + +24-05-06 mma (exampleN03-V08-00-01) +- cosmetic in stepping action + +23-05-06 Vladimir Ivanchenko (exampleN03-V08-00-00) +- use PrePoint in stepping action + +06-12-05 Gabriele Cosmo +- Trivial changes for support of CLHEP-2.0.X series. + +03-12-05 John Allison (exampleN03-V07-01-04) +- Quietened vis manager in batch mode. + +22-11-05 mma (exampleN03-V07-01-03) + - Update README + +14-11-05 mma (exampleN03-V07-01-02) + - DetectorConstruction: correct definition of Vacuum + +15-10-05 mma (exampleN03-V07-01-01) + - PhysicsList: AddProcess(new G4eBremsstrahlung,-1,3,3) ..etc.. + +22-07-05 mma (exampleN03-V07-01-00) +- RunAction: compute and print statistic at end of run. + +31-05-05 mma (exampleN03-V07-00-03) +- EventAction: decrease size of trajectory points. + +30-05-05 John Allison (exampleN03-V07-00-02) +- Completed replacment of vis manager with G4VisExecutive. + +26-05-05 Gabriele Cosmo (exampleN03-V07-00-01) +- Fixed compilation error in exampleN03.cc (no tracking-action existing...). + +03-05-05 John Allison (examples-V07-00-03) +- Replaced vis manager with G4VisExecutive. + +02-02-05 Michel Maire (exampleN03-V07-00-00) +- SteppingAction: sum stepLenght of charged particle even if edep=0. + +21-11-04 Guy Barrand +- visTutor/exN03Vis[5,10].mac : reverse notifyHandler and viewer/update + so that someone using G4UIterminal see the detector at the moment + of the /vis/viewer/update. + Have /control/verbose 2 to dump viewer controls. + +18-11-04 Guy Barrand +- visTutor/gui.mac : have a Viewer pulldown menu. + +15-11-04 Guy Barrand (exampleN03-V06-02-00) +- visTutor/exN03Vis[5,10].mac : have commented examples + on how to request the visualization of a particular volume. +- visTutor/exN03Vis9.mac : WIN32 : having something with only + OGLIWin32 in order to test that geometry and trajectories work. + +14-11-04 Guy Barrand +- ExN03DetectorConstruction.cc : in commented vis attributes ; + have transparency = 0.6 for the logicGap. + +12-11-04 Guy Barrand +- exN03Vis[5,10.mac] : correct comments "an volume" -> "a volume". + +11-11-04 Guy Barrand +- ExN03DetectorConstruction.cc : add commented vis attributes + in order that someone can test / play with the interactive + expansion / contraction geometry system of the vis/OpenInventor driver. +- gui.mac : gun pulldown menu. +- exN03Vis[5,10.mac] : rm an unnecessary update and bad comments. + +08-04-04 Guy Barrand (exampleN03-V06-01-00) +- exampleN03.cc : Windows : Have G4UI_USE_WIN32 in order to have + a default Windows GUI coworking with the OpenGL Windows driver. +- exN03Vis9.mac : demo of the OpenGL Windows driver. +- gui.mac : change menu items in order to reflect the used vis driver. + +19-03-04 M.Maire (exampleN03-V06-00-00) +- ExN03PhysicsList: cleanup of include. + +01-12-03 J.Perl (exampleN03-V05-02-08) +- Removed extraneous flushes from visTutor/heprep.mac to match new + endOfRunAction behavior. +- Cleaned up vis.mac. +- Cleaned up vis part of README. + +27-11-03 G.Cosmo (exampleN03-V05-02-07) +- Removed OPACS script from visTutor. renamed scripts 6/7/8/9 to + 5/6/7/8 respectively. Added scripts to gui.mac. + +25-11-03 G.Cosmo (exampleN03-V05-02-06) +- Open the geometry before cleaning stores in ConstructCalorimeter(). + +12-11-03 J.Allison (exampleN03-V05-02-05) +- ExN03EventAction: changed drawing mode from 2000 to 1000. + +06-11-03 J.Allison (exampleN03-V05-02-04) +- ExN03RunAction: removed ApplyCommand("/vis/...") statements. + +06-11-03 J.Allison (exampleN03-V05-02-03) +- ExN03EventAction: + o changed to use G4VVisManager::Draw(const G4VTrajectory&, G4int draw_mode). + o increased drawing mode from 50 to 2000. + +06-11-03 J.Allison (exampleN03-V05-02-02) +- Removed OPACS from ExN03VisManager. + +24-10-03 mma (exampleN03-V05-02-01) +- PhysicsList: AddProcess(Bremsstrahlung,-1,3,3) ..etc.. + +15-09-03 mma (exampleN03-V05-02-00) +- suppresion of sensitive detector and hits. +- DetectorConstruction::DefineMaterials() invoked in constructor. + The UI commands /N03/det work in preInit state as well in Idle. +- suppression of specific code for curvated trajectories. + +10-06-03 mma (exampleN03-V05-01-02) +- mv heprep.mac in visTutor +- back to eventAction.cc 1.17 + +28-05-03 G.Cosmo (exampleN03-V05-01-01) +- Get rid of pedantic warnings ... + +21-05-03 V.Ivant (exampleN03-V05-01-00) +- ExN03DetectorConstruction: properly delete volumes and solids + when geometry setup is updated. + +08-04-03 mma (exampleN03-V05-00-06) +- DefineMaterials: H2O->SetMeanExcitationEnergy(75*eV) + +25-03-03 mma (exampleN03-V05-00-05) +- Use G4PVPlacement and G4PVReplica constructors in logical mother. + +20-02-03 V.Ivant (exampleN03-V05-00-04) +- Migrade to cut per region + +11-02-03 mma (exampleN03-V05-00-03) +- DetectorConstruction : change names of volumes + +30-01-03 mma (exampleN03-V05-00-02) +- save random number seed. In README explain the rndm handling. + commit rndmSeed.mac to show how to save and reset rndm seed + +18-12-02 mma (exampleN03-V05-00-01) +- code for smooth trajectory put in DetectorContruction::SetMagField() + and TrackingAction::PreUserTrackingAction() + +16-12-02 mma (exampleN03-V05-00-00) +- UI directory /N03/ + +19-11-02 jacek +- introducing smooth trajectory display + +25-06-02 ribon (exampleN03-V04-00-02) +- fixed paths to macros in visTutor/gui.mac. + +07-03-02 mma (exampleN03-V04-00-01) +- remove cutForGamma, cutForElectron ..etc.. + +14-02-02 mma (exampleN03-V04-00-00) +- macros for em exercices + +27-11-01 mma (exampleN03-V03-02-07) +- DetectorConstruction: Vacuum is the default material. +- newgeom.mac: a box of 40 cm of water. + +19-11-01 John (exampleN03-V03-02-06) +- Updated ExN03VisManager.cc for new graphics systems and defaults. + +14-11-01 Satoshi Tanaka (exampleN03-V03-02-05) +- exN03Vis8.mac : Batch visualization with the DAWNFILE driver +- exN03Vis9.mac : Multi-page PostScript file generation (old exN03Vis8.mac) + +07-11-01 Satoshi (exampleN03-V03-02-04a) +- /vis/viewer/viewpointThetaPhi ==> /vis/viewer/set/viewpointThetaPhi + +07-11-01 Satoshi (exampleN03-V03-02-04) +- visTutor/exN03VisXX.mac's are rewritten with /vis/viewer/flush. +- Some refinements of command sequences and comments. +- Note that /vis/flushAll's are described but commented out. + +07-11-01 Satoshi (exampleN03-V03-02-03) +- vis.mac: /vis/viewer/refresh + /vis/viewer/update is replaced + with their equivalent command /vis/viewer/flush. + +24-10-01 mma (exampleN03-V03-02-02) +- initInter.mac renamed vis.mac : OpenGL and DAWNFILE opened simultaneously. + +19-10-01 Steve O'Neale (examples-V03-02-00) +- Update reference output + +10-10-01 mma (exampleN03-V03-02-01) +- /vis/scene/endOfEventAction accumulate + /vis/viewer/zoom (in newgeom.mac) +- 80 columns everywhere + +18-09-01 Satoshi Tanaka (exampleN03-V03-02-00) +- Updation for automatic visualization at Hebden Bridge mini-workshop. +- /vis/viewer/flush and /vis/flushAll are not included yet. + (To be included in the next tag.) +- /vis/drawTree may still require /vis/scene/notifyHandlers. + (John Allison will revise the /vis/drawTree command soon.) + +21-06-01 Satoshi Tanaka (exampleN03-V03-00-02) +- visTutor/*.mac updated +- Commands /vis/set/XXX's are replaced with /vis/viewer/set/XXX +- Commands /vis/camera/XXX's are replaced with /vis/viewer/XXX + except for /vis/camera/spin. +- exN03Tree0.mac for ASCII DTREE and exN03Tree1.mac for GAG DTREE + are created. + + +06-02-01 M.Asai (exampleN03-V03-00-01) +- Migration to STL vector classes + affected : ExN03SteppingVerbose.cc + +4th February 2001 Steve O'Neale (tagset254) + +21-11-27, Satoshi Tanake (exampleN03-V02-00-04) +- The macro initInter.mac (by Michel) is revised. + 1) The command "/vis/scene/create" is removed, + since it is already included in "/vis/drawVolume". + 2) /vis/viewer/update is added, since it becomes necessary + when the OpenGL driver is switched to another driver. +- In visTutor/exN03Vis5,6.mac (by Guy) + "/vis/include/trajectories" is renamed into + "/vis/scene/add/trajectories" and also commented out. + (All other "/vis/scene/add/trajectories"'s are already commented out + by Michel, since the C++ method DrawTrajectory() is now described + in the event action. +- Unnecessary "/vis/scene/create" are removed from + visTutor/exN03VisX.mac when it is already included in + "/vis/drawVolume" or "/vis/specify". +- The command /vis/camera/viewpoint is removed from visTutor/exN03Vis0.mac + in order to avoid crushing in reading it in execution of + the G4 executable: $(G4BINDIR)/exampleN03 exN03Vis0.mac . +- Comments updated in visTutor/exN03VisX.mac. + + +25th November 2000 Steve O'Neale (tagset210) +- Update test outputs for min.delta energy cut +- Update test outputs for energy cut table only for e- and gamma +- Update test outputs for new tags in em processes. + Note we skip round work in progress + +21-11-00, mma (exampleN03-V02-00-02) +- introduce G4UItcsh in exampleN03.cc +- put all vis macros in a new subdirectory visTutor +- prerunN03 simplified (compound vis commands) and renamed initInter.mac +- code to control the drawing of tracks reinstalled in eventAction +- bug corrected in PhysicsList::GetCutForProton() +- PrimaryGenerator : default particle e- 50 MeV + +October 19, 2000 Satoshi Tanaka (exampleN03-V02-00-01) +- Updated exN03Vis0-4.mac, incorporating recent development + of vis commands +- Updated format of comments in exN03Vis0-4.mac. +- Created exN03Vis7.mac: demo of the VRMLFILE driver +- Created exN03Vis8.mac: demo of multi-page PS file generation + +June 24, 2000 John Allison (exampleN03-V01-01-09) +- Updated exampleN03.out for stand-V01-01-05 and utils-V01-01-03. + +June 17, 2000 John Allison (exampleN03-V01-01-08) +- Updated exampleN03.out for geant4-01-01-ref-06. + +14 June 2000 John Allison (exampleN03-V01-01-07) +- Added #ifdef G4UI_USE_XM to protect #include "G4UIXm.hh" in exampleN03.cc. +- Limit output in gui.mac (Guy Barrand). + +13 June 2000 Guy Barrand (exampleN03-V01-01-06) +- exampleN03.cc, prerunN03.mac : + put execution of the gui.mac in exampleN03.cc + with an #ifdef G4UI_USE_XM protection and + remove it from preunN03.mac. This will gurantee + no effect of the gui.mac on other G4UI sessions. +- g4Xt.xrm : add a resource to limit contant + of XmText widgets (in particular the one used + to dump G4cout things). +- exaN03Vis5.6.mac : remove commands that are + in fact not supported by Xo and Invnetor + drivers. + +09 June 2000 Satoshi Tanaka (exampleN03-V01-01-05) : +- In prerunN03, + < /vis/scene/include/trajectories + --- + > /vis/scene/add/trajectories +09 June 2000 Guy Barrand (exampleN03-V01-01-04) : +- correct some comments in exN03Vis5,6.mac. +- add gui.mac. +- trigger execution of gui.mac at end of prerunN03.mac. + +09 June 2000 Guy Barrand (exampleN03-V01-01-02) : +- add exN03Vis4,5.mac for a simple example + of OPACS/Xo and Inventor driver. + +09th June 2000 Satoshi Tanaka (exampleN03-V01-01-01) +- exNO3VisX.mac's are updated corresponding to recent + development of the new vis commands: + (1) Compound commands are used wherever possible. + (2) Ordering of commands and comments are rewritten + to improve readability. + (3) exN03Vis4.mac is created to demonstrate + the compound command "/vis/specify". + +05-06-00 M.Maire +- cleanup of ExN03EventAction to limit the amount of output with + exampleN03.large_N.in + +20th May 2000 Satoshi Tanaka +- exNO3VisX.mac's are updated corresponding to development + of the new vis commands. +- The command /vis/add/trajectories is added to exNO3VisX.mac's. + Instead the C++ method "DrawTrajectory()" is removed from + ExN03EventAction::EndOfEventAction(). + +19th May 2000 Satoshi Tanaka +- g4.xrm (Xt resource file for UI) is renamed to g4Xt.xrm + +11th May 2000 Satoshi Tanaka (examples-V01-01-03) +- Comments in examples/novice/N03/exN03VisX.mac 's are + updated for DAWN Version 3.85a +- Small changes to comments in SteppingVerbose. + +25-02-00 H.Kurashige +- removed RhoZeroDefinition from PhysicsList + +10th November 1999 Satoshi Tanaka (examples-V00-01-12) +- novice/N03 is updated +- Vis macros for N03 are updated for the latest updation of vis commands + (Introduction of /vis/viewer/update etc) + +09-11-99 Satoshi Tanaka (examples-V00-01-11) + prerunN03.mac : /vis/viewer/update is appended + src/ExN03RunAction.cc: /vis/scene/notifyHandlers is in BeginOfRunAction() + /vis/viewer/update is in EndOfRunAction() + +14-08-99 Satoshi Tanaka + TAG: examples-V00-01-02 + Visualization tutorial macros are committed. + (exN03Vis0.mac,..., exN03Vis3.mac) + +19-08-99 Michel Maire +- modify ExN03PhysicsList to keep the command setCut compatible + with cutForGamma ..etc .. + +31-05-99 Guy Barrand, Michel Maire +- introduce a command interface based on Motif: G4UIXm + +16th April 1999 H.Kurashige +- modify ExN03SteppingAction::UserSteppingAction +- modify ExN03EventAction +- modify ExN03RunAction::BeginOfRunAction/EndOfRunAction +- Add cutForGamma/cutForElectron/cutForProton in ExN03PhysicsList +- modify ExN03PhysicsList::SetCuts + +10-03-99 Michel Maire +- Choose RaneCu as the default random number generator. +- print the seed event%n + + 9-10-98 John Apostolakis +- This used to be example N02. It is now N03. + +25-02-98 Michel Maire +- add a macro 'newgeom.mac' which gives an example of + interactive redefinition of the geometry + +11-09-98 Michel Maire +- removed the function SetEmProcess() ( contained cin) + and the class ExN02PhysicsListMessenger + +27-08-98 John Allison +- Removed /vis~/camera/zoom 3 - coworks with vis-00-02-05. + +12-08-98 Michel Maire +- Changed all the class name:N02 -> ExN02. + + 9-08-98 John Allison +- Changed G4UIterminal to G4UIGAG. + +20-07-98 Michel Maire +storeTrajectory command move to prerun.mac + +16-07-98 John Allison +- Changed /vis~/Draw... to /vis~/draw. + + 9-07-98 John Allison +- Added G4VIS_USE_DAWNFILE and G4VIS_USE_OPENGLWIN32 to N02VisManager.cc. + +8th July 1998 G.Cosmo +- Protected visualization code with G4VIS_USE. + +6th July 1998 John Allison +- Simplified N02VisManager. + +16th June 1998 Michel Maire +- Added G4_SOLVE_VIS_TEMPLATES to exampleN02.cc + +10th June 1998 John Allison +- Added template instantiation requests to exampleN02.cc for GNU_GCC. + +April 09, 98 G. Cosmo + +- Created. diff --git a/examples/extended/analysis/N03Con/README b/examples/extended/analysis/N03Con/README new file mode 100644 index 0000000000..e033898e9b --- /dev/null +++ b/examples/extended/analysis/N03Con/README @@ -0,0 +1,88 @@ + +Example of Convergence Tester + + Koi, Tatsumi + SLAC / SCCS + tkoi@slac.stanford.eedu + +This example shows how to use convergece tester in Geant4. +The aim of Convergence Tester +After a Monte Carlo simulation, we get an answer. However how to estimate quality of the answer. + What we must remember is + Large number of history does not valid result of simulation. + Small Relative Error does not valid result of simulation +To provide statistical information to assist establishing valid confidence intervals for Monte Carlo results for users. + +Geometry and Physics are same to exampleN03. Please see README.N03 + +*********************************************************************************************************************** +Output example + +// Part I.A +// Basic statistics values + +EFFICIENCY = 0.99438477 +MEAN = 78.477718 +VAR = 225.50178 +SD = 15.016717 +R = 0.0029898448 +SHIFT = -13.902917 +VOV = 0.0019924127 +FOM = 909.19362 + +// Part I.B +// If the largeset scored events happen at next to the last event, +// then how much the event effects the statistics values of the calculation + +THE LARGEST SCORE = 117.3797 and it happend at 510th event +Affected Mean = 78.487213 and its ratio to orignal is 1.000121 +Affected VAR = 225.81611 and its ratio to orignal is 1.0013939 +Affected R = 0.0029912008 and its ratio to orignal is 1.0004535 +Affected SHIFT = -13.862598 and its ratio to orignal is 0.99709995 +Affected FOM = 908.89814 and its ratio to orignal is 0.99967501 + +// Part I.C +// Convergence tests results + +MEAN distribution is not RANDOM +r follows 1/sqrt(N) +r is monotonically decrease 1 +r is less than 0.1. r = 0.0029898448 +VOV follows 1/sqrt(N) +VOV is monotonically decrease 1 +FOM distribution is RANDOM +SLOPE is large enough +This result passes 7 / 8 Convergence Test. + +// Part II +// Profile of statistics values in the history + +i/16 till_ith mean var sd r vov fom shift e r2eff r2int +1 255 76.935633 252.45045 15.888689 0.012907453 0.038596366 787.70557 -17.661167 0.984375 6.2003968e-05 0.00010394759 +2 511 77.389232 257.4632 16.04566 0.0091630923 0.017298474 773.88648 -16.441348 0.98632812 2.707302e-05 5.6725251e-05 +3 767 77.665817 248.62651 15.767895 0.0073259372 0.012144321 826.64625 -16.585523 0.98828125 1.5439723e-05 3.8159751e-05 +4 1023 77.969112 245.54395 15.669842 0.0062804686 0.0086792682 841.98653 -16.027547 0.99023438 9.6307939e-06 2.9774973e-05 +5 1279 78.061919 228.9236 15.130221 0.0054175269 0.0067481801 897.34046 -14.687306 0.9921875 6.1515748e-06 2.3175093e-05 +6 1535 77.870133 231.84589 15.226486 0.004989226 0.0054405699 879.44272 -14.43874 0.99283854 4.6960383e-06 2.0180132e-05 +7 1791 78.045703 224.72573 14.990855 0.004537414 0.0046643478 908.22153 -14.045519 0.99386161 3.446599e-06 1.7130038e-05 +8 2047 78.107287 226.09338 15.036402 0.0042539011 0.0041397452 902.08658 -14.202387 0.99365234 3.1192414e-06 1.4967598e-05 +9 2303 78.129941 222.08125 14.902391 0.0039737195 0.0036662056 916.62223 -13.945849 0.99392361 2.6534449e-06 1.3130148e-05 +10 2559 78.225505 223.59764 14.953181 0.0037780287 0.0032772248 910.22344 -13.934949 0.99414062 2.3023084e-06 1.1965617e-05 +11 2815 78.250797 222.51845 14.917052 0.003592344 0.0029353727 915.19704 -13.768958 0.99431818 2.0292208e-06 1.0871132e-05 +12 3071 78.377339 220.83103 14.860385 0.0034208098 0.002628038 928.36413 -13.3624 0.99479167 1.7042976e-06 9.9938329e-06 +13 3327 78.364284 221.49591 14.882739 0.0032921001 0.0024634602 923.51719 -13.660307 0.99489183 1.5427886e-06 9.2918778e-06 +14 3583 78.464175 220.63749 14.853871 0.0031621629 0.0022668889 928.57248 -13.539324 0.99497768 1.4083908e-06 8.5880937e-06 +15 3839 78.420541 224.71581 14.990524 0.0030847599 0.002080651 911.9934 -13.68267 0.99479167 1.363438e-06 8.1498278e-06 +16 4095 78.477718 225.50178 15.016717 0.0029898448 0.0019924127 909.4893 -13.902917 0.99438477 1.3786483e-06 7.5583414e-06 + + +************************************************************************************************************************** + +Reference of this Convergence tests +MCNP(TM) -A General Monte Carlo N-Particle Transport Code +Version 4B +Judith F. Briesmeister, Editor +LA-12625-M, Issued: March 1997, UC 705 and UC 700 +CHAPTER 2. GEOMETRY, DATA, PHYSICS, AND MATHEMATICS + VI. ESTIMATION OF THE MONTE CARLO PRECISION + diff --git a/examples/extended/analysis/N03Con/README.N03 b/examples/extended/analysis/N03Con/README.N03 new file mode 100644 index 0000000000..0fff38f71e --- /dev/null +++ b/examples/extended/analysis/N03Con/README.N03 @@ -0,0 +1,191 @@ +$Id: README.N03,v 1.1 2007/05/26 00:18:27 tkoi Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + ExampleN03 + ---------- + + This example simulates a simple Sampling Calorimeter setup. + + 1- GEOMETRY DEFINITION + + The calorimeter is a box made of a given number of layers. A layer + consists of an absorber plate and of a detection gap. The layer is + replicated. + + Six parameters define the calorimeter : + - the material of the absorber, + - the thickness of an absorber plate, + - the material of the detection gap, + - the thickness of a gap, + - the number of layers, + - the transverse size of the calorimeter (the input face is a square). + + In addition a transverse uniform magnetic field can be applied. + + The default geometry is constructed in DetectorConstruction class, + but all of the above parameters can be modified interactively via + the commands defined in the DetectorMessenger class. + + + |<----layer 0---------->|<----layer 1---------->|<----layer 2---------->| + | | | | + ========================================================================== + || | || | || | || + || | || | || | || + || absorber | gap || absorber | gap || absorber | gap || + || | || | || | || + || | || | || | || + beam || | || | || | || +======> || | || | || | || + || | || | || | || + || | || | || | || + || | || | || | || + || | || | || | || + || | || | || | || + ========================================================================== + + NB. The thickness of the absorber or of the gap can be set to zero + (but not together), and the number of layers to 1. In this case we + have a unique homogeneous block of matter, which looks like + a bubble chamber rather than a calorimeter ... + (see the macro of commands: newgeom.mac) + + 2- AN EVENT : THE PRIMARY GENERATOR + + The primary kinematic consists of a single particle which hits the + calorimeter perpendicular to the input face. The type of the particle + and its energy are set in the PrimaryGeneratorAction class, and can + be changed via the G4 build-in commands of ParticleGun class (see + the macros provided with this example). + + In addition one can choose randomly the impact point of the incident + particle. The corresponding interactive command is built in + PrimaryGeneratorMessenger class (see run2.mac). + + A RUN is a set of events. + + + 3- VISUALIZATION + + The Visualization Manager is set in the main(). + The initialisation of the drawing is done via a set of /vis/ commands + in the macro vis.mac. This macro is automatically read from + the main in case of interactive running mode. + + By default, vis.mac opens a DAWNFILE, suitable for viewing in DAWN, + and an OGLX for OpenGl. + You can switch to other graphics systems by commenting out this line + and instead uncommenting one of the other /vis/open statements, such as + HepRepFile or HepRepXML. + + The DAWNFILE, HepRepFile and HepRepXML drivers are always available + (since they require no external libraries), but the OGLIX driver + requires: + 1- the visualisation & interfaces categories have been compiled + with the environment variable G4VIS_BUILD_OPENGLX_DRIVER. + 2- exampleN03.cc has been compiled with G4VIS_USE_OPENGLX. + + The HepRepXML driver outputs a zip file that can be unzipped into + several individual HepRep files, each viewable in WIRED. + + For more information on visualization, including information on how to + install and run DAWN, OpenGL and WIRED, see the visualization tutorials + on the Geant4 Workshop Tutorial CD available at: + http://geant4.slac.stanford.edu/g4cd/Welcome.html + + The detector has a default view which is a longitudinal view of the + calorimeter. + + The tracks are drawn at the end of event, and erased at the end of run. + Optionaly one can choose to draw all particles, only the charged, + or neutral or none. This command is build in EventActionMessenger class. + + Additional visualization tutorial macros are available in the visTutor + subdirectory. They can be tried as: + % $G4BINDIR/exampleN03 + idle > /control/execute visTutor/exN03VisX.mac + For details, see comment lines described in the macro files. + These macros are designed to help your understanding the User's Guide. + + + 4- PHYSICS DEMO + + The particle's type and the physic processes which will be available + in this example are set in PhysicsList class. + + In addition the build-in interactive command: + /process/(in)activate processName + allows to activate/inactivate the processes one by one. + Then one can well visualize the processes one by one, especially + in the bubble chamber setup with a transverse magnetic field. + (see run2.mac and newgeom.mac) + + As a homework try to visualize a gamma conversion alone, + or the effect of the multiple scattering. + + 5- RANDOM NUMBERS HANDLING + + CLHEP provides several random number engines. In this example the Ranecu + engine is choosen at beginning of the main (exampleN03.cc). + + By default, G4RunManager does not save the rndm seed. + To do so the user must set in BeginOfRunAction: + G4RunManager::GetRunManager()->SetRandomNumberStore(true); + + Then the rndm seed is systematically saved at beginning of run + (currentRun.rndm) and beginning of event (currentEvent.rndm) + Therefore, in case of abnormal end, the seed of the last event processed + is available in currentEvent.rndm + + Even in case of normal run processing, the user may wish to preserve the + rndm seed of selected events. At any time in the event, put the + following statement: + if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent(); + currentEvent.rndm will be copied to runXXevntYY.rndm + (see ExN03SteppingAction::UserSteppingAction() ) + + To restart a run from a given rndm seed, use the UI command : + /random/resetEngineFrom fileName + + The macro rndmSeed.mac shows how to save and reset the random number + seed between runs, from UI commands. + + 6- USER INTERFACES + + The default command interface, called G4UIterminal, is done via + standart cin/G4cout. + On Linux and Sun-cc on can use a smarter command interface G4UItcsh. + It is enough to set the environment variable G4UI_USE_TCSH + + On can use a Motif driven command interface (called G4UIXm) if: + 1- interfaces category has been compiled with G4UI_BUILD_XM_SESSION + 2- exampleN03.cc has been compiled with G4UI_USE_XM. + + + 7- HOW TO START ? + + - compile and link to generate an executable + % cd N03 + % gmake + + - execute N03 in 'batch' mode from macro files + % exampleN03 run1.mac + + - execute N03 in 'interactive mode' with visualization + % exampleN03 + .... + Idle> ---> type your commands. For instance: + Idle> /run/beamOn + .... + Idle> /run/beamOn 10 + .... + Idle> /control/execute newgeom.mac + .... + Idle> exit + + + diff --git a/examples/extended/analysis/N03Con/exampleN03Con.cc b/examples/extended/analysis/N03Con/exampleN03Con.cc new file mode 100644 index 0000000000..6779168c91 --- /dev/null +++ b/examples/extended/analysis/N03Con/exampleN03Con.cc @@ -0,0 +1,170 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: exampleN03Con.cc,v 1.2 2007/05/26 00:24:09 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4RunManager.hh" +#include "G4UImanager.hh" +#include "G4UIterminal.hh" +#include "G4UItcsh.hh" + +#ifdef G4UI_USE_XM +#include "G4UIXm.hh" +#endif + +#ifdef G4UI_USE_WIN32 +#include "G4UIWin32.hh" +#endif + +#include "Randomize.hh" + +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + +#include "ExN03DetectorConstruction.hh" +#include "ExN03PhysicsList.hh" +#include "ExN03PrimaryGeneratorAction.hh" +#include "ExN03RunAction.hh" +#include "ExN03EventAction.hh" +#include "ExN03SteppingAction.hh" +#include "ExN03SteppingVerbose.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +int main(int argc,char** argv) +{ + // Choose the Random engine + // + CLHEP::HepRandom::setTheEngine(new CLHEP::RanecuEngine); + + // User Verbose output class + // + G4VSteppingVerbose* verbosity = new ExN03SteppingVerbose; + G4VSteppingVerbose::SetInstance(verbosity); + + // Construct the default run manager + // + G4RunManager * runManager = new G4RunManager; + + // Set mandatory initialization classes + // + ExN03DetectorConstruction* detector = new ExN03DetectorConstruction; + runManager->SetUserInitialization(detector); + // + G4VUserPhysicsList* physics = new ExN03PhysicsList; + runManager->SetUserInitialization(physics); + + G4UIsession* session=0; + + if (argc==1) // Define UI session for interactive mode. + { + // G4UIterminal is a (dumb) terminal + // +#if defined(G4UI_USE_XM) + session = new G4UIXm(argc,argv); +#elif defined(G4UI_USE_WIN32) + session = new G4UIWin32(); +#elif defined(G4UI_USE_TCSH) + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif + } + +#ifdef G4VIS_USE + // Visualization manager + // + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + + // Set user action classes + // + G4VUserPrimaryGeneratorAction* gen_action = new ExN03PrimaryGeneratorAction(detector); + runManager->SetUserAction(gen_action); + // + ExN03RunAction* run_action = new ExN03RunAction; + runManager->SetUserAction(run_action); + // + ExN03EventAction* event_action = new ExN03EventAction(run_action); + runManager->SetUserAction(event_action); + // + G4UserSteppingAction* stepping_action = + new ExN03SteppingAction(detector, event_action); + runManager->SetUserAction(stepping_action); + + // Initialize G4 kernel + // + runManager->Initialize(); + + // Get the pointer to the User Interface manager + // + G4UImanager* UI = G4UImanager::GetUIpointer(); + + if (session) // Define UI session for interactive mode + { + // G4UIterminal is a (dumb) terminal + // + // UI->ApplyCommand("/control/execute vis.mac"); +#if defined(G4UI_USE_XM) || defined(G4UI_USE_WIN32) + // Customize the G4UIXm,Win32 menubar with a macro file + // + // UI->ApplyCommand("/control/execute visTutor/gui.mac"); +#endif + session->SessionStart(); + delete session; + } + else // Batch mode + { +#ifdef G4VIS_USE + visManager->SetVerboseLevel("quiet"); +#endif + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UI->ApplyCommand(command+fileName); + } + + // Job termination + // Free the store: user actions, physics_list and detector_description are + // owned and deleted by the run manager, so they should not + // be deleted in the main() program ! + +#ifdef G4VIS_USE + delete visManager; +#endif + delete runManager; + delete verbosity; + + return 0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/N03Con/exampleN03Con.in b/examples/extended/analysis/N03Con/exampleN03Con.in new file mode 100644 index 0000000000..d62c8526e1 --- /dev/null +++ b/examples/extended/analysis/N03Con/exampleN03Con.in @@ -0,0 +1,36 @@ + +/control/verbose 2 +/run/verbose 2 + +# e+ 300MeV +#/gun/particle e+ +#/gun/energy 300 MeV +#/run/beamOn 1 +# +# list the existing physics processes +/process/list +# +# switch off MultipleScattering +#/process/inactivate msc +#/run/beamOn 1 +# +# switch on MultipleScattering +#/process/activate msc +# +# change detector parameter +/N03/det/setAbsMat Aluminium +/N03/det/setGapMat Aerogel +/N03/det/setAbsThick 2. cm +/N03/det/setGapThick 5. cm +/N03/det/setNbOfLayers 30 +/N03/det/setSizeYZ 1.5 m +/N03/det/update +# +/gun/particle gamma +/gun/energy 500 MeV +/N03/event/printModulo 1024 +#/run/beamOn 1024 +/run/beamOn 4096 +#/run/beamOn 16384 +#/run/beamOn 65536 +exit diff --git a/examples/extended/analysis/N03Con/exampleN03Con.out b/examples/extended/analysis/N03Con/exampleN03Con.out new file mode 100644 index 0000000000..cd42fcee20 --- /dev/null +++ b/examples/extended/analysis/N03Con/exampleN03Con.out @@ -0,0 +1,554 @@ + +************************************************************* + Geant4 version Name: geant4-08-03 (5-May-2007) + Copyright : Geant4 Collaboration + Reference : NIM A 506 (2003), 250-303 + WWW : http://cern.ch/geant4 +************************************************************* + + +***** Table : Nb of materials = 13 ***** + + Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm + ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: liquidArgon density: 1.390 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 14.065 cm + ---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm + ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm + ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % + + Material: Scintillator density: 1.032 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 42.549 cm + ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 91.45 % ElmAbundance 47.37 % + ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 8.55 % ElmAbundance 52.63 % + + Material: Mylar density: 1.397 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 28.599 cm + ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 62.49 % ElmAbundance 45.45 % + ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 4.20 % ElmAbundance 36.36 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 33.30 % ElmAbundance 18.18 % + + Material: quartz density: 2.200 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 12.295 cm + ---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 46.75 % ElmAbundance 33.33 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 53.25 % ElmAbundance 66.67 % + + Material: Air density: 1.290 kg/m3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m + ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 % + + Material: Aerogel density: 200.000 kg/m3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.493 m + ---> Element: Silicon (Si) Z = 14.0 N = 28.1 A = 28.09 g/mole ElmMassFraction: 29.22 % ElmAbundance 11.12 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 66.49 % ElmAbundance 44.42 % + ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 4.19 % ElmAbundance 44.37 % + ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 0.10 % ElmAbundance 0.09 % + + Material: CarbonicGas density: 27.000 kg/m3 temperature: 325.00 K pressure: 50.00 atm RadLength: 13.406 m + ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 27.29 % ElmAbundance 33.33 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 72.71 % ElmAbundance 66.67 % + + Material: WaterSteam density: 0.300 mg/cm3 temperature: 500.00 K pressure: 2.00 atm RadLength: 1.203 km + ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % + + Material: Galactic density: 0.000 kg/m3 temperature: 2.73 K pressure: 0.00 atm RadLength: 204727576.737 pc + ---> Element: Galactic ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: Beam density: 0.010 mg/cm3 temperature: 273.15 K pressure: 0.02 atm RadLength: 36.786 km + ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 % + + +Visualization Manager instantiating... +Visualization Manager initialising... +Registering graphics systems... + +You have successfully registered the following graphics systems. +Current available graphics systems are: + ASCIITree (ATree) + DAWNFILE (DAWNFILE) + GAGTree (GAGTree) + G4HepRep (HepRepXML) + G4HepRepFile (HepRepFile) + RayTracer (RayTracer) + VRML1FILE (VRML1FILE) + VRML2FILE (VRML2FILE) + FukuiRenderer (DAWN) + OpenGLImmediateX (OGLIX) + OpenGLStoredX (OGLSX) + VRML1 (VRML1) + VRML2 (VRML2) + +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 + + +------------------------------------------------------------ +---> The calorimeter is 10 layers of: [ 10mm of Lead + 5mm of liquidArgon ] +------------------------------------------------------------ +ExN03PhysicsList::SetCuts:CutLength : 1 mm +/run/verbose 2 +# e+ 300MeV +#/gun/particle e+ +#/gun/energy 300 MeV +#/run/beamOn 1 +# +# list the existing physics processes +/process/list + Transportation, msc, hIoni, eIoni + eBrem, annihil, phot, compt + conv, muIoni, muBrems, muPairProd + Decay +# +# switch off MultipleScattering +#/process/inactivate msc +#/run/beamOn 1 +# +# switch on MultipleScattering +#/process/activate msc +# +# change detector parameter +/N03/det/setAbsMat Aluminium +/N03/det/setGapMat Aerogel +/N03/det/setAbsThick 2. cm +/N03/det/setGapThick 5. cm +/N03/det/setNbOfLayers 30 +/N03/det/setSizeYZ 1.5 m +/N03/det/update + +------------------------------------------------------------ +---> The calorimeter is 30 layers of: [ 20mm of Aluminium + 50mm of Aerogel ] +------------------------------------------------------------ +World is removed from the default region. +World is registered to the default region. +# +/gun/particle gamma +/gun/energy 500 MeV +/N03/event/printModulo 1024 +#/run/beamOn 1024 +/run/beamOn 4096 + +phot: Total cross sections from Sandia parametrisation. + Sampling according PhotoElectric model + +compt: Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV + Sampling according Klein-Nishina model + tables are built for gamma + Lambda tables from 100 eV to 100 GeV in 90 bins. + +conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; + sampling secondary e+e- according Bethe-Heitler model + tables are built for gamma + Lambda tables from 1.022 MeV to 100 GeV in 100 bins. + +msc: Model variant of multiple scattering for e- + Lambda tables from 100 eV to 100 TeV in 120 bins. + LateralDisplacementFlag= 1 Skin= 0 + Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + +eIoni: tables are built for e- + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Delta cross sections and sampling from MollerBhabha model + Good description from 1 KeV to 100 GeV. + Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + +eBrem: tables are built for e- + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Total cross sections and sampling from StandBrem model (based on the EEDL data library) + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + +eIoni: tables are built for e+ + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Delta cross sections and sampling from MollerBhabha model + Good description from 1 KeV to 100 GeV. + Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + +eBrem: tables are built for e+ + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Total cross sections and sampling from StandBrem model (based on the EEDL data library) + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + +annihil: Sampling according eplus2gg model + tables are built for e+ + Lambda tables from 100 eV to 100 TeV in 120 bins. + +msc: Model variant of multiple scattering for proton + Lambda tables from 100 eV to 100 TeV in 120 bins. + LateralDisplacementFlag= 1 Skin= 0 + Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + +hIoni: tables are built for proton + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV + Parametrisation from Bragg for protons below. + Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + +hIoni: tables are built for anti_proton + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV + Parametrisation from Bragg for protons below. + Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + +msc: Model variant of multiple scattering for mu+ + Lambda tables from 100 eV to 100 TeV in 120 bins. + LateralDisplacementFlag= 1 Skin= 0 + Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + +muIoni: tables are built for mu+ + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, + radiative corrections for E > 1 GeV + Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + +muBrems: tables are built for mu+ + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Parametrised model + +muPairProd: tables are built for mu+ + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Parametrised model + +muIoni: tables are built for mu- + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, + radiative corrections for E > 1 GeV + Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + +muBrems: tables are built for mu- + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Parametrised model + +muPairProd: tables are built for mu- + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Parametrised model + +hIoni: tables are built for pi+ + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV + Parametrisation from Bragg for protons below. + Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + +msc: Model variant of multiple scattering for pi- + Lambda tables from 100 eV to 100 TeV in 120 bins. + LateralDisplacementFlag= 1 Skin= 0 + Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + +hIoni: tables are built for pi- + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV + Parametrisation from Bragg for protons below. + Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + +Region -- appears in world volume + Materials : Galactic Aluminium Aerogel + Production cuts : gamma 1 mm e- 1 mm e+ 1 mm + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Galactic + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : Yes recalculation needed : No + Material : Aluminium + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 6.88731 keV e- 596.68 keV e+ 568.011 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : Aerogel + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 1.70631 keV e- 118.951 keV e+ 116.058 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + +Start closing geometry. +G4GeometryManager::ReportVoxelStats -- Voxel Statistics + + Total memory consumed for geometry optimisation: 1 kByte + Total CPU time elapsed for geometry optimisation: 0 seconds + + Voxelisation: top CPU users: + Percent Total CPU System CPU Memory Volume + ------- ---------- ---------- -------- ---------- + 0.00 0.00 0.00 1k Calorimeter + 0.00 0.00 0.00 0k Layer + + Voxelisation: top memory users: + Percent Memory Heads Nodes Pointers Total CPU Volume + ------- -------- ------ ------ -------- ---------- ---------- + 86.94 0k 1 30 30 0.00 Calorimeter + 13.06 0k 1 3 4 0.00 Layer +### Run 0 start. +Start Run processing. + +---> Begin of event: 0 + +--------- Ranecu engine status --------- + Initial seed (index) = 0 + Current couple of seeds = 9876, 54321 +---------------------------------------- +---> End of event: 0 + Absorber: total energy: 283.25731 MeV total track length: 67.769363 cm + Gap: total energy: 68.38224 MeV total track length: 1.8803601 m + +---> Begin of event: 1024 + +--------- Ranecu engine status --------- + Initial seed (index) = 0 + Current couple of seeds = 1416617493, 1758921592 +---------------------------------------- +---> End of event: 1024 + Absorber: total energy: 409.9527 MeV total track length: 96.615784 cm + Gap: total energy: 83.253761 MeV total track length: 2.3460079 m + +---> Begin of event: 2048 + +--------- Ranecu engine status --------- + Initial seed (index) = 0 + Current couple of seeds = 2100749244, 1483535160 +---------------------------------------- +---> End of event: 2048 + Absorber: total energy: 358.55591 MeV total track length: 84.409873 cm + Gap: total energy: 73.33255 MeV total track length: 2.0270683 m + +---> Begin of event: 3072 + +--------- Ranecu engine status --------- + Initial seed (index) = 0 + Current couple of seeds = 91156885, 1490904840 +---------------------------------------- +---> End of event: 3072 + Absorber: total energy: 327.39408 MeV total track length: 78.469165 cm + Gap: total energy: 82.857064 MeV total track length: 2.3756107 m +Run terminated. +Run Summary + Number of events processed : 4096 + User=122.98s Real=125.18s Sys=0.06s + +--------------------End of Run------------------------------ + + mean Energy in Absorber : 367.36474 MeV +- 63.119832 MeV + mean Energy in Gap : 78.477718 MeV +- 15.014884 MeV + + mean trackLength in Absorber : 86.905156 cm +- 14.807223 cm + mean trackLength in Gap : 2.1938518 m +- 42.051723 cm +------------------------------------------------------------ + +EFFICIENCY = 0.99414062 +MEAN = 367.36474 +VAR = 3985.0861 +SD = 63.127539 +R = 0.0026849822 +SHIFT = -93.076864 +VOV = 0.003182594 +FOM = 1127.3814 +THE LARGEST SCORE = 432.17571 and it happend at 2089th event +Affected Mean = 367.38056 and its ratio to orignal is 1.0000431 +Affected VAR = 3985.1385 and its ratio to orignal is 1.0000131 +Affected R = 0.0026845566 and its ratio to orignal is 0.99984146 +Affected SHIFT = -93.06831 and its ratio to orignal is 0.99990809 +Affected FOM = 1127.1981 and its ratio to orignal is 0.99983748 +MEAN distribution is not RANDOM +r follows 1/sqrt(N) +r is monotonically decrease 1 +r is less than 0.1. r = 0.0026849822 +VOV follows 1/sqrt(N) +VOV is monotonically decrease 1 +FOM distribution is RANDOM +SLOPE is large enough +This result passes 7 / 8 Convergence Test. + +i/16 till_ith mean var sd r vov fom shift e r2eff r2int +1 255 363.69563 4842.0051 69.584518 0.01195789 0.056002987 917.77436 -110.35431 0.984375 6.2003968e-05 8.0428606e-05 +2 511 363.58843 4749.7359 68.918328 0.0083770227 0.025419456 925.93819 -102.91971 0.98632812 2.707302e-05 4.2964429e-05 +3 767 364.42855 4544.2168 67.410807 0.0066747733 0.018336314 995.80213 -104.31098 0.98828125 1.5439723e-05 2.9054864e-05 +4 1023 365.10707 4393.1003 66.280467 0.0056730334 0.013420174 1031.9498 -101.03049 0.99023438 9.6307939e-06 2.2521085e-05 +5 1279 366.02106 4083.8816 63.905255 0.0048800639 0.01065566 1105.881 -95.586858 0.9921875 6.1515748e-06 1.7644843e-05 +6 1535 365.9273 4180.3188 64.655385 0.0045083153 0.0086705565 1077.0735 -96.06075 0.99283854 4.6960383e-06 1.5615636e-05 +7 1791 366.45161 4031.9307 63.497486 0.0040932747 0.0074700364 1116.0068 -94.449401 0.99386161 3.446599e-06 1.3298949e-05 +8 2047 366.85003 4019.5466 63.399895 0.0038188711 0.0066935636 1119.3168 -95.675698 0.99365234 3.1192414e-06 1.1457414e-05 +9 2303 367.29667 3935.3014 62.73198 0.0035582034 0.0059453164 1143.2028 -94.30888 0.99392361 2.6534449e-06 1.0001871e-05 +10 2559 367.20252 3939.3158 62.763969 0.0033781954 0.0053236784 1138.4369 -93.986262 0.99375 2.456761e-06 8.9509854e-06 +11 2815 367.18776 3923.8609 62.640729 0.0032147876 0.004764987 1142.7885 -92.933911 0.99396307 2.1568174e-06 8.1743718e-06 +12 3071 367.45252 3874.3851 62.244559 0.0030562548 0.0042984072 1163.0465 -91.357182 0.99446615 1.8114089e-06 7.526244e-06 +13 3327 367.46316 3919.3176 62.604453 0.0029532469 0.0039628182 1147.6026 -92.378714 0.99459135 1.6340344e-06 7.0850122e-06 +14 3583 367.67356 3884.2471 62.323728 0.0028314377 0.0036583059 1158.1645 -91.590867 0.99469866 1.4870517e-06 6.5277511e-06 +15 3839 367.36349 3979.2159 63.081026 0.002771004 0.0033338321 1130.2126 -91.977413 0.99453125 1.4319848e-06 6.2444786e-06 +16 4095 367.36474 3985.0861 63.127539 0.0026849822 0.003182594 1127.748 -93.076864 0.99414062 1.4389428e-06 5.7684267e-06 +EFFICIENCY = 0.99438477 +MEAN = 78.477718 +VAR = 225.50178 +SD = 15.016717 +R = 0.0029898448 +SHIFT = -13.902917 +VOV = 0.0019924127 +FOM = 909.19362 +THE LARGEST SCORE = 117.3797 and it happend at 510th event +Affected Mean = 78.487213 and its ratio to orignal is 1.000121 +Affected VAR = 225.81611 and its ratio to orignal is 1.0013939 +Affected R = 0.0029912008 and its ratio to orignal is 1.0004535 +Affected SHIFT = -13.862598 and its ratio to orignal is 0.99709995 +Affected FOM = 908.89814 and its ratio to orignal is 0.99967501 +MEAN distribution is not RANDOM +r follows 1/sqrt(N) +r is monotonically decrease 1 +r is less than 0.1. r = 0.0029898448 +VOV follows 1/sqrt(N) +VOV is monotonically decrease 1 +FOM distribution is RANDOM +SLOPE is large enough +This result passes 7 / 8 Convergence Test. + +i/16 till_ith mean var sd r vov fom shift e r2eff r2int +1 255 76.935633 252.45045 15.888689 0.012907453 0.038596366 787.70557 -17.661167 0.984375 6.2003968e-05 0.00010394759 +2 511 77.389232 257.4632 16.04566 0.0091630923 0.017298474 773.88648 -16.441348 0.98632812 2.707302e-05 5.6725251e-05 +3 767 77.665817 248.62651 15.767895 0.0073259372 0.012144321 826.64625 -16.585523 0.98828125 1.5439723e-05 3.8159751e-05 +4 1023 77.969112 245.54395 15.669842 0.0062804686 0.0086792682 841.98653 -16.027547 0.99023438 9.6307939e-06 2.9774973e-05 +5 1279 78.061919 228.9236 15.130221 0.0054175269 0.0067481801 897.34046 -14.687306 0.9921875 6.1515748e-06 2.3175093e-05 +6 1535 77.870133 231.84589 15.226486 0.004989226 0.0054405699 879.44272 -14.43874 0.99283854 4.6960383e-06 2.0180132e-05 +7 1791 78.045703 224.72573 14.990855 0.004537414 0.0046643478 908.22153 -14.045519 0.99386161 3.446599e-06 1.7130038e-05 +8 2047 78.107287 226.09338 15.036402 0.0042539011 0.0041397452 902.08658 -14.202387 0.99365234 3.1192414e-06 1.4967598e-05 +9 2303 78.129941 222.08125 14.902391 0.0039737195 0.0036662056 916.62223 -13.945849 0.99392361 2.6534449e-06 1.3130148e-05 +10 2559 78.225505 223.59764 14.953181 0.0037780287 0.0032772248 910.22344 -13.934949 0.99414062 2.3023084e-06 1.1965617e-05 +11 2815 78.250797 222.51845 14.917052 0.003592344 0.0029353727 915.19704 -13.768958 0.99431818 2.0292208e-06 1.0871132e-05 +12 3071 78.377339 220.83103 14.860385 0.0034208098 0.002628038 928.36413 -13.3624 0.99479167 1.7042976e-06 9.9938329e-06 +13 3327 78.364284 221.49591 14.882739 0.0032921001 0.0024634602 923.51719 -13.660307 0.99489183 1.5427886e-06 9.2918778e-06 +14 3583 78.464175 220.63749 14.853871 0.0031621629 0.0022668889 928.57248 -13.539324 0.99497768 1.4083908e-06 8.5880937e-06 +15 3839 78.420541 224.71581 14.990524 0.0030847599 0.002080651 911.9934 -13.68267 0.99479167 1.363438e-06 8.1498278e-06 +16 4095 78.477718 225.50178 15.016717 0.0029898448 0.0019924127 909.4893 -13.902917 0.99438477 1.3786483e-06 7.5583414e-06 +EFFICIENCY = 0.99414062 +MEAN = 869.05156 +VAR = 21930.74 +SD = 148.09031 +R = 0.0026625706 +SHIFT = -219.82454 +VOV = 0.0032422354 +FOM = 1146.4402 +THE LARGEST SCORE = 1027.1443 and it happend at 3814th event +Affected Mean = 869.09015 and its ratio to orignal is 1.0000444 +Affected VAR = 21931.486 and its ratio to orignal is 1.000034 +Affected R = 0.0026621727 and its ratio to orignal is 0.99985057 +Affected SHIFT = -219.79928 and its ratio to orignal is 0.99988512 +Affected FOM = 1146.1608 and its ratio to orignal is 0.99975624 +MEAN distribution is not RANDOM +r follows 1/sqrt(N) +r is monotonically decrease 1 +r is less than 0.1. r = 0.0026625706 +VOV follows 1/sqrt(N) +VOV is monotonically decrease 1 +FOM distribution is RANDOM +SLOPE is large enough +This result passes 7 / 8 Convergence Test. + +i/16 till_ith mean var sd r vov fom shift e r2eff r2int +1 255 861.69435 26843.051 163.83849 0.011883455 0.056992789 929.30787 -261.77551 0.984375 6.2003968e-05 7.8660896e-05 +2 511 860.79291 26203.188 161.87399 0.008310811 0.025999392 940.75075 -244.30029 0.98632812 2.707302e-05 4.1861658e-05 +3 767 862.6567 25165.992 158.63793 0.0066357256 0.018648001 1007.5561 -247.39142 0.98828125 1.5439723e-05 2.8535796e-05 +4 1023 864.30516 24375.56 156.12674 0.0056449516 0.013579709 1042.2426 -239.09024 0.99023438 9.6307939e-06 2.2203565e-05 +5 1279 866.26907 22638.47 150.46086 0.0048547374 0.010784744 1117.4495 -226.02039 0.9921875 6.1515748e-06 1.7398488e-05 +6 1535 865.84122 23148.783 152.14724 0.0044836347 0.0087734476 1088.9638 -226.82282 0.99283854 4.6960383e-06 1.5393854e-05 +7 1791 867.159 22318.346 149.39326 0.0040697081 0.0075531817 1128.9691 -222.78426 0.99386161 3.446599e-06 1.3106683e-05 +8 2047 867.96874 22251.061 149.1679 0.0037975745 0.0067720602 1131.9061 -225.8556 0.99365234 3.1192414e-06 1.1295289e-05 +9 2303 869.08068 21767.979 147.53976 0.0035367774 0.0060219798 1157.0959 -222.63442 0.99392361 2.6534449e-06 9.8499201e-06 +10 2559 868.69511 21767.631 147.53857 0.003356744 0.0054034157 1153.0339 -222.0616 0.99375 2.456761e-06 8.8065678e-06 +11 2815 868.66303 21656.962 147.16305 0.0031925015 0.004844182 1158.7993 -219.6029 0.99396307 2.1568174e-06 8.0316288e-06 +12 3071 869.31174 21362.273 146.15838 0.0030334552 0.0043726635 1180.5953 -215.78394 0.99446615 1.8114089e-06 7.3874459e-06 +13 3327 869.27849 21608.366 146.99784 0.0029313007 0.0040300166 1164.8508 -218.22222 0.99459135 1.6340344e-06 6.9559075e-06 +14 3583 869.75188 21383.902 146.23235 0.0028084332 0.0037266284 1177.2159 -216.34151 0.99469866 1.4870517e-06 6.3980446e-06 +15 3839 869.07806 21900.952 147.9897 0.002747939 0.0033957938 1149.2652 -217.22849 0.99453125 1.4319848e-06 6.1172176e-06 +16 4095 869.05156 21930.74 148.09031 0.0026625706 0.0032422354 1146.8131 -219.82454 0.99414062 1.4389428e-06 5.6486085e-06 +EFFICIENCY = 0.99438477 +MEAN = 2193.8518 +VAR = 176877.92 +SD = 420.56857 +R = 0.0029953636 +SHIFT = -381.00068 +VOV = 0.0019642012 +FOM = 905.84641 +THE LARGEST SCORE = 3342.1446 and it happend at 510th event +Affected Mean = 2194.1321 and its ratio to orignal is 1.0001278 +Affected VAR = 177156.58 and its ratio to orignal is 1.0015754 +Affected R = 0.0029969734 and its ratio to orignal is 1.0005374 +Affected SHIFT = -379.68581 and its ratio to orignal is 0.99654889 +Affected FOM = 905.55202 and its ratio to orignal is 0.99967501 +MEAN distribution is not RANDOM +r follows 1/sqrt(N) +r is monotonically decrease 1 +r is less than 0.1. r = 0.0029953636 +VOV follows 1/sqrt(N) +VOV is monotonically decrease 1 +FOM distribution is RANDOM +SLOPE is large enough +This result passes 7 / 8 Convergence Test. + +i/16 till_ith mean var sd r vov fom shift e r2eff r2int +1 255 2151.5475 198324.33 445.3362 0.012936509 0.037983865 784.17115 -485.5417 0.984375 6.2003968e-05 0.00010469556 +2 511 2163.8396 202042.18 449.49103 0.0091803868 0.017034269 770.97345 -450.67455 0.98632812 2.707302e-05 5.7041873e-05 +3 767 2171.0637 195014.7 441.60469 0.0073397371 0.011969743 823.54072 -455.57391 0.98828125 1.5439723e-05 3.8361872e-05 +4 1023 2179.4431 192970.03 439.28354 0.0062986782 0.0085220689 837.12516 -439.35363 0.99023438 9.6307939e-06 3.000381e-05 +5 1279 2182.0842 179945.56 424.19991 0.0054336802 0.0066285985 892.01315 -402.04808 0.9921875 6.1515748e-06 2.3350239e-05 +6 1535 2177.0042 182127.31 426.76377 0.0050018729 0.0053600627 875.00109 -396.25674 0.99283854 4.6960383e-06 2.0306406e-05 +7 1791 2181.7945 176401.6 420.00191 0.0045474551 0.0045955059 904.21513 -385.65985 0.99386161 3.446599e-06 1.7221209e-05 +8 2047 2183.614 177518.81 421.32981 0.004263648 0.0040792702 897.96688 -389.87024 0.99365234 3.1192414e-06 1.5050577e-05 +9 2303 2184.0604 174066.09 417.21229 0.003979708 0.0036267829 913.86573 -383.82636 0.99392361 2.6534449e-06 1.3177757e-05 +10 2559 2186.6213 175388.85 418.79452 0.0037853622 0.0032378986 906.70004 -383.10592 0.99414062 2.3023084e-06 1.2021061e-05 +11 2815 2187.5558 174760.73 418.04393 0.0036011935 0.0028953572 910.70461 -378.32363 0.99431818 2.0292208e-06 1.0934768e-05 +12 3071 2191.0798 173383.37 416.39329 0.003428743 0.0025916378 924.07314 -367.0535 0.99479167 1.7042976e-06 1.0048154e-05 +13 3327 2190.6932 173982.37 417.11194 0.0033004974 0.0024267277 918.82384 -374.97139 0.99489183 1.5427886e-06 9.3472211e-06 +14 3583 2193.4584 173261.32 416.24671 0.0031698405 0.0022327559 924.07983 -371.21284 0.99497768 1.4083908e-06 8.6366942e-06 +15 3839 2192.2379 176250.34 419.8218 0.0030903786 0.0020511909 908.68019 -374.98467 0.99479167 1.363438e-06 8.1845148e-06 +16 4095 2193.8518 176877.92 420.56857 0.0029953636 0.0019642012 906.14099 -381.00068 0.99438477 1.3786483e-06 7.5913646e-06 +#/run/beamOn 16384 +#/run/beamOn 65536 +UserDetectorConstruction deleted. +UserPhysicsList deleted. +UserRunAction deleted. +UserPrimaryGenerator deleted. +G4 kernel has come to Quit state. +EventManager deleted. +Default detector region deleted. +UImanager deleted. +Units table cleared. +StateManager deleted. +RunManagerKernel is deleted. +RunManager is deleting. diff --git a/examples/extended/analysis/N03Con/exampleN03Con_large_N.in b/examples/extended/analysis/N03Con/exampleN03Con_large_N.in new file mode 100644 index 0000000000..79b0b45ecb --- /dev/null +++ b/examples/extended/analysis/N03Con/exampleN03Con_large_N.in @@ -0,0 +1,36 @@ + +/control/verbose 2 +/run/verbose 2 + +# e+ 300MeV +#/gun/particle e+ +#/gun/energy 300 MeV +#/run/beamOn 1 +# +# list the existing physics processes +/process/list +# +# switch off MultipleScattering +#/process/inactivate msc +#/run/beamOn 1 +# +# switch on MultipleScattering +#/process/activate msc +# +# change detector parameter +/N03/det/setAbsMat Aluminium +/N03/det/setGapMat Aerogel +/N03/det/setAbsThick 2. cm +/N03/det/setGapThick 5. cm +/N03/det/setNbOfLayers 30 +/N03/det/setSizeYZ 1.5 m +/N03/det/update +# +/gun/particle gamma +/gun/energy 500 MeV +/N03/event/printModulo 1024 +#/run/beamOn 1024 +#/run/beamOn 4096 +/run/beamOn 16384 +#/run/beamOn 65536 +exit diff --git a/examples/extended/analysis/N03Con/include/ExN03DetectorConstruction.hh b/examples/extended/analysis/N03Con/include/ExN03DetectorConstruction.hh new file mode 100644 index 0000000000..5b5c9b044c --- /dev/null +++ b/examples/extended/analysis/N03Con/include/ExN03DetectorConstruction.hh @@ -0,0 +1,159 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN03DetectorConstruction.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef ExN03DetectorConstruction_h +#define ExN03DetectorConstruction_h 1 + +#include "G4VUserDetectorConstruction.hh" +#include "globals.hh" + +class G4Box; +class G4LogicalVolume; +class G4VPhysicalVolume; +class G4Material; +class G4UniformMagField; +class ExN03DetectorMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN03DetectorConstruction : public G4VUserDetectorConstruction +{ + public: + + ExN03DetectorConstruction(); + ~ExN03DetectorConstruction(); + + public: + + void SetAbsorberMaterial (G4String); + void SetAbsorberThickness(G4double); + + void SetGapMaterial (G4String); + void SetGapThickness(G4double); + + void SetCalorSizeYZ(G4double); + void SetNbOfLayers (G4int); + + void SetMagField(G4double); + + G4VPhysicalVolume* Construct(); + + void UpdateGeometry(); + + public: + + void PrintCalorParameters(); + + G4double GetWorldSizeX() {return WorldSizeX;}; + G4double GetWorldSizeYZ() {return WorldSizeYZ;}; + + G4double GetCalorThickness() {return CalorThickness;}; + G4double GetCalorSizeYZ() {return CalorSizeYZ;}; + + G4int GetNbOfLayers() {return NbOfLayers;}; + + G4Material* GetAbsorberMaterial() {return AbsorberMaterial;}; + G4double GetAbsorberThickness() {return AbsorberThickness;}; + + G4Material* GetGapMaterial() {return GapMaterial;}; + G4double GetGapThickness() {return GapThickness;}; + + const G4VPhysicalVolume* GetphysiWorld() {return physiWorld;}; + const G4VPhysicalVolume* GetAbsorber() {return physiAbsorber;}; + const G4VPhysicalVolume* GetGap() {return physiGap;}; + + private: + + G4Material* AbsorberMaterial; + G4double AbsorberThickness; + + G4Material* GapMaterial; + G4double GapThickness; + + G4int NbOfLayers; + G4double LayerThickness; + + G4double CalorSizeYZ; + G4double CalorThickness; + + G4Material* defaultMaterial; + G4double WorldSizeYZ; + G4double WorldSizeX; + + G4Box* solidWorld; //pointer to the solid World + G4LogicalVolume* logicWorld; //pointer to the logical World + G4VPhysicalVolume* physiWorld; //pointer to the physical World + + G4Box* solidCalor; //pointer to the solid Calor + G4LogicalVolume* logicCalor; //pointer to the logical Calor + G4VPhysicalVolume* physiCalor; //pointer to the physical Calor + + G4Box* solidLayer; //pointer to the solid Layer + G4LogicalVolume* logicLayer; //pointer to the logical Layer + G4VPhysicalVolume* physiLayer; //pointer to the physical Layer + + G4Box* solidAbsorber; //pointer to the solid Absorber + G4LogicalVolume* logicAbsorber; //pointer to the logical Absorber + G4VPhysicalVolume* physiAbsorber; //pointer to the physical Absorber + + G4Box* solidGap; //pointer to the solid Gap + G4LogicalVolume* logicGap; //pointer to the logical Gap + G4VPhysicalVolume* physiGap; //pointer to the physical Gap + + G4UniformMagField* magField; //pointer to the magnetic field + + ExN03DetectorMessenger* detectorMessenger; //pointer to the Messenger + + private: + + void DefineMaterials(); + void ComputeCalorParameters(); + G4VPhysicalVolume* ConstructCalorimeter(); +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline void ExN03DetectorConstruction::ComputeCalorParameters() +{ + // Compute derived parameters of the calorimeter + LayerThickness = AbsorberThickness + GapThickness; + CalorThickness = NbOfLayers*LayerThickness; + + WorldSizeX = 1.2*CalorThickness; WorldSizeYZ = 1.2*CalorSizeYZ; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/source/processes/electromagnetic/standard/include/G4VhEnergyLoss.icc b/examples/extended/analysis/N03Con/include/ExN03DetectorMessenger.hh similarity index 63% rename from source/processes/electromagnetic/standard/include/G4VhEnergyLoss.icc rename to examples/extended/analysis/N03Con/include/ExN03DetectorMessenger.hh index d316232474..bdbeba1dee 100644 --- a/source/processes/electromagnetic/standard/include/G4VhEnergyLoss.icc +++ b/examples/extended/analysis/N03Con/include/ExN03DetectorMessenger.hh @@ -24,38 +24,53 @@ // ******************************************************************** // // -// $Id: G4VhEnergyLoss.icc,v 1.7 2006/06/29 19:51:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN03DetectorMessenger.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// -// ---------------- G4VhEnergyLoss physics process ----------------------------- -// by Laszlo Urban, 30 May 1997 -// -// ----------------------------------------------------------------------------- -// 22/10/98 cleanup , L.Urban -// 15/01/03 Migrade to cut per region (V.Ivanchenko) -// ----------------------------------------------------------------------------- +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline G4bool G4VhEnergyLoss::IsApplicable(const G4ParticleDefinition& - particle) +#ifndef ExN03DetectorMessenger_h +#define ExN03DetectorMessenger_h 1 + +#include "globals.hh" +#include "G4UImessenger.hh" + +class ExN03DetectorConstruction; +class G4UIdirectory; +class G4UIcmdWithAString; +class G4UIcmdWithAnInteger; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithoutParameter; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN03DetectorMessenger: public G4UImessenger { - return(particle.GetPDGCharge()!= 0.); -} + public: + ExN03DetectorMessenger(ExN03DetectorConstruction* ); + ~ExN03DetectorMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + ExN03DetectorConstruction* ExN03Detector; + + G4UIdirectory* N03Dir; + G4UIdirectory* detDir; + G4UIcmdWithAString* AbsMaterCmd; + G4UIcmdWithAString* GapMaterCmd; + G4UIcmdWithADoubleAndUnit* AbsThickCmd; + G4UIcmdWithADoubleAndUnit* GapThickCmd; + G4UIcmdWithADoubleAndUnit* SizeYZCmd; + G4UIcmdWithAnInteger* NbLayersCmd; + G4UIcmdWithADoubleAndUnit* MagFieldCmd; + G4UIcmdWithoutParameter* UpdateCmd; +}; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline G4double G4VhEnergyLoss::GetContinuousStepLimit(const G4Track& track, - G4double, - G4double currentMinimumStep, - G4double&) -{ - G4double Step = GetConstraints(track.GetDynamicParticle(),track.GetMaterialCutsCouple()); - if ((Step > 0.0)&&(Step < currentMinimumStep)) currentMinimumStep = Step; - return Step; -} +#endif -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/examples/extended/analysis/N03Con/include/ExN03EventAction.hh b/examples/extended/analysis/N03Con/include/ExN03EventAction.hh new file mode 100644 index 0000000000..6cd699e32b --- /dev/null +++ b/examples/extended/analysis/N03Con/include/ExN03EventAction.hh @@ -0,0 +1,76 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN03EventAction.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef ExN03EventAction_h +#define ExN03EventAction_h 1 + +#include "G4UserEventAction.hh" +#include "globals.hh" + +class ExN03RunAction; +class ExN03EventActionMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN03EventAction : public G4UserEventAction +{ + public: + ExN03EventAction(ExN03RunAction*); + ~ExN03EventAction(); + + public: + void BeginOfEventAction(const G4Event*); + void EndOfEventAction(const G4Event*); + + void AddAbs(G4double de, G4double dl) {EnergyAbs += de; TrackLAbs += dl;}; + void AddGap(G4double de, G4double dl) {EnergyGap += de; TrackLGap += dl;}; + + void SetPrintModulo(G4int val) {printModulo = val;}; + + private: + ExN03RunAction* runAct; + + G4double EnergyAbs, EnergyGap; + G4double TrackLAbs, TrackLGap; + + G4int printModulo; + + ExN03EventActionMessenger* eventMessenger; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + diff --git a/source/visualization/Tree/include/G4GAGTreeMessenger.hh b/examples/extended/analysis/N03Con/include/ExN03EventActionMessenger.hh similarity index 65% rename from source/visualization/Tree/include/G4GAGTreeMessenger.hh rename to examples/extended/analysis/N03Con/include/ExN03EventActionMessenger.hh index 4769d840a8..643894fbc4 100644 --- a/source/visualization/Tree/include/G4GAGTreeMessenger.hh +++ b/examples/extended/analysis/N03Con/include/ExN03EventActionMessenger.hh @@ -23,30 +23,41 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// Satoshi Tanaka 31th May 2001 // -// A messenger for G4GAGTree driver. +// $Id: ExN03EventActionMessenger.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef G4GAGTREEMESSENGER_HH -#define G4GAGTREEMESSENGER_HH +#ifndef ExN03EventActionMessenger_h +#define ExN03EventActionMessenger_h 1 +#include "globals.hh" #include "G4UImessenger.hh" -class G4UIcommand; +class ExN03EventAction; +class G4UIdirectory; class G4UIcmdWithAnInteger; -class G4GAGTree; -class G4GAGTreeMessenger: public G4UImessenger { -public: - G4GAGTreeMessenger(G4GAGTree*); - virtual ~G4GAGTreeMessenger(); - G4String GetCurrentValue (G4UIcommand* command); - void SetNewValue (G4UIcommand* command, G4String newValue); -private: - G4GAGTree* fpGAGTree; - G4UIcommand* fpDirectory; - G4UIcmdWithAnInteger* fpCommandVerbose; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN03EventActionMessenger: public G4UImessenger +{ + public: + ExN03EventActionMessenger(ExN03EventAction*); + ~ExN03EventActionMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + ExN03EventAction* eventAction; + G4UIdirectory* eventDir; + G4UIcmdWithAnInteger* PrintCmd; }; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif diff --git a/examples/extended/biasing/B03/include/B03PhysicsList.hh b/examples/extended/analysis/N03Con/include/ExN03PhysicsList.hh similarity index 67% rename from examples/extended/biasing/B03/include/B03PhysicsList.hh rename to examples/extended/analysis/N03Con/include/ExN03PhysicsList.hh index b5e6a9667c..09114f46b3 100644 --- a/examples/extended/biasing/B03/include/B03PhysicsList.hh +++ b/examples/extended/analysis/N03Con/include/ExN03PhysicsList.hh @@ -24,43 +24,52 @@ // ******************************************************************** // // -// $Id: B03PhysicsList.hh,v 1.4 2006/06/29 16:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN03PhysicsList.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // +// -#ifndef B03PhysicsList_h -#define B03PhysicsList_h 1 +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef ExN03PhysicsList_h +#define ExN03PhysicsList_h 1 -#include "globals.hh" #include "G4VUserPhysicsList.hh" +#include "globals.hh" -class B03PhysicsList : public G4VUserPhysicsList +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN03PhysicsList: public G4VUserPhysicsList { public: - B03PhysicsList(); - virtual ~B03PhysicsList(); + ExN03PhysicsList(); + ~ExN03PhysicsList(); protected: // Construct particle and physics - virtual void ConstructParticle(); - virtual void ConstructProcess(); + void ConstructParticle(); + void ConstructProcess(); + + void SetCuts(); + + + protected: + // these methods Construct particles + void ConstructBosons(); + void ConstructLeptons(); + void ConstructMesons(); + void ConstructBaryons(); - virtual void SetCuts(); - protected: // these methods Construct physics processes and register them - virtual void ConstructGeneral(); - virtual void ConstructEM(); - virtual void ConstructHad(); - virtual void ConstructLeptHad(); - - void ConstructAllBosons(); - void ConstructAllLeptons(); - void ConstructAllMesons(); - void ConstructAllBaryons(); - void ConstructAllIons(); - void ConstructAllShortLiveds(); - + void ConstructGeneral(); + void ConstructEM(); }; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif + + + diff --git a/examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorAction.hh b/examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorAction.hh new file mode 100644 index 0000000000..63b0a0e73e --- /dev/null +++ b/examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorAction.hh @@ -0,0 +1,70 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN03PrimaryGeneratorAction.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef ExN03PrimaryGeneratorAction_h +#define ExN03PrimaryGeneratorAction_h 1 + +#include "G4VUserPrimaryGeneratorAction.hh" +#include "globals.hh" + +class G4ParticleGun; +class G4Event; +class ExN03DetectorConstruction; +class ExN03PrimaryGeneratorMessenger; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN03PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +{ + public: + ExN03PrimaryGeneratorAction(ExN03DetectorConstruction*); + ~ExN03PrimaryGeneratorAction(); + + public: + void GeneratePrimaries(G4Event*); + void SetRndmFlag(G4String val) { rndmFlag = val;} + + private: + G4ParticleGun* particleGun; //pointer a to G4 class + ExN03DetectorConstruction* ExN03Detector; //pointer to the geometry + + ExN03PrimaryGeneratorMessenger* gunMessenger; //messenger of this class + G4String rndmFlag; //flag for a rndm impact point +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + + diff --git a/examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorMessenger.hh b/examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorMessenger.hh new file mode 100644 index 0000000000..01b5118d03 --- /dev/null +++ b/examples/extended/analysis/N03Con/include/ExN03PrimaryGeneratorMessenger.hh @@ -0,0 +1,64 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.1 2007/05/26 00:18:27 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef ExN03PrimaryGeneratorMessenger_h +#define ExN03PrimaryGeneratorMessenger_h 1 + +#include "G4UImessenger.hh" +#include "globals.hh" + +class ExN03PrimaryGeneratorAction; +class G4UIdirectory; +class G4UIcmdWithAString; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN03PrimaryGeneratorMessenger: public G4UImessenger +{ + public: + ExN03PrimaryGeneratorMessenger(ExN03PrimaryGeneratorAction*); + ~ExN03PrimaryGeneratorMessenger(); + + void SetNewValue(G4UIcommand*, G4String); + + private: + ExN03PrimaryGeneratorAction* ExN03Action; + G4UIdirectory* gunDir; + G4UIcmdWithAString* RndmCmd; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/examples/extended/analysis/N03Con/include/ExN03RunAction.hh b/examples/extended/analysis/N03Con/include/ExN03RunAction.hh new file mode 100644 index 0000000000..c166d2fefb --- /dev/null +++ b/examples/extended/analysis/N03Con/include/ExN03RunAction.hh @@ -0,0 +1,74 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN03RunAction.hh,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#ifndef ExN03RunAction_h +#define ExN03RunAction_h 1 + +#include "G4ConvergenceTester.hh" +#include "G4UserRunAction.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class G4Run; + +class ExN03RunAction : public G4UserRunAction +{ + public: + ExN03RunAction(); + ~ExN03RunAction(); + + public: + void BeginOfRunAction(const G4Run*); + void EndOfRunAction(const G4Run*); + + void fillPerEvent(G4double, G4double, G4double, G4double); + + private: + G4double sumEAbs, sum2EAbs; + G4double sumEGap, sum2EGap; + + G4double sumLAbs, sum2LAbs; + G4double sumLGap, sum2LGap; + + G4ConvergenceTester* Eabs_tally; + G4ConvergenceTester* Egap_tally; + G4ConvergenceTester* Labs_tally; + G4ConvergenceTester* Lgap_tally; +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#endif + diff --git a/source/physics_lists/builders/include/G4LEADNeutronBuilder.hh b/examples/extended/analysis/N03Con/include/ExN03SteppingAction.hh similarity index 65% rename from source/physics_lists/builders/include/G4LEADNeutronBuilder.hh rename to examples/extended/analysis/N03Con/include/ExN03SteppingAction.hh index 71eacb2e6e..69f6e9bc50 100644 --- a/source/physics_lists/builders/include/G4LEADNeutronBuilder.hh +++ b/examples/extended/analysis/N03Con/include/ExN03SteppingAction.hh @@ -23,42 +23,38 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -#ifndef G4LEADNeutronBuilder_h -#define G4LEADNeutronBuilder_h 1 +// +// $Id: ExN03SteppingAction.hh,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// -#include "globals.hh" +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#include "G4HadronElasticProcess.hh" -#include "G4HadronFissionProcess.hh" -#include "G4HadronCaptureProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4VNeutronBuilder.hh" +#ifndef ExN03SteppingAction_h +#define ExN03SteppingAction_h 1 -#include "G4Mars5GeV.hh" -#include "G4NeutronInelasticCrossSection.hh" +#include "G4UserSteppingAction.hh" -class G4LEADNeutronBuilder : public G4VNeutronBuilder +class ExN03DetectorConstruction; +class ExN03EventAction; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN03SteppingAction : public G4UserSteppingAction { - public: - G4LEADNeutronBuilder(); - virtual ~G4LEADNeutronBuilder(); + public: + ExN03SteppingAction(ExN03DetectorConstruction*, ExN03EventAction*); + ~ExN03SteppingAction(); - public: - virtual void Build(G4HadronElasticProcess * aP); - virtual void Build(G4HadronFissionProcess * aP); - virtual void Build(G4HadronCaptureProcess * aP); - virtual void Build(G4NeutronInelasticProcess * aP); + void UserSteppingAction(const G4Step*); - void SetMinEnergy(G4double aM) {theMin = aM;} - private: - G4NeutronInelasticCrossSection theXSec; - G4Mars5GeV * theModel; - G4double theMin; - + ExN03DetectorConstruction* detector; + ExN03EventAction* eventaction; }; -// 2002 by J.P. Wellisch +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - diff --git a/examples/extended/biasing/B03/include/B03PrimaryGeneratorAction.hh b/examples/extended/analysis/N03Con/include/ExN03SteppingVerbose.hh similarity index 69% rename from examples/extended/biasing/B03/include/B03PrimaryGeneratorAction.hh rename to examples/extended/analysis/N03Con/include/ExN03SteppingVerbose.hh index 8341fe03de..63a266e52a 100644 --- a/examples/extended/biasing/B03/include/B03PrimaryGeneratorAction.hh +++ b/examples/extended/analysis/N03Con/include/ExN03SteppingVerbose.hh @@ -24,29 +24,34 @@ // ******************************************************************** // // -// $Id: B03PrimaryGeneratorAction.hh,v 1.4 2006/06/29 16:35:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN03SteppingVerbose.hh,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -#ifndef B03PrimaryGeneratorAction_hh -#define B03PrimaryGeneratorAction_hh B03PrimaryGeneratorAction_hh +class ExN03SteppingVerbose; -#include "G4VUserPrimaryGeneratorAction.hh" +#ifndef ExN03SteppingVerbose_h +#define ExN03SteppingVerbose_h 1 -class G4ParticleGun; -class G4Event; +#include "G4SteppingVerbose.hh" -class B03PrimaryGeneratorAction : public G4VUserPrimaryGeneratorAction +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +class ExN03SteppingVerbose : public G4SteppingVerbose { - public: - B03PrimaryGeneratorAction(); - ~B03PrimaryGeneratorAction(); + public: - public: - void GeneratePrimaries(G4Event* anEvent); + ExN03SteppingVerbose(); + ~ExN03SteppingVerbose(); + + void StepInfo(); + void TrackingStarted(); - private: - G4ParticleGun* particleGun; }; +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif diff --git a/examples/extended/analysis/N03Con/include/G4ConvergenceTester.hh b/examples/extended/analysis/N03Con/include/G4ConvergenceTester.hh new file mode 100644 index 0000000000..ec4eea6419 --- /dev/null +++ b/examples/extended/analysis/N03Con/include/G4ConvergenceTester.hh @@ -0,0 +1,150 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// Convergence Tests for Monte Carlo resut. +// +// Reference +// MCNP(TM) -A General Monte Carlo N-Particle Transport Code +// Version 4B +// Judith F. Briesmeister, Editor +// LA-12625-M, Issued: March 1997, UC 705 and UC 700 +// CHAPTER 2. GEOMETRY, DATA, PHYSICS, AND MATHEMATICS +// VI. ESTIMATION OF THE MONTE CARLO PRECISION +// +// Positives numbers are assumed for input values +// +// Koi, Tatsumi (SLAC/SCCS) +// + +#ifndef G4ConvergenceTester +#define G4ConvergenceTester_h 1 + +#include "G4SimplexDownhill.hh" + +#include "G4Timer.hh" +#include "globals.hh" + +#include +#include + +class G4ConvergenceTester +{ + + public: + G4ConvergenceTester(); + ~G4ConvergenceTester(); + G4ConvergenceTester( G4double ); + + public: + void AddScore( G4double ); + + void ShowHistory(); + void ShowResult(); + + G4double GetValueOfMinimizingFunction( std::vector< G4double > x ){ return slope_fitting_function( x ); }; + + private: + void calStat(); + + G4double GetMean() { return mean; }; + G4double GetStandardDeviation() { return sd; }; + G4double GetVariance() { return var; }; + G4double GetR() { return r; }; + G4double GetEfficiency() { return efficiency; }; + G4double GetR2eff() { return r2eff; }; + G4double GetR2int() { return r2int; }; + G4double GetShift() { return shift; }; + G4double GetVOV() { return vov; }; + G4double GetFOM() { return fom; }; + + std::map< G4int , G4double > nonzero_histories; // (ith-history , score value) + G4int n; // number of history; + G4double sum; // sum of scores; + + G4Timer* timer; + std::vector cpu_time; + + private: + + G4double mean; + G4double var; + G4double sd; + G4double r; // relative err sd/mean/sqrt(n) + G4double efficiency; // rate of non zero score + G4double r2eff; + G4double r2int; + G4double shift; + G4double vov; + G4double fom; + + G4double largest; + G4int largest_score_happened; + + + G4double mean_1; + G4double var_1; + G4double sd_1; + G4double r_1; // relative err sd/mean/sqrt(n) + G4double shift_1; + G4double vov_1; + G4double fom_1; + + + void calc_grid_point_of_history(); + void calc_stat_history(); + G4int noBinOfHistory; + std::vector< G4int > history_grid; + std::vector< G4double > mean_history; + std::vector< G4double > var_history; + std::vector< G4double > sd_history; + std::vector< G4double > r_history; + std::vector< G4double > vov_history; + std::vector< G4double > fom_history; + std::vector< G4double > shift_history; + std::vector< G4double > e_history; + std::vector< G4double > r2eff_history; + std::vector< G4double > r2int_history; + + void check_stat_history(); + + G4double calc_Pearson_r( G4int , std::vector , std::vector ); + G4bool is_monotonically_decrease( std::vector ); + + G4double slope; + std::vector< G4double > largest_scores; + void calc_slope_fit( std::vector< G4double > ); + std::vector< G4double > f_xi; + std::vector< G4double > f_yi; + G4int noBinOfPDF; + G4SimplexDownhill* minimizer; + G4double slope_fitting_function( std::vector< G4double > ); + + G4int noPass; + G4int noTotal; // Total number of tests + +}; +#endif + diff --git a/examples/extended/analysis/N03Con/src/ExN03DetectorConstruction.cc b/examples/extended/analysis/N03Con/src/ExN03DetectorConstruction.cc new file mode 100644 index 0000000000..a28b6b22bd --- /dev/null +++ b/examples/extended/analysis/N03Con/src/ExN03DetectorConstruction.cc @@ -0,0 +1,473 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN03DetectorConstruction.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "ExN03DetectorConstruction.hh" +#include "ExN03DetectorMessenger.hh" + +#include "G4Material.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" +#include "G4UniformMagField.hh" + +#include "G4GeometryManager.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4LogicalVolumeStore.hh" +#include "G4SolidStore.hh" + +#include "G4VisAttributes.hh" +#include "G4Colour.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03DetectorConstruction::ExN03DetectorConstruction() +:AbsorberMaterial(0),GapMaterial(0),defaultMaterial(0), + solidWorld(0),logicWorld(0),physiWorld(0), + solidCalor(0),logicCalor(0),physiCalor(0), + solidLayer(0),logicLayer(0),physiLayer(0), + solidAbsorber(0),logicAbsorber(0),physiAbsorber(0), + solidGap (0),logicGap (0),physiGap (0), + magField(0) +{ + // default parameter values of the calorimeter + AbsorberThickness = 10.*mm; + GapThickness = 5.*mm; + NbOfLayers = 10; + CalorSizeYZ = 10.*cm; + ComputeCalorParameters(); + + // materials + DefineMaterials(); + SetAbsorberMaterial("Lead"); + SetGapMaterial("liquidArgon"); + + // create commands for interactive definition of the calorimeter + detectorMessenger = new ExN03DetectorMessenger(this); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03DetectorConstruction::~ExN03DetectorConstruction() +{ delete detectorMessenger;} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4VPhysicalVolume* ExN03DetectorConstruction::Construct() +{ + return ConstructCalorimeter(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03DetectorConstruction::DefineMaterials() +{ + //This function illustrates the possible ways to define materials + +G4String symbol; //a=mass of a mole; +G4double a, z, density; //z=mean number of protons; +G4int iz, n; //iz=number of protons in an isotope; + // n=number of nucleons in an isotope; + +G4int ncomponents, natoms; +G4double abundance, fractionmass; + +// +// define Elements +// + +G4Element* H = new G4Element("Hydrogen",symbol="H" , z= 1., a= 1.01*g/mole); +G4Element* C = new G4Element("Carbon" ,symbol="C" , z= 6., a= 12.01*g/mole); +G4Element* N = new G4Element("Nitrogen",symbol="N" , z= 7., a= 14.01*g/mole); +G4Element* O = new G4Element("Oxygen" ,symbol="O" , z= 8., a= 16.00*g/mole); +G4Element* Si = new G4Element("Silicon",symbol="Si" , z= 14., a= 28.09*g/mole); + +// +// define an Element from isotopes, by relative abundance +// + +G4Isotope* U5 = new G4Isotope("U235", iz=92, n=235, a=235.01*g/mole); +G4Isotope* U8 = new G4Isotope("U238", iz=92, n=238, a=238.03*g/mole); + +G4Element* U = new G4Element("enriched Uranium",symbol="U",ncomponents=2); +U->AddIsotope(U5, abundance= 90.*perCent); +U->AddIsotope(U8, abundance= 10.*perCent); + +// +// define simple materials +// + +new G4Material("Aluminium", z=13., a=26.98*g/mole, density=2.700*g/cm3); +new G4Material("liquidArgon", z=18., a= 39.95*g/mole, density= 1.390*g/cm3); +new G4Material("Lead" , z=82., a= 207.19*g/mole, density= 11.35*g/cm3); + +// +// define a material from elements. case 1: chemical molecule +// + +G4Material* H2O = +new G4Material("Water", density= 1.000*g/cm3, ncomponents=2); +H2O->AddElement(H, natoms=2); +H2O->AddElement(O, natoms=1); +// overwrite computed meanExcitationEnergy with ICRU recommended value +H2O->GetIonisation()->SetMeanExcitationEnergy(75.0*eV); + +G4Material* Sci = +new G4Material("Scintillator", density= 1.032*g/cm3, ncomponents=2); +Sci->AddElement(C, natoms=9); +Sci->AddElement(H, natoms=10); + +G4Material* Myl = +new G4Material("Mylar", density= 1.397*g/cm3, ncomponents=3); +Myl->AddElement(C, natoms=10); +Myl->AddElement(H, natoms= 8); +Myl->AddElement(O, natoms= 4); + +G4Material* SiO2 = +new G4Material("quartz",density= 2.200*g/cm3, ncomponents=2); +SiO2->AddElement(Si, natoms=1); +SiO2->AddElement(O , natoms=2); + +// +// define a material from elements. case 2: mixture by fractional mass +// + +G4Material* Air = +new G4Material("Air" , density= 1.290*mg/cm3, ncomponents=2); +Air->AddElement(N, fractionmass=0.7); +Air->AddElement(O, fractionmass=0.3); + +// +// define a material from elements and/or others materials (mixture of mixtures) +// + +G4Material* Aerog = +new G4Material("Aerogel", density= 0.200*g/cm3, ncomponents=3); +Aerog->AddMaterial(SiO2, fractionmass=62.5*perCent); +Aerog->AddMaterial(H2O , fractionmass=37.4*perCent); +Aerog->AddElement (C , fractionmass= 0.1*perCent); + +// +// examples of gas in non STP conditions +// + +G4Material* CO2 = +new G4Material("CarbonicGas", density= 27.*mg/cm3, ncomponents=2, + kStateGas, 325.*kelvin, 50.*atmosphere); +CO2->AddElement(C, natoms=1); +CO2->AddElement(O, natoms=2); + +G4Material* steam = +new G4Material("WaterSteam", density= 0.3*mg/cm3, ncomponents=1, + kStateGas, 500.*kelvin, 2.*atmosphere); +steam->AddMaterial(H2O, fractionmass=1.); + +// +// examples of vacuum +// + +G4Material* Vacuum = +new G4Material("Galactic", z=1., a=1.01*g/mole,density= universe_mean_density, + kStateGas, 2.73*kelvin, 3.e-18*pascal); + +G4Material* beam = +new G4Material("Beam", density= 1.e-5*g/cm3, ncomponents=1, + kStateGas, STP_Temperature, 2.e-2*bar); +beam->AddMaterial(Air, fractionmass=1.); + +G4cout << *(G4Material::GetMaterialTable()) << G4endl; + +//default materials of the World +defaultMaterial = Vacuum; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +G4VPhysicalVolume* ExN03DetectorConstruction::ConstructCalorimeter() +{ + + // Clean old geometry, if any + // + G4GeometryManager::GetInstance()->OpenGeometry(); + G4PhysicalVolumeStore::GetInstance()->Clean(); + G4LogicalVolumeStore::GetInstance()->Clean(); + G4SolidStore::GetInstance()->Clean(); + + // complete the Calor parameters definition + ComputeCalorParameters(); + + // + // World + // + solidWorld = new G4Box("World", //its name + WorldSizeX/2,WorldSizeYZ/2,WorldSizeYZ/2); //its size + + logicWorld = new G4LogicalVolume(solidWorld, //its solid + defaultMaterial, //its material + "World"); //its name + + physiWorld = new G4PVPlacement(0, //no rotation + G4ThreeVector(), //at (0,0,0) + logicWorld, //its logical volume + "World", //its name + 0, //its mother volume + false, //no boolean operation + 0); //copy number + + // + // Calorimeter + // + solidCalor=0; logicCalor=0; physiCalor=0; + solidLayer=0; logicLayer=0; physiLayer=0; + + if (CalorThickness > 0.) + { solidCalor = new G4Box("Calorimeter", //its name + CalorThickness/2,CalorSizeYZ/2,CalorSizeYZ/2);//size + + logicCalor = new G4LogicalVolume(solidCalor, //its solid + defaultMaterial, //its material + "Calorimeter"); //its name + + physiCalor = new G4PVPlacement(0, //no rotation + G4ThreeVector(), //at (0,0,0) + logicCalor, //its logical volume + "Calorimeter", //its name + logicWorld, //its mother volume + false, //no boolean operation + 0); //copy number + + // + // Layer + // + solidLayer = new G4Box("Layer", //its name + LayerThickness/2,CalorSizeYZ/2,CalorSizeYZ/2); //size + + logicLayer = new G4LogicalVolume(solidLayer, //its solid + defaultMaterial, //its material + "Layer"); //its name + if (NbOfLayers > 1) + physiLayer = new G4PVReplica("Layer", //its name + logicLayer, //its logical volume + logicCalor, //its mother + kXAxis, //axis of replication + NbOfLayers, //number of replica + LayerThickness); //witdth of replica + else + physiLayer = new G4PVPlacement(0, //no rotation + G4ThreeVector(), //at (0,0,0) + logicLayer, //its logical volume + "Layer", //its name + logicCalor, //its mother volume + false, //no boolean operation + 0); //copy number + } + + // + // Absorber + // + solidAbsorber=0; logicAbsorber=0; physiAbsorber=0; + + if (AbsorberThickness > 0.) + { solidAbsorber = new G4Box("Absorber", //its name + AbsorberThickness/2,CalorSizeYZ/2,CalorSizeYZ/2); + + logicAbsorber = new G4LogicalVolume(solidAbsorber, //its solid + AbsorberMaterial, //its material + AbsorberMaterial->GetName()); //name + + physiAbsorber = new G4PVPlacement(0, //no rotation + G4ThreeVector(-GapThickness/2,0.,0.), //its position + logicAbsorber, //its logical volume + AbsorberMaterial->GetName(), //its name + logicLayer, //its mother + false, //no boulean operat + 0); //copy number + + } + + // + // Gap + // + solidGap=0; logicGap=0; physiGap=0; + + if (GapThickness > 0.) + { solidGap = new G4Box("Gap", + GapThickness/2,CalorSizeYZ/2,CalorSizeYZ/2); + + logicGap = new G4LogicalVolume(solidGap, + GapMaterial, + GapMaterial->GetName()); + + physiGap = new G4PVPlacement(0, //no rotation + G4ThreeVector(AbsorberThickness/2,0.,0.), //its position + logicGap, //its logical volume + GapMaterial->GetName(), //its name + logicLayer, //its mother + false, //no boulean operat + 0); //copy number + } + + PrintCalorParameters(); + + // + // Visualization attributes + // + logicWorld->SetVisAttributes (G4VisAttributes::Invisible); + + G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,1.0)); + simpleBoxVisAtt->SetVisibility(true); + logicCalor->SetVisAttributes(simpleBoxVisAtt); + + /* + // Below are vis attributes that permits someone to test / play + // with the interactive expansion / contraction geometry system of the + // vis/OpenInventor driver : + {G4VisAttributes* simpleBoxVisAtt= new G4VisAttributes(G4Colour(1.0,1.0,0.0)); + simpleBoxVisAtt->SetVisibility(true); + delete logicCalor->GetVisAttributes(); + logicCalor->SetVisAttributes(simpleBoxVisAtt);} + + {G4VisAttributes* atb= new G4VisAttributes(G4Colour(1.0,0.0,0.0)); + logicLayer->SetVisAttributes(atb);} + + {G4VisAttributes* atb= new G4VisAttributes(G4Colour(0.0,1.0,0.0)); + atb->SetForceSolid(true); + logicAbsorber->SetVisAttributes(atb);} + + {//Set opacity = 0.2 then transparency = 1 - 0.2 = 0.8 + G4VisAttributes* atb= new G4VisAttributes(G4Colour(0.0,0.0,1.0,0.2)); + atb->SetForceSolid(true); + logicGap->SetVisAttributes(atb);} + */ + + // + //always return the physical World + // + return physiWorld; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03DetectorConstruction::PrintCalorParameters() +{ + G4cout << "\n------------------------------------------------------------" + << "\n---> The calorimeter is " << NbOfLayers << " layers of: [ " + << AbsorberThickness/mm << "mm of " << AbsorberMaterial->GetName() + << " + " + << GapThickness/mm << "mm of " << GapMaterial->GetName() << " ] " + << "\n------------------------------------------------------------\n"; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03DetectorConstruction::SetAbsorberMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) AbsorberMaterial = pttoMaterial; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03DetectorConstruction::SetGapMaterial(G4String materialChoice) +{ + // search the material by its name + G4Material* pttoMaterial = G4Material::GetMaterial(materialChoice); + if (pttoMaterial) GapMaterial = pttoMaterial; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03DetectorConstruction::SetAbsorberThickness(G4double val) +{ + // change Absorber thickness and recompute the calorimeter parameters + AbsorberThickness = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03DetectorConstruction::SetGapThickness(G4double val) +{ + // change Gap thickness and recompute the calorimeter parameters + GapThickness = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03DetectorConstruction::SetCalorSizeYZ(G4double val) +{ + // change the transverse size and recompute the calorimeter parameters + CalorSizeYZ = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03DetectorConstruction::SetNbOfLayers(G4int val) +{ + NbOfLayers = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4FieldManager.hh" +#include "G4TransportationManager.hh" + +void ExN03DetectorConstruction::SetMagField(G4double fieldValue) +{ + //apply a global uniform magnetic field along Z axis + G4FieldManager* fieldMgr + = G4TransportationManager::GetTransportationManager()->GetFieldManager(); + + if(magField) delete magField; //delete the existing magn field + + if(fieldValue!=0.) // create a new one if non nul + { magField = new G4UniformMagField(G4ThreeVector(0.,0.,fieldValue)); + fieldMgr->SetDetectorField(magField); + fieldMgr->CreateChordFinder(magField); + } else { + magField = 0; + fieldMgr->SetDetectorField(magField); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4RunManager.hh" + +void ExN03DetectorConstruction::UpdateGeometry() +{ + G4RunManager::GetRunManager()->DefineWorldVolume(ConstructCalorimeter()); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/N03Con/src/ExN03DetectorMessenger.cc b/examples/extended/analysis/N03Con/src/ExN03DetectorMessenger.cc new file mode 100644 index 0000000000..6cd260bf72 --- /dev/null +++ b/examples/extended/analysis/N03Con/src/ExN03DetectorMessenger.cc @@ -0,0 +1,150 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN03DetectorMessenger.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "ExN03DetectorMessenger.hh" + +#include "ExN03DetectorConstruction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithoutParameter.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03DetectorMessenger::ExN03DetectorMessenger( + ExN03DetectorConstruction* ExN03Det) +:ExN03Detector(ExN03Det) +{ + N03Dir = new G4UIdirectory("/N03/"); + N03Dir->SetGuidance("UI commands of this example"); + + detDir = new G4UIdirectory("/N03/det/"); + detDir->SetGuidance("detector control"); + + AbsMaterCmd = new G4UIcmdWithAString("/N03/det/setAbsMat",this); + AbsMaterCmd->SetGuidance("Select Material of the Absorber."); + AbsMaterCmd->SetParameterName("choice",false); + AbsMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + GapMaterCmd = new G4UIcmdWithAString("/N03/det/setGapMat",this); + GapMaterCmd->SetGuidance("Select Material of the Gap."); + GapMaterCmd->SetParameterName("choice",false); + GapMaterCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + AbsThickCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setAbsThick",this); + AbsThickCmd->SetGuidance("Set Thickness of the Absorber"); + AbsThickCmd->SetParameterName("Size",false); + AbsThickCmd->SetRange("Size>=0."); + AbsThickCmd->SetUnitCategory("Length"); + AbsThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + GapThickCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setGapThick",this); + GapThickCmd->SetGuidance("Set Thickness of the Gap"); + GapThickCmd->SetParameterName("Size",false); + GapThickCmd->SetRange("Size>=0."); + GapThickCmd->SetUnitCategory("Length"); + GapThickCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + SizeYZCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setSizeYZ",this); + SizeYZCmd->SetGuidance("Set tranverse size of the calorimeter"); + SizeYZCmd->SetParameterName("Size",false); + SizeYZCmd->SetRange("Size>0."); + SizeYZCmd->SetUnitCategory("Length"); + SizeYZCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + NbLayersCmd = new G4UIcmdWithAnInteger("/N03/det/setNbOfLayers",this); + NbLayersCmd->SetGuidance("Set number of layers."); + NbLayersCmd->SetParameterName("NbLayers",false); + NbLayersCmd->SetRange("NbLayers>0 && NbLayers<500"); + NbLayersCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + UpdateCmd = new G4UIcmdWithoutParameter("/N03/det/update",this); + UpdateCmd->SetGuidance("Update calorimeter geometry."); + UpdateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); + UpdateCmd->SetGuidance("if you changed geometrical value(s)."); + UpdateCmd->AvailableForStates(G4State_Idle); + + MagFieldCmd = new G4UIcmdWithADoubleAndUnit("/N03/det/setField",this); + MagFieldCmd->SetGuidance("Define magnetic field."); + MagFieldCmd->SetGuidance("Magnetic field will be in Z direction."); + MagFieldCmd->SetParameterName("Bz",false); + MagFieldCmd->SetUnitCategory("Magnetic flux density"); + MagFieldCmd->AvailableForStates(G4State_PreInit,G4State_Idle); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03DetectorMessenger::~ExN03DetectorMessenger() +{ + delete NbLayersCmd; + delete AbsMaterCmd; delete GapMaterCmd; + delete AbsThickCmd; delete GapThickCmd; + delete SizeYZCmd; delete UpdateCmd; + delete MagFieldCmd; + delete detDir; + delete N03Dir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03DetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + if( command == AbsMaterCmd ) + { ExN03Detector->SetAbsorberMaterial(newValue);} + + if( command == GapMaterCmd ) + { ExN03Detector->SetGapMaterial(newValue);} + + if( command == AbsThickCmd ) + { ExN03Detector->SetAbsorberThickness(AbsThickCmd + ->GetNewDoubleValue(newValue));} + + if( command == GapThickCmd ) + { ExN03Detector->SetGapThickness(GapThickCmd->GetNewDoubleValue(newValue));} + + if( command == SizeYZCmd ) + { ExN03Detector->SetCalorSizeYZ(SizeYZCmd->GetNewDoubleValue(newValue));} + + if( command == NbLayersCmd ) + { ExN03Detector->SetNbOfLayers(NbLayersCmd->GetNewIntValue(newValue));} + + if( command == UpdateCmd ) + { ExN03Detector->UpdateGeometry(); } + + if( command == MagFieldCmd ) + { ExN03Detector->SetMagField(MagFieldCmd->GetNewDoubleValue(newValue));} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/include/G4hIonisation52.icc b/examples/extended/analysis/N03Con/src/ExN03EventAction.cc similarity index 51% rename from source/processes/electromagnetic/standard/include/G4hIonisation52.icc rename to examples/extended/analysis/N03Con/src/ExN03EventAction.cc index 1f330e9dea..ee0136a03f 100644 --- a/source/processes/electromagnetic/standard/include/G4hIonisation52.icc +++ b/examples/extended/analysis/N03Con/src/ExN03EventAction.cc @@ -24,64 +24,85 @@ // ******************************************************************** // // -// $Id: G4hIonisation52.icc,v 1.2 2006/06/29 19:52:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN03EventAction.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // -//------------------ G4hIonisation52 physics process ----------------------------- -// by Laszlo Urban, 30 May 1997 -//------------------------------------------------------------------------------ -// -// 24/09/97: corrected by L.Urban -// 20/11/97: correction on MeanFreePath for KineticEnergy > HighestLimit -// 14-08-01: 'cleanup' of GetMeanFreePath (mma) -// 09-04-02: e+- are not applicable (V.Ivanchenko) -// 15-01-03: Migrade to cut per region (V.Ivanchenko) -// 16-06-03: ShortLived are not applicable any more (V.Ivanchenko) -// 08-08-03: This class is frozen at the release 5.2 (V.Ivanchenko) -// -//------------------------------------------------------------------------------ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline G4bool G4hIonisation52::IsApplicable( - const G4ParticleDefinition& particle) +#include "ExN03EventAction.hh" + +#include "ExN03RunAction.hh" +#include "ExN03EventActionMessenger.hh" + +#include "G4Event.hh" +#include "G4TrajectoryContainer.hh" +#include "G4VTrajectory.hh" +#include "G4VVisManager.hh" +#include "G4UnitsTable.hh" + +#include "Randomize.hh" +#include + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03EventAction::ExN03EventAction(ExN03RunAction* run) +:runAct(run),printModulo(1),eventMessenger(0) { - return(particle.GetPDGCharge() != 0. && - particle.GetPDGMass() > 10.*MeV && - !particle.IsShortLived()); + eventMessenger = new ExN03EventActionMessenger(this); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline G4double G4hIonisation52::GetMeanFreePath(const G4Track& track, G4double, - G4ForceCondition*) +ExN03EventAction::~ExN03EventAction() { - const G4DynamicParticle* dynParticle = track.GetDynamicParticle(); - G4double kinEnergy = (dynParticle->GetKineticEnergy())*initialMass/(dynParticle->GetMass()); - G4double q = dynParticle->GetCharge()/eplus; - G4double currentChargeSquare = q*q; - const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); - - G4double MeanFreePath; - G4bool isOut; - - if(kinEnergy > UpperBoundLambda) kinEnergy = UpperBoundLambda; - if(kinEnergy > LowerBoundLambda) - MeanFreePath = (((*theMeanFreePathTable)(couple->GetIndex()))-> - GetValue(kinEnergy, isOut))/currentChargeSquare; - else MeanFreePath = DBL_MAX; - - return MeanFreePath; + delete eventMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline G4double G4hIonisation52::SecondaryEnergyThreshold(size_t index) -{ - return std::max((*secondaryEnergyCuts)[index],Tmincut); +void ExN03EventAction::BeginOfEventAction(const G4Event* evt) +{ + G4int evtNb = evt->GetEventID(); + if (evtNb%printModulo == 0) { + G4cout << "\n---> Begin of event: " << evtNb << G4endl; + CLHEP::HepRandom::showEngineStatus(); + } + + // initialisation per event + EnergyAbs = EnergyGap = 0.; + TrackLAbs = TrackLGap = 0.; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +void ExN03EventAction::EndOfEventAction(const G4Event* evt) +{ + //accumulates statistic + // + runAct->fillPerEvent(EnergyAbs, EnergyGap, TrackLAbs, TrackLGap); + + //print per event (modulo n) + // + G4int evtNb = evt->GetEventID(); + if (evtNb%printModulo == 0) { + G4cout << "---> End of event: " << evtNb << G4endl; + + G4cout + << " Absorber: total energy: " << std::setw(7) + << G4BestUnit(EnergyAbs,"Energy") + << " total track length: " << std::setw(7) + << G4BestUnit(TrackLAbs,"Length") + << G4endl + << " Gap: total energy: " << std::setw(7) + << G4BestUnit(EnergyGap,"Energy") + << " total track length: " << std::setw(7) + << G4BestUnit(TrackLGap,"Length") + << G4endl; + + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/N03Con/src/ExN03EventActionMessenger.cc b/examples/extended/analysis/N03Con/src/ExN03EventActionMessenger.cc new file mode 100644 index 0000000000..265f66d324 --- /dev/null +++ b/examples/extended/analysis/N03Con/src/ExN03EventActionMessenger.cc @@ -0,0 +1,73 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN03EventActionMessenger.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "ExN03EventActionMessenger.hh" + +#include "ExN03EventAction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAnInteger.hh" +#include "globals.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03EventActionMessenger::ExN03EventActionMessenger(ExN03EventAction* EvAct) +:eventAction(EvAct) +{ + eventDir = new G4UIdirectory("/N03/event/"); + eventDir->SetGuidance("event control"); + + PrintCmd = new G4UIcmdWithAnInteger("/N03/event/printModulo",this); + PrintCmd->SetGuidance("Print events modulo n"); + PrintCmd->SetParameterName("EventNb",false); + PrintCmd->SetRange("EventNb>0"); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03EventActionMessenger::~ExN03EventActionMessenger() +{ + delete PrintCmd; + delete eventDir; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03EventActionMessenger::SetNewValue( + G4UIcommand* command,G4String newValue) +{ + if(command == PrintCmd) + {eventAction->SetPrintModulo(PrintCmd->GetNewIntValue(newValue));} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/N03Con/src/ExN03PhysicsList.cc b/examples/extended/analysis/N03Con/src/ExN03PhysicsList.cc new file mode 100644 index 0000000000..19533a9320 --- /dev/null +++ b/examples/extended/analysis/N03Con/src/ExN03PhysicsList.cc @@ -0,0 +1,244 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN03PhysicsList.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "ExN03PhysicsList.hh" + +#include "G4ProcessManager.hh" +#include "G4ParticleTypes.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03PhysicsList::ExN03PhysicsList(): G4VUserPhysicsList() +{ + defaultCutValue = 1.0*mm; + SetVerboseLevel(1); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03PhysicsList::~ExN03PhysicsList() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03PhysicsList::ConstructParticle() +{ + // In this method, static member functions should be called + // for all particles which you want to use. + // This ensures that objects of these particle types will be + // created in the program. + + ConstructBosons(); + ConstructLeptons(); + ConstructMesons(); + ConstructBaryons(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03PhysicsList::ConstructBosons() +{ + // pseudo-particles + G4Geantino::GeantinoDefinition(); + G4ChargedGeantino::ChargedGeantinoDefinition(); + + // gamma + G4Gamma::GammaDefinition(); + + // optical photon + G4OpticalPhoton::OpticalPhotonDefinition(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03PhysicsList::ConstructLeptons() +{ + // leptons + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + G4MuonPlus::MuonPlusDefinition(); + G4MuonMinus::MuonMinusDefinition(); + + G4NeutrinoE::NeutrinoEDefinition(); + G4AntiNeutrinoE::AntiNeutrinoEDefinition(); + G4NeutrinoMu::NeutrinoMuDefinition(); + G4AntiNeutrinoMu::AntiNeutrinoMuDefinition(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03PhysicsList::ConstructMesons() +{ + // mesons + G4PionPlus::PionPlusDefinition(); + G4PionMinus::PionMinusDefinition(); + G4PionZero::PionZeroDefinition(); + G4Eta::EtaDefinition(); + G4EtaPrime::EtaPrimeDefinition(); + G4KaonPlus::KaonPlusDefinition(); + G4KaonMinus::KaonMinusDefinition(); + G4KaonZero::KaonZeroDefinition(); + G4AntiKaonZero::AntiKaonZeroDefinition(); + G4KaonZeroLong::KaonZeroLongDefinition(); + G4KaonZeroShort::KaonZeroShortDefinition(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03PhysicsList::ConstructBaryons() +{ +// barions + G4Proton::ProtonDefinition(); + G4AntiProton::AntiProtonDefinition(); + G4Neutron::NeutronDefinition(); + G4AntiNeutron::AntiNeutronDefinition(); +} + + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03PhysicsList::ConstructProcess() +{ + AddTransportation(); + ConstructEM(); + ConstructGeneral(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4MultipleScattering.hh" + +#include "G4eIonisation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eplusAnnihilation.hh" + +#include "G4MuIonisation.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuPairProduction.hh" + +#include "G4hIonisation.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03PhysicsList::ConstructEM() +{ + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4String particleName = particle->GetParticleName(); + + if (particleName == "gamma") { + // gamma + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect); + pmanager->AddDiscreteProcess(new G4ComptonScattering); + pmanager->AddDiscreteProcess(new G4GammaConversion); + + } else if (particleName == "e-") { + //electron + pmanager->AddProcess(new G4MultipleScattering,-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 G4eIonisation, -1, 2,2); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3,3); + pmanager->AddProcess(new G4eplusAnnihilation, 0,-1,4); + + } else if( particleName == "mu+" || + particleName == "mu-" ) { + //muon + pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); + pmanager->AddProcess(new G4MuIonisation, -1, 2,2); + pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3,3); + pmanager->AddProcess(new G4MuPairProduction, -1, 4,4); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + //all others charged particles except geantino + pmanager->AddProcess(new G4MultipleScattering,-1, 1,1); + pmanager->AddProcess(new G4hIonisation, -1, 2,2); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "G4Decay.hh" + +void ExN03PhysicsList::ConstructGeneral() +{ + // Add Decay Process + G4Decay* theDecayProcess = new G4Decay(); + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + if (theDecayProcess->IsApplicable(*particle)) { + pmanager ->AddProcess(theDecayProcess); + // set ordering for PostStepDoIt and AtRestDoIt + pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); + pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03PhysicsList::SetCuts() +{ + if (verboseLevel >0){ + G4cout << "ExN03PhysicsList::SetCuts:"; + G4cout << "CutLength : " << G4BestUnit(defaultCutValue,"Length") << G4endl; + } + + // set cut values for gamma at first and for e- second and next for e+, + // because some processes for e+/e- need cut values for gamma + // + SetCutValue(defaultCutValue, "gamma"); + SetCutValue(defaultCutValue, "e-"); + SetCutValue(defaultCutValue, "e+"); + + if (verboseLevel>0) DumpCutValuesTable(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + diff --git a/source/processes/electromagnetic/standard/include/G4eIonisation52.icc b/examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorAction.cc similarity index 53% rename from source/processes/electromagnetic/standard/include/G4eIonisation52.icc rename to examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorAction.cc index e5f086e44a..21165b8eca 100644 --- a/source/processes/electromagnetic/standard/include/G4eIonisation52.icc +++ b/examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorAction.cc @@ -24,65 +24,75 @@ // ******************************************************************** // // -// $Id: G4eIonisation52.icc,v 1.2 2006/06/29 19:52:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN03PrimaryGeneratorAction.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// -//----------------- G4eIonisation52 physics process ------------------------------ -// by Laszlo Urban, 20 March 1997 -//------------------------------------------------------------------------------ -// -// 24-11-97 correction on MeanFreePath for KinEnergy > HighestLimit -// 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// -//------------------------------------------------------------------------------ +// //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline G4bool G4eIonisation52::IsApplicable(const G4ParticleDefinition& particle) +#include "ExN03PrimaryGeneratorAction.hh" + +#include "ExN03DetectorConstruction.hh" +#include "ExN03PrimaryGeneratorMessenger.hh" + +#include "G4Event.hh" +#include "G4ParticleGun.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "Randomize.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03PrimaryGeneratorAction::ExN03PrimaryGeneratorAction( + ExN03DetectorConstruction* ExN03DC) +:ExN03Detector(ExN03DC),rndmFlag("off") { - return( (&particle == G4Electron::Electron()) - ||(&particle == G4Positron::Positron()) ); + G4int n_particle = 1; + particleGun = new G4ParticleGun(n_particle); + + //create a messenger for this class + gunMessenger = new ExN03PrimaryGeneratorMessenger(this); + + // default particle kinematic + + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + G4String particleName; + G4ParticleDefinition* particle + = particleTable->FindParticle(particleName="e-"); + particleGun->SetParticleDefinition(particle); + particleGun->SetParticleMomentumDirection(G4ThreeVector(1.,0.,0.)); + particleGun->SetParticleEnergy(50.*MeV); + G4double position = -0.5*(ExN03Detector->GetWorldSizeX()); + particleGun->SetParticlePosition(G4ThreeVector(position,0.*cm,0.*cm)); + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline G4double G4eIonisation52::GetMeanFreePath(const G4Track& track, G4double, - G4ForceCondition*) +ExN03PrimaryGeneratorAction::~ExN03PrimaryGeneratorAction() { - G4double KineticEnergy = track.GetDynamicParticle()->GetKineticEnergy(); - const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); - - G4double MeanFreePath; - G4bool isOut; - - if (KineticEnergy > HighestKineticEnergy) KineticEnergy = HighestKineticEnergy; - if (KineticEnergy > LowestKineticEnergy) - MeanFreePath = ((*theMeanFreePathTable)(couple->GetIndex()))-> - GetValue(KineticEnergy, isOut); - else MeanFreePath = DBL_MAX; - - return MeanFreePath; + delete particleGun; + delete gunMessenger; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline -G4double G4eIonisation52::GetLambda(G4double KineticEnergy, const G4MaterialCutsCouple* couple) +void ExN03PrimaryGeneratorAction::GeneratePrimaries(G4Event* anEvent) { - G4bool isOut; - return (*theMeanFreePathTable)[couple->GetIndex()]-> - GetValue(KineticEnergy,isOut); + //this function is called at the begining of event + // + G4double x0 = -0.5*(ExN03Detector->GetWorldSizeX()); + G4double y0 = 0.*cm, z0 = 0.*cm; + if (rndmFlag == "on") + {y0 = (ExN03Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); + z0 = (ExN03Detector->GetCalorSizeYZ())*(G4UniformRand()-0.5); + } + particleGun->SetParticlePosition(G4ThreeVector(x0,y0,z0)); + + particleGun->GeneratePrimaryVertex(anEvent); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline G4double G4eIonisation52::SecondaryEnergyThreshold(size_t index) -{ - return (*secondaryEnergyCuts)[index]; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/muons/include/G4MuIonisation52.icc b/examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorMessenger.cc similarity index 54% rename from source/processes/electromagnetic/muons/include/G4MuIonisation52.icc rename to examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorMessenger.cc index c8d9a1a6dc..eda654c209 100644 --- a/source/processes/electromagnetic/muons/include/G4MuIonisation52.icc +++ b/examples/extended/analysis/N03Con/src/ExN03PrimaryGeneratorMessenger.cc @@ -24,59 +24,54 @@ // ******************************************************************** // // -// $Id: G4MuIonisation52.icc,v 1.2 2006/06/29 19:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // -// GEANT 4 class inlined methods file -// -// ------------ G4MuIonisation52 physics process ------------ -// by Laszlo Urban, September 1997 -// --------------------------------------------------------------- -// -// 20/11/97 correction on MeanFreePath for KineticEnergy > HighestLimit -// 14-08-01 'cleanup' of GetMeanFreePath (mma) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// -// --------------------------------------------------------------- -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline G4bool G4MuIonisation52::IsApplicable( - const G4ParticleDefinition& particle) +#include "ExN03PrimaryGeneratorMessenger.hh" + +#include "ExN03PrimaryGeneratorAction.hh" +#include "G4UIdirectory.hh" +#include "G4UIcmdWithAString.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03PrimaryGeneratorMessenger::ExN03PrimaryGeneratorMessenger( + ExN03PrimaryGeneratorAction* ExN03Gun) +:ExN03Action(ExN03Gun) { - return ((&particle == G4MuonPlus::MuonPlus() ) || - (&particle == G4MuonMinus::MuonMinus()) ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4MuIonisation52::GetMeanFreePath(const G4Track& track, G4double, - G4ForceCondition*) -{ - G4double KineticEnergy = track.GetDynamicParticle()->GetKineticEnergy(); - const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); - - G4double MeanFreePath; - G4bool isOut; - - if (KineticEnergy > HighestKineticEnergy) KineticEnergy = HighestKineticEnergy; - if (KineticEnergy > LowestKineticEnergy) - MeanFreePath = ((*theMeanFreePathTable)(couple->GetIndex()))-> - GetValue(KineticEnergy, isOut); - else MeanFreePath = DBL_MAX; - - return MeanFreePath; + gunDir = new G4UIdirectory("/N03/gun/"); + gunDir->SetGuidance("PrimaryGenerator control"); + + RndmCmd = new G4UIcmdWithAString("/N03/gun/rndm",this); + RndmCmd->SetGuidance("Shoot randomly the incident particle."); + RndmCmd->SetGuidance(" Choice : on(default), off"); + RndmCmd->SetParameterName("choice",true); + RndmCmd->SetDefaultValue("on"); + RndmCmd->SetCandidates("on off"); + RndmCmd->AvailableForStates(G4State_PreInit,G4State_Idle); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -inline G4double G4MuIonisation52::SecondaryEnergyThreshold(size_t index) +ExN03PrimaryGeneratorMessenger::~ExN03PrimaryGeneratorMessenger() { - return (*secondaryEnergyCuts)[index]; + delete RndmCmd; + delete gunDir; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03PrimaryGeneratorMessenger::SetNewValue( + G4UIcommand* command, G4String newValue) +{ + if( command == RndmCmd ) + { ExN03Action->SetRndmFlag(newValue);} +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/N03Con/src/ExN03RunAction.cc b/examples/extended/analysis/N03Con/src/ExN03RunAction.cc new file mode 100644 index 0000000000..1e25f7ea62 --- /dev/null +++ b/examples/extended/analysis/N03Con/src/ExN03RunAction.cc @@ -0,0 +1,143 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN03RunAction.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "ExN03RunAction.hh" + +#include "G4Run.hh" +#include "G4RunManager.hh" +#include "G4UnitsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03RunAction::ExN03RunAction() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03RunAction::~ExN03RunAction() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03RunAction::BeginOfRunAction(const G4Run* aRun) +{ + G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; + + //inform the runManager to save random number seed + //G4RunManager::GetRunManager()->SetRandomNumberStore(true); + + //initialize cumulative quantities + // + sumEAbs = sum2EAbs =sumEGap = sum2EGap = 0.; + sumLAbs = sum2LAbs =sumLGap = sum2LGap = 0.; + + Eabs_tally = new G4ConvergenceTester(); + Egap_tally = new G4ConvergenceTester(); + Labs_tally = new G4ConvergenceTester(); + Lgap_tally = new G4ConvergenceTester(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03RunAction::fillPerEvent(G4double EAbs, G4double EGap, + G4double LAbs, G4double LGap) +{ + //accumulate statistic + // + sumEAbs += EAbs; sum2EAbs += EAbs*EAbs; + sumEGap += EGap; sum2EGap += EGap*EGap; + + sumLAbs += LAbs; sum2LAbs += LAbs*LAbs; + sumLGap += LGap; sum2LGap += LGap*LGap; + + Eabs_tally->AddScore( EAbs ); + Egap_tally->AddScore( EGap ); + Labs_tally->AddScore( LAbs ); + Lgap_tally->AddScore( LGap ); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03RunAction::EndOfRunAction(const G4Run* aRun) +{ + G4int NbOfEvents = aRun->GetNumberOfEvent(); + if (NbOfEvents == 0) return; + + //compute statistics: mean and rms + // + sumEAbs /= NbOfEvents; sum2EAbs /= NbOfEvents; + G4double rmsEAbs = sum2EAbs - sumEAbs*sumEAbs; + if (rmsEAbs >0.) rmsEAbs = std::sqrt(rmsEAbs); else rmsEAbs = 0.; + + sumEGap /= NbOfEvents; sum2EGap /= NbOfEvents; + G4double rmsEGap = sum2EGap - sumEGap*sumEGap; + if (rmsEGap >0.) rmsEGap = std::sqrt(rmsEGap); else rmsEGap = 0.; + + sumLAbs /= NbOfEvents; sum2LAbs /= NbOfEvents; + G4double rmsLAbs = sum2LAbs - sumLAbs*sumLAbs; + if (rmsLAbs >0.) rmsLAbs = std::sqrt(rmsLAbs); else rmsLAbs = 0.; + + sumLGap /= NbOfEvents; sum2LGap /= NbOfEvents; + G4double rmsLGap = sum2LGap - sumLGap*sumLGap; + if (rmsLGap >0.) rmsLGap = std::sqrt(rmsLGap); else rmsLGap = 0.; + + //print + // + G4cout + << "\n--------------------End of Run------------------------------\n" + << "\n mean Energy in Absorber : " << G4BestUnit(sumEAbs,"Energy") + << " +- " << G4BestUnit(rmsEAbs,"Energy") + << "\n mean Energy in Gap : " << G4BestUnit(sumEGap,"Energy") + << " +- " << G4BestUnit(rmsEGap,"Energy") + << G4endl; + + G4cout + << "\n mean trackLength in Absorber : " << G4BestUnit(sumLAbs,"Length") + << " +- " << G4BestUnit(rmsLAbs,"Length") + << "\n mean trackLength in Gap : " << G4BestUnit(sumLGap,"Length") + << " +- " << G4BestUnit(rmsLGap,"Length") + << "\n------------------------------------------------------------\n" + << G4endl; + + Eabs_tally->ShowResult(); + Eabs_tally->ShowHistory(); + Egap_tally->ShowResult(); + Egap_tally->ShowHistory(); + + Labs_tally->ShowResult(); + Labs_tally->ShowHistory(); + Lgap_tally->ShowResult(); + Lgap_tally->ShowHistory(); + +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/N03Con/src/ExN03SteppingAction.cc b/examples/extended/analysis/N03Con/src/ExN03SteppingAction.cc new file mode 100644 index 0000000000..44bb578e7e --- /dev/null +++ b/examples/extended/analysis/N03Con/src/ExN03SteppingAction.cc @@ -0,0 +1,78 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN03SteppingAction.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "ExN03SteppingAction.hh" + +#include "ExN03DetectorConstruction.hh" +#include "ExN03EventAction.hh" + +#include "G4Step.hh" + +////#include "G4RunManager.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03SteppingAction::ExN03SteppingAction(ExN03DetectorConstruction* det, + ExN03EventAction* evt) +:detector(det), eventaction(evt) +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03SteppingAction::~ExN03SteppingAction() +{ } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03SteppingAction::UserSteppingAction(const G4Step* aStep) +{ + // get volume of the current step + G4VPhysicalVolume* volume + = aStep->GetPreStepPoint()->GetTouchableHandle()->GetVolume(); + + // collect energy and track length step by step + G4double edep = aStep->GetTotalEnergyDeposit(); + + G4double stepl = 0.; + if (aStep->GetTrack()->GetDefinition()->GetPDGCharge() != 0.) + stepl = aStep->GetStepLength(); + + if (volume == detector->GetAbsorber()) eventaction->AddAbs(edep,stepl); + if (volume == detector->GetGap()) eventaction->AddGap(edep,stepl); + + //example of saving random number seed of this event, under condition + //// if (condition) G4RunManager::GetRunManager()->rndmSaveThisEvent(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/N03Con/src/ExN03SteppingVerbose.cc b/examples/extended/analysis/N03Con/src/ExN03SteppingVerbose.cc new file mode 100644 index 0000000000..c226dc1ca8 --- /dev/null +++ b/examples/extended/analysis/N03Con/src/ExN03SteppingVerbose.cc @@ -0,0 +1,182 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN03SteppingVerbose.cc,v 1.1 2007/05/26 00:18:28 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +#include "ExN03SteppingVerbose.hh" + +#include "G4SteppingManager.hh" +#include "G4UnitsTable.hh" + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03SteppingVerbose::ExN03SteppingVerbose() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +ExN03SteppingVerbose::~ExN03SteppingVerbose() +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03SteppingVerbose::StepInfo() +{ + CopyState(); + + G4int prec = G4cout.precision(3); + + if( verboseLevel >= 1 ){ + if( verboseLevel >= 4 ) VerboseTrack(); + if( verboseLevel >= 3 ){ + G4cout << G4endl; + G4cout << std::setw( 5) << "#Step#" << " " + << std::setw( 6) << "X" << " " + << std::setw( 6) << "Y" << " " + << std::setw( 6) << "Z" << " " + << std::setw( 9) << "KineE" << " " + << std::setw( 9) << "dEStep" << " " + << std::setw(10) << "StepLeng" + << std::setw(10) << "TrakLeng" + << std::setw(10) << "Volume" << " " + << std::setw(10) << "Process" << G4endl; + } + + G4cout << std::setw(5) << fTrack->GetCurrentStepNumber() << " " + << std::setw(6) << G4BestUnit(fTrack->GetPosition().x(),"Length") + << std::setw(6) << G4BestUnit(fTrack->GetPosition().y(),"Length") + << std::setw(6) << G4BestUnit(fTrack->GetPosition().z(),"Length") + << std::setw(6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") + << std::setw(6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") + << std::setw(6) << G4BestUnit(fStep->GetStepLength(),"Length") + << std::setw(6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; + + // if( fStepStatus != fWorldBoundary){ + if( fTrack->GetNextVolume() != 0 ) { + G4cout << std::setw(10) << fTrack->GetVolume()->GetName(); + } else { + G4cout << std::setw(10) << "OutOfWorld"; + } + + if(fStep->GetPostStepPoint()->GetProcessDefinedStep() != 0){ + G4cout << " " + << std::setw(10) + << fStep->GetPostStepPoint()->GetProcessDefinedStep() + ->GetProcessName(); + } else { + G4cout << " UserLimit"; + } + + G4cout << G4endl; + + if( verboseLevel == 2 ){ + G4int tN2ndariesTot = fN2ndariesAtRestDoIt + + fN2ndariesAlongStepDoIt + + fN2ndariesPostStepDoIt; + if(tN2ndariesTot>0){ + G4cout << " :----- List of 2ndaries - " + << "#SpawnInStep=" << std::setw(3) << tN2ndariesTot + << "(Rest=" << std::setw(2) << fN2ndariesAtRestDoIt + << ",Along=" << std::setw(2) << fN2ndariesAlongStepDoIt + << ",Post=" << std::setw(2) << fN2ndariesPostStepDoIt + << "), " + << "#SpawnTotal=" << std::setw(3) << (*fSecondary).size() + << " ---------------" + << G4endl; + + for(size_t lp1=(*fSecondary).size()-tN2ndariesTot; + lp1<(*fSecondary).size(); lp1++){ + G4cout << " : " + << std::setw(6) + << G4BestUnit((*fSecondary)[lp1]->GetPosition().x(),"Length") + << std::setw(6) + << G4BestUnit((*fSecondary)[lp1]->GetPosition().y(),"Length") + << std::setw(6) + << G4BestUnit((*fSecondary)[lp1]->GetPosition().z(),"Length") + << std::setw(6) + << G4BestUnit((*fSecondary)[lp1]->GetKineticEnergy(),"Energy") + << std::setw(10) + << (*fSecondary)[lp1]->GetDefinition()->GetParticleName(); + G4cout << G4endl; + } + + G4cout << " :-----------------------------" + << "----------------------------------" + << "-- EndOf2ndaries Info ---------------" + << G4endl; + } + } + + } + G4cout.precision(prec); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +void ExN03SteppingVerbose::TrackingStarted() +{ + + CopyState(); +G4int prec = G4cout.precision(3); + if( verboseLevel > 0 ){ + + G4cout << std::setw( 5) << "Step#" << " " + << std::setw( 6) << "X" << " " + << std::setw( 6) << "Y" << " " + << std::setw( 6) << "Z" << " " + << std::setw( 9) << "KineE" << " " + << std::setw( 9) << "dEStep" << " " + << std::setw(10) << "StepLeng" + << std::setw(10) << "TrakLeng" + << std::setw(10) << "Volume" << " " + << std::setw(10) << "Process" << G4endl; + + G4cout << std::setw( 5) << fTrack->GetCurrentStepNumber() << " " + << std::setw( 6) << G4BestUnit(fTrack->GetPosition().x(),"Length") + << std::setw( 6) << G4BestUnit(fTrack->GetPosition().y(),"Length") + << std::setw( 6) << G4BestUnit(fTrack->GetPosition().z(),"Length") + << std::setw( 6) << G4BestUnit(fTrack->GetKineticEnergy(),"Energy") + << std::setw( 6) << G4BestUnit(fStep->GetTotalEnergyDeposit(),"Energy") + << std::setw( 6) << G4BestUnit(fStep->GetStepLength(),"Length") + << std::setw( 6) << G4BestUnit(fTrack->GetTrackLength(),"Length") + << " "; + + if(fTrack->GetNextVolume()){ + G4cout << std::setw(10) << fTrack->GetVolume()->GetName(); + } else { + G4cout << "OutOfWorld"; + } + G4cout << " initStep" << G4endl; + } + G4cout.precision(prec); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/analysis/N03Con/src/G4ConvergenceTester.cc b/examples/extended/analysis/N03Con/src/G4ConvergenceTester.cc new file mode 100644 index 0000000000..d9bdedceff --- /dev/null +++ b/examples/extended/analysis/N03Con/src/G4ConvergenceTester.cc @@ -0,0 +1,696 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// Convergence Tests for Monte Carlo resut. +// +// Reference +// MCNP(TM) -A General Monte Carlo N-Particle Transport Code +// Version 4B +// Judith F. Briesmeister, Editor +// LA-12625-M, Issued: March 1997, UC 705 and UC 700 +// CHAPTER 2. GEOMETRY, DATA, PHYSICS, AND MATHEMATICS +// VI. ESTIMATION OF THE MONTE CARLO PRECISION +// +// Positives numbers are assumed for inputs +// +// Koi, Tatsumi (SLAC/SCCS) +// + +#include "G4ConvergenceTester.hh" + +G4ConvergenceTester::G4ConvergenceTester() +{ + + nonzero_histories.clear(); + largest_scores.clear(); + largest_scores.push_back( 0.0 ); + n=0; + sum=0; + noBinOfHistory = 16; + history_grid.resize( noBinOfHistory , 0 ); + mean_history.resize( noBinOfHistory , 0.0 ); + var_history.resize( noBinOfHistory , 0.0 ); + sd_history.resize( noBinOfHistory , 0.0 ); + r_history.resize( noBinOfHistory , 0.0 ); + vov_history.resize( noBinOfHistory , 0.0 ); + fom_history.resize( noBinOfHistory , 0.0 ); + shift_history.resize( noBinOfHistory , 0.0 ); + e_history.resize( noBinOfHistory , 0.0 ); + r2eff_history.resize( noBinOfHistory , 0.0 ); + r2int_history.resize( noBinOfHistory , 0.0 ); + + timer = new G4Timer(); + timer->Start(); + cpu_time.clear(); + cpu_time.push_back( 0.0 ); + + noBinOfPDF = 10; // this will be used calculating SLOPE + + noPass = 0; + noTotal = 8; + +} + + + +G4ConvergenceTester::~G4ConvergenceTester() +{ + delete timer; +} + + + +void G4ConvergenceTester::AddScore( G4double x ) +{ + + //G4cout << x << G4endl; + + timer->Stop(); + cpu_time.push_back( timer->GetSystemElapsed() + timer->GetUserElapsed() ); + + if ( x == 0.0 ) + { + } + else + { + nonzero_histories.insert( std::pair< G4int , G4double > ( n , x ) ); + if ( x > largest_scores.back() ) + { +// Following serch should become faster if begin from bottom. + std::vector< G4double >::iterator it; + for ( it = largest_scores.begin() ; it != largest_scores.end() ; it++ ) + { + if ( x > *it ) + { + largest_scores.insert( it , x ); + break; + } + } + + if ( largest_scores.size() > 201 ) + { + largest_scores.pop_back(); + } + //G4cout << largest_scores.size() << " " << largest_scores.front() << " " << largest_scores.back() << G4endl; + } + sum += x; + } + + n++; + return; +} + + + +void G4ConvergenceTester::calStat() +{ + + + efficiency = double( nonzero_histories.size() ) / n; + + mean = sum / n; + + G4double sum_x2 = 0.0; + var = 0.0; + shift = 0.0; + vov = 0.0; + + G4double xi; + std::map< G4int , G4double >::iterator it; + for ( it = nonzero_histories.begin() ; it != nonzero_histories.end() ; it++ ) + { + xi = it->second; + sum_x2 += xi * xi; + var += ( xi - mean ) * ( xi - mean ); + shift += ( xi - mean ) * ( xi - mean ) * ( xi - mean ); + vov += ( xi - mean ) * ( xi - mean ) * ( xi - mean ) * ( xi - mean ); + } + + var += ( n - nonzero_histories.size() ) * mean * mean; + shift += ( n - nonzero_histories.size() ) * mean * mean * mean * ( -1 ); + vov += ( n - nonzero_histories.size() ) * mean * mean * mean * mean; + + vov = vov / ( var * var ) - 1.0 / n; + + var = var/(n-1); + + sd = std::sqrt ( var ); + + r = sd / mean / std::sqrt ( n ); + + r2eff = ( 1 - efficiency ) / ( efficiency * n ); + r2int = sum_x2 / ( sum * sum ) - 1 / ( efficiency * n ); + + shift = shift / ( 2 * var * n ); + + fom = 1 / (r*r) / cpu_time.back(); + +// Find Largest History + //G4double largest = 0.0; + largest = 0.0; + largest_score_happened = 0; + G4double spend_time_of_largest = 0.0; + for ( it = nonzero_histories.begin() ; it != nonzero_histories.end() ; it++ ) + { + if ( std::abs ( it->second ) > largest ) + { + largest = it->second; + largest_score_happened = it->first; + spend_time_of_largest = cpu_time [ it->first ] - cpu_time [ it->first - 1 ]; + } + } + + mean_1 = 0.0; + var_1 = 0.0; + shift_1 = 0.0; + vov_1 = 0.0; + sd_1 = 0.0; + r_1 = 0.0; + vov_1 = 0.0; + +// G4cout << "The largest history = " << largest << G4endl; + + mean_1 = ( sum + largest ) / ( n + 1 ); + + sum_x2 = 0.0; + for ( it = nonzero_histories.begin() ; it != nonzero_histories.end() ; it++ ) + { + xi = it->second; + sum_x2 += xi * xi; + var_1 += ( xi - mean_1 ) * ( xi - mean_1 ); + shift_1 += ( xi - mean_1 ) * ( xi - mean_1 ) * ( xi - mean_1 ); + vov_1 += ( xi - mean_1 ) * ( xi - mean_1 ) * ( xi - mean_1 ) * ( xi - mean_1 ); + } + xi = largest; + sum_x2 += xi * xi; + var_1 += ( xi - mean_1 ) * ( xi - mean_1 ); + shift_1 += ( xi - mean_1 ) * ( xi - mean_1 ) * ( xi - mean_1 ); + vov_1 += ( xi - mean_1 ) * ( xi - mean_1 ) * ( xi - mean_1 ) * ( xi - mean_1 ); + + var_1 += ( n - nonzero_histories.size() ) * mean_1 * mean_1; + shift_1 += ( n - nonzero_histories.size() ) * mean_1 * mean_1 * mean_1 * ( -1 ); + vov_1 += ( n - nonzero_histories.size() ) * mean_1 * mean_1 * mean_1 * mean_1; + + vov_1 = vov_1 / ( var_1 * var_1 ) - 1.0 / ( n + 1 ); + + var_1 = var_1 / n ; + + sd_1 = std::sqrt ( var_1 ); + + r_1 = sd_1 / mean_1 / std::sqrt ( n + 1 ); + + shift_1 = shift_1 / ( 2 * var_1 * ( n + 1 ) ); + + fom_1 = 1 / ( r * r ) / ( cpu_time.back() + spend_time_of_largest ); + + if ( nonzero_histories.size() < 500 ) + { + G4cout << "Number of non zero history too small to calcuarte SLOPE" << G4endl; + } + else + { + G4int i = int ( nonzero_histories.size() ); + + // 5% criterion + G4int j = int ( i * 0.05 ); + while ( int( largest_scores.size() ) > j ) + { + largest_scores.pop_back(); + } + calc_slope_fit( largest_scores ); + } + + calc_grid_point_of_history(); + calc_stat_history(); +} + + + +void G4ConvergenceTester::calc_grid_point_of_history() +{ + +// histroy_grid [ 0,,,15 ] +// history_grid [0] 1/16 ,,, history_grid [15] 16/16 +// if number of event is x then history_grid [15] become x-1. +// 16 -> noBinOfHisotry + + G4int i; + for ( i = 1 ; i <= noBinOfHistory ; i++ ) + { + history_grid [ i-1 ] = int ( n / ( double( noBinOfHistory ) ) * i - 0.1 ); + //G4cout << "history_grid " << i-1 << " " << history_grid [ i-1 ] << G4endl; + } + +} + + + +void G4ConvergenceTester::calc_stat_history() +{ +// G4cout << "i/16 till_ith mean var sd r vov fom shift e r2eff r2int" << G4endl; + + G4int i; + for ( i = 1 ; i <= noBinOfHistory ; i++ ) + { + + G4int ith = history_grid [ i-1 ]; + + G4int nonzero_till_ith = 0; + G4double xi; + G4double mean_till_ith = 0.0; + std::map< G4int , G4double >::iterator it; + + for ( it = nonzero_histories.begin() ; it !=nonzero_histories.end() ; it++ ) + { + if ( it->first <= ith ) + { + xi = it->second; + mean_till_ith += xi; + nonzero_till_ith++; + } + } + + mean_till_ith = mean_till_ith / ( ith+1 ); + mean_history [ i-1 ] = mean_till_ith; + + G4double sum_x2_till_ith = 0.0; + G4double var_till_ith = 0.0; + G4double vov_till_ith = 0.0; + G4double shift_till_ith = 0.0; + + for ( it = nonzero_histories.begin() ; it !=nonzero_histories.end() ; it++ ) + { + if ( it->first <= ith ) + { + xi = it->second; + sum_x2_till_ith += xi * xi; + var_till_ith += ( xi - mean_till_ith ) * ( xi - mean_till_ith ); + shift_till_ith += ( xi - mean_till_ith ) * ( xi - mean_till_ith ) * ( xi - mean_till_ith ); + vov_till_ith += ( xi - mean_till_ith ) * ( xi - mean_till_ith ) * ( xi - mean_till_ith ) * ( xi - mean_till_ith ); + } + } + + var_till_ith += ( (ith+1) - nonzero_till_ith ) * mean_till_ith * mean_till_ith; + + vov_till_ith += ( (ith+1) - nonzero_till_ith ) * mean_till_ith * mean_till_ith * mean_till_ith * mean_till_ith ; + vov_till_ith = vov_till_ith / ( var_till_ith * var_till_ith ) - 1.0 / (ith+1); + vov_history [ i-1 ] = vov_till_ith; + + var_till_ith = var_till_ith / ( ith+1 - 1 ); + var_history [ i-1 ] = var_till_ith; + sd_history [ i-1 ] = std::sqrt( var_till_ith ); + r_history [ i-1 ] = std::sqrt( var_till_ith ) / mean_till_ith / std::sqrt ( 1.0*(ith+1) ); + + fom_history [ i-1 ] = 1 / ( r_history [ i-1 ] * r_history [ i-1 ] ) / cpu_time [ ith ]; + + shift_till_ith += ( (ith+1) - nonzero_till_ith ) * mean_till_ith * mean_till_ith * mean_till_ith * ( -1 ); + shift_till_ith = shift_till_ith / ( 2 * var_till_ith * (ith+1) ); + shift_history [ i-1 ] = shift_till_ith; + + e_history [ i-1 ] = 1.0*nonzero_till_ith / (ith+1); + r2eff_history [ i-1 ] = ( 1 - e_history [ i-1 ] ) / ( e_history [ i-1 ] * (ith+1) ); + + G4double sum_till_ith = mean_till_ith * (ith+1); + r2int_history [ i-1 ] = ( sum_x2_till_ith ) / ( sum_till_ith * sum_till_ith ) - 1 / ( e_history [ i-1 ] * (ith+1) ); + + } + +} + + + +void G4ConvergenceTester::ShowResult() +{ + calStat(); + + G4cout << "EFFICIENCY = " << efficiency << G4endl; + G4cout << "MEAN = " << mean << G4endl; + G4cout << "VAR = " << var << G4endl; + G4cout << "SD = " << sd << G4endl; + G4cout << "R = "<< r << G4endl; + G4cout << "SHIFT = "<< shift << G4endl; + G4cout << "VOV = "<< vov << G4endl; + G4cout << "FOM = "<< fom << G4endl; + + G4cout << "THE LARGEST SCORE = " << largest << " and it happend at " << largest_score_happened << "th event" << G4endl; + G4cout << "Affected Mean = " << mean_1 << " and its ratio to orignal is " << mean_1/mean << G4endl; + G4cout << "Affected VAR = " << var_1 << " and its ratio to orignal is " << var_1/var << G4endl; + G4cout << "Affected R = " << r_1 << " and its ratio to orignal is " << r_1/r << G4endl; + G4cout << "Affected SHIFT = " << shift_1 << " and its ratio to orignal is " << shift_1/shift << G4endl; + G4cout << "Affected FOM = " << fom_1 << " and its ratio to orignal is " << fom_1/fom << G4endl; + + check_stat_history(); + +// check SLOPE and output result + if ( slope >= 3 ) + { + noPass++; + G4cout << "SLOPE is large enough" << G4endl; + } + else + { + G4cout << "SLOPE is not large enough" << G4endl; + } + + G4cout << "This result passes " << noPass << " / "<< noTotal << " Convergence Test." << G4endl; + G4cout << G4endl; + +} + +void G4ConvergenceTester::ShowHistory() +{ + G4cout << "i/" << noBinOfHistory << " till_ith mean var sd r vov fom shift e r2eff r2int" << G4endl; + for ( G4int i = 1 ; i <= noBinOfHistory ; i++ ) + { + G4cout << i << " " + << history_grid [ i-1 ] << " " + << mean_history [ i-1 ] << " " + << var_history [ i-1 ] << " " + << sd_history [ i-1 ] << " " + << r_history [ i-1 ] << " " + << vov_history [ i-1 ] << " " + << fom_history [ i-1 ] << " " + << shift_history [ i-1 ] << " " + << e_history [ i-1 ] << " " + << r2eff_history [ i-1 ] << " " + << r2int_history [ i-1 ] << " " + << G4endl; + } +} + +void G4ConvergenceTester::check_stat_history() +{ + +// 1 sigma rejection for null hypothesis + + std::vector first_ally; + std::vector second_ally; + +// use 2nd half of hisories + G4int N = mean_history.size() / 2; + G4int i; + + G4double pearson_r; + G4double t; + + first_ally.resize( N ); + second_ally.resize( N ); + +// Mean + + for ( i = 0 ; i < N ; i++ ) + { + first_ally [ i ] = history_grid [ N + i ]; + second_ally [ i ] = mean_history [ N + i ]; + } + + pearson_r = calc_Pearson_r ( N , first_ally , second_ally ); + t = pearson_r * std::sqrt ( ( N - 2 ) / ( 1 - pearson_r * pearson_r ) ); + + if ( t < 0.429318 ) // Student t of (Degree of freedom = N-2 ) + { + G4cout << "MEAN distribution is RANDOM" << G4endl; + noPass++; + } + else + { + G4cout << "MEAN distribution is not RANDOM" << G4endl; + } + + +// R + + for ( i = 0 ; i < N ; i++ ) + { + first_ally [ i ] = 1.0 / std::sqrt ( history_grid [ N + i ] ); + second_ally [ i ] = r_history [ N + i ]; + } + + pearson_r = calc_Pearson_r ( N , first_ally , second_ally ); + t = pearson_r * std::sqrt ( ( N - 2 ) / ( 1 - pearson_r * pearson_r ) ); + + if ( t > 1.090546 ) + { + G4cout << "r follows 1/std::sqrt(N)" << G4endl; + noPass++; + } + else + { + G4cout << "r does not follow 1/std::sqrt(N)" << G4endl; + } + + G4cout << "r is monotonically decrease " << is_monotonically_decrease( second_ally ) << G4endl; + + if ( r_history.back() < 0.1 ) + { + G4cout << "r is less than 0.1. r = " << r_history.back() << G4endl; + noPass++; + } + else + { + G4cout << "r is NOT less than 0.1. r = " << r_history.back() << G4endl; + } + + +// VOV + for ( i = 0 ; i < N ; i++ ) + { + first_ally [ i ] = 1.0 / history_grid [ N + i ]; + second_ally [ i ] = vov_history [ N + i ]; + } + + pearson_r = calc_Pearson_r ( N , first_ally , second_ally ); + t = pearson_r * std::sqrt ( ( N - 2 ) / ( 1 - pearson_r * pearson_r ) ); + + if ( t > 1.090546 ) + { + G4cout << "VOV follows 1/std::sqrt(N)" << G4endl; + noPass++; + } + else + { + G4cout << "VOV does not follow 1/std::sqrt(N)" << G4endl; + } + G4cout << "VOV is monotonically decrease " << is_monotonically_decrease( second_ally ) << G4endl; + +// FOM + + for ( i = 0 ; i < N ; i++ ) + { + first_ally [ i ] = history_grid [ N + i ]; + second_ally [ i ] = fom_history [ N + i ]; + } + + pearson_r = calc_Pearson_r ( N , first_ally , second_ally ); + t = pearson_r * std::sqrt ( ( N - 2 ) / ( 1 - pearson_r * pearson_r ) ); + + if ( t < 0.429318 ) + { + G4cout << "FOM distribution is RANDOM" << G4endl; + noPass++; + } + else + { + G4cout << "FOM distribution is not RANDOM" << G4endl; + } + +} + + + +G4double G4ConvergenceTester::calc_Pearson_r ( G4int N , std::vector first_ally , std::vector second_ally ) +{ + G4double first_mean = 0.0; + G4double second_mean = 0.0; + + G4int i; + for ( i = 0 ; i < N ; i++ ) + { + first_mean += first_ally [ i ]; + second_mean += second_ally [ i ]; + } + first_mean = first_mean / N; + second_mean = second_mean / N; + + G4double a = 0.0; + for ( i = 0 ; i < N ; i++ ) + { + a += ( first_ally [ i ] - first_mean ) * ( second_ally [ i ] - second_mean ); + } + + G4double b1 = 0.0; + G4double b2 = 0.0; + for ( i = 0 ; i < N ; i++ ) + { + b1 += ( first_ally [ i ] - first_mean ) * ( first_ally [ i ] - first_mean ); + b2 += ( second_ally [ i ] - second_mean ) * ( second_ally [ i ] - second_mean ); + } + + G4double r = a / std::sqrt ( b1 * b2 ); + + return r; +} + + + +G4bool G4ConvergenceTester::is_monotonically_decrease ( std::vector ally ) +{ + std::vector::iterator it; + for ( it = ally.begin() ; it != ally.end() - 1 ; it++ ) + { + if ( *it < *(it+1) ) return FALSE; + } + + noPass++; + return TRUE; +} + + + +//void G4ConvergenceTester::calc_slope_fit ( std::vector largest_socres ) +void G4ConvergenceTester::calc_slope_fit ( std::vector ) +{ + + // create PDF bins + G4double max = largest_scores.front(); + G4int last = int ( largest_scores.size() ); + G4double min = 0.0; + if ( largest_scores.back() != 0 ) + { + min = largest_scores.back(); + } + else + { + min = largest_scores[ last-1 ]; + last = last - 1; + } + + //G4cout << "largest " << max << G4endl; + //G4cout << "last " << min << G4endl; + + if ( max*0.99 < min ) + { + // upper limit is assumed to have been reached + slope = 10.0; + return; + } + + std::vector < G4double > pdf_grid; + + pdf_grid.resize( noBinOfPDF+1 ); // no grid = no bins + 1 + pdf_grid[ 0 ] = max; + pdf_grid[ noBinOfPDF ] = min; + G4double log10_max = std::log10( max ); + G4double log10_min = std::log10( min ); + G4double log10_delta = log10_max - log10_min; + for ( G4int i = 1 ; i < noBinOfPDF ; i++ ) + { + pdf_grid[i] = std::pow ( 10.0 , log10_max - log10_delta/10.0*(i) ); + //G4cout << "pdf i " << i << " " << pdf_grid[i] << G4endl; + } + + std::vector < G4double > pdf; + pdf.resize( noBinOfPDF ); + + for ( G4int j=0 ; j < last ; j ++ ) + { + for ( G4int i = 0 ; i < 11 ; i++ ) + { + if ( largest_scores[j] >= pdf_grid[i+1] ) + { + pdf[i] += 1.0 / ( pdf_grid[i] - pdf_grid[i+1] ) / n; + //G4cout << "pdf " << j << " " << i << " " << largest_scores[j] << " " << G4endl; + break; + } + } + } + + f_xi.resize( noBinOfPDF ); + f_yi.resize( noBinOfPDF ); + for ( G4int i = 0 ; i < noBinOfPDF ; i++ ) + { + //G4cout << "pdf i " << i << " " << (pdf_grid[i]+pdf_grid[i+1])/2 << " " << pdf[i] << G4endl; + f_xi[i] = (pdf_grid[i]+pdf_grid[i+1])/2; + f_yi[i] = pdf[i]; + } + + // number of variables ( a and k ) + minimizer = new G4SimplexDownhill ( this , 2 ); + //G4double minimum = minimizer->GetMinimum(); + std::vector mp = minimizer->GetMinimumPoint(); + G4double k = mp[1]; + + //G4cout << "SLOPE " << 1/mp[1]+1 << G4endl; + //G4cout << "SLOPE a " << mp[0] << G4endl; + //G4cout << "SLOPE k " << mp[1] << G4endl; + //G4cout << "SLOPE minimum " << minimizer->GetMinimum() << G4endl; + + slope = 1/mp[1]+1; + if ( k < 1.0/9 ) // Please look Pareto distribution with "sigma=a" and "k" + { + slope = 10; + } + if ( slope > 10 ) + { + slope = 10; + } +} + + + +G4double G4ConvergenceTester::slope_fitting_function ( std::vector< G4double > x ) +{ + + G4double a = x[0]; + G4double k = x[1]; + + if ( a <= 0 ) + { + return 3.402823466e+38; // FLOAT_MAX + } + if ( k == 0 ) + { + return 3.402823466e+38; // FLOAT_MAX + } + +// f_xi and f_yi is filled at "calc_slope_fit" + + G4double y = 0.0; + G4int i; + for ( i = 0 ; i < int ( f_yi.size() ) ; i++ ) + { + //if ( 1/a * ( 1 + k * f_xi [ i ] / a ) < 0 ) + if ( ( 1 + k * f_xi [ i ] / a ) < 0 ) + { + //return 3.402823466e+38; // FLOAT_MAX + y +=3.402823466e+38; // FLOAT_MAX + } + y += ( f_yi [ i ] - 1/a*std::pow ( ( 1 + k * f_xi [ i ] / a ) , - 1/k - 1 ) ) * ( f_yi [ i ] - 1/a*std::pow ( ( 1 + k * f_xi [ i ] / a ) , - 1/k - 1 ) ); + } +// G4cout << "y = " << y << G4endl; + + return y; +} diff --git a/examples/extended/biasing/B03/History b/examples/extended/biasing/B01/History similarity index 55% rename from examples/extended/biasing/B03/History rename to examples/extended/biasing/B01/History index e1d13065bb..2d2fea3f3f 100644 --- a/examples/extended/biasing/B03/History +++ b/examples/extended/biasing/B01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2005/05/03 10:05:48 allison Exp $ +$Id: History,v 1.2 2007/06/22 13:24:36 ahoward Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,16 +17,9 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- -3rd May 2005 John Allison (examples-V07-00-03) -- Replaced vis manager with G4VisExecutive. +June 22nd, 2007 A.Howard - B01-V08-03-01 +- Removed B01PSScoringDetectorConstruction as part of clean-up. -March 17th, 2005 G.Daquino - B03-V07-00-00 -- porting B03 from PI working with rh73 to PI working with slc3 - -Jun 20th, 2004 G.Daquino - B03-V06-01-00 -- porting B03 from Anaphe (Lizard) to PI. Actually, PI 1.2.1 still DOES NOT - allow the plotting in the same way, previously set in Anaphe. Therefore the - HBOOk file produced at the end of the example still needs other packages to - be displayed. However, future PI releases could contain python modules with - this property. - README file has been updated accordingly. +June 22nd, 2007 A.Howard - B01-V08-03-00 +- Cleaned up code ready for release +- kept B01PSScoringDetectorConstruction - could be removed? diff --git a/examples/extended/biasing/B01/exampleB01.cc b/examples/extended/biasing/B01/exampleB01.cc index 5d1ec9eda9..3f86cc12e7 100644 --- a/examples/extended/biasing/B01/exampleB01.cc +++ b/examples/extended/biasing/B01/exampleB01.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleB01.cc,v 1.23 2006/06/29 16:34:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: exampleB01.cc,v 1.27 2007/06/22 13:22:09 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- @@ -55,28 +55,26 @@ #include "G4UImanager.hh" #include "G4GeometryManager.hh" +// user classes #include "B01DetectorConstruction.hh" #include "B01PhysicsList.hh" #include "B01PrimaryGeneratorAction.hh" +#include "B01RunAction.hh" +#include "B01ScoreTable.hh" // Files specific for biasing and scoring -#include "G4Scorer.hh" -#include "G4MassGeometrySampler.hh" +#include "G4GeometrySampler.hh" #include "G4IStore.hh" #include "G4VWeightWindowStore.hh" #include "G4WeightWindowAlgorithm.hh" -// a score table -#include "G4ScoreTable.hh" - int main(int argc, char **argv) { G4int mode = 0; if (argc>1) mode = atoi(argv[1]); - std::ostream *myout = &G4cout; - G4int numberOfEvent = 100; + G4int numberOfEvents = 100; G4long myseed = 345354; CLHEP::HepRandom::setTheSeed(myseed); @@ -88,6 +86,7 @@ int main(int argc, char **argv) // --------------------------------------------------- runManager->SetUserInitialization(new B01PhysicsList); runManager->SetUserAction(new B01PrimaryGeneratorAction); + runManager->SetUserAction(new B01RunAction); runManager->Initialize(); // pointers for importance store, weight-window store @@ -97,14 +96,10 @@ int main(int argc, char **argv) G4VWeightWindowStore *aWWstore = 0; G4VWeightWindowAlgorithm *wwAlg = 0; - // use a scorer - // - G4Scorer scorer; - // create sampler for biasing and scoring in the mass geometry // - G4MassGeometrySampler mgs("neutron"); - mgs.PrepareScoring(&scorer); + G4GeometrySampler mgs(detector->GetWorldVolume(),"neutron"); + mgs.SetParallel(false); if (mode == 0) { @@ -133,12 +128,11 @@ int main(int argc, char **argv) } mgs.Configure(); - runManager->BeamOn(numberOfEvent); + runManager->BeamOn(numberOfEvents); // print a table of the scores // - G4ScoreTable sp(aIstore); - sp.Print(scorer.GetMapGeometryCellCellScorer(), myout); + B01ScoreTable sp(aIstore); //ASO // open geometry for clean biasing stores clean-up // diff --git a/examples/extended/biasing/B01/exampleB01.out b/examples/extended/biasing/B01/exampleB01.out index 623fbfefe7..71445902a7 100644 --- a/examples/extended/biasing/B01/exampleB01.out +++ b/examples/extended/biasing/B01/exampleB01.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -25,8 +25,20 @@ Going to assign importance: 16384, to volume: cell_15 Going to assign importance: 32768, to volume: cell_16 Going to assign importance: 65536, to volume: cell_17 Going to assign importance: 131072, to volume: cell_18 + preparing importance sampling + creating istore + creating importance configurator + entering configure + importance configurator push_back + pushed + vsampler configurator loop + looping 1 + sampler configurator + entering importance configure, paraflag 0 + creating importance process, paraflag is: 0 + importance process paraflag is: 0 === G4ProcessPlacer::AddProcessAsSecondDoIt: for: neutron - ProcessName: MScoreProcess + ProcessName: ImportanceProcess The initial Vectors: GPIL Vector: Decay @@ -49,56 +61,18 @@ GPIL Vector: HadronFission inelastic HadronElastic - MScoreProcess + ImportanceProcess Transportation DoIt Vector: Transportation - MScoreProcess - HadronElastic - inelastic - HadronFission - HadronCapture - Decay -================================================ -=== G4ProcessPlacer::AddProcessAsSecondDoIt: for: neutron - ProcessName: MassImportanceProcess -The initial Vectors: -GPIL Vector: - Decay - HadronCapture - HadronFission - inelastic - HadronElastic - MScoreProcess - Transportation -DoIt Vector: - Transportation - MScoreProcess - HadronElastic - inelastic - HadronFission - HadronCapture - Decay -The final Vectors: -GPIL Vector: - Decay - HadronCapture - HadronFission - inelastic - HadronElastic - MScoreProcess - MassImportanceProcess - Transportation -DoIt Vector: - Transportation - MassImportanceProcess - MScoreProcess + ImportanceProcess HadronElastic inelastic HadronFission HadronCapture Decay ================================================ + configure preconf conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; sampling secondary e+e- according Bethe-Heitler model @@ -116,7 +90,7 @@ phot: Total cross sections from Sandia parametrisation. msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -129,7 +103,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -142,7 +116,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -151,7 +125,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -163,7 +137,7 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 hIoni: tables are built for anti_proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -176,7 +150,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -223,7 +197,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -232,29 +206,44 @@ hIoni: tables are built for pi- Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV Parametrisation from Bragg for protons below. Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 -Volume name | Importance| Tr.Entering| Population| Collisions| Coll*WGT| NumWGTedE| FluxWGTedE| Av.Tr.WGT| -cell_01_rep:0............ | 1 | 118 | 150 | 149 | 149 | 7.2096509 | 8.5785508 | 1 | -cell_02_rep:0............ | 2 | 87 | 192 | 189 | 94.5 | 8.2328232 | 8.660209 | 1 | -cell_03_rep:0............ | 4 | 99 | 212 | 240 | 60 | 6.6805827 | 7.9415373 | 1 | -cell_04_rep:0............ | 8 | 119 | 258 | 287 | 35.875 | 6.957465 | 7.8605556 | 1 | -cell_05_rep:0............ | 16 | 150 | 321 | 396 | 24.75 | 5.1009587 | 7.099783 | 1 | -cell_06_rep:0............ | 32 | 162 | 353 | 426 | 13.3125 | 4.6037023 | 7.0570615 | 1 | -cell_07_rep:0............ | 64 | 205 | 416 | 568 | 8.875 | 4.8261852 | 6.6681408 | 1 | -cell_08_rep:0............ | 128 | 223 | 486 | 656 | 5.125 | 0.53648464 | 6.6539856 | 1 | -cell_09_rep:0............ | 256 | 251 | 519 | 751 | 2.9335938 | 4.943392 | 6.39047 | 1 | -cell_10_rep:0............ | 512 | 288 | 597 | 875 | 1.7089844 | 4.3487469 | 6.110481 | 1 | -cell_11_rep:0............ | 1024 | 337 | 698 | 1058 | 1.0332031 | 4.4329506 | 6.0885935 | 1 | -cell_12_rep:0............ | 2048 | 393 | 782 | 1238 | 0.60449219 | 4.4763037 | 6.0639968 | 1 | -cell_13_rep:0............ | 4096 | 451 | 930 | 1440 | 0.3515625 | 4.2499709 | 5.7580044 | 1 | -cell_14_rep:0............ | 8192 | 472 | 985 | 1522 | 0.18579102 | 0.072154763 | 5.4255988 | 1 | -cell_15_rep:0............ | 16384 | 503 | 1014 | 1715 | 0.10467529 | 0.87569507 | 5.1929267 | 1 | -cell_16_rep:0............ | 32768 | 576 | 1204 | 2080 | 0.063476562 | 0.13469363 | 4.97975 | 1 | -cell_17_rep:0............ | 65536 | 635 | 1281 | 2314 | 0.035308838 | 3.3098112 | 4.7409862 | 1 | -cell_18_rep:0............ | 131072 | 565 | 1356 | 2505 | 0.019111633 | 3.1110957 | 4.603961 | 1 | -rest_rep:0............... | 131072 | 601 | 601 | 0 | 0 | 0 | 0 | 0 | -shieldWorld_rep:0........ | 1 | 14 | 114 | 0 | 0 | 10 | 10 | 1 | +++ ConcreteSD/Collisions id 0 +++ ConcreteSD/CollWeight id 1 +++ ConcreteSD/Population id 2 +++ ConcreteSD/TrackEnter id 3 +++ ConcreteSD/SL id 4 +++ ConcreteSD/SLW id 5 +++ ConcreteSD/SLWE id 6 +++ ConcreteSD/SLW_V id 7 +++ ConcreteSD/SLWE_V id 8 +### Run 0 start. + ###### EndOfRunAction +============================================================= + Number of event processed : 100 +============================================================= + Volume | Tr.Entering | Population | Collisions | Coll*WGT | NumWGTedE | FluxWGTedE | Av.Tr.WGT | SL | SLW | SLW_v | SLWE | SLWE_v | + cell_00 | 7 | 106 | 0 | 0 | 4.8570632 | 6.394919 | 1 | 1113.0539 | 1113.0539 | 39.997852 | 7117.8892 | 194.27209 | + cell_01 | 107 | 126 | 160 | 160 | 7.245862 | 8.6524027 | 1 | 12127.588 | 12127.588 | 350.85037 | 104932.77 | 2542.2133 | + cell_02 | 72 | 171 | 216 | 108 | 6.1900176 | 8.0820959 | 0.5 | 16630.552 | 8315.2759 | 269.99556 | 67204.857 | 1671.2773 | + cell_03 | 84 | 188 | 199 | 49.75 | 7.3393396 | 8.7216156 | 0.25 | 19277.93 | 4819.4826 | 139.36705 | 42033.675 | 1022.8621 | + cell_04 | 107 | 249 | 314 | 39.25 | 6.2237328 | 8.0359115 | 0.125 | 25982.232 | 3247.779 | 105.22726 | 26098.865 | 654.90636 | + cell_05 | 119 | 274 | 350 | 21.875 | 5.8304001 | 7.7473901 | 0.0625 | 29050.14 | 1815.6337 | 61.166969 | 14066.423 | 356.6279 | + cell_06 | 138 | 314 | 483 | 15.09375 | 5.061069 | 7.4461955 | 0.03125 | 33710.715 | 1053.4598 | 39.851437 | 7844.2679 | 201.69087 | + cell_07 | 138 | 312 | 458 | 7.15625 | 5.2852313 | 7.2039361 | 0.015625 | 35495.11 | 554.6111 | 19.756546 | 3995.3829 | 104.41791 | + cell_08 | 170 | 390 | 654 | 5.109375 | 4.9015271 | 6.698322 | 0.0078125 | 45936.052 | 358.8754 | 13.198783 | 2403.863 | 64.694191 | + cell_09 | 186 | 431 | 655 | 2.5585938 | 4.5999796 | 6.2994019 | 0.00390625 | 45880.729 | 179.2216 | 6.788147 | 1128.9889 | 31.225338 | + cell_10 | 205 | 461 | 802 | 1.5664062 | 4.0725245 | 5.9959975 | 0.001953125 | 52001.934 | 101.56628 | 4.2218939 | 608.99115 | 17.193766 | + cell_11 | 232 | 512 | 857 | 0.83691406 | 0.75577079 | 5.6832231 | 0.0009765625 | 58106.748 | 56.744871 | 12.259625 | 322.49376 | 9.2654668 | + cell_12 | 271 | 584 | 1056 | 0.515625 | 3.0370662 | 5.2506271 | 0.00048828125 | 67467.473 | 32.943102 | 1.6912862 | 172.97195 | 5.136548 | + cell_13 | 311 | 675 | 1216 | 0.296875 | 3.2604017 | 4.9243062 | 0.00024414062 | 75024.488 | 18.316525 | 0.84787155 | 90.196179 | 2.7644018 | + cell_14 | 329 | 758 | 1419 | 0.17321777 | 3.4451656 | 4.769336 | 0.00012207031 | 84584.636 | 10.325273 | 0.4478539 | 49.244695 | 1.5429309 | + cell_15 | 364 | 783 | 1540 | 0.093994141 | 0.40940195 | 4.4470643 | 6.1035156e-05 | 91736.425 | 5.599147 | 1.9622683 | 24.899767 | 0.80335646 | + cell_16 | 398 | 858 | 1703 | 0.051971436 | 0.25175739 | 4.2259526 | 3.0517578e-05 | 98797.986 | 3.0150753 | 1.6715126 | 12.741565 | 0.42081564 | + cell_17 | 413 | 932 | 1881 | 0.028701782 | 2.8791199 | 4.1895463 | 1.5258789e-05 | 107543.85 | 1.6409889 | 0.079050326 | 6.874999 | 0.22759537 | + cell_18 | 383 | 889 | 1706 | 0.013015747 | 2.8292119 | 4.1307913 | 7.6293945e-06 | 100556.11 | 0.76718227 | 0.037287182 | 3.1690698 | 0.10549334 | + cell_19 | 440 | 440 | 0 | 0 | 2.8202313 | 4.1847543 | 7.6293945e-06 | 63345.904 | 0.48329089 | 0.023651264 | 2.0224537 | 0.066702034 | +============================================= === G4ProcessPlacer::RemoveProcess: for: neutron - ProcessName: MassImportanceProcess, will be removed! + ProcessName: ImportanceProcess, will be removed! The initial Vectors: GPIL Vector: Decay @@ -262,50 +251,11 @@ GPIL Vector: HadronFission inelastic HadronElastic - MScoreProcess - MassImportanceProcess + ImportanceProcess Transportation DoIt Vector: Transportation - MassImportanceProcess - MScoreProcess - HadronElastic - inelastic - HadronFission - HadronCapture - Decay - The final Vectors: -GPIL Vector: - Decay - HadronCapture - HadronFission - inelastic - HadronElastic - MScoreProcess - Transportation -DoIt Vector: - Transportation - MScoreProcess - HadronElastic - inelastic - HadronFission - HadronCapture - Decay -================================================ -=== G4ProcessPlacer::RemoveProcess: for: neutron - ProcessName: MScoreProcess, will be removed! - The initial Vectors: -GPIL Vector: - Decay - HadronCapture - HadronFission - inelastic - HadronElastic - MScoreProcess - Transportation -DoIt Vector: - Transportation - MScoreProcess + ImportanceProcess HadronElastic inelastic HadronFission diff --git a/examples/extended/biasing/B01/include/B01DetectorConstruction.hh b/examples/extended/biasing/B01/include/B01DetectorConstruction.hh index 0150417fc6..f79b2fcb0a 100644 --- a/examples/extended/biasing/B01/include/B01DetectorConstruction.hh +++ b/examples/extended/biasing/B01/include/B01DetectorConstruction.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: B01DetectorConstruction.hh,v 1.7 2006/06/29 16:34:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: B01DetectorConstruction.hh,v 1.9 2007/06/22 13:15:29 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef B01DetectorConstruction_hh @@ -35,6 +35,7 @@ #include "G4VUserDetectorConstruction.hh" #include class G4VPhysicalVolume; +class G4LogicalVolume; class G4VIStore; class G4VWeightWindowStore; @@ -54,8 +55,16 @@ public: // deleting it G4String GetCellName(G4int i); + + G4VPhysicalVolume* GetWorldVolume(); + + void SetSensitive(); + private: std::vector< G4VPhysicalVolume * > fPhysicalVolumeVector; + std::vector< G4LogicalVolume * > fLogicalVolumeVector; + + G4VPhysicalVolume* pWorldVolume; }; diff --git a/examples/extended/biasing/B01/include/B01PhysicsList.hh b/examples/extended/biasing/B01/include/B01PhysicsList.hh index 45fa9e4052..19cac07008 100644 --- a/examples/extended/biasing/B01/include/B01PhysicsList.hh +++ b/examples/extended/biasing/B01/include/B01PhysicsList.hh @@ -30,6 +30,7 @@ #include "G4VUserPhysicsList.hh" #include "globals.hh" +#include // taken from Tst12PhysicsList @@ -39,6 +40,10 @@ class B01PhysicsList: public G4VUserPhysicsList B01PhysicsList(); virtual ~B01PhysicsList(); + public: + void AddParallelWorldName(G4String& pname) + {paraWorldName.push_back(pname);} + protected: // Construct particle and physics virtual void ConstructParticle(); @@ -53,6 +58,7 @@ class B01PhysicsList: public G4VUserPhysicsList virtual void ConstructEM(); virtual void ConstructHad(); virtual void ConstructLeptHad(); + void AddScoringProcess(); // void ConstructAllBosons(); void ConstructAllLeptons(); @@ -61,6 +67,9 @@ class B01PhysicsList: public G4VUserPhysicsList void ConstructAllIons(); void ConstructAllShortLiveds(); + private: + std::vector paraWorldName; + }; #endif diff --git a/examples/extended/biasing/B01/include/B01Run.hh b/examples/extended/biasing/B01/include/B01Run.hh new file mode 100644 index 0000000000..f3b35b7b80 --- /dev/null +++ b/examples/extended/biasing/B01/include/B01Run.hh @@ -0,0 +1,84 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: B01Run.hh,v 1.4 2007/06/21 15:03:33 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +//--------------------------------------------------------------------- +// (Purpose) +// Example implementation for multi-functional-detector and +// primitive scorer. +// This B01Run class has collections which accumulate +// a event information into a run information. +// +//--------------------------------------------------------------------- + +#ifndef B01Run_h +#define B01Run_h 1 + +#include "G4Run.hh" +#include "G4Event.hh" + +#include "G4THitsMap.hh" +#include +// +class B01Run : public G4Run { + +public: + // constructor and destructor. + // vector of multifunctionaldetector name has to given to constructor. + B01Run(const std::vector mfdName); + virtual ~B01Run(); + +public: + // virtual method from G4Run. + // The method is overriden in this class for scoring. + virtual void RecordEvent(const G4Event*); + + // Access methods for scoring information. + // - Number of HitsMap for this RUN. + // This is equal to number of collections. + G4int GetNumberOfHitsMap() const {return theRunMap.size();} + // - Get HitsMap of this RUN. + // by sequential number, by multifucntional name and collection name, + // and by collection name with full path. + G4THitsMap* GetHitsMap(G4int i){return theRunMap[i];} + G4THitsMap* GetHitsMap(const G4String& detName, + const G4String& colName); + G4THitsMap* GetHitsMap(const G4String& fullName); + // - Dump All HitsMap of this RUN. + // This method calls G4THisMap::PrintAll() for individual HitsMap. + void DumpAllScorer(); + +private: + std::vector theCollName; + std::vector theCollID; + std::vector*> theRunMap; +}; + +// + +#endif diff --git a/examples/extended/biasing/B01/include/B01RunAction.hh b/examples/extended/biasing/B01/include/B01RunAction.hh new file mode 100644 index 0000000000..27ebe5b6bd --- /dev/null +++ b/examples/extended/biasing/B01/include/B01RunAction.hh @@ -0,0 +1,76 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: B01RunAction.hh,v 1.2 2007/06/21 15:03:35 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// + +#ifndef B01RunAction_h +#define B01RunAction_h 1 + +#include "G4UserRunAction.hh" +#include "globals.hh" +#include + +class G4Run; + +//======================================================================= +// B01RunAction +// +// +// +//======================================================================= +// +class B01RunAction : public G4UserRunAction +{ +public: + // constructor and destructor + B01RunAction(); + virtual ~B01RunAction(); + +public: + // virtual method from G4UserRunAction. + virtual G4Run* GenerateRun(); + virtual void BeginOfRunAction(const G4Run*); + virtual void EndOfRunAction(const G4Run*); + +public: + void PrintHeader(std::ostream *out); + std::string FillString(const std::string &name, char c, G4int n, G4bool back=true); + +private: + // Data member + // - vector of MultiFunctionalDetecor names. + std::vector theSDName; + G4int FieldName; + G4int FieldValue; + + +}; + +// + +#endif diff --git a/source/event/include/G4ScoreTable.hh b/examples/extended/biasing/B01/include/B01ScoreTable.hh similarity index 88% rename from source/event/include/G4ScoreTable.hh rename to examples/extended/biasing/B01/include/B01ScoreTable.hh index 3f17c63e14..737fc6ceb9 100644 --- a/source/event/include/G4ScoreTable.hh +++ b/examples/extended/biasing/B01/include/B01ScoreTable.hh @@ -23,11 +23,11 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ScoreTable.hh,v 1.3 2006/06/29 18:08:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: B01ScoreTable.hh,v 1.1 2007/06/05 18:20:09 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- -// Class G4ScoreTable +// Class B01ScoreTable // // Class description: // @@ -39,8 +39,8 @@ // ---------------------------------------------------------------------- // -#ifndef G4ScoreTable_hh -#define G4ScoreTable_hh G4ScoreTable_hh +#ifndef B01ScoreTable_hh +#define B01ScoreTable_hh B01ScoreTable_hh #include #include @@ -52,12 +52,12 @@ class G4VIStore; -class G4ScoreTable +class B01ScoreTable { public: // with description - explicit G4ScoreTable(const G4VIStore *aIStore = 0); + explicit B01ScoreTable(const G4VIStore *aIStore = 0); - ~G4ScoreTable(); + ~B01ScoreTable(); void Print(const G4MapGeometryCellCellScorer &cs, std::ostream *out = 0); @@ -76,8 +76,8 @@ public: // with description // name with the char c. private: - G4ScoreTable(const G4ScoreTable &); - G4ScoreTable &operator=(const G4ScoreTable &); + B01ScoreTable(const B01ScoreTable &); + B01ScoreTable &operator=(const B01ScoreTable &); G4String CreateName(const G4GeometryCell &gCell); void PrintLine(const G4String &name, diff --git a/examples/extended/biasing/B01/src/B01DetectorConstruction.cc b/examples/extended/biasing/B01/src/B01DetectorConstruction.cc index ede40d21b3..bff8c40bbc 100644 --- a/examples/extended/biasing/B01/src/B01DetectorConstruction.cc +++ b/examples/extended/biasing/B01/src/B01DetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: B01DetectorConstruction.cc,v 1.17 2006/06/29 16:34:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: B01DetectorConstruction.cc,v 1.20 2007/06/22 13:15:29 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4Types.hh" @@ -44,6 +44,15 @@ #include "G4VisAttributes.hh" #include "G4Colour.hh" +// For Primitive Scorers +#include "G4SDManager.hh" +#include "G4MultiFunctionalDetector.hh" +#include "G4SDParticleFilter.hh" +#include "G4PSNofCollision.hh" +#include "G4PSPopulation.hh" +#include "G4PSTrackCounter.hh" +#include "G4PSTrackLength.hh" + // for importance biasing #include "G4IStore.hh" @@ -51,7 +60,7 @@ #include "G4WeightWindowStore.hh" B01DetectorConstruction::B01DetectorConstruction() : - fPhysicalVolumeVector() + fPhysicalVolumeVector(),fLogicalVolumeVector() {;} B01DetectorConstruction::~B01DetectorConstruction() @@ -144,9 +153,10 @@ G4VPhysicalVolume* B01DetectorConstruction::Construct() G4LogicalVolume *worldCylinder_log = new G4LogicalVolume(worldCylinder, Galactic, "worldCylinder_log"); + fLogicalVolumeVector.push_back(worldCylinder_log); name = "shieldWorld"; - G4VPhysicalVolume *pWorldVolume = new + pWorldVolume = new G4PVPlacement(0, G4ThreeVector(0,0,0), worldCylinder_log, name, 0, false, 0); @@ -172,6 +182,7 @@ G4VPhysicalVolume* B01DetectorConstruction::Construct() G4LogicalVolume *aShield_log = new G4LogicalVolume(aShield, Concrete, "aShield_log"); + fLogicalVolumeVector.push_back(aShield_log); G4VisAttributes* pShieldVis = new G4VisAttributes(G4Colour(0.0,0.0,1.0)); pShieldVis->SetForceSolid(true); @@ -194,7 +205,7 @@ G4VPhysicalVolume* B01DetectorConstruction::Construct() name, worldCylinder_log, false, - 0); + i); fPhysicalVolumeVector.push_back(pvol); } @@ -217,6 +228,7 @@ G4VPhysicalVolume* B01DetectorConstruction::Construct() G4LogicalVolume *aRest_log = new G4LogicalVolume(aRest, Galactic, "aRest_log"); + fLogicalVolumeVector.push_back(aRest_log); name = "rest"; pos_x = 0*cm; @@ -229,9 +241,11 @@ G4VPhysicalVolume* B01DetectorConstruction::Construct() name, worldCylinder_log, false, - 0); + 19); // i=19 fPhysicalVolumeVector.push_back(pvol_rest); + + SetSensitive(); return pWorldVolume; } @@ -243,7 +257,7 @@ G4VIStore *B01DetectorConstruction::CreateImportanceStore() G4Exception("B01-DetectorConstruction: no physical volumes created yet!"); } - G4VPhysicalVolume *pWorldVolume = fPhysicalVolumeVector[0]; + pWorldVolume = fPhysicalVolumeVector[0]; // creating and filling the importance store @@ -261,7 +275,7 @@ G4VIStore *B01DetectorConstruction::CreateImportanceStore() imp = std::pow(2., n++); G4cout << "Going to assign importance: " << imp << ", to volume: " << (*it)->GetName() << G4endl; - istore->AddImportanceGeometryCell(imp, *(*it)); + istore->AddImportanceGeometryCell(imp, *(*it),n); } } @@ -269,7 +283,7 @@ G4VIStore *B01DetectorConstruction::CreateImportanceStore() // importance as the last conrete cell // istore->AddImportanceGeometryCell(imp, - *(fPhysicalVolumeVector[fPhysicalVolumeVector.size()-1])); + *(fPhysicalVolumeVector[fPhysicalVolumeVector.size()-1]),++n); return istore; } @@ -281,7 +295,7 @@ G4VWeightWindowStore *B01DetectorConstruction::CreateWeightWindowStore() G4Exception("B01-CreateWeightWindowStore: no physical volumes created yet!"); } - G4VPhysicalVolume *pWorldVolume = fPhysicalVolumeVector[0]; + pWorldVolume = fPhysicalVolumeVector[0]; // creating and filling the weight window store @@ -311,7 +325,7 @@ G4VWeightWindowStore *B01DetectorConstruction::CreateWeightWindowStore() G4cout << "Going to assign lower weight: " << lowerWeight << ", to volume: " << (*it)->GetName() << G4endl; - G4GeometryCell gCell(*(*it),0); + G4GeometryCell gCell(*(*it),n); lowerWeights.clear(); lowerWeights.push_back(lowerWeight); wwstore->AddLowerWeights(gCell, lowerWeights); @@ -322,7 +336,7 @@ G4VWeightWindowStore *B01DetectorConstruction::CreateWeightWindowStore() // lower weight bound as the last conrete cell // G4GeometryCell - gRestCell(*(fPhysicalVolumeVector[fPhysicalVolumeVector.size()-1]), 0); + gRestCell(*(fPhysicalVolumeVector[fPhysicalVolumeVector.size()-1]), ++n); wwstore->AddLowerWeights(gRestCell, lowerWeights); return wwstore; @@ -340,3 +354,95 @@ G4String B01DetectorConstruction::GetCellName(G4int i) G4String name = os.str(); return name; } + +G4VPhysicalVolume *B01DetectorConstruction::GetWorldVolume() { + return pWorldVolume; +} + +void B01DetectorConstruction::SetSensitive(){ + + // ------------------------------------------------- + // The collection names of defined Primitives are + // 0 ConcreteSD/Collisions + // 1 ConcreteSD/CollWeight + // 2 ConcreteSD/Population + // 3 ConcreteSD/TrackEnter + // 4 ConcreteSD/SL + // 5 ConcreteSD/SLW + // 6 ConcreteSD/SLWE + // 7 ConcreteSD/SLW_V + // 8 ConcreteSD/SLWE_V + // ------------------------------------------------- + + + //================================================ + // Sensitive detectors : MultiFunctionalDetector + //================================================ + // + // Sensitive Detector Manager. + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + // + // Sensitive Detector Name + G4String concreteSDname = "ConcreteSD"; + + //------------------------ + // MultiFunctionalDetector + //------------------------ + // + // Define MultiFunctionalDetector with name. + G4MultiFunctionalDetector* MFDet = new G4MultiFunctionalDetector(concreteSDname); + SDman->AddNewDetector( MFDet ); // Register SD to SDManager + + + G4String fltName,particleName; + G4SDParticleFilter* neutronFilter = + new G4SDParticleFilter(fltName="neutronFilter", particleName="neutron"); + + MFDet->SetFilter(neutronFilter); + + + for (std::vector::iterator it = fLogicalVolumeVector.begin(); + it != fLogicalVolumeVector.end(); it++){ + (*it)->SetSensitiveDetector(MFDet); + } + + G4String psName; + G4PSNofCollision* scorer0 = new G4PSNofCollision(psName="Collisions"); + MFDet->RegisterPrimitive(scorer0); + + + G4PSNofCollision* scorer1 = new G4PSNofCollision(psName="CollWeight"); + scorer1->Weighted(true); + MFDet->RegisterPrimitive(scorer1); + + + G4PSPopulation* scorer2 = new G4PSPopulation(psName="Population"); + MFDet->RegisterPrimitive(scorer2); + + G4PSTrackCounter* scorer3 = new G4PSTrackCounter(psName="TrackEnter",fCurrent_In); + MFDet->RegisterPrimitive(scorer3); + + G4PSTrackLength* scorer4 = new G4PSTrackLength(psName="SL"); + MFDet->RegisterPrimitive(scorer4); + + G4PSTrackLength* scorer5 = new G4PSTrackLength(psName="SLW"); + scorer5->Weighted(true); + MFDet->RegisterPrimitive(scorer5); + + G4PSTrackLength* scorer6 = new G4PSTrackLength(psName="SLWE"); + scorer6->Weighted(true); + scorer6->MultiplyKineticEnergy(true); + MFDet->RegisterPrimitive(scorer6); + + G4PSTrackLength* scorer7 = new G4PSTrackLength(psName="SLW_V"); + scorer7->Weighted(true); + scorer7->DivideByVelocity(true); + MFDet->RegisterPrimitive(scorer7); + + G4PSTrackLength* scorer8 = new G4PSTrackLength(psName="SLWE_V"); + scorer8->Weighted(true); + scorer8->MultiplyKineticEnergy(true); + scorer8->DivideByVelocity(true); + MFDet->RegisterPrimitive(scorer8); + +} diff --git a/examples/extended/biasing/B01/src/B01PhysicsList.cc b/examples/extended/biasing/B01/src/B01PhysicsList.cc index 1d2dd6be95..54277c0fa4 100644 --- a/examples/extended/biasing/B01/src/B01PhysicsList.cc +++ b/examples/extended/biasing/B01/src/B01PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: B01PhysicsList.cc,v 1.6 2006/06/29 16:34:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: B01PhysicsList.cc,v 1.8 2007/06/05 18:20:09 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" @@ -50,11 +50,14 @@ B01PhysicsList::B01PhysicsList(): G4VUserPhysicsList() { + paraWorldName.clear(); SetVerboseLevel(1); + } B01PhysicsList::~B01PhysicsList() { + paraWorldName.clear(); } void B01PhysicsList::ConstructParticle() @@ -117,6 +120,7 @@ void B01PhysicsList::ConstructAllShortLiveds() void B01PhysicsList::ConstructProcess() { AddTransportation(); + AddScoringProcess(); ConstructEM(); ConstructLeptHad(); ConstructHad(); @@ -634,3 +638,27 @@ void B01PhysicsList::SetCuts() // the default cut value for all particle types SetCutsWithDefault(); } + +#include "G4ParallelWorldScoringProcess.hh" +void B01PhysicsList::AddScoringProcess(){ + + G4int npw = paraWorldName.size(); + for ( G4int i = 0; i < npw; i++){ + G4ParallelWorldScoringProcess* theParallelWorldScoringProcess + = new G4ParallelWorldScoringProcess("ParaWorldScoringProc"); + theParallelWorldScoringProcess->SetParallelWorld(paraWorldName[i]); + + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + if ( !particle->IsShortLived() ){ + G4ProcessManager* pmanager = particle->GetProcessManager(); + pmanager->AddProcess(theParallelWorldScoringProcess); + pmanager->SetProcessOrderingToLast(theParallelWorldScoringProcess,idxAtRest); + pmanager->SetProcessOrdering(theParallelWorldScoringProcess,idxAlongStep,1); + pmanager->SetProcessOrderingToLast(theParallelWorldScoringProcess,idxPostStep); + } + } + } + +} diff --git a/examples/extended/biasing/B01/src/B01PrimaryGeneratorAction.cc b/examples/extended/biasing/B01/src/B01PrimaryGeneratorAction.cc index 85d02fda27..f31640ed69 100644 --- a/examples/extended/biasing/B01/src/B01PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/B01/src/B01PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: B01PrimaryGeneratorAction.cc,v 1.8 2006/06/29 16:34:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/examples/extended/biasing/B01/src/B01Run.cc b/examples/extended/biasing/B01/src/B01Run.cc new file mode 100644 index 0000000000..c80b7cca9d --- /dev/null +++ b/examples/extended/biasing/B01/src/B01Run.cc @@ -0,0 +1,208 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: B01Run.cc,v 1.4 2007/06/21 15:03:37 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// + +//===================================================================== +// +// (Description) +// B01Run Class is for accumulating scored quantities which is +// scored using G4MutiFunctionalDetector and G4VPrimitiveScorer. +// Accumulation is done using G4THitsMap object. +// +// The constructor B01Run(const std::vector mfdName) +// needs a vector filled with MultiFunctionalDetector names which +// was assigned at instantiation of MultiFunctionalDetector(MFD). +// Then B01Run constructor automatically scans primitive scorers +// in the MFD, and obtains collectionIDs of all collections associated +// to those primitive scorers. Futhermore, the G4THitsMap objects +// for accumulating during a RUN are automatically created too. +// (*) Collection Name is same as primitive scorer name. +// +// The resultant information is kept inside B01Run objects as +// data members. +// std::vector theCollName; // Collection Name, +// std::vector theCollID; // Collection ID, +// std::vector*> theRunMap; // HitsMap for RUN. +// +// The resualtant HitsMap objects are obtain using access method, +// GetHitsMap(..). +// +//===================================================================== + +#include "B01Run.hh" +#include "G4SDManager.hh" + +#include "G4MultiFunctionalDetector.hh" +#include "G4VPrimitiveScorer.hh" + +// +// Constructor. +// (The vector of MultiFunctionalDetector name has to given.) +B01Run::B01Run(const std::vector mfdName): G4Run() +{ + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + //================================================= + // Initalize RunMaps for accumulation. + // Get CollectionIDs for HitCollections. + //================================================= + G4int Nmfd = mfdName.size(); + for ( G4int idet = 0; idet < Nmfd ; idet++){ // Loop for all MFD. + G4String detName = mfdName[idet]; + //--- Seek and Obtain MFD objects from SDmanager. + G4MultiFunctionalDetector* mfd = + (G4MultiFunctionalDetector*)(SDman->FindSensitiveDetector(detName)); + // + if ( mfd ){ + //--- Loop over the registered primitive scorers. + for (G4int icol = 0; icol < mfd->GetNumberOfPrimitives(); icol++){ + // Get Primitive Scorer object. + G4VPrimitiveScorer* scorer=mfd->GetPrimitive(icol); + // collection name and collectionID for HitsCollection, + // where type of HitsCollection is G4THitsMap in case of primitive scorer. + // The collection name is given by /. + G4String collectionName = scorer->GetName(); + G4String fullCollectionName = detName+"/"+collectionName; + G4int collectionID = SDman->GetCollectionID(fullCollectionName); + // + if ( collectionID >= 0 ){ + G4cout << "++ "<(detName,collectionName)); + }else{ + G4cout << "** collection " << fullCollectionName << " not found. "<clear(); + } + theCollName.clear(); + theCollID.clear(); + theRunMap.clear(); +} + +// +// RecordEvent is called at end of event. +// For scoring purpose, the resultant quantity in a event, +// is accumulated during a Run. +void B01Run::RecordEvent(const G4Event* aEvent) +{ + numberOfEvent++; // This is an original line. + + //============================= + // HitsCollection of This Event + //============================ + G4HCofThisEvent* HCE = aEvent->GetHCofThisEvent(); + if (!HCE) return; + + //======================================================= + // Sum up HitsMap of this Event into HitsMap of this RUN + //======================================================= + G4int Ncol = theCollID.size(); + for ( G4int i = 0; i < Ncol ; i++ ){ // Loop over HitsCollection + G4THitsMap* EvtMap=0; + if ( theCollID[i] >= 0 ){ // Collection is attached to HCE + EvtMap = (G4THitsMap*)(HCE->GetHC(theCollID[i])); + }else{ + G4cout <<" Error EvtMap Not Found "<< i << G4endl; + } + if ( EvtMap ) { + //=== Sum up HitsMap of this event to HitsMap of RUN.=== + *theRunMap[i] += *EvtMap; + //====================================================== + } + } + + +} + +//================================================================= +// Access method for HitsMap of the RUN +// +//----- +// Access HitsMap. +// By MultiFunctionalDetector name and Collection Name. +G4THitsMap* B01Run::GetHitsMap(const G4String& detName, + const G4String& colName){ + G4String fullName = detName+"/"+colName; + return GetHitsMap(fullName); +} + +//----- +// Access HitsMap. +// By full description of collection name, that is +// / +G4THitsMap* B01Run::GetHitsMap(const G4String& fullName){ + G4int Ncol = theCollName.size(); + for ( G4int i = 0; i < Ncol; i++){ + if ( theCollName[i] == fullName ){ + return theRunMap[i]; + } + } + return NULL; +} + +//----- +// - Dump All HitsMap of this RUN. (for debuging and monitoring of quantity). +// This method calls G4THisMap::PrintAll() for individual HitsMap. +void B01Run::DumpAllScorer(){ + + // - Number of HitsMap in this RUN. + G4int n = GetNumberOfHitsMap(); + // - GetHitsMap and dump values. + for ( G4int i = 0; i < n ; i++ ){ + G4THitsMap* RunMap =GetHitsMap(i); + if ( RunMap ) { + G4cout << " PrimitiveScorer RUN " + << RunMap->GetSDname() <<","<< RunMap->GetName() << G4endl; + G4cout << " Number of entries " << RunMap->entries() << G4endl; + std::map::iterator itr = RunMap->GetMap()->begin(); + for(; itr != RunMap->GetMap()->end(); itr++) { + G4cout << " copy no.: " << itr->first + << " Run Value : " << *(itr->second) + << G4endl; + } + } + } +} + + diff --git a/examples/extended/biasing/B01/src/B01RunAction.cc b/examples/extended/biasing/B01/src/B01RunAction.cc new file mode 100644 index 0000000000..4a304f50a4 --- /dev/null +++ b/examples/extended/biasing/B01/src/B01RunAction.cc @@ -0,0 +1,227 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: B01RunAction.cc,v 1.4 2007/06/22 13:29:45 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +#include "B01RunAction.hh" +#include "B01Run.hh" + +//-- In order to obtain detector information. +#include "G4RunManager.hh" +#include "B01DetectorConstruction.hh" +#include "G4THitsMap.hh" + +#include "G4UnitsTable.hh" +//======================================================================= +// B01RunAction +// +// +// +//======================================================================= +// Constructor +B01RunAction::B01RunAction(): + FieldName(15), + FieldValue(14) +{ + // - Prepare data member for B01Run. + // vector represents a list of MultiFunctionalDetector names. + theSDName.push_back(G4String("ConcreteSD")); +} + +// Destructor. +B01RunAction::~B01RunAction() +{ + theSDName.clear(); +} + +// +//== +G4Run* B01RunAction::GenerateRun() +{ + // Generate new RUN object, which is specially + // dedicated for MultiFunctionalDetector scheme. + // Detail description can be found in B01Run.hh/cc. + return new B01Run(theSDName); +} + +// +//== +void B01RunAction::BeginOfRunAction(const G4Run* aRun) +{ + G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; +} + +// +//== +void B01RunAction::EndOfRunAction(const G4Run* aRun) +{ + G4cout << " ###### EndOfRunAction " <DumpAllScorer(); + //--- + G4RunManager* mgr = G4RunManager::GetRunManager(); + // + + for ( G4int i = 0; i < (G4int)theSDName.size(); i++ ){ + const G4VUserDetectorConstruction* vdet = mgr->GetUserDetectorConstruction(); + B01DetectorConstruction* bdet = (B01DetectorConstruction*)vdet; + // + + //--------------------------------------------- + // Dump accumulated quantities for this RUN. + // (Display only central region of x-y plane) + // 0 ConcreteSD/Collisions + // 1 ConcreteSD/CollWeight + // 2 ConcreteSD/Population + // 3 ConcreteSD/TrackEnter + // 4 ConcreteSD/SL + // 5 ConcreteSD/SLW + // 6 ConcreteSD/SLWE + // 7 ConcreteSD/SLW_V + // 8 ConcreteSD/SLWE_V + //--------------------------------------------- + G4THitsMap* Collisions = re02Run->GetHitsMap(theSDName[i]+"/Collisions"); + G4THitsMap* CollWeight = re02Run->GetHitsMap(theSDName[i]+"/CollWeight"); + G4THitsMap* Population = re02Run->GetHitsMap(theSDName[i]+"/Population"); + G4THitsMap* TrackEnter = re02Run->GetHitsMap(theSDName[i]+"/TrackEnter"); + G4THitsMap* SL = re02Run->GetHitsMap(theSDName[i]+"/SL"); + G4THitsMap* SLW = re02Run->GetHitsMap(theSDName[i]+"/SLW"); + G4THitsMap* SLWE = re02Run->GetHitsMap(theSDName[i]+"/SLWE"); + G4THitsMap* SLW_V = re02Run->GetHitsMap(theSDName[i]+"/SLW_V"); + G4THitsMap* SLWE_V = re02Run->GetHitsMap(theSDName[i]+"/SLWE_V"); + + + G4cout << "=============================================================" <GetNumberOfEvent() << G4endl; + G4cout << "=============================================================" <GetCellName(iz); + G4cout + << std::setw(FieldValue) << cname << " |" + << std::setw(FieldValue) << (*TrackEnters) << " |" + << std::setw(FieldValue) << (*Populations) << " |" + << std::setw(FieldValue) << (*SumCollisions) << " |" + << std::setw(FieldValue) << (*SumCollWeight) << " |" + << std::setw(FieldValue) << NumWeightedEnergy << " |" + << std::setw(FieldValue) << FluxWeightedEnergy << " |" + << std::setw(FieldValue) << AverageTrackWeight << " |" + << std::setw(FieldValue) << (*SLs) << " |" + << std::setw(FieldValue) << (*SLWs) << " |" + << std::setw(FieldValue) << (*SLW_Vs) << " |" + << std::setw(FieldValue) << (*SLWEs) << " |" + << std::setw(FieldValue) << (*SLWE_Vs) << " |" + << G4endl; + } + G4cout << "============================================="< vecScoreName; + vecScoreName.push_back("Tr.Entering"); + vecScoreName.push_back("Population"); + vecScoreName.push_back("Collisions"); + vecScoreName.push_back("Coll*WGT"); + vecScoreName.push_back("NumWGTedE"); + vecScoreName.push_back("FluxWGTedE"); + vecScoreName.push_back("Av.Tr.WGT"); + vecScoreName.push_back("SL"); + vecScoreName.push_back("SLW"); + vecScoreName.push_back("SLW_v"); + vecScoreName.push_back("SLWE"); + vecScoreName.push_back("SLWE_v"); + + // head line + //std::string vname = FillString("Volume", ' ', FieldName+1); + //*out << vname << '|'; + std::string vname; + *out << std::setw(FieldValue) << "Volume" << " |"; + for (std::vector::iterator it = vecScoreName.begin(); + it != vecScoreName.end(); it++) { + //vname = FillString((*it), +// ' ', +// FieldValue+1, +// false); +// *out << vname << '|'; + *out << std::setw(FieldValue) << (*it) << " |"; + } + *out << G4endl; +} + +std::string B01RunAction::FillString(const std::string &name, + char c, G4int n, G4bool back) +{ + std::string fname(""); + G4int k = n - name.size(); + if (k > 0) { + if (back) { + fname = name; + fname += std::string(k,c); + } + else { + fname = std::string(k,c); + fname += name; + } + } + else { + fname = name; + } + return fname; +} diff --git a/source/event/src/G4ScoreTable.cc b/examples/extended/biasing/B01/src/B01ScoreTable.cc similarity index 82% rename from source/event/src/G4ScoreTable.cc rename to examples/extended/biasing/B01/src/B01ScoreTable.cc index bf5a4b0082..b0fd7a14cb 100644 --- a/source/event/src/G4ScoreTable.cc +++ b/examples/extended/biasing/B01/src/B01ScoreTable.cc @@ -24,17 +24,17 @@ // ******************************************************************** // // -// $Id: G4ScoreTable.cc,v 1.6 2006/06/29 18:10:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: B01ScoreTable.cc,v 1.2 2007/06/22 13:15:29 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file // -// G4ScoreTable.cc +// B01ScoreTable.cc // // ---------------------------------------------------------------------- -#include "G4ScoreTable.hh" +#include "B01ScoreTable.hh" #include #include "G4VPhysicalVolume.hh" @@ -43,15 +43,15 @@ #include "G4CellScorer.hh" -G4ScoreTable::G4ScoreTable(const G4VIStore *aIStore) : +B01ScoreTable::B01ScoreTable(const G4VIStore *aIStore) : fIStore(aIStore), - FieldName(25), + FieldName(15), FieldValue(12) {} -G4ScoreTable::~G4ScoreTable() +B01ScoreTable::~B01ScoreTable() {} -void G4ScoreTable:: +void B01ScoreTable:: Print(const G4MapGeometryCellCellScorer &cs, std::ostream *out){ if (!out) { @@ -61,7 +61,7 @@ Print(const G4MapGeometryCellCellScorer &cs, PrintTable(cs, out); } -void G4ScoreTable::PrintHeader(std::ostream *out) +void B01ScoreTable::PrintHeader(std::ostream *out) { std::vector vecScoreName; vecScoreName.push_back("Importance"); @@ -72,6 +72,11 @@ void G4ScoreTable::PrintHeader(std::ostream *out) vecScoreName.push_back("NumWGTedE"); vecScoreName.push_back("FluxWGTedE"); vecScoreName.push_back("Av.Tr.WGT"); + vecScoreName.push_back("SL"); + vecScoreName.push_back("SLW"); + vecScoreName.push_back("SLW_v"); + vecScoreName.push_back("SLWE"); + vecScoreName.push_back("SLWE_v"); // head line std::string vname = FillString("Volume name", ' ', FieldName+1); @@ -87,7 +92,7 @@ void G4ScoreTable::PrintHeader(std::ostream *out) *out << G4endl; } -G4String G4ScoreTable::CreateName(const G4GeometryCell &gCell) { +G4String B01ScoreTable::CreateName(const G4GeometryCell &gCell) { std::ostringstream os; os << gCell.GetPhysicalVolume().GetName() @@ -98,7 +103,7 @@ G4String G4ScoreTable::CreateName(const G4GeometryCell &gCell) { } -void G4ScoreTable::PrintTable(const G4MapGeometryCellCellScorer &mcs, +void B01ScoreTable::PrintTable(const G4MapGeometryCellCellScorer &mcs, std::ostream *out) { // this lines sort the ScoreValues according to the volume @@ -129,7 +134,7 @@ void G4ScoreTable::PrintTable(const G4MapGeometryCellCellScorer &mcs, out->flush(); } -void G4ScoreTable::PrintLine(const G4String &name, +void B01ScoreTable::PrintLine(const G4String &name, const G4CellScoreValues &sc_scores, std::ostream *out) { @@ -150,12 +155,22 @@ void G4ScoreTable::PrintLine(const G4String &name, *out << std::setw(FieldValue) << sc_scores.fAverageTrackWeight* sc_scores.fImportance << " |"; - + *out << std::setw(FieldValue) << sc_scores.fSumSL + << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumSLW + << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumSLW_v + << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumSLWE + << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumSLWE_v + << " |"; + *out << G4endl; } -std::string G4ScoreTable::FillString(const std::string &name, +std::string B01ScoreTable::FillString(const std::string &name, char c, G4int n, G4bool back) { std::string fname(""); diff --git a/examples/extended/biasing/B02/History b/examples/extended/biasing/B02/History index 804dd89695..fe9665c2e7 100644 --- a/examples/extended/biasing/B02/History +++ b/examples/extended/biasing/B02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.5 2005/05/03 10:05:48 allison Exp $ +$Id: History,v 1.7 2007/06/22 13:38:55 ahoward Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,12 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +June 13th, 2007 A.Howard - B02-V08-03-01 +- Code clean-up for the release + +June 13th, 2007 A.Howard - B02-V08-03-00 +- Migrated example to NEW biasing and scoring schemes. + 3rd May 2005 John Allison (examples-V07-00-03) - Replaced vis manager with G4VisExecutive. diff --git a/examples/extended/biasing/B02/exampleB02.cc b/examples/extended/biasing/B02/exampleB02.cc index cf7901cbcd..13ec118e07 100644 --- a/examples/extended/biasing/B02/exampleB02.cc +++ b/examples/extended/biasing/B02/exampleB02.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleB02.cc,v 1.20 2006/06/29 16:34:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: exampleB02.cc,v 1.22 2007/06/22 13:38:55 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- @@ -64,12 +64,15 @@ #include "B02PhysicsList.hh" #include "B02PrimaryGeneratorAction.hh" +#include "B02RunAction.hh" +#include "B02PSScoringDetectorConstruction.hh" + // construction for the parallel geometry #include "B02ImportanceDetectorConstruction.hh" // Files specific for biasing and scoring -#include "G4Scorer.hh" -#include "G4ParallelGeometrySampler.hh" +//#include "G4Scorer.hh" +#include "G4GeometrySampler.hh" #include "G4IStore.hh" // customized scorer and store @@ -77,7 +80,8 @@ #include "B02CellScorerStore.hh" // a score table -#include "G4ScoreTable.hh" +//#include "G4ScoreTable.hh" +#include "B02ScoreTable.hh" // AIDA stuff @@ -91,8 +95,7 @@ int main(int , char **) { - std::ostream *myout = &G4cout; - G4int numberOfEvent = 100; + G4int numberOfEvents = 100; G4long myseed = 345354; @@ -104,21 +107,36 @@ int main(int , char **) B02DetectorConstruction *detector = new B02DetectorConstruction(); runManager->SetUserInitialization(detector); // --------------------------------------------------- - runManager->SetUserInitialization(new B02PhysicsList); - runManager->SetUserAction(new B02PrimaryGeneratorAction); - // runManager->Initialize(); - // create a parallel detector + // create a parallel detector + // B02ImportanceDetectorConstruction *pdet = + // new B02ImportanceDetectorConstruction; + G4String parallelName("ParallelBiasingWorld"); B02ImportanceDetectorConstruction *pdet = - new B02ImportanceDetectorConstruction; + new B02ImportanceDetectorConstruction(parallelName); + detector->RegisterParallelWorld(pdet); + + + B02PhysicsList* physlist = new B02PhysicsList; + physlist->AddParallelWorldName(parallelName); + //physlist->AddParallelWorldName(sparallelName); + runManager->SetUserInitialization(physlist); + runManager->SetUserAction(new B02PrimaryGeneratorAction); + // runManager->SetUserAction(new B02PrimaryGeneratorAction(ifElectron)); + runManager->SetUserAction(new B02RunAction); + runManager->Initialize(); + G4VPhysicalVolume* ghostWorld = pdet->GetWorldVolume(); + G4VPhysicalVolume& aghostWorld = pdet->GetWorldVolumeAddress(); + + G4cout << " ghost world: " << pdet->GetName() << G4endl; // create an importance - G4IStore aIstore(pdet->GetWorldVolume()); + G4IStore aIstore(aghostWorld); // create a geometry cell for the world volume replpicanumber is 0! - G4GeometryCell gWorldVolumeCell(pdet->GetWorldVolume(), 0); + G4GeometryCell gWorldVolumeCell(aghostWorld, 0); // set world volume importance to 1 aIstore.AddImportanceGeometryCell(1, gWorldVolumeCell); @@ -129,8 +147,10 @@ int main(int , char **) G4int cell(1); for (cell=1; cell<=18; cell++) { G4GeometryCell gCell = pdet->GetGeometryCell(cell); + G4cout << " adding cell: " << cell << " replica: " << gCell.GetReplicaNumber() << " name: " << gCell.GetPhysicalVolume().GetName() << G4endl; G4double imp = std::pow(2.0,cell-1); - aIstore.AddImportanceGeometryCell(imp, gCell); + //x aIstore.AddImportanceGeometryCell(imp, gCell); + aIstore.AddImportanceGeometryCell(imp, gCell.GetPhysicalVolume(), cell); // adding the standard G4CellScorer for 17 concrete cells if (cell<18) { b02store.AddG4CellScorer(gCell); @@ -154,29 +174,36 @@ int main(int , char **) G4GeometryCell gCell = pdet->GetGeometryCell(18); b02store.AddB02CellScorer(&b02scorer, gCell); + // create importance geometry cell pair for the "rest"cell // with the same importance as the last concrete cell gCell = pdet->GetGeometryCell(19); - G4double imp = std::pow(2.0,18); - aIstore.AddImportanceGeometryCell(imp, gCell); + // G4double imp = std::pow(2.0,18); + G4double imp = std::pow(2.0,17); + aIstore.AddImportanceGeometryCell(imp, gCell.GetPhysicalVolume(), 19); // create the importance and scoring sampler for biasing and scoring // in the parallel world - G4CellStoreScorer scorer(b02store); + // G4CellStoreScorer scorer(b02store); + + G4GeometrySampler pgs(ghostWorld,"neutron"); + + pgs.SetParallel(true); + + // + // pgs.PrepareScoring(&scorer); - G4ParallelGeometrySampler pgs(pdet->GetWorldVolume(), - "neutron"); - pgs.PrepareScoring(&scorer); pgs.PrepareImportanceSampling(&aIstore, 0); + pgs.Configure(); - runManager->BeamOn(numberOfEvent); + runManager->BeamOn(numberOfEvents); // print a table of the scores - G4ScoreTable sp(&aIstore); - sp.Print(b02store.GetMapGeometryCellCellScorer(), myout); + B02ScoreTable sp(&aIstore); + tree->commit(); diff --git a/examples/extended/biasing/B02/exampleB02.out b/examples/extended/biasing/B02/exampleB02.out index ea6b8b9e43..56ceeca550 100644 --- a/examples/extended/biasing/B02/exampleB02.out +++ b/examples/extended/biasing/B02/exampleB02.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-08-02 $ + Geant4 version $Name: geant4-09-00 $ (31-Jul-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/biasing/B02/include/B02CellScorer.hh b/examples/extended/biasing/B02/include/B02CellScorer.hh index a1b7ea8367..dc461340fd 100644 --- a/examples/extended/biasing/B02/include/B02CellScorer.hh +++ b/examples/extended/biasing/B02/include/B02CellScorer.hh @@ -25,7 +25,7 @@ // // // $Id: B02CellScorer.hh,v 1.3 2006/06/29 16:34:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class B02CellScorer diff --git a/examples/extended/biasing/B02/include/B02CellScorerStore.hh b/examples/extended/biasing/B02/include/B02CellScorerStore.hh index f8da51d0aa..db32eb7476 100644 --- a/examples/extended/biasing/B02/include/B02CellScorerStore.hh +++ b/examples/extended/biasing/B02/include/B02CellScorerStore.hh @@ -25,7 +25,7 @@ // // // $Id: B02CellScorerStore.hh,v 1.3 2006/06/29 16:34:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class B02CellScorerStore diff --git a/examples/extended/biasing/B02/include/B02DetectorConstruction.hh b/examples/extended/biasing/B02/include/B02DetectorConstruction.hh index a474b886e6..428b8aea85 100644 --- a/examples/extended/biasing/B02/include/B02DetectorConstruction.hh +++ b/examples/extended/biasing/B02/include/B02DetectorConstruction.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: B02DetectorConstruction.hh,v 1.4 2006/06/29 16:34:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: B02DetectorConstruction.hh,v 1.6 2007/06/22 13:38:55 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef B02DetectorConstruction_hh @@ -45,6 +45,18 @@ public: G4VPhysicalVolume* Construct(); + G4VPhysicalVolume* GetWorldVolume(); + G4VPhysicalVolume& GetWorldVolumeAddress() const; + + // G4String GetCellName(G4int i); + + void SetSensitive(); + +private: + + G4VPhysicalVolume* pWorldVolume; + + }; #endif diff --git a/examples/extended/biasing/B02/include/B02ImportanceDetectorConstruction.hh b/examples/extended/biasing/B02/include/B02ImportanceDetectorConstruction.hh index b6b54b4427..de040bd147 100644 --- a/examples/extended/biasing/B02/include/B02ImportanceDetectorConstruction.hh +++ b/examples/extended/biasing/B02/include/B02ImportanceDetectorConstruction.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: B02ImportanceDetectorConstruction.hh,v 1.5 2006/06/29 16:34:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: B02ImportanceDetectorConstruction.hh,v 1.7 2007/06/22 13:38:55 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef B02ImportanceDetectorConstruction_hh @@ -33,29 +33,44 @@ #include "globals.hh" #include +#include #include "G4GeometryCell.hh" #include "B02PVolumeStore.hh" +#include "G4VUserParallelWorld.hh" + class G4VPhysicalVolume; +class G4LogicalVolume; -class B02ImportanceDetectorConstruction +class B02ImportanceDetectorConstruction : public G4VUserParallelWorld { public: - B02ImportanceDetectorConstruction(); + B02ImportanceDetectorConstruction(G4String worldName); ~B02ImportanceDetectorConstruction(); const G4VPhysicalVolume &GetPhysicalVolumeByName(const G4String& name) const; - G4VPhysicalVolume &GetWorldVolume() const; + G4VPhysicalVolume &GetWorldVolumeAddress() const; G4String ListPhysNamesAsG4String(); G4String GetCellName(G4int i); G4GeometryCell GetGeometryCell(G4int i); + G4VPhysicalVolume* GetWorldVolume(); + + void SetSensitive(); + private: void Construct(); B02PVolumeStore fPVolumeStore; - G4VPhysicalVolume *fWorldVolume; + + // std::vector< G4VPhysicalVolume * > fPhysicalVolumeVector; + std::vector< G4LogicalVolume * > fLogicalVolumeVector; + + // G4VPhysicalVolume *fWorldVolume; + + G4VPhysicalVolume* ghostWorld; + }; #endif diff --git a/examples/extended/biasing/B03/include/B03ImportanceDetectorConstruction.hh b/examples/extended/biasing/B02/include/B02PSScoringDetectorConstruction.hh similarity index 64% rename from examples/extended/biasing/B03/include/B03ImportanceDetectorConstruction.hh rename to examples/extended/biasing/B02/include/B02PSScoringDetectorConstruction.hh index 346ac48264..d8cd3e86a7 100644 --- a/examples/extended/biasing/B03/include/B03ImportanceDetectorConstruction.hh +++ b/examples/extended/biasing/B02/include/B02PSScoringDetectorConstruction.hh @@ -24,36 +24,51 @@ // ******************************************************************** // // -// $Id: B03ImportanceDetectorConstruction.hh,v 1.3 2006/06/29 16:35:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: B02PSScoringDetectorConstruction.hh,v 1.2 2007/06/22 13:38:55 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -#ifndef B03ImportanceDetectorConstruction_hh -#define B03ImportanceDetectorConstruction_hh B03ImportanceDetectorConstruction_hh +#ifndef B02PSScoringDetectorConstruction_hh +#define B02PSScoringDetectorConstruction_hh B02PSScoringDetectorConstruction_hh #include "globals.hh" #include -#include "B03PVolumeStore.hh" +//#include "G4GeometryCell.hh" +//#include "B02PVolumeStore.hh" + +#include "G4VUserParallelWorld.hh" + +#include class G4VPhysicalVolume; +class G4LogicalVolume; - -class B03ImportanceDetectorConstruction +class B02PSScoringDetectorConstruction: public G4VUserParallelWorld { public: - B03ImportanceDetectorConstruction(); - ~B03ImportanceDetectorConstruction(); + B02PSScoringDetectorConstruction(G4String worldName); + ~B02PSScoringDetectorConstruction(); - const G4VPhysicalVolume &GetPhysicalVolumeByName(const G4String& name) const; - G4VPhysicalVolume &GetWorldVolume() const; - G4String ListPhysNamesAsG4String(); + //const G4VPhysicalVolume &GetPhysicalVolumeByName(const G4String& name) const; + // G4VPhysicalVolume *GetWorldVolume() const; + //G4String ListPhysNamesAsG4String(); G4String GetCellName(G4int i); - G4GeometryCell GetGeometryCell(G4int i); + //G4GeometryCell GetGeometryCell(G4int i); + + G4VPhysicalVolume* GetWorldVolume(); + G4VPhysicalVolume& GetWorldVolumeAddress() const; + + void SetSensitive(); private: void Construct(); - B03PVolumeStore fPVolumeStore;; + //B02PVolumeStore fPVolumeStore; G4VPhysicalVolume *fWorldVolume; + + G4VPhysicalVolume* ghostWorld; + + std::vector< G4LogicalVolume* > fLogicalVolumeVector; + }; #endif diff --git a/examples/extended/biasing/B02/include/B02PhysicsList.hh b/examples/extended/biasing/B02/include/B02PhysicsList.hh index 2b6ad3b291..10853aa892 100644 --- a/examples/extended/biasing/B02/include/B02PhysicsList.hh +++ b/examples/extended/biasing/B02/include/B02PhysicsList.hh @@ -30,6 +30,7 @@ #include "G4VUserPhysicsList.hh" #include "globals.hh" +#include // taken from Tst12PhysicsList @@ -39,6 +40,10 @@ class B02PhysicsList: public G4VUserPhysicsList B02PhysicsList(); virtual ~B02PhysicsList(); + public: + void AddParallelWorldName(G4String& pname) + {paraWorldName.push_back(pname);} + protected: // Construct particle and physics virtual void ConstructParticle(); @@ -53,6 +58,9 @@ class B02PhysicsList: public G4VUserPhysicsList virtual void ConstructEM(); virtual void ConstructHad(); virtual void ConstructLeptHad(); + + void AddScoringProcess(); + // void ConstructAllBosons(); void ConstructAllLeptons(); @@ -61,6 +69,10 @@ class B02PhysicsList: public G4VUserPhysicsList void ConstructAllIons(); void ConstructAllShortLiveds(); + private: + std::vector paraWorldName; + + }; #endif diff --git a/examples/extended/biasing/B02/include/B02Run.hh b/examples/extended/biasing/B02/include/B02Run.hh new file mode 100644 index 0000000000..2576e8185c --- /dev/null +++ b/examples/extended/biasing/B02/include/B02Run.hh @@ -0,0 +1,84 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: B02Run.hh,v 1.2 2007/06/21 15:03:41 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +//--------------------------------------------------------------------- +// (Purpose) +// Example implementation for multi-functional-detector and +// primitive scorer. +// This B02Run class has collections which accumulate +// a event information into a run information. +// +//--------------------------------------------------------------------- + +#ifndef B02Run_h +#define B02Run_h 1 + +#include "G4Run.hh" +#include "G4Event.hh" + +#include "G4THitsMap.hh" +#include +// +class B02Run : public G4Run { + +public: + // constructor and destructor. + // vector of multifunctionaldetector name has to given to constructor. + B02Run(const std::vector mfdName); + virtual ~B02Run(); + +public: + // virtual method from G4Run. + // The method is overriden in this class for scoring. + virtual void RecordEvent(const G4Event*); + + // Access methods for scoring information. + // - Number of HitsMap for this RUN. + // This is equal to number of collections. + G4int GetNumberOfHitsMap() const {return theRunMap.size();} + // - Get HitsMap of this RUN. + // by sequential number, by multifucntional name and collection name, + // and by collection name with full path. + G4THitsMap* GetHitsMap(G4int i){return theRunMap[i];} + G4THitsMap* GetHitsMap(const G4String& detName, + const G4String& colName); + G4THitsMap* GetHitsMap(const G4String& fullName); + // - Dump All HitsMap of this RUN. + // This method calls G4THisMap::PrintAll() for individual HitsMap. + void DumpAllScorer(); + +private: + std::vector theCollName; + std::vector theCollID; + std::vector*> theRunMap; +}; + +// + +#endif diff --git a/examples/extended/biasing/B02/include/B02RunAction.hh b/examples/extended/biasing/B02/include/B02RunAction.hh new file mode 100644 index 0000000000..dac172a5c8 --- /dev/null +++ b/examples/extended/biasing/B02/include/B02RunAction.hh @@ -0,0 +1,76 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: B02RunAction.hh,v 1.2 2007/06/21 15:03:43 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// + +#ifndef B02RunAction_h +#define B02RunAction_h 1 + +#include "G4UserRunAction.hh" +#include "globals.hh" +#include + +class G4Run; + +//======================================================================= +// B02RunAction +// +// +// +//======================================================================= +// +class B02RunAction : public G4UserRunAction +{ +public: + // constructor and destructor + B02RunAction(); + virtual ~B02RunAction(); + +public: + // virtual method from G4UserRunAction. + virtual G4Run* GenerateRun(); + virtual void BeginOfRunAction(const G4Run*); + virtual void EndOfRunAction(const G4Run*); + +public: + void PrintHeader(std::ostream *out); + std::string FillString(const std::string &name, char c, G4int n, G4bool back=true); + +private: + // Data member + // - vector of MultiFunctionalDetecor names. + std::vector theSDName; + G4int FieldName; + G4int FieldValue; + + +}; + +// + +#endif diff --git a/source/event/include/G4Scorer.hh b/examples/extended/biasing/B02/include/B02ScoreTable.hh similarity index 58% rename from source/event/include/G4Scorer.hh rename to examples/extended/biasing/B02/include/B02ScoreTable.hh index 5fb7092108..34bedc125d 100644 --- a/source/event/include/G4Scorer.hh +++ b/examples/extended/biasing/B02/include/B02ScoreTable.hh @@ -23,46 +23,69 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4Scorer.hh,v 1.2 2006/06/29 18:09:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: B02ScoreTable.hh,v 1.1 2007/06/13 13:31:41 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- -// Class G4Scorer +// Class B02ScoreTable // // Class description: -// -// This is a simple scorer using the G4CellScorerStore and -// G4CellStoreScorer. // +// This class creates a table from a given G4CellScoreStore +// and prints it to a given output stream. +// // Author: Michael Dressel (Michael.Dressel@cern.ch) // ---------------------------------------------------------------------- +// -#ifndef G4Scorer_hh -#define G4Scorer_hh G4Scorer_hh +#ifndef B02ScoreTable_hh +#define B02ScoreTable_hh B02ScoreTable_hh -#include "G4VScorer.hh" +#include +#include +#include + +#include "globals.hh" #include "G4CellScorerStore.hh" -#include "G4CellStoreScorer.hh" +#include "G4CellScoreValues.hh" +class G4VIStore; -class G4Scorer : public G4VScorer { + +class B02ScoreTable +{ public: // with description - G4Scorer(); + explicit B02ScoreTable(const G4VIStore *aIStore = 0); - virtual ~G4Scorer(); + ~B02ScoreTable(); - virtual void Score(const G4Step &aStep, const G4GeometryCellStep &aPStep); - // called to score a track for every step + void Print(const G4MapGeometryCellCellScorer &cs, + std::ostream *out = 0); + // create the table and print it to the ouput stream. - const G4MapGeometryCellCellScorer &GetMapGeometryCellCellScorer() const ; - // returns a reference to the store containing the scores + void PrintHeader(std::ostream *out); + // print the table header, done by the above Print() function + + void PrintTable(const G4MapGeometryCellCellScorer &cs, + std::ostream *out); + // print the table contend, done by the above Print() function + + std::string FillString(const std::string &name, + char c, G4int n, G4bool back = true); + // create a string of length n, by filling up + // name with the char c. private: - G4Scorer(const G4Scorer &); - G4Scorer &operator=(const G4Scorer &); - G4CellScorerStore fCellScorerStore; - G4CellStoreScorer fCellStoreScorer; + B02ScoreTable(const B02ScoreTable &); + B02ScoreTable &operator=(const B02ScoreTable &); + + G4String CreateName(const G4GeometryCell &gCell); + void PrintLine(const G4String &name, + const G4CellScoreValues &sc_scores, + std::ostream *out); + const G4VIStore *fIStore; + G4int FieldName; + G4int FieldValue; }; #endif diff --git a/examples/extended/biasing/B02/include/B02ScoringDetectorConstruction.hh b/examples/extended/biasing/B02/include/B02ScoringDetectorConstruction.hh index 2ec5763411..32c07e1346 100644 --- a/examples/extended/biasing/B02/include/B02ScoringDetectorConstruction.hh +++ b/examples/extended/biasing/B02/include/B02ScoringDetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: B02ScoringDetectorConstruction.hh,v 1.3 2006/06/29 16:34:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef B02ScoringDetectorConstruction_hh diff --git a/examples/extended/biasing/B02/src/B02CellScorer.cc b/examples/extended/biasing/B02/src/B02CellScorer.cc index 91c1fc5f1c..f0eeac88fe 100644 --- a/examples/extended/biasing/B02/src/B02CellScorer.cc +++ b/examples/extended/biasing/B02/src/B02CellScorer.cc @@ -25,7 +25,7 @@ // // // $Id: B02CellScorer.cc,v 1.2 2006/06/29 16:34:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/examples/extended/biasing/B02/src/B02CellScorerStore.cc b/examples/extended/biasing/B02/src/B02CellScorerStore.cc index 07524785d4..d70317dfa1 100644 --- a/examples/extended/biasing/B02/src/B02CellScorerStore.cc +++ b/examples/extended/biasing/B02/src/B02CellScorerStore.cc @@ -25,7 +25,7 @@ // // // $Id: B02CellScorerStore.cc,v 1.3 2006/06/29 16:34:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/examples/extended/biasing/B02/src/B02DetectorConstruction.cc b/examples/extended/biasing/B02/src/B02DetectorConstruction.cc index 2d72edcdfc..e0a39a6dbd 100644 --- a/examples/extended/biasing/B02/src/B02DetectorConstruction.cc +++ b/examples/extended/biasing/B02/src/B02DetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: B02DetectorConstruction.cc,v 1.12 2006/06/29 16:34:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: B02DetectorConstruction.cc,v 1.13 2007/06/13 13:31:41 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4Types.hh" #include "globals.hh" @@ -44,6 +44,16 @@ // for importance biasing #include "G4IStore.hh" +// For Primitive Scorers +#include "G4SDManager.hh" +#include "G4MultiFunctionalDetector.hh" +#include "G4SDParticleFilter.hh" +#include "G4PSNofCollision.hh" +#include "G4PSPopulation.hh" +#include "G4PSTrackCounter.hh" +#include "G4PSTrackLength.hh" + + B02DetectorConstruction::B02DetectorConstruction() {;} @@ -200,7 +210,16 @@ G4VPhysicalVolume* B02DetectorConstruction::Construct() false, 0); + return pWorldVolume; } +G4VPhysicalVolume *B02DetectorConstruction::GetWorldVolume() { + return pWorldVolume; +} + + +G4VPhysicalVolume &B02DetectorConstruction::GetWorldVolumeAddress() const{ + return *pWorldVolume; +} diff --git a/examples/extended/biasing/B02/src/B02ImportanceDetectorConstruction.cc b/examples/extended/biasing/B02/src/B02ImportanceDetectorConstruction.cc index 4e70afd247..c4b431e62c 100644 --- a/examples/extended/biasing/B02/src/B02ImportanceDetectorConstruction.cc +++ b/examples/extended/biasing/B02/src/B02ImportanceDetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: B02ImportanceDetectorConstruction.cc,v 1.9 2006/06/29 16:34:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: B02ImportanceDetectorConstruction.cc,v 1.11 2007/06/22 13:38:55 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" @@ -39,17 +39,37 @@ #include "G4ThreeVector.hh" #include "G4PVPlacement.hh" +// For Primitive Scorers +#include "G4SDManager.hh" +#include "G4MultiFunctionalDetector.hh" +#include "G4SDParticleFilter.hh" +#include "G4PSNofCollision.hh" +#include "G4PSPopulation.hh" +#include "G4PSTrackCounter.hh" +#include "G4PSTrackLength.hh" -B02ImportanceDetectorConstruction::B02ImportanceDetectorConstruction() + + +B02ImportanceDetectorConstruction::B02ImportanceDetectorConstruction(G4String worldName) +:G4VUserParallelWorld(worldName),fLogicalVolumeVector() { - Construct(); + // Construct(); } B02ImportanceDetectorConstruction::~B02ImportanceDetectorConstruction() -{;} +{ + fLogicalVolumeVector.clear(); +} void B02ImportanceDetectorConstruction::Construct() { + G4cout << " constructing parallel world " << G4endl; + + //GetWorld methods create a clone of the mass world to the parallel world (!) + // via the transportation manager + ghostWorld = GetWorld(); + G4LogicalVolume* worldLogical = ghostWorld->GetLogicalVolume(); + fLogicalVolumeVector.push_back(worldLogical); G4String name("none"); G4double density(universe_mean_density), temperature(0), pressure(0); @@ -64,36 +84,8 @@ void B02ImportanceDetectorConstruction::Construct() kStateGas,temperature,pressure); - ////////////////////////////////// - // parallel world cylinder volume - ////////////////////////////////// - - // parallel world solid larger than in the mass geometry - - G4double innerRadiusCylinder = 0*cm; - G4double outerRadiusCylinder = 110*cm; - G4double hightCylinder = 110*cm; - G4double startAngleCylinder = 0*deg; - G4double spanningAngleCylinder = 360*deg; - - G4Tubs *worldCylinder = new G4Tubs("worldCylinder", - innerRadiusCylinder, - outerRadiusCylinder, - hightCylinder, - startAngleCylinder, - spanningAngleCylinder); - - // logical world - - G4LogicalVolume *worldCylinder_log = - new G4LogicalVolume(worldCylinder, Galactic, "worldCylinder_log"); - - name = "parallelWorld"; - fWorldVolume = new - G4PVPlacement(0, G4ThreeVector(0,0,0), worldCylinder_log, - name, 0, false, 0); - - fPVolumeStore.AddPVolume(G4GeometryCell(*fWorldVolume, 0)); + // fPVolumeStore.AddPVolume(G4GeometryCell(*pWorldVolume, 0)); + fPVolumeStore.AddPVolume(G4GeometryCell(*ghostWorld, 0)); @@ -117,12 +109,14 @@ void B02ImportanceDetectorConstruction::Construct() G4LogicalVolume *aShield_log = new G4LogicalVolume(aShield, Galactic, "aShield_log"); + fLogicalVolumeVector.push_back(aShield_log); // physical parallel cells G4int i = 1; G4double startz = -85*cm; - for (i=1; i<=18; ++i) { + // for (i=1; i<=18; ++i) { + for (i=1; i<=18; i++) { name = GetCellName(i); @@ -134,10 +128,12 @@ void B02ImportanceDetectorConstruction::Construct() G4ThreeVector(pos_x, pos_y, pos_z), aShield_log, name, - worldCylinder_log, + worldLogical, false, - 0); - G4GeometryCell cell(*pvol, 0); + i); + // 0); + G4GeometryCell cell(*pvol, i); + // G4GeometryCell cell(*pvol, 0); fPVolumeStore.AddPVolume(cell); } @@ -145,8 +141,10 @@ void B02ImportanceDetectorConstruction::Construct() // another slob which should get the same importance value as the // last slob innerRadiusShield = 0*cm; - outerRadiusShield = 110*cm; - hightShield = 10*cm; + // outerRadiusShield = 110*cm; exceeds world volume!!!! + outerRadiusShield = 101*cm; + // hightShield = 10*cm; + hightShield = 5*cm; startAngleShield = 0*deg; spanningAngleShield = 360*deg; @@ -159,22 +157,30 @@ void B02ImportanceDetectorConstruction::Construct() G4LogicalVolume *aRest_log = new G4LogicalVolume(aRest, Galactic, "aRest_log"); + + fLogicalVolumeVector.push_back(aRest_log); + name = GetCellName(19); G4double pos_x = 0*cm; G4double pos_y = 0*cm; - G4double pos_z = 100*cm; + // G4double pos_z = 100*cm; + G4double pos_z = 95*cm; G4VPhysicalVolume *pvol = new G4PVPlacement(0, G4ThreeVector(pos_x, pos_y, pos_z), aRest_log, name, - worldCylinder_log, + worldLogical, false, - 0); - G4GeometryCell cell(*pvol, 0); + 19); + // 0); + G4GeometryCell cell(*pvol, 19); + // G4GeometryCell cell(*pvol, 0); fPVolumeStore.AddPVolume(cell); + SetSensitive(); + } const G4VPhysicalVolume &B02ImportanceDetectorConstruction:: @@ -209,13 +215,105 @@ G4GeometryCell B02ImportanceDetectorConstruction::GetGeometryCell(G4int i){ } else { G4cout << "B02ImportanceDetectorConstruction::GetGeometryCell: couldn't get G4GeometryCell" << G4endl; - return G4GeometryCell(*fWorldVolume,-2); + return G4GeometryCell(*ghostWorld,-2); } } -G4VPhysicalVolume &B02ImportanceDetectorConstruction::GetWorldVolume() const{ - return *fWorldVolume; +G4VPhysicalVolume &B02ImportanceDetectorConstruction::GetWorldVolumeAddress() const{ + return *ghostWorld; +} + +G4VPhysicalVolume *B02ImportanceDetectorConstruction::GetWorldVolume() { + return ghostWorld; } +void B02ImportanceDetectorConstruction::SetSensitive(){ + + // ------------------------------------------------- + // The collection names of defined Primitives are + // 0 ConcreteSD/Collisions + // 1 ConcreteSD/CollWeight + // 2 ConcreteSD/Population + // 3 ConcreteSD/TrackEnter + // 4 ConcreteSD/SL + // 5 ConcreteSD/SLW + // 6 ConcreteSD/SLWE + // 7 ConcreteSD/SLW_V + // 8 ConcreteSD/SLWE_V + // ------------------------------------------------- + + + //================================================ + // Sensitive detectors : MultiFunctionalDetector + //================================================ + // + // Sensitive Detector Manager. + + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + // + // Sensitive Detector Name + G4String concreteSDname = "ConcreteSD"; + + //------------------------ + // MultiFunctionalDetector + //------------------------ + // + // Define MultiFunctionalDetector with name. + G4MultiFunctionalDetector* MFDet = new G4MultiFunctionalDetector(concreteSDname); + SDman->AddNewDetector( MFDet ); // Register SD to SDManager + + + G4String fltName,particleName; + G4SDParticleFilter* neutronFilter = + new G4SDParticleFilter(fltName="neutronFilter", particleName="neutron"); + + MFDet->SetFilter(neutronFilter); + + + for (std::vector::iterator it = fLogicalVolumeVector.begin(); + it != fLogicalVolumeVector.end(); it++){ + (*it)->SetSensitiveDetector(MFDet); + } + + G4String psName; + G4PSNofCollision* scorer0 = new G4PSNofCollision(psName="Collisions"); + MFDet->RegisterPrimitive(scorer0); + + + G4PSNofCollision* scorer1 = new G4PSNofCollision(psName="CollWeight"); + scorer1->Weighted(true); + MFDet->RegisterPrimitive(scorer1); + + + G4PSPopulation* scorer2 = new G4PSPopulation(psName="Population"); + MFDet->RegisterPrimitive(scorer2); + + G4PSTrackCounter* scorer3 = new G4PSTrackCounter(psName="TrackEnter",fCurrent_In); + MFDet->RegisterPrimitive(scorer3); + + G4PSTrackLength* scorer4 = new G4PSTrackLength(psName="SL"); + MFDet->RegisterPrimitive(scorer4); + + G4PSTrackLength* scorer5 = new G4PSTrackLength(psName="SLW"); + scorer5->Weighted(true); + MFDet->RegisterPrimitive(scorer5); + + G4PSTrackLength* scorer6 = new G4PSTrackLength(psName="SLWE"); + scorer6->Weighted(true); + scorer6->MultiplyKineticEnergy(true); + MFDet->RegisterPrimitive(scorer6); + + G4PSTrackLength* scorer7 = new G4PSTrackLength(psName="SLW_V"); + scorer7->Weighted(true); + scorer7->DivideByVelocity(true); + MFDet->RegisterPrimitive(scorer7); + + G4PSTrackLength* scorer8 = new G4PSTrackLength(psName="SLWE_V"); + scorer8->Weighted(true); + scorer8->MultiplyKineticEnergy(true); + scorer8->DivideByVelocity(true); + MFDet->RegisterPrimitive(scorer8); + +} diff --git a/examples/extended/biasing/B02/src/B02PSScoringDetectorConstruction.cc b/examples/extended/biasing/B02/src/B02PSScoringDetectorConstruction.cc new file mode 100644 index 0000000000..07d0662edb --- /dev/null +++ b/examples/extended/biasing/B02/src/B02PSScoringDetectorConstruction.cc @@ -0,0 +1,282 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: B02PSScoringDetectorConstruction.cc,v 1.2 2007/06/22 13:38:55 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// + +#include "globals.hh" +#include + +#include "B02PSScoringDetectorConstruction.hh" + +#include "G4Material.hh" +#include "G4Tubs.hh" +#include "G4LogicalVolume.hh" +#include "G4ThreeVector.hh" +#include "G4PVPlacement.hh" + +// For Primitive Scorers +#include "G4SDManager.hh" +#include "G4MultiFunctionalDetector.hh" +#include "G4SDParticleFilter.hh" +#include "G4PSNofCollision.hh" +#include "G4PSPopulation.hh" +#include "G4PSTrackCounter.hh" +#include "G4PSTrackLength.hh" + + + +B02PSScoringDetectorConstruction::B02PSScoringDetectorConstruction(G4String worldName) + :G4VUserParallelWorld(worldName),fLogicalVolumeVector() +{ + // Construct(); +} + +B02PSScoringDetectorConstruction::~B02PSScoringDetectorConstruction() +{ + fLogicalVolumeVector.clear(); +} + +void B02PSScoringDetectorConstruction::Construct() +{ + + G4cout << " constructing parallel world " << G4endl; + + //GetWorld methods create a clone of the mass world to the parallel world (!) + // via the transportation manager + ghostWorld = GetWorld(); + G4LogicalVolume* worldLogical = ghostWorld->GetLogicalVolume(); + fLogicalVolumeVector.push_back(worldLogical); + + G4String name("none"); + G4double density(universe_mean_density), temperature(0), pressure(0); + + name = "Galactic"; + density = universe_mean_density; //from PhysicalConstants.h + pressure = 3.e-18*pascal; + temperature = 2.73*kelvin; + G4cout << density << " " << kStateGas << G4endl; + G4Material *Galactic = + new G4Material(name, 1., 1.01*g/mole, density, + kStateGas,temperature,pressure); + + + //fPVolumeStore.AddPVolume(G4GeometryCell(*ghostWorld, 0)); + + + + + // creating 18 slobs of 10 cm thicknes + + G4double innerRadiusShield = 0*cm; + G4double outerRadiusShield = 100*cm; + G4double hightShield = 5*cm; + G4double startAngleShield = 0*deg; + G4double spanningAngleShield = 360*deg; + + G4Tubs *aShield = new G4Tubs("aShield", + innerRadiusShield, + outerRadiusShield, + hightShield, + startAngleShield, + spanningAngleShield); + + // logical parallel cells + + G4LogicalVolume *aShield_log = + new G4LogicalVolume(aShield, Galactic, "aShield_log"); + fLogicalVolumeVector.push_back(aShield_log); + + // physical parallel cells + + G4int i = 1; + G4double startz = -85*cm; + for (i=1; i<=18; ++i) { + + name = GetCellName(i); + + G4double pos_x = 0*cm; + G4double pos_y = 0*cm; + G4double pos_z = startz + (i-1) * (2*hightShield); + G4VPhysicalVolume *pvol = + new G4PVPlacement(0, + G4ThreeVector(pos_x, pos_y, pos_z), + aShield_log, + name, + worldLogical, + false, + i); + //G4GeometryCell cell(*pvol, i); + //fPVolumeStore.AddPVolume(cell); + } + + // filling the rest of the world volumr behind the concrete with + // another slob which should get the same importance value as the + // last slob + innerRadiusShield = 0*cm; + outerRadiusShield = 100*cm; + hightShield = 5*cm; + startAngleShield = 0*deg; + spanningAngleShield = 360*deg; + + G4Tubs *aRest = new G4Tubs("Rest", + innerRadiusShield, + outerRadiusShield, + hightShield, + startAngleShield, + spanningAngleShield); + + G4LogicalVolume *aRest_log = + new G4LogicalVolume(aRest, Galactic, "aRest_log"); + name = GetCellName(19); + fLogicalVolumeVector.push_back(aRest_log); + + G4double pos_x = 0*cm; + G4double pos_y = 0*cm; + G4double pos_z = 95*cm; + G4VPhysicalVolume *pvol = + new G4PVPlacement(0, + G4ThreeVector(pos_x, pos_y, pos_z), + aRest_log, + name, + worldLogical, + false, + 19); // i = 19 + //G4GeometryCell cell(*pvol, i); + //fPVolumeStore.AddPVolume(cell); + + SetSensitive(); + +} + +G4String B02PSScoringDetectorConstruction::GetCellName(G4int i) { + std::ostringstream os; + os << "cell_"; + if (i<10) { + os << "0"; + } + os << i; + G4String name = os.str(); + return name; +} + +G4VPhysicalVolume *B02PSScoringDetectorConstruction::GetWorldVolume() { + return ghostWorld; +} + + +G4VPhysicalVolume &B02PSScoringDetectorConstruction::GetWorldVolumeAddress() const{ + return *ghostWorld; +} + +void B02PSScoringDetectorConstruction::SetSensitive(){ + + // ------------------------------------------------- + // The collection names of defined Primitives are + // 0 ConcreteSD/Collisions + // 1 ConcreteSD/CollWeight + // 2 ConcreteSD/Population + // 3 ConcreteSD/TrackEnter + // 4 ConcreteSD/SL + // 5 ConcreteSD/SLW + // 6 ConcreteSD/SLWE + // 7 ConcreteSD/SLW_V + // 8 ConcreteSD/SLWE_V + // ------------------------------------------------- + + + //================================================ + // Sensitive detectors : MultiFunctionalDetector + //================================================ + // + // Sensitive Detector Manager. + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + // + // Sensitive Detector Name + G4String concreteSDname = "ConcreteSD"; + + //------------------------ + // MultiFunctionalDetector + //------------------------ + // + // Define MultiFunctionalDetector with name. + G4MultiFunctionalDetector* MFDet = new G4MultiFunctionalDetector(concreteSDname); + SDman->AddNewDetector( MFDet ); // Register SD to SDManager + + + G4String fltName,particleName; + G4SDParticleFilter* neutronFilter = + new G4SDParticleFilter(fltName="neutronFilter", particleName="neutron"); + + MFDet->SetFilter(neutronFilter); + + + for (std::vector::iterator it = fLogicalVolumeVector.begin(); + it != fLogicalVolumeVector.end(); it++){ + (*it)->SetSensitiveDetector(MFDet); + } + + G4String psName; + G4PSNofCollision* scorer0 = new G4PSNofCollision(psName="Collisions"); + MFDet->RegisterPrimitive(scorer0); + + + G4PSNofCollision* scorer1 = new G4PSNofCollision(psName="CollWeight"); + scorer1->Weighted(true); + MFDet->RegisterPrimitive(scorer1); + + + G4PSPopulation* scorer2 = new G4PSPopulation(psName="Population"); + MFDet->RegisterPrimitive(scorer2); + + G4PSTrackCounter* scorer3 = new G4PSTrackCounter(psName="TrackEnter",fCurrent_In); + MFDet->RegisterPrimitive(scorer3); + + G4PSTrackLength* scorer4 = new G4PSTrackLength(psName="SL"); + MFDet->RegisterPrimitive(scorer4); + + G4PSTrackLength* scorer5 = new G4PSTrackLength(psName="SLW"); + scorer5->Weighted(true); + MFDet->RegisterPrimitive(scorer5); + + G4PSTrackLength* scorer6 = new G4PSTrackLength(psName="SLWE"); + scorer6->Weighted(true); + scorer6->MultiplyKineticEnergy(true); + MFDet->RegisterPrimitive(scorer6); + + G4PSTrackLength* scorer7 = new G4PSTrackLength(psName="SLW_V"); + scorer7->Weighted(true); + scorer7->DivideByVelocity(true); + MFDet->RegisterPrimitive(scorer7); + + G4PSTrackLength* scorer8 = new G4PSTrackLength(psName="SLWE_V"); + scorer8->Weighted(true); + scorer8->MultiplyKineticEnergy(true); + scorer8->DivideByVelocity(true); + MFDet->RegisterPrimitive(scorer8); + +} diff --git a/examples/extended/biasing/B02/src/B02PhysicsList.cc b/examples/extended/biasing/B02/src/B02PhysicsList.cc index 9829f1de42..447f9d0cb3 100644 --- a/examples/extended/biasing/B02/src/B02PhysicsList.cc +++ b/examples/extended/biasing/B02/src/B02PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: B02PhysicsList.cc,v 1.5 2006/06/29 16:34:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: B02PhysicsList.cc,v 1.7 2007/06/22 13:38:55 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" @@ -50,11 +50,13 @@ B02PhysicsList::B02PhysicsList(): G4VUserPhysicsList() { + paraWorldName.clear(); SetVerboseLevel(1); } B02PhysicsList::~B02PhysicsList() { + paraWorldName.clear(); } void B02PhysicsList::ConstructParticle() @@ -117,6 +119,7 @@ void B02PhysicsList::ConstructAllShortLiveds() void B02PhysicsList::ConstructProcess() { AddTransportation(); + AddScoringProcess(); ConstructEM(); ConstructLeptHad(); ConstructHad(); @@ -634,3 +637,28 @@ void B02PhysicsList::SetCuts() // the default cut value for all particle types SetCutsWithDefault(); } + + +#include "G4ParallelWorldScoringProcess.hh" +void B02PhysicsList::AddScoringProcess(){ + + G4int npw = paraWorldName.size(); + for ( G4int i = 0; i < npw; i++){ + G4ParallelWorldScoringProcess* theParallelWorldScoringProcess + = new G4ParallelWorldScoringProcess("ParaWorldScoringProc"); + theParallelWorldScoringProcess->SetParallelWorld(paraWorldName[i]); + + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + if ( !particle->IsShortLived() ){ + G4ProcessManager* pmanager = particle->GetProcessManager(); + pmanager->AddProcess(theParallelWorldScoringProcess); + pmanager->SetProcessOrderingToLast(theParallelWorldScoringProcess,idxAtRest); + pmanager->SetProcessOrdering(theParallelWorldScoringProcess,idxAlongStep,1); + pmanager->SetProcessOrderingToLast(theParallelWorldScoringProcess,idxPostStep); + } + } + } + +} diff --git a/examples/extended/biasing/B02/src/B02PrimaryGeneratorAction.cc b/examples/extended/biasing/B02/src/B02PrimaryGeneratorAction.cc index 575f24c63b..4bba921e0a 100644 --- a/examples/extended/biasing/B02/src/B02PrimaryGeneratorAction.cc +++ b/examples/extended/biasing/B02/src/B02PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: B02PrimaryGeneratorAction.cc,v 1.6 2006/06/29 16:34:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/examples/extended/biasing/B02/src/B02Run.cc b/examples/extended/biasing/B02/src/B02Run.cc new file mode 100644 index 0000000000..eecb9a195d --- /dev/null +++ b/examples/extended/biasing/B02/src/B02Run.cc @@ -0,0 +1,209 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: B02Run.cc,v 1.2 2007/06/21 15:03:45 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// + +//===================================================================== +// +// (Description) +// B02Run Class is for accumulating scored quantities which is +// scored using G4MutiFunctionalDetector and G4VPrimitiveScorer. +// Accumulation is done using G4THitsMap object. +// +// The constructor B02Run(const std::vector mfdName) +// needs a vector filled with MultiFunctionalDetector names which +// was assigned at instantiation of MultiFunctionalDetector(MFD). +// Then B02Run constructor automatically scans primitive scorers +// in the MFD, and obtains collectionIDs of all collections associated +// to those primitive scorers. Futhermore, the G4THitsMap objects +// for accumulating during a RUN are automatically created too. +// (*) Collection Name is same as primitive scorer name. +// +// The resultant information is kept inside B02Run objects as +// data members. +// std::vector theCollName; // Collection Name, +// std::vector theCollID; // Collection ID, +// std::vector*> theRunMap; // HitsMap for RUN. +// +// The resualtant HitsMap objects are obtain using access method, +// GetHitsMap(..). +// +//===================================================================== + +#include "B02Run.hh" +#include "G4SDManager.hh" + +#include "G4MultiFunctionalDetector.hh" +#include "G4VPrimitiveScorer.hh" + +// +// Constructor. +// (The vector of MultiFunctionalDetector name has to given.) +B02Run::B02Run(const std::vector mfdName): G4Run() +{ + G4SDManager* SDman = G4SDManager::GetSDMpointer(); + //================================================= + // Initalize RunMaps for accumulation. + // Get CollectionIDs for HitCollections. + //================================================= + G4int Nmfd = mfdName.size(); + for ( G4int idet = 0; idet < Nmfd ; idet++){ // Loop for all MFD. + G4String detName = mfdName[idet]; + //--- Seek and Obtain MFD objects from SDmanager. + G4MultiFunctionalDetector* mfd = + (G4MultiFunctionalDetector*)(SDman->FindSensitiveDetector(detName)); + // + if ( mfd ){ + //--- Loop over the registered primitive scorers. + for (G4int icol = 0; icol < mfd->GetNumberOfPrimitives(); icol++){ + // Get Primitive Scorer object. + G4VPrimitiveScorer* scorer=mfd->GetPrimitive(icol); + // collection name and collectionID for HitsCollection, + // where type of HitsCollection is G4THitsMap in case of primitive scorer. + // The collection name is given by /. + G4String collectionName = scorer->GetName(); + G4String fullCollectionName = detName+"/"+collectionName; + G4int collectionID = SDman->GetCollectionID(fullCollectionName); + // + if ( collectionID >= 0 ){ + G4cout << "++ "<(detName,collectionName)); + }else{ + G4cout << "** collection " << fullCollectionName << " not found. "<clear(); + } + theCollName.clear(); + theCollID.clear(); + theRunMap.clear(); +} + +// +// RecordEvent is called at end of event. +// For scoring purpose, the resultant quantity in a event, +// is accumulated during a Run. +void B02Run::RecordEvent(const G4Event* aEvent) +{ + numberOfEvent++; // This is an original line. + + //============================= + // HitsCollection of This Event + //============================ + G4HCofThisEvent* HCE = aEvent->GetHCofThisEvent(); + if (!HCE) return; + //======================================================= + // Sum up HitsMap of this Event into HitsMap of this RUN + //======================================================= + G4int Ncol = theCollID.size(); + for ( G4int i = 0; i < Ncol ; i++ ){ // Loop over HitsCollection + G4THitsMap* EvtMap=0; + if ( theCollID[i] >= 0 ){ // Collection is attached to HCE + EvtMap = (G4THitsMap*)(HCE->GetHC(theCollID[i])); + }else{ + G4cout <<" Error EvtMap Not Found "<< i << G4endl; + } + if ( EvtMap ) { + //=== Sum up HitsMap of this event to HitsMap of RUN.=== + *theRunMap[i] += *EvtMap; + //====================================================== + } + } + + +} + +//================================================================= +// Access method for HitsMap of the RUN +// +//----- +// Access HitsMap. +// By MultiFunctionalDetector name and Collection Name. +G4THitsMap* B02Run::GetHitsMap(const G4String& detName, + const G4String& colName){ + G4String fullName = detName+"/"+colName; + G4cout << " getting hits map " << fullName << G4endl; + return GetHitsMap(fullName); +} + +//----- +// Access HitsMap. +// By full description of collection name, that is +// / +G4THitsMap* B02Run::GetHitsMap(const G4String& fullName){ + G4cout << " getting hits map " << fullName << G4endl; + G4int Ncol = theCollName.size(); + for ( G4int i = 0; i < Ncol; i++){ + if ( theCollName[i] == fullName ){ + return theRunMap[i]; + } + } + return NULL; +} + +//----- +// - Dump All HitsMap of this RUN. (for debuging and monitoring of quantity). +// This method calls G4THisMap::PrintAll() for individual HitsMap. +void B02Run::DumpAllScorer(){ + + // - Number of HitsMap in this RUN. + G4int n = GetNumberOfHitsMap(); + // - GetHitsMap and dump values. + for ( G4int i = 0; i < n ; i++ ){ + G4THitsMap* RunMap =GetHitsMap(i); + if ( RunMap ) { + G4cout << " PrimitiveScorer RUN " + << RunMap->GetSDname() <<","<< RunMap->GetName() << G4endl; + G4cout << " Number of entries " << RunMap->entries() << G4endl; + std::map::iterator itr = RunMap->GetMap()->begin(); + for(; itr != RunMap->GetMap()->end(); itr++) { + G4cout << " copy no.: " << itr->first + << " Run Value : " << *(itr->second) + << G4endl; + } + } + } +} + + diff --git a/examples/extended/biasing/B02/src/B02RunAction.cc b/examples/extended/biasing/B02/src/B02RunAction.cc new file mode 100644 index 0000000000..f0366e636e --- /dev/null +++ b/examples/extended/biasing/B02/src/B02RunAction.cc @@ -0,0 +1,228 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: B02RunAction.cc,v 1.3 2007/06/22 13:38:55 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +#include "B02RunAction.hh" +#include "B02Run.hh" + +//-- In order to obtain detector information. +#include "G4RunManager.hh" +#include "B02ImportanceDetectorConstruction.hh" +#include "G4THitsMap.hh" + +#include "G4UnitsTable.hh" +//======================================================================= +// B02RunAction +// +// +// +//======================================================================= +// Constructor +B02RunAction::B02RunAction(): + FieldName(15), + FieldValue(14) +{ + // - Prepare data member for B02Run. + // vector represents a list of MultiFunctionalDetector names. + theSDName.push_back(G4String("ConcreteSD")); +} + +// Destructor. +B02RunAction::~B02RunAction() +{ + theSDName.clear(); +} + +// +//== +G4Run* B02RunAction::GenerateRun() +{ + // Generate new RUN object, which is specially + // dedicated for MultiFunctionalDetector scheme. + // Detail description can be found in B02Run.hh/cc. + return new B02Run(theSDName); +} + +// +//== +void B02RunAction::BeginOfRunAction(const G4Run* aRun) +{ + G4cout << "### Run " << aRun->GetRunID() << " start." << G4endl; +} + +// +//== +void B02RunAction::EndOfRunAction(const G4Run* aRun) +{ + G4cout << " ###### EndOfRunAction " <DumpAllScorer(); + //--- + G4RunManager* mgr = G4RunManager::GetRunManager(); + // + + for ( G4int i = 0; i < (G4int)theSDName.size(); i++ ){ + const G4VUserDetectorConstruction* vdet = mgr->GetUserDetectorConstruction(); + // B02DetectorConstruction* bdet = (B02DetectorConstruction*)vdet; + B02ImportanceDetectorConstruction* bdet = (B02ImportanceDetectorConstruction*)vdet; + // + + //--------------------------------------------- + // Dump accumulated quantities for this RUN. + // (Display only central region of x-y plane) + // 0 ConcreteSD/Collisions + // 1 ConcreteSD/CollWeight + // 2 ConcreteSD/Population + // 3 ConcreteSD/TrackEnter + // 4 ConcreteSD/SL + // 5 ConcreteSD/SLW + // 6 ConcreteSD/SLWE + // 7 ConcreteSD/SLW_V + // 8 ConcreteSD/SLWE_V + //--------------------------------------------- + G4THitsMap* Collisions = re02Run->GetHitsMap(theSDName[i]+"/Collisions"); + G4THitsMap* CollWeight = re02Run->GetHitsMap(theSDName[i]+"/CollWeight"); + G4THitsMap* Population = re02Run->GetHitsMap(theSDName[i]+"/Population"); + G4THitsMap* TrackEnter = re02Run->GetHitsMap(theSDName[i]+"/TrackEnter"); + G4THitsMap* SL = re02Run->GetHitsMap(theSDName[i]+"/SL"); + G4THitsMap* SLW = re02Run->GetHitsMap(theSDName[i]+"/SLW"); + G4THitsMap* SLWE = re02Run->GetHitsMap(theSDName[i]+"/SLWE"); + G4THitsMap* SLW_V = re02Run->GetHitsMap(theSDName[i]+"/SLW_V"); + G4THitsMap* SLWE_V = re02Run->GetHitsMap(theSDName[i]+"/SLWE_V"); + + + G4cout << "=============================================================" <GetNumberOfEvent() << G4endl; + G4cout << "=============================================================" <GetCellName(iz); + G4cout + << std::setw(FieldValue) << cname << " |" + << std::setw(FieldValue) << (*TrackEnters) << " |" + << std::setw(FieldValue) << (*Populations) << " |" + << std::setw(FieldValue) << (*SumCollisions) << " |" + << std::setw(FieldValue) << (*SumCollWeight) << " |" + << std::setw(FieldValue) << NumWeightedEnergy << " |" + << std::setw(FieldValue) << FluxWeightedEnergy << " |" + << std::setw(FieldValue) << AverageTrackWeight << " |" + << std::setw(FieldValue) << (*SLs) << " |" + << std::setw(FieldValue) << (*SLWs) << " |" + << std::setw(FieldValue) << (*SLW_Vs) << " |" + << std::setw(FieldValue) << (*SLWEs) << " |" + << std::setw(FieldValue) << (*SLWE_Vs) << " |" + << G4endl; + } + G4cout << "============================================="< vecScoreName; + vecScoreName.push_back("Tr.Entering"); + vecScoreName.push_back("Population"); + vecScoreName.push_back("Collisions"); + vecScoreName.push_back("Coll*WGT"); + vecScoreName.push_back("NumWGTedE"); + vecScoreName.push_back("FluxWGTedE"); + vecScoreName.push_back("Av.Tr.WGT"); + vecScoreName.push_back("SL"); + vecScoreName.push_back("SLW"); + vecScoreName.push_back("SLW_v"); + vecScoreName.push_back("SLWE"); + vecScoreName.push_back("SLWE_v"); + + // head line + //std::string vname = FillString("Volume", ' ', FieldName+1); + //*out << vname << '|'; + std::string vname; + *out << std::setw(FieldValue) << "Volume" << " |"; + for (std::vector::iterator it = vecScoreName.begin(); + it != vecScoreName.end(); it++) { + //vname = FillString((*it), +// ' ', +// FieldValue+1, +// false); +// *out << vname << '|'; + *out << std::setw(FieldValue) << (*it) << " |"; + } + *out << G4endl; +} + +std::string B02RunAction::FillString(const std::string &name, + char c, G4int n, G4bool back) +{ + std::string fname(""); + G4int k = n - name.size(); + if (k > 0) { + if (back) { + fname = name; + fname += std::string(k,c); + } + else { + fname = std::string(k,c); + fname += name; + } + } + else { + fname = name; + } + return fname; +} diff --git a/examples/extended/biasing/B02/src/B02ScoreTable.cc b/examples/extended/biasing/B02/src/B02ScoreTable.cc new file mode 100644 index 0000000000..5cc65a8b38 --- /dev/null +++ b/examples/extended/biasing/B02/src/B02ScoreTable.cc @@ -0,0 +1,201 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: B02ScoreTable.cc,v 1.2 2007/06/22 13:38:55 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ---------------------------------------------------------------------- +// GEANT 4 class source file +// +// B02ScoreTable.cc +// +// ---------------------------------------------------------------------- + +#include "B02ScoreTable.hh" +#include + +#include "G4VPhysicalVolume.hh" +#include "G4VIStore.hh" +#include +#include "G4CellScorer.hh" + + +B02ScoreTable::B02ScoreTable(const G4VIStore *aIStore) : + fIStore(aIStore), + FieldName(15), + FieldValue(12) +{} + +B02ScoreTable::~B02ScoreTable() +{} +void B02ScoreTable:: +Print(const G4MapGeometryCellCellScorer &cs, + std::ostream *out){ + if (!out) { + out = &G4cout; + } + PrintHeader(out); + PrintTable(cs, out); +} + +void B02ScoreTable::PrintHeader(std::ostream *out) +{ + std::vector vecScoreName; + vecScoreName.push_back("Importance"); + vecScoreName.push_back("Tr.Entering"); + vecScoreName.push_back("Population"); + vecScoreName.push_back("Collisions"); + vecScoreName.push_back("Coll*WGT"); + vecScoreName.push_back("NumWGTedE"); + vecScoreName.push_back("FluxWGTedE"); + vecScoreName.push_back("Av.Tr.WGT"); + vecScoreName.push_back("SL"); + vecScoreName.push_back("SLW"); + vecScoreName.push_back("SLW_v"); + vecScoreName.push_back("SLWE"); + vecScoreName.push_back("SLWE_v"); + + // head line + std::string vname = FillString("Volume name", ' ', FieldName+1); + *out << vname << '|'; + for (std::vector::iterator it = vecScoreName.begin(); + it != vecScoreName.end(); it++) { + vname = FillString((*it), + ' ', + FieldValue+1, + false); + *out << vname << '|'; + } + *out << G4endl; +} + +G4String B02ScoreTable::CreateName(const G4GeometryCell &gCell) { + + std::ostringstream os; + os << gCell.GetPhysicalVolume().GetName() + << "_rep:" << gCell.GetReplicaNumber(); + G4String name = os.str(); + + return name; +} + + +void B02ScoreTable::PrintTable(const G4MapGeometryCellCellScorer &mcs, + std::ostream *out) { + + // this lines sort the ScoreValues according to the volume + // name they belong to + std::map MapStringSCScorer; + for (G4MapGeometryCellCellScorer::const_iterator mit = + mcs.begin(); + mit != mcs.end(); ++mit) { + G4GeometryCell gCell = (*mit).first; // get a key identifying a volume + G4String name(CreateName(gCell)); + + G4double importance = 1; + if (fIStore) { + if (fIStore->IsKnown(gCell)) { + importance = fIStore->GetImportance(gCell); + } + } + MapStringSCScorer[name] = (*mit).second->GetCellScoreComposer(); + MapStringSCScorer[name].SetImportnace(importance); + } + // now do the printing + for ( std::map::iterator + it = MapStringSCScorer.begin(); + it != MapStringSCScorer.end(); ++it) { + G4String name((*it).first); + PrintLine(name, (*it).second.GetStandardCellScoreValues(), out); + } + out->flush(); +} + +void B02ScoreTable::PrintLine(const G4String &name, + const G4CellScoreValues &sc_scores, + std::ostream *out) +{ + std::string fname = FillString(name, '.', FieldName); + *out << fname << " |"; + *out << std::setw(FieldValue) << sc_scores.fImportance + << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumTracksEntering + << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumPopulation << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumCollisions << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumCollisionsWeight + << " |"; + *out << std::setw(FieldValue) << sc_scores.fNumberWeightedEnergy + << " |"; + *out << std::setw(FieldValue) << sc_scores.fFluxWeightedEnergy + << " |"; + *out << std::setw(FieldValue) << sc_scores.fAverageTrackWeight* + sc_scores.fImportance + << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumSL + << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumSLW + << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumSLW_v + << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumSLWE + << " |"; + *out << std::setw(FieldValue) << sc_scores.fSumSLWE_v + << " |"; + + *out << G4endl; +} + + +std::string B02ScoreTable::FillString(const std::string &name, + char c, G4int n, G4bool back) +{ + std::string fname(""); + G4int k = n - name.size(); + if (k > 0) { + if (back) { + fname = name; + fname += std::string(k,c); + } + else { + fname = std::string(k,c); + fname += name; + } + } + else { + fname = name; + } + return fname; +} + + + + + + + + + diff --git a/examples/extended/biasing/B02/src/B02ScoringDetectorConstruction.cc b/examples/extended/biasing/B02/src/B02ScoringDetectorConstruction.cc index 1ee15ddd39..70567dff17 100644 --- a/examples/extended/biasing/B02/src/B02ScoringDetectorConstruction.cc +++ b/examples/extended/biasing/B02/src/B02ScoringDetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: B02ScoringDetectorConstruction.cc,v 1.7 2006/06/29 16:34:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/examples/extended/biasing/B03/B03Application.py b/examples/extended/biasing/B03/B03Application.py deleted file mode 100644 index 30188487d3..0000000000 --- a/examples/extended/biasing/B03/B03Application.py +++ /dev/null @@ -1,161 +0,0 @@ -# This file is used by G03RunApplication.py -# -# A very prototype like class which allows to do a given number -# of runs runs (nruns) of a given number of events (nevents) -# by calling nruns times BeamOn(nevents). -# The class fills a list after every call to BeamOn(nevents) -# with the number of tracks entered in a certain cell -# in the last run. - - - -import math -import string - -# import the G4 shadow classes. B03App in tern loads B03Appc.so -# containing the "hooks" to the c++ code -from B03App import * - - - -class B03Application: - def __init__(self, nevents): - # this function prepares Geant4 for running by calling, - # creates a parallel geometry, sets importance values - # creates an parallel importance score sampler, - # creates scores to access data, - # and creates an empty histogram - #(so by far to much for one function, but this is a prototype) - - - # nevents is the number of events per run - self.nevents = nevents - # an array to store the measurements - self.measurements = [] - - def initializeApplication(self): - if "base" in dir(self): - print "already initialized" - return - # get B03AppBase singleton, in tern creating the mass detector and - # the physics list - self.base = B03AppBase_GetB03AppBase () - - - def setupParallelGeometry(self): - if "pgeom" in dir(self): - print "geometry already created" - return - if not "base" in dir(self): - print "call \"initializeApplication\" first" - return - # create the parallel geometry and get it's world volume - self.pgeom = B03ImportanceDetectorConstruction() - self.p_world = self.pgeom.GetWorldVolume() - - # create a list of G4GeometryCells related to the - # physical volumes in the parallel detector - # needed to assign importance values to the cells - # and to create scorers for the cells - self.gCell_list =[] - for i in range(1,19): - self.gCell_list.append(self.pgeom.GetGeometryCell(i)) - - - self.CellRest = self.pgeom.GetGeometryCell(19) - r = self.base.GetRunManager() - r.Initialize() - - def createIstoreAndScorer(self): - if "istore" in dir(self): - print "Istore and Scorer already created" - return - if not "pgeom" in dir(self): - print "call \"setupParallelGeometry\" first" - return - - # create an importance store - self.istore = G4IStore(self.p_world) - - # create a store for G4CellScorers - self.cs_store = G4CellScorerStore() - - # fill the istore with importance values for the - # G4GeometryCells - # and create G4CellScorers for the G4GeometryCells - self.CellScorerList = [] - exp = 0 - for gCell in self.gCell_list: - exp += 1 - importance = math.pow(2,exp) - if exp < 18: - self.istore.AddImportanceGeometryCell(importance,gCell) - self.CellScorerList.append(self.cs_store.AddCellScorer(gCell)) - - # set importance of world volume - self.istore. \ - AddImportanceGeometryCell(1, G4GeometryCell(self.p_world,0)) - imp_cell_17 = self.istore.GetImportance(self.pgeom.GetGeometryCell(17)) - - self.istore. \ - AddImportanceGeometryCell(imp_cell_17, - self.pgeom.GetGeometryCell(18)) - - self.istore. \ - AddImportanceGeometryCell(imp_cell_17, self.CellRest) - - # create G4CellStoreScorer derived from G4VPScorer - self.scorer = G4CellStoreScorer(self.cs_store) - - - def setupSampler(self): - if "sampler" in dir(self): - print "Sampler already created" - return - if not "istore" in dir(self): - print "call \"createIstoreAndScorer\" first" - return - # create a sampler for neutrons - self.sampler = G4ParallelGeometrySampler(self.p_world, - "neutron") - - self.sampler.PrepareImportanceSampling(self.istore) - self.sampler.PrepareScoring(self.scorer) - self.sampler.Configure() - - - - - - - def run(self, nruns): - if not "sampler" in dir(self): - print "call \"setupSampler\" first" - return - # this function class BeamOn(self.nevents) nruns times - # and fills a histogram with the number of tracks - # entered the 4th cell in the self.CellScorerList ("p_D2") - # at the end it prints a table of the scores - - - # get run manager and run 100 events - - r = self.base.GetRunManager() - tinold=self.CellScorerList[17].GetCellScoreValues().fSumTracksEntering - # run nruns runs with self.nevents events - # each and fill a histogram after each run - for i in range(nruns): - r.BeamOn(self.nevents) - tin = self.CellScorerList[17].GetCellScoreValues().fSumTracksEntering - v = tin-tinold - self.measurements.append(v) - tinold = tin - print "run number:", i+1, "measured: ", v - - # create a G4ScoreTable - st = G4ScoreTable(self.istore) - # get the result as table in a string - s = st.Write(self.cs_store.GetMapGeometryCellCellScorer()) - print s - - diff --git a/examples/extended/biasing/B03/B03RunApplication.py b/examples/extended/biasing/B03/B03RunApplication.py deleted file mode 100755 index 114e6cb330..0000000000 --- a/examples/extended/biasing/B03/B03RunApplication.py +++ /dev/null @@ -1,42 +0,0 @@ -#! /usr/bin/env python - -# #!/afs/cern.ch/sw/lhcxx/specific/redhat61/gcc-2.95.2/PublicDomainPackages/2.0.0/bin/python2.2 - -# #!/opt/Anaphe/5.0.1/specific/redhat72/gcc-2.95.2/PublicDomainPackages/2.0.0/bin/python2.2 - - -# This example needs python2.2 http://www.python.org or later. -# -# This script may be used without or with PI. -# Without python: just execute this file. -# With python: start python2.2 and then do -# execfile("B03RunApplication.py") - -import string -from PyAida import * - -execfile("B03Application.py") -#executing the application could be done "by hand" - -Bapp = B03Application(10) -Bapp.initializeApplication() -Bapp.setupParallelGeometry() -Bapp.createIstoreAndScorer() -Bapp.setupSampler() - -Bapp.run(30) - -# using PI to create a histogram -if 'af' in dir(): - tr = tf.create("TracksEntering.hbook","hbook") - hf = af.createHistogramFactory(tr) - n = Bapp.nevents - minm = int(min(Bapp.measurements))-0.5 - maxm = int(max(Bapp.measurements)+1)+0.5 - h = hf.createHistogram1D ("10","Tracks entering in " + '%(n)d' % vars() + " events",30, minm, maxm) - for v in Bapp.measurements: - h.fill(v) -# hplot(h) -tr.commit() -tr.close() - diff --git a/examples/extended/biasing/B03/GNUmakefile b/examples/extended/biasing/B03/GNUmakefile deleted file mode 100644 index e853a712a4..0000000000 --- a/examples/extended/biasing/B03/GNUmakefile +++ /dev/null @@ -1,79 +0,0 @@ -# $Id: GNUmakefile,v 1.13 2005/03/17 17:20:19 daquinog Exp $ -# -------------------------------------------------------------- -# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. -# -------------------------------------------------------------- -# -# The variable PI_BASE_DIR has to be setup. See ../README. -# - -name := exampleB03 -G4TARGET := $(name) -G4EXLIB := true - -ifndef G4INSTALL - G4INSTALL = ../../.. -endif - -include $(G4INSTALL)/config/architecture.gmk - -SWIGINC = include/B03App.i -SWIGCC = src/B03App_wrap.cc -SWIGD = $(G4WORKDIR)/tmp/$(G4SYSTEM)/exampleB03/B03App_wrap.d -objectfilesWrapper = $(G4WORKDIR)/tmp/$(G4SYSTEM)/exampleB03/B03App_wrap.o -SWIGSO = $(G4WORKDIR)/tmp/$(G4SYSTEM)/exampleB03/_B03App.so - -moduleName = B03App - -MYLIBS = $(subst -l$(name),,$(LDLIBS)) - -SWIG = ${SWIG_BASE_DIR}/bin/swig-${SWIGVERSION} -#SWIG = ${SWIG_BASE_DIR}/bin/swig - -.PHONY: clean_all all -all: $(SWIGD) $(SWIGCC) lib $(SWIGSO) bin - -CPPFLAGS += -I${PYTHON_INCLUDE_DIR} -CXXFLAGS += -w - -LDFLAGS += \ - -L${PYTHON_LIB_DIR} \ - -llcg_AIDA_AnalysisFactory \ - -llcg_PluginManager \ - -llcg_SealBase \ - -llcg_AIDA_Plugin \ - -L/lib \ - -lnsl -ldl -lreadline /lib/libtermcap.so.2 -lieee -lpthread -lutil -lexampleB03 -lpython$(PYTHONVERSION) - -include $(G4INSTALL)/config/binmake.gmk - -ifdef G4ANALYSIS_USE - CPPFLAGS += `aida-config --include` - LDFLAGS += `aida-config --lib` -endif - -$(SWIGSO): $(objectfilesWrapper) - @echo Creating shared library: $@ - $(CXX) -Wl,-soname,$(@F) -shared $(LDFLAGS) $(objectfilesWrapper) $(MYLIBS) -lc -o $(SWIGSO) - -src/%_wrap.cc: include/%.i - $(SWIG) -python -c++ -shadow -no_default $(SWIGFLAGS) \ - -o $@ $< - @mv src/$(moduleName).py ./ - -${G4WORKDIR}/tmp/${G4SYSTEM}/$(name): - @mkdir ${G4WORKDIR}/tmp/${G4SYSTEM}/$(name) - - -clean_all: clean - @rm -f B03App.pyc - @rm B03App.py - @rm src/B03App_wrap.cc - - -#libdir = $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name) -#objectfiles = $(shell /bin/ls $(G4WORKDIR)/tmp/$(G4SYSTEM)/$(name)/*.o) -#_B03App.so: -# @echo Creating shared library: $(libdir)/$@ -# $(CXX) -Wl,-soname,$(@F) -shared $(LDFLAGS) $(LDLIBS) -L$(libdir) $(objectfiles) -o $(libdir)/$@ - - diff --git a/examples/extended/biasing/B03/exampleB03.out b/examples/extended/biasing/B03/exampleB03.out deleted file mode 100644 index a95e963bf5..0000000000 --- a/examples/extended/biasing/B03/exampleB03.out +++ /dev/null @@ -1,144 +0,0 @@ -********************************************** - Geant4 version $Name: geant4-08-02 $ - (31-Jul-2002) - Copyright : Geant4 Collaboration -********************************************** -Going to assign importance: 1, to volumeworldCylinder_phys -Going to assign importance: 2, to volumecell: 02, shield -Going to assign importance: 4, to volumecell: 03, shield -Going to assign importance: 8, to volumecell: 04, shield - -phot: Total cross sections from Sandia parametrisation. -B03PhysicsList::SetCuts:CutLength : 1 (mm) - -conv: Total cross sections from a parametrisation. Good description from 1.5 MeV to 100 GeV for all Z. - e+e- energies according Bethe-Heitler - PhysicsTables from 1.022 MeV to 100 GeV in 100 bins. - -compt: Total cross sections from a parametrisation. Good description from 10 KeV to (100/Z) GeV. - Scattered gamma energy according Klein-Nishina. - PhysicsTables from 1 keV to 100 GeV in 80 bins. - -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. - -eIoni: delta cross sections from Moller+Bhabha. Good description from 1 KeV to 100 GeV. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. - -eBrem: Total cross sections from a NEW parametrisation based on the EEDL data library. - Good description from 1 KeV to 100 GeV. - log scale extrapolation above 100 GeV - Gamma energy sampled from a parametrised formula. - PhysicsTables from 1 keV to 100 TeV in 100 bins. - -annihil: Total cross section from Heilter formula(annihilation into 2 photons). - gamma energies sampled according Heitler - PhysicsTables from 10 keV to 10 TeV in 100 bins. - -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. - -hIoni: Knock-on electron cross sections . - Good description above the mean excitation energy. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 100 TeV in 100 bins. - -msc: Tables of transport mean free paths. - New model of MSC , computes the lateral - displacement of the particle , too. - PhysicsTables from 100 eV to 100 TeV in 100 bins. - -MuIoni: Knock-on electron cross sections . - Good description above the mean excitation energy. - delta ray energy sampled from differential Xsection. - PhysicsTables from 1 keV to 1000 PeV in 150 bins. - -MuBrems: theoretical cross section - Good description up to 1000 PeV. - PhysicsTables from 1 keV to 1000 PeV in 150 bins. - -MuPairProd: theoretical cross sections - Good description up to 1000 PeV. - PhysicsTables from 1 keV to 1000 PeV in 150 bins. -+++ G4ProcessPlacer::G4ProcessPlacer: for: neutron -=== G4ProcessPlacer::AddProcessAsSecondDoIt === - ProcessName: MassImportanceProcess -The initial Vectors: -GPIL Vector: - Decay - LCapture - LFission - inelastic - LElastic - Transportation -DoIt Vector: - Transportation - LElastic - inelastic - LFission - LCapture - Decay -The final Vectors: -GPIL Vector: - Decay - LCapture - LFission - inelastic - LElastic - MassImportanceProcess - Transportation -DoIt Vector: - Transportation - MassImportanceProcess - LElastic - inelastic - LFission - LCapture - Decay -================================================ -WARNING - G4ImportanceAlgorithm::Calculate: ipre_over_ipost ! in [0.25, 4]: ipre_over_ipost = 8 -+++ G4ProcessPlacer::G4ProcessPlacer: for: neutron - ProcessName: MassImportanceProcess, will be removed! -The initial Vectors: -GPIL Vector: - Decay - LCapture - LFission - inelastic - LElastic - MassImportanceProcess - Transportation -DoIt Vector: - Transportation - MassImportanceProcess - LElastic - inelastic - LFission - LCapture - Decay -The final Vectors: -GPIL Vector: - Decay - LCapture - LFission - inelastic - LElastic - Transportation -DoIt Vector: - Transportation - LElastic - inelastic - LFission - LCapture - Decay - -WARNING - G4ImportanceAlgorithm::~G4ImportanceAlgorithm: ipre_over_ipost ! in [0.25, 4] seen - -WARNING - Attempt to delete the physical volume store while geometry closed ! -WARNING - Attempt to delete the logical volume store while geometry closed ! -WARNING - Attempt to delete the solid store while geometry closed ! diff --git a/examples/extended/biasing/B03/include/B03App.i b/examples/extended/biasing/B03/include/B03App.i deleted file mode 100644 index 0d8434a8df..0000000000 --- a/examples/extended/biasing/B03/include/B03App.i +++ /dev/null @@ -1,179 +0,0 @@ -%module B03App -%{ -#include "globals.hh" -#include "B03AppBase.hh" -#include "G4RunManager.hh" -#include "G4IStore.hh" -#include "G4VCellScorerStore.hh" -#include "G4VScorer.hh" -#include "G4ParallelGeometrySampler.hh" -#include "G4CellScorerStore.hh" -#include "G4CellStoreScorer.hh" -#include "G4GeometryCell.hh" -#include "G4CellScoreComposer.hh" -#include "G4CellScoreValues.hh" -#include "G4CellScorer.hh" -#include "G4ScoreTable.hh" -#include "G4VIStore.hh" -#include -#include -#include -#include "G4VPhysicalVolume.hh" -#include "B03ImportanceDetectorConstruction.hh" -#include "G4VImportanceAlgorithm.hh" -%} - -class G4RunManager { -public: - void BeamOn(int e); - void Initialize(); -}; - -class G4VIStore{ -}; - -class G4VPhysicalVolume { -}; - -class G4GeometryCell{ -public: - G4GeometryCell(const G4VPhysicalVolume &aVolume, int RepNum); - ~G4GeometryCell(); - const G4VPhysicalVolume &GetPhysicalVolume() const; - int GetReplicaNumber() const; -}; - -class G4IStore : public G4VIStore{ -public: - G4IStore(const G4VPhysicalVolume &worldvolume); - ~G4IStore(); - void AddImportanceGeometryCell(double importance, - const G4GeometryCell &gCell); - void ChangeImportance(double importance, - const G4GeometryCell &gCell); - double GetImportance(const G4GeometryCell &gCell) const; - bool IsKnown(const G4GeometryCell &gCell) const; - const G4VPhysicalVolume &GetWorldVolume() const; -}; - - -struct G4CellScoreValues { - G4CellScoreValues(); - double fSumSL; - double fSumSLW; - double fSumSLW_v; - double fSumSLWE; - double fSumSLWE_v; - int fSumTracksEntering; - int fSumPopulation; - int fSumCollisions; - double fSumCollisionsWeight; - double fNumberWeightedEnergy; - double fFluxWeightedEnergy; - double fAverageTrackWeight; - double fImportance; -}; - - -class G4CellScoreComposer { -public: - G4CellScoreComposer(); - ~G4CellScoreComposer(); - G4CellScoreValues GetStandardCellScoreValues() const; -}; - - -class G4CellScorer{ -public: - G4CellScoreComposer GetCellScoreComposer() const; - G4CellScoreValues GetCellScoreValues() const; -}; - -typedef std::map G4MapGeometryCellCellScorer; - -class G4VCellScorerStore{ -}; - -class G4CellScorerStore : public G4VCellScorerStore{ -public: - G4CellScorerStore(); - ~G4CellScorerStore(); - void SetAutoScorerCreate(); - G4CellScorer *AddCellScorer(const G4GeometryCell &gCell); - const G4MapGeometryCellCellScorer &GetMapGeometryCellCellScorer() const; -}; - -class G4VScorer{ -}; - -class G4CellStoreScorer : public G4VScorer{ -public: - G4CellStoreScorer(G4VCellScorerStore &csc); -}; - -class G4VImportanceAlgorithm{ -}; - -class G4ParallelGeometrySampler{ -public: - G4ParallelGeometrySampler(G4VPhysicalVolume &worldvolume, - const char *); - ~G4ParallelGeometrySampler(); - void PrepareScoring(G4VScorer *Scorer); - void PrepareImportanceSampling(G4VIStore *istore, - const G4VImportanceAlgorithm *ialg = 0); - void PrepareWeightRoulett(G4double wsurvive, - G4double wlimit, - G4double isource); - - void Configure(); - - void ClearSampling(); - G4bool IsConfigured() const; -}; - -class G4ScoreTable -{ -public: - G4ScoreTable(const G4VIStore *aIStore = 0); - ~G4ScoreTable(){} - void Print(const G4MapGeometryCellCellScorer &cs, - std::ostream *out = 0); - %extend { - const char *Write(const G4MapGeometryCellCellScorer &cs){ - std::ostringstream tmpout; - self->Print(cs, &tmpout); - std::string *value = new std::string(tmpout.str()); - return value->c_str(); - }; - } -}; - -class B03ImportanceDetectorConstruction{ -public: - B03ImportanceDetectorConstruction(); - ~B03ImportanceDetectorConstruction(); - - const G4VPhysicalVolume &GetPhysicalVolumeByName(const char *name) const; - G4VPhysicalVolume &GetWorldVolume() const; - %extend { - const char *ListPhysNames(){ - G4String *value = new G4String(self->ListPhysNamesAsG4String()); - return value->c_str(); - } - } - G4GeometryCell GetGeometryCell(int i); -}; - -class B03AppBase{ -public: - ~B03AppBase(); - static B03AppBase &GetB03AppBase(); - G4RunManager &GetRunManager(); -private: - B03AppBase(); - -}; - - - diff --git a/examples/extended/biasing/B03/include/B03DetectorConstruction.hh b/examples/extended/biasing/B03/include/B03DetectorConstruction.hh deleted file mode 100644 index 0faeab32c6..0000000000 --- a/examples/extended/biasing/B03/include/B03DetectorConstruction.hh +++ /dev/null @@ -1,47 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: B03DetectorConstruction.hh,v 1.5 2006/06/29 16:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// - -#ifndef B03DetectorConstruction_hh -#define B03DetectorConstruction_hh B03DetectorConstruction_hh - -class G4VPhysicalVolume; - -#include "G4VUserDetectorConstruction.hh" - -class B03DetectorConstruction : public G4VUserDetectorConstruction -{ -public: - B03DetectorConstruction(); - ~B03DetectorConstruction(); - - G4VPhysicalVolume* Construct(); -}; - -#endif diff --git a/examples/extended/biasing/B03/setupPI.csh b/examples/extended/biasing/B03/setupPI.csh deleted file mode 100644 index 391ea56302..0000000000 --- a/examples/extended/biasing/B03/setupPI.csh +++ /dev/null @@ -1,76 +0,0 @@ -# #Id: setupPI.csh,v 1.6 2004/06/19 17:22:46 daquinog Exp $ -# ------------------------------------------------------------------- -# GEANT4 tag $Name: geant4-08-02 $ -# ------------------------------------------------------------------- - -# before sourcing this script make sure you have set the -# environment variables according to the description in README -# NOTE:: B03 cannot work with PI Ultralite, because it needs the Python include files which are not comprised -# in the Ultralite version - -# setting in case PI and analysis is used -if (${?PI_BASE_DIR} == 1) then - setenv PI_VERSION 1_3_0 - setenv PI_VER 1.3.0 - setenv PLATF slc3_ia32_gcc323 - setenv PYTHONVERSION 2.3 - setenv PI_DIR ${PI_BASE_DIR}/${PI_VER}/app/releases/PI/PI_${PI_VERSION}/${PLATF} - setenv PATH ${PATH}:${PI_DIR}/bin - setenv PATH ${PI_BASE_DIR}/${PI_VER}/external/Python/${PYTHONVERSION}.4/${PLATF}/bin:$PATH - eval `aida-config -r csh` -# -# python from PI -# - setenv PYTHON_INCLUDE_DIR ${PI_BASE_DIR}/${PI_VER}/external/Python/${PYTHONVERSION}.4/${PLATF}/include/python${PYTHONVERSION} - setenv PYTHON_LIB_DIR ${PI_BASE_DIR}/${PI_VER}/external/Python/${PYTHONVERSION}.4/${PLATF}/lib/python${PYTHONVERSION}/config -# -# python for PI -if (${?PYTHONPATH} == 0) then - setenv PYTHONPATH -endif - setenv PYTHONPATH ${PI_DIR}/python:$PYTHONPATH - setenv PYTHONPATH ${PI_BASE_DIR}/${PI_VER}/app/releases/SEAL/SEAL_1_6_0/${PLATF}/python:$PYTHONPATH -# -# SWIG settings -setenv SWIGVERSION 1.3.15 -# -else # not using PI - - echo "-- WARNING: histograms are not activated !" - echo " Either PI_BASE_DIR are not set." - # - if ( ${?PYTHONVERSION} == 1 && \ - ${?PYTHON_BASE_DIR} == 1 && \ - ${?SWIG_BASE_DIR} == 1 && \ - ${?SWIG_VERSION} == 1 && \ - ${?CLHEP_BASE_DIR} == 1) then # settings without PI - setenv PYTHON_LIB_DIR ${PYTHON_BASE_DIR}/lib/python${PYTHONVERSION}/config - setenv PYTHON_INCLUDE_DIR ${PYTHON_BASE_DIR}/include/python${PYTHONVERSION} - # - if ( ! -d $PYTHON_LIB_DIR ) then - echo -- ERROR: no pyhton lib/config directory: $PYTHON_LIB_DIR - endif - if ( ! -d $PYTHON_INCLUDE_DIR ) then - echo -- ERROR: no pyhton include directory: $PYTHON_INCLUDE_DIR - endif - else # environment not completed in case no PI is used - echo "-- ERROR: PYTHONVERSION or PYTHON_BASE_DIR or CLHEP_BASE_DIR or SWIG_VERSION or SWIG_BASE_DIR not set!" - exit - endif - -endif # end settings for not using PI -# -if ( ${?LD_LIBRARY_PATH} == 0 ) then - setenv LD_LIBRARY_PATH -endif -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/lib/${G4SYSTEM} -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${G4WORKDIR}/tmp/${G4SYSTEM}/exampleB03 -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${PYTHON_LIB_DIR} -setenv LD_LIBRARY_PATH ${PI_BASE_DIR}/${PI_VER}/external/Python/${PYTHONVERSION}.4/${PLATF}/lib:${LD_LIBRARY_PATH} -setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${PI_BASE_DIR}/${PI_VER}/external/Boost/1.31.0/${PLATF}/lib -setenv B03_BASE `pwd` -if (${?PYTHONPATH} == 0) then - setenv PYTHONPATH -endif -setenv PYTHONPATH ${PYTHONPATH}:${LD_LIBRARY_PATH} -setenv PYTHONPATH ${PYTHONPATH}:${B03_BASE} diff --git a/examples/extended/biasing/B03/src/B03AppBase.cc b/examples/extended/biasing/B03/src/B03AppBase.cc deleted file mode 100644 index 5f48cffec6..0000000000 --- a/examples/extended/biasing/B03/src/B03AppBase.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: B03AppBase.cc,v 1.3 2006/06/29 16:35:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// -------------------------------------------------------------------- -#include "B03AppBase.hh" -#include - -#include "CLHEP/Random/Random.h" - -#include "G4RunManager.hh" - -#include "G4VPhysicalVolume.hh" -#include "B03DetectorConstruction.hh" -#include "B03PhysicsList.hh" -#include "B03PrimaryGeneratorAction.hh" - - -B03AppBase *B03AppBase::fB03AppBase = 0; -B03AppBase &B03AppBase::GetB03AppBase() { - if (!fB03AppBase) { - fB03AppBase = new B03AppBase; - } - return *fB03AppBase; -} - -B03AppBase::B03AppBase(){ - G4long myseed = 345354; - - CLHEP::HepRandom::setTheSeed(myseed); - - frunMgr = new G4RunManager; - - // create the "tracking" detector ----------------- - fDetector = new B03DetectorConstruction; - frunMgr->SetUserInitialization(fDetector); - // --------------------------------------------------- - fPhysics = new B03PhysicsList; - frunMgr->SetUserInitialization(fPhysics); - fPrimary = new B03PrimaryGeneratorAction; - frunMgr->SetUserAction(fPrimary); - // frunMgr->Initialize(); - - /* - // create the detector for the importances and scoring - fImportancedetector - = new B03ImportanceDetectorConstruction(); - // the IStore is filled during detector construction - - fIStore = fImportancedetector->GetIStore(); - - // create importance sampler to importance sample neutrons - // in the importance geometry - fCS_store = - &fImportancedetector->GetCellScorerStore(); - fCS_scorer = new G4CellStoreScorer(*fCS_store); - fPmgr = new - G4ParallelImportanceScoreSampler(*fIStore, *fCS_scorer, "neutron"); - fPmgr->Initialize(); - */ -} - -B03AppBase::~B03AppBase(){ - delete fPrimary; - delete fPhysics; - delete fDetector; - delete frunMgr; -} - - diff --git a/examples/extended/biasing/B03/src/B03DetectorConstruction.cc b/examples/extended/biasing/B03/src/B03DetectorConstruction.cc deleted file mode 100644 index fa8d99b021..0000000000 --- a/examples/extended/biasing/B03/src/B03DetectorConstruction.cc +++ /dev/null @@ -1,185 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: B03DetectorConstruction.cc,v 1.15 2006/06/29 16:35:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// - -#include "G4Types.hh" -#include "globals.hh" - -#include "B03DetectorConstruction.hh" - -#include "G4Material.hh" -#include "G4Box.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4PVPlacement.hh" -#include "G4VisAttributes.hh" -#include "G4Colour.hh" - -B03DetectorConstruction::B03DetectorConstruction() -{;} - -B03DetectorConstruction::~B03DetectorConstruction() -{;} - -G4VPhysicalVolume* B03DetectorConstruction::Construct() -{ - char line[255]; - - G4double pos_x; - G4double pos_y; - G4double pos_z; - - G4double density, pressure, temperature; - G4double A; - G4int Z; - - G4String name, symbol; - G4double z; - G4double fractionmass; - - A = 1.01*g/mole; - G4Element* elH = new G4Element(name="Hydrogen",symbol="H" , Z= 1, A); - - A = 12.01*g/mole; - G4Element* elC = new G4Element(name="Carbon" ,symbol="C" , Z = 6, A); - - A = 16.00*g/mole; - G4Element* elO = new G4Element(name="Oxygen" ,symbol="O" , Z= 8, A); - - A = 22.99*g/mole; - G4Element* elNa = new G4Element(name="Natrium" ,symbol="Na" , Z=11 , A); - - A = 200.59*g/mole; - G4Element* elHg = new G4Element(name="Hg" ,symbol="Hg" , Z=80, A); - - A = 26.98*g/mole; - G4Element* elAl = new G4Element(name="Aluminium" ,symbol="Al" , Z=13, A); - - A = 28.09*g/mole; - G4Element* elSi = new G4Element(name="Silicon", symbol="Si", Z=14, A); - - A = 39.1*g/mole; - G4Element* elK = new G4Element(name="K" ,symbol="K" , Z=19 , A); - - A = 69.72*g/mole; - G4Element* elCa = new G4Element(name="Calzium" ,symbol="Ca" , Z=31 , A); - - A = 55.85*g/mole; - G4Element* elFe = new G4Element(name="Iron" ,symbol="Fe", Z=26, A); - - density = universe_mean_density; //from PhysicalConstants.h - pressure = 3.e-18*pascal; - temperature = 2.73*kelvin; - G4Material *Galactic = - new G4Material(name="Galactic", z=1., A=1.01*g/mole, density, - kStateGas,temperature,pressure); - - density = 2.03*g/cm3; - G4Material* Concrete = new G4Material("Concrete", density, 10); - Concrete->AddElement(elH , fractionmass= 0.01); - Concrete->AddElement(elO , fractionmass= 0.529); - Concrete->AddElement(elNa , fractionmass= 0.016); - Concrete->AddElement(elHg , fractionmass= 0.002); - Concrete->AddElement(elAl , fractionmass= 0.034); - Concrete->AddElement(elSi , fractionmass= 0.337); - Concrete->AddElement(elK , fractionmass= 0.013); - Concrete->AddElement(elCa , fractionmass= 0.044); - Concrete->AddElement(elFe , fractionmass= 0.014); - Concrete->AddElement(elC , fractionmass= 0.001); - - ///////////////////////////// - // world cylinder volume - //////////////////////////// - - - G4double innerRadiusCylinder = 0*cm; - G4double outerRadiusCylinder = 101*cm; // dont't have scoring - // cells coinside eith world volume boundary - G4double hightCylinder = 105*cm; - G4double startAngleCylinder = 0*deg; - G4double spanningAngleCylinder = 360*deg; - - G4Tubs *worldCylinder = new G4Tubs("worldCylinder", - innerRadiusCylinder, - outerRadiusCylinder, - hightCylinder, - startAngleCylinder, - spanningAngleCylinder); - - // logical world - - G4LogicalVolume *worldCylinder_log = - new G4LogicalVolume(worldCylinder, Galactic, "worldCylinder_log"); - - name = "shieldWorld"; - G4PVPlacement *pWorldVolume = new - G4PVPlacement(0, G4ThreeVector(0,0,0), worldCylinder_log, - name, 0, false, 0); - - - // creating 1 slobs of 180 cm thick concrete - - G4double innerRadiusShield = 0*cm; - G4double outerRadiusShield = 100*cm; - G4double hightShield = 90*cm; - G4double startAngleShield = 0*deg; - G4double spanningAngleShield = 360*deg; - - G4Tubs *aShield = new G4Tubs("aShield", - innerRadiusShield, - outerRadiusShield, - hightShield, - startAngleShield, - spanningAngleShield); - - // logical shield - - G4LogicalVolume *aShield_log = - new G4LogicalVolume(aShield, Concrete, "aShield_log"); - - // physical shield - - - name = "ConcreateBlock"; - - pos_x = 0*cm; - pos_y = 0*cm; - pos_z = 0*cm; - G4VPhysicalVolume *pvol = - new G4PVPlacement(0, - G4ThreeVector(pos_x, pos_y, pos_z), - aShield_log, - name, - worldCylinder_log, - false, - 0); - - return pWorldVolume; -} diff --git a/examples/extended/biasing/B03/src/B03ImportanceDetectorConstruction.cc b/examples/extended/biasing/B03/src/B03ImportanceDetectorConstruction.cc deleted file mode 100644 index c0b1fe49a9..0000000000 --- a/examples/extended/biasing/B03/src/B03ImportanceDetectorConstruction.cc +++ /dev/null @@ -1,218 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: B03ImportanceDetectorConstruction.cc,v 1.8 2006/06/29 16:35:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// - -#include "globals.hh" -#include "G4Types.hh" -#include - -#include "B03ImportanceDetectorConstruction.hh" - -#include "G4Material.hh" -#include "G4Tubs.hh" -#include "G4LogicalVolume.hh" -#include "G4ThreeVector.hh" -#include "G4PVPlacement.hh" - - -B03ImportanceDetectorConstruction::B03ImportanceDetectorConstruction() -{ - Construct(); -} - -B03ImportanceDetectorConstruction::~B03ImportanceDetectorConstruction() -{;} - -void B03ImportanceDetectorConstruction::Construct() -{ - G4String name; - G4double A, density, temperature, pressure; - G4int z; - - G4Material *Galactic = - new G4Material(name="Galactic", z=1, A=1.01*g/mole, density, - kStateGas,temperature,pressure); - - - - ////////////////////////////////// - // parallel world cylinder volume - ////////////////////////////////// - - // parallel world solid larger than in the mass geometry - - G4double innerRadiusCylinder = 0*cm; - G4double outerRadiusCylinder = 110*cm; - G4double hightCylinder = 110*cm; - G4double startAngleCylinder = 0*deg; - G4double spanningAngleCylinder = 360*deg; - - G4Tubs *worldCylinder = new G4Tubs("worldCylinder", - innerRadiusCylinder, - outerRadiusCylinder, - hightCylinder, - startAngleCylinder, - spanningAngleCylinder); - - // logical world - - G4LogicalVolume *worldCylinder_log = - new G4LogicalVolume(worldCylinder, Galactic, "worldCylinder_log"); - - name = "parallelWorld"; - fWorldVolume = new - G4PVPlacement(0, G4ThreeVector(0,0,0), worldCylinder_log, - name, 0, false, 0); - - fPVolumeStore.AddPVolume(G4GeometryCell(*fWorldVolume, 0)); - - - - - // creating 18 slobs of 10 cm thicknes - - G4double innerRadiusShield = 0*cm; - G4double outerRadiusShield = 100*cm; - G4double hightShield = 5*cm; - G4double startAngleShield = 0*deg; - G4double spanningAngleShield = 360*deg; - - G4Tubs *aShield = new G4Tubs("aShield", - innerRadiusShield, - outerRadiusShield, - hightShield, - startAngleShield, - spanningAngleShield); - - // logical parallel cells - - G4LogicalVolume *aShield_log = - new G4LogicalVolume(aShield, Galactic, "aShield_log"); - - // physical parallel cells - - G4int i = 1; - G4double startz = -85*cm; - for (i=1; i<=18; ++i) { - - name = GetCellName(i); - - G4double pos_x = 0*cm; - G4double pos_y = 0*cm; - G4double pos_z = startz + (i-1) * (2*hightShield); - G4VPhysicalVolume *pvol = - new G4PVPlacement(0, - G4ThreeVector(pos_x, pos_y, pos_z), - aShield_log, - name, - worldCylinder_log, - false, - 0); - G4GeometryCell cell(*pvol, 0); - fPVolumeStore.AddPVolume(cell); - } - - // filling the rest of the world volumr behind the concrete with - // another slob which should get the same importance value as the - // last slob - innerRadiusShield = 0*cm; - outerRadiusShield = 110*cm; - hightShield = 10*cm; - startAngleShield = 0*deg; - spanningAngleShield = 360*deg; - - G4Tubs *aRest = new G4Tubs("Rest", - innerRadiusShield, - outerRadiusShield, - hightShield, - startAngleShield, - spanningAngleShield); - - G4LogicalVolume *aRest_log = - new G4LogicalVolume(aRest, Galactic, "aRest_log"); - name = GetCellName(19); - - G4double pos_x = 0*cm; - G4double pos_y = 0*cm; - G4double pos_z = 100*cm; - G4VPhysicalVolume *pvol = - new G4PVPlacement(0, - G4ThreeVector(pos_x, pos_y, pos_z), - aRest_log, - name, - worldCylinder_log, - false, - 0); - G4GeometryCell cell(*pvol, 0); - fPVolumeStore.AddPVolume(cell); - -} - -const G4VPhysicalVolume &B03ImportanceDetectorConstruction:: -GetPhysicalVolumeByName(const G4String& name) const { - return *fPVolumeStore.GetPVolume(name); -} - - -G4String B03ImportanceDetectorConstruction::ListPhysNamesAsG4String(){ - G4String names(fPVolumeStore.GetPNames()); - return names; -} - - -G4String B03ImportanceDetectorConstruction::GetCellName(G4int i) { - std::ostringstream os; - os << "cell_"; - if (i<10) { - os << "0"; - } - os << i - << '\0'; - G4String name = os.str(); - return name; -} - -G4GeometryCell B03ImportanceDetectorConstruction::GetGeometryCell(G4int i){ - G4String name(GetCellName(i)); - const G4VPhysicalVolume *p=0; - p = fPVolumeStore.GetPVolume(name); - if (p) { - return G4GeometryCell(*p,0); - } - else { - G4cout << "B03ImportanceDetectorConstruction::GetGeometryCell: couldn't get G4GeometryCell" << G4endl; - return G4GeometryCell(*fWorldVolume,-2); - } -} - - -G4VPhysicalVolume &B03ImportanceDetectorConstruction::GetWorldVolume() const{ - return *fWorldVolume; -} - diff --git a/examples/extended/biasing/B03/src/B03PVolumeStore.cc b/examples/extended/biasing/B03/src/B03PVolumeStore.cc deleted file mode 100644 index a1aa4050cf..0000000000 --- a/examples/extended/biasing/B03/src/B03PVolumeStore.cc +++ /dev/null @@ -1,95 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: B03PVolumeStore.cc,v 1.4 2006/06/29 16:35:19 gunter Exp $ -// GEANT4 tag -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// B03PVolumeStore.cc -// -// ---------------------------------------------------------------------- - -#include "B03PVolumeStore.hh" -#include - - -#include "G4VPhysicalVolume.hh" - -B03PVolumeStore::B03PVolumeStore(){} -B03PVolumeStore::~B03PVolumeStore(){} - -void B03PVolumeStore::AddPVolume(const G4GeometryCell &cell){ - - B03SetGeometryCell::iterator it = - fSetGeometryCell.find(cell); - if (it != fSetGeometryCell.end()) { - G4cout << "B03PVolumeStore::AddPVolume: cell already stored" - << G4endl; - return; - } - - fSetGeometryCell.insert(cell); - - -} - -const G4VPhysicalVolume *B03PVolumeStore:: -GetPVolume(const G4String &name) const { - const G4VPhysicalVolume *pvol = 0; - for (B03SetGeometryCell::const_iterator it = fSetGeometryCell.begin(); - it != fSetGeometryCell.end(); ++it) { - const G4VPhysicalVolume &vol = it->GetPhysicalVolume(); - if (vol.GetName() == name) { - pvol = &vol; - } - } - if (!pvol) { - G4cout << "B03PVolumeStore::GetPVolume: no physical volume named: " - << name << ", found" << G4endl; - } - return pvol; -} - -G4String B03PVolumeStore::GetPNames() const { - G4String NameString; - for (B03SetGeometryCell::const_iterator it = fSetGeometryCell.begin(); - it != fSetGeometryCell.end(); ++it) { - const G4VPhysicalVolume &vol = it->GetPhysicalVolume(); - std::ostringstream os; - os << vol.GetName() << "_" << it->GetReplicaNumber() - << "\n" << '\0'; - G4String cellname = os.str(); - - // G4String cellname(vol.GetName()); - // cellname += G4String("_"); - // cellname += std::str(it->GetReplicaNumber()); - - NameString += cellname; - } - return NameString; -} diff --git a/examples/extended/biasing/B03/src/B03PhysicsList.cc b/examples/extended/biasing/B03/src/B03PhysicsList.cc deleted file mode 100644 index bf1f566578..0000000000 --- a/examples/extended/biasing/B03/src/B03PhysicsList.cc +++ /dev/null @@ -1,636 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: B03PhysicsList.cc,v 1.5 2006/06/29 16:35:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// - -#include "globals.hh" -#include - -#include "B03PhysicsList.hh" - -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" -#include "G4BosonConstructor.hh" -#include "G4LeptonConstructor.hh" -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4IonConstructor.hh" -#include "G4ShortLivedConstructor.hh" -#include "G4Material.hh" -#include "G4MaterialTable.hh" - -B03PhysicsList::B03PhysicsList() : G4VUserPhysicsList() -{ - SetVerboseLevel(1); -} - -B03PhysicsList::~B03PhysicsList() -{ -} - -void B03PhysicsList::ConstructParticle() -{ - // In this method, static member functions should be called - // for all particles which you want to use. - // This ensures that objects of these particle types will be - // created in the program. - - ConstructAllBosons(); - ConstructAllLeptons(); - ConstructAllMesons(); - ConstructAllBaryons(); - ConstructAllIons(); - ConstructAllShortLiveds(); -} - -void B03PhysicsList::ConstructAllBosons() -{ - // Construct all bosons - G4BosonConstructor pConstructor; - pConstructor.ConstructParticle(); -} - -void B03PhysicsList::ConstructAllLeptons() -{ - // Construct all leptons - G4LeptonConstructor pConstructor; - pConstructor.ConstructParticle(); -} - -void B03PhysicsList::ConstructAllMesons() -{ - // Construct all mesons - G4MesonConstructor pConstructor; - pConstructor.ConstructParticle(); -} - -void B03PhysicsList::ConstructAllBaryons() -{ - // Construct all barions - G4BaryonConstructor pConstructor; - pConstructor.ConstructParticle(); -} - -void B03PhysicsList::ConstructAllIons() -{ - // Construct light ions - G4IonConstructor pConstructor; - pConstructor.ConstructParticle(); -} - -void B03PhysicsList::ConstructAllShortLiveds() -{ - // Construct resonaces and quarks - G4ShortLivedConstructor pConstructor; - pConstructor.ConstructParticle(); -} - -void B03PhysicsList::ConstructProcess() -{ - AddTransportation(); - ConstructEM(); - ConstructLeptHad(); - ConstructHad(); - ConstructGeneral(); -} - -#include "G4ComptonScattering.hh" -#include "G4GammaConversion.hh" -#include "G4PhotoElectricEffect.hh" - -#include "G4MultipleScattering.hh" - -#include "G4eIonisation.hh" -#include "G4eBremsstrahlung.hh" -#include "G4eplusAnnihilation.hh" - -#include "G4MuIonisation.hh" -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" - -#include "G4hIonisation.hh" - -void B03PhysicsList::ConstructEM() -{ - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "gamma") { - // gamma - // Construct processes for gamma - pmanager->AddDiscreteProcess(new G4GammaConversion()); - pmanager->AddDiscreteProcess(new G4ComptonScattering()); - pmanager->AddDiscreteProcess(new G4PhotoElectricEffect()); - - } else if (particleName == "e-") { - //electron - // Construct processes for electron - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4eIonisation(),-1,2,2); - pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3); - - } else if (particleName == "e+") { - //positron - // Construct processes for positron - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - - pmanager->AddProcess(new G4eIonisation(),-1,2,2); - pmanager->AddProcess(new G4eBremsstrahlung(),-1,-1,3); - pmanager->AddProcess(new G4eplusAnnihilation(),0,-1,4); - - } else if( particleName == "mu+" || - particleName == "mu-" ) { - //muon - // Construct processes for muon+ - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4MuIonisation(),-1,2,2); - pmanager->AddProcess(new G4MuBremsstrahlung(),-1,-1,3); - pmanager->AddProcess(new G4MuPairProduction(),-1,-1,4); - - } else if( particleName == "GenericIon" ) { - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4hIonisation(),-1,2,2); - } else { - if ((particle->GetPDGCharge() != 0.0) && - (particle->GetParticleName() != "chargedgeantino")&& - (!particle->IsShortLived()) ) { - // all others charged particles except geantino - pmanager->AddProcess(new G4MultipleScattering(),-1,1,1); - pmanager->AddProcess(new G4hIonisation(),-1,2,2); - } - } - } -} - -// Hadron Processes - -#include "G4HadronElasticProcess.hh" -#include "G4HadronFissionProcess.hh" -#include "G4HadronCaptureProcess.hh" - -#include "G4PionPlusInelasticProcess.hh" -#include "G4PionMinusInelasticProcess.hh" -#include "G4KaonPlusInelasticProcess.hh" -#include "G4KaonZeroSInelasticProcess.hh" -#include "G4KaonZeroLInelasticProcess.hh" -#include "G4KaonMinusInelasticProcess.hh" -#include "G4ProtonInelasticProcess.hh" -#include "G4AntiProtonInelasticProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4AntiNeutronInelasticProcess.hh" -#include "G4LambdaInelasticProcess.hh" -#include "G4AntiLambdaInelasticProcess.hh" -#include "G4SigmaPlusInelasticProcess.hh" -#include "G4SigmaMinusInelasticProcess.hh" -#include "G4AntiSigmaPlusInelasticProcess.hh" -#include "G4AntiSigmaMinusInelasticProcess.hh" -#include "G4XiZeroInelasticProcess.hh" -#include "G4XiMinusInelasticProcess.hh" -#include "G4AntiXiZeroInelasticProcess.hh" -#include "G4AntiXiMinusInelasticProcess.hh" -#include "G4DeuteronInelasticProcess.hh" -#include "G4TritonInelasticProcess.hh" -#include "G4AlphaInelasticProcess.hh" -#include "G4OmegaMinusInelasticProcess.hh" -#include "G4AntiOmegaMinusInelasticProcess.hh" - -// Low-energy Models - -#include "G4LElastic.hh" -#include "G4LFission.hh" -#include "G4LCapture.hh" - -#include "G4LEPionPlusInelastic.hh" -#include "G4LEPionMinusInelastic.hh" -#include "G4LEKaonPlusInelastic.hh" -#include "G4LEKaonZeroSInelastic.hh" -#include "G4LEKaonZeroLInelastic.hh" -#include "G4LEKaonMinusInelastic.hh" -#include "G4LEProtonInelastic.hh" -#include "G4LEAntiProtonInelastic.hh" -#include "G4LENeutronInelastic.hh" -#include "G4LEAntiNeutronInelastic.hh" -#include "G4LELambdaInelastic.hh" -#include "G4LEAntiLambdaInelastic.hh" -#include "G4LESigmaPlusInelastic.hh" -#include "G4LESigmaMinusInelastic.hh" -#include "G4LEAntiSigmaPlusInelastic.hh" -#include "G4LEAntiSigmaMinusInelastic.hh" -#include "G4LEXiZeroInelastic.hh" -#include "G4LEXiMinusInelastic.hh" -#include "G4LEAntiXiZeroInelastic.hh" -#include "G4LEAntiXiMinusInelastic.hh" -#include "G4LEDeuteronInelastic.hh" -#include "G4LETritonInelastic.hh" -#include "G4LEAlphaInelastic.hh" -#include "G4LEOmegaMinusInelastic.hh" -#include "G4LEAntiOmegaMinusInelastic.hh" - -// -- generator models -#include "G4TheoFSGenerator.hh" -#include "G4ExcitationHandler.hh" -#include "G4Evaporation.hh" -#include "G4CompetitiveFission.hh" -#include "G4FermiBreakUp.hh" -#include "G4StatMF.hh" -#include "G4GeneratorPrecompoundInterface.hh" -#include "G4Fancy3DNucleus.hh" -#include "G4LEProtonInelastic.hh" -#include "G4StringModel.hh" -#include "G4PreCompoundModel.hh" -#include "G4FTFModel.hh" -#include "G4QGSMFragmentation.hh" -#include "G4ExcitedStringDecay.hh" - -// -// ConstructHad() -// -// Makes discrete physics processes for the hadrons, at present limited -// to those particles with GHEISHA interactions (INTRC > 0). -// The processes are: Elastic scattering, Inelastic scattering, -// Fission (for neutron only), and Capture (neutron). -// -// F.W.Jones 06-JUL-1998 -// - -void B03PhysicsList::ConstructHad() -{ - // this will be the model class for high energies - G4TheoFSGenerator * theTheoModel = new G4TheoFSGenerator; - - // all models for treatment of thermal nucleus - G4Evaporation * theEvaporation = new G4Evaporation; - G4FermiBreakUp * theFermiBreakUp = new G4FermiBreakUp; - G4StatMF * theMF = new G4StatMF; - - // Evaporation logic - G4ExcitationHandler * theHandler = new G4ExcitationHandler; - theHandler->SetEvaporation(theEvaporation); - theHandler->SetFermiModel(theFermiBreakUp); - theHandler->SetMultiFragmentation(theMF); - theHandler->SetMaxAandZForFermiBreakUp(12, 6); - theHandler->SetMinEForMultiFrag(3*MeV); - - // Pre equilibrium stage - G4PreCompoundModel * thePreEquilib = new G4PreCompoundModel(theHandler); - - - // a no-cascade generator-precompound interaface - G4GeneratorPrecompoundInterface * theCascade = new G4GeneratorPrecompoundInterface; - theCascade->SetDeExcitation(thePreEquilib); - - // here come the high energy parts - // the string model; still not quite according to design - Explicite use of the forseen interfaces - // will be tested and documented in this program by beta-02 at latest. - G4VPartonStringModel * theStringModel; - theStringModel = new G4FTFModel; - theTheoModel->SetTransport(theCascade); - theTheoModel->SetHighEnergyGenerator(theStringModel); - theTheoModel->SetMinEnergy(19*GeV); - theTheoModel->SetMaxEnergy(100*TeV); - - G4VLongitudinalStringDecay * theFragmentation = new G4QGSMFragmentation; - G4ExcitedStringDecay * theStringDecay = new G4ExcitedStringDecay(theFragmentation); - theStringModel->SetFragmentationModel(theStringDecay); - -// done with the generator model (most of the above is also available as default) - G4HadronElasticProcess* theElasticProcess = - new G4HadronElasticProcess; - G4LElastic* theElasticModel = new G4LElastic; - theElasticProcess->RegisterMe(theElasticModel); - G4HadronElasticProcess* theElasticProcess1 = - new G4HadronElasticProcess; - theParticleIterator->reset(); - while ((*theParticleIterator)()) { - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - G4String particleName = particle->GetParticleName(); - - if (particleName == "pi+") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4PionPlusInelasticProcess* theInelasticProcess = - new G4PionPlusInelasticProcess("inelastic"); - G4LEPionPlusInelastic* theInelasticModel = - new G4LEPionPlusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "pi-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4PionMinusInelasticProcess* theInelasticProcess = - new G4PionMinusInelasticProcess("inelastic"); - G4LEPionMinusInelastic* theInelasticModel = - new G4LEPionMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "kaon+") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4KaonPlusInelasticProcess* theInelasticProcess = - new G4KaonPlusInelasticProcess("inelastic"); - G4LEKaonPlusInelastic* theInelasticModel = new G4LEKaonPlusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "kaon0S") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4KaonZeroSInelasticProcess* theInelasticProcess = - new G4KaonZeroSInelasticProcess("inelastic"); - G4LEKaonZeroSInelastic* theInelasticModel = - new G4LEKaonZeroSInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "kaon0L") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4KaonZeroLInelasticProcess* theInelasticProcess = - new G4KaonZeroLInelasticProcess("inelastic"); - G4LEKaonZeroLInelastic* theInelasticModel = - new G4LEKaonZeroLInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "kaon-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4KaonMinusInelasticProcess* theInelasticProcess = - new G4KaonMinusInelasticProcess("inelastic"); - G4LEKaonMinusInelastic* theInelasticModel = - new G4LEKaonMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "proton") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4ProtonInelasticProcess* theInelasticProcess = - new G4ProtonInelasticProcess("inelastic"); - G4LEProtonInelastic* theInelasticModel = new G4LEProtonInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_proton") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiProtonInelasticProcess* theInelasticProcess = - new G4AntiProtonInelasticProcess("inelastic"); - G4LEAntiProtonInelastic* theInelasticModel = - new G4LEAntiProtonInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "neutron") { - - // elastic scattering - G4LElastic* theElasticModel1 = new G4LElastic; - theElasticProcess1->RegisterMe(theElasticModel1); - pmanager->AddDiscreteProcess(theElasticProcess1); - // inelastic scattering - G4NeutronInelasticProcess* theInelasticProcess = - new G4NeutronInelasticProcess("inelastic"); - G4LENeutronInelastic* theInelasticModel = new G4LENeutronInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - // fission - G4HadronFissionProcess* theFissionProcess = - new G4HadronFissionProcess; - G4LFission* theFissionModel = new G4LFission; - theFissionProcess->RegisterMe(theFissionModel); - pmanager->AddDiscreteProcess(theFissionProcess); - // capture - G4HadronCaptureProcess* theCaptureProcess = - new G4HadronCaptureProcess; - G4LCapture* theCaptureModel = new G4LCapture; - theCaptureProcess->RegisterMe(theCaptureModel); - pmanager->AddDiscreteProcess(theCaptureProcess); - } - else if (particleName == "anti_neutron") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiNeutronInelasticProcess* theInelasticProcess = - new G4AntiNeutronInelasticProcess("inelastic"); - G4LEAntiNeutronInelastic* theInelasticModel = - new G4LEAntiNeutronInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "lambda") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4LambdaInelasticProcess* theInelasticProcess = - new G4LambdaInelasticProcess("inelastic"); - G4LELambdaInelastic* theInelasticModel = new G4LELambdaInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_lambda") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiLambdaInelasticProcess* theInelasticProcess = - new G4AntiLambdaInelasticProcess("inelastic"); - G4LEAntiLambdaInelastic* theInelasticModel = - new G4LEAntiLambdaInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "sigma+") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4SigmaPlusInelasticProcess* theInelasticProcess = - new G4SigmaPlusInelasticProcess("inelastic"); - G4LESigmaPlusInelastic* theInelasticModel = - new G4LESigmaPlusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "sigma-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4SigmaMinusInelasticProcess* theInelasticProcess = - new G4SigmaMinusInelasticProcess("inelastic"); - G4LESigmaMinusInelastic* theInelasticModel = - new G4LESigmaMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_sigma+") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiSigmaPlusInelasticProcess* theInelasticProcess = - new G4AntiSigmaPlusInelasticProcess("inelastic"); - G4LEAntiSigmaPlusInelastic* theInelasticModel = - new G4LEAntiSigmaPlusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_sigma-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiSigmaMinusInelasticProcess* theInelasticProcess = - new G4AntiSigmaMinusInelasticProcess("inelastic"); - G4LEAntiSigmaMinusInelastic* theInelasticModel = - new G4LEAntiSigmaMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "xi0") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4XiZeroInelasticProcess* theInelasticProcess = - new G4XiZeroInelasticProcess("inelastic"); - G4LEXiZeroInelastic* theInelasticModel = - new G4LEXiZeroInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "xi-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4XiMinusInelasticProcess* theInelasticProcess = - new G4XiMinusInelasticProcess("inelastic"); - G4LEXiMinusInelastic* theInelasticModel = - new G4LEXiMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_xi0") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiXiZeroInelasticProcess* theInelasticProcess = - new G4AntiXiZeroInelasticProcess("inelastic"); - G4LEAntiXiZeroInelastic* theInelasticModel = - new G4LEAntiXiZeroInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_xi-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiXiMinusInelasticProcess* theInelasticProcess = - new G4AntiXiMinusInelasticProcess("inelastic"); - G4LEAntiXiMinusInelastic* theInelasticModel = - new G4LEAntiXiMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "deuteron") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4DeuteronInelasticProcess* theInelasticProcess = - new G4DeuteronInelasticProcess("inelastic"); - G4LEDeuteronInelastic* theInelasticModel = - new G4LEDeuteronInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "triton") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4TritonInelasticProcess* theInelasticProcess = - new G4TritonInelasticProcess("inelastic"); - G4LETritonInelastic* theInelasticModel = - new G4LETritonInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "alpha") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AlphaInelasticProcess* theInelasticProcess = - new G4AlphaInelasticProcess("inelastic"); - G4LEAlphaInelastic* theInelasticModel = - new G4LEAlphaInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "omega-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4OmegaMinusInelasticProcess* theInelasticProcess = - new G4OmegaMinusInelasticProcess("inelastic"); - G4LEOmegaMinusInelastic* theInelasticModel = - new G4LEOmegaMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - else if (particleName == "anti_omega-") { - pmanager->AddDiscreteProcess(theElasticProcess); - G4AntiOmegaMinusInelasticProcess* theInelasticProcess = - new G4AntiOmegaMinusInelasticProcess("inelastic"); - G4LEAntiOmegaMinusInelastic* theInelasticModel = - new G4LEAntiOmegaMinusInelastic; - theInelasticProcess->RegisterMe(theInelasticModel); - theInelasticProcess->RegisterMe(theTheoModel); - pmanager->AddDiscreteProcess(theInelasticProcess); - } - } -} - -void B03PhysicsList::ConstructLeptHad() -{;} - -#include "G4Decay.hh" -void B03PhysicsList::ConstructGeneral() -{ - G4Decay* theDecayProcess = new G4Decay(); - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - if (theDecayProcess->IsApplicable(*particle)) { - pmanager ->AddProcess(theDecayProcess); - pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); - pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest); - } - } -} - -void B03PhysicsList::SetCuts() -{ - if (verboseLevel >0) - { - G4cout << "B03PhysicsList::SetCuts:"; - G4cout << "CutLength : " << defaultCutValue/mm << " (mm)" << G4endl; - } - // "G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - SetCutsWithDefault(); -} diff --git a/examples/extended/biasing/GNUmakefile b/examples/extended/biasing/GNUmakefile index c255d20048..182268464d 100644 --- a/examples/extended/biasing/GNUmakefile +++ b/examples/extended/biasing/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.9 2004/12/08 19:18:45 daquinog Exp $ +# $Id: GNUmakefile,v 1.10 2007/06/13 14:45:49 ahoward Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 08/04/02. # -------------------------------------------------------------- @@ -9,7 +9,7 @@ endif include $(G4INSTALL)/config/architecture.gmk -SUBDIRS = B01 B02 B03 +SUBDIRS = B01 B02 .PHONY : all clean clean_libs diff --git a/examples/extended/biasing/History b/examples/extended/biasing/History index a9741ed371..55cc67a4f0 100644 --- a/examples/extended/biasing/History +++ b/examples/extended/biasing/History @@ -1,4 +1,4 @@ -$Id: History,v 1.32 2005/12/06 11:15:28 gcosmo Exp $ +$Id: History,v 1.36 2007/06/22 13:20:55 ahoward Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,19 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +June 22, 2007 A. Howard - exbiasing-V08-03-02 +- Cleaned up B01 and B02 code to be more example-like for release + +June 5, 2007 A. Howard - exbiasing-V08-03-01 +- Removed B03 from GNUmakefile +- Included "B02-V08-03-00" - migration of B02 to new biasing/scoring scheme: + test version + +June 5, 2007 A. Howard - exbiasing-V08-03-00 +- Migrated example B01 to new biasing/scoring scheme - test version + (needs clean up before public release) +- Removed B03 (redundant/obsolete use of python) + Dec 6, 2005 G. Cosmo - Trivial changes for support of CLHEP-2.0.X series. diff --git a/examples/extended/electromagnetic/TestEm0/DirectAccess.cc b/examples/extended/electromagnetic/TestEm0/DirectAccess.cc index 6b279afe19..dd6275f29c 100644 --- a/examples/extended/electromagnetic/TestEm0/DirectAccess.cc +++ b/examples/extended/electromagnetic/TestEm0/DirectAccess.cc @@ -25,7 +25,7 @@ // // // $Id: DirectAccess.cc,v 1.2 2006/06/29 16:35:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // diff --git a/examples/extended/electromagnetic/TestEm0/History b/examples/extended/electromagnetic/TestEm0/History index 4d785601ac..4de1369a4e 100644 --- a/examples/extended/electromagnetic/TestEm0/History +++ b/examples/extended/electromagnetic/TestEm0/History @@ -1,4 +1,4 @@ -$Id: History,v 1.11 2006/12/08 16:38:38 maire Exp $ +$Id: History,v 1.12 2007/06/21 17:30:53 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,9 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +21-06-07 mma (testem0-V08-03-00) +- cosmetic in TestEm0.cc + 08-12-06 mma (testem0-V08-01-02) - correct a cout in BeginOfRun diff --git a/examples/extended/electromagnetic/TestEm0/TestEm0.cc b/examples/extended/electromagnetic/TestEm0/TestEm0.cc index b878154ac7..41848f5e0f 100644 --- a/examples/extended/electromagnetic/TestEm0/TestEm0.cc +++ b/examples/extended/electromagnetic/TestEm0/TestEm0.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: TestEm0.cc,v 1.3 2006/08/17 13:50:45 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: TestEm0.cc,v 1.4 2007/06/21 17:30:53 maire Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -60,7 +60,14 @@ int main(int argc,char** argv) { //Initialize G4 kernel runManager->Initialize(); - if (argc==1) // Define UI terminal for interactive mode + if (argc!=1) // batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + G4UImanager::GetUIpointer()->ApplyCommand(command+fileName); + } + + else // define UI terminal for interactive mode { G4UIsession * session = 0; #ifdef G4UI_USE_TCSH @@ -71,12 +78,6 @@ int main(int argc,char** argv) { session->SessionStart(); delete session; } - else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - G4UImanager::GetUIpointer()->ApplyCommand(command+fileName); - } // job termination // diff --git a/examples/extended/electromagnetic/TestEm0/TestEm0.out b/examples/extended/electromagnetic/TestEm0/TestEm0.out index cd01463192..7a55d0b9de 100644 --- a/examples/extended/electromagnetic/TestEm0/TestEm0.out +++ b/examples/extended/electromagnetic/TestEm0/TestEm0.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 diff --git a/examples/extended/electromagnetic/TestEm0/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm0/include/DetectorConstruction.hh index 437256a323..d947ce66fe 100644 --- a/examples/extended/electromagnetic/TestEm0/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm0/include/DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: DetectorConstruction.hh,v 1.2 2006/06/29 16:35:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm0/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm0/include/DetectorMessenger.hh index 5c312fe6af..b15f6f5333 100644 --- a/examples/extended/electromagnetic/TestEm0/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm0/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.2 2006/06/29 16:35:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm0/include/PhysListEmStandard.hh index b46a9ff7b3..3561a2b1c7 100644 --- a/examples/extended/electromagnetic/TestEm0/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm0/include/PhysListEmStandard.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.hh,v 1.2 2006/06/29 16:35:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm0/include/PhysicsList.hh index 3cfb4ddd45..649f419ff7 100644 --- a/examples/extended/electromagnetic/TestEm0/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm0/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.2 2006/06/29 16:35:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/examples/extended/electromagnetic/TestEm0/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm0/include/PhysicsListMessenger.hh index c8a0ee2bcc..309ccb6266 100644 --- a/examples/extended/electromagnetic/TestEm0/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm0/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.2 2006/06/29 16:35:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm0/include/PrimaryGeneratorAction.hh index 7519768f44..f24fa1eb27 100644 --- a/examples/extended/electromagnetic/TestEm0/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm0/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.2 2006/06/29 16:35:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/include/RunAction.hh b/examples/extended/electromagnetic/TestEm0/include/RunAction.hh index 79195cdd72..d3b3f8c562 100644 --- a/examples/extended/electromagnetic/TestEm0/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm0/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.3 2006/06/29 16:35:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm0/src/DetectorConstruction.cc index 20e6cef757..83fdafc4f2 100644 --- a/examples/extended/electromagnetic/TestEm0/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm0/src/DetectorConstruction.cc @@ -26,7 +26,7 @@ // // $Id: DetectorConstruction.cc,v 1.9 2006/12/08 16:38:38 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm0/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm0/src/DetectorMessenger.cc index 5d4075d00e..1f470739a3 100644 --- a/examples/extended/electromagnetic/TestEm0/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm0/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.2 2006/06/29 16:35:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm0/src/PhysListEmStandard.cc index bfbeab6ad9..e42b7a56a0 100644 --- a/examples/extended/electromagnetic/TestEm0/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm0/src/PhysListEmStandard.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.cc,v 1.2 2006/06/29 16:35:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc index b554fe7d54..c3bdc6dc45 100644 --- a/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm0/src/PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.cc,v 1.5 2006/08/17 13:50:45 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm0/src/PhysicsListMessenger.cc index d3a5c2ba30..344457fc34 100644 --- a/examples/extended/electromagnetic/TestEm0/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm0/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.2 2006/06/29 16:35:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm0/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm0/src/PrimaryGeneratorAction.cc index a134ddd1fc..03be671c12 100644 --- a/examples/extended/electromagnetic/TestEm0/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm0/src/PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: PrimaryGeneratorAction.cc,v 1.2 2006/06/29 16:35:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm0/src/RunAction.cc b/examples/extended/electromagnetic/TestEm0/src/RunAction.cc index 3ff818400a..59697e4cb4 100644 --- a/examples/extended/electromagnetic/TestEm0/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm0/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.9 2006/12/08 16:38:38 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/History b/examples/extended/electromagnetic/TestEm1/History index 48fe22936c..12440fd141 100644 --- a/examples/extended/electromagnetic/TestEm1/History +++ b/examples/extended/electromagnetic/TestEm1/History @@ -1,4 +1,4 @@ -$Id: History,v 1.77 2006/10/19 17:24:12 maire Exp $ +$Id: History,v 1.80 2007/06/21 17:10:11 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,16 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +21-06-07 mma (testem1-V08-03-02) +- make visualization only in interactive mode + +20-06-07 mma (testem1-V08-03-01) +- PhysListEmStandard options completed +- add erange.mac for e- + +23-05-07 V.Ivant (testem1-V08-03-00) +- use G4EmProcessOptions to define bremsstrahlung threshold energy + 19-10-06 mma (testem1-V08-01-00) - GNUmakefile : LOADLIBS - remove PhysicsLists 52 and 71 diff --git a/examples/extended/electromagnetic/TestEm1/TestEm1.cc b/examples/extended/electromagnetic/TestEm1/TestEm1.cc index 9b440aa88e..9a910c92c6 100644 --- a/examples/extended/electromagnetic/TestEm1/TestEm1.cc +++ b/examples/extended/electromagnetic/TestEm1/TestEm1.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: TestEm1.cc,v 1.14 2006/06/29 16:36:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: TestEm1.cc,v 1.15 2007/06/21 17:10:11 maire Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -70,12 +70,6 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(det = new DetectorConstruction); runManager->SetUserInitialization(new PhysicsList(det)); runManager->SetUserAction(prim = new PrimaryGeneratorAction(det)); - - #ifdef G4VIS_USE - // visualization manager - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); - #endif HistoManager* histo = new HistoManager(); @@ -91,8 +85,20 @@ int main(int argc,char** argv) { // get the pointer to the User Interface manager G4UImanager* UI = G4UImanager::GetUIpointer(); - if (argc==1) // Define UI terminal for interactive mode + if (argc!=1) // batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UI->ApplyCommand(command+fileName); + } + + else //define visualization and UI terminal for interactive mode { +#ifdef G4VIS_USE + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + G4UIsession * session = 0; #ifdef G4UI_USE_TCSH session = new G4UIterminal(new G4UItcsh); @@ -101,19 +107,14 @@ int main(int argc,char** argv) { #endif session->SessionStart(); delete session; - } - else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + +#ifdef G4VIS_USE + delete visManager; +#endif } // job termination -#ifdef G4VIS_USE - delete visManager; -#endif - + // delete histo; delete runManager; diff --git a/examples/extended/electromagnetic/TestEm1/TestEm1.out b/examples/extended/electromagnetic/TestEm1/TestEm1.out index 9183aa0353..3ef8ce6b21 100644 --- a/examples/extended/electromagnetic/TestEm1/TestEm1.out +++ b/examples/extended/electromagnetic/TestEm1/TestEm1.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -50,37 +50,6 @@ ---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % -Visualization Manager instantiating... -Visualization Manager initialising... -Registering graphics systems... - -You have successfully registered the following graphics systems. -Current available graphics systems are: - ASCIITree (ATree) - DAWNFILE (DAWNFILE) - GAGTree (GAGTree) - G4HepRep (HepRepXML) - G4HepRepFile (HepRepFile) - RayTracer (RayTracer) - VRML1FILE (VRML1FILE) - VRML2FILE (VRML2FILE) - -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 - /run/verbose 2 # /testem/det/setMat Aluminium @@ -130,36 +99,46 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. - LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 +### The process eBrem is added to the list of collaborative processes of eIoni +### The process eBrem is added to the list of collaborative processes of eIoni +### The process muBrems is added to the list of collaborative processes of muIoni +### The process muPairProd is added to the list of collaborative processes of muIoni +### The process muBrems is added to the list of collaborative processes of muIoni +### The process muPairProd is added to the list of collaborative processes of muIoni eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Delta cross sections and sampling from MollerBhabha model Good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 CSDA range table up to 1 GeV in 70 bins. + Subcutoff sampling in 1 regions eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 + Subcutoff sampling in 1 regions eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Delta cross sections and sampling from MollerBhabha model Good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 CSDA range table up to 1 GeV in 70 bins. + Subcutoff sampling in 1 regions eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 + Subcutoff sampling in 1 regions annihil: Sampling according eplus2gg model tables are built for e+ @@ -167,8 +146,8 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. - LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -176,23 +155,25 @@ hIoni: tables are built for proton Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV Parametrisation from Bragg for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 CSDA range table up to 1 GeV in 70 bins. + Subcutoff sampling in 1 regions msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 CSDA range table up to 1 GeV in 70 bins. + Subcutoff sampling in 1 regions hIoni: tables are built for anti_proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -200,49 +181,56 @@ hIoni: tables are built for anti_proton Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV Parametrisation from Bragg for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 CSDA range table up to 1 GeV in 70 bins. + Subcutoff sampling in 1 regions msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. - LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, radiative corrections for E > 1 GeV - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 CSDA range table up to 1 GeV in 70 bins. + Subcutoff sampling in 1 regions muBrems: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Parametrised model + Subcutoff sampling in 1 regions muPairProd: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Parametrised model + Subcutoff sampling in 1 regions muIoni: tables are built for mu- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, radiative corrections for E > 1 GeV - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 CSDA range table up to 1 GeV in 70 bins. + Subcutoff sampling in 1 regions muBrems: tables are built for mu- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Parametrised model + Subcutoff sampling in 1 regions muPairProd: tables are built for mu- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Parametrised model + Subcutoff sampling in 1 regions hIoni: tables are built for pi+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -250,13 +238,14 @@ hIoni: tables are built for pi+ Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV Parametrisation from Bragg for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 CSDA range table up to 1 GeV in 70 bins. + Subcutoff sampling in 1 regions msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. - LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -264,10 +253,13 @@ hIoni: tables are built for pi- Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV Parametrisation from Bragg for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 CSDA range table up to 1 GeV in 70 bins. + Subcutoff sampling in 1 regions Region -- appears in world volume + Root logical volume(s) : Aluminium + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -299,7 +291,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 2000 - User=135.86s Real=161.42s Sys=5.57s + User=216.91s Real=248.87s Sys=1.16s ======================== run summary ====================== @@ -307,29 +299,29 @@ Run Summary ============================================================ - total energy deposit: 99.795 MeV + total energy deposit: 99.753 MeV - nb tracks/event neutral: 27.87 charged: 148.27 - nb steps/event neutral: 141.21 charged: 217.54 + nb tracks/event neutral: 27.59 charged: 146.63 + nb steps/event neutral: 139.56 charged: 470.18 nb of process calls per event: - eBrem eIoni compt phot conv annihilTransportation msc - 26.152 189.06 113.34 25.465 1.429 1.431 0.9785 0.895 + eBrem eIoni msc compt phot conv annihilTransportation + 25.092 299.95 143.75 111.97 25.236 1.38 1.38 0.983 --------------------------------------------------------- Primary particle : - true Range = 11.188 cm rms = 3.8024 cm - proj Range = 9.6817 cm rms = 3.5072 cm - proj/true = 0.86537 - transverse dispersion at end = 1.6744 cm - mass true Range from simulation = 30.207 g/cm2 + true Range = 11.047 cm rms = 3.6991 cm + proj Range = 9.5588 cm rms = 3.4579 cm + proj/true = 0.8653 + transverse dispersion at end = 1.666 cm + mass true Range from simulation = 29.826 g/cm2 from PhysicsTable (csda range) = 31.791 g/cm2 --------------------------------------------------------- --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 635796452, 1715057552 + Current couple of seeds = 974936918, 493377930 ---------------------------------------- # /process/eLoss/verbose 0 @@ -339,6 +331,8 @@ Run Summary /run/beamOn 2000 Region -- appears in world volume + Root logical volume(s) : Aluminium + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Production cuts : gamma 10 um e- 10 um e+ 10 um @@ -357,7 +351,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 635796452, 1715057552 + Current couple of seeds = 974936918, 493377930 ---------------------------------------- Start Run processing. @@ -365,7 +359,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 2000 - User=262.73s Real=299.52s Sys=16.05s + User=390.49s Real=418.67s Sys=1.24s ======================== run summary ====================== @@ -373,32 +367,30 @@ Run Summary ============================================================ - total energy deposit: 99.807 MeV + total energy deposit: 99.783 MeV - nb tracks/event neutral: 36.588 charged: 290.52 - nb steps/event neutral: 145.99 charged: 487.88 + nb tracks/event neutral: 36.649 charged: 291.13 + nb steps/event neutral: 147.12 charged: 906.89 nb of process calls per event: - eIoni eBrem phot compt conv annihilTransportation msc - 450.32 34.772 34.252 109.41 1.4235 1.4235 0.9185 1.3595 + eIoni eBrem msc compt phot conv annihilTransportation + 584.13 34.724 286.61 110.47 34.261 1.4115 1.4115 0.986 --------------------------------------------------------- Primary particle : - true Range = 11.181 cm rms = 3.7948 cm - proj Range = 9.6756 cm rms = 3.5108 cm - proj/true = 0.86535 - transverse dispersion at end = 1.7596 cm - mass true Range from simulation = 30.189 g/cm2 + true Range = 11.247 cm rms = 3.8053 cm + proj Range = 9.6902 cm rms = 3.5545 cm + proj/true = 0.86159 + transverse dispersion at end = 1.7684 cm + mass true Range from simulation = 30.366 g/cm2 from PhysicsTable (csda range) = 31.791 g/cm2 --------------------------------------------------------- --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 693892311, 266689939 + Current couple of seeds = 496431318, 2059279466 ---------------------------------------- -Graphics systems deleted. -Visualization Manager deleting... UserDetectorConstruction deleted. UserPhysicsList deleted. UserRunAction deleted. diff --git a/examples/extended/electromagnetic/TestEm1/erange.mac b/examples/extended/electromagnetic/TestEm1/erange.mac new file mode 100644 index 0000000000..49ba272442 --- /dev/null +++ b/examples/extended/electromagnetic/TestEm1/erange.mac @@ -0,0 +1,40 @@ +# $Id: erange.mac,v 1.1 2007/06/20 15:26:33 maire Exp $ +# +# Macro file for "TestEm1.cc" +# +# compute the csda range of primary particle +# +/control/verbose 2 +/run/verbose 2 +# +/testem/det/setMat Water +# +/testem/phys/addPhysics standard +###/testem/phys/addPhysics penelope +###/testem/phys/addPhysics livermore +# +/run/initialize +# +# csda condition +/testem/phys/setCuts 1 km +# +# no step limitation from eLoss +/process/eLoss/StepFunction 1 100 um +# +# eliminate straggling +/process/eLoss/fluct false +/process/inactivate msc +# +/testem/gun/setDefault +/gun/particle e- +/gun/energy 100 keV +# +/tracking/verbose 1 +/run/beamOn 5 +# +###/testem/histo/setFileName std.1km +###/testem/histo/setFileType hbook +###/testem/histo/setHisto 1 200 0 2000 um # csda range +###/testem/histo/setHisto 1 250 0 5000 um +# +###/run/beamOn 20000 diff --git a/examples/extended/electromagnetic/TestEm1/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm1/include/DetectorConstruction.hh index b7487ac6bf..6ca0978913 100644 --- a/examples/extended/electromagnetic/TestEm1/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: DetectorConstruction.hh,v 1.2 2006/06/29 16:36:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/DetectorMessenger.hh index 751d6571e7..05e6c06c94 100644 --- a/examples/extended/electromagnetic/TestEm1/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.3 2006/06/29 16:36:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/EventAction.hh b/examples/extended/electromagnetic/TestEm1/include/EventAction.hh index 9c59a34f4c..24f13ff495 100644 --- a/examples/extended/electromagnetic/TestEm1/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: EventAction.hh,v 1.3 2006/06/29 16:36:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/EventActionMessenger.hh index 855ae13f11..e7fcd2e193 100644 --- a/examples/extended/electromagnetic/TestEm1/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.3 2006/06/29 16:36:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm1/include/HistoManager.hh index 483a0ecc75..c235fbc914 100644 --- a/examples/extended/electromagnetic/TestEm1/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm1/include/HistoManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.hh,v 1.5 2006/06/29 16:36:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/HistoMessenger.hh index 6df141e40d..a52581cf88 100644 --- a/examples/extended/electromagnetic/TestEm1/include/HistoMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/HistoMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.hh,v 1.3 2006/06/29 16:36:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm1/include/PhysListEmLivermore.hh index 73a42fa807..7c4e53de28 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm1/include/PhysListEmLivermore.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.hh,v 1.2 2006/06/29 16:36:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm1/include/PhysListEmPenelope.hh index 2de175d198..a8204f350d 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm1/include/PhysListEmPenelope.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.hh,v 1.2 2006/06/29 16:36:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm1/include/PhysListEmStandard.hh index a5824c94f3..673db1551c 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm1/include/PhysListEmStandard.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.hh,v 1.4 2006/06/29 16:36:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm1/include/PhysicsList.hh index 2b4ea9a4ce..59cfae5c83 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm1/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.4 2006/06/29 16:36:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/examples/extended/electromagnetic/TestEm1/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/PhysicsListMessenger.hh index 247d1b9ade..ba4da740ab 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.3 2006/06/29 16:36:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorAction.hh index 5ad9f4c22a..45802d4add 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.3 2006/06/29 16:36:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorMessenger.hh index 095c9d0307..40e0867d55 100644 --- a/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/PrimaryGeneratorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.hh,v 1.3 2006/06/29 16:36:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh b/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh index eb10190e68..2366cfb425 100644 --- a/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh +++ b/examples/extended/electromagnetic/TestEm1/include/ProcessesCount.hh @@ -25,7 +25,7 @@ // // // $Id: ProcessesCount.hh,v 1.10 2006/06/29 16:36:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/RunAction.hh b/examples/extended/electromagnetic/TestEm1/include/RunAction.hh index d3358a0f77..bdb04f6364 100644 --- a/examples/extended/electromagnetic/TestEm1/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.8 2006/06/29 16:36:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/StepMax.hh b/examples/extended/electromagnetic/TestEm1/include/StepMax.hh index 4c05019e9c..7209a2e97d 100644 --- a/examples/extended/electromagnetic/TestEm1/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm1/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.2 2006/06/29 16:36:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm1/include/StepMaxMessenger.hh index 1b9605f461..38f0e88cba 100644 --- a/examples/extended/electromagnetic/TestEm1/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm1/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.2 2006/06/29 16:36:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm1/include/SteppingAction.hh index 35cfbf7ae9..b24c0fa34a 100644 --- a/examples/extended/electromagnetic/TestEm1/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.4 2006/06/29 16:36:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm1/include/SteppingVerbose.hh index da6e6c3cdf..9f9b34f571 100644 --- a/examples/extended/electromagnetic/TestEm1/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm1/include/SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: SteppingVerbose.hh,v 1.2 2006/06/29 16:36:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm1/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm1/include/TrackingAction.hh index 832c4a32e1..c72b936a9d 100644 --- a/examples/extended/electromagnetic/TestEm1/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm1/include/TrackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.hh,v 1.4 2006/06/29 16:36:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/range.mac b/examples/extended/electromagnetic/TestEm1/range.mac index 76a77b1ef3..4141fb4269 100644 --- a/examples/extended/electromagnetic/TestEm1/range.mac +++ b/examples/extended/electromagnetic/TestEm1/range.mac @@ -1,4 +1,4 @@ -# $Id: range.mac,v 1.10 2006/10/19 17:24:12 maire Exp $ +# $Id: range.mac,v 1.11 2007/06/20 15:26:33 maire Exp $ # # Macro file for "TestEm1.cc" # @@ -20,9 +20,12 @@ # prevent any secondary production /testem/phys/setCuts 1 km # +# no step limitation from eLoss +/process/eLoss/StepFunction 1 100 um +# # eliminate straggling -/process/inactivate msc /process/eLoss/fluct false +/process/inactivate msc # /testem/gun/setDefault /gun/particle proton diff --git a/examples/extended/electromagnetic/TestEm1/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm1/src/DetectorConstruction.cc index b04bfdd82e..6771822cdd 100644 --- a/examples/extended/electromagnetic/TestEm1/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/DetectorConstruction.cc @@ -26,7 +26,7 @@ // // $Id: DetectorConstruction.cc,v 1.6 2006/06/29 16:36:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/DetectorMessenger.cc index f175be068c..e2cdf077dd 100644 --- a/examples/extended/electromagnetic/TestEm1/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.3 2006/06/29 16:36:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/EventAction.cc b/examples/extended/electromagnetic/TestEm1/src/EventAction.cc index b4b6fed3b0..8d351ef437 100644 --- a/examples/extended/electromagnetic/TestEm1/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/EventAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: EventAction.cc,v 1.5 2006/10/19 17:24:13 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: EventAction.cc,v 1.6 2007/06/20 15:26:33 maire Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // @@ -87,9 +87,9 @@ void EventAction::EndOfEventAction(const G4Event* evt) for(G4int i=0; iGetTrajectoryContainer()))[i]); - if (drawFlag == "all") trj->DrawTrajectory(1000); + if (drawFlag == "all") trj->DrawTrajectory(100); else if ((drawFlag == "charged")&&(trj->GetCharge() != 0.)) - trj->DrawTrajectory(1000); + trj->DrawTrajectory(100); } } } diff --git a/examples/extended/electromagnetic/TestEm1/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/EventActionMessenger.cc index 062777d3d4..0c8f095ccc 100644 --- a/examples/extended/electromagnetic/TestEm1/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.3 2006/06/29 16:37:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm1/src/HistoManager.cc index 4068e1bf47..e3e3c90a00 100644 --- a/examples/extended/electromagnetic/TestEm1/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm1/src/HistoManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.cc,v 1.9 2006/06/29 16:37:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/HistoMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/HistoMessenger.cc index 1907540adf..3076665da9 100644 --- a/examples/extended/electromagnetic/TestEm1/src/HistoMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/HistoMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.cc,v 1.5 2006/06/29 16:37:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm1/src/PhysListEmLivermore.cc index 71396cb6c0..b393ade429 100644 --- a/examples/extended/electromagnetic/TestEm1/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm1/src/PhysListEmLivermore.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.cc,v 1.4 2006/10/19 17:24:13 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm1/src/PhysListEmPenelope.cc index 240f38819a..ebd0e1ada4 100644 --- a/examples/extended/electromagnetic/TestEm1/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm1/src/PhysListEmPenelope.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.cc,v 1.3 2006/10/19 17:24:13 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm1/src/PhysListEmStandard.cc index ae365eac33..be9f5c35b7 100644 --- a/examples/extended/electromagnetic/TestEm1/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm1/src/PhysListEmStandard.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysListEmStandard.cc,v 1.12 2006/10/19 17:24:13 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: PhysListEmStandard.cc,v 1.14 2007/06/20 15:26:33 maire Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -51,6 +51,9 @@ #include "G4hIonisation.hh" #include "G4ionIonisation.hh" +#include "G4EmProcessOptions.hh" +#include "G4MscStepLimitType.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysListEmStandard::PhysListEmStandard(const G4String& name) @@ -84,13 +87,13 @@ void PhysListEmStandard::ConstructProcess() //electron pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4eIonisation, -1, 2, 2); - pmanager->AddProcess(new G4eBremsstrahlung("eBrem", 10*GeV),-1, 3, 3); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); } else if (particleName == "e+") { //positron pmanager->AddProcess(new G4MultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4eIonisation, -1, 2, 2); - pmanager->AddProcess(new G4eBremsstrahlung("eBrem", 10*GeV),-1, 3, 3); + pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); pmanager->AddProcess(new G4eplusAnnihilation, 0,-1, 4); } else if( particleName == "mu+" || @@ -101,7 +104,9 @@ void PhysListEmStandard::ConstructProcess() pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3); pmanager->AddProcess(new G4MuPairProduction, -1, 4, 4); - } else if( particleName == "alpha" || particleName == "GenericIon" ) { + } else if( particleName == "alpha" || particleName == "He3" + || particleName == "GenericIon" ) { + pmanager->AddProcess(new G4MultipleScattering,-1, 1, 1); pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); @@ -113,6 +118,28 @@ void PhysListEmStandard::ConstructProcess() pmanager->AddProcess(new G4hIonisation, -1, 2, 2); } } + + // Em options + // + G4EmProcessOptions emOptions; + + //coulomb scattering + // + emOptions.SetMscStepLimitation(fUseDistanceToBoundary); + emOptions.SetSkin(2.); + + //energy loss + // + emOptions.SetLinearLossLimit(1.e-6); + emOptions.SetStepFunction(0.2, 100*um); + + //ionization + // + emOptions.SetSubCutoff(true); + + // define high energy threshold for bremstrahlung + // + emOptions.SetBremsstrahlungTh(10.*GeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm1/src/PhysicsList.cc index 3537ab1df7..dcd3ea3034 100644 --- a/examples/extended/electromagnetic/TestEm1/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm1/src/PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.cc,v 1.10 2006/10/19 17:24:13 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/PhysicsListMessenger.cc index 10564d7990..6a92105960 100644 --- a/examples/extended/electromagnetic/TestEm1/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.3 2006/06/29 16:37:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorAction.cc index c7870fc0e3..9197f3cb5d 100644 --- a/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: PrimaryGeneratorAction.cc,v 1.4 2006/06/29 16:37:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorMessenger.cc index 496b17c721..cc75b3b3d8 100644 --- a/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/PrimaryGeneratorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.cc,v 1.4 2006/06/29 16:37:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/RunAction.cc b/examples/extended/electromagnetic/TestEm1/src/RunAction.cc index d130adb3c9..e292b49c1e 100644 --- a/examples/extended/electromagnetic/TestEm1/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.19 2006/06/29 16:37:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/StepMax.cc b/examples/extended/electromagnetic/TestEm1/src/StepMax.cc index 81702c1792..7b9cda0184 100644 --- a/examples/extended/electromagnetic/TestEm1/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm1/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.2 2006/06/29 16:37:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm1/src/StepMaxMessenger.cc index 3fe37b8152..597d8de599 100644 --- a/examples/extended/electromagnetic/TestEm1/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm1/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.2 2006/06/29 16:37:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm1/src/SteppingAction.cc index 2bb79941e0..f4a8033026 100644 --- a/examples/extended/electromagnetic/TestEm1/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.8 2006/06/29 16:37:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm1/src/SteppingVerbose.cc index 26cd467cac..a5cd2bb243 100644 --- a/examples/extended/electromagnetic/TestEm1/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm1/src/SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: SteppingVerbose.cc,v 1.2 2006/06/29 16:37:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm1/src/TrackingAction.cc index b3f7251a04..ee659a4117 100644 --- a/examples/extended/electromagnetic/TestEm1/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm1/src/TrackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.cc,v 1.10 2006/06/29 16:37:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm1/vis.mac b/examples/extended/electromagnetic/TestEm1/vis.mac index fcf991ea76..5cfe02d3ab 100644 --- a/examples/extended/electromagnetic/TestEm1/vis.mac +++ b/examples/extended/electromagnetic/TestEm1/vis.mac @@ -28,5 +28,5 @@ /tracking/storeTrajectory 1 /vis/scene/endOfEventAction accumulate # -/testem/event/drawTracks +/testem/event/drawTracks all diff --git a/examples/extended/electromagnetic/TestEm10/TestEm10.cc b/examples/extended/electromagnetic/TestEm10/TestEm10.cc index 5b02ec52e5..12f82a24f1 100644 --- a/examples/extended/electromagnetic/TestEm10/TestEm10.cc +++ b/examples/extended/electromagnetic/TestEm10/TestEm10.cc @@ -25,7 +25,7 @@ // // // $Id: TestEm10.cc,v 1.8 2006/08/16 15:58:32 grichine Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm10/TestEm10.large_N.out b/examples/extended/electromagnetic/TestEm10/TestEm10.large_N.out index 89b73475e9..c78131a51a 100644 --- a/examples/extended/electromagnetic/TestEm10/TestEm10.large_N.out +++ b/examples/extended/electromagnetic/TestEm10/TestEm10.large_N.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-08-02 $ + Geant4 version $Name: geant4-09-00 $ (13-Dec-2002) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/electromagnetic/TestEm10/TestEm10.out b/examples/extended/electromagnetic/TestEm10/TestEm10.out index baf0586bfb..ad8eaa43cc 100644 --- a/examples/extended/electromagnetic/TestEm10/TestEm10.out +++ b/examples/extended/electromagnetic/TestEm10/TestEm10.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -14,7 +14,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -90,7 +89,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -103,7 +102,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 Lorentz Factor XTR photon number @@ -158,7 +157,7 @@ Lorentz Factor XTR photon number 8.085e+04 3.149 9.283e+04 3.149 -total time for build X-ray TR energy loss tables = 0.93 s +total time for build X-ray TR energy loss tables = 0.94 s SynRad: Incoherent Synchrotron Radiation good description for long magnets at all energies @@ -174,7 +173,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -233,12 +232,12 @@ Lorentz Factor XTR photon number 8.085e+04 3.149 9.283e+04 3.149 -total time for build X-ray TR energy loss tables = 0.91 s +total time for build X-ray TR energy loss tables = 0.94 s msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -251,7 +250,7 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -298,7 +297,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -327,7 +326,7 @@ Index : 1 used in the geometry : Yes recalculation needed : No Index : 2 used in the geometry : Yes recalculation needed : No Material : Xe15CO2 Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 1.50609 keV e+ 1.48766 keV + Energy thresholds : gamma 990 eV e- 2.02469 keV e+ 1.99153 keV Region(s) which use this couple : XTRdEdxDetector @@ -347,26 +346,26 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 1000 - User=65.15s Real=72.62s Sys=7.43s + User=58.9s Real=62.83s Sys=3.91s ================== run summary ===================== end of Run TotNbofEvents = 1000 - mean charged track length in absorber=111.915 +- 2.13442 mm + mean charged track length in absorber=102.367 +- 1.84321 mm - mean energy deposit in absorber=0.0503287 +- 0.000857444 MeV + mean energy deposit in absorber=0.0509725 +- 0.000788754 MeV - mean number of steps in absorber (charged) =58.997 +- 1.51059 - mean number of steps in absorber (neutral) =2.869 +- 0.0556762 + mean number of steps in absorber (charged) =49.275 +- 1.3154 + mean number of steps in absorber (neutral) =2.909 +- 0.0538398 - mean number of charged secondaries = 4.98 +- 0.102954 + mean number of charged secondaries = 3.616 +- 0.0743811 - mean number of neutral secondaries = 0.135 +- 0.0121151 + mean number of neutral secondaries = 0.135 +- 0.0115228 - mean number of e-s =4.98 and e+s =0 + mean number of e-s =3.616 and e+s =0 -(number) transmission coeff=0.544 reflection coeff=0.08 +(number) transmission coeff=0.542 reflection coeff=0.07 energy deposit distribution -#entries=1000 #underflows=0 #overflows=46 +#entries=1000 #underflows=0 #overflows=50 bin nb Elow entries normalized 0 0 0 0 1 1.53846 0 0 @@ -376,71 +375,71 @@ Run Summary 5 7.69231 0 0 6 9.23077 0 0 7 10.7692 0 0 - 8 12.3077 4 0.004 - 9 13.8462 4 0.004 - 10 15.3846 10 0.01 - 11 16.9231 13 0.013 - 12 18.4615 15 0.015 - 13 20 14 0.014 - 14 21.5385 21 0.021 - 15 23.0769 27 0.027 - 16 24.6154 30 0.03 - 17 26.1538 28 0.028 - 18 27.6923 32 0.032 - 19 29.2308 26 0.026 - 20 30.7692 41 0.041 - 21 32.3077 23 0.023 - 22 33.8462 27 0.027 - 23 35.3846 26 0.026 - 24 36.9231 29 0.029 - 25 38.4615 34 0.034 - 26 40 35 0.035 - 27 41.5385 28 0.028 - 28 43.0769 35 0.035 - 29 44.6154 39 0.039 - 30 46.1538 27 0.027 - 31 47.6923 27 0.027 - 32 49.2308 21 0.021 + 8 12.3077 3 0.003 + 9 13.8462 1 0.001 + 10 15.3846 4 0.004 + 11 16.9231 10 0.01 + 12 18.4615 21 0.021 + 13 20 21 0.021 + 14 21.5385 18 0.018 + 15 23.0769 22 0.022 + 16 24.6154 21 0.021 + 17 26.1538 32 0.032 + 18 27.6923 30 0.03 + 19 29.2308 23 0.023 + 20 30.7692 25 0.025 + 21 32.3077 35 0.035 + 22 33.8462 26 0.026 + 23 35.3846 32 0.032 + 24 36.9231 30 0.03 + 25 38.4615 27 0.027 + 26 40 32 0.032 + 27 41.5385 27 0.027 + 28 43.0769 25 0.025 + 29 44.6154 28 0.028 + 30 46.1538 37 0.037 + 31 47.6923 25 0.025 + 32 49.2308 31 0.031 33 50.7692 23 0.023 - 34 52.3077 15 0.015 + 34 52.3077 31 0.031 35 53.8462 16 0.016 - 36 55.3846 23 0.023 - 37 56.9231 20 0.02 - 38 58.4615 10 0.01 - 39 60 21 0.021 - 40 61.5385 15 0.015 - 41 63.0769 14 0.014 - 42 64.6154 16 0.016 - 43 66.1538 16 0.016 - 44 67.6923 16 0.016 - 45 69.2308 12 0.012 - 46 70.7692 17 0.017 - 47 72.3077 9 0.009 - 48 73.8462 13 0.013 - 49 75.3846 13 0.013 - 50 76.9231 4 0.004 - 51 78.4615 5 0.005 + 36 55.3846 22 0.022 + 37 56.9231 28 0.028 + 38 58.4615 17 0.017 + 39 60 19 0.019 + 40 61.5385 16 0.016 + 41 63.0769 17 0.017 + 42 64.6154 17 0.017 + 43 66.1538 10 0.01 + 44 67.6923 7 0.007 + 45 69.2308 11 0.011 + 46 70.7692 12 0.012 + 47 72.3077 8 0.008 + 48 73.8462 7 0.007 + 49 75.3846 14 0.014 + 50 76.9231 11 0.011 + 51 78.4615 10 0.01 52 80 6 0.006 - 53 81.5385 9 0.009 - 54 83.0769 6 0.006 - 55 84.6154 6 0.006 - 56 86.1538 9 0.009 - 57 87.6923 4 0.004 - 58 89.2308 4 0.004 - 59 90.7692 1 0.001 - 60 92.3077 2 0.002 + 53 81.5385 7 0.007 + 54 83.0769 8 0.008 + 55 84.6154 4 0.004 + 56 86.1538 8 0.008 + 57 87.6923 5 0.005 + 58 89.2308 6 0.006 + 59 90.7692 2 0.002 + 60 92.3077 5 0.005 61 93.8462 3 0.003 - 62 95.3846 3 0.003 - 63 96.9231 4 0.004 + 62 95.3846 8 0.008 + 63 96.9231 3 0.003 64 98.4615 3 0.003 - Emp = 0.0307692 width= 0.0384615 MeV + Emp = 0.0461538 width= 0.0415385 MeV ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1107565906, 1849160895 + Current couple of seeds = 1121803273, 1592404030 ---------------------------------------- ========= Table of registered couples ============================== @@ -462,7 +461,7 @@ Index : 1 used in the geometry : Yes recalculation needed : No Index : 2 used in the geometry : Yes recalculation needed : No Material : Xe15CO2 Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 1.5060904 keV e+ 1.4876634 keV + Energy thresholds : gamma 990 eV e- 2.0246901 keV e+ 1.9915279 keV Region(s) which use this couple : XTRdEdxDetector diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10CalorHit.hh b/examples/extended/electromagnetic/TestEm10/include/Em10CalorHit.hh index 9d48f898af..9f4bf52f8c 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10CalorHit.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10CalorHit.hh @@ -25,7 +25,7 @@ // // // $Id: Em10CalorHit.hh,v 1.4 2006/06/29 16:37:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10CalorimeterSD.hh b/examples/extended/electromagnetic/TestEm10/include/Em10CalorimeterSD.hh index 57c661cba0..7e4414d40d 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10CalorimeterSD.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10CalorimeterSD.hh @@ -25,7 +25,7 @@ // // // $Id: Em10CalorimeterSD.hh,v 1.3 2006/06/29 16:37:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm10/include/Em10DetectorConstruction.hh index 0e10e4351b..79f44ca157 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: Em10DetectorConstruction.hh,v 1.19 2006/06/29 16:37:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/Em10DetectorMessenger.hh index 2038d3167e..9b7a78daf6 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: Em10DetectorMessenger.hh,v 1.7 2006/06/29 16:37:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10EventAction.hh b/examples/extended/electromagnetic/TestEm10/include/Em10EventAction.hh index 2b7280867c..9766a98f7e 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10EventAction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: Em10EventAction.hh,v 1.3 2006/06/29 16:37:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/Em10EventActionMessenger.hh index 8c5492cbe1..295c82b048 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10EventActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: Em10EventActionMessenger.hh,v 1.3 2006/06/29 16:37:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsList.hh b/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsList.hh index e07f327723..7d03aa9334 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: Em10PhysicsList.hh,v 1.11 2006/06/29 16:37:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef Em10PhysicsList_h diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsListMessenger.hh index 65496d2bf9..34bd8e5003 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10PhysicsListMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: Em10PhysicsListMessenger.hh,v 1.7 2006/06/29 16:37:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorAction.hh index a69e2832b4..e9cf7911b8 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: Em10PrimaryGeneratorAction.hh,v 1.3 2006/06/29 16:38:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorMessenger.hh index e509411e6d..b3feffcfba 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10PrimaryGeneratorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: Em10PrimaryGeneratorMessenger.hh,v 1.3 2006/06/29 16:38:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10RunAction.hh b/examples/extended/electromagnetic/TestEm10/include/Em10RunAction.hh index 24c641ba74..3ca2c377e1 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10RunAction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: Em10RunAction.hh,v 1.5 2006/06/29 16:38:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10RunMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/Em10RunMessenger.hh index 7802b6f366..8b2fda1c75 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10RunMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10RunMessenger.hh @@ -26,7 +26,7 @@ // // $Id: Em10RunMessenger.hh,v 1.3 2006/06/29 16:38:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10StepCut.hh b/examples/extended/electromagnetic/TestEm10/include/Em10StepCut.hh index 7257798f43..b67fb4da84 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10StepCut.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10StepCut.hh @@ -25,7 +25,7 @@ // // // $Id: Em10StepCut.hh,v 1.5 2006/06/29 16:38:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10SteppingAction.hh b/examples/extended/electromagnetic/TestEm10/include/Em10SteppingAction.hh index c4ed5ee48b..765d365b01 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: Em10SteppingAction.hh,v 1.3 2006/06/29 16:38:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10SteppingMessenger.hh b/examples/extended/electromagnetic/TestEm10/include/Em10SteppingMessenger.hh index 7be0dc6d88..d1dd1ef097 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10SteppingMessenger.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10SteppingMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: Em10SteppingMessenger.hh,v 1.3 2006/06/29 16:38:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm10/include/Em10SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm10/include/Em10SteppingVerbose.hh index 4fcb705bd0..3612d86af9 100644 --- a/examples/extended/electromagnetic/TestEm10/include/Em10SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm10/include/Em10SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: Em10SteppingVerbose.hh,v 1.3 2006/06/29 16:38:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm10/include/StepMax.hh b/examples/extended/electromagnetic/TestEm10/include/StepMax.hh index 0f1dc77cce..476cf26592 100644 --- a/examples/extended/electromagnetic/TestEm10/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm10/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.2 2006/06/29 16:38:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // /////////////////////////////////////////////////////////////////////////////////. diff --git a/examples/extended/electromagnetic/TestEm10/include/TRTDetectorConstruction.hh b/examples/extended/electromagnetic/TestEm10/include/TRTDetectorConstruction.hh index 85b82c7ba6..0834a2e3a3 100644 --- a/examples/extended/electromagnetic/TestEm10/include/TRTDetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm10/include/TRTDetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: TRTDetectorConstruction.hh,v 1.3 2006/06/29 16:38:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/include/TRTMaterials.hh b/examples/extended/electromagnetic/TestEm10/include/TRTMaterials.hh index 72670bd54a..435a6bae9b 100644 --- a/examples/extended/electromagnetic/TestEm10/include/TRTMaterials.hh +++ b/examples/extended/electromagnetic/TestEm10/include/TRTMaterials.hh @@ -25,7 +25,7 @@ // // // $Id: TRTMaterials.hh,v 1.3 2006/06/29 16:38:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10CalorHit.cc b/examples/extended/electromagnetic/TestEm10/src/Em10CalorHit.cc index 4ba3256efc..131b654612 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10CalorHit.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10CalorHit.cc @@ -25,7 +25,7 @@ // // // $Id: Em10CalorHit.cc,v 1.4 2006/06/29 16:38:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10CalorimeterSD.cc b/examples/extended/electromagnetic/TestEm10/src/Em10CalorimeterSD.cc index 89ce5a4a08..5e40494dea 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10CalorimeterSD.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10CalorimeterSD.cc @@ -25,7 +25,7 @@ // // // $Id: Em10CalorimeterSD.cc,v 1.4 2006/06/29 16:38:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm10/src/Em10DetectorConstruction.cc index d251b4fe3f..b3e21d96f7 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: Em10DetectorConstruction.cc,v 1.31 2006/06/29 16:38:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/Em10DetectorMessenger.cc index 43938567c0..a533d7fa87 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: Em10DetectorMessenger.cc,v 1.11 2006/06/29 16:38:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10EventAction.cc b/examples/extended/electromagnetic/TestEm10/src/Em10EventAction.cc index b34a9018b4..9bd5bbe52c 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10EventAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: Em10EventAction.cc,v 1.6 2006/06/29 16:38:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/Em10EventActionMessenger.cc index 89127b6ec9..7d761eb35c 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10EventActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: Em10EventActionMessenger.cc,v 1.4 2006/06/29 16:38:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsList.cc b/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsList.cc index 436da2736a..29e0802936 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: Em10PhysicsList.cc,v 1.24 2006/06/29 16:38:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "Em10PhysicsList.hh" diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsListMessenger.cc index 18e078a5d5..f2d6417295 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10PhysicsListMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: Em10PhysicsListMessenger.cc,v 1.9 2006/06/29 16:38:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorAction.cc index 32923747a6..2e72c9c35e 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: Em10PrimaryGeneratorAction.cc,v 1.6 2006/06/29 16:38:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorMessenger.cc index 803469b8d0..ee0a087133 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10PrimaryGeneratorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: Em10PrimaryGeneratorMessenger.cc,v 1.4 2006/06/29 16:38:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10RunAction.cc b/examples/extended/electromagnetic/TestEm10/src/Em10RunAction.cc index 664458207e..3f6245558b 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10RunAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: Em10RunAction.cc,v 1.9 2006/06/29 16:38:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10RunMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/Em10RunMessenger.cc index c39fa8841e..33f5e1e51b 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10RunMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10RunMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: Em10RunMessenger.cc,v 1.5 2006/06/29 16:39:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10StepCut.cc b/examples/extended/electromagnetic/TestEm10/src/Em10StepCut.cc index 1248158d14..e944028a11 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10StepCut.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10StepCut.cc @@ -25,7 +25,7 @@ // // // $Id: Em10StepCut.cc,v 1.3 2006/06/29 16:39:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "Em10StepCut.hh" diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10SteppingAction.cc b/examples/extended/electromagnetic/TestEm10/src/Em10SteppingAction.cc index 9736bbe8b3..b853902229 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: Em10SteppingAction.cc,v 1.6 2006/06/29 16:39:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10SteppingMessenger.cc b/examples/extended/electromagnetic/TestEm10/src/Em10SteppingMessenger.cc index d0510d26dd..0a7a072a1e 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10SteppingMessenger.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10SteppingMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: Em10SteppingMessenger.cc,v 1.4 2006/06/29 16:39:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm10/src/Em10SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm10/src/Em10SteppingVerbose.cc index 3e23b3a503..7b95fba93b 100644 --- a/examples/extended/electromagnetic/TestEm10/src/Em10SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm10/src/Em10SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: Em10SteppingVerbose.cc,v 1.6 2006/06/29 16:39:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/electromagnetic/TestEm10/src/StepMax.cc b/examples/extended/electromagnetic/TestEm10/src/StepMax.cc index e81206b04c..7282ff91af 100644 --- a/examples/extended/electromagnetic/TestEm10/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm10/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.2 2006/06/29 16:39:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /////////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/electromagnetic/TestEm11/TestEm11.cc b/examples/extended/electromagnetic/TestEm11/TestEm11.cc index 3c5244decb..b1f68b27da 100644 --- a/examples/extended/electromagnetic/TestEm11/TestEm11.cc +++ b/examples/extended/electromagnetic/TestEm11/TestEm11.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TestEm11.cc,v 1.3 2006/06/29 16:39:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/TestEm11.out b/examples/extended/electromagnetic/TestEm11/TestEm11.out index e4d9fff7c2..a54073f77c 100644 --- a/examples/extended/electromagnetic/TestEm11/TestEm11.out +++ b/examples/extended/electromagnetic/TestEm11/TestEm11.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -49,7 +49,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -132,7 +131,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -146,7 +145,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -160,7 +159,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -169,7 +168,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -182,14 +181,14 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 @@ -207,7 +206,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -257,7 +256,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -269,6 +268,8 @@ hIoni: tables are built for pi- CSDA range table up to 1 GeV in 70 bins. Region -- appears in world volume + Root logical volume(s) : Absorber + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : G4_Si Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -302,7 +303,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 20000 - User=322.06s Real=702.43s Sys=129.03s + User=310.07s Real=547.62s Sys=15.53s ======================== run summary ====================== @@ -310,20 +311,20 @@ Run Summary ============================================================ - Total Energy deposited = 448.957 keV +- 104.060 keV + Total Energy deposited = 449.883 keV +- 102.538 keV - Track length of primary track = 872.644 um +- 187.763 um + Track length of primary track = 877.459 um +- 187.170 um Range from EmCalculator = 937.365 um (from full dE/dx) - Projected range = 339.833 um +- 206.808 um + Projected range = 337.189 um +- 204.671 um - Nb of steps of primary track = 87.79 +- 18.76 Step size= 9.932 um +- 91.913 nm + Nb of steps of primary track = 88.26 +- 18.70 Step size= 9.933 um +- 93.084 nm - absorbed = 78.31 % transmit = 5.38 % reflected = 16.30 % + absorbed = 78.62 % transmit = 5.64 % reflected = 15.74 % --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1541586117, 1104020368 + Current couple of seeds = 1888543794, 1916470412 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm11/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm11/include/DetectorConstruction.hh index b42f33bc6f..97e9e87e76 100644 --- a/examples/extended/electromagnetic/TestEm11/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm11/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.2 2006/06/29 16:39:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm11/include/DetectorMessenger.hh index 1a640a9e01..bc1445c0f9 100644 --- a/examples/extended/electromagnetic/TestEm11/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm11/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.2 2006/06/29 16:39:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/EventAction.hh b/examples/extended/electromagnetic/TestEm11/include/EventAction.hh index a8d5a8169e..2e1dafffa7 100644 --- a/examples/extended/electromagnetic/TestEm11/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm11/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.2 2006/06/29 16:39:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm11/include/EventActionMessenger.hh index 9e1c7bfaee..7adfd63cb8 100644 --- a/examples/extended/electromagnetic/TestEm11/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm11/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.2 2006/06/29 16:39:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm11/include/HistoManager.hh index c32ba53267..7551724cfc 100644 --- a/examples/extended/electromagnetic/TestEm11/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm11/include/HistoManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.hh,v 1.3 2006/06/29 16:39:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm11/include/HistoMessenger.hh index a934db896b..1df80bbf1f 100644 --- a/examples/extended/electromagnetic/TestEm11/include/HistoMessenger.hh +++ b/examples/extended/electromagnetic/TestEm11/include/HistoMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.hh,v 1.2 2006/06/29 16:39:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm11/include/PhysListEmLivermore.hh index d33e71a9d8..87835255dc 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm11/include/PhysListEmLivermore.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.hh,v 1.2 2006/06/29 16:39:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm11/include/PhysListEmPenelope.hh index b2aec64ca8..88a3bd238d 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm11/include/PhysListEmPenelope.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.hh,v 1.2 2006/06/29 16:39:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandard.hh index c90c4451cf..b8edf93502 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm11/include/PhysListEmStandard.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.hh,v 1.2 2006/06/29 16:39:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm11/include/PhysicsList.hh index f4b48ee24c..37e9b68196 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm11/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.3 2006/06/29 16:39:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/examples/extended/electromagnetic/TestEm11/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm11/include/PhysicsListMessenger.hh index 77bf33235f..a97a168bf3 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm11/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.2 2006/06/29 16:39:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorAction.hh index 0ebbe3c74a..a7771c4ea0 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.2 2006/06/29 16:39:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorMessenger.hh index e72eed8c13..9d4987c9a0 100644 --- a/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm11/include/PrimaryGeneratorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.hh,v 1.2 2006/06/29 16:39:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/RunAction.hh b/examples/extended/electromagnetic/TestEm11/include/RunAction.hh index 8472ab4300..cd79503c48 100644 --- a/examples/extended/electromagnetic/TestEm11/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm11/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.2 2006/06/29 16:39:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/StepMax.hh b/examples/extended/electromagnetic/TestEm11/include/StepMax.hh index fa489d7e40..4ee28bce95 100644 --- a/examples/extended/electromagnetic/TestEm11/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm11/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.3 2006/06/29 16:39:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm11/include/StepMaxMessenger.hh index e09b198e0a..134c279b0c 100644 --- a/examples/extended/electromagnetic/TestEm11/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm11/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.3 2006/06/29 16:40:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm11/include/SteppingAction.hh index 255a7b32b5..5594732d3e 100644 --- a/examples/extended/electromagnetic/TestEm11/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm11/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.2 2006/06/29 16:40:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm11/include/SteppingVerbose.hh index 1d6844a72b..b2e4dd8a9f 100644 --- a/examples/extended/electromagnetic/TestEm11/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm11/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.2 2006/06/29 16:40:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm11/include/TrackingAction.hh index 2bc2fd61fe..af2b6c343e 100644 --- a/examples/extended/electromagnetic/TestEm11/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm11/include/TrackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.hh,v 1.2 2006/06/29 16:40:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm11/src/DetectorConstruction.cc index 0834a94e1c..c5697e48d4 100644 --- a/examples/extended/electromagnetic/TestEm11/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.6 2006/10/26 10:18:59 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm11/src/DetectorMessenger.cc index ebd0ae4500..3194b9437f 100644 --- a/examples/extended/electromagnetic/TestEm11/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm11/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.2 2006/06/29 16:40:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/EventAction.cc b/examples/extended/electromagnetic/TestEm11/src/EventAction.cc index 360616687e..8b12590bf7 100644 --- a/examples/extended/electromagnetic/TestEm11/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.2 2006/06/29 16:40:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm11/src/EventActionMessenger.cc index 5abd01fc45..d5856a16fe 100644 --- a/examples/extended/electromagnetic/TestEm11/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm11/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.2 2006/06/29 16:40:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm11/src/HistoManager.cc index 2e4cf10d4c..4559c857e8 100644 --- a/examples/extended/electromagnetic/TestEm11/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm11/src/HistoManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.cc,v 1.4 2006/07/06 15:56:38 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/HistoMessenger.cc b/examples/extended/electromagnetic/TestEm11/src/HistoMessenger.cc index 7c1469ef34..ae4d4f9145 100644 --- a/examples/extended/electromagnetic/TestEm11/src/HistoMessenger.cc +++ b/examples/extended/electromagnetic/TestEm11/src/HistoMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.cc,v 1.3 2006/06/29 16:40:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm11/src/PhysListEmLivermore.cc index ee57665ff1..2192779a71 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PhysListEmLivermore.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.cc,v 1.4 2006/09/18 17:26:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm11/src/PhysListEmPenelope.cc index e76fff211d..1faaafd49d 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PhysListEmPenelope.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.cc,v 1.3 2006/09/18 17:26:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandard.cc index fd68d08900..22809bec7f 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PhysListEmStandard.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.cc,v 1.3 2006/06/29 16:40:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm11/src/PhysicsList.cc index 6a85222374..4df7f0f7d9 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.cc,v 1.5 2006/10/26 10:18:59 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm11/src/PhysicsListMessenger.cc index 6ff54def45..f395cb63d7 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.2 2006/06/29 16:40:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorAction.cc index ef0b5c823d..1a00bfb74a 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.2 2006/06/29 16:40:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorMessenger.cc index 28f8c7176d..977e5acb93 100644 --- a/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm11/src/PrimaryGeneratorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.cc,v 1.2 2006/06/29 16:40:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/RunAction.cc b/examples/extended/electromagnetic/TestEm11/src/RunAction.cc index 0e4df4c7bb..567d74f2de 100644 --- a/examples/extended/electromagnetic/TestEm11/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.6 2006/06/29 16:40:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/StepMax.cc b/examples/extended/electromagnetic/TestEm11/src/StepMax.cc index aaf61c6689..5398f8c8de 100644 --- a/examples/extended/electromagnetic/TestEm11/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm11/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.3 2006/06/29 16:40:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm11/src/StepMaxMessenger.cc index aeaa1c23cc..1950e6eb51 100644 --- a/examples/extended/electromagnetic/TestEm11/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm11/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.3 2006/06/29 16:40:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm11/src/SteppingAction.cc index 9fa3a624c0..9c78b5eb92 100644 --- a/examples/extended/electromagnetic/TestEm11/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.4 2006/09/18 17:26:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm11/src/SteppingVerbose.cc index 44e90cc889..2c8205f12b 100644 --- a/examples/extended/electromagnetic/TestEm11/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm11/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.2 2006/06/29 16:41:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm11/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm11/src/TrackingAction.cc index f2b0cc99d9..e9a70a74df 100644 --- a/examples/extended/electromagnetic/TestEm11/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm11/src/TrackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.cc,v 1.2 2006/06/29 16:41:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/TestEm12.cc b/examples/extended/electromagnetic/TestEm12/TestEm12.cc index a2e322941d..3e41b84141 100644 --- a/examples/extended/electromagnetic/TestEm12/TestEm12.cc +++ b/examples/extended/electromagnetic/TestEm12/TestEm12.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TestEm12.cc,v 1.4 2006/06/29 16:41:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/TestEm12.out b/examples/extended/electromagnetic/TestEm12/TestEm12.out index 2fe9d2cacf..549911c34d 100644 --- a/examples/extended/electromagnetic/TestEm12/TestEm12.out +++ b/examples/extended/electromagnetic/TestEm12/TestEm12.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -46,7 +46,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -134,7 +133,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -148,7 +147,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -162,7 +161,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -171,7 +170,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -184,14 +183,14 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 @@ -209,7 +208,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -259,7 +258,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -271,6 +270,8 @@ hIoni: tables are built for pi- CSDA range table up to 1 GeV in 70 bins. Region -- appears in world volume + Root logical volume(s) : Absorber + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : G4_WATER Production cuts : gamma 1 um e- 1 um e+ 1 um @@ -320,7 +321,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=1204.52s Real=1426.72s Sys=112.39s + User=1100.88s Real=1232.71s Sys=6.51s ======================== run summary ====================== @@ -328,18 +329,18 @@ Run Summary ============================================================ - Total Energy deposited = 3.937 MeV +- 227.712 keV + Total Energy deposited = 3.937 MeV +- 224.228 keV - Track length of primary track = 2.012 cm +- 2.787 mm + Track length of primary track = 2.014 cm +- 2.811 mm Range from EmCalculator = 2.021 cm (from full dE/dx) - Projected range = 1.314 cm +- 4.323 mm + Projected range = 1.309 cm +- 4.369 mm - Nb of steps of primary track = 238.10 +- 30.94 Step size= 84.472 um +- 4.581 um + Nb of steps of primary track = 238.58 +- 31.12 Step size= 84.405 um +- 4.561 um --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1876977844, 634096150 + Current couple of seeds = 2089723964, 1269053900 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm12/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm12/include/DetectorConstruction.hh index f846d0225c..65a76b1f33 100644 --- a/examples/extended/electromagnetic/TestEm12/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm12/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.2 2006/06/29 16:42:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm12/include/DetectorMessenger.hh index 39d19dc40c..d4a7fbfa0b 100644 --- a/examples/extended/electromagnetic/TestEm12/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm12/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.2 2006/06/29 16:42:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/EventAction.hh b/examples/extended/electromagnetic/TestEm12/include/EventAction.hh index d3b4e39732..6c32d6661d 100644 --- a/examples/extended/electromagnetic/TestEm12/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm12/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.2 2006/06/29 16:42:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm12/include/EventActionMessenger.hh index eb9548db4f..7b1df7c8c4 100644 --- a/examples/extended/electromagnetic/TestEm12/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm12/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.2 2006/06/29 16:42:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm12/include/HistoManager.hh index 09d00b6832..92ee87f4da 100644 --- a/examples/extended/electromagnetic/TestEm12/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm12/include/HistoManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.hh,v 1.4 2007/04/27 10:38:11 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm12/include/HistoMessenger.hh index 96156e48a5..32cb761518 100644 --- a/examples/extended/electromagnetic/TestEm12/include/HistoMessenger.hh +++ b/examples/extended/electromagnetic/TestEm12/include/HistoMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.hh,v 1.2 2006/06/29 16:42:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm12/include/PhysListEmLivermore.hh index 30c02af7f7..e604bf96e1 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PhysListEmLivermore.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.hh,v 1.2 2006/06/29 16:42:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm12/include/PhysListEmPenelope.hh index 5190df090c..4d6f385b4d 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PhysListEmPenelope.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.hh,v 1.2 2006/06/29 16:42:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandard.hh index 9ca58c5d98..6581821137 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PhysListEmStandard.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.hh,v 1.2 2006/06/29 16:42:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm12/include/PhysicsList.hh index 36a5f44083..a3862626c9 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.3 2006/06/29 16:42:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/examples/extended/electromagnetic/TestEm12/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm12/include/PhysicsListMessenger.hh index 17cf453875..79720acc4f 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.2 2006/06/29 16:42:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorAction.hh index ce8cb01391..2cacafe6d0 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.2 2006/06/29 16:42:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorMessenger.hh index d9a3125d62..6ed91562aa 100644 --- a/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm12/include/PrimaryGeneratorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.hh,v 1.2 2006/06/29 16:42:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/RunAction.hh b/examples/extended/electromagnetic/TestEm12/include/RunAction.hh index a44763c9c4..8805491ef6 100644 --- a/examples/extended/electromagnetic/TestEm12/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm12/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.4 2007/04/27 10:38:11 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/StepMax.hh b/examples/extended/electromagnetic/TestEm12/include/StepMax.hh index f315c7959c..bdc9ee08b0 100644 --- a/examples/extended/electromagnetic/TestEm12/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm12/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.3 2006/06/29 16:42:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm12/include/StepMaxMessenger.hh index e174132db8..4ee7348d09 100644 --- a/examples/extended/electromagnetic/TestEm12/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm12/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.3 2006/06/29 16:42:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm12/include/SteppingAction.hh index 77b0088b1d..c065cf490d 100644 --- a/examples/extended/electromagnetic/TestEm12/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm12/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.2 2006/06/29 16:42:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm12/include/SteppingVerbose.hh index 99d42e810c..3e97b46fa3 100644 --- a/examples/extended/electromagnetic/TestEm12/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm12/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.2 2006/06/29 16:42:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm12/include/TrackingAction.hh index 70d94af163..ccf208c848 100644 --- a/examples/extended/electromagnetic/TestEm12/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm12/include/TrackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.hh,v 1.2 2006/06/29 16:42:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm12/src/DetectorConstruction.cc index de91b4cdc2..17e6992210 100644 --- a/examples/extended/electromagnetic/TestEm12/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.2 2006/06/29 16:43:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm12/src/DetectorMessenger.cc index faa249b1ba..8b26684839 100644 --- a/examples/extended/electromagnetic/TestEm12/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm12/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.2 2006/06/29 16:43:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/EventAction.cc b/examples/extended/electromagnetic/TestEm12/src/EventAction.cc index 1d9ed9e52e..ff82322b99 100644 --- a/examples/extended/electromagnetic/TestEm12/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.2 2006/06/29 16:43:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm12/src/EventActionMessenger.cc index 0fb4fceeed..36fce77cc0 100644 --- a/examples/extended/electromagnetic/TestEm12/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm12/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.2 2006/06/29 16:43:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc index 729b1c8718..3b1b579433 100644 --- a/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm12/src/HistoManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.cc,v 1.4 2007/04/27 10:38:11 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/HistoMessenger.cc b/examples/extended/electromagnetic/TestEm12/src/HistoMessenger.cc index f6a418a56f..76018810e6 100644 --- a/examples/extended/electromagnetic/TestEm12/src/HistoMessenger.cc +++ b/examples/extended/electromagnetic/TestEm12/src/HistoMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.cc,v 1.3 2006/06/29 16:43:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm12/src/PhysListEmLivermore.cc index e6ec191f00..246b682185 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PhysListEmLivermore.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.cc,v 1.3 2007/01/08 16:33:52 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm12/src/PhysListEmPenelope.cc index 940e448abf..f228177edc 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PhysListEmPenelope.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.cc,v 1.2 2006/06/29 16:43:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandard.cc index 65252ba85b..7210fab25f 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PhysListEmStandard.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.cc,v 1.2 2006/06/29 16:43:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc index ed2e59ff48..1d638f0ba6 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.cc,v 1.5 2006/10/25 17:27:02 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm12/src/PhysicsListMessenger.cc index 72b11885c3..9f5d39b11c 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.2 2006/06/29 16:43:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorAction.cc index fee1a5250a..47b5dfc332 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.2 2006/06/29 16:43:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorMessenger.cc index ffccd7b207..8a74c234ea 100644 --- a/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm12/src/PrimaryGeneratorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.cc,v 1.2 2006/06/29 16:43:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/RunAction.cc b/examples/extended/electromagnetic/TestEm12/src/RunAction.cc index 2e18e0fa18..5f5c53da58 100644 --- a/examples/extended/electromagnetic/TestEm12/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.7 2007/04/27 10:38:11 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/StepMax.cc b/examples/extended/electromagnetic/TestEm12/src/StepMax.cc index f4ac8c4477..f25f9f2187 100644 --- a/examples/extended/electromagnetic/TestEm12/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm12/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.3 2006/06/29 16:43:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm12/src/StepMaxMessenger.cc index 91507ffd82..f29cb62568 100644 --- a/examples/extended/electromagnetic/TestEm12/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm12/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.3 2006/06/29 16:43:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm12/src/SteppingAction.cc index dd4951021d..d451b8eeac 100644 --- a/examples/extended/electromagnetic/TestEm12/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.4 2007/04/27 10:38:11 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm12/src/SteppingVerbose.cc index 20626cfd3d..4213cd0d4f 100644 --- a/examples/extended/electromagnetic/TestEm12/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm12/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.2 2006/06/29 16:43:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm12/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm12/src/TrackingAction.cc index 5c52cc9ac6..f1c56cac85 100644 --- a/examples/extended/electromagnetic/TestEm12/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm12/src/TrackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.cc,v 1.2 2006/06/29 16:43:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/TestEm13.cc b/examples/extended/electromagnetic/TestEm13/TestEm13.cc index 80d5b444b7..c5216cd3e1 100644 --- a/examples/extended/electromagnetic/TestEm13/TestEm13.cc +++ b/examples/extended/electromagnetic/TestEm13/TestEm13.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TestEm13.cc,v 1.4 2006/06/29 16:43:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/TestEm13.out b/examples/extended/electromagnetic/TestEm13/TestEm13.out index e737c47cea..47b7d6fae2 100644 --- a/examples/extended/electromagnetic/TestEm13/TestEm13.out +++ b/examples/extended/electromagnetic/TestEm13/TestEm13.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -68,7 +68,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -136,7 +135,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -149,7 +148,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -168,7 +167,7 @@ ionIoni: tables are built for GenericIon Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 0 @@ -232,6 +231,8 @@ hIoni: tables are built for pi- Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 0 Region -- appears in world volume + Root logical volume(s) : Water + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Water Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -281,14 +282,14 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100000 - User=29.7s Real=29.73s Sys=0.01s + User=29.8s Real=29.82s Sys=0s The run consists of 100000 gamma of 100 keV through 1 cm of Water (density: 1 g/cm3 ) - Process calls frequency ---> Transportation = 84832 compt = 14926 phot = 242 + Process calls frequency ---> Transportation = 84934 compt = 14842 phot = 224 - Nb of incident particles unaltered after 1 cm of Water : 84832 over 100000 incident particles. Ratio = 84.832 % - ---> CrossSection per volume: 0.1645 cm^-1 CrossSection per mass: 0.1645 cm2/g + Nb of incident particles unaltered after 1 cm of Water : 84934 over 100000 incident particles. Ratio = 84.934 % + ---> CrossSection per volume: 0.1633 cm^-1 CrossSection per mass: 0.1633 cm2/g Verification from G4EmCalculator: compt= 0.1623 cm2/g phot= 0.0026853 cm2/g total= 0.16498 cm2/g @@ -296,7 +297,7 @@ Run Summary --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 75158696, 405309931 + Current couple of seeds = 507682210, 1650158306 ---------------------------------------- # /gun/particle e- @@ -304,6 +305,8 @@ Run Summary /run/beamOn 100000 Region -- appears in world volume + Root logical volume(s) : Water + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Water Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -322,7 +325,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 75158696, 405309931 + Current couple of seeds = 507682210, 1650158306 ---------------------------------------- Start Run processing. @@ -348,22 +351,22 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100000 - User=32.06s Real=32.07s Sys=0s + User=30.94s Real=30.94s Sys=0s The run consists of 100000 e- of 100 MeV through 1 cm of Water (density: 1 g/cm3 ) - Process calls frequency ---> Transportation = 52912 eIoni = 18017 eBrem = 29071 + Process calls frequency ---> eBrem = 29069 Transportation = 52915 eIoni = 18016 - Nb of incident particles unaltered after 1 cm of Water : 52912 over 100000 incident particles. Ratio = 52.912 % - ---> CrossSection per volume: 0.63654 cm^-1 CrossSection per mass: 0.63654 cm2/g + Nb of incident particles unaltered after 1 cm of Water : 52915 over 100000 incident particles. Ratio = 52.915 % + ---> CrossSection per volume: 0.63648 cm^-1 CrossSection per mass: 0.63648 cm2/g Verification from G4EmCalculator: - eIoni= 0.24497 cm2/g eBrem= 0.39397 cm2/g total= 0.63894 cm2/g + eBrem= 0.39397 cm2/g eIoni= 0.24497 cm2/g total= 0.63894 cm2/g Expected ratio of transmitted particles= 52.785 % --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1826055384, 302571145 + Current couple of seeds = 1186383716, 309205105 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm13/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm13/include/DetectorConstruction.hh index 6640769060..499791c6d8 100644 --- a/examples/extended/electromagnetic/TestEm13/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm13/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.2 2006/06/29 16:43:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm13/include/DetectorMessenger.hh index d7778d3912..1f09a62d88 100644 --- a/examples/extended/electromagnetic/TestEm13/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm13/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.2 2006/06/29 16:43:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/include/EventAction.hh b/examples/extended/electromagnetic/TestEm13/include/EventAction.hh index 1824d825d0..088c34e32d 100644 --- a/examples/extended/electromagnetic/TestEm13/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm13/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.2 2006/06/29 16:43:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm13/include/EventActionMessenger.hh index 81445f2d9f..b68fda7240 100644 --- a/examples/extended/electromagnetic/TestEm13/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm13/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.2 2006/06/29 16:44:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm13/include/PhysListEmLivermore.hh index db953b2fde..8d3b3a493a 100644 --- a/examples/extended/electromagnetic/TestEm13/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm13/include/PhysListEmLivermore.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.hh,v 1.2 2006/06/29 16:44:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm13/include/PhysListEmPenelope.hh index ba25303b8d..d6c0459e73 100644 --- a/examples/extended/electromagnetic/TestEm13/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm13/include/PhysListEmPenelope.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.hh,v 1.2 2006/06/29 16:44:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm13/include/PhysListEmStandard.hh index 009304a29b..27d48b6c3c 100644 --- a/examples/extended/electromagnetic/TestEm13/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm13/include/PhysListEmStandard.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandard.hh,v 1.2 2006/06/29 16:44:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm13/include/PhysicsList.hh index 5f682df7f9..e8d23ed108 100644 --- a/examples/extended/electromagnetic/TestEm13/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm13/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.3 2006/06/29 16:44:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/examples/extended/electromagnetic/TestEm13/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm13/include/PhysicsListMessenger.hh index 767094981a..2d00706900 100644 --- a/examples/extended/electromagnetic/TestEm13/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm13/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.3 2006/06/29 16:44:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm13/include/PrimaryGeneratorAction.hh index ed651b4c47..839f42ad2a 100644 --- a/examples/extended/electromagnetic/TestEm13/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm13/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.2 2006/06/29 16:44:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/include/ProcessesCount.hh b/examples/extended/electromagnetic/TestEm13/include/ProcessesCount.hh index 56f37004a5..cd7b360fd7 100644 --- a/examples/extended/electromagnetic/TestEm13/include/ProcessesCount.hh +++ b/examples/extended/electromagnetic/TestEm13/include/ProcessesCount.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ProcessesCount.hh,v 1.2 2006/06/29 16:44:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/include/RunAction.hh b/examples/extended/electromagnetic/TestEm13/include/RunAction.hh index 4365a93051..5de4b3f38e 100644 --- a/examples/extended/electromagnetic/TestEm13/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm13/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.3 2006/06/29 16:44:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm13/include/SteppingAction.hh index de9236f4ea..15296b4831 100644 --- a/examples/extended/electromagnetic/TestEm13/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm13/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.4 2006/06/29 16:44:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm13/include/SteppingVerbose.hh index 1b65278665..f4d48a9f47 100644 --- a/examples/extended/electromagnetic/TestEm13/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm13/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.2 2006/06/29 16:44:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm13/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm13/src/DetectorConstruction.cc index 00889c2605..da95c87b41 100644 --- a/examples/extended/electromagnetic/TestEm13/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm13/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.5 2006/06/29 16:44:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm13/src/DetectorMessenger.cc index a346f14935..b23bd8c1f7 100644 --- a/examples/extended/electromagnetic/TestEm13/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm13/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.2 2006/06/29 16:44:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/EventAction.cc b/examples/extended/electromagnetic/TestEm13/src/EventAction.cc index eba77ce21f..14ab9b9dfc 100644 --- a/examples/extended/electromagnetic/TestEm13/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm13/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.2 2006/06/29 16:44:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm13/src/EventActionMessenger.cc index 5977a9fa27..cae45cb9de 100644 --- a/examples/extended/electromagnetic/TestEm13/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm13/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.2 2006/06/29 16:44:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm13/src/PhysListEmLivermore.cc index 20398e436e..5691b5d30e 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysListEmLivermore.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.cc,v 1.3 2006/06/29 16:44:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm13/src/PhysListEmPenelope.cc index 345ddc1203..f3b6d5ffb3 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysListEmPenelope.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.cc,v 1.3 2006/06/29 16:44:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm13/src/PhysListEmStandard.cc index b7105fdeca..9a436b60eb 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysListEmStandard.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.cc,v 1.3 2006/06/29 16:44:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm13/src/PhysicsList.cc index 7521966b0a..a415ea25b6 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.cc,v 1.5 2006/06/29 16:44:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm13/src/PhysicsListMessenger.cc index 5c1281ef89..8b5b242f4a 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.3 2006/06/29 16:44:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm13/src/PrimaryGeneratorAction.cc index cc08a0d631..34eac62742 100644 --- a/examples/extended/electromagnetic/TestEm13/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm13/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.2 2006/06/29 16:44:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/RunAction.cc b/examples/extended/electromagnetic/TestEm13/src/RunAction.cc index 2c816a8297..98a72e17cf 100644 --- a/examples/extended/electromagnetic/TestEm13/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm13/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.6 2006/06/29 16:44:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm13/src/SteppingAction.cc index e3cecf1735..d9c4a7c48e 100644 --- a/examples/extended/electromagnetic/TestEm13/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm13/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.5 2006/06/29 16:44:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm13/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm13/src/SteppingVerbose.cc index 8ff3794d7c..ec485a706d 100644 --- a/examples/extended/electromagnetic/TestEm13/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm13/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.2 2006/06/29 16:44:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/TestEm14.cc b/examples/extended/electromagnetic/TestEm14/TestEm14.cc index 327b9d3466..0a27cc4a73 100644 --- a/examples/extended/electromagnetic/TestEm14/TestEm14.cc +++ b/examples/extended/electromagnetic/TestEm14/TestEm14.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TestEm14.cc,v 1.3 2006/06/29 16:44:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/TestEm14.out b/examples/extended/electromagnetic/TestEm14/TestEm14.out index 3c07184146..36d2605d8b 100644 --- a/examples/extended/electromagnetic/TestEm14/TestEm14.out +++ b/examples/extended/electromagnetic/TestEm14/TestEm14.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -68,7 +68,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -137,7 +136,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -150,7 +149,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -169,7 +168,7 @@ ionIoni: tables are built for GenericIon Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 0 @@ -233,6 +232,8 @@ hIoni: tables are built for pi- Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 0 Region -- appears in world volume + Root logical volume(s) : Water + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Water Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -282,23 +283,23 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100000 - User=33s Real=33s Sys=0s + User=32s Real=32s Sys=0s The run consists of 100000 gamma of 100 keV through 100 m of Water (density: 1 g/cm3 ) - Process calls frequency ---> compt = 98387 phot = 1613 + Process calls frequency ---> compt = 98335 phot = 1665 - MeanFreePath: 6.0724 cm +- 6.0579 cm massic: 6.0724 g/cm2 - CrossSection: 0.16468 cm^-1 massic: 0.16468 cm2/g + MeanFreePath: 6.0496 cm +- 6.0503 cm massic: 6.0496 g/cm2 + CrossSection: 0.1653 cm^-1 massic: 0.1653 cm2/g - mean energy of charged secondaries: 15.125 keV mass_energy_transfer coef: 0.024907 cm2/g + mean energy of charged secondaries: 15.218 keV mass_energy_transfer coef: 0.025156 cm2/g Verification : crossSections from G4EmCalculator compt= 0.1623 cm2/g phot= 0.0026853 cm2/g total= 0.16498 cm2/g --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1634454967, 1791823047 + Current couple of seeds = 1982964064, 678286457 ---------------------------------------- # /gun/particle e- @@ -307,6 +308,8 @@ Run Summary /run/beamOn 100000 Region -- appears in world volume + Root logical volume(s) : Water + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Water Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -325,7 +328,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1634454967, 1791823047 + Current couple of seeds = 1982964064, 678286457 ---------------------------------------- Start Run processing. @@ -355,19 +358,19 @@ Run Summary The run consists of 100000 e- of 100 MeV through 100 m of Water (density: 1 g/cm3 ) - Process calls frequency ---> eBrem = 61689 eIoni = 38311 + Process calls frequency ---> eBrem = 61697 eIoni = 38303 - MeanFreePath: 1.5667 cm +- 1.5656 cm massic: 1.5667 g/cm2 - CrossSection: 0.63828 cm^-1 massic: 0.63828 cm2/g + MeanFreePath: 1.5679 cm +- 1.5695 cm massic: 1.5679 g/cm2 + CrossSection: 0.63781 cm^-1 massic: 0.63781 cm2/g - mean energy of charged secondaries: 704.14 keV mass_energy_transfer coef: 0.0044944 cm2/g + mean energy of charged secondaries: 705.83 keV mass_energy_transfer coef: 0.0045019 cm2/g Verification : crossSections from G4EmCalculator eBrem= 0.39397 cm2/g eIoni= 0.24497 cm2/g total= 0.63894 cm2/g --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1057715345, 1956988917 + Current couple of seeds = 679237908, 105871640 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm14/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm14/include/DetectorConstruction.hh index 17c93036aa..fba80c9a69 100644 --- a/examples/extended/electromagnetic/TestEm14/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm14/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.3 2006/06/29 16:44:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm14/include/DetectorMessenger.hh index 5ef94a4d04..e9f4add54f 100644 --- a/examples/extended/electromagnetic/TestEm14/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm14/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.3 2006/06/29 16:44:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/EventAction.hh b/examples/extended/electromagnetic/TestEm14/include/EventAction.hh index 210606cc5e..9613fe1f1d 100644 --- a/examples/extended/electromagnetic/TestEm14/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm14/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.3 2006/06/29 16:45:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm14/include/EventActionMessenger.hh index 4cd5021ecd..48b324e0fe 100644 --- a/examples/extended/electromagnetic/TestEm14/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm14/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.3 2006/06/29 16:45:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm14/include/HistoManager.hh index bccf7094bb..d45c14e53c 100644 --- a/examples/extended/electromagnetic/TestEm14/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm14/include/HistoManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.hh,v 1.3 2006/06/29 16:45:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm14/include/HistoMessenger.hh index f9e5b4bbbc..ac64382766 100644 --- a/examples/extended/electromagnetic/TestEm14/include/HistoMessenger.hh +++ b/examples/extended/electromagnetic/TestEm14/include/HistoMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.hh,v 1.3 2006/06/29 16:45:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm14/include/PhysListEmLivermore.hh index 1c1ae24aee..0f10bf63b1 100644 --- a/examples/extended/electromagnetic/TestEm14/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm14/include/PhysListEmLivermore.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.hh,v 1.2 2006/06/29 16:45:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm14/include/PhysListEmPenelope.hh index 51175daa47..88a219ab36 100644 --- a/examples/extended/electromagnetic/TestEm14/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm14/include/PhysListEmPenelope.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.hh,v 1.2 2006/06/29 16:45:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm14/include/PhysListEmStandard.hh index 49605623cc..da84497772 100644 --- a/examples/extended/electromagnetic/TestEm14/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm14/include/PhysListEmStandard.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandard.hh,v 1.3 2006/06/29 16:45:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm14/include/PhysicsList.hh index 6c2c66f8d3..8f9c304975 100644 --- a/examples/extended/electromagnetic/TestEm14/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm14/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.3 2006/06/29 16:45:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/examples/extended/electromagnetic/TestEm14/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm14/include/PhysicsListMessenger.hh index a914e9ea4d..ca63ce5ed8 100644 --- a/examples/extended/electromagnetic/TestEm14/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm14/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.3 2006/06/29 16:45:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm14/include/PrimaryGeneratorAction.hh index 7904b5ce49..00eec8febb 100644 --- a/examples/extended/electromagnetic/TestEm14/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm14/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.3 2006/06/29 16:45:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/ProcessesCount.hh b/examples/extended/electromagnetic/TestEm14/include/ProcessesCount.hh index 203915cebf..339b8206fc 100644 --- a/examples/extended/electromagnetic/TestEm14/include/ProcessesCount.hh +++ b/examples/extended/electromagnetic/TestEm14/include/ProcessesCount.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ProcessesCount.hh,v 1.3 2006/06/29 16:45:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/RunAction.hh b/examples/extended/electromagnetic/TestEm14/include/RunAction.hh index 5c220d013c..ed1b56b7f2 100644 --- a/examples/extended/electromagnetic/TestEm14/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm14/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.4 2006/09/06 09:56:06 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh index 7162b820ca..d9339afad9 100644 --- a/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm14/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.4 2006/09/06 09:56:06 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/SteppingMessenger.hh b/examples/extended/electromagnetic/TestEm14/include/SteppingMessenger.hh index 3f48d685b0..dd149f1c70 100644 --- a/examples/extended/electromagnetic/TestEm14/include/SteppingMessenger.hh +++ b/examples/extended/electromagnetic/TestEm14/include/SteppingMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingMessenger.hh,v 1.2 2006/06/29 16:45:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm14/include/SteppingVerbose.hh index 3de982a690..6eb6a3aefb 100644 --- a/examples/extended/electromagnetic/TestEm14/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm14/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.3 2006/06/29 16:45:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm14/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm14/src/DetectorConstruction.cc index 64a84969af..2cf010146f 100644 --- a/examples/extended/electromagnetic/TestEm14/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm14/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.4 2006/06/29 16:45:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm14/src/DetectorMessenger.cc index 4d1daea922..3c0162ac4c 100644 --- a/examples/extended/electromagnetic/TestEm14/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm14/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.3 2006/06/29 16:45:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/EventAction.cc b/examples/extended/electromagnetic/TestEm14/src/EventAction.cc index 4dc897c176..68913e5f87 100644 --- a/examples/extended/electromagnetic/TestEm14/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm14/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.3 2006/06/29 16:45:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm14/src/EventActionMessenger.cc index d0a6095571..601b0fc304 100644 --- a/examples/extended/electromagnetic/TestEm14/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm14/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.3 2006/06/29 16:45:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc index dbaee4c563..d6a7278cfa 100644 --- a/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm14/src/HistoManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.cc,v 1.4 2006/06/29 16:45:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/HistoMessenger.cc b/examples/extended/electromagnetic/TestEm14/src/HistoMessenger.cc index de3bc60451..1cee614ac1 100644 --- a/examples/extended/electromagnetic/TestEm14/src/HistoMessenger.cc +++ b/examples/extended/electromagnetic/TestEm14/src/HistoMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.cc,v 1.3 2006/06/29 16:45:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm14/src/PhysListEmLivermore.cc index a2d0c028d4..bea1c88308 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysListEmLivermore.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.cc,v 1.2 2006/06/29 16:45:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc index fae8c20a6e..5e8d200b64 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysListEmPenelope.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.cc,v 1.2 2006/06/29 16:45:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc index 0ee0337a28..d9c1fb012f 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysListEmStandard.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.cc,v 1.4 2006/10/24 16:54:16 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc index dc1231c3a3..1c55276764 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.cc,v 1.4 2006/10/24 16:54:16 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm14/src/PhysicsListMessenger.cc index e3f906bd92..c79c957634 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.3 2006/06/29 16:45:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm14/src/PrimaryGeneratorAction.cc index 642b0f30bb..b564704ff6 100644 --- a/examples/extended/electromagnetic/TestEm14/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm14/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.3 2006/06/29 16:45:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/RunAction.cc b/examples/extended/electromagnetic/TestEm14/src/RunAction.cc index efef17a0bc..b2028aa11d 100644 --- a/examples/extended/electromagnetic/TestEm14/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm14/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.4 2006/09/06 09:56:06 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc index 98c591fe2c..716a44d35a 100644 --- a/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm14/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.4 2006/09/06 09:56:06 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/SteppingMessenger.cc b/examples/extended/electromagnetic/TestEm14/src/SteppingMessenger.cc index 4cd4acd9b5..d7fa7aebf7 100644 --- a/examples/extended/electromagnetic/TestEm14/src/SteppingMessenger.cc +++ b/examples/extended/electromagnetic/TestEm14/src/SteppingMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingMessenger.cc,v 1.2 2006/06/29 16:46:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm14/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm14/src/SteppingVerbose.cc index c2b1b2fd68..5b3ac8d6fc 100644 --- a/examples/extended/electromagnetic/TestEm14/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm14/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.3 2006/06/29 16:46:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/TestEm15.cc b/examples/extended/electromagnetic/TestEm15/TestEm15.cc index e8a0f4f78f..1c0a55f97b 100644 --- a/examples/extended/electromagnetic/TestEm15/TestEm15.cc +++ b/examples/extended/electromagnetic/TestEm15/TestEm15.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TestEm15.cc,v 1.2 2006/06/29 16:46:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/TestEm15.out b/examples/extended/electromagnetic/TestEm15/TestEm15.out index 134bb7ce4c..c4c7b9e049 100644 --- a/examples/extended/electromagnetic/TestEm15/TestEm15.out +++ b/examples/extended/electromagnetic/TestEm15/TestEm15.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -71,7 +71,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -136,7 +135,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -148,7 +147,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 0 eIoni: tables are built for e+ @@ -161,7 +160,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 0 annihil: Sampling according eplus2gg model @@ -171,7 +170,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -183,14 +182,14 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 0 @@ -206,7 +205,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -253,7 +252,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -264,6 +263,8 @@ hIoni: tables are built for pi- Step function: finalRange(mm)= 1, dRoverRange= 1, integral: 0 Region -- appears in world volume + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic Water Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -302,7 +303,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=5.6s Real=5.6s Sys=0s + User=5.5s Real=5.5s Sys=0s The run consists of 10000 e- of 5 MeV through 100 m of Water (density: 1 g/cm3 ) @@ -313,8 +314,8 @@ Run Summary lateralDisplac : 1.1482 cm +- 9.6993 nm Psi : 506.49 mrad +- 0.00036931 mrad (29.02 deg +- 2.116e-05 deg) - Theta_plane : 1818.2 mrad (104.18 deg) - phi correlation: 0.26267 +- 0.058466 (std::cos(phi_pos - phi_dir)) + Theta_plane : 1803.7 mrad (103.34 deg) + phi correlation: 0.26266 +- 0.058181 (std::cos(phi_pos - phi_dir)) Verification from G4EmCalculator. @@ -326,13 +327,15 @@ Run Summary --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1055489048, 167744914 + Current couple of seeds = 2018111343, 1005755293 ---------------------------------------- # /gun/energy 100 keV /run/beamOn 10000 Region -- appears in world volume + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic Water Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -358,7 +361,7 @@ Index : 1 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1055489048, 167744914 + Current couple of seeds = 2018111343, 1005755293 ---------------------------------------- Start Run processing. @@ -366,7 +369,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=5.4s Real=5.4s Sys=0s + User=5.3s Real=5.3s Sys=0s The run consists of 10000 e- of 100 keV through 100 m of Water (density: 1 g/cm3 ) @@ -377,8 +380,8 @@ Run Summary lateralDisplac : 923.68 nm +- 256.83 fm Psi : 148.35 mrad +- 8.7703e-05 mrad (8.4998 deg +- 5.025e-06 deg) - Theta_plane : 241.37 mrad (13.83 deg) - phi correlation: 0.090798 +- 0.13131 (std::cos(phi_pos - phi_dir)) + Theta_plane : 246.16 mrad (14.104 deg) + phi correlation: 0.08837 +- 0.13162 (std::cos(phi_pos - phi_dir)) Verification from G4EmCalculator. @@ -390,7 +393,7 @@ Run Summary --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 647930445, 779579682 + Current couple of seeds = 1387038228, 1801671687 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm15/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm15/include/DetectorConstruction.hh index f297821230..c053e007ba 100644 --- a/examples/extended/electromagnetic/TestEm15/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm15/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.2 2006/06/29 16:46:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm15/include/DetectorMessenger.hh index 364c8f7ca6..67b8027370 100644 --- a/examples/extended/electromagnetic/TestEm15/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm15/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.2 2006/06/29 16:46:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/EventAction.hh b/examples/extended/electromagnetic/TestEm15/include/EventAction.hh index e459fbbf11..7feb7776b7 100644 --- a/examples/extended/electromagnetic/TestEm15/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm15/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.2 2006/06/29 16:46:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm15/include/EventActionMessenger.hh index 11666ec19d..346b0cf4c1 100644 --- a/examples/extended/electromagnetic/TestEm15/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm15/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.2 2006/06/29 16:46:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm15/include/HistoManager.hh index 966310ac48..4b226fd378 100644 --- a/examples/extended/electromagnetic/TestEm15/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm15/include/HistoManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.hh,v 1.3 2006/06/29 16:46:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm15/include/HistoMessenger.hh index 00007f8adc..3220def81f 100644 --- a/examples/extended/electromagnetic/TestEm15/include/HistoMessenger.hh +++ b/examples/extended/electromagnetic/TestEm15/include/HistoMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.hh,v 1.2 2006/06/29 16:46:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm15/include/PhysListEmStandard.hh index 8403c3fab1..9f79033477 100644 --- a/examples/extended/electromagnetic/TestEm15/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm15/include/PhysListEmStandard.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.hh,v 1.2 2006/06/29 16:46:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm15/include/PhysicsList.hh index 85ae3a46df..d2e5d66ce0 100644 --- a/examples/extended/electromagnetic/TestEm15/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm15/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.2 2006/06/29 16:46:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/examples/extended/electromagnetic/TestEm15/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm15/include/PhysicsListMessenger.hh index c55f070e5d..d55b3c24b2 100644 --- a/examples/extended/electromagnetic/TestEm15/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm15/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.2 2006/06/29 16:46:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm15/include/PrimaryGeneratorAction.hh index 46a10f9cae..ef9c71e486 100644 --- a/examples/extended/electromagnetic/TestEm15/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm15/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.2 2006/06/29 16:46:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/ProcessesCount.hh b/examples/extended/electromagnetic/TestEm15/include/ProcessesCount.hh index 8f5a049ff7..67f4c6c481 100644 --- a/examples/extended/electromagnetic/TestEm15/include/ProcessesCount.hh +++ b/examples/extended/electromagnetic/TestEm15/include/ProcessesCount.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ProcessesCount.hh,v 1.2 2006/06/29 16:46:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/RunAction.hh b/examples/extended/electromagnetic/TestEm15/include/RunAction.hh index 0fcdc9982f..d6a34c95f3 100644 --- a/examples/extended/electromagnetic/TestEm15/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm15/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.3 2006/06/29 16:46:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/StepMax.hh b/examples/extended/electromagnetic/TestEm15/include/StepMax.hh index fefd0ea5d1..e02280941b 100644 --- a/examples/extended/electromagnetic/TestEm15/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm15/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.2 2006/06/29 16:46:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm15/include/StepMaxMessenger.hh index b440b9bcee..7226a0e281 100644 --- a/examples/extended/electromagnetic/TestEm15/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm15/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.2 2006/06/29 16:46:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm15/include/SteppingAction.hh index be16c4979e..7ac16aaa6a 100644 --- a/examples/extended/electromagnetic/TestEm15/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm15/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.2 2006/06/29 16:46:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm15/include/SteppingVerbose.hh index 11e69eee64..ba81425a2a 100644 --- a/examples/extended/electromagnetic/TestEm15/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm15/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.2 2006/06/29 16:46:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm15/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm15/src/DetectorConstruction.cc index 37f060c122..b998f91124 100644 --- a/examples/extended/electromagnetic/TestEm15/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm15/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.3 2006/06/29 16:46:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm15/src/DetectorMessenger.cc index b9f1c24e25..fa9f77e80f 100644 --- a/examples/extended/electromagnetic/TestEm15/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm15/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.2 2006/06/29 16:46:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/EventAction.cc b/examples/extended/electromagnetic/TestEm15/src/EventAction.cc index 2ad24233d1..31e3317a50 100644 --- a/examples/extended/electromagnetic/TestEm15/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm15/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.2 2006/06/29 16:46:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm15/src/EventActionMessenger.cc index 92ae01fbcd..96614a69f2 100644 --- a/examples/extended/electromagnetic/TestEm15/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm15/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.2 2006/06/29 16:46:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm15/src/HistoManager.cc index 59a0021dec..9b5416563e 100644 --- a/examples/extended/electromagnetic/TestEm15/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm15/src/HistoManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.cc,v 1.4 2006/06/29 16:46:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/HistoMessenger.cc b/examples/extended/electromagnetic/TestEm15/src/HistoMessenger.cc index bfd48c9362..6e651f38f0 100644 --- a/examples/extended/electromagnetic/TestEm15/src/HistoMessenger.cc +++ b/examples/extended/electromagnetic/TestEm15/src/HistoMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.cc,v 1.2 2006/06/29 16:46:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm15/src/PhysListEmStandard.cc index 8eee55897f..a0b802a471 100644 --- a/examples/extended/electromagnetic/TestEm15/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm15/src/PhysListEmStandard.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.cc,v 1.2 2006/06/29 16:47:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm15/src/PhysicsList.cc index d0164206c9..1adc22a5bd 100644 --- a/examples/extended/electromagnetic/TestEm15/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm15/src/PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.cc,v 1.2 2006/06/29 16:47:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm15/src/PhysicsListMessenger.cc index 49cf6d93f0..35f12ca18a 100644 --- a/examples/extended/electromagnetic/TestEm15/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm15/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.2 2006/06/29 16:47:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm15/src/PrimaryGeneratorAction.cc index e81a3934a6..21bb0503d2 100644 --- a/examples/extended/electromagnetic/TestEm15/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm15/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.2 2006/06/29 16:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/RunAction.cc b/examples/extended/electromagnetic/TestEm15/src/RunAction.cc index 0b8ad5ea21..6cc138f958 100644 --- a/examples/extended/electromagnetic/TestEm15/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm15/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.5 2006/06/29 16:47:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/StepMax.cc b/examples/extended/electromagnetic/TestEm15/src/StepMax.cc index 86941359de..fd8c14210b 100644 --- a/examples/extended/electromagnetic/TestEm15/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm15/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.2 2006/06/29 16:47:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm15/src/StepMaxMessenger.cc index 6a56c00ed3..38a7a9d51d 100644 --- a/examples/extended/electromagnetic/TestEm15/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm15/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.2 2006/06/29 16:47:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm15/src/SteppingAction.cc index fe8fe5ae2b..c93baec0f5 100644 --- a/examples/extended/electromagnetic/TestEm15/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm15/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.6 2007/03/15 15:52:39 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm15/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm15/src/SteppingVerbose.cc index c15125b9ab..da0e2bf039 100644 --- a/examples/extended/electromagnetic/TestEm15/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm15/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.2 2006/06/29 16:47:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/TestEm16.cc b/examples/extended/electromagnetic/TestEm16/TestEm16.cc index 4d37434687..1348f1bf1e 100644 --- a/examples/extended/electromagnetic/TestEm16/TestEm16.cc +++ b/examples/extended/electromagnetic/TestEm16/TestEm16.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TestEm16.cc,v 1.3 2007/01/18 09:07:20 hbu Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/TestEm16.out b/examples/extended/electromagnetic/TestEm16/TestEm16.out index d0c3853e9b..b5b18b5d9b 100644 --- a/examples/extended/electromagnetic/TestEm16/TestEm16.out +++ b/examples/extended/electromagnetic/TestEm16/TestEm16.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -30,7 +30,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -110,7 +109,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -122,7 +121,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 SynRad: Incoherent Synchrotron Radiation @@ -138,7 +137,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 annihil: Sampling according eplus2gg model @@ -148,7 +147,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -185,6 +184,8 @@ muPairProd: tables are built for mu- Parametrised model Region -- appears in world volume + Root logical volume(s) : Vacuum + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Vacuum Production cuts : gamma 1 km e- 1 km e+ 1 km @@ -223,7 +224,7 @@ G4SynchrotronRadiation::GetRandomEnergySR : Run terminated. Run Summary Number of events processed : 100 - User=28.64s Real=29.93s Sys=0.08s + User=25.86s Real=27.07s Sys=0.07s Summary for synchrotron radiation : Number of photons = 64554 Emean = 20.24 +/- 0.1449 keV diff --git a/examples/extended/electromagnetic/TestEm16/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm16/include/DetectorConstruction.hh index a28c3ac521..7831c35bbc 100644 --- a/examples/extended/electromagnetic/TestEm16/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm16/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.4 2007/01/18 09:07:20 hbu Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm16/include/DetectorMessenger.hh index f429d815a3..03af97d6ba 100644 --- a/examples/extended/electromagnetic/TestEm16/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm16/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.4 2007/01/18 09:07:20 hbu Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/include/EventAction.hh b/examples/extended/electromagnetic/TestEm16/include/EventAction.hh index 844561c78b..8795717c0a 100644 --- a/examples/extended/electromagnetic/TestEm16/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm16/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.2 2006/06/29 16:47:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm16/include/EventActionMessenger.hh index 64837ca056..6930e94e34 100644 --- a/examples/extended/electromagnetic/TestEm16/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm16/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.2 2006/06/29 16:47:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm16/include/PhysicsList.hh index 7404f8857d..c951d47ffd 100644 --- a/examples/extended/electromagnetic/TestEm16/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm16/include/PhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.hh,v 1.4 2006/06/29 16:47:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm16/include/PhysicsListMessenger.hh index 6e06281301..21536cb847 100644 --- a/examples/extended/electromagnetic/TestEm16/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm16/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.4 2006/06/29 16:47:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm16/include/PrimaryGeneratorAction.hh index 55deff6913..2800690dcc 100644 --- a/examples/extended/electromagnetic/TestEm16/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm16/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.3 2006/06/29 16:47:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/include/RunAction.hh b/examples/extended/electromagnetic/TestEm16/include/RunAction.hh index 5d2791f79d..2a74d60c83 100644 --- a/examples/extended/electromagnetic/TestEm16/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm16/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.5 2007/01/18 09:07:20 hbu Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm16/include/SteppingAction.hh index 8f21d31cd7..5dbc06a7d7 100644 --- a/examples/extended/electromagnetic/TestEm16/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm16/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.3 2007/01/18 09:07:20 hbu Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm16/include/SteppingVerbose.hh index 065dd9a1c2..a65b0042c1 100644 --- a/examples/extended/electromagnetic/TestEm16/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm16/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.2 2006/06/29 16:47:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm16/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm16/src/DetectorConstruction.cc index cc96cf3af3..d7c437bba4 100644 --- a/examples/extended/electromagnetic/TestEm16/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm16/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.4 2007/01/18 09:07:20 hbu Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm16/src/DetectorMessenger.cc index ca2ef6d642..cd2fc3908d 100644 --- a/examples/extended/electromagnetic/TestEm16/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm16/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.3 2007/01/18 09:07:20 hbu Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/src/EventAction.cc b/examples/extended/electromagnetic/TestEm16/src/EventAction.cc index dd04a3e7bb..2af36f4b7d 100644 --- a/examples/extended/electromagnetic/TestEm16/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm16/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.2 2006/06/29 16:47:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm16/src/EventActionMessenger.cc index ea23ebdcf0..052ccb7f73 100644 --- a/examples/extended/electromagnetic/TestEm16/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm16/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.2 2006/06/29 16:47:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm16/src/PhysicsList.cc index e7fa93b437..30f9539cc4 100644 --- a/examples/extended/electromagnetic/TestEm16/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm16/src/PhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.cc,v 1.4 2006/06/29 16:47:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm16/src/PhysicsListMessenger.cc index bef8890d18..6132792d07 100644 --- a/examples/extended/electromagnetic/TestEm16/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm16/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.4 2006/06/29 16:47:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm16/src/PrimaryGeneratorAction.cc index 20f107c6fe..342fddd277 100644 --- a/examples/extended/electromagnetic/TestEm16/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm16/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.3 2006/06/29 16:48:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/src/RunAction.cc b/examples/extended/electromagnetic/TestEm16/src/RunAction.cc index ffb6f15ce9..0fded05702 100644 --- a/examples/extended/electromagnetic/TestEm16/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm16/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.8 2007/01/18 10:24:35 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm16/src/SteppingAction.cc index 8aed281d2d..d9af112af6 100644 --- a/examples/extended/electromagnetic/TestEm16/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm16/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.5 2007/01/18 09:07:20 hbu Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm16/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm16/src/SteppingVerbose.cc index 56ea22fd96..4213e56d62 100644 --- a/examples/extended/electromagnetic/TestEm16/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm16/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.2 2006/06/29 16:48:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/History b/examples/extended/electromagnetic/TestEm17/History index 620c8ca03a..ff98642430 100644 --- a/examples/extended/electromagnetic/TestEm17/History +++ b/examples/extended/electromagnetic/TestEm17/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 2006/10/24 10:06:21 maire Exp $ +$Id: History,v 1.4 2007/05/12 16:33:53 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,9 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +12-05-07 V.Ivant (testem17-V08-03-00) +- add mixture material for tests (A.Bogdanov) 19-10-06 mma (testem17-V08-01-01) - GNUmakefile : LOADLIBS diff --git a/examples/extended/electromagnetic/TestEm17/TestEm17.cc b/examples/extended/electromagnetic/TestEm17/TestEm17.cc index 58e3c312c9..3e41f1c95e 100644 --- a/examples/extended/electromagnetic/TestEm17/TestEm17.cc +++ b/examples/extended/electromagnetic/TestEm17/TestEm17.cc @@ -25,7 +25,7 @@ // // // $Id: TestEm17.cc,v 1.2 2006/06/29 16:48:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/TestEm17.out b/examples/extended/electromagnetic/TestEm17/TestEm17.out index fee18871eb..604e7d193e 100644 --- a/examples/extended/electromagnetic/TestEm17/TestEm17.out +++ b/examples/extended/electromagnetic/TestEm17/TestEm17.out @@ -1,13 +1,13 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -***** Table : Nb of materials = 6 ***** +***** Table : Nb of materials = 7 ***** Material: galactic density: 0.000 mg/cm3 temperature: 2.73 K pressure: 0.00 atm RadLength: 204727576.737 pc ---> Element: galactic ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % @@ -30,6 +30,10 @@ Material: Tin density: 7.310 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.206 cm ---> Element: Tin ( ) Z = 50.0 N = 118.7 A = 118.70 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % + Material: HI density: 2.800 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.049 cm + ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 0.79 % ElmAbundance 50.00 % + ---> Element: Iodine (I) Z = 53.0 N = 126.9 A = 126.90 g/mole ElmMassFraction: 99.21 % ElmAbundance 50.00 % + Visualization Manager instantiating... Visualization Manager initialising... @@ -39,7 +43,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -88,6 +91,8 @@ PhysicsList::SetCuts:CutLength : 1 mm /run/beamOn 10000 Region -- appears in world volume + Root logical volume(s) : Iron + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Iron Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -137,18 +142,18 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=140.49s Real=246.11s Sys=6.32s + User=138.96s Real=254.58s Sys=6.83s The run consists of 10000 mu+ of 10 TeV through 1 m of Iron (density: 7.9 g/cm3 ) - Number of process calls ---> muIoni : 468767 muPairProd : 63239 muBrems : 694 + Number of process calls ---> muIoni : 469141 muPairProd : 63354 muBrems : 711 - Simulation: total CrossSection = 0.5327 /cm MeanFreePath = 1.8772 cm massicCrossSection = 0.067687 cm2/g + Simulation: total CrossSection = 0.53321 /cm MeanFreePath = 1.8754 cm massicCrossSection = 0.067752 cm2/g Theory: total CrossSection = 0.53938 /cm MeanFreePath = 1.854 cm massicCrossSection = 0.068536 cm2/g --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 758590255, 1816922510 + Current couple of seeds = 630902075, 802952017 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/electromagnetic/TestEm17/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm17/include/DetectorConstruction.hh index 3bca68e90c..631d837bb0 100644 --- a/examples/extended/electromagnetic/TestEm17/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm17/include/DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: DetectorConstruction.hh,v 1.2 2006/06/29 16:48:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm17/include/DetectorMessenger.hh index 75b8ce97a1..89998d2910 100644 --- a/examples/extended/electromagnetic/TestEm17/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm17/include/DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: DetectorMessenger.hh,v 1.2 2006/06/29 16:48:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm17/include/EventAction.hh b/examples/extended/electromagnetic/TestEm17/include/EventAction.hh index 3c6c49ec66..a183515904 100644 --- a/examples/extended/electromagnetic/TestEm17/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm17/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.2 2006/06/29 16:48:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm17/include/EventActionMessenger.hh index 8754e7ebf8..e8f45a39e8 100644 --- a/examples/extended/electromagnetic/TestEm17/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm17/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.2 2006/06/29 16:48:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm17/include/HistoManager.hh index d02ab30b1b..2deccb3508 100644 --- a/examples/extended/electromagnetic/TestEm17/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm17/include/HistoManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.hh,v 1.2 2006/06/29 16:48:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm17/include/HistoMessenger.hh index d7ede5ab95..6f42cec0ab 100644 --- a/examples/extended/electromagnetic/TestEm17/include/HistoMessenger.hh +++ b/examples/extended/electromagnetic/TestEm17/include/HistoMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.hh,v 1.2 2006/06/29 16:48:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/MuCrossSections.hh b/examples/extended/electromagnetic/TestEm17/include/MuCrossSections.hh index feab52137c..83af476af7 100644 --- a/examples/extended/electromagnetic/TestEm17/include/MuCrossSections.hh +++ b/examples/extended/electromagnetic/TestEm17/include/MuCrossSections.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MuCrossSections.hh,v 1.2 2006/06/29 16:48:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/MuNuclearBuilder.hh b/examples/extended/electromagnetic/TestEm17/include/MuNuclearBuilder.hh index 65bc66ee29..7d7841eb94 100644 --- a/examples/extended/electromagnetic/TestEm17/include/MuNuclearBuilder.hh +++ b/examples/extended/electromagnetic/TestEm17/include/MuNuclearBuilder.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MuNuclearBuilder.hh,v 1.2 2006/06/29 16:48:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm17/include/PhysListEmStandard.hh index b6b7b02c7a..04040f1cae 100644 --- a/examples/extended/electromagnetic/TestEm17/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm17/include/PhysListEmStandard.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandard.hh,v 1.2 2006/06/29 16:48:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm17/include/PhysicsList.hh index 6aa5b38a10..289e3d9299 100644 --- a/examples/extended/electromagnetic/TestEm17/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm17/include/PhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.hh,v 1.2 2006/06/29 16:48:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm17/include/PhysicsListMessenger.hh index 16b59beb9d..dff71fbe36 100644 --- a/examples/extended/electromagnetic/TestEm17/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm17/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.2 2006/06/29 16:48:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm17/include/PrimaryGeneratorAction.hh index 953c56ea79..3261a829db 100644 --- a/examples/extended/electromagnetic/TestEm17/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm17/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.2 2006/06/29 16:48:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/ProcessesCount.hh b/examples/extended/electromagnetic/TestEm17/include/ProcessesCount.hh index 3946e37dad..de1fffa289 100644 --- a/examples/extended/electromagnetic/TestEm17/include/ProcessesCount.hh +++ b/examples/extended/electromagnetic/TestEm17/include/ProcessesCount.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ProcessesCount.hh,v 1.2 2006/06/29 16:48:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/RunAction.hh b/examples/extended/electromagnetic/TestEm17/include/RunAction.hh index 86231f3ece..f6002afdcb 100644 --- a/examples/extended/electromagnetic/TestEm17/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm17/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.2 2006/06/29 16:48:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/StackingAction.hh b/examples/extended/electromagnetic/TestEm17/include/StackingAction.hh index a54c9c278f..fa30d68957 100644 --- a/examples/extended/electromagnetic/TestEm17/include/StackingAction.hh +++ b/examples/extended/electromagnetic/TestEm17/include/StackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingAction.hh,v 1.2 2006/06/29 16:48:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm17/include/SteppingAction.hh index f01270fbba..49b4f2b53e 100644 --- a/examples/extended/electromagnetic/TestEm17/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm17/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.2 2006/06/29 16:48:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm17/include/SteppingVerbose.hh index 3bb2ff160b..6e36919048 100644 --- a/examples/extended/electromagnetic/TestEm17/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm17/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.2 2006/06/29 16:48:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm17/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm17/src/DetectorConstruction.cc index 4d1129e5d4..edfd3dc161 100644 --- a/examples/extended/electromagnetic/TestEm17/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm17/src/DetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: DetectorConstruction.cc,v 1.2 2006/06/29 16:48:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: DetectorConstruction.cc,v 1.3 2007/05/12 16:33:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -81,6 +81,8 @@ void DetectorConstruction::DefineMaterials() G4Element* N = new G4Element("Nitrogen" ,"N" , z= 7., a= 14.01*g/mole); G4Element* O = new G4Element("Oxygen" ,"O" , z= 8., a= 16.00*g/mole); G4Element* Ca = new G4Element("Calcium" ,"Ca", z=20., a= 40.08*g/mole); + G4Element* H = new G4Element("Hydrogen" ,"H" , z= 1., a= 1.01*g/mole); + G4Element* I = new G4Element("Iodine" ,"I" , z= 53., a= 126.90*g/mole); // // define materials @@ -107,6 +109,11 @@ void DetectorConstruction::DefineMaterials() new G4Material("Iron" , z=26., a= 55.85*g/mole, density= 7.870*g/cm3); new G4Material("Tin" , z=50., a= 118.7*g/mole, density= 7.310*g/cm3); + G4Material* HI = + new G4Material("HI", density= 2.8*g/cm3, ncomponents=2); //-35oC + HI->AddElement(H, natoms= 1); + HI->AddElement(I, natoms= 1); + G4cout << *(G4Material::GetMaterialTable()) << G4endl; } diff --git a/examples/extended/electromagnetic/TestEm17/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm17/src/DetectorMessenger.cc index 60581945ce..416943b83b 100644 --- a/examples/extended/electromagnetic/TestEm17/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm17/src/DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: DetectorMessenger.cc,v 1.2 2006/06/29 16:48:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm17/src/EventAction.cc b/examples/extended/electromagnetic/TestEm17/src/EventAction.cc index 5639ddf642..ca7b4d6774 100644 --- a/examples/extended/electromagnetic/TestEm17/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm17/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.2 2006/06/29 16:48:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm17/src/EventActionMessenger.cc index 3e1e69ff10..03e30f4b99 100644 --- a/examples/extended/electromagnetic/TestEm17/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm17/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.2 2006/06/29 16:48:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm17/src/HistoManager.cc index f36dcd5305..67c0f55691 100644 --- a/examples/extended/electromagnetic/TestEm17/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm17/src/HistoManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.cc,v 1.2 2006/06/29 16:48:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/HistoMessenger.cc b/examples/extended/electromagnetic/TestEm17/src/HistoMessenger.cc index 79bc155050..ee46c49c4c 100644 --- a/examples/extended/electromagnetic/TestEm17/src/HistoMessenger.cc +++ b/examples/extended/electromagnetic/TestEm17/src/HistoMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.cc,v 1.2 2006/06/29 16:49:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/MuCrossSections.cc b/examples/extended/electromagnetic/TestEm17/src/MuCrossSections.cc index 1247193954..128e3b8654 100644 --- a/examples/extended/electromagnetic/TestEm17/src/MuCrossSections.cc +++ b/examples/extended/electromagnetic/TestEm17/src/MuCrossSections.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MuCrossSections.cc,v 1.2 2006/06/29 16:49:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/MuNuclearBuilder.cc b/examples/extended/electromagnetic/TestEm17/src/MuNuclearBuilder.cc index 1e96cb4985..51981012b6 100644 --- a/examples/extended/electromagnetic/TestEm17/src/MuNuclearBuilder.cc +++ b/examples/extended/electromagnetic/TestEm17/src/MuNuclearBuilder.cc @@ -25,7 +25,7 @@ // // // $Id: MuNuclearBuilder.cc,v 1.2 2006/06/29 16:49:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm17/src/PhysListEmStandard.cc index 683dcc5cec..b59bdfb221 100644 --- a/examples/extended/electromagnetic/TestEm17/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm17/src/PhysListEmStandard.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandard.cc,v 1.2 2006/06/29 16:49:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm17/src/PhysicsList.cc index 84b7cd7736..bdddbf94ed 100644 --- a/examples/extended/electromagnetic/TestEm17/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm17/src/PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.cc,v 1.4 2006/10/24 10:06:21 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm17/src/PhysicsListMessenger.cc index 77970273bd..fed394992f 100644 --- a/examples/extended/electromagnetic/TestEm17/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm17/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.2 2006/06/29 16:49:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm17/src/PrimaryGeneratorAction.cc index bab2af4395..579314d7dd 100644 --- a/examples/extended/electromagnetic/TestEm17/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm17/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.2 2006/06/29 16:49:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/RunAction.cc b/examples/extended/electromagnetic/TestEm17/src/RunAction.cc index 850ea7a52d..e487b32e0f 100644 --- a/examples/extended/electromagnetic/TestEm17/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm17/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.2 2006/06/29 16:49:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/StackingAction.cc b/examples/extended/electromagnetic/TestEm17/src/StackingAction.cc index aa6a96d959..681c402c42 100644 --- a/examples/extended/electromagnetic/TestEm17/src/StackingAction.cc +++ b/examples/extended/electromagnetic/TestEm17/src/StackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingAction.cc,v 1.2 2006/06/29 16:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm17/src/SteppingAction.cc index 0b1d9b58da..e4696b5f1b 100644 --- a/examples/extended/electromagnetic/TestEm17/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm17/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.2 2006/06/29 16:49:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm17/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm17/src/SteppingVerbose.cc index 88a2a6f9ff..86a7f78f6e 100644 --- a/examples/extended/electromagnetic/TestEm17/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm17/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.2 2006/06/29 16:49:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/TestEm18.cc b/examples/extended/electromagnetic/TestEm18/TestEm18.cc index bf8efb5950..4dd23894ef 100644 --- a/examples/extended/electromagnetic/TestEm18/TestEm18.cc +++ b/examples/extended/electromagnetic/TestEm18/TestEm18.cc @@ -25,7 +25,7 @@ // // // $Id: TestEm18.cc,v 1.1 2007/02/13 17:57:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/TestEm18.out b/examples/extended/electromagnetic/TestEm18/TestEm18.out index 7c45340477..1a69d74383 100644 --- a/examples/extended/electromagnetic/TestEm18/TestEm18.out +++ b/examples/extended/electromagnetic/TestEm18/TestEm18.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -93,7 +93,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 480 bins. Lambda tables from threshold to 100 TeV in 480 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 480 bins. @@ -107,7 +107,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 480 bins. Lambda tables from threshold to 100 TeV in 480 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -127,7 +127,7 @@ ionIoni: tables are built for GenericIon Lambda tables from threshold to 100 TeV in 480 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 @@ -197,6 +197,8 @@ hIoni: tables are built for pi- CSDA range table up to 100 TeV in 480 bins. Region -- appears in world volume + Root logical volume(s) : Water + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Water Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -246,7 +248,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100000 - User=48.74s Real=48.78s Sys=0.02s + User=47.51s Real=47.52s Sys=0s ======================== run summary ====================== @@ -254,19 +256,19 @@ Run Summary =========================================================== - trackLength= 1.0005 cm nb of steps= 1.5573 stepSize= 6.4242 mm + trackLength= 1.0005 cm nb of steps= 1.5539 stepSize= 6.4383 mm - d-rays : eLoss/primary= 249.72 keV nb of d-rays= 0.23634 = 1.0566 MeV Tmin= 347.15 keV Tmax= 4.9638 MeV + d-rays : eLoss/primary= 245.12 keV nb of d-rays= 0.23468 = 1.0445 MeV Tmin= 347.15 keV Tmax= 4.9503 MeV - brems : eLoss/primary= 173.41 keV nb of gammas= 0.30721 = 564.48 keV Tmin= 2.9024 keV Tmax= 9.6666 MeV + brems : eLoss/primary= 176.1 keV nb of gammas= 0.30529 = 576.82 keV Tmin= 2.9021 keV Tmax= 9.7003 MeV - deposit : eLoss/primary= 1.7336 MeV table= 1.7348 MeV ---> simul/reference= 0.99936 + deposit : eLoss/primary= 1.7338 MeV table= 1.7348 MeV ---> simul/reference= 0.99947 - total : eLoss/primary= 2.1568 MeV table= 2.1626 MeV ---> simul/reference= 0.99733 + total : eLoss/primary= 2.1551 MeV table= 2.1626 MeV ---> simul/reference= 0.99653 --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1637293684, 1659265773 + Current couple of seeds = 1318030641, 1948814343 ---------------------------------------- UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh index df1f8833b2..c101231c32 100644 --- a/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm18/include/DetectorMessenger.hh index 5a6dc267cd..7bbd471d3e 100644 --- a/examples/extended/electromagnetic/TestEm18/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm18/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/EventAction.hh b/examples/extended/electromagnetic/TestEm18/include/EventAction.hh index dcd232c409..66be5cd698 100644 --- a/examples/extended/electromagnetic/TestEm18/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/EventMessenger.hh b/examples/extended/electromagnetic/TestEm18/include/EventMessenger.hh index 70a188ce47..9597441415 100644 --- a/examples/extended/electromagnetic/TestEm18/include/EventMessenger.hh +++ b/examples/extended/electromagnetic/TestEm18/include/EventMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventMessenger.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm18/include/HistoManager.hh index 50cf99ff6e..bffb4dc8b5 100644 --- a/examples/extended/electromagnetic/TestEm18/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm18/include/HistoManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm18/include/HistoMessenger.hh index 68eeef9810..15ca1a5090 100644 --- a/examples/extended/electromagnetic/TestEm18/include/HistoMessenger.hh +++ b/examples/extended/electromagnetic/TestEm18/include/HistoMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm18/include/PhysListEmLivermore.hh index 7591a93e56..31ecfaef4b 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PhysListEmLivermore.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm18/include/PhysListEmPenelope.hh index 2ee37e49d8..48a05e6c39 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PhysListEmPenelope.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmPenelope.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm18/include/PhysListEmStandard.hh index 61838f452b..d00048e0dd 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PhysListEmStandard.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandard.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm18/include/PhysicsList.hh index a37debbc50..42d0fb4f96 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh index 7a219ff1bf..ddeee7ad86 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm18/include/PrimaryGeneratorAction.hh index 021e194e18..8a74506d09 100644 --- a/examples/extended/electromagnetic/TestEm18/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/RunAction.hh b/examples/extended/electromagnetic/TestEm18/include/RunAction.hh index 0a1293ba59..5ff11b7dc8 100644 --- a/examples/extended/electromagnetic/TestEm18/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/StackingAction.hh b/examples/extended/electromagnetic/TestEm18/include/StackingAction.hh index 445f0e7ff2..737faedd8b 100644 --- a/examples/extended/electromagnetic/TestEm18/include/StackingAction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/StackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingAction.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/StepMax.hh b/examples/extended/electromagnetic/TestEm18/include/StepMax.hh index 2e6a62c958..344deb569c 100644 --- a/examples/extended/electromagnetic/TestEm18/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm18/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm18/include/StepMaxMessenger.hh index c4ccfc63e0..d570cb7d2c 100644 --- a/examples/extended/electromagnetic/TestEm18/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm18/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm18/include/SteppingAction.hh index 4fc07322ac..606e3cbe1c 100644 --- a/examples/extended/electromagnetic/TestEm18/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm18/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm18/include/SteppingVerbose.hh index 90f7558630..70ed7d7fb0 100644 --- a/examples/extended/electromagnetic/TestEm18/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm18/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc index 4b926e7676..9f7f529c72 100644 --- a/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.2 2007/02/16 11:59:47 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm18/src/DetectorMessenger.cc index 3aa4cc9740..849746e87c 100644 --- a/examples/extended/electromagnetic/TestEm18/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm18/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/EventAction.cc b/examples/extended/electromagnetic/TestEm18/src/EventAction.cc index d5ebd4cf43..e44e0f65d5 100644 --- a/examples/extended/electromagnetic/TestEm18/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/EventMessenger.cc b/examples/extended/electromagnetic/TestEm18/src/EventMessenger.cc index b8891e847b..85113a9ab7 100644 --- a/examples/extended/electromagnetic/TestEm18/src/EventMessenger.cc +++ b/examples/extended/electromagnetic/TestEm18/src/EventMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventMessenger.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm18/src/HistoManager.cc index d98f977a69..b99ea61871 100644 --- a/examples/extended/electromagnetic/TestEm18/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm18/src/HistoManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/HistoMessenger.cc b/examples/extended/electromagnetic/TestEm18/src/HistoMessenger.cc index 8b5d4612ad..114a1450ee 100644 --- a/examples/extended/electromagnetic/TestEm18/src/HistoMessenger.cc +++ b/examples/extended/electromagnetic/TestEm18/src/HistoMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm18/src/PhysListEmLivermore.cc index 675376717d..0eca10a690 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PhysListEmLivermore.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm18/src/PhysListEmPenelope.cc index 35287b179c..dc852d2c8f 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PhysListEmPenelope.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm18/src/PhysListEmStandard.cc index e2da5f8ab0..5d333d6b38 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PhysListEmStandard.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandard.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc index d4426086f9..f673f47a79 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc index 5c440d5264..e95d60debb 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm18/src/PrimaryGeneratorAction.cc index cdf4162e10..b50c60474f 100644 --- a/examples/extended/electromagnetic/TestEm18/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/RunAction.cc b/examples/extended/electromagnetic/TestEm18/src/RunAction.cc index a40d82ed50..3eae4e389d 100644 --- a/examples/extended/electromagnetic/TestEm18/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.2 2007/02/16 11:59:47 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/StackingAction.cc b/examples/extended/electromagnetic/TestEm18/src/StackingAction.cc index 9412d7cf51..6000510fbe 100644 --- a/examples/extended/electromagnetic/TestEm18/src/StackingAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/StackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingAction.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/StepMax.cc b/examples/extended/electromagnetic/TestEm18/src/StepMax.cc index 88fb860594..a90ac7fb5e 100644 --- a/examples/extended/electromagnetic/TestEm18/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm18/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm18/src/StepMaxMessenger.cc index aa0e788506..cc2f87668e 100644 --- a/examples/extended/electromagnetic/TestEm18/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm18/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm18/src/SteppingAction.cc index 9b257cc8af..5051917d4f 100644 --- a/examples/extended/electromagnetic/TestEm18/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm18/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm18/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm18/src/SteppingVerbose.cc index 2d3bf68559..77ca76f845 100644 --- a/examples/extended/electromagnetic/TestEm18/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm18/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.1 2007/02/13 17:57:20 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/History b/examples/extended/electromagnetic/TestEm2/History index dd89eb02bb..69571c8d66 100644 --- a/examples/extended/electromagnetic/TestEm2/History +++ b/examples/extended/electromagnetic/TestEm2/History @@ -1,4 +1,4 @@ -$Id: History,v 1.67 2007/01/08 16:32:20 vnivanch Exp $ +$Id: History,v 1.68 2007/06/12 15:29:38 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,9 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +12-06-07 V.Ivant (testem2-V08-03-00) +- Update main macro file; use visialisation only for interactive session + 08-01-07 V.Ivant (testem2-V08-02-00) - Uncomment hadron ionisation in Livermore builder diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.cc b/examples/extended/electromagnetic/TestEm2/TestEm2.cc index 81c4062087..fa168d8ac3 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.cc +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: TestEm2.cc,v 1.11 2006/06/29 16:49:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: TestEm2.cc,v 1.12 2007/06/12 15:29:38 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -72,8 +72,7 @@ int main(int argc,char** argv) { #ifdef G4VIS_USE // visualization manager - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); + G4VisManager* visManager = 0; #endif // set user action classes @@ -88,6 +87,8 @@ int main(int argc,char** argv) { if (argc==1) // Define UI terminal for interactive mode. { + visManager = new G4VisExecutive; + visManager->Initialize(); G4UIsession * session = 0; #ifdef G4UI_USE_TCSH session = new G4UIterminal(new G4UItcsh); diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.in b/examples/extended/electromagnetic/TestEm2/TestEm2.in index 10f6fca41d..05337455e4 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.in +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.in @@ -1,19 +1,19 @@ -# $Id: TestEm2.in,v 1.22 2006/10/20 16:03:39 maire Exp $ +# $Id: TestEm2.in,v 1.23 2007/06/12 15:29:38 vnivanch Exp $ # # Macro file for "TestEm2.cc" # (can be run in batch, without graphic) # # PbWO4 L = 20 radl R = 5 radl; electron 5 GeV # -/control/verbose 2 -/run/verbose 2 +/control/verbose 1 +/run/verbose 1 # /testem/det/setMat PbWO4 /testem/det/setLbin 40 0.5 /testem/det/setRbin 50 0.1 # # Acceptance printout is activated -/testem/run/acceptance 0.9450 0.0096 3.0 +/testem/run/acceptance 0.949 0.0082 3.0 # /testem/phys/addPhysics standard # diff --git a/examples/extended/electromagnetic/TestEm2/TestEm2.out b/examples/extended/electromagnetic/TestEm2/TestEm2.out index 59f56a81ed..552da7a9b2 100644 --- a/examples/extended/electromagnetic/TestEm2/TestEm2.out +++ b/examples/extended/electromagnetic/TestEm2/TestEm2.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -46,69 +46,24 @@ ---> Element: Tungsten (W) Z = 74.0 N = 183.8 A = 183.84 g/mole ElmMassFraction: 40.40 % ElmAbundance 16.67 % -Visualization Manager instantiating... -Visualization Manager initialising... -Registering graphics systems... - -You have successfully registered the following graphics systems. -Current available graphics systems are: - ASCIITree (ATree) - DAWNFILE (DAWNFILE) - GAGTree (GAGTree) - G4HepRep (HepRepXML) - G4HepRepFile (HepRepFile) - RayTracer (RayTracer) - VRML1FILE (VRML1FILE) - VRML2FILE (VRML2FILE) - -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 - -/run/verbose 2 -# +/run/verbose 1 /testem/det/setMat PbWO4 /testem/det/setLbin 40 0.5 /testem/det/setRbin 50 0.1 -# -# Acceptance printout is activated -/testem/run/acceptance 0.9450 0.0096 3.0 -# +/testem/run/acceptance 0.949 0.0082 3.0 /testem/phys/addPhysics standard PhysicsList::AddPhysicsList: -# /testem/phys/setCuts 1.0 mm -# /run/initialize -userDetector->Construct() start. Absorber is 17.848 cm of PbWO4 Material: PbWO4 density: 8.280 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.924 mm ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 14.07 % ElmAbundance 66.67 % ---> Element: Lead (Pb) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 45.53 % ElmAbundance 16.67 % ---> Element: Tungsten (W) Z = 74.0 N = 183.8 A = 183.84 g/mole ElmMassFraction: 40.40 % ElmAbundance 16.67 % -Ecal is registered to the default region. -physicsList->Construct() start. -physicsList->Construct() start. -physicsList->setCut() start. PhysicsList::SetCuts:CutLength : 1 mm -# /gun/particle e- /gun/energy 5 GeV -# /testem/event/printModulo 20 -# /run/beamOn 100 phot: Total cross sections from Sandia parametrisation. @@ -127,7 +82,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -140,7 +95,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -153,7 +108,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -162,7 +117,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -174,14 +129,14 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 @@ -197,7 +152,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -244,7 +199,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -254,10 +209,6 @@ hIoni: tables are built for pi- Parametrisation from Bragg for protons below. Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 -Region -- appears in world volume - Materials : PbWO4 - Production cuts : gamma 1 mm e- 1 mm e+ 1 mm - ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No @@ -269,11 +220,6 @@ Index : 0 used in the geometry : Yes recalculation needed : No ==================================================================== -Start closing geometry. -G4GeometryManager::ReportVoxelStats -- Voxel Statistics - - Total memory consumed for geometry optimisation: 0 kByte - Total CPU time elapsed for geometry optimisation: 0 seconds ### Run 0 start. --------- Ranecu engine status --------- @@ -294,37 +240,24 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=251.23s Real=268.16s Sys=14.49s + User=230.57s Real=232.74s Sys=0.1s SUMMARY - energy deposit : 94.56 % E0 +- 0.81 % E0 - charged traklen: 482.86 radl +- 4.45 radl - neutral traklen: 4468.40 radl +- 133.74 radl + energy deposit : 94.09 % E0 +- 3.39 % E0 + charged traklen: 480.77 radl +- 17.09 radl + neutral traklen: 4415.63 radl +- 238.27 radl - 90.00 % confinement: radius = 3.13 radl (2.79 cm ) + 90.00 % confinement: radius = 3.23 radl (2.88 cm ) --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1259944231, 254399950 + Current couple of seeds = 945930242, 400601456 ---------------------------------------- <<<>>> 100 events for Total Energy in Absorber -Edep: 0.94558756 delEdep= 0.00058755881 nrms= 0.61204043 -Erms: 0.0080584593 delErms= -0.0015415407 nrms= -1.6057716 -<<<>>> IS ACCEPTED +Edep: 0.94094309 delEdep= -0.0080569076 nrms= -9.8254971 +Erms: 0.033906596 delErms= 0.025706596 nrms= 31.349508 +<<<>>> IS NOT ACCEPTED -Graphics systems deleted. -Visualization Manager deleting... -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserRunAction deleted. -UserPrimaryGenerator deleted. G4 kernel has come to Quit state. -EventManager deleted. -Default detector region deleted. -UImanager deleted. -Units table cleared. -StateManager deleted. -RunManagerKernel is deleted. -RunManager is deleting. diff --git a/examples/extended/electromagnetic/TestEm2/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm2/include/DetectorConstruction.hh index 8861d2ac83..b05eb01567 100644 --- a/examples/extended/electromagnetic/TestEm2/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.9 2006/06/29 16:49:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/DetectorMessenger.hh index 61495f7352..99cf2844d6 100644 --- a/examples/extended/electromagnetic/TestEm2/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.6 2006/06/29 16:49:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/EmAcceptance.hh b/examples/extended/electromagnetic/TestEm2/include/EmAcceptance.hh index 60916e114c..7240b0a2b0 100644 --- a/examples/extended/electromagnetic/TestEm2/include/EmAcceptance.hh +++ b/examples/extended/electromagnetic/TestEm2/include/EmAcceptance.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EmAcceptance.hh,v 1.3 2006/06/29 16:49:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/EventAction.hh b/examples/extended/electromagnetic/TestEm2/include/EventAction.hh index e7facfd568..e23b69baa6 100644 --- a/examples/extended/electromagnetic/TestEm2/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.3 2006/06/29 16:49:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/EventActionMessenger.hh index 5257bb4a28..c459a12d57 100644 --- a/examples/extended/electromagnetic/TestEm2/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.3 2006/06/29 16:49:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm2/include/PhysListEmLivermore.hh index b54d134120..c379c20909 100644 --- a/examples/extended/electromagnetic/TestEm2/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm2/include/PhysListEmLivermore.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.hh,v 1.2 2006/06/29 16:49:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm2/include/PhysListEmPenelope.hh index 1ce86d9bfa..4b56f8210e 100644 --- a/examples/extended/electromagnetic/TestEm2/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm2/include/PhysListEmPenelope.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.hh,v 1.2 2006/06/29 16:49:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm2/include/PhysListEmStandard.hh index 9fcebf8f90..1218568171 100644 --- a/examples/extended/electromagnetic/TestEm2/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm2/include/PhysListEmStandard.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.hh,v 1.4 2006/06/29 16:49:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm2/include/PhysicsList.hh index 9cfc617a86..7db34d199d 100644 --- a/examples/extended/electromagnetic/TestEm2/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm2/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.8 2006/06/29 16:49:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/examples/extended/electromagnetic/TestEm2/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/PhysicsListMessenger.hh index a2708390dc..02f39d6d5e 100644 --- a/examples/extended/electromagnetic/TestEm2/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.5 2006/06/29 16:49:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm2/include/PrimaryGeneratorAction.hh index 2d68f68ad8..c8dc73220f 100644 --- a/examples/extended/electromagnetic/TestEm2/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.5 2006/06/29 16:49:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/RunAction.hh b/examples/extended/electromagnetic/TestEm2/include/RunAction.hh index c299b9218b..5dc3d072e4 100644 --- a/examples/extended/electromagnetic/TestEm2/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.9 2006/06/29 16:49:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/RunActionMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/RunActionMessenger.hh index 64c2a40b58..65e9640c4b 100644 --- a/examples/extended/electromagnetic/TestEm2/include/RunActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/RunActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunActionMessenger.hh,v 1.4 2006/06/29 16:50:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/StepMax.hh b/examples/extended/electromagnetic/TestEm2/include/StepMax.hh index 86461a55c7..d48f83b4a7 100644 --- a/examples/extended/electromagnetic/TestEm2/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm2/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.2 2006/06/29 16:50:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm2/include/StepMaxMessenger.hh index 325cf19799..fdec5f9460 100644 --- a/examples/extended/electromagnetic/TestEm2/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm2/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.2 2006/06/29 16:50:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm2/include/SteppingAction.hh index 942a47a99b..6bf128f365 100644 --- a/examples/extended/electromagnetic/TestEm2/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.4 2006/06/29 16:50:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm2/include/SteppingVerbose.hh index c4f9e07b1b..807d0d4a09 100644 --- a/examples/extended/electromagnetic/TestEm2/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm2/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.3 2006/06/29 16:50:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm2/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm2/include/TrackingAction.hh index c8a97b1e51..f954311d83 100644 --- a/examples/extended/electromagnetic/TestEm2/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm2/include/TrackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.hh,v 1.4 2006/06/29 16:50:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/run01.out b/examples/extended/electromagnetic/TestEm2/run01.out index 77b6d413a8..c1c05f60b9 100644 --- a/examples/extended/electromagnetic/TestEm2/run01.out +++ b/examples/extended/electromagnetic/TestEm2/run01.out @@ -1,63 +1,51 @@ ************************************************************* - Geant4 version Name: geant4-08-00-ref-00 (16-December-2005) + Geant4 version Name: geant4-09-00-cand-05 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -***** Table : Nb of materials = 7 ***** +***** Table : Nb of materials = 10 ***** Material: Air density: 1.290 kg/m3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m - ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole fractionMass: 70.00 % Abundance 72.71 % - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 30.00 % Abundance 27.29 % + ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 % Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.092 cm - ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole fractionMass: 11.21 % Abundance 66.67 % - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 88.79 % Abundance 33.33 % + ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.21 % ElmAbundance 66.67 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.79 % ElmAbundance 33.33 % Material: liquidArgon density: 1.390 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 14.065 cm - ---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole fractionMass: 100.00 % Abundance 100.00 % + ---> Element: liquidArgon ( ) Z = 18.0 N = 40.0 A = 39.95 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % Material: Aluminium density: 2.700 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.893 cm - ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole fractionMass: 100.00 % Abundance 100.00 % + ---> Element: Aluminium ( ) Z = 13.0 N = 27.0 A = 26.98 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % Material: Iron density: 7.870 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.759 cm - ---> Element: Iron ( ) Z = 26.0 N = 55.9 A = 55.85 g/mole fractionMass: 100.00 % Abundance 100.00 % + ---> Element: Iron ( ) Z = 26.0 N = 55.9 A = 55.85 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: Copper density: 8.960 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.436 cm + ---> Element: Copper ( ) Z = 29.0 N = 63.5 A = 63.55 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: Lead density: 11.350 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 5.612 mm + ---> Element: Lead ( ) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: Uranium density: 18.950 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 3.166 mm + ---> Element: Uranium ( ) Z = 92.0 N = 238.0 A = 238.03 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % Material: BGO density: 7.100 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.123 cm - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 15.41 % Abundance 63.16 % - ---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole fractionMass: 17.48 % Abundance 15.79 % - ---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole fractionMass: 67.10 % Abundance 21.05 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 15.41 % ElmAbundance 63.16 % + ---> Element: Germanium (Ge) Z = 32.0 N = 72.6 A = 72.59 g/mole ElmMassFraction: 17.48 % ElmAbundance 15.79 % + ---> Element: Bismuth (Bi) Z = 83.0 N = 209.0 A = 208.98 g/mole ElmMassFraction: 67.10 % ElmAbundance 21.05 % Material: PbWO4 density: 8.280 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.924 mm - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 14.07 % Abundance 66.67 % - ---> Element: Lead (Pb) Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 45.53 % Abundance 16.67 % - ---> Element: Tungsten (W) Z = 74.0 N = 183.8 A = 183.84 g/mole fractionMass: 40.40 % Abundance 16.67 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 14.07 % ElmAbundance 66.67 % + ---> Element: Lead (Pb) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 45.53 % ElmAbundance 16.67 % + ---> Element: Tungsten (W) Z = 74.0 N = 183.8 A = 183.84 g/mole ElmMassFraction: 40.40 % ElmAbundance 16.67 % -Visualization Manager instantiating... -Visualization Manager initialising... -Registering graphics systems... - -You have successfully chosen to use the following graphics systems. -Current available graphics systems are: - ASCIITree (ATree) - DAWNFILE (DAWNFILE) - GAGTree (GAGTree) - G4HepRep (HepRepXML) - G4HepRepFile (HepRepFile) - RayTracer (RayTracer) - VRML1FILE (VRML1FILE) - VRML2FILE (VRML2FILE) - FukuiRenderer (DAWN) - OpenGLImmediateX (OGLIX) - OpenGLStoredX (OGLSX) - VRML1 (VRML1) - VRML2 (VRML2) - -Registering model factories... /run/verbose 2 # /testem/det/setMat PbWO4 @@ -65,35 +53,37 @@ Registering model factories... /testem/det/setRbin 50 0.1 # /testem/phys/addPhysics standard -PhysicsList::AddPhysicsList -#### /testem/phys/addPhysics g4v71 +PhysicsList::AddPhysicsList: # /testem/phys/setCuts 1 mm # # histogram file -/testem/histo/setFileName run01 +/testem/histo/setFileName stand2 /testem/histo/setFileType hbook # /run/initialize userDetector->Construct() start. Absorber is 17.848 cm of PbWO4 Material: PbWO4 density: 8.280 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 8.924 mm - ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole fractionMass: 14.07 % Abundance 66.67 % - ---> Element: Lead (Pb) Z = 82.0 N = 207.2 A = 207.19 g/mole fractionMass: 45.53 % Abundance 16.67 % - ---> Element: Tungsten (W) Z = 74.0 N = 183.8 A = 183.84 g/mole fractionMass: 40.40 % Abundance 16.67 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 14.07 % ElmAbundance 66.67 % + ---> Element: Lead (Pb) Z = 82.0 N = 207.2 A = 207.19 g/mole ElmMassFraction: 45.53 % ElmAbundance 16.67 % + ---> Element: Tungsten (W) Z = 74.0 N = 183.8 A = 183.84 g/mole ElmMassFraction: 40.40 % ElmAbundance 16.67 % Ecal is registered to the default region. physicsList->Construct() start. physicsList->Construct() start. physicsList->setCut() start. +PhysicsList::SetCuts:CutLength : 1 mm # /gun/particle e- /gun/energy 5 GeV # /testem/event/printModulo 20 +/testem/run/verbose 1 # /run/beamOn 500 phot: Total cross sections from Sandia parametrisation. + Sampling according PhotoElectric model compt: Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV Sampling according Klein-Nishina model @@ -101,105 +91,164 @@ compt: Total cross sections has a good parametrisation from 10 KeV to (100/Z) G Lambda tables from 100 eV to 100 GeV in 90 bins. conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according to the Bethe-Heitler model + sampling secondary e+e- according Bethe-Heitler model tables are built for gamma Lambda tables from 1.022 MeV to 100 GeV in 100 bins. msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 +### The process eBrem is added to the list of collaborative processes of eIoni +### The process eBrem is added to the list of collaborative processes of eIoni +### The process muBrems is added to the list of collaborative processes of muIoni +### The process muPairProd is added to the list of collaborative processes of muIoni +### The process muBrems is added to the list of collaborative processes of muIoni +### The process muPairProd is added to the list of collaborative processes of muIoni eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. - Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Delta cross sections and sampling from MollerBhabha model + Good description from 1 KeV to 100 GeV. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + Subcutoff sampling in 1 regions eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. - Total cross sections from a parametrisation based on the EEDL data library. - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Total cross sections and sampling from StandBrem model (based on the EEDL data library) + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 + Subcutoff sampling in 1 regions eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. - Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Delta cross sections and sampling from MollerBhabha model + Good description from 1 KeV to 100 GeV. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + Subcutoff sampling in 1 regions eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. - Total cross sections from a parametrisation based on the EEDL data library. - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Total cross sections and sampling from StandBrem model (based on the EEDL data library) + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 + Subcutoff sampling in 1 regions -annihil: Heilter model of formula of annihilation into 2 photons +annihil: Sampling according eplus2gg model tables are built for e+ Lambda tables from 100 eV to 100 TeV in 120 bins. msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. - Scaling relation is used to proton dE/dx and range - Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV + Parametrisation from Bragg for protons below. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + Subcutoff sampling in 1 regions msc: Model variant of multiple scattering for GenericIon + LateralDisplacementFlag= 0 Skin= 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. - Scaling relation is used to proton dE/dx and range - Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for alpha particles below. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV + Parametrisation from BraggIon for protons below. NuclearStopping 1 + + Stopping Power data for 8 ion/material pairs are used. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + Subcutoff sampling in 1 regions + +hIoni: tables are built for anti_proton + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV + Parametrisation from Bragg for protons below. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + Subcutoff sampling in 1 regions msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, radiative corrections for E > 1 GeV - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + Subcutoff sampling in 1 regions muBrems: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Parametrised model + Subcutoff sampling in 1 regions muPairProd: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Parametrised model + Subcutoff sampling in 1 regions muIoni: tables are built for mu- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, radiative corrections for E > 1 GeV - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + Subcutoff sampling in 1 regions muBrems: tables are built for mu- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Parametrised model + Subcutoff sampling in 1 regions muPairProd: tables are built for mu- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Parametrised model + Subcutoff sampling in 1 regions + +hIoni: tables are built for pi+ + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV + Parametrisation from Bragg for protons below. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + Subcutoff sampling in 1 regions msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 + +hIoni: tables are built for pi- + dE/dx and range tables from 100 eV to 100 TeV in 120 bins. + Lambda tables from threshold to 100 TeV in 120 bins. + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV + Parametrisation from Bragg for protons below. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + Subcutoff sampling in 1 regions Region -- appears in world volume + Root logical volume(s) : Ecal + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : PbWO4 Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -225,6 +274,8 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics Initial seed (index) = 0 Current couple of seeds = 9876, 54321 ---------------------------------------- + +----> Histogram Tree is opened in stand2.hbook Start Run processing. ---> Begin of Event: 0 @@ -279,26 +330,132 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 500 - User=174.45s Real=178.54s Sys=2.45s + User=250.92s Real=255.48s Sys=2.42s + LATERAL PROFILE CUMULATIVE LATERAL PROFILE - SUMMARY - energy deposit : 94.49 % E0 +- 1.13 % E0 - charged traklen: 479.54 radl +- 5.90 radl - neutral traklen: 4433.60 radl +- 124.70 radl + bin Mean rms bin Mean rms + + 0.00-> 0.50 radl: 0.19% 0.10% 0-> 0.50 radl: 0.19% 0.10% + 0.50-> 1.00 radl: 0.47% 0.29% 0-> 1.00 radl: 0.66% 0.35% + 1.00-> 1.50 radl: 0.96% 0.55% 0-> 1.50 radl: 1.62% 0.83% + 1.50-> 2.00 radl: 1.63% 0.85% 0-> 2.00 radl: 3.24% 1.58% + 2.00-> 2.50 radl: 2.44% 1.16% 0-> 2.50 radl: 5.69% 2.59% + 2.50-> 3.00 radl: 3.26% 1.40% 0-> 3.00 radl: 8.95% 3.81% + 3.00-> 3.50 radl: 4.04% 1.55% 0-> 3.50 radl: 12.99% 5.12% + 3.50-> 4.00 radl: 4.73% 1.61% 0-> 4.00 radl: 17.71% 6.43% + 4.00-> 4.50 radl: 5.18% 1.61% 0-> 4.50 radl: 22.90% 7.64% + 4.50-> 5.00 radl: 5.50% 1.61% 0-> 5.00 radl: 28.40% 8.77% + 5.00-> 5.50 radl: 5.63% 1.51% 0-> 5.50 radl: 34.03% 9.71% + 5.50-> 6.00 radl: 5.55% 1.43% 0-> 6.00 radl: 39.58% 10.45% + 6.00-> 6.50 radl: 5.42% 1.35% 0-> 6.50 radl: 45.00% 10.97% + 6.50-> 7.00 radl: 5.20% 1.19% 0-> 7.00 radl: 50.21% 11.26% + 7.00-> 7.50 radl: 4.88% 1.13% 0-> 7.50 radl: 55.08% 11.36% + 7.50-> 8.00 radl: 4.57% 1.13% 0-> 8.00 radl: 59.65% 11.26% + 8.00-> 8.50 radl: 4.20% 1.04% 0-> 8.50 radl: 63.86% 11.02% + 8.50-> 9.00 radl: 3.84% 1.01% 0-> 9.00 radl: 67.70% 10.64% + 9.00-> 9.50 radl: 3.42% 1.00% 0-> 9.50 radl: 71.12% 10.13% + 9.50->10.00 radl: 3.09% 1.01% 0->10.00 radl: 74.21% 9.54% + 10.00->10.50 radl: 2.80% 1.00% 0->10.50 radl: 77.01% 8.90% + 10.50->11.00 radl: 2.50% 0.98% 0->11.00 radl: 79.51% 8.22% + 11.00->11.50 radl: 2.20% 0.97% 0->11.50 radl: 81.71% 7.54% + 11.50->12.00 radl: 1.96% 0.89% 0->12.00 radl: 83.66% 6.88% + 12.00->12.50 radl: 1.71% 0.87% 0->12.50 radl: 85.38% 6.23% + 12.50->13.00 radl: 1.48% 0.83% 0->13.00 radl: 86.86% 5.58% + 13.00->13.50 radl: 1.25% 0.78% 0->13.50 radl: 88.11% 4.97% + 13.50->14.00 radl: 1.10% 0.71% 0->14.00 radl: 89.21% 4.39% + 14.00->14.50 radl: 0.92% 0.63% 0->14.50 radl: 90.14% 3.88% + 14.50->15.00 radl: 0.78% 0.57% 0->15.00 radl: 90.92% 3.44% + 15.00->15.50 radl: 0.69% 0.50% 0->15.50 radl: 91.61% 3.05% + 15.50->16.00 radl: 0.60% 0.44% 0->16.00 radl: 92.21% 2.70% + 16.00->16.50 radl: 0.51% 0.41% 0->16.50 radl: 92.72% 2.39% + 16.50->17.00 radl: 0.43% 0.38% 0->17.00 radl: 93.15% 2.10% + 17.00->17.50 radl: 0.36% 0.33% 0->17.50 radl: 93.52% 1.85% + 17.50->18.00 radl: 0.31% 0.27% 0->18.00 radl: 93.83% 1.67% + 18.00->18.50 radl: 0.26% 0.26% 0->18.50 radl: 94.09% 1.49% + 18.50->19.00 radl: 0.23% 0.23% 0->19.00 radl: 94.31% 1.34% + 19.00->19.50 radl: 0.18% 0.20% 0->19.50 radl: 94.49% 1.22% + 19.50->20.00 radl: 0.15% 0.17% 0->20.00 radl: 94.64% 1.12% + + + + RADIAL PROFILE CUMULATIVE RADIAL PROFILE + + bin Mean rms bin Mean rms + + 0.00-> 0.10 radl: 15.16% 1.60% 0-> 0.10 radl: 15.16% 1.60% + 0.10-> 0.20 radl: 12.53% 1.13% 0-> 0.20 radl: 27.70% 2.20% + 0.20-> 0.30 radl: 9.89% 0.86% 0-> 0.30 radl: 37.58% 2.45% + 0.30-> 0.40 radl: 7.86% 0.77% 0-> 0.40 radl: 45.44% 2.59% + 0.40-> 0.50 radl: 6.31% 0.69% 0-> 0.50 radl: 51.75% 2.60% + 0.50-> 0.60 radl: 5.14% 0.62% 0-> 0.60 radl: 56.89% 2.52% + 0.60-> 0.70 radl: 4.17% 0.55% 0-> 0.70 radl: 61.06% 2.43% + 0.70-> 0.80 radl: 3.49% 0.48% 0-> 0.80 radl: 64.55% 2.33% + 0.80-> 0.90 radl: 2.92% 0.43% 0-> 0.90 radl: 67.47% 2.26% + 0.90-> 1.00 radl: 2.51% 0.39% 0-> 1.00 radl: 69.97% 2.17% + 1.00-> 1.10 radl: 2.15% 0.37% 0-> 1.10 radl: 72.12% 2.08% + 1.10-> 1.20 radl: 1.90% 0.34% 0-> 1.20 radl: 74.02% 2.00% + 1.20-> 1.30 radl: 1.67% 0.33% 0-> 1.30 radl: 75.69% 1.91% + 1.30-> 1.40 radl: 1.50% 0.29% 0-> 1.40 radl: 77.19% 1.85% + 1.40-> 1.50 radl: 1.36% 0.28% 0-> 1.50 radl: 78.54% 1.79% + 1.50-> 1.60 radl: 1.21% 0.25% 0-> 1.60 radl: 79.76% 1.75% + 1.60-> 1.70 radl: 1.09% 0.24% 0-> 1.70 radl: 80.85% 1.70% + 1.70-> 1.80 radl: 1.01% 0.23% 0-> 1.80 radl: 81.86% 1.67% + 1.80-> 1.90 radl: 0.93% 0.23% 0-> 1.90 radl: 82.79% 1.61% + 1.90-> 2.00 radl: 0.86% 0.20% 0-> 2.00 radl: 83.65% 1.57% + 2.00-> 2.10 radl: 0.79% 0.20% 0-> 2.10 radl: 84.44% 1.53% + 2.10-> 2.20 radl: 0.75% 0.19% 0-> 2.20 radl: 85.19% 1.48% + 2.20-> 2.30 radl: 0.70% 0.19% 0-> 2.30 radl: 85.89% 1.44% + 2.30-> 2.40 radl: 0.64% 0.18% 0-> 2.40 radl: 86.53% 1.42% + 2.40-> 2.50 radl: 0.60% 0.16% 0-> 2.50 radl: 87.13% 1.39% + 2.50-> 2.60 radl: 0.56% 0.15% 0-> 2.60 radl: 87.70% 1.38% + 2.60-> 2.70 radl: 0.52% 0.15% 0-> 2.70 radl: 88.22% 1.36% + 2.70-> 2.80 radl: 0.49% 0.15% 0-> 2.80 radl: 88.71% 1.34% + 2.80-> 2.90 radl: 0.48% 0.15% 0-> 2.90 radl: 89.19% 1.30% + 2.90-> 3.00 radl: 0.44% 0.15% 0-> 3.00 radl: 89.63% 1.27% + 3.00-> 3.10 radl: 0.42% 0.13% 0-> 3.10 radl: 90.05% 1.25% + 3.10-> 3.20 radl: 0.38% 0.13% 0-> 3.20 radl: 90.43% 1.23% + 3.20-> 3.30 radl: 0.36% 0.12% 0-> 3.30 radl: 90.79% 1.21% + 3.30-> 3.40 radl: 0.34% 0.11% 0-> 3.40 radl: 91.13% 1.19% + 3.40-> 3.50 radl: 0.32% 0.11% 0-> 3.50 radl: 91.44% 1.18% + 3.50-> 3.60 radl: 0.30% 0.11% 0-> 3.60 radl: 91.74% 1.18% + 3.60-> 3.70 radl: 0.28% 0.11% 0-> 3.70 radl: 92.03% 1.17% + 3.70-> 3.80 radl: 0.27% 0.10% 0-> 3.80 radl: 92.30% 1.16% + 3.80-> 3.90 radl: 0.26% 0.10% 0-> 3.90 radl: 92.56% 1.16% + 3.90-> 4.00 radl: 0.25% 0.10% 0-> 4.00 radl: 92.81% 1.16% + 4.00-> 4.10 radl: 0.23% 0.09% 0-> 4.10 radl: 93.04% 1.15% + 4.10-> 4.20 radl: 0.22% 0.09% 0-> 4.20 radl: 93.26% 1.15% + 4.20-> 4.30 radl: 0.21% 0.09% 0-> 4.30 radl: 93.47% 1.14% + 4.30-> 4.40 radl: 0.20% 0.08% 0-> 4.40 radl: 93.67% 1.13% + 4.40-> 4.50 radl: 0.19% 0.08% 0-> 4.50 radl: 93.86% 1.14% + 4.50-> 4.60 radl: 0.18% 0.08% 0-> 4.60 radl: 94.04% 1.14% + 4.60-> 4.70 radl: 0.17% 0.07% 0-> 4.70 radl: 94.20% 1.13% + 4.70-> 4.80 radl: 0.16% 0.07% 0-> 4.80 radl: 94.36% 1.12% + 4.80-> 4.90 radl: 0.15% 0.08% 0-> 4.90 radl: 94.51% 1.12% + 4.90-> 5.00 radl: 0.13% 0.07% 0-> 5.00 radl: 94.64% 1.12% + + SUMMARY + + energy deposit : 94.64 % E0 +- 1.12 % E0 + charged traklen: 483.11 radl +- 5.86 radl + neutral traklen: 4441.47 radl +- 129.52 radl + + 90.00 % confinement: radius = 3.09 radl (2.76 cm ) + +----> Histogram Tree is saved in stand2.hbook --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 15799247, 1881628378 + Current couple of seeds = 325646285, 1624745186 ---------------------------------------- -Graphics systems deleted. -Visualization Manager deleting... UserDetectorConstruction deleted. UserPhysicsList deleted. UserRunAction deleted. UserPrimaryGenerator deleted. G4 kernel has come to Quit state. EventManager deleted. +Default detector region deleted. UImanager deleted. +Units table cleared. StateManager deleted. RunManagerKernel is deleted. RunManager is deleting. diff --git a/examples/extended/electromagnetic/TestEm2/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm2/src/DetectorConstruction.cc index 3872362711..f64f9c39a1 100644 --- a/examples/extended/electromagnetic/TestEm2/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: DetectorConstruction.cc,v 1.12 2006/10/20 16:03:40 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/DetectorMessenger.cc index cad5c5b8f6..145288f9c2 100644 --- a/examples/extended/electromagnetic/TestEm2/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.8 2006/06/29 16:50:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/EmAcceptance.cc b/examples/extended/electromagnetic/TestEm2/src/EmAcceptance.cc index 403ca64de2..0763d427db 100644 --- a/examples/extended/electromagnetic/TestEm2/src/EmAcceptance.cc +++ b/examples/extended/electromagnetic/TestEm2/src/EmAcceptance.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EmAcceptance.cc,v 1.5 2006/06/29 16:50:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/EventAction.cc b/examples/extended/electromagnetic/TestEm2/src/EventAction.cc index 1402762e2d..3db12c6b86 100644 --- a/examples/extended/electromagnetic/TestEm2/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.3 2006/06/29 16:50:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/EventActionMessenger.cc index 00c3358be8..8f23716301 100644 --- a/examples/extended/electromagnetic/TestEm2/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/EventActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: EventActionMessenger.cc,v 1.3 2006/06/29 16:50:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm2/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm2/src/PhysListEmLivermore.cc index 1ce80d9368..75679ec85e 100644 --- a/examples/extended/electromagnetic/TestEm2/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm2/src/PhysListEmLivermore.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.cc,v 1.3 2007/01/08 16:32:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm2/src/PhysListEmPenelope.cc index a2da772c87..bee1fee7f3 100644 --- a/examples/extended/electromagnetic/TestEm2/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm2/src/PhysListEmPenelope.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.cc,v 1.2 2006/06/29 16:50:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm2/src/PhysListEmStandard.cc index cd432bacd5..778da13d31 100644 --- a/examples/extended/electromagnetic/TestEm2/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm2/src/PhysListEmStandard.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.cc,v 1.5 2006/06/29 16:50:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm2/src/PhysicsList.cc index 1317728cda..64b7d6e697 100644 --- a/examples/extended/electromagnetic/TestEm2/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm2/src/PhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.cc,v 1.12 2006/10/20 16:03:41 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/PhysicsListMessenger.cc index 8698433ff2..2483d85362 100644 --- a/examples/extended/electromagnetic/TestEm2/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.5 2006/06/29 16:50:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm2/src/PrimaryGeneratorAction.cc index 48b60687f6..a05785cf9e 100644 --- a/examples/extended/electromagnetic/TestEm2/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.6 2006/06/29 16:50:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/RunAction.cc b/examples/extended/electromagnetic/TestEm2/src/RunAction.cc index d5a6869d07..21eaf8fb0e 100644 --- a/examples/extended/electromagnetic/TestEm2/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.21 2006/06/29 16:50:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/RunActionMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/RunActionMessenger.cc index c7753db89b..e3c21bf7d6 100644 --- a/examples/extended/electromagnetic/TestEm2/src/RunActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/RunActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunActionMessenger.cc,v 1.4 2006/06/29 16:50:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/StepMax.cc b/examples/extended/electromagnetic/TestEm2/src/StepMax.cc index 84270dbeec..c951db5134 100644 --- a/examples/extended/electromagnetic/TestEm2/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm2/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.2 2006/06/29 16:50:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm2/src/StepMaxMessenger.cc index a7c6256fc4..a22168c38d 100644 --- a/examples/extended/electromagnetic/TestEm2/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm2/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.2 2006/06/29 16:50:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm2/src/SteppingAction.cc index 95796578b0..c1c20df2f0 100644 --- a/examples/extended/electromagnetic/TestEm2/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.6 2006/06/29 16:50:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm2/src/SteppingVerbose.cc index a950f5653b..768e54d68a 100644 --- a/examples/extended/electromagnetic/TestEm2/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm2/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.3 2006/06/29 16:50:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm2/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm2/src/TrackingAction.cc index 89f89d211f..7e49d5446f 100644 --- a/examples/extended/electromagnetic/TestEm2/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm2/src/TrackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.cc,v 1.3 2006/06/29 16:51:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/History b/examples/extended/electromagnetic/TestEm3/History index 9d0f13d37e..a2dfacc6a2 100644 --- a/examples/extended/electromagnetic/TestEm3/History +++ b/examples/extended/electromagnetic/TestEm3/History @@ -1,4 +1,4 @@ -$Id: History,v 1.102 2007/04/25 10:07:27 vnivanch Exp $ +$Id: History,v 1.104 2007/05/18 19:00:43 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,12 @@ track of all tags. * Reverse chronological order (last date on top), please * --------------------------------------------------------- +18-05-07 V.Ivant (testem3-V08-03-01) +- update macro files + +16-05-07 V.Ivant (testem3-V08-03-00) +- use renamed EM builders + 25-04-07 V.Ivant (testem3-V08-02-04) - fix compilation problem at SUN diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.cc b/examples/extended/electromagnetic/TestEm3/TestEm3.cc index d4413ca239..a6bdbdccf0 100644 --- a/examples/extended/electromagnetic/TestEm3/TestEm3.cc +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TestEm3.cc,v 1.22 2007/04/06 17:41:54 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/TestEm3.out b/examples/extended/electromagnetic/TestEm3/TestEm3.out index fa1e5409fa..3f97c34f23 100644 --- a/examples/extended/electromagnetic/TestEm3/TestEm3.out +++ b/examples/extended/electromagnetic/TestEm3/TestEm3.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -80,7 +80,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 1 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -93,7 +93,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -106,7 +106,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -115,7 +115,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 1 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -127,14 +127,14 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 @@ -150,7 +150,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 1 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -197,7 +197,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 1 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -208,6 +208,8 @@ hIoni: tables are built for pi- Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 Region -- appears in world volume + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic Lead liquidArgon Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -240,18 +242,18 @@ Start closing geometry. G4GeometryManager::ReportVoxelStats -- Voxel Statistics Total memory consumed for geometry optimisation: 1 kByte - Total CPU time elapsed for geometry optimisation: 0.01 seconds + Total CPU time elapsed for geometry optimisation: 0 seconds Voxelisation: top CPU users: Percent Total CPU System CPU Memory Volume ------- ---------- ---------- -------- ---------- - 100.00 0.01 0.00 2k Calorimeter + 0.00 0.00 0.00 2k Calorimeter 0.00 0.00 0.00 0k Layer Voxelisation: top memory users: Percent Memory Heads Nodes Pointers Total CPU Volume ------- -------- ------ ------ -------- ---------- ---------- - 91.70 1k 1 50 50 0.01 Calorimeter + 91.70 1k 1 50 50 0.00 Calorimeter 8.30 0k 1 3 4 0.00 Layer ### Run 0 start. @@ -267,28 +269,28 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=199.23s Real=228.98s Sys=28.48s + User=185.5s Real=186.77s Sys=0.04s ------------------------------------------------------------ material Total Edep sqrt(E0(GeV))*rmsE/Emean total tracklen - Lead: 783.24 MeV +- 15.76 MeV 2.013 +- 0.2013 % 53.9 cm +- 1.2 cm - liquidArgon: 204.82 MeV +- 14.94 MeV 7.296 +- 0.7296 % 1.01 m +- 7.72 cm + Lead: 781.05 MeV +- 17.85 MeV 2.285 +- 0.2285 % 53.7 cm +- 1.33 cm + liquidArgon: 207.34 MeV +- 15.88 MeV 7.657 +- 0.7657 % 1.02 m +- 8.16 cm ------------------------------------------------------------ Energy deposition from Energy flow balance : material Total Edep - Lead: 783.237 MeV -liquidArgon: 204.824 MeV + Lead: 781.048 MeV +liquidArgon: 207.339 MeV ------------------------------------------------------------ --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 536502410, 2064128558 + Current couple of seeds = 596130632, 1069559193 ---------------------------------------- UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/electromagnetic/TestEm3/atlashec.mac b/examples/extended/electromagnetic/TestEm3/atlashec.mac index 59a884f86d..0cdd804d61 100644 --- a/examples/extended/electromagnetic/TestEm3/atlashec.mac +++ b/examples/extended/electromagnetic/TestEm3/atlashec.mac @@ -1,4 +1,4 @@ -# $Id: atlashec.mac,v 1.6 2006/10/31 12:53:48 maire Exp $ +# $Id: atlashec.mac,v 1.7 2007/05/18 19:00:43 vnivanch Exp $ # # Macro file for "TestEm3.cc" # @@ -13,7 +13,7 @@ /testem/det/setAbsor 2 Copper 2.5 cm /testem/det/setSizeYZ 17 cm # -/testem/phys/addPhysics standard +/testem/phys/addPhysics emstandard /testem/phys/setCuts 0.7 mm # /run/initialize diff --git a/examples/extended/electromagnetic/TestEm3/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm3/include/DetectorConstruction.hh index 540a689e30..9a918b6357 100644 --- a/examples/extended/electromagnetic/TestEm3/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.13 2006/06/29 16:51:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/DetectorMessenger.hh index 723aa0c6a2..f53546f40f 100644 --- a/examples/extended/electromagnetic/TestEm3/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.8 2006/06/29 16:51:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/EmAcceptance.hh b/examples/extended/electromagnetic/TestEm3/include/EmAcceptance.hh index 1e619e7e5b..f87db3abfb 100644 --- a/examples/extended/electromagnetic/TestEm3/include/EmAcceptance.hh +++ b/examples/extended/electromagnetic/TestEm3/include/EmAcceptance.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EmAcceptance.hh,v 1.4 2006/06/29 16:51:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/EventAction.hh b/examples/extended/electromagnetic/TestEm3/include/EventAction.hh index 6653de0284..7d77be5542 100644 --- a/examples/extended/electromagnetic/TestEm3/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.10 2006/06/29 16:51:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/EventActionMessenger.hh index dd29a7b693..88959c3905 100644 --- a/examples/extended/electromagnetic/TestEm3/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.3 2006/06/29 16:51:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm3/include/HistoManager.hh index fae1970fc9..78080fd432 100644 --- a/examples/extended/electromagnetic/TestEm3/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm3/include/HistoManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.hh,v 1.7 2006/06/29 16:51:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/HistoMessenger.hh index dea9c2e01d..c91b2b9e08 100644 --- a/examples/extended/electromagnetic/TestEm3/include/HistoMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/HistoMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.hh,v 1.4 2006/06/29 16:51:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm3/include/PhysListEmLivermore.hh index 695aa06597..2e9b454616 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PhysListEmLivermore.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.hh,v 1.2 2006/06/29 16:51:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm3/include/PhysListEmPenelope.hh index dbd65b44ab..f3f970ee86 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PhysListEmPenelope.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.hh,v 1.2 2006/06/29 16:51:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandard.hh index 840ac979fe..cde4de660b 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PhysListEmStandard.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandard.hh,v 1.4 2006/06/29 16:51:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm3/include/PhysicsList.hh index dc14a4cdb3..54a4c5a99f 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.hh,v 1.6 2006/06/29 16:51:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/PhysicsListMessenger.hh index 94b10f7c17..768379bd4d 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.3 2006/06/29 16:52:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorAction.hh index f408c43887..385074a662 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.4 2006/06/29 16:52:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorMessenger.hh index b020c31c8c..bf90e68497 100644 --- a/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/PrimaryGeneratorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.hh,v 1.3 2006/06/29 16:52:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/RunAction.hh b/examples/extended/electromagnetic/TestEm3/include/RunAction.hh index 283e99a22e..0accd506af 100644 --- a/examples/extended/electromagnetic/TestEm3/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.18 2007/04/22 16:25:21 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/RunActionMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/RunActionMessenger.hh index 195ad9cc7c..6be8ec4358 100644 --- a/examples/extended/electromagnetic/TestEm3/include/RunActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/RunActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunActionMessenger.hh,v 1.10 2007/04/22 16:25:21 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/StepMax.hh b/examples/extended/electromagnetic/TestEm3/include/StepMax.hh index be1b642280..8d4a34d7ab 100644 --- a/examples/extended/electromagnetic/TestEm3/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm3/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.7 2006/06/29 16:52:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm3/include/StepMaxMessenger.hh index d804f325e8..45bc86b7e4 100644 --- a/examples/extended/electromagnetic/TestEm3/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm3/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.2 2006/06/29 16:52:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm3/include/SteppingAction.hh index 74df6bb5e3..6e520507f6 100644 --- a/examples/extended/electromagnetic/TestEm3/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.8 2006/06/29 16:52:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm3/include/SteppingVerbose.hh index 8cb19312fc..b8e5eb4f40 100644 --- a/examples/extended/electromagnetic/TestEm3/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm3/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.5 2006/06/29 16:52:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm3/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm3/include/TrackingAction.hh index a6df274939..34c966786d 100644 --- a/examples/extended/electromagnetic/TestEm3/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm3/include/TrackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.hh,v 1.2 2006/06/29 16:52:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/lhcb.mac b/examples/extended/electromagnetic/TestEm3/lhcb.mac index 4d32e06fb7..4409388e0d 100644 --- a/examples/extended/electromagnetic/TestEm3/lhcb.mac +++ b/examples/extended/electromagnetic/TestEm3/lhcb.mac @@ -1,4 +1,4 @@ -# $Id: lhcb.mac,v 1.2 2006/10/31 12:53:48 maire Exp $ +# $Id: lhcb.mac,v 1.3 2007/05/18 19:00:44 vnivanch Exp $ # # Macro file for "TestEm3.cc" # @@ -13,7 +13,7 @@ /testem/det/setAbsor 2 Scintillator 4 mm /testem/det/setSizeYZ 20 cm # -/testem/phys/addPhysics standard +/testem/phys/addPhysics emstandard # /gun/particle e- /gun/energy 10 GeV diff --git a/examples/extended/electromagnetic/TestEm3/retrieveTables.mac b/examples/extended/electromagnetic/TestEm3/retrieveTables.mac index 45c6fcab58..21d5f24721 100644 --- a/examples/extended/electromagnetic/TestEm3/retrieveTables.mac +++ b/examples/extended/electromagnetic/TestEm3/retrieveTables.mac @@ -1,4 +1,4 @@ -# $Id: retrieveTables.mac,v 1.3 2007/03/15 18:56:33 vnivanch Exp $ +# $Id: retrieveTables.mac,v 1.4 2007/05/18 19:00:44 vnivanch Exp $ # # Macro file for "exampleN03.cc" # @@ -9,8 +9,7 @@ # # select EM PhysicsList # -#/testem/phys/addPhysics model -/testem/phys/addPhysics standard +/testem/phys/addPhysics emstandard # /run/particle/retrievePhysicsTable physdata /run/initialize diff --git a/examples/extended/electromagnetic/TestEm3/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm3/src/DetectorConstruction.cc index e4016b146a..f3aef1e752 100644 --- a/examples/extended/electromagnetic/TestEm3/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.20 2007/03/19 20:10:38 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/DetectorMessenger.cc index 0ca9691346..56a31366ef 100644 --- a/examples/extended/electromagnetic/TestEm3/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.11 2006/06/29 16:52:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/EmAcceptance.cc b/examples/extended/electromagnetic/TestEm3/src/EmAcceptance.cc index f2cf2bdbff..7f9ea95034 100644 --- a/examples/extended/electromagnetic/TestEm3/src/EmAcceptance.cc +++ b/examples/extended/electromagnetic/TestEm3/src/EmAcceptance.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EmAcceptance.cc,v 1.6 2006/06/29 16:52:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/EventAction.cc b/examples/extended/electromagnetic/TestEm3/src/EventAction.cc index 4a89a5045e..021e5dffdd 100644 --- a/examples/extended/electromagnetic/TestEm3/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.15 2007/04/22 16:25:21 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/EventActionMessenger.cc index f4ba766f18..01be9249ac 100644 --- a/examples/extended/electromagnetic/TestEm3/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.4 2006/06/29 16:52:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm3/src/HistoManager.cc index 4086ea8f03..981d308365 100644 --- a/examples/extended/electromagnetic/TestEm3/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm3/src/HistoManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.cc,v 1.13 2006/06/29 16:52:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/HistoMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/HistoMessenger.cc index 38300ad763..8a5d02a576 100644 --- a/examples/extended/electromagnetic/TestEm3/src/HistoMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/HistoMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.cc,v 1.8 2006/06/29 16:52:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm3/src/PhysListEmLivermore.cc index c5b9767e83..7a6364b358 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PhysListEmLivermore.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.cc,v 1.2 2006/06/29 16:52:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm3/src/PhysListEmPenelope.cc index 66ce009b76..e4f8811c5c 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PhysListEmPenelope.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.cc,v 1.2 2006/06/29 16:52:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm3/src/PhysListEmStandard.cc index 504e3a71fb..dc37568ce3 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PhysListEmStandard.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandard.cc,v 1.13 2007/04/24 13:05:14 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm3/src/PhysicsList.cc index 5b35ead26d..bbf90899cf 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.18 2007/04/06 17:41:54 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: PhysicsList.cc,v 1.19 2007/05/16 11:57:48 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -37,8 +37,8 @@ #include "PhysListEmPenelope.hh" #include "G4EmStandardPhysics.hh" -#include "G4EmStandardPhysics71.hh" -#include "G4EmStandardPhysics72.hh" +#include "G4EmStandardPhysics_option1.hh" +#include "G4EmStandardPhysics_option2.hh" #include "G4LossTableManager.hh" #include "G4UnitsTable.hh" @@ -218,23 +218,23 @@ void PhysicsList::AddPhysicsList(const G4String& name) delete emPhysicsList; emPhysicsList = new PhysListEmStandard(name); - } else if (name == "G4standard") { + } else if (name == "emstandard") { emName = name; delete emPhysicsList; - emPhysicsList = new G4EmStandardPhysics(name); + emPhysicsList = new G4EmStandardPhysics(); - } else if (name == "G4standard_fast") { + } else if (name == "emstandard_opt1") { emName = name; delete emPhysicsList; - emPhysicsList = new G4EmStandardPhysics71(name); + emPhysicsList = new G4EmStandardPhysics_option1(); - } else if (name == "G4standard_exp") { + } else if (name == "emstandard_opt2") { emName = name; delete emPhysicsList; - emPhysicsList = new G4EmStandardPhysics72(name); + emPhysicsList = new G4EmStandardPhysics_option2(); } else if (name == "livermore") { diff --git a/examples/extended/electromagnetic/TestEm3/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/PhysicsListMessenger.cc index 0568fcf10c..a374c94701 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.3 2006/06/29 16:52:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorAction.cc index 9a06b93935..36768effa3 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.7 2006/06/29 16:53:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorMessenger.cc index 4651d2678d..fa38eff31d 100644 --- a/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/PrimaryGeneratorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.cc,v 1.3 2006/06/29 16:53:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/RunAction.cc b/examples/extended/electromagnetic/TestEm3/src/RunAction.cc index ed13710342..7a31a012b5 100644 --- a/examples/extended/electromagnetic/TestEm3/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.34 2007/04/24 13:05:14 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/RunActionMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/RunActionMessenger.cc index 719659f068..9ae6715215 100644 --- a/examples/extended/electromagnetic/TestEm3/src/RunActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/RunActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunActionMessenger.cc,v 1.13 2007/04/25 10:07:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/StepMax.cc b/examples/extended/electromagnetic/TestEm3/src/StepMax.cc index 5241a0a999..29ee923bb6 100644 --- a/examples/extended/electromagnetic/TestEm3/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm3/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.4 2006/06/29 16:53:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm3/src/StepMaxMessenger.cc index 9c9da796ee..01fe0ba45e 100644 --- a/examples/extended/electromagnetic/TestEm3/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm3/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.3 2006/06/29 16:53:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm3/src/SteppingAction.cc index 32b14f2340..d94d734d99 100644 --- a/examples/extended/electromagnetic/TestEm3/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.25 2006/06/29 16:53:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm3/src/SteppingVerbose.cc index 10073544d1..5215f3828f 100644 --- a/examples/extended/electromagnetic/TestEm3/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm3/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.4 2006/06/29 16:53:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm3/src/TrackingAction.cc index 00282e8082..7a5997ef97 100644 --- a/examples/extended/electromagnetic/TestEm3/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm3/src/TrackingAction.cc @@ -25,7 +25,7 @@ // // // $Id: TrackingAction.cc,v 1.2 2006/06/29 16:53:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm3/storeTables.mac b/examples/extended/electromagnetic/TestEm3/storeTables.mac index af1dfd5832..aafec6d4ce 100644 --- a/examples/extended/electromagnetic/TestEm3/storeTables.mac +++ b/examples/extended/electromagnetic/TestEm3/storeTables.mac @@ -1,4 +1,4 @@ -# $Id: storeTables.mac,v 1.7 2007/04/22 16:25:20 vnivanch Exp $ +# $Id: storeTables.mac,v 1.8 2007/05/18 19:00:44 vnivanch Exp $ # # Macro file for "testEm3.cc" # @@ -7,7 +7,7 @@ # /control/verbose 2 # -/testem/phys/addPhysics standard +/testem/phys/addPhysics emstandard # /run/initialize /run/beamOn 3 diff --git a/examples/extended/electromagnetic/TestEm4/History b/examples/extended/electromagnetic/TestEm4/History index 8289e18796..963ed1a363 100644 --- a/examples/extended/electromagnetic/TestEm4/History +++ b/examples/extended/electromagnetic/TestEm4/History @@ -1,4 +1,4 @@ -$Id: History,v 1.42 2006/10/20 16:38:15 maire Exp $ +$Id: History,v 1.43 2007/06/22 09:55:22 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,9 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +22-06-07 mma (testem4-V08-03-00) +- cosmetic in TestEm4.cc + 20-10-06 mma (testem4-V08-01-00) - GNUmakefile : LOADLIBS diff --git a/examples/extended/electromagnetic/TestEm4/TestEm4.cc b/examples/extended/electromagnetic/TestEm4/TestEm4.cc index f51312d3bf..aebc1d1541 100644 --- a/examples/extended/electromagnetic/TestEm4/TestEm4.cc +++ b/examples/extended/electromagnetic/TestEm4/TestEm4.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: TestEm4.cc,v 1.11 2006/06/29 16:53:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: TestEm4.cc,v 1.12 2007/06/22 09:55:22 maire Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... @@ -36,10 +36,6 @@ #include "G4UItcsh.hh" #include "Randomize.hh" -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif - #include "DetectorConstruction.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" @@ -48,6 +44,10 @@ #include "SteppingAction.hh" #include "SteppingVerbose.hh" +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... int main(int argc,char** argv) { @@ -64,12 +64,6 @@ int main(int argc,char** argv) { // set mandatory initialization classes runManager->SetUserInitialization(new DetectorConstruction); runManager->SetUserInitialization(new PhysicsList); - -#ifdef G4VIS_USE - // visualization manager - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); -#endif // set user action classes runManager->SetUserAction(new PrimaryGeneratorAction); @@ -85,8 +79,20 @@ int main(int argc,char** argv) { // get the pointer to the User Interface manager G4UImanager* UI = G4UImanager::GetUIpointer(); - if (argc==1) // Define UI terminal for interactive mode + if (argc!=1) // batch mode { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UI->ApplyCommand(command+fileName); + } + + else // define visualization and UI terminal for interactive mode + { +#ifdef G4VIS_USE + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + G4UIsession * session = 0; #ifdef G4UI_USE_TCSH session = new G4UIterminal(new G4UItcsh); @@ -96,18 +102,14 @@ int main(int argc,char** argv) { UI->ApplyCommand("/control/execute vis.mac"); session->SessionStart(); delete session; - } - else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + +#ifdef G4VIS_USE + delete visManager; +#endif } // job termination -#ifdef G4VIS_USE - delete visManager; -#endif + // delete runManager; return 0; diff --git a/examples/extended/electromagnetic/TestEm4/TestEm4.out b/examples/extended/electromagnetic/TestEm4/TestEm4.out index 3d05c90da9..ac7badd715 100644 --- a/examples/extended/electromagnetic/TestEm4/TestEm4.out +++ b/examples/extended/electromagnetic/TestEm4/TestEm4.out @@ -1,42 +1,11 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -Visualization Manager instantiating... -Visualization Manager initialising... -Registering graphics systems... - -You have successfully registered the following graphics systems. -Current available graphics systems are: - ASCIITree (ATree) - DAWNFILE (DAWNFILE) - GAGTree (GAGTree) - G4HepRep (HepRepXML) - G4HepRepFile (HepRepFile) - RayTracer (RayTracer) - VRML1FILE (VRML1FILE) - VRML2FILE (VRML2FILE) - -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 - Material: FluorCarbonate density: 1.610 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 22.435 cm ---> Element: Carbon (C) Z = 6.0 N = 12.0 A = 12.01 g/mole ElmMassFraction: 38.74 % ElmAbundance 50.00 % ---> Element: Fluorine (N) Z = 9.0 N = 19.0 A = 18.99 g/mole ElmMassFraction: 61.26 % ElmAbundance 50.00 % @@ -61,7 +30,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -74,7 +43,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -87,13 +56,15 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ Lambda tables from 100 eV to 100 TeV in 120 bins. Region -- appears in world volume + Root logical volume(s) : C6F6 + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : FluorCarbonate Production cuts : gamma 1 mm e- 1 mm e+ 1 mm @@ -143,14 +114,12 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100000 - User=86.8s Real=957.43s Sys=107.53s + User=87.33s Real=1748.56s Sys=179.54s --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1348457342, 1679395324 + Current couple of seeds = 1117451041, 1056599626 ---------------------------------------- -Graphics systems deleted. -Visualization Manager deleting... UserDetectorConstruction deleted. UserPhysicsList deleted. UserRunAction deleted. diff --git a/examples/extended/electromagnetic/TestEm4/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm4/include/DetectorConstruction.hh index 0e08cdfb3b..30523e5e67 100644 --- a/examples/extended/electromagnetic/TestEm4/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: DetectorConstruction.hh,v 1.3 2006/06/29 16:53:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm4/include/EventAction.hh b/examples/extended/electromagnetic/TestEm4/include/EventAction.hh index a6d03c5296..e207bcc44b 100644 --- a/examples/extended/electromagnetic/TestEm4/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: EventAction.hh,v 1.2 2006/06/29 16:53:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm4/include/EventActionMessenger.hh index 5e8b0df03f..cd01f50840 100644 --- a/examples/extended/electromagnetic/TestEm4/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm4/include/EventActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: EventActionMessenger.hh,v 1.3 2006/06/29 16:53:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm4/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm4/include/PhysicsList.hh index e9179e8549..d97be87b6d 100644 --- a/examples/extended/electromagnetic/TestEm4/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm4/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.2 2006/06/29 16:53:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm4/include/PrimaryGeneratorAction.hh index f87bafc3cd..e8d9aceecc 100644 --- a/examples/extended/electromagnetic/TestEm4/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: PrimaryGeneratorAction.hh,v 1.2 2006/06/29 16:53:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/RunAction.hh b/examples/extended/electromagnetic/TestEm4/include/RunAction.hh index 7bf3552b40..f132d9ab20 100644 --- a/examples/extended/electromagnetic/TestEm4/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.7 2006/06/29 16:53:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm4/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm4/include/SteppingAction.hh index b06d8d3c85..1604c383ce 100644 --- a/examples/extended/electromagnetic/TestEm4/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm4/include/SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: SteppingAction.hh,v 1.2 2006/06/29 16:53:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm4/include/SteppingVerbose.hh index aa4e60693c..8e7f5ae301 100644 --- a/examples/extended/electromagnetic/TestEm4/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm4/include/SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: SteppingVerbose.hh,v 1.2 2006/06/29 16:53:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm4/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm4/src/DetectorConstruction.cc index bd7bf0b647..4b8d4175b5 100644 --- a/examples/extended/electromagnetic/TestEm4/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: DetectorConstruction.cc,v 1.3 2006/06/29 16:53:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm4/src/EventAction.cc b/examples/extended/electromagnetic/TestEm4/src/EventAction.cc index 37e42a9eb6..ac8242286a 100644 --- a/examples/extended/electromagnetic/TestEm4/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.7 2006/06/29 16:53:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm4/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm4/src/EventActionMessenger.cc index ffbbb71ee6..6485eb8423 100644 --- a/examples/extended/electromagnetic/TestEm4/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm4/src/EventActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: EventActionMessenger.cc,v 1.3 2006/06/29 16:54:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm4/src/PhysicsList.cc index 604051da11..75b9f32315 100644 --- a/examples/extended/electromagnetic/TestEm4/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm4/src/PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.cc,v 1.6 2006/06/29 16:54:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm4/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm4/src/PrimaryGeneratorAction.cc index 01b2ac2024..566503f482 100644 --- a/examples/extended/electromagnetic/TestEm4/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: PrimaryGeneratorAction.cc,v 1.3 2006/06/29 16:54:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/RunAction.cc b/examples/extended/electromagnetic/TestEm4/src/RunAction.cc index c633b2eb6a..04d49a16f2 100644 --- a/examples/extended/electromagnetic/TestEm4/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.10 2006/06/29 16:54:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm4/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm4/src/SteppingAction.cc index 4b6c460b5d..626203ee6c 100644 --- a/examples/extended/electromagnetic/TestEm4/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm4/src/SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: SteppingAction.cc,v 1.2 2006/06/29 16:54:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm4/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm4/src/SteppingVerbose.cc index dea326eb4a..2f051df372 100644 --- a/examples/extended/electromagnetic/TestEm4/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm4/src/SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: SteppingVerbose.cc,v 1.2 2006/06/29 16:54:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/History b/examples/extended/electromagnetic/TestEm5/History index 983769484a..6d218a8b0a 100644 --- a/examples/extended/electromagnetic/TestEm5/History +++ b/examples/extended/electromagnetic/TestEm5/History @@ -1,4 +1,4 @@ -$Id: History,v 1.81 2007/03/20 18:50:53 vnivanch Exp $ +$Id: History,v 1.83 2007/06/22 10:48:00 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,14 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +22-06-07 mma (testem5-V08-03-01) +- more options in PhysListEmStandard +- cosmetic in TestEm5.cc + +16-05-07 V.Ivant (testem5-V08-03-00) +- Fixed bug in standardSS Physics Lists +- Added EM builders from physics_lists library 20-03-07 V.Ivant (testem5-V08-02-00) - Use all default values in default PhysList diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5.cc b/examples/extended/electromagnetic/TestEm5/TestEm5.cc index cc773ad223..28f9bb3d95 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5.cc +++ b/examples/extended/electromagnetic/TestEm5/TestEm5.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: TestEm5.cc,v 1.16 2006/08/10 08:44:39 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: TestEm5.cc,v 1.17 2007/06/22 10:48:00 maire Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -36,10 +36,6 @@ #include "G4UItcsh.hh" #include "Randomize.hh" -#ifdef G4VIS_USE -#include "G4VisExecutive.hh" -#endif - #include "DetectorConstruction.hh" #include "PhysicsList.hh" #include "PrimaryGeneratorAction.hh" @@ -51,6 +47,10 @@ #include "StackingAction.hh" #include "HistoManager.hh" +#ifdef G4VIS_USE +#include "G4VisExecutive.hh" +#endif + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... int main(int argc,char** argv) { @@ -70,8 +70,6 @@ int main(int argc,char** argv) { runManager->SetUserInitialization(detector); runManager->SetUserInitialization(new PhysicsList()); - G4VisManager* visManager = 0; - HistoManager* histo = new HistoManager(); // set user action classes @@ -106,36 +104,36 @@ int main(int argc,char** argv) { // get the pointer to the User Interface manager G4UImanager* UI = G4UImanager::GetUIpointer(); - if (argc==1) // Define UI terminal for interactive mode + if (argc!=1) // batch mode + { + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UI->ApplyCommand(command+fileName); + } + + else //define visualization and UI terminal for interactive mode { - #ifdef G4VIS_USE - // visualization manager - visManager = new G4VisExecutive; - visManager->Initialize(); -#endif - G4UIsession * session = 0; + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + + G4UIsession * session = 0; #ifdef G4UI_USE_TCSH session = new G4UIterminal(new G4UItcsh); #else session = new G4UIterminal(); -#endif - session->SessionStart(); - delete session; - } - else // Batch mode - { - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); +#endif + session->SessionStart(); + delete session; + +#ifdef G4VIS_USE + delete visManager; +#endif } // job termination - -#ifdef G4VIS_USE - delete visManager; -#endif - + // delete histo; delete runManager; diff --git a/examples/extended/electromagnetic/TestEm5/TestEm5.out b/examples/extended/electromagnetic/TestEm5/TestEm5.out index eac530b0d7..302f4faf2c 100644 --- a/examples/extended/electromagnetic/TestEm5/TestEm5.out +++ b/examples/extended/electromagnetic/TestEm5/TestEm5.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -64,34 +64,34 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. - LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Delta cross sections and sampling from MollerBhabha model Good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Delta cross sections and sampling from MollerBhabha model Good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -99,8 +99,8 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. - LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -108,21 +108,21 @@ hIoni: tables are built for proton Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV Parametrisation from Bragg for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 hIoni: tables are built for anti_proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -130,19 +130,19 @@ hIoni: tables are built for anti_proton Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV Parametrisation from Bragg for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. - LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, radiative corrections for E > 1 GeV - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 muBrems: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -159,7 +159,7 @@ muIoni: tables are built for mu- Lambda tables from threshold to 100 TeV in 120 bins. Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, radiative corrections for E > 1 GeV - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 muBrems: tables are built for mu- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -177,12 +177,12 @@ hIoni: tables are built for pi+ Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV Parametrisation from Bragg for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. - LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -190,9 +190,11 @@ hIoni: tables are built for pi- Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV Parametrisation from Bragg for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 Region -- appears in world volume + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic Silicon Production cuts : gamma 2.13 mm e- 7 um e+ 7 um @@ -208,7 +210,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : Yes recalculation needed : No Material : Silicon Range cuts : gamma 2.13 mm e- 7 um e+ 7 um - Energy thresholds : gamma 9.93829 keV e- 10.0803 keV e+ 9.95695 keV + Energy thresholds : gamma 9.93829 keV e- 20.7856 keV e+ 20.268 keV Region(s) which use this couple : DefaultRegionForTheWorld @@ -249,26 +251,26 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100000 - User=110.33s Real=1095.16s Sys=151.41s + User=191.63s Real=1838s Sys=220.01s ======================== run summary ====================== The run was 100000 pi+ of 5 GeV through 20 um of Silicon (density: 2.33 g/cm3 ) - Total energy deposit in absorber per event = 6.269 keV +- 15.34 eV - -----> Mean dE/dx = 3.135 MeV/cm (1.345 MeV*cm2/g) + Total energy deposit in absorber per event = 6.301 keV +- 16.44 eV + -----> Mean dE/dx = 3.15 MeV/cm (1.352 MeV*cm2/g) From formulas : - restricted dEdx = 2.806 MeV/cm (1.204 MeV*cm2/g) + restricted dEdx = 2.936 MeV/cm (1.26 MeV*cm2/g) full dEdx = 4.696 MeV/cm (2.016 MeV*cm2/g) - Total track length (charged) in absorber per event = 20.32 um +- 7.959 nm - Total track length (neutral) in absorber per event = 5.985 Ang +- 4.239 Ang + Total track length (charged) in absorber per event = 20.27 um +- 7.825 nm + Total track length (neutral) in absorber per event = 6.457 Ang +- 3.871 Ang - Number of steps (charged) in absorber per event = 1.305 +- 8.921e-06 - Number of steps (neutral) in absorber per event = 2e-05 +- 8.921e-06 + Number of steps (charged) in absorber per event = 6.121 +- 8.846e-06 + Number of steps (neutral) in absorber per event = 3e-05 +- 8.846e-06 - Number of secondaries per event : Gammas = 2e-05; electrons = 0.03625; positrons = 0 + Number of secondaries per event : Gammas = 3e-05; electrons = 0.01746; positrons = 0 Number of events with the primary particle transmitted = 100 % Number of events with at least 1 particle transmitted (same charge as primary) = 100 % @@ -277,13 +279,13 @@ Run Summary Number of events with at least 1 particle reflected (same charge as primary) = 0 % MultipleScattering: - rms proj angle of transmit primary particle = 0.02451 mrad (central part only) + rms proj angle of transmit primary particle = 0.02377 mrad (central part only) computed theta0 (Highland formula) = 0.02627 mrad - central part defined as +- 0.0788 mrad; Tail ratio = 1.584 % + central part defined as +- 0.0788 mrad; Tail ratio = 1.276 % --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1003823545, 998528957 + Current couple of seeds = 651349949, 1204961610 ---------------------------------------- UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/electromagnetic/TestEm5/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm5/include/DetectorConstruction.hh index 36aa09b5b4..b57d157668 100644 --- a/examples/extended/electromagnetic/TestEm5/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.6 2006/06/29 16:54:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/DetectorMessenger.hh index 1308739077..81614c6781 100644 --- a/examples/extended/electromagnetic/TestEm5/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.5 2006/06/29 16:54:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/EventAction.hh b/examples/extended/electromagnetic/TestEm5/include/EventAction.hh index 6f4cf5eae5..ef937d045c 100644 --- a/examples/extended/electromagnetic/TestEm5/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.3 2006/06/29 16:54:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/EventMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/EventMessenger.hh index 558eca74a9..87b9bdef66 100644 --- a/examples/extended/electromagnetic/TestEm5/include/EventMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/EventMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventMessenger.hh,v 1.5 2006/06/29 16:54:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm5/include/HistoManager.hh index dbe191a0b3..1015a8ba80 100644 --- a/examples/extended/electromagnetic/TestEm5/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm5/include/HistoManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.hh,v 1.9 2006/06/29 16:54:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/HistoMessenger.hh index eaf381bba8..8c6185344e 100644 --- a/examples/extended/electromagnetic/TestEm5/include/HistoMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/HistoMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.hh,v 1.7 2006/06/29 16:54:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm5/include/PhysListEmLivermore.hh index 2788d3976f..175ad14a26 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PhysListEmLivermore.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.hh,v 1.3 2006/08/10 08:44:39 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm5/include/PhysListEmPenelope.hh index 32e55a495b..14d7cc997e 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PhysListEmPenelope.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmPenelope.hh,v 1.3 2006/08/10 08:44:39 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandard.hh index f9dde5996a..d5bec21e2d 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandard.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandard.hh,v 1.6 2006/08/10 08:44:39 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandardSS.hh b/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandardSS.hh index a1381b6084..79f3700f8b 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandardSS.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PhysListEmStandardSS.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandardSS.hh,v 1.1 2006/08/10 08:45:14 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm5/include/PhysicsList.hh index 04baa97a0a..223c37bba1 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.hh,v 1.6 2007/03/20 18:50:53 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/PhysicsListMessenger.hh index 0bf52835a4..ee1d109f90 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.7 2006/06/29 16:55:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorAction.hh index a06dde3703..7fba79e530 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.4 2006/06/29 16:55:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorMessenger.hh index 5b7d07c670..1d76e1162d 100644 --- a/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/PrimaryGeneratorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.hh,v 1.4 2006/06/29 16:55:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/RunAction.hh b/examples/extended/electromagnetic/TestEm5/include/RunAction.hh index 42bff5c03f..2d6f985229 100644 --- a/examples/extended/electromagnetic/TestEm5/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.7 2006/06/29 16:55:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/StackingAction.hh b/examples/extended/electromagnetic/TestEm5/include/StackingAction.hh index 2231235288..25188469ae 100644 --- a/examples/extended/electromagnetic/TestEm5/include/StackingAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/StackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingAction.hh,v 1.4 2006/09/25 17:06:29 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/StackingMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/StackingMessenger.hh index 012a9b223d..79d453bf67 100644 --- a/examples/extended/electromagnetic/TestEm5/include/StackingMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/StackingMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingMessenger.hh,v 1.6 2006/09/25 17:06:29 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/StepMax.hh b/examples/extended/electromagnetic/TestEm5/include/StepMax.hh index 7d26e79f2c..4dd953e85e 100644 --- a/examples/extended/electromagnetic/TestEm5/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm5/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.3 2006/06/29 16:55:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm5/include/StepMaxMessenger.hh index c0fdda54d9..28431b6169 100644 --- a/examples/extended/electromagnetic/TestEm5/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm5/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.3 2006/06/29 16:55:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm5/include/SteppingAction.hh index 527e5a9bc7..6eb6188cef 100644 --- a/examples/extended/electromagnetic/TestEm5/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.3 2006/06/29 16:55:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm5/include/SteppingVerbose.hh index 7fbe743c36..011e36e223 100644 --- a/examples/extended/electromagnetic/TestEm5/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm5/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.3 2006/06/29 16:55:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm5/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm5/include/TrackingAction.hh index c07af53d61..d3cf4872f0 100644 --- a/examples/extended/electromagnetic/TestEm5/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm5/include/TrackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.hh,v 1.4 2006/06/29 16:55:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/mumsc.mac b/examples/extended/electromagnetic/TestEm5/mumsc.mac index 6d6aee704f..bf597ea376 100644 --- a/examples/extended/electromagnetic/TestEm5/mumsc.mac +++ b/examples/extended/electromagnetic/TestEm5/mumsc.mac @@ -1,4 +1,4 @@ -# $Id: mumsc.mac,v 1.6 2007/03/20 18:37:42 vnivanch Exp $ +# $Id: mumsc.mac,v 1.7 2007/04/13 16:36:24 maire Exp $ # # macro file for TestEm5.cc # @@ -6,7 +6,6 @@ # /control/verbose 2 /run/verbose 2 -#/tracking/verbose 1 # /testem/det/setAbsMat Iron /testem/det/setAbsThick 1 m @@ -14,13 +13,9 @@ /testem/det/setWorldX 1 m /testem/det/setWorldYZ 1 m # -#### /testem/phys/addPhysics g4v52 -# -#/testem/phys/setCuts 0.1 mm -/testem/phys/setCuts 1 cm +/testem/phys/setCuts 0.1 mm # /run/initialize -#/process/eLoss/MscStepLimit 0.02 false # /testem/gun/setDefault /gun/particle mu+ @@ -34,4 +29,4 @@ /testem/stack/killSecondaries # /testem/event/printModulo 1000 -/run/beamOn 1000 +/run/beamOn 10000 diff --git a/examples/extended/electromagnetic/TestEm5/neutron.mac b/examples/extended/electromagnetic/TestEm5/neutron.mac index 172e5a2bc6..8f904d7449 100644 --- a/examples/extended/electromagnetic/TestEm5/neutron.mac +++ b/examples/extended/electromagnetic/TestEm5/neutron.mac @@ -1,4 +1,4 @@ -# $Id: neutron.mac,v 1.2 2004/11/22 15:43:39 maire Exp $ +# $Id: neutron.mac,v 1.3 2007/06/22 10:48:01 maire Exp $ # # macro file for TestEm5.cc # @@ -27,8 +27,8 @@ /testem/histo/setFileName h2liq.paw /testem/histo/setHisto 1 200 0.01 4000. keV #energy deposit # -/testem/event/printModulo 10000 +##/testem/event/printModulo 10000 # -##/run/beamOn 100000 +/run/beamOn 100000 diff --git a/examples/extended/electromagnetic/TestEm5/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm5/src/DetectorConstruction.cc index 73cdb666e2..4a1f8ae956 100644 --- a/examples/extended/electromagnetic/TestEm5/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.13 2006/09/25 17:06:29 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/DetectorMessenger.cc index 36e5807518..318bd545e5 100644 --- a/examples/extended/electromagnetic/TestEm5/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.4 2006/06/29 16:55:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/EventAction.cc b/examples/extended/electromagnetic/TestEm5/src/EventAction.cc index 637cfc0da1..b3aacb20af 100644 --- a/examples/extended/electromagnetic/TestEm5/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.6 2006/06/29 16:55:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/EventMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/EventMessenger.cc index f50d028f43..e6fdb422aa 100644 --- a/examples/extended/electromagnetic/TestEm5/src/EventMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/EventMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventMessenger.cc,v 1.5 2006/06/29 16:55:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm5/src/HistoManager.cc index 8935386d46..b5398090e1 100644 --- a/examples/extended/electromagnetic/TestEm5/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm5/src/HistoManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.cc,v 1.16 2006/06/29 16:55:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/HistoMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/HistoMessenger.cc index 53a77ac5c9..2897871f97 100644 --- a/examples/extended/electromagnetic/TestEm5/src/HistoMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/HistoMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.cc,v 1.7 2006/06/29 16:55:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm5/src/PhysListEmLivermore.cc index b77735ff7e..fe006442a8 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PhysListEmLivermore.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.cc,v 1.2 2006/06/29 16:55:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm5/src/PhysListEmPenelope.cc index b7fc4aa876..b2562ebba7 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PhysListEmPenelope.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.cc,v 1.3 2006/06/29 16:55:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandard.cc index c5f49a647c..b033874d56 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandard.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysListEmStandard.cc,v 1.11 2007/03/20 18:37:42 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: PhysListEmStandard.cc,v 1.12 2007/06/22 10:48:01 maire Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -50,6 +50,9 @@ #include "G4hIonisation.hh" #include "G4ionIonisation.hh" +#include "G4EmProcessOptions.hh" +#include "G4MscStepLimitType.hh" + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... PhysListEmStandard::PhysListEmStandard(const G4String& name) @@ -113,6 +116,24 @@ void PhysListEmStandard::ConstructProcess() pmanager->AddProcess(new G4hIonisation, -1,2,2); } } + + // Em options + // + G4EmProcessOptions emOptions; + + //coulomb scattering + // + emOptions.SetMscStepLimitation(fUseDistanceToBoundary); + emOptions.SetSkin(2.); + + //energy loss + // + emOptions.SetLinearLossLimit(1.e-6); + emOptions.SetStepFunction(0.2, 100*um); + + //ionization + // + emOptions.SetSubCutoff(false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandardSS.cc b/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandardSS.cc index beeede2c02..70ec18c3ba 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandardSS.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PhysListEmStandardSS.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysListEmStandardSS.cc,v 1.1 2006/08/10 08:45:15 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: PhysListEmStandardSS.cc,v 1.2 2007/05/16 12:02:54 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -97,7 +97,6 @@ void PhysListEmStandardSS::ConstructProcess() particleName == "mu-" ) { //muon pmanager->AddDiscreteProcess(new G4CoulombScattering); - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); pmanager->AddProcess(new G4MuIonisation, -1, 2,2); pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3,3); pmanager->AddProcess(new G4MuPairProduction, -1, 4,4); diff --git a/examples/extended/electromagnetic/TestEm5/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm5/src/PhysicsList.cc index 9696c8fd8f..69b77bcfa7 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.18 2007/03/20 18:50:53 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: PhysicsList.cc,v 1.19 2007/05/16 12:02:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -37,6 +37,10 @@ #include "PhysListEmLivermore.hh" #include "PhysListEmPenelope.hh" +#include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysics_option1.hh" +#include "G4EmStandardPhysics_option2.hh" + #include "G4HadronElasticPhysics.hh" #include "G4HadronHElasticPhysics.hh" #include "G4HadronQElasticPhysics.hh" @@ -216,6 +220,24 @@ void PhysicsList::AddPhysicsList(const G4String& name) delete emPhysicsList; emPhysicsList = new PhysListEmStandard(name); + } else if (name == "emstandard") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics(); + + } else if (name == "emstandard_opt1") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option1(); + + } else if (name == "emstandard_opt2") { + + emName = name; + delete emPhysicsList; + emPhysicsList = new G4EmStandardPhysics_option2(); + } else if (name == "standardSS") { emName = name; diff --git a/examples/extended/electromagnetic/TestEm5/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/PhysicsListMessenger.cc index 66c245285e..4d43ea617a 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.6 2006/06/29 16:56:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorAction.cc index 6edbf9f920..f493490c44 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.4 2006/06/29 16:56:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorMessenger.cc index 8ee3997a98..9eb4a31324 100644 --- a/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/PrimaryGeneratorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.cc,v 1.4 2006/06/29 16:56:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/RunAction.cc b/examples/extended/electromagnetic/TestEm5/src/RunAction.cc index 5e4938a28a..2c48f499bf 100644 --- a/examples/extended/electromagnetic/TestEm5/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.23 2006/06/29 16:56:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/StackingAction.cc b/examples/extended/electromagnetic/TestEm5/src/StackingAction.cc index 258103170e..9e727443b0 100644 --- a/examples/extended/electromagnetic/TestEm5/src/StackingAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/StackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingAction.cc,v 1.7 2006/09/25 17:06:29 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/StackingMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/StackingMessenger.cc index c48150611d..e74dc0b4d5 100644 --- a/examples/extended/electromagnetic/TestEm5/src/StackingMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/StackingMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingMessenger.cc,v 1.5 2006/09/25 17:06:29 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/StepMax.cc b/examples/extended/electromagnetic/TestEm5/src/StepMax.cc index f36a3595db..93e586505b 100644 --- a/examples/extended/electromagnetic/TestEm5/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm5/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.2 2006/06/29 16:56:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm5/src/StepMaxMessenger.cc index c4e60912ce..7e515ac842 100644 --- a/examples/extended/electromagnetic/TestEm5/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm5/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.3 2006/06/29 16:56:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm5/src/SteppingAction.cc index 722fe64320..237b2f0869 100644 --- a/examples/extended/electromagnetic/TestEm5/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.7 2006/06/29 16:56:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm5/src/SteppingVerbose.cc index f3ad83ad5e..f338a91879 100644 --- a/examples/extended/electromagnetic/TestEm5/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm5/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.3 2006/06/29 16:56:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm5/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm5/src/TrackingAction.cc index 8951d85c1c..3c6597499c 100644 --- a/examples/extended/electromagnetic/TestEm5/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm5/src/TrackingAction.cc @@ -25,7 +25,7 @@ // // // $Id: TrackingAction.cc,v 1.11 2006/06/29 16:56:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/TestEm6.cc b/examples/extended/electromagnetic/TestEm6/TestEm6.cc index 40ac8481a6..6503238632 100644 --- a/examples/extended/electromagnetic/TestEm6/TestEm6.cc +++ b/examples/extended/electromagnetic/TestEm6/TestEm6.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TestEm6.cc,v 1.15 2006/06/29 16:56:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/TestEm6.out b/examples/extended/electromagnetic/TestEm6/TestEm6.out index a8ce93eadf..1a11e87898 100644 --- a/examples/extended/electromagnetic/TestEm6/TestEm6.out +++ b/examples/extended/electromagnetic/TestEm6/TestEm6.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -27,7 +27,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -91,7 +90,7 @@ GammaToMuPair: gamma->mu+mu- Bethe Heitler process. msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -104,7 +103,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 AnnihiToMuPair: e+e->mu+mu- annihilation, atomic e- at rest. threshold at 43.6931 GeV good description up to 1000 TeV for all Z. @@ -117,7 +116,7 @@ ee2hadr: e+ annihilation into hadrons active above 1e-07 GeV msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -137,7 +136,7 @@ hhIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -184,7 +183,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -195,6 +194,8 @@ hIoni: tables are built for pi- Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 Region -- appears in world volume + Root logical volume(s) : Iron + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Iron Production cuts : gamma 1 km e- 1 km e+ 1 km @@ -246,8 +247,8 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 31.9 m 0 fm 0 fm 29.8 TeV 0 eV 0 fm 0 fm Iron initStep - 1 189 m -8.45 mm -1.78 mm 12.3 TeV 17.5 TeV 157 m 157 m Iron muIoni - 2 250 m -1.18 cm -1.07 cm 8.24 TeV 4.06 TeV 61.5 m 218 m OutOfWorld Transportation + 1 189 m 5.6 mm 6.43 mm 12.5 TeV 17.3 TeV 157 m 157 m Iron muIoni + 2 250 m 7.22 mm 1.17 cm 8.53 TeV 4.01 TeV 61.5 m 218 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = mu+, Track ID = 2, Parent ID = 1 @@ -255,24 +256,8 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 31.9 m 0 fm 0 fm 70.2 TeV 0 eV 0 fm 0 fm Iron initStep - 1 216 m 1.57 mm 4.69 mm 24.7 TeV 45.5 TeV 184 m 184 m Iron muIoni - 2 250 m 1.01 mm 6.32 mm 19.6 TeV 5.06 TeV 34.1 m 218 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Iron initStep - 1 250 m 0 fm 0 fm 100 TeV 0 eV 500 m 500 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Iron initStep - 1 250 m 0 fm 0 fm 100 TeV 0 eV 500 m 500 m OutOfWorld Transportation + 1 216 m -3.73 mm -3.16 mm 23.7 TeV 46.5 TeV 184 m 184 m Iron muIoni + 2 250 m -3.02 mm -6.1 mm 18.8 TeV 4.93 TeV 34.1 m 218 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 @@ -288,9 +273,9 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -212 m 0 fm 0 fm 87.9 TeV 0 eV 0 fm 0 fm Iron initStep - 1 -24.1 m 4.08 mm 2.11 mm 36.6 TeV 51.3 TeV 188 m 188 m Iron muIoni - 2 139 m 916 um 3.02 cm 13.5 TeV 23.1 TeV 163 m 351 m Iron muIoni - 3 250 m -5.47 mm 5.18 cm 7.55 TeV 5.98 TeV 111 m 462 m OutOfWorld Transportation + 1 -24.1 m 4.09 mm 2.1 mm 35.8 TeV 52.1 TeV 188 m 188 m Iron muIoni + 2 138 m 908 um 3.04 cm 13.3 TeV 22.5 TeV 162 m 351 m Iron muIoni + 3 250 m -5.63 mm 5.25 cm 7.37 TeV 5.89 TeV 112 m 462 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = mu+, Track ID = 2, Parent ID = 1 @@ -298,20 +283,70 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -212 m 0 fm 0 fm 12.1 TeV 0 eV 0 fm 0 fm Iron initStep - 1 -84.6 m -5.03 mm -1.49 cm 6.19 TeV 5.9 TeV 128 m 128 m Iron muIoni - 2 22 m -2.28 cm -3.39 mm 2.99 TeV 3.2 TeV 107 m 234 m Iron muIoni - 3 106 m -5.78 cm 7.88 mm 1.81 TeV 1.18 TeV 83.9 m 318 m Iron muIoni - 4 175 m -13 cm 6.62 mm 1.21 TeV 599 GeV 68.9 m 387 m Iron muIoni - 5 232 m -16.1 cm -4.16 mm 862 GeV 348 GeV 57.6 m 445 m Iron muIoni - 6 250 m -16 cm 1.3 cm 759 GeV 103 GeV 17.6 m 462 m OutOfWorld Transportation + 1 -84.6 m 6.01 mm 1.21 cm 6.24 TeV 5.85 TeV 128 m 128 m Iron muIoni + 2 22.3 m 3.13 cm 2.05 cm 2.57 TeV 3.67 TeV 107 m 235 m Iron muIoni + 3 102 m 6.36 cm 7.74 mm 1.55 TeV 1.02 TeV 79.4 m 314 m Iron muIoni + 4 166 m 7.42 cm 11.7 cm 1.05 TeV 494 GeV 64.5 m 379 m Iron muIoni + 5 220 m 11.2 cm 19.9 cm 762 GeV 292 GeV 53.8 m 432 m Iron muIoni + 6 250 m 15.4 cm 28.2 cm 607 GeV 155 GeV 30 m 462 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Iron initStep + 1 117 m 0 fm 0 fm 0 eV 0 eV 367 m 367 m Iron GammaToMuPair + +********************************************************************************************************* +* G4Track Information: Particle = mu-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 117 m 0 fm 0 fm 37.5 TeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m 18 um 138 um 16.8 TeV 20.6 TeV 133 m 133 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = mu+, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 117 m 0 fm 0 fm 62.5 TeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m -11 um -83.2 um 30.7 TeV 31.8 TeV 133 m 133 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -250 m 0 fm 0 fm 100 TeV 0 eV 0 fm 0 fm Iron initStep + 1 65.7 m 0 fm 0 fm 0 eV 0 eV 316 m 316 m Iron GammaToMuPair + +********************************************************************************************************* +* G4Track Information: Particle = mu-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 65.7 m 0 fm 0 fm 56.4 TeV 0 eV 0 fm 0 fm Iron initStep + 1 243 m -5.67 mm -1.8 mm 20.2 TeV 36.2 TeV 177 m 177 m Iron muIoni + 2 250 m -5.6 mm -3.26 mm 19.4 TeV 835 GeV 7.22 m 184 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = mu+, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 65.7 m 0 fm 0 fm 43.6 TeV 0 eV 0 fm 0 fm Iron initStep + 1 234 m -6.08 mm 2.36 mm 18.4 TeV 25.2 TeV 169 m 169 m Iron muIoni + 2 250 m -6.78 mm 2.66 mm 16.7 TeV 1.65 TeV 15.5 m 184 m OutOfWorld Transportation Run terminated. Run Summary Number of events processed : 5 - User=0.02s Real=0.13s Sys=0.03s + User=0.03s Real=0.22s Sys=0.01s --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 2056499495, 410592805 + Current couple of seeds = 614347382, 874035293 ---------------------------------------- # /gun/particle e+ @@ -325,6 +360,8 @@ The cross section for AnnihiToMuPair is artificially increased by the CrossSecFa /run/beamOn 5 Region -- appears in world volume + Root logical volume(s) : Iron + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Iron Production cuts : gamma 1 km e- 1 km e+ 1 km @@ -343,7 +380,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 2056499495, 410592805 + Current couple of seeds = 614347382, 874035293 ---------------------------------------- Start Run processing. @@ -355,165 +392,169 @@ Start Run processing. Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -250 m 0 fm 0 fm 1e+03 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -247 m 0 fm 0 fm 0 eV 0 eV 2.51 m 2.51 m Iron AnnihiToMuPair + 1 -249 m 0 fm 0 fm 0 eV 0 eV 1.4 m 1.4 m Iron AnnihiToMuPair ********************************************************************************************************* * G4Track Information: Particle = mu-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -247 m 0 fm 0 fm 160 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -232 m 4.32 cm 3.27 cm 126 GeV 34.1 GeV 15.9 m 15.9 m Iron muIoni - 2 -218 m 13 cm 9.48 cm 99.4 GeV 26.7 GeV 13.1 m 29 m Iron muIoni - 3 -208 m 28.8 cm 22.8 cm 73.2 GeV 26.2 GeV 10.8 m 39.8 m Iron muIoni - 4 -199 m 38.7 cm 34.4 cm 59.2 GeV 13.9 GeV 8.31 m 48.1 m Iron muIoni - 5 -192 m 44.5 cm 48.9 cm 47.9 GeV 11.3 GeV 6.92 m 55 m Iron muIoni - 6 -187 m 43.6 cm 58.4 cm 37.2 GeV 10.7 GeV 5.75 m 60.8 m Iron muIoni - 7 -182 m 43.7 cm 64.8 cm 29.8 GeV 7.46 GeV 4.59 m 65.4 m Iron muIoni - 8 -178 m 45 cm 73.9 cm 24.3 GeV 5.48 GeV 3.76 m 69.1 m Iron muIoni - 9 -175 m 44 cm 84.9 cm 17.8 GeV 6.45 GeV 3.13 m 72.3 m Iron muIoni - 10 -173 m 46.3 cm 92.2 cm 13.9 GeV 3.93 GeV 2.37 m 74.6 m Iron muIoni - 11 -171 m 49.3 cm 96.8 cm 11.5 GeV 2.42 GeV 1.89 m 76.5 m Iron muIoni - 12 -169 m 51.7 cm 1 m 9.4 GeV 2.09 GeV 1.59 m 78.1 m Iron muIoni - 13 -168 m 58 cm 1.04 m 7.57 GeV 1.83 GeV 1.32 m 79.4 m Iron muIoni - 14 -167 m 65.1 cm 1.08 m 6.12 GeV 1.45 GeV 1.08 m 80.5 m Iron muIoni - 15 -166 m 72.9 cm 1.11 m 4.93 GeV 1.18 GeV 89.2 cm 81.4 m Iron muIoni - 16 -165 m 80 cm 1.12 m 3.99 GeV 940 MeV 73.2 cm 82.1 m Iron muIoni - 17 -165 m 85.8 cm 1.15 m 3.06 GeV 930 MeV 60.3 cm 82.7 m Iron muIoni - 18 -164 m 95.5 cm 1.14 m 2.26 GeV 804 MeV 47.2 cm 83.2 m Iron muIoni - 19 -164 m 1.03 m 1.15 m 1.83 GeV 433 MeV 35.5 cm 83.6 m Iron muIoni - 20 -164 m 1.07 m 1.13 m 1.47 GeV 363 MeV 29.1 cm 83.9 m Iron muIoni - 21 -163 m 1.1 m 1.11 m 1.19 GeV 272 MeV 23.6 cm 84.1 m Iron muIoni - 22 -163 m 1.14 m 1.09 m 940 MeV 254 MeV 19.3 cm 84.3 m Iron muIoni - 23 -163 m 1.16 m 1.07 m 773 MeV 166 MeV 15.3 cm 84.4 m Iron muIoni - 24 -163 m 1.18 m 1.05 m 634 MeV 140 MeV 12.6 cm 84.6 m Iron muIoni - 25 -163 m 1.2 m 1.01 m 511 MeV 123 MeV 10.3 cm 84.7 m Iron muIoni - 26 -163 m 1.21 m 97.7 cm 422 MeV 89.3 MeV 8.27 cm 84.8 m Iron muIoni - 27 -163 m 1.22 m 95.4 cm 350 MeV 71.5 MeV 6.75 cm 84.8 m Iron muIoni - 28 -163 m 1.23 m 93.9 cm 282 MeV 68.3 MeV 5.52 cm 84.9 m Iron muIoni - 29 -163 m 1.24 m 92.7 cm 228 MeV 53.6 MeV 4.34 cm 84.9 m Iron muIoni - 30 -163 m 1.25 m 91.9 cm 189 MeV 39.4 MeV 3.41 cm 85 m Iron muIoni - 31 -163 m 1.25 m 91.3 cm 158 MeV 31.1 MeV 2.74 cm 85 m Iron muIoni - 32 -163 m 1.26 m 90.9 cm 131 MeV 26.6 MeV 2.21 cm 85 m Iron muIoni - 33 -163 m 1.26 m 90.5 cm 109 MeV 22.1 MeV 1.77 cm 85 m Iron muIoni - 34 -163 m 1.26 m 90.4 cm 91 MeV 18.3 MeV 1.41 cm 85 m Iron muIoni - 35 -163 m 1.25 m 90.1 cm 77.7 MeV 13.3 MeV 1.13 cm 85.1 m Iron muIoni - 36 -163 m 1.25 m 89.8 cm 64.8 MeV 12.9 MeV 9.28 mm 85.1 m Iron muIoni - 37 -163 m 1.25 m 89.5 cm 53.2 MeV 11.6 MeV 7.46 mm 85.1 m Iron muIoni - 38 -163 m 1.25 m 89.4 cm 43.5 MeV 9.78 MeV 5.93 mm 85.1 m Iron muIoni - 39 -163 m 1.24 m 89.2 cm 34.5 MeV 8.92 MeV 4.73 mm 85.1 m Iron muIoni - 40 -163 m 1.24 m 89.1 cm 27.2 MeV 7.35 MeV 3.72 mm 85.1 m Iron muIoni - 41 -163 m 1.24 m 89 cm 19.7 MeV 7.44 MeV 2.97 mm 85.1 m Iron muIoni - 42 -163 m 1.24 m 88.9 cm 12.6 MeV 7.18 MeV 2.28 mm 85.1 m Iron muIoni - 43 -163 m 1.24 m 88.9 cm 4.63 MeV 7.94 MeV 1.59 mm 85.1 m Iron muIoni - 44 -163 m 1.24 m 88.9 cm 0 eV 4.63 MeV 345 um 85.1 m Iron muIoni - 45 -163 m 1.24 m 88.9 cm 0 eV 0 eV 0 fm 85.1 m Iron Decay + 0 -249 m 0 fm 0 fm 411 GeV 0 eV 0 fm 0 fm Iron initStep + 1 -217 m 9.02 cm 1.06 cm 304 GeV 107 GeV 31.4 m 31.4 m Iron muIoni + 2 -192 m 16 cm 5.5 cm 238 GeV 66.6 GeV 25.6 m 57 m Iron muIoni + 3 -170 m 18.7 cm 13 cm 170 GeV 68.3 GeV 21.5 m 78.5 m Iron muIoni + 4 -153 m 13.4 cm 14.9 cm 127 GeV 42.1 GeV 16.6 m 95.1 m Iron muIoni + 5 -140 m 3.52 cm 9.63 cm 102 GeV 25.2 GeV 13.2 m 108 m Iron muIoni + 6 -129 m -3.7 mm -3.84 mm 81.3 GeV 21 GeV 11 m 119 m Iron muIoni + 7 -120 m 9.5 mm -5.7 cm 65.1 GeV 16.2 GeV 9.09 m 128 m Iron muIoni + 8 -113 m 5.58 cm -8.85 cm 52 GeV 13.1 GeV 7.51 m 136 m Iron muIoni + 9 -106 m 1.32 cm -11 cm 42.4 GeV 9.6 GeV 6.17 m 142 m Iron muIoni + 10 -101 m 6.23 mm -11.2 cm 34.6 GeV 7.76 GeV 5.15 m 147 m Iron muIoni + 11 -97 m -2.47 cm -13.5 cm 28.1 GeV 6.56 GeV 4.3 m 152 m Iron muIoni + 12 -93.4 m -5.05 cm -17.5 cm 21.9 GeV 6.12 GeV 3.57 m 155 m Iron muIoni + 13 -90.5 m -5.09 cm -23.1 cm 17.4 GeV 4.52 GeV 2.86 m 158 m Iron muIoni + 14 -88.2 m 9.29 mm -22.2 cm 14.1 GeV 3.31 GeV 2.32 m 160 m Iron muIoni + 15 -86.3 m 8.73 cm -21.6 cm 11 GeV 3.14 GeV 1.91 m 162 m Iron muIoni + 16 -84.8 m 16.3 cm -19.4 cm 8.91 GeV 2.05 GeV 1.52 m 164 m Iron muIoni + 17 -83.5 m 22 cm -20.2 cm 6.86 GeV 2.05 GeV 1.26 m 165 m Iron muIoni + 18 -82.5 m 28.1 cm -20.6 cm 5.47 GeV 1.39 GeV 99.1 cm 166 m Iron muIoni + 19 -81.7 m 31.3 cm -19.7 cm 4.34 GeV 1.12 GeV 80.5 cm 167 m Iron muIoni + 20 -81.1 m 31.6 cm -18.1 cm 3.53 GeV 815 MeV 65.1 cm 168 m Iron muIoni + 21 -80.6 m 33.3 cm -16.8 cm 2.63 GeV 904 MeV 53.7 cm 168 m Iron muIoni + 22 -80.1 m 34.9 cm -16.3 cm 2.12 GeV 502 MeV 40.8 cm 168 m Iron muIoni + 23 -79.8 m 35.5 cm -11.8 cm 1.72 GeV 407 MeV 33.5 cm 169 m Iron muIoni + 24 -79.5 m 34.3 cm -9.3 cm 1.37 GeV 346 MeV 27.4 cm 169 m Iron muIoni + 25 -79.3 m 32.6 cm -7.07 cm 1.09 GeV 279 MeV 22.1 cm 169 m Iron muIoni + 26 -79.1 m 31 cm -5.99 cm 844 MeV 247 MeV 17.7 cm 169 m Iron muIoni + 27 -79 m 31.2 cm -4.81 cm 693 MeV 151 MeV 13.8 cm 170 m Iron muIoni + 28 -78.9 m 31.2 cm -4.13 cm 544 MeV 149 MeV 11.3 cm 170 m Iron muIoni + 29 -78.8 m 31.2 cm -3.09 cm 435 MeV 109 MeV 8.81 cm 170 m Iron muIoni + 30 -78.7 m 31.4 cm -1.64 cm 356 MeV 79.2 MeV 6.97 cm 170 m Iron muIoni + 31 -78.7 m 30.5 cm -3.69 mm 288 MeV 67.3 MeV 5.61 cm 170 m Iron muIoni + 32 -78.6 m 30 cm 4.41 mm 240 MeV 48 MeV 4.45 cm 170 m Iron muIoni + 33 -78.6 m 29.9 cm 9.5 mm 200 MeV 40.4 MeV 3.62 cm 170 m Iron muIoni + 34 -78.6 m 29.9 cm 1.67 cm 162 MeV 38.1 MeV 2.92 cm 170 m Iron muIoni + 35 -78.6 m 29.8 cm 2.23 cm 129 MeV 32.6 MeV 2.27 cm 170 m Iron muIoni + 36 -78.5 m 29.8 cm 2.83 cm 108 MeV 20.7 MeV 1.73 cm 170 m Iron muIoni + 37 -78.5 m 29.9 cm 3.2 cm 89.9 MeV 18.5 MeV 1.4 cm 170 m Iron muIoni + 38 -78.5 m 29.9 cm 3.48 cm 72.9 MeV 17.1 MeV 1.11 cm 170 m Iron muIoni + 39 -78.5 m 29.7 cm 3.69 cm 57.3 MeV 15.5 MeV 8.6 mm 170 m Iron muIoni + 40 -78.5 m 29.6 cm 3.93 cm 48.2 MeV 9.12 MeV 6.46 mm 170 m Iron muIoni + 41 -78.5 m 29.5 cm 4.04 cm 39.5 MeV 8.66 MeV 5.29 mm 170 m Iron muIoni + 42 -78.5 m 29.4 cm 4.12 cm 31.3 MeV 8.21 MeV 4.26 mm 170 m Iron muIoni + 43 -78.5 m 29.2 cm 4.18 cm 23.8 MeV 7.53 MeV 3.38 mm 170 m Iron muIoni + 44 -78.5 m 29.1 cm 4.21 cm 16.5 MeV 7.3 MeV 2.65 mm 170 m Iron muIoni + 45 -78.5 m 29 cm 4.28 cm 8.89 MeV 7.62 MeV 1.99 mm 170 m Iron muIoni + 46 -78.5 m 29 cm 4.32 cm 546 keV 8.35 MeV 1.08 mm 170 m Iron muIoni + 47 -78.5 m 29 cm 4.32 cm 0 eV 546 keV 8.85 um 170 m Iron muIoni + 48 -78.5 m 29 cm 4.32 cm 0 eV 0 eV 0 fm 170 m Iron Decay ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -163 m 1.24 m 88.9 cm 39.4 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -163 m 1.24 m 89.2 cm 22 MeV 17.4 MeV 5.69 mm 5.69 mm Iron eIoni - 2 -163 m 1.24 m 89.3 cm 13.8 MeV 8.12 MeV 4.35 mm 1 cm Iron eIoni - 3 -162 m 1.24 m 89.5 cm 8.67 MeV 5.17 MeV 3.52 mm 1.36 cm Iron eIoni - 4 -162 m 1.24 m 89.4 cm 4.89 MeV 3.77 MeV 2.85 mm 1.64 cm Iron eIoni - 5 -162 m 1.24 m 89.4 cm 2.53 MeV 2.37 MeV 2.23 mm 1.87 cm Iron eIoni - 6 -162 m 1.24 m 89.3 cm 228 keV 2.3 MeV 1.66 mm 2.03 cm Iron eIoni - 7 -162 m 1.24 m 89.3 cm 0 eV 228 keV 102 um 2.04 cm Iron eIoni + 0 -78.5 m 29 cm 4.32 cm 51 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -78.5 m 28.8 cm 4.36 cm 31 MeV 20 MeV 6.37 mm 6.37 mm Iron eIoni + 2 -78.5 m 28.8 cm 4.34 cm 20.8 MeV 10.1 MeV 5.11 mm 1.15 cm Iron eIoni + 3 -78.5 m 28.9 cm 4.32 cm 12.8 MeV 8.04 MeV 4.25 mm 1.57 cm Iron eIoni + 4 -78.5 m 29.1 cm 4.26 cm 8.5 MeV 4.3 MeV 3.4 mm 1.91 cm Iron eIoni + 5 -78.5 m 29.1 cm 4.44 cm 3.6 MeV 4.91 MeV 2.83 mm 2.2 cm Iron eIoni + 6 -78.5 m 29.1 cm 4.57 cm 1.03 MeV 2.56 MeV 1.96 mm 2.39 cm Iron eIoni + 7 -78.5 m 29.1 cm 4.58 cm 0 eV 1.03 MeV 806 um 2.47 cm Iron eIoni ********************************************************************************************************* * G4Track Information: Particle = anti_nu_e, Track ID = 5, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -163 m 1.24 m 88.9 cm 18.1 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m 73.8 m 176 m 18.1 MeV 0 eV 209 m 209 m OutOfWorld Transportation + 0 -78.5 m 29 cm 4.32 cm 17.4 MeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m 206 m -118 m 17.4 MeV 0 eV 405 m 405 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = nu_mu, Track ID = 4, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -163 m 1.24 m 88.9 cm 47.1 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m -10.1 m -177 m 47.1 MeV 0 eV 198 m 198 m OutOfWorld Transportation + 0 -78.5 m 29 cm 4.32 cm 36.2 MeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m -23.4 m -12.7 m 36.2 MeV 0 eV 330 m 330 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = mu+, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -247 m 0 fm 0 fm 840 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -200 m -2.63 mm -2.01 cm 191 GeV 649 GeV 47.8 m 47.8 m Iron muIoni - 2 -181 m 2.2 mm -7.48 cm 150 GeV 40.5 GeV 18.2 m 66 m Iron muIoni - 3 -166 m -2 mm -13.1 cm 120 GeV 29.9 GeV 15.1 m 81.1 m Iron muIoni - 4 -154 m 10.1 cm -21.4 cm 88.1 GeV 32.4 GeV 12.6 m 93.7 m Iron muIoni - 5 -144 m 15.4 cm -24.6 cm 69.8 GeV 18.2 GeV 9.72 m 103 m Iron muIoni - 6 -136 m 18.3 cm -37.1 cm 55.4 GeV 14.4 GeV 7.97 m 111 m Iron muIoni - 7 -130 m 23.8 cm -48.5 cm 45 GeV 10.4 GeV 6.52 m 118 m Iron muIoni - 8 -124 m 32.2 cm -62 cm 36.6 GeV 8.41 GeV 5.43 m 123 m Iron muIoni - 9 -120 m 37.7 cm -75.4 cm 29.7 GeV 6.91 GeV 4.52 m 128 m Iron muIoni - 10 -116 m 39.6 cm -93.8 cm 23.7 GeV 5.98 GeV 3.75 m 132 m Iron muIoni - 11 -113 m 42.8 cm -1.06 m 17.5 GeV 6.24 GeV 3.06 m 135 m Iron muIoni - 12 -110 m 43 cm -1.15 m 12.2 GeV 5.31 GeV 2.32 m 137 m Iron muIoni - 13 -109 m 44.2 cm -1.2 m 8.89 GeV 3.29 GeV 1.67 m 139 m Iron muIoni - 14 -108 m 45 cm -1.25 m 7 GeV 1.88 GeV 1.25 m 140 m Iron muIoni - 15 -107 m 43.3 cm -1.32 m 5.54 GeV 1.46 GeV 1.01 m 141 m Iron muIoni - 16 -106 m 41.1 cm -1.39 m 4.56 GeV 980 MeV 81.3 cm 142 m Iron muIoni - 17 -105 m 39.5 cm -1.45 m 3.59 GeV 971 MeV 68 cm 142 m Iron muIoni - 18 -105 m 35.9 cm -1.51 m 2.95 GeV 645 MeV 54.5 cm 143 m Iron muIoni - 19 -104 m 32.9 cm -1.59 m 2.3 GeV 642 MeV 45.4 cm 143 m Iron muIoni - 20 -104 m 29.9 cm -1.65 m 1.6 GeV 703 MeV 36.1 cm 144 m Iron muIoni - 21 -103 m 28.7 cm -1.69 m 1.32 GeV 282 MeV 25.6 cm 144 m Iron muIoni - 22 -103 m 26.8 cm -1.74 m 1.08 GeV 237 MeV 21.3 cm 144 m Iron muIoni - 23 -103 m 25 cm -1.78 m 893 MeV 191 MeV 17.6 cm 144 m Iron muIoni - 24 -103 m 22.9 cm -1.81 m 679 MeV 213 MeV 14.5 cm 145 m Iron muIoni - 25 -103 m 21.4 cm -1.84 m 554 MeV 125 MeV 11.1 cm 145 m Iron muIoni - 26 -103 m 19.2 cm -1.86 m 456 MeV 97.9 MeV 8.97 cm 145 m Iron muIoni - 27 -103 m 17.6 cm -1.88 m 369 MeV 86.8 MeV 7.32 cm 145 m Iron muIoni - 28 -103 m 16.8 cm -1.9 m 305 MeV 64 MeV 5.84 cm 145 m Iron muIoni - 29 -103 m 15.5 cm -1.91 m 211 MeV 93.9 MeV 4.73 cm 145 m Iron muIoni - 30 -103 m 14.9 cm -1.91 m 180 MeV 31.8 MeV 3.11 cm 145 m Iron muIoni - 31 -103 m 14.5 cm -1.92 m 147 MeV 33.1 MeV 2.57 cm 145 m Iron muIoni - 32 -103 m 14.6 cm -1.92 m 124 MeV 22.1 MeV 2.01 cm 145 m Iron muIoni - 33 -103 m 14.5 cm -1.92 m 103 MeV 21.3 MeV 1.65 cm 145 m Iron muIoni - 34 -103 m 14.3 cm -1.92 m 86.3 MeV 16.9 MeV 1.31 cm 145 m Iron muIoni - 35 -102 m 14.2 cm -1.92 m 70.7 MeV 15.5 MeV 1.05 cm 145 m Iron muIoni - 36 -102 m 14 cm -1.92 m 58.2 MeV 12.5 MeV 8.28 mm 145 m Iron muIoni - 37 -102 m 13.7 cm -1.92 m 48.2 MeV 10.1 MeV 6.57 mm 145 m Iron muIoni - 38 -102 m 13.5 cm -1.93 m 38.5 MeV 9.74 MeV 5.29 mm 145 m Iron muIoni - 39 -102 m 13.2 cm -1.93 m 30.9 MeV 7.53 MeV 4.14 mm 145 m Iron muIoni - 40 -102 m 13 cm -1.93 m 23.9 MeV 7.06 MeV 3.34 mm 145 m Iron muIoni - 41 -102 m 12.8 cm -1.93 m 17.3 MeV 6.59 MeV 2.66 mm 145 m Iron muIoni - 42 -102 m 12.7 cm -1.93 m 10.2 MeV 7.05 MeV 2.06 mm 145 m Iron muIoni - 43 -102 m 12.6 cm -1.93 m 2.48 MeV 7.75 MeV 1.3 mm 145 m Iron muIoni - 44 -102 m 12.6 cm -1.93 m 0 eV 2.48 MeV 116 um 145 m Iron muIoni - 45 -102 m 12.6 cm -1.93 m 0 eV 0 eV 0 fm 145 m Iron Decay + 0 -249 m 0 fm 0 fm 589 GeV 0 eV 0 fm 0 fm Iron initStep + 1 -209 m -3.12 cm -8.4 mm 433 GeV 156 GeV 39.2 m 39.2 m Iron muIoni + 2 -177 m -1.09 cm -16.1 cm 328 GeV 105 GeV 32.4 m 71.6 m Iron muIoni + 3 -150 m 3.02 cm -35.4 cm 239 GeV 89 GeV 26.9 m 98.5 m Iron muIoni + 4 -129 m 6.77 cm -47.3 cm 188 GeV 50.9 GeV 21.5 m 120 m Iron muIoni + 5 -111 m -3.52 cm -1.01 m 138 GeV 49.5 GeV 17.9 m 138 m Iron muIoni + 6 -96.5 m -2.73 cm -1.5 m 108 GeV 30 GeV 14.1 m 152 m Iron muIoni + 7 -85 m -8.36 cm -1.91 m 82.2 GeV 26 GeV 11.5 m 164 m Iron muIoni + 8 -75.8 m -8.53 cm -2.23 m 57.6 GeV 24.6 GeV 9.17 m 173 m Iron muIoni + 9 -69.1 m -5.37 cm -2.49 m 46.8 GeV 10.7 GeV 6.74 m 180 m Iron muIoni + 10 -63.5 m 2.56 cm -2.72 m 34.5 GeV 12.4 GeV 5.62 m 185 m Iron muIoni + 11 -59.2 m 7.61 cm -2.88 m 27.5 GeV 6.93 GeV 4.28 m 189 m Iron muIoni + 12 -55.7 m 14 cm -3.02 m 22.4 GeV 5.09 GeV 3.5 m 193 m Iron muIoni + 13 -52.8 m 23 cm -3.12 m 18.3 GeV 4.19 GeV 2.91 m 196 m Iron muIoni + 14 -50.4 m 33 cm -3.21 m 15 GeV 3.25 GeV 2.41 m 198 m Iron muIoni + 15 -48.4 m 38.8 cm -3.26 m 12 GeV 3.02 GeV 2.02 m 200 m Iron muIoni + 16 -46.7 m 45.1 cm -3.32 m 9.68 GeV 2.3 GeV 1.65 m 202 m Iron muIoni + 17 -45.4 m 50 cm -3.36 m 3.52 GeV 6.17 GeV 1.36 m 203 m Iron muIoni + 18 -44.9 m 52 cm -3.37 m 2.87 GeV 645 MeV 53.4 cm 204 m Iron muIoni + 19 -44.4 m 51.9 cm -3.4 m 2.34 GeV 526 MeV 44.3 cm 204 m Iron muIoni + 20 -44 m 51.6 cm -3.42 m 1.88 GeV 468 MeV 36.7 cm 205 m Iron muIoni + 21 -43.7 m 50 cm -3.44 m 1.54 GeV 338 MeV 29.7 cm 205 m Iron muIoni + 22 -43.5 m 50.7 cm -3.47 m 1.25 GeV 289 MeV 24.6 cm 205 m Iron muIoni + 23 -43.3 m 50.6 cm -3.48 m 811 MeV 437 MeV 20.2 cm 205 m Iron muIoni + 24 -43.2 m 51.2 cm -3.5 m 652 MeV 159 MeV 13.2 cm 205 m Iron muIoni + 25 -43.1 m 51.5 cm -3.52 m 531 MeV 121 MeV 10.6 cm 206 m Iron muIoni + 26 -43 m 51.5 cm -3.54 m 431 MeV 99.8 MeV 8.58 cm 206 m Iron muIoni + 27 -42.9 m 51.7 cm -3.56 m 360 MeV 71.5 MeV 6.89 cm 206 m Iron muIoni + 28 -42.9 m 52.2 cm -3.57 m 298 MeV 61.4 MeV 5.66 cm 206 m Iron muIoni + 29 -42.8 m 52.3 cm -3.58 m 250 MeV 47.6 MeV 4.61 cm 206 m Iron muIoni + 30 -42.8 m 52.5 cm -3.58 m 211 MeV 39.4 MeV 3.78 cm 206 m Iron muIoni + 31 -42.7 m 52.6 cm -3.59 m 173 MeV 38.5 MeV 3.11 cm 206 m Iron muIoni + 32 -42.7 m 53 cm -3.59 m 144 MeV 28.8 MeV 2.45 cm 206 m Iron muIoni + 33 -42.7 m 53.3 cm -3.59 m 122 MeV 22 MeV 1.97 cm 206 m Iron muIoni + 34 -42.7 m 53.5 cm -3.59 m 104 MeV 17.3 MeV 1.61 cm 206 m Iron muIoni + 35 -42.7 m 53.7 cm -3.59 m 86 MeV 18.5 MeV 1.33 cm 206 m Iron muIoni + 36 -42.7 m 53.9 cm -3.6 m 70.3 MeV 15.6 MeV 1.05 cm 206 m Iron muIoni + 37 -42.7 m 54.1 cm -3.6 m 56.2 MeV 14.1 MeV 8.22 mm 206 m Iron muIoni + 38 -42.7 m 54.2 cm -3.6 m 46.6 MeV 9.55 MeV 6.31 mm 206 m Iron muIoni + 39 -42.6 m 54.3 cm -3.6 m 38.4 MeV 8.29 MeV 5.1 mm 206 m Iron muIoni + 40 -42.6 m 54.4 cm -3.6 m 30.9 MeV 7.45 MeV 4.13 mm 206 m Iron muIoni + 41 -42.6 m 54.5 cm -3.6 m 23.3 MeV 7.61 MeV 3.34 mm 206 m Iron muIoni + 42 -42.6 m 54.5 cm -3.6 m 16.8 MeV 6.45 MeV 2.6 mm 206 m Iron muIoni + 43 -42.6 m 54.6 cm -3.6 m 9.84 MeV 7 MeV 2.02 mm 206 m Iron muIoni + 44 -42.6 m 54.7 cm -3.6 m 1.63 MeV 8.22 MeV 1.24 mm 206 m Iron muIoni + 45 -42.6 m 54.7 cm -3.6 m 0 eV 1.63 MeV 55.8 um 206 m Iron muIoni + 46 -42.6 m 54.7 cm -3.6 m 0 eV 0 eV 0 fm 206 m Iron Decay ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 9, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -102 m 12.6 cm -1.93 m 13.2 MeV 0 eV 0 fm 0 fm Iron initStep - 1 250 m 98.4 m 74.7 m 13.2 MeV 0 eV 374 m 374 m OutOfWorld Transportation + 0 -42.6 m 54.7 cm -3.6 m 20 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -51.6 m 250 m 163 m 20 MeV 0 eV 300 m 300 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = nu_e, Track ID = 8, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -102 m 12.6 cm -1.93 m 44.5 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -168 m 250 m 30.7 m 44.5 MeV 0 eV 260 m 260 m OutOfWorld Transportation + 0 -42.6 m 54.7 cm -3.6 m 40 MeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m -30 m 56.5 m 40 MeV 0 eV 300 m 300 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = anti_nu_mu, Track ID = 7, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -102 m 12.6 cm -1.93 m 46.9 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -109 m -250 m -46.8 m 46.9 MeV 0 eV 254 m 254 m OutOfWorld Transportation + 0 -42.6 m 54.7 cm -3.6 m 44.7 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -250 m -67.3 m -107 m 44.7 MeV 0 eV 241 m 241 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 @@ -521,170 +562,169 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -250 m 0 fm 0 fm 1e+03 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -248 m 0 fm 0 fm 0 eV 0 eV 1.71 m 1.71 m Iron AnnihiToMuPair + 1 -247 m 0 fm 0 fm 0 eV 0 eV 2.95 m 2.95 m Iron AnnihiToMuPair ********************************************************************************************************* * G4Track Information: Particle = mu-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -248 m 0 fm 0 fm 784 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -202 m -7.33 cm 1.69 cm 563 GeV 220 GeV 46.2 m 46.2 m Iron muIoni - 2 -164 m -10.6 cm -9.12 cm 424 GeV 140 GeV 38.2 m 84.4 m Iron muIoni - 3 -132 m -22.2 cm -19.9 cm 314 GeV 109 GeV 32 m 116 m Iron muIoni - 4 -106 m -30.4 cm -36.4 cm 236 GeV 78.1 GeV 26.3 m 143 m Iron muIoni - 5 -84.3 m -32 cm -63.8 cm 181 GeV 54.9 GeV 21.4 m 164 m Iron muIoni - 6 -66.8 m -26.2 cm -89.2 cm 143 GeV 38.8 GeV 17.5 m 181 m Iron muIoni - 7 -52.3 m -20.5 cm -1.15 m 109 GeV 33.3 GeV 14.5 m 196 m Iron muIoni - 8 -40.7 m -15.9 cm -1.4 m 76.4 GeV 32.9 GeV 11.7 m 208 m Iron muIoni - 9 -32 m -3.31 cm -1.57 m 57.3 GeV 19.2 GeV 8.63 m 216 m Iron muIoni - 10 -25.3 m -4.26 mm -1.57 m 46 GeV 11.2 GeV 6.72 m 223 m Iron muIoni - 11 -19.8 m 7.13 mm -1.58 m 37.7 GeV 8.35 GeV 5.55 m 229 m Iron muIoni - 12 -15.1 m 1.77 cm -1.61 m 30.2 GeV 7.49 GeV 4.64 m 233 m Iron muIoni - 13 -11.3 m 5.22 cm -1.64 m 24.2 GeV 5.99 GeV 3.81 m 237 m Iron muIoni - 14 -8.18 m 9.82 cm -1.63 m 19.4 GeV 4.86 GeV 3.12 m 240 m Iron muIoni - 15 -5.63 m 14.4 cm -1.58 m 13.9 GeV 5.4 GeV 2.55 m 243 m Iron muIoni - 16 -3.74 m 20.9 cm -1.52 m 11.5 GeV 2.47 GeV 1.89 m 245 m Iron muIoni - 17 -2.16 m 27.4 cm -1.47 m 9.12 GeV 2.36 GeV 1.59 m 246 m Iron muIoni - 18 -87.4 cm 35.5 cm -1.44 m 7.36 GeV 1.76 GeV 1.29 m 247 m Iron muIoni - 19 17.9 cm 44.2 cm -1.43 m 5.85 GeV 1.52 GeV 1.06 m 248 m Iron muIoni - 20 1.03 m 53.3 cm -1.39 m 4.65 GeV 1.2 GeV 85.6 cm 249 m Iron muIoni - 21 1.72 m 60.9 cm -1.34 m 3.69 GeV 961 MeV 69.3 cm 250 m Iron muIoni - 22 2.27 m 65.4 cm -1.33 m 3 GeV 687 MeV 56 cm 251 m Iron muIoni - 23 2.73 m 69.4 cm -1.34 m 2.4 GeV 597 MeV 46.3 cm 251 m Iron muIoni - 24 3.11 m 73.8 cm -1.34 m 1.92 GeV 482 MeV 37.6 cm 251 m Iron muIoni - 25 3.41 m 76.6 cm -1.36 m 1.58 GeV 339 MeV 30.5 cm 252 m Iron muIoni - 26 3.66 m 80.3 cm -1.37 m 1.27 GeV 315 MeV 25.4 cm 252 m Iron muIoni - 27 3.86 m 83.1 cm -1.4 m 976 MeV 293 MeV 20.5 cm 252 m Iron muIoni - 28 4.01 m 87.9 cm -1.39 m 796 MeV 180 MeV 15.9 cm 252 m Iron muIoni - 29 4.14 m 92 cm -1.36 m 627 MeV 169 MeV 13 cm 252 m Iron muIoni - 30 4.23 m 94.8 cm -1.35 m 511 MeV 116 MeV 10.2 cm 253 m Iron muIoni - 31 4.31 m 96.8 cm -1.34 m 411 MeV 99.6 MeV 8.26 cm 253 m Iron muIoni - 32 4.37 m 98.7 cm -1.35 m 315 MeV 96.8 MeV 6.57 cm 253 m Iron muIoni - 33 4.42 m 99.8 cm -1.35 m 262 MeV 52.2 MeV 4.9 cm 253 m Iron muIoni - 34 4.46 m 1.01 m -1.36 m 219 MeV 43 MeV 4 cm 253 m Iron muIoni - 35 4.49 m 1.02 m -1.36 m 184 MeV 34.9 MeV 3.25 cm 253 m Iron muIoni - 36 4.51 m 1.03 m -1.37 m 149 MeV 35.5 MeV 2.66 cm 253 m Iron muIoni - 37 4.53 m 1.04 m -1.37 m 126 MeV 23 MeV 2.06 cm 253 m Iron muIoni - 38 4.55 m 1.04 m -1.37 m 102 MeV 24.1 MeV 1.67 cm 253 m Iron muIoni - 39 4.56 m 1.04 m -1.37 m 86.4 MeV 15.3 MeV 1.29 cm 253 m Iron muIoni - 40 4.57 m 1.05 m -1.37 m 72.6 MeV 13.9 MeV 1.06 cm 253 m Iron muIoni - 41 4.58 m 1.05 m -1.37 m 59.3 MeV 13.3 MeV 8.55 mm 253 m Iron muIoni - 42 4.59 m 1.05 m -1.37 m 47.3 MeV 12 MeV 6.72 mm 253 m Iron muIoni - 43 4.59 m 1.05 m -1.37 m 37.9 MeV 9.45 MeV 5.19 mm 253 m Iron muIoni - 44 4.6 m 1.05 m -1.37 m 29.9 MeV 7.99 MeV 4.08 mm 253 m Iron muIoni - 45 4.6 m 1.05 m -1.37 m 22.7 MeV 7.13 MeV 3.24 mm 253 m Iron muIoni - 46 4.6 m 1.05 m -1.37 m 15.4 MeV 7.35 MeV 2.55 mm 253 m Iron muIoni - 47 4.6 m 1.05 m -1.37 m 8.37 MeV 7.01 MeV 1.88 mm 253 m Iron muIoni - 48 4.6 m 1.05 m -1.37 m 0 eV 8.37 MeV 977 um 253 m Iron muIoni - 49 4.6 m 1.05 m -1.37 m 0 eV 0 eV 0 fm 253 m Iron Decay + 0 -247 m 0 fm 0 fm 507 GeV 0 eV 0 fm 0 fm Iron initStep + 1 -211 m -5.67 cm 4.78 cm 381 GeV 126 GeV 35.9 m 35.9 m Iron muIoni + 2 -181 m -17.1 cm -4.13 mm 284 GeV 97.3 GeV 29.9 m 65.7 m Iron muIoni + 3 -157 m -15.1 cm -5.57 cm 219 GeV 64.2 GeV 24.4 m 90.1 m Iron muIoni + 4 -137 m -4.97 cm -6.73 cm 168 GeV 51 GeV 20.2 m 110 m Iron muIoni + 5 -120 m 7.59 cm 894 um 131 GeV 37.4 GeV 16.5 m 127 m Iron muIoni + 6 -107 m 12.2 cm 7.74 cm 103 GeV 28.5 GeV 13.5 m 140 m Iron muIoni + 7 -95.6 m 6.75 cm 9.93 cm 82.3 GeV 20.3 GeV 11.1 m 151 m Iron muIoni + 8 -86.4 m -3.58 mm 12.2 cm 65.2 GeV 17.1 GeV 9.19 m 161 m Iron muIoni + 9 -78.9 m -2.33 cm 11.5 cm 50.8 GeV 14.4 GeV 7.53 m 168 m Iron muIoni + 10 -72.8 m -9.92 cm 18.1 cm 40.8 GeV 10 GeV 6.05 m 174 m Iron muIoni + 11 -67.8 m -20.7 cm 20.8 cm 32.6 GeV 8.14 GeV 4.98 m 179 m Iron muIoni + 12 -63.8 m -19.9 cm 24.5 cm 23.9 GeV 8.68 GeV 4.08 m 183 m Iron muIoni + 13 -60.7 m -23.4 cm 27.4 cm 19.6 GeV 4.36 GeV 3.09 m 186 m Iron muIoni + 14 -58.1 m -27.8 cm 26.2 cm 15.1 GeV 4.51 GeV 2.58 m 189 m Iron muIoni + 15 -56.1 m -29.1 cm 23.4 cm 11.8 GeV 3.23 GeV 2.03 m 191 m Iron muIoni + 16 -54.4 m -28.3 cm 22.7 cm 9.65 GeV 2.2 GeV 1.63 m 193 m Iron muIoni + 17 -53.1 m -28.4 cm 23.2 cm 3.4 GeV 6.25 GeV 1.35 m 194 m Iron muIoni + 18 -52.5 m -28.8 cm 20.9 cm 2.73 GeV 672 MeV 51.9 cm 195 m Iron muIoni + 19 -52.1 m -28.5 cm 18.3 cm 2.22 GeV 509 MeV 42.3 cm 195 m Iron muIoni + 20 -51.8 m -30.1 cm 17.2 cm 1.78 GeV 436 MeV 34.9 cm 195 m Iron muIoni + 21 -51.5 m -33.9 cm 14.8 cm 1.44 GeV 344 MeV 28.4 cm 196 m Iron muIoni + 22 -51.3 m -37.9 cm 13.3 cm 1.19 GeV 247 MeV 23.1 cm 196 m Iron muIoni + 23 -51.1 m -40.6 cm 12.2 cm 942 MeV 249 MeV 19.3 cm 196 m Iron muIoni + 24 -50.9 m -43.5 cm 10.6 cm 742 MeV 200 MeV 15.4 cm 196 m Iron muIoni + 25 -50.8 m -46.7 cm 9.1 cm 604 MeV 138 MeV 12.1 cm 196 m Iron muIoni + 26 -50.7 m -49.4 cm 7.67 cm 499 MeV 105 MeV 9.83 cm 196 m Iron muIoni + 27 -50.6 m -51.9 cm 6.92 cm 395 MeV 104 MeV 8.06 cm 196 m Iron muIoni + 28 -50.6 m -54.2 cm 5.85 cm 333 MeV 62.4 MeV 6.29 cm 197 m Iron muIoni + 29 -50.5 m -55.9 cm 4.8 cm 266 MeV 67.2 MeV 5.22 cm 197 m Iron muIoni + 30 -50.5 m -57.1 cm 4 cm 221 MeV 44.7 MeV 4.06 cm 197 m Iron muIoni + 31 -50.5 m -58.3 cm 3.29 cm 183 MeV 38.2 MeV 3.28 cm 197 m Iron muIoni + 32 -50.4 m -59.2 cm 2.57 cm 154 MeV 29 MeV 2.63 cm 197 m Iron muIoni + 33 -50.4 m -59.9 cm 1.89 cm 127 MeV 26.3 MeV 2.14 cm 197 m Iron muIoni + 34 -50.4 m -60.2 cm 1.46 cm 107 MeV 20 MeV 1.7 cm 197 m Iron muIoni + 35 -50.4 m -60.6 cm 1.28 cm 86.6 MeV 20.9 MeV 1.38 cm 197 m Iron muIoni + 36 -50.4 m -60.7 cm 1.16 cm 69.7 MeV 16.8 MeV 1.06 cm 197 m Iron muIoni + 37 -50.4 m -61 cm 1.21 cm 58.4 MeV 11.3 MeV 8.15 mm 197 m Iron muIoni + 38 -50.4 m -61.1 cm 1.24 cm 48.1 MeV 10.3 MeV 6.61 mm 197 m Iron muIoni + 39 -50.4 m -61.3 cm 1.21 cm 39.5 MeV 8.62 MeV 5.28 mm 197 m Iron muIoni + 40 -50.4 m -61.5 cm 1.14 cm 31.6 MeV 7.88 MeV 4.26 mm 197 m Iron muIoni + 41 -50.4 m -61.5 cm 1.05 cm 23.9 MeV 7.75 MeV 3.41 mm 197 m Iron muIoni + 42 -50.4 m -61.6 cm 1.04 cm 17.2 MeV 6.7 MeV 2.66 mm 197 m Iron muIoni + 43 -50.4 m -61.6 cm 1.04 cm 10.9 MeV 6.28 MeV 2.05 mm 197 m Iron muIoni + 44 -50.4 m -61.6 cm 1.08 cm 2.71 MeV 8.21 MeV 1.4 mm 197 m Iron muIoni + 45 -50.4 m -61.6 cm 1.09 cm 0 eV 2.71 MeV 135 um 197 m Iron muIoni + 46 -50.4 m -61.6 cm 1.09 cm 0 eV 0 eV 0 fm 197 m Iron Decay ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.6 m 1.05 m -1.37 m 50.6 MeV 0 eV 0 fm 0 fm Iron initStep - 1 4.6 m 1.05 m -1.37 m 33.8 MeV 16.8 MeV 6.35 mm 6.35 mm Iron eIoni - 2 4.6 m 1.05 m -1.36 m 17 MeV 16.8 MeV 5.31 mm 1.17 cm Iron eIoni - 3 4.61 m 1.05 m -1.36 m 11.3 MeV 5.75 MeV 3.87 mm 1.55 cm Iron eIoni - 4 4.61 m 1.05 m -1.36 m 7.38 MeV 3.88 MeV 3.2 mm 1.87 cm Iron eIoni - 5 4.61 m 1.05 m -1.36 m 1.96 MeV 5.42 MeV 2.66 mm 2.14 cm Iron eIoni - 6 4.61 m 1.05 m -1.36 m 0 eV 1.96 MeV 1.45 mm 2.28 cm Iron eIoni + 0 -50.4 m -61.6 cm 1.09 cm 39.7 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -50.4 m -61.4 cm 7.28 mm 24.7 MeV 15 MeV 5.71 mm 5.71 mm Iron eIoni + 2 -50.3 m -61.3 cm 3.27 mm 15.9 MeV 8.83 MeV 4.61 mm 1.03 cm Iron eIoni + 3 -50.3 m -61.2 cm 211 um 10.9 MeV 4.99 MeV 3.75 mm 1.41 cm Iron eIoni + 4 -50.3 m -61.2 cm -2.7 mm 7.03 MeV 3.87 MeV 3.16 mm 1.72 cm Iron eIoni + 5 -50.3 m -61.4 cm -2.87 mm 3.74 MeV 3.29 MeV 2.61 mm 1.98 cm Iron eIoni + 6 -50.4 m -61.3 cm -2.42 mm 421 keV 3.31 MeV 1.99 mm 2.18 cm Iron eIoni + 7 -50.4 m -61.3 cm -2.46 mm 0 eV 421 keV 251 um 2.21 cm Iron eIoni ********************************************************************************************************* * G4Track Information: Particle = anti_nu_e, Track ID = 5, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.6 m 1.05 m -1.37 m 12.3 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -124 m 181 m -250 m 12.3 MeV 0 eV 333 m 333 m OutOfWorld Transportation + 0 -50.4 m -61.6 cm 1.09 cm 37.8 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -250 m -144 m 40.9 m 37.8 MeV 0 eV 249 m 249 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = nu_mu, Track ID = 4, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.6 m 1.05 m -1.37 m 41.7 MeV 0 eV 0 fm 0 fm Iron initStep - 1 169 m 250 m -246 m 41.7 MeV 0 eV 385 m 385 m OutOfWorld Transportation + 0 -50.4 m -61.6 cm 1.09 cm 27.1 MeV 0 eV 0 fm 0 fm Iron initStep + 1 35.6 m 91 m 250 m 27.1 MeV 0 eV 280 m 280 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = mu+, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -248 m 0 fm 0 fm 216 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -228 m -1.4 cm -2.02 cm 169 GeV 47.7 GeV 20 m 20 m Iron muIoni - 2 -212 m -3.47 cm -15.2 cm 128 GeV 40.2 GeV 16.5 m 36.5 m Iron muIoni - 3 -199 m -1.58 mm -33.9 cm 103 GeV 25.8 GeV 13.3 m 49.8 m Iron muIoni - 4 -187 m -1.43 cm -49.4 cm 81.6 GeV 21 GeV 11.1 m 60.8 m Iron muIoni - 5 -178 m -12.4 cm -59.4 cm 62.7 GeV 18.9 GeV 9.11 m 69.9 m Iron muIoni - 6 -171 m -23.3 cm -74 cm 49.5 GeV 13.2 GeV 7.26 m 77.2 m Iron muIoni - 7 -165 m -33.4 cm -83.9 cm 39.8 GeV 9.68 GeV 5.9 m 83.1 m Iron muIoni - 8 -160 m -63.1 cm -1.01 m 32.1 GeV 7.7 GeV 4.87 m 88 m Iron muIoni - 9 -156 m -85.4 cm -1.18 m 26 GeV 6.14 GeV 4.02 m 92 m Iron muIoni - 10 -153 m -1 m -1.32 m 21 GeV 4.95 GeV 3.32 m 95.3 m Iron muIoni - 11 -150 m -1.19 m -1.47 m 16.9 GeV 4.1 GeV 2.74 m 98.1 m Iron muIoni - 12 -148 m -1.32 m -1.61 m 13.8 GeV 3.13 GeV 2.25 m 100 m Iron muIoni - 13 -146 m -1.43 m -1.73 m 9.36 GeV 4.42 GeV 1.87 m 102 m Iron muIoni - 14 -145 m -1.52 m -1.84 m 7.53 GeV 1.82 GeV 1.31 m 103 m Iron muIoni - 15 -144 m -1.58 m -1.95 m 6.15 GeV 1.38 GeV 1.08 m 105 m Iron muIoni - 16 -143 m -1.63 m -2.06 m 4.89 GeV 1.26 GeV 89.5 cm 105 m Iron muIoni - 17 -142 m -1.69 m -2.14 m 3.97 GeV 927 MeV 72.5 cm 106 m Iron muIoni - 18 -142 m -1.72 m -2.22 m 3.2 GeV 770 MeV 59.8 cm 107 m Iron muIoni - 19 -141 m -1.75 m -2.28 m 2.47 GeV 731 MeV 48.9 cm 107 m Iron muIoni - 20 -141 m -1.77 m -2.36 m 1.92 GeV 549 MeV 38.4 cm 108 m Iron muIoni - 21 -140 m -1.78 m -2.41 m 1.55 GeV 366 MeV 30.3 cm 108 m Iron muIoni - 22 -140 m -1.79 m -2.47 m 1.27 GeV 281 MeV 24.8 cm 108 m Iron muIoni - 23 -140 m -1.78 m -2.53 m 990 MeV 280 MeV 20.5 cm 108 m Iron muIoni - 24 -140 m -1.76 m -2.56 m 793 MeV 196 MeV 16.1 cm 109 m Iron muIoni - 25 -140 m -1.76 m -2.6 m 649 MeV 145 MeV 12.9 cm 109 m Iron muIoni - 26 -140 m -1.76 m -2.62 m 535 MeV 113 MeV 10.5 cm 109 m Iron muIoni - 27 -140 m -1.75 m -2.64 m 441 MeV 94.5 MeV 8.66 cm 109 m Iron muIoni - 28 -139 m -1.75 m -2.66 m 358 MeV 83.1 MeV 7.06 cm 109 m Iron muIoni - 29 -139 m -1.73 m -2.67 m 297 MeV 60.4 MeV 5.64 cm 109 m Iron muIoni - 30 -139 m -1.72 m -2.68 m 246 MeV 51.4 MeV 4.6 cm 109 m Iron muIoni - 31 -139 m -1.71 m -2.69 m 205 MeV 41 MeV 3.71 cm 109 m Iron muIoni - 32 -139 m -1.7 m -2.69 m 173 MeV 31.6 MeV 3 cm 109 m Iron muIoni - 33 -139 m -1.7 m -2.7 m 145 MeV 28.2 MeV 2.47 cm 109 m Iron muIoni - 34 -139 m -1.7 m -2.7 m 122 MeV 23.5 MeV 1.99 cm 109 m Iron muIoni - 35 -139 m -1.7 m -2.71 m 101 MeV 20.4 MeV 1.61 cm 109 m Iron muIoni - 36 -139 m -1.7 m -2.71 m 85.4 MeV 16 MeV 1.28 cm 109 m Iron muIoni - 37 -139 m -1.7 m -2.71 m 73 MeV 12.5 MeV 1.04 cm 109 m Iron muIoni - 38 -139 m -1.7 m -2.71 m 61.3 MeV 11.6 MeV 8.6 mm 109 m Iron muIoni - 39 -139 m -1.71 m -2.71 m 51.2 MeV 10.1 MeV 6.98 mm 109 m Iron muIoni - 40 -139 m -1.71 m -2.72 m 42.4 MeV 8.79 MeV 5.66 mm 109 m Iron muIoni - 41 -139 m -1.71 m -2.72 m 32.9 MeV 9.51 MeV 4.6 mm 109 m Iron muIoni - 42 -139 m -1.71 m -2.72 m 25.4 MeV 7.52 MeV 3.55 mm 109 m Iron muIoni - 43 -139 m -1.71 m -2.72 m 18.4 MeV 6.99 MeV 2.8 mm 109 m Iron muIoni - 44 -139 m -1.71 m -2.72 m 11.9 MeV 6.54 MeV 2.16 mm 109 m Iron muIoni - 45 -139 m -1.71 m -2.72 m 4.33 MeV 7.55 MeV 1.52 mm 109 m Iron muIoni - 46 -139 m -1.71 m -2.72 m 0 eV 4.33 MeV 308 um 109 m Iron muIoni - 47 -139 m -1.71 m -2.72 m 0 eV 0 eV 0 fm 109 m Iron Decay + 0 -247 m 0 fm 0 fm 493 GeV 0 eV 0 fm 0 fm Iron initStep + 1 -212 m 6.41 cm -4.41 cm 351 GeV 142 GeV 35.2 m 35.2 m Iron muIoni + 2 -184 m 12.4 cm -12.7 cm 270 GeV 81.3 GeV 28.2 m 63.5 m Iron muIoni + 3 -160 m 24.1 cm -16 cm 211 GeV 58.8 GeV 23.5 m 87 m Iron muIoni + 4 -140 m 27.7 cm -16.9 cm 100 GeV 111 GeV 19.6 m 107 m Iron muIoni + 5 -130 m 37.6 cm -24.1 cm 78.7 GeV 21.7 GeV 10.9 m 117 m Iron muIoni + 6 -121 m 49.4 cm -25 cm 62.8 GeV 15.8 GeV 8.84 m 126 m Iron muIoni + 7 -113 m 66 cm -13.7 cm 48.1 GeV 14.8 GeV 7.28 m 134 m Iron muIoni + 8 -108 m 82.7 cm -3.99 cm 38.7 GeV 9.39 GeV 5.75 m 139 m Iron muIoni + 9 -103 m 94.4 cm -2.33 mm 30.8 GeV 7.92 GeV 4.75 m 144 m Iron muIoni + 10 -99.1 m 1.04 m 4.14 mm 23.3 GeV 7.43 GeV 3.87 m 148 m Iron muIoni + 11 -96.1 m 1.15 m -2.9 cm 18.9 GeV 4.46 GeV 3.02 m 151 m Iron muIoni + 12 -93.6 m 1.23 m -3.5 cm 15.3 GeV 3.58 GeV 2.49 m 153 m Iron muIoni + 13 -91.5 m 1.33 m -7.7 cm 12.4 GeV 2.87 GeV 2.06 m 156 m Iron muIoni + 14 -89.8 m 1.43 m -9.07 cm 9.82 GeV 2.6 GeV 1.7 m 157 m Iron muIoni + 15 -88.5 m 1.52 m -10.6 cm 8.1 GeV 1.71 GeV 1.37 m 159 m Iron muIoni + 16 -87.3 m 1.61 m -9.24 cm 6.49 GeV 1.61 GeV 1.15 m 160 m Iron muIoni + 17 -86.4 m 1.7 m -7.3 cm 5.24 GeV 1.26 GeV 94.1 cm 161 m Iron muIoni + 18 -85.6 m 1.78 m -5.25 cm 4.23 GeV 1.01 GeV 77.2 cm 161 m Iron muIoni + 19 -85 m 1.82 m -4.63 cm 3.46 GeV 770 MeV 63.5 cm 162 m Iron muIoni + 20 -84.4 m 1.85 m -5.44 cm 2.79 GeV 670 MeV 52.7 cm 163 m Iron muIoni + 21 -84 m 1.87 m -6.22 cm 2.25 GeV 540 MeV 43.2 cm 163 m Iron muIoni + 22 -83.7 m 1.88 m -6.47 cm 1.79 GeV 464 MeV 35.3 cm 163 m Iron muIoni + 23 -83.4 m 1.88 m -7.01 cm 1.45 GeV 337 MeV 28.4 cm 164 m Iron muIoni + 24 -83.1 m 1.89 m -9.43 cm 1.17 GeV 281 MeV 23.3 cm 164 m Iron muIoni + 25 -83 m 1.91 m -11.7 cm 943 MeV 226 MeV 18.9 cm 164 m Iron muIoni + 26 -82.8 m 1.92 m -12.6 cm 743 MeV 200 MeV 15.3 cm 164 m Iron muIoni + 27 -82.7 m 1.94 m -12.5 cm 598 MeV 145 MeV 12.1 cm 164 m Iron muIoni + 28 -82.6 m 1.95 m -12.5 cm 481 MeV 117 MeV 9.71 cm 165 m Iron muIoni + 29 -82.5 m 1.96 m -12.5 cm 396 MeV 85.4 MeV 7.74 cm 165 m Iron muIoni + 30 -82.5 m 1.96 m -12.6 cm 332 MeV 63.9 MeV 6.29 cm 165 m Iron muIoni + 31 -82.4 m 1.97 m -12.4 cm 269 MeV 63.1 MeV 5.19 cm 165 m Iron muIoni + 32 -82.4 m 1.98 m -12.2 cm 221 MeV 47.5 MeV 4.1 cm 165 m Iron muIoni + 33 -82.3 m 1.98 m -12.6 cm 181 MeV 39.7 MeV 3.28 cm 165 m Iron muIoni + 34 -82.3 m 2 m -13.3 cm 152 MeV 29.9 MeV 2.6 cm 165 m Iron muIoni + 35 -82.3 m 2.01 m -13.6 cm 129 MeV 22.9 MeV 2.1 cm 165 m Iron muIoni + 36 -82.3 m 2.02 m -13.9 cm 109 MeV 19.6 MeV 1.72 cm 165 m Iron muIoni + 37 -82.3 m 2.03 m -14.2 cm 91.5 MeV 17.4 MeV 1.4 cm 165 m Iron muIoni + 38 -82.3 m 2.04 m -14.3 cm 74.2 MeV 17.4 MeV 1.13 cm 165 m Iron muIoni + 39 -82.3 m 2.05 m -14.2 cm 61.1 MeV 13 MeV 8.77 mm 165 m Iron muIoni + 40 -82.2 m 2.05 m -14.3 cm 49 MeV 12.1 MeV 6.95 mm 165 m Iron muIoni + 41 -82.2 m 2.06 m -14.3 cm 39.2 MeV 9.78 MeV 5.38 mm 165 m Iron muIoni + 42 -82.2 m 2.06 m -14.2 cm 30.5 MeV 8.71 MeV 4.23 mm 165 m Iron muIoni + 43 -82.2 m 2.06 m -14.2 cm 23.9 MeV 6.6 MeV 3.3 mm 165 m Iron muIoni + 44 -82.2 m 2.06 m -14 cm 16.4 MeV 7.54 MeV 2.66 mm 165 m Iron muIoni + 45 -82.2 m 2.06 m -13.8 cm 9.23 MeV 7.12 MeV 1.97 mm 165 m Iron muIoni + 46 -82.2 m 2.06 m -13.7 cm 1.08 MeV 8.16 MeV 1.14 mm 165 m Iron muIoni + 47 -82.2 m 2.06 m -13.7 cm 0 eV 1.08 MeV 27.7 um 165 m Iron muIoni + 48 -82.2 m 2.06 m -13.7 cm 0 eV 0 eV 0 fm 165 m Iron Decay ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 9, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -139 m -1.71 m -2.72 m 42.3 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m 169 m -97.5 m 42.3 MeV 0 eV 224 m 224 m OutOfWorld Transportation + 0 -82.2 m 2.06 m -13.7 cm 44.9 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -250 m 3.08 m -32.4 m 44.9 MeV 0 eV 171 m 171 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = nu_e, Track ID = 8, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -139 m -1.71 m -2.72 m 14.2 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m -15.4 m 28.2 m 14.2 MeV 0 eV 116 m 116 m OutOfWorld Transportation + 0 -82.2 m 2.06 m -13.7 cm 17 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -16.6 m -250 m 157 m 17 MeV 0 eV 304 m 304 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = anti_nu_mu, Track ID = 7, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -139 m -1.71 m -2.72 m 48.1 MeV 0 eV 0 fm 0 fm Iron initStep - 1 142 m -250 m 112 m 48.1 MeV 0 eV 392 m 392 m OutOfWorld Transportation + 0 -82.2 m 2.06 m -13.7 cm 42.7 MeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m 115 m -2.65 m 42.7 MeV 0 eV 351 m 351 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 @@ -692,169 +732,169 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -250 m 0 fm 0 fm 1e+03 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -248 m 0 fm 0 fm 0 eV 0 eV 2.05 m 2.05 m Iron AnnihiToMuPair + 1 -247 m 0 fm 0 fm 0 eV 0 eV 3.08 m 3.08 m Iron AnnihiToMuPair ********************************************************************************************************* * G4Track Information: Particle = mu-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -248 m 0 fm 0 fm 876 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -199 m 9.29 mm -1.5 cm 619 GeV 257 GeV 48.9 m 48.9 m Iron muIoni - 2 -159 m -7.53 cm 3.12 cm 449 GeV 170 GeV 40.4 m 89.4 m Iron muIoni - 3 -125 m -18.8 cm 6.18 cm 332 GeV 117 GeV 33.2 m 123 m Iron muIoni - 4 -98.2 m -24.8 cm 4.46 cm 252 GeV 79.7 GeV 27.2 m 150 m Iron muIoni - 5 -75.8 m -33 cm 2.19 cm 197 GeV 55.1 GeV 22.4 m 172 m Iron muIoni - 6 -57.1 m -30.6 cm -6.08 cm 152 GeV 45.1 GeV 18.7 m 191 m Iron muIoni - 7 -41.8 m -21.9 cm -3.75 cm 122 GeV 29.6 GeV 15.2 m 206 m Iron muIoni - 8 -29 m -15.4 cm 7.41 mm 94.1 GeV 28.2 GeV 12.8 m 219 m Iron muIoni - 9 -18.7 m -6.98 cm 11.7 cm 75.2 GeV 19 GeV 10.3 m 229 m Iron muIoni - 10 -10.2 m -5.32 cm 14.9 cm 59.8 GeV 15.3 GeV 8.51 m 238 m Iron muIoni - 11 -3.25 m -2.9 cm 11.5 cm 48.1 GeV 11.7 GeV 6.98 m 245 m Iron muIoni - 12 2.52 m 2.39 cm 8.84 cm 29.7 GeV 18.4 GeV 5.77 m 250 m Iron muIoni - 13 6.27 m 1.65 cm 2.52 mm 23.3 GeV 6.48 GeV 3.76 m 254 m Iron muIoni - 14 9.28 m 7.31 mm -4.96 cm 18.9 GeV 4.35 GeV 3.01 m 257 m Iron muIoni - 15 11.8 m -6.78 cm -4.58 cm 15.4 GeV 3.52 GeV 2.5 m 260 m Iron muIoni - 16 13.9 m -14 cm -6.18 cm 12.3 GeV 3.13 GeV 2.07 m 262 m Iron muIoni - 17 15.5 m -16.8 cm -4.98 cm 9.96 GeV 2.3 GeV 1.69 m 263 m Iron muIoni - 18 16.9 m -17.5 cm 4.6 cm 8.18 GeV 1.78 GeV 1.39 m 265 m Iron muIoni - 19 18.1 m -18 cm 16.2 cm 6.63 GeV 1.55 GeV 1.16 m 266 m Iron muIoni - 20 19 m -19.1 cm 28.4 cm 5.35 GeV 1.29 GeV 96.1 cm 267 m Iron muIoni - 21 19.8 m -20.4 cm 35.4 cm 4.13 GeV 1.21 GeV 78.8 cm 268 m Iron muIoni - 22 20.4 m -22.7 cm 42.9 cm 3.34 GeV 797 MeV 62.2 cm 268 m Iron muIoni - 23 20.9 m -24.6 cm 49.3 cm 2.7 GeV 634 MeV 51 cm 269 m Iron muIoni - 24 21.4 m -25.3 cm 54 cm 2.11 GeV 588 MeV 42 cm 269 m Iron muIoni - 25 21.7 m -25.4 cm 57.6 cm 1.65 GeV 464 MeV 33.4 cm 270 m Iron muIoni - 26 22 m -25.7 cm 60.6 cm 1.32 GeV 328 MeV 26.4 cm 270 m Iron muIoni - 27 22.2 m -27 cm 64.6 cm 999 MeV 323 MeV 21.4 cm 270 m Iron muIoni - 28 22.3 m -26.9 cm 68.2 cm 814 MeV 185 MeV 16.3 cm 270 m Iron muIoni - 29 22.4 m -28.3 cm 73.9 cm 626 MeV 188 MeV 13.3 cm 270 m Iron muIoni - 30 22.5 m -31.3 cm 78.6 cm 502 MeV 124 MeV 10.2 cm 271 m Iron muIoni - 31 22.6 m -33.1 cm 82.6 cm 396 MeV 106 MeV 8.11 cm 271 m Iron muIoni - 32 22.6 m -34.7 cm 86.2 cm 323 MeV 73.6 MeV 6.31 cm 271 m Iron muIoni - 33 22.7 m -36.4 cm 89 cm 269 MeV 54 MeV 5.04 cm 271 m Iron muIoni - 34 22.7 m -38.1 cm 91.1 cm 222 MeV 47 MeV 4.11 cm 271 m Iron muIoni - 35 22.7 m -39.5 cm 93 cm 187 MeV 34.7 MeV 3.3 cm 271 m Iron muIoni - 36 22.8 m -40.6 cm 94.4 cm 152 MeV 35.3 MeV 2.7 cm 271 m Iron muIoni - 37 22.8 m -41.4 cm 95.6 cm 127 MeV 24.4 MeV 2.1 cm 271 m Iron muIoni - 38 22.8 m -42.1 cm 96.6 cm 108 MeV 19.7 MeV 1.7 cm 271 m Iron muIoni - 39 22.8 m -42.6 cm 97.5 cm 90.4 MeV 17.2 MeV 1.38 cm 271 m Iron muIoni - 40 22.8 m -42.9 cm 98.2 cm 71.2 MeV 19.2 MeV 1.12 cm 271 m Iron muIoni - 41 22.8 m -43.1 cm 98.7 cm 60.1 MeV 11 MeV 8.35 mm 271 m Iron muIoni - 42 22.8 m -43.2 cm 99.1 cm 49.8 MeV 10.3 MeV 6.83 mm 271 m Iron muIoni - 43 22.8 m -43.3 cm 99.4 cm 39.9 MeV 9.98 MeV 5.49 mm 271 m Iron muIoni - 44 22.8 m -43.4 cm 99.6 cm 32.1 MeV 7.73 MeV 4.3 mm 271 m Iron muIoni - 45 22.8 m -43.4 cm 99.8 cm 24.8 MeV 7.34 MeV 3.46 mm 271 m Iron muIoni - 46 22.8 m -43.5 cm 99.9 cm 17.4 MeV 7.36 MeV 2.74 mm 271 m Iron muIoni - 47 22.8 m -43.6 cm 1 m 10.8 MeV 6.65 MeV 2.07 mm 271 m Iron muIoni - 48 22.8 m -43.7 cm 1 m 3 MeV 7.79 MeV 1.38 mm 271 m Iron muIoni - 49 22.8 m -43.7 cm 1 m 0 eV 3 MeV 161 um 271 m Iron muIoni - 50 22.8 m -43.7 cm 1 m 0 eV 0 eV 0 fm 271 m Iron Decay + 0 -247 m 0 fm 0 fm 818 GeV 0 eV 0 fm 0 fm Iron initStep + 1 -200 m 3.47 cm 5.74 cm 595 GeV 223 GeV 47.3 m 47.3 m Iron muIoni + 2 -160 m 3.43 cm 16.3 cm 441 GeV 154 GeV 39.5 m 86.7 m Iron muIoni + 3 -127 m -7.37 cm 29.7 cm 327 GeV 114 GeV 32.8 m 120 m Iron muIoni + 4 -100 m -14.3 cm 41.5 cm 251 GeV 76.1 GeV 27 m 147 m Iron muIoni + 5 -78 m -14.2 cm 56.8 cm 193 GeV 58.6 GeV 22.4 m 169 m Iron muIoni + 6 -59.7 m -15.9 cm 82.4 cm 153 GeV 39.5 GeV 18.3 m 187 m Iron muIoni + 7 -44.4 m -22.8 cm 1.01 m 119 GeV 33.8 GeV 15.3 m 203 m Iron muIoni + 8 -31.8 m -26 cm 1.14 m 89.8 GeV 29.5 GeV 12.5 m 215 m Iron muIoni + 9 -21.9 m -30.1 cm 1.25 m 71.1 GeV 18.7 GeV 9.89 m 225 m Iron muIoni + 10 -13.8 m -34 cm 1.41 m 50.7 GeV 20.3 GeV 8.1 m 233 m Iron muIoni + 11 -7.79 m -39.6 cm 1.53 m 41.1 GeV 9.61 GeV 6.04 m 239 m Iron muIoni + 12 -2.77 m -44.6 cm 1.59 m 32.2 GeV 8.95 GeV 5.02 m 244 m Iron muIoni + 13 1.26 m -51.9 cm 1.56 m 24.7 GeV 7.41 GeV 4.03 m 248 m Iron muIoni + 14 4.45 m -53.4 cm 1.58 m 19.5 GeV 5.27 GeV 3.19 m 251 m Iron muIoni + 15 7 m -79.4 cm 1.6 m 15.2 GeV 4.23 GeV 2.57 m 254 m Iron muIoni + 16 9.04 m -98.1 cm 1.63 m 12.4 GeV 2.89 GeV 2.05 m 256 m Iron muIoni + 17 10.7 m -1.19 m 1.62 m 10 GeV 2.34 GeV 1.7 m 258 m Iron muIoni + 18 12.1 m -1.38 m 1.62 m 7.99 GeV 2.02 GeV 1.4 m 259 m Iron muIoni + 19 13.2 m -1.55 m 1.62 m 6.61 GeV 1.38 GeV 1.14 m 260 m Iron muIoni + 20 14.2 m -1.69 m 1.63 m 3.72 GeV 2.89 GeV 95.8 cm 261 m Iron muIoni + 21 14.7 m -1.77 m 1.63 m 3 GeV 720 MeV 56.4 cm 262 m Iron muIoni + 22 15.2 m -1.82 m 1.64 m 2.41 GeV 590 MeV 46.2 cm 262 m Iron muIoni + 23 15.6 m -1.86 m 1.64 m 1.95 GeV 463 MeV 37.7 cm 263 m Iron muIoni + 24 15.9 m -1.89 m 1.66 m 1.36 GeV 584 MeV 30.8 cm 263 m Iron muIoni + 25 16.1 m -1.91 m 1.67 m 1.12 GeV 243 MeV 22 cm 263 m Iron muIoni + 26 16.3 m -1.91 m 1.66 m 903 MeV 216 MeV 18.2 cm 263 m Iron muIoni + 27 16.4 m -1.91 m 1.66 m 714 MeV 188 MeV 14.7 cm 263 m Iron muIoni + 28 16.5 m -1.92 m 1.66 m 588 MeV 127 MeV 11.7 cm 264 m Iron muIoni + 29 16.6 m -1.92 m 1.66 m 473 MeV 115 MeV 9.55 cm 264 m Iron muIoni + 30 16.7 m -1.92 m 1.67 m 374 MeV 98.9 MeV 7.62 cm 264 m Iron muIoni + 31 16.8 m -1.93 m 1.67 m 302 MeV 72.6 MeV 5.93 cm 264 m Iron muIoni + 32 16.8 m -1.94 m 1.67 m 245 MeV 56.2 MeV 4.68 cm 264 m Iron muIoni + 33 16.9 m -1.95 m 1.67 m 204 MeV 41.2 MeV 3.7 cm 264 m Iron muIoni + 34 16.9 m -1.96 m 1.67 m 169 MeV 34.8 MeV 2.99 cm 264 m Iron muIoni + 35 16.9 m -1.97 m 1.68 m 143 MeV 26.5 MeV 2.4 cm 264 m Iron muIoni + 36 16.9 m -1.98 m 1.68 m 119 MeV 24.3 MeV 1.96 cm 264 m Iron muIoni + 37 16.9 m -1.98 m 1.68 m 99.4 MeV 19.2 MeV 1.56 cm 264 m Iron muIoni + 38 17 m -1.99 m 1.69 m 82.5 MeV 16.9 MeV 1.25 cm 264 m Iron muIoni + 39 17 m -1.99 m 1.69 m 68.6 MeV 14 MeV 9.99 mm 264 m Iron muIoni + 40 17 m -1.99 m 1.69 m 56.8 MeV 11.8 MeV 7.99 mm 264 m Iron muIoni + 41 17 m -2 m 1.69 m 46.3 MeV 10.4 MeV 6.39 mm 264 m Iron muIoni + 42 17 m -2 m 1.69 m 37.7 MeV 8.64 MeV 5.07 mm 264 m Iron muIoni + 43 17 m -2 m 1.7 m 30 MeV 7.68 MeV 4.07 mm 264 m Iron muIoni + 44 17 m -2 m 1.7 m 23.1 MeV 6.9 MeV 3.25 mm 264 m Iron muIoni + 45 17 m -2 m 1.7 m 15.8 MeV 7.29 MeV 2.59 mm 264 m Iron muIoni + 46 17 m -2 m 1.7 m 8.65 MeV 7.18 MeV 1.92 mm 264 m Iron muIoni + 47 17 m -2 m 1.7 m 407 keV 8.25 MeV 1.04 mm 264 m Iron muIoni + 48 17 m -2 m 1.7 m 0 eV 407 keV 5.46 um 264 m Iron muIoni + 49 17 m -2 m 1.7 m 0 eV 0 eV 0 fm 264 m Iron Decay ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 22.8 m -43.7 cm 1 m 42.3 MeV 0 eV 0 fm 0 fm Iron initStep - 1 22.8 m -43.3 cm 1 m 27.9 MeV 14.4 MeV 5.87 mm 5.87 mm Iron eIoni - 2 22.8 m -43.1 cm 1.01 m 17.2 MeV 10.7 MeV 4.86 mm 1.07 cm Iron eIoni - 3 22.8 m -43.1 cm 1.01 m 10.7 MeV 6.52 MeV 3.89 mm 1.46 cm Iron eIoni - 4 22.8 m -43 cm 1.01 m 6.83 MeV 3.89 MeV 3.14 mm 1.78 cm Iron eIoni - 5 22.8 m -43 cm 1 m 3.66 MeV 3.18 MeV 2.58 mm 2.03 cm Iron eIoni - 6 22.8 m -43 cm 1 m 1.57 MeV 2.09 MeV 1.97 mm 2.23 cm Iron eIoni - 7 22.8 m -43 cm 1 m 0 eV 1.57 MeV 1.25 mm 2.36 cm Iron eIoni + 0 17 m -2 m 1.7 m 17 MeV 0 eV 0 fm 0 fm Iron initStep + 1 17 m -2 m 1.7 m 7.19 MeV 9.78 MeV 3.86 mm 3.86 mm Iron eIoni + 2 17 m -2 m 1.7 m 3.56 MeV 3.63 MeV 2.63 mm 6.5 mm Iron eIoni + 3 17 m -2 m 1.7 m 1.51 MeV 2.05 MeV 1.95 mm 8.45 mm Iron eIoni + 4 17 m -2 m 1.7 m 44.3 keV 1.46 MeV 1.21 mm 9.65 mm Iron eIoni + 5 17 m -2 m 1.7 m 0 eV 44.3 keV 6.92 um 9.66 mm Iron eIoni ********************************************************************************************************* * G4Track Information: Particle = anti_nu_e, Track ID = 5, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 22.8 m -43.7 cm 1 m 33.7 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -98.9 m 9.61 m -250 m 33.7 MeV 0 eV 279 m 279 m OutOfWorld Transportation + 0 17 m -2 m 1.7 m 43.4 MeV 0 eV 0 fm 0 fm Iron initStep + 1 164 m -250 m 60.5 m 43.4 MeV 0 eV 294 m 294 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = nu_mu, Track ID = 4, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 22.8 m -43.7 cm 1 m 28.7 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -159 m -250 m 111 m 28.7 MeV 0 eV 328 m 328 m OutOfWorld Transportation + 0 17 m -2 m 1.7 m 44.3 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -181 m 250 m 55.2 m 44.3 MeV 0 eV 325 m 325 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = mu+, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -248 m 0 fm 0 fm 124 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -235 m 2.11 cm 2.95 cm 92.6 GeV 31.1 GeV 12.9 m 12.9 m Iron muIoni - 2 -225 m 1.5 cm 8 cm 72.5 GeV 20.1 GeV 10.1 m 23 m Iron muIoni - 3 -217 m 1.94 cm 9.45 cm 56.5 GeV 15.9 GeV 8.23 m 31.3 m Iron muIoni - 4 -210 m 7.23 cm 16.8 cm 45.8 GeV 10.7 GeV 6.63 m 37.9 m Iron muIoni - 5 -205 m 4.14 cm 24.9 cm 35.4 GeV 10.5 GeV 5.52 m 43.4 m Iron muIoni - 6 -200 m 5.08 cm 37.5 cm 29 GeV 6.38 GeV 4.38 m 47.8 m Iron muIoni - 7 -196 m 4.76 cm 48.8 cm 23.8 GeV 5.21 GeV 3.66 m 51.5 m Iron muIoni - 8 -193 m 4.62 cm 59.3 cm 19 GeV 4.78 GeV 3.07 m 54.5 m Iron muIoni - 9 -191 m 9.01 cm 71.1 cm 12.5 GeV 6.49 GeV 2.5 m 57 m Iron muIoni - 10 -189 m 10.3 cm 81.8 cm 10.2 GeV 2.31 GeV 1.71 m 58.7 m Iron muIoni - 11 -188 m 8.75 cm 84.9 cm 8.09 GeV 2.1 GeV 1.42 m 60.2 m Iron muIoni - 12 -187 m 10.8 cm 86.1 cm 6.44 GeV 1.65 GeV 1.15 m 61.3 m Iron muIoni - 13 -186 m 12.9 cm 89.5 cm 5.14 GeV 1.31 GeV 93.4 cm 62.2 m Iron muIoni - 14 -185 m 11.8 cm 92.4 cm 4.2 GeV 940 MeV 75.9 cm 63 m Iron muIoni - 15 -184 m 11.2 cm 88.4 cm 3.39 GeV 812 MeV 63 cm 63.6 m Iron muIoni - 16 -184 m 12.8 cm 84.9 cm 2.64 GeV 752 MeV 51.6 cm 64.1 m Iron muIoni - 17 -183 m 13.5 cm 82.6 cm 2.17 GeV 464 MeV 40.9 cm 64.6 m Iron muIoni - 18 -183 m 13.1 cm 81.5 cm 1.74 GeV 436 MeV 34.1 cm 64.9 m Iron muIoni - 19 -183 m 12 cm 78.7 cm 1.41 GeV 326 MeV 27.6 cm 65.2 m Iron muIoni - 20 -183 m 11.6 cm 76.5 cm 1.14 GeV 268 MeV 22.7 cm 65.4 m Iron muIoni - 21 -182 m 10.8 cm 75.6 cm 894 MeV 247 MeV 18.5 cm 65.6 m Iron muIoni - 22 -182 m 10.6 cm 73.6 cm 719 MeV 175 MeV 14.5 cm 65.7 m Iron muIoni - 23 -182 m 10.6 cm 72.4 cm 591 MeV 128 MeV 11.7 cm 65.8 m Iron muIoni - 24 -182 m 9.42 cm 71 cm 484 MeV 107 MeV 9.59 cm 65.9 m Iron muIoni - 25 -182 m 7.96 cm 69.5 cm 405 MeV 79.3 MeV 7.8 cm 66 m Iron muIoni - 26 -182 m 6.13 cm 66.9 cm 330 MeV 75.6 MeV 6.45 cm 66.1 m Iron muIoni - 27 -182 m 4.66 cm 65.2 cm 272 MeV 57 MeV 5.15 cm 66.1 m Iron muIoni - 28 -182 m 3.24 cm 63.6 cm 225 MeV 47.4 MeV 4.16 cm 66.2 m Iron muIoni - 29 -182 m 2.08 cm 62.7 cm 183 MeV 41.7 MeV 3.35 cm 66.2 m Iron muIoni - 30 -182 m 8.72 mm 62.4 cm 154 MeV 29 MeV 2.63 cm 66.2 m Iron muIoni - 31 -182 m -1.34 mm 62.2 cm 131 MeV 23.1 MeV 2.14 cm 66.3 m Iron muIoni - 32 -182 m -1.01 cm 61.9 cm 112 MeV 19.5 MeV 1.76 cm 66.3 m Iron muIoni - 33 -182 m -1.9 cm 61.8 cm 93.8 MeV 18.1 MeV 1.45 cm 66.3 m Iron muIoni - 34 -182 m -2.61 cm 61.7 cm 78.5 MeV 15.3 MeV 1.17 cm 66.3 m Iron muIoni - 35 -182 m -3.23 cm 61.5 cm 66.2 MeV 12.3 MeV 9.37 mm 66.3 m Iron muIoni - 36 -182 m -3.79 cm 61.3 cm 54.9 MeV 11.3 MeV 7.64 mm 66.3 m Iron muIoni - 37 -182 m -4.22 cm 61.3 cm 44.9 MeV 9.97 MeV 6.14 mm 66.3 m Iron muIoni - 38 -182 m -4.63 cm 61.3 cm 36.4 MeV 8.49 MeV 4.9 mm 66.3 m Iron muIoni - 39 -182 m -4.95 cm 61.3 cm 27.9 MeV 8.51 MeV 3.93 mm 66.3 m Iron muIoni - 40 -182 m -5.2 cm 61.2 cm 20.4 MeV 7.56 MeV 3.05 mm 66.3 m Iron muIoni - 41 -182 m -5.4 cm 61.2 cm 13.9 MeV 6.45 MeV 2.33 mm 66.3 m Iron muIoni - 42 -182 m -5.56 cm 61.2 cm 6.98 MeV 6.95 MeV 1.74 mm 66.3 m Iron muIoni - 43 -182 m -5.63 cm 61.2 cm 0 eV 6.98 MeV 712 um 66.3 m Iron muIoni - 44 -182 m -5.63 cm 61.2 cm 0 eV 0 eV 0 fm 66.3 m Iron Decay + 0 -247 m 0 fm 0 fm 182 GeV 0 eV 0 fm 0 fm Iron initStep + 1 -229 m -1.82 cm 9.53 mm 145 GeV 37 GeV 17.5 m 17.5 m Iron muIoni + 2 -215 m -3.63 cm 4.31 cm 115 GeV 29.3 GeV 14.6 m 32.1 m Iron muIoni + 3 -203 m -5.18 cm 12.9 cm 90.7 GeV 24.7 GeV 12.2 m 44.3 m Iron muIoni + 4 -193 m -7.26 cm 25.6 cm 72.8 GeV 17.8 GeV 9.96 m 54.2 m Iron muIoni + 5 -184 m -19.3 cm 41.8 cm 55.3 GeV 17.5 GeV 8.26 m 62.5 m Iron muIoni + 6 -178 m -23.3 cm 58 cm 44.5 GeV 10.7 GeV 6.5 m 69 m Iron muIoni + 7 -173 m -31 cm 70.1 cm 35.5 GeV 9.05 GeV 5.38 m 74.4 m Iron muIoni + 8 -168 m -38.7 cm 76.9 cm 28.6 GeV 6.91 GeV 4.39 m 78.8 m Iron muIoni + 9 -165 m -44.1 cm 82.3 cm 22.5 GeV 6.11 GeV 3.62 m 82.4 m Iron muIoni + 10 -162 m -50 cm 90.9 cm 17.5 GeV 4.96 GeV 2.91 m 85.3 m Iron muIoni + 11 -159 m -53 cm 1 m 14.3 GeV 3.23 GeV 2.33 m 87.6 m Iron muIoni + 12 -157 m -54 cm 1.1 m 11.7 GeV 2.59 GeV 1.93 m 89.6 m Iron muIoni + 13 -156 m -55.2 cm 1.17 m 9.57 GeV 2.13 GeV 1.61 m 91.2 m Iron muIoni + 14 -154 m -57.4 cm 1.22 m 7.93 GeV 1.63 GeV 1.34 m 92.5 m Iron muIoni + 15 -153 m -58.6 cm 1.26 m 6.11 GeV 1.82 GeV 1.13 m 93.7 m Iron muIoni + 16 -152 m -59.1 cm 1.31 m 4.88 GeV 1.23 GeV 88.9 cm 94.5 m Iron muIoni + 17 -152 m -61.5 cm 1.33 m 3.89 GeV 993 MeV 72.4 cm 95.3 m Iron muIoni + 18 -151 m -63 cm 1.38 m 2.99 GeV 901 MeV 58.7 cm 95.9 m Iron muIoni + 19 -151 m -66.2 cm 1.44 m 2.41 GeV 578 MeV 46 cm 96.3 m Iron muIoni + 20 -150 m -69.1 cm 1.49 m 1.98 GeV 433 MeV 37.7 cm 96.7 m Iron muIoni + 21 -150 m -71.8 cm 1.53 m 1.63 GeV 351 MeV 31.3 cm 97 m Iron muIoni + 22 -150 m -75.5 cm 1.57 m 1.31 GeV 318 MeV 26 cm 97.3 m Iron muIoni + 23 -149 m -78.7 cm 1.6 m 1.04 GeV 265 MeV 21.1 cm 97.5 m Iron muIoni + 24 -149 m -81.8 cm 1.62 m 857 MeV 188 MeV 17 cm 97.6 m Iron muIoni + 25 -149 m -85.3 cm 1.63 m 694 MeV 163 MeV 14 cm 97.8 m Iron muIoni + 26 -149 m -87.7 cm 1.65 m 562 MeV 132 MeV 11.3 cm 97.9 m Iron muIoni + 27 -149 m -90.7 cm 1.66 m 461 MeV 101 MeV 9.1 cm 98 m Iron muIoni + 28 -149 m -93 cm 1.68 m 360 MeV 101 MeV 7.39 cm 98.1 m Iron muIoni + 29 -149 m -95 cm 1.68 m 296 MeV 63.9 MeV 5.67 cm 98.1 m Iron muIoni + 30 -149 m -96.6 cm 1.69 m 244 MeV 51.6 MeV 4.57 cm 98.2 m Iron muIoni + 31 -149 m -98.1 cm 1.7 m 204 MeV 40 MeV 3.68 cm 98.2 m Iron muIoni + 32 -149 m -97 cm 1.69 m 173 MeV 31 MeV 2.99 cm 98.2 m Iron muIoni + 33 -149 m -96 cm 1.68 m 141 MeV 32.2 MeV 2.46 cm 98.3 m Iron muIoni + 34 -149 m -94.9 cm 1.68 m 118 MeV 23.1 MeV 1.92 cm 98.3 m Iron muIoni + 35 -149 m -94.3 cm 1.67 m 100 MeV 17.6 MeV 1.55 cm 98.3 m Iron muIoni + 36 -149 m -93.8 cm 1.67 m 85.2 MeV 15.2 MeV 1.27 cm 98.3 m Iron muIoni + 37 -149 m -93.6 cm 1.67 m 71.4 MeV 13.7 MeV 1.04 cm 98.3 m Iron muIoni + 38 -149 m -93.4 cm 1.67 m 60.4 MeV 11 MeV 8.38 mm 98.3 m Iron muIoni + 39 -149 m -93.3 cm 1.68 m 49.7 MeV 10.7 MeV 6.86 mm 98.3 m Iron muIoni + 40 -149 m -93.2 cm 1.68 m 39.7 MeV 10 MeV 5.47 mm 98.3 m Iron muIoni + 41 -149 m -93.1 cm 1.67 m 31.3 MeV 8.43 MeV 4.28 mm 98.3 m Iron muIoni + 42 -149 m -93.1 cm 1.67 m 23.2 MeV 8.04 MeV 3.37 mm 98.3 m Iron muIoni + 43 -149 m -93.1 cm 1.67 m 15.9 MeV 7.32 MeV 2.6 mm 98.3 m Iron muIoni + 44 -149 m -93.1 cm 1.67 m 9.03 MeV 6.9 MeV 1.93 mm 98.3 m Iron muIoni + 45 -149 m -93.1 cm 1.67 m 599 keV 8.43 MeV 1.11 mm 98.3 m Iron muIoni + 46 -149 m -93.1 cm 1.67 m 0 eV 599 keV 10.3 um 98.3 m Iron muIoni + 47 -149 m -93.1 cm 1.67 m 0 eV 0 eV 0 fm 98.3 m Iron Decay ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 9, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -182 m -5.63 cm 61.2 cm 32.5 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m -181 m -194 m 32.5 MeV 0 eV 274 m 274 m OutOfWorld Transportation + 0 -149 m -93.1 cm 1.67 m 46.1 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -250 m -72.1 m 41.9 m 46.1 MeV 0 eV 130 m 130 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = nu_e, Track ID = 8, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -182 m -5.63 cm 61.2 cm 23 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m -5.4 m -28.1 m 23 MeV 0 eV 74.3 m 74.3 m OutOfWorld Transportation + 0 -149 m -93.1 cm 1.67 m 7.76 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -250 m 43.9 m 22.9 m 7.76 MeV 0 eV 113 m 113 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = anti_nu_mu, Track ID = 7, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -182 m -5.63 cm 61.2 cm 49.1 MeV 0 eV 0 fm 0 fm Iron initStep - 1 46.5 m 180 m 250 m 49.1 MeV 0 eV 383 m 383 m OutOfWorld Transportation + 0 -149 m -93.1 cm 1.67 m 50.7 MeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m 206 m -145 m 50.7 MeV 0 eV 473 m 473 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 @@ -862,164 +902,167 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -250 m 0 fm 0 fm 1e+03 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -249 m 0 fm 0 fm 0 eV 0 eV 1.11 m 1.11 m Iron AnnihiToMuPair + 1 -247 m 0 fm 0 fm 0 eV 0 eV 2.79 m 2.79 m Iron AnnihiToMuPair ********************************************************************************************************* * G4Track Information: Particle = mu-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -249 m 0 fm 0 fm 61.3 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -242 m -1.72 cm 5.5 mm 48.5 GeV 12.8 GeV 7.13 m 7.13 m Iron muIoni - 2 -236 m -6.77 cm 3.35 cm 28.1 GeV 20.4 GeV 5.81 m 12.9 m Iron muIoni - 3 -232 m -14.1 cm 6.52 cm 21.9 GeV 6.26 GeV 3.57 m 16.5 m Iron muIoni - 4 -230 m -21.5 cm 5.28 cm 17.4 GeV 4.49 GeV 2.85 m 19.4 m Iron muIoni - 5 -227 m -22.6 cm -2.01 cm 13.8 GeV 3.55 GeV 2.31 m 21.7 m Iron muIoni - 6 -225 m -25.1 cm -11.4 cm 11.2 GeV 2.64 GeV 1.88 m 23.6 m Iron muIoni - 7 -224 m -24.4 cm -21.1 cm 9.09 GeV 2.1 GeV 1.55 m 25.1 m Iron muIoni - 8 -223 m -25.1 cm -26.2 cm 7.44 GeV 1.65 GeV 1.28 m 26.4 m Iron muIoni - 9 -221 m -26.2 cm -33.2 cm 5.82 GeV 1.62 GeV 1.07 m 27.5 m Iron muIoni - 10 -221 m -25.9 cm -41.2 cm 4.25 GeV 1.57 GeV 85.2 cm 28.3 m Iron muIoni - 11 -220 m -23.8 cm -46.8 cm 3.33 GeV 923 MeV 63.8 cm 28.9 m Iron muIoni - 12 -219 m -20.7 cm -51.9 cm 2.36 GeV 967 MeV 50.9 cm 29.5 m Iron muIoni - 13 -219 m -16.6 cm -53.9 cm 1.92 GeV 443 MeV 37 cm 29.8 m Iron muIoni - 14 -219 m -13.4 cm -56.7 cm 1.44 GeV 482 MeV 30.4 cm 30.1 m Iron muIoni - 15 -219 m -10.9 cm -58 cm 1.13 GeV 312 MeV 23.1 cm 30.4 m Iron muIoni - 16 -218 m -8.4 cm -59.5 cm 917 MeV 208 MeV 18.3 cm 30.5 m Iron muIoni - 17 -218 m -6.72 cm -61.9 cm 727 MeV 190 MeV 15 cm 30.7 m Iron muIoni - 18 -218 m -5.14 cm -65 cm 598 MeV 129 MeV 11.9 cm 30.8 m Iron muIoni - 19 -218 m -3.65 cm -67.1 cm 491 MeV 107 MeV 9.73 cm 30.9 m Iron muIoni - 20 -218 m -2.58 cm -69 cm 398 MeV 93.1 MeV 7.93 cm 31 m Iron muIoni - 21 -218 m -1.52 cm -70.5 cm 327 MeV 71.7 MeV 6.35 cm 31.1 m Iron muIoni - 22 -218 m -9.7 mm -71.9 cm 256 MeV 70.5 MeV 5.11 cm 31.1 m Iron muIoni - 23 -218 m -7.69 mm -72.9 cm 207 MeV 49.2 MeV 3.89 cm 31.1 m Iron muIoni - 24 -218 m -9.66 mm -73.4 cm 172 MeV 34.6 MeV 3.04 cm 31.2 m Iron muIoni - 25 -218 m -1.04 cm -73.6 cm 144 MeV 28.6 MeV 2.45 cm 31.2 m Iron muIoni - 26 -218 m -1.03 cm -73.8 cm 118 MeV 25.2 MeV 1.97 cm 31.2 m Iron muIoni - 27 -218 m -1.12 cm -73.8 cm 100 MeV 18.3 MeV 1.56 cm 31.2 m Iron muIoni - 28 -218 m -1.22 cm -73.8 cm 83.8 MeV 16.3 MeV 1.26 cm 31.2 m Iron muIoni - 29 -218 m -1.39 cm -73.8 cm 71.3 MeV 12.5 MeV 1.02 cm 31.3 m Iron muIoni - 30 -218 m -1.44 cm -74 cm 58.5 MeV 12.9 MeV 8.37 mm 31.3 m Iron muIoni - 31 -218 m -1.51 cm -74 cm 49 MeV 9.44 MeV 6.61 mm 31.3 m Iron muIoni - 32 -218 m -1.57 cm -74 cm 39.6 MeV 9.4 MeV 5.39 mm 31.3 m Iron muIoni - 33 -218 m -1.65 cm -74 cm 31.9 MeV 7.74 MeV 4.27 mm 31.3 m Iron muIoni - 34 -218 m -1.75 cm -74 cm 24.5 MeV 7.34 MeV 3.43 mm 31.3 m Iron muIoni - 35 -218 m -1.85 cm -74.1 cm 18 MeV 6.54 MeV 2.72 mm 31.3 m Iron muIoni - 36 -218 m -1.87 cm -74.2 cm 11.2 MeV 6.8 MeV 2.12 mm 31.3 m Iron muIoni - 37 -218 m -1.88 cm -74.2 cm 3.24 MeV 7.96 MeV 1.43 mm 31.3 m Iron muIoni - 38 -218 m -1.89 cm -74.2 cm 0 eV 3.24 MeV 183 um 31.3 m Iron muIoni - 39 -218 m -1.89 cm -74.2 cm 0 eV 0 eV 0 fm 31.3 m Iron Decay + 0 -247 m 0 fm 0 fm 777 GeV 0 eV 0 fm 0 fm Iron initStep + 1 -201 m 1.99 mm 2.4 cm 513 GeV 264 GeV 46 m 46 m Iron muIoni + 2 -165 m 3.03 cm -2.31 cm 323 GeV 190 GeV 36.1 m 82.1 m Iron muIoni + 3 -138 m 2.69 cm 1.15 cm 238 GeV 85.2 GeV 26.7 m 109 m Iron muIoni + 4 -117 m -1.75 cm -1 cm 184 GeV 53.7 GeV 21.5 m 130 m Iron muIoni + 5 -99.2 m 8.75 cm -6.03 cm 145 GeV 38.8 GeV 17.7 m 148 m Iron muIoni + 6 -84.5 m 15.5 cm -11.9 cm 116 GeV 29.1 GeV 14.7 m 163 m Iron muIoni + 7 -72.3 m 7.61 cm -5.09 cm 91.4 GeV 24.7 GeV 12.3 m 175 m Iron muIoni + 8 -62.2 m 10 cm 6.93 cm 71.7 GeV 19.7 GeV 10 m 185 m Iron muIoni + 9 -54.1 m 16 cm 20.4 cm 46.9 GeV 24.9 GeV 8.17 m 193 m Iron muIoni + 10 -48.4 m 22.5 cm 31.4 cm 34.4 GeV 12.5 GeV 5.63 m 199 m Iron muIoni + 11 -44.2 m 29.2 cm 40.9 cm 27 GeV 7.41 GeV 4.28 m 203 m Iron muIoni + 12 -40.7 m 35.9 cm 44.4 cm 21.3 GeV 5.68 GeV 3.44 m 206 m Iron muIoni + 13 -37.9 m 49.1 cm 48.4 cm 17 GeV 4.3 GeV 2.78 m 209 m Iron muIoni + 14 -35.7 m 64.3 cm 52.8 cm 13.9 GeV 3.13 GeV 2.27 m 212 m Iron muIoni + 15 -33.8 m 79.9 cm 75.3 cm 11.4 GeV 2.51 GeV 1.88 m 213 m Iron muIoni + 16 -32.3 m 90.9 cm 95 cm 9.01 GeV 2.35 GeV 1.57 m 215 m Iron muIoni + 17 -31 m 1 m 1.1 m 7.16 GeV 1.85 GeV 1.27 m 216 m Iron muIoni + 18 -30 m 1.1 m 1.23 m 5.6 GeV 1.55 GeV 1.03 m 217 m Iron muIoni + 19 -29.2 m 1.15 m 1.33 m 4.55 GeV 1.06 GeV 82.3 cm 218 m Iron muIoni + 20 -28.5 m 1.2 m 1.39 m 3.63 GeV 912 MeV 67.9 cm 219 m Iron muIoni + 21 -28 m 1.25 m 1.42 m 2.93 GeV 701 MeV 55.2 cm 219 m Iron muIoni + 22 -27.5 m 1.29 m 1.45 m 2.26 GeV 678 MeV 45.3 cm 220 m Iron muIoni + 23 -27.2 m 1.32 m 1.51 m 1.81 GeV 449 MeV 35.4 cm 220 m Iron muIoni + 24 -26.9 m 1.34 m 1.56 m 1.45 GeV 359 MeV 28.7 cm 220 m Iron muIoni + 25 -26.6 m 1.36 m 1.61 m 1.16 GeV 289 MeV 23.3 cm 221 m Iron muIoni + 26 -26.5 m 1.36 m 1.64 m 924 MeV 234 MeV 18.8 cm 221 m Iron muIoni + 27 -26.3 m 1.36 m 1.63 m 760 MeV 165 MeV 15.1 cm 221 m Iron muIoni + 28 -26.2 m 1.37 m 1.64 m 610 MeV 150 MeV 12.4 cm 221 m Iron muIoni + 29 -26.1 m 1.37 m 1.65 m 496 MeV 114 MeV 9.93 cm 221 m Iron muIoni + 30 -26 m 1.37 m 1.66 m 404 MeV 91.9 MeV 8.01 cm 221 m Iron muIoni + 31 -25.9 m 1.36 m 1.67 m 333 MeV 71.6 MeV 6.45 cm 221 m Iron muIoni + 32 -25.9 m 1.36 m 1.68 m 281 MeV 51.4 MeV 5.21 cm 221 m Iron muIoni + 33 -25.9 m 1.35 m 1.69 m 235 MeV 46.2 MeV 4.33 cm 221 m Iron muIoni + 34 -25.8 m 1.34 m 1.7 m 191 MeV 44.3 MeV 3.53 cm 222 m Iron muIoni + 35 -25.8 m 1.33 m 1.71 m 160 MeV 30.8 MeV 2.77 cm 222 m Iron muIoni + 36 -25.8 m 1.32 m 1.72 m 133 MeV 27 MeV 2.24 cm 222 m Iron muIoni + 37 -25.8 m 1.31 m 1.73 m 109 MeV 24.4 MeV 1.79 cm 222 m Iron muIoni + 38 -25.8 m 1.31 m 1.73 m 87.7 MeV 21 MeV 1.4 cm 222 m Iron muIoni + 39 -25.7 m 1.31 m 1.74 m 74.2 MeV 13.4 MeV 1.08 cm 222 m Iron muIoni + 40 -25.7 m 1.31 m 1.74 m 59.1 MeV 15.1 MeV 8.79 mm 222 m Iron muIoni + 41 -25.7 m 1.31 m 1.75 m 47.5 MeV 11.7 MeV 6.69 mm 222 m Iron muIoni + 42 -25.7 m 1.31 m 1.75 m 37.8 MeV 9.68 MeV 5.2 mm 222 m Iron muIoni + 43 -25.7 m 1.31 m 1.75 m 30.1 MeV 7.68 MeV 4.07 mm 222 m Iron muIoni + 44 -25.7 m 1.31 m 1.75 m 22.6 MeV 7.49 MeV 3.26 mm 222 m Iron muIoni + 45 -25.7 m 1.31 m 1.75 m 16 MeV 6.64 MeV 2.54 mm 222 m Iron muIoni + 46 -25.7 m 1.31 m 1.75 m 8.72 MeV 7.25 MeV 1.93 mm 222 m Iron muIoni + 47 -25.7 m 1.31 m 1.75 m 0 eV 8.72 MeV 1.05 mm 222 m Iron muIoni + 48 -25.7 m 1.31 m 1.75 m 0 eV 0 eV 0 fm 222 m Iron Decay ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -218 m -1.89 cm -74.2 cm 44.7 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -218 m -2.23 cm -74.7 cm 26.4 MeV 18.3 MeV 6.01 mm 6.01 mm Iron eIoni - 2 -218 m -2.38 cm -75.2 cm 12.2 MeV 14.2 MeV 4.74 mm 1.07 cm Iron eIoni - 3 -218 m -2.38 cm -75.4 cm 7.32 MeV 4.88 MeV 3.32 mm 1.41 cm Iron eIoni - 4 -218 m -2.16 cm -75.5 cm 4.17 MeV 3.15 MeV 2.65 mm 1.67 cm Iron eIoni - 5 -218 m -2.05 cm -75.6 cm 1.8 MeV 2.37 MeV 2.09 mm 1.88 cm Iron eIoni - 6 -218 m -2.09 cm -75.7 cm 415 keV 1.38 MeV 1.37 mm 2.02 cm Iron eIoni - 7 -218 m -2.08 cm -75.7 cm 0 eV 415 keV 246 um 2.04 cm Iron eIoni + 0 -25.7 m 1.31 m 1.75 m 45.2 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -25.7 m 1.31 m 1.75 m 6.81 MeV 38.4 MeV 6.04 mm 6.04 mm Iron eIoni + 2 -25.7 m 1.31 m 1.75 m 4.08 MeV 2.72 MeV 2.57 mm 8.61 mm Iron eIoni + 3 -25.7 m 1.32 m 1.75 m 1.84 MeV 2.24 MeV 2.07 mm 1.07 cm Iron eIoni + 4 -25.7 m 1.32 m 1.75 m 262 keV 1.58 MeV 1.39 mm 1.21 cm Iron eIoni + 5 -25.7 m 1.32 m 1.75 m 0 eV 262 keV 126 um 1.22 cm Iron eIoni ********************************************************************************************************* * G4Track Information: Particle = anti_nu_e, Track ID = 5, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -218 m -1.89 cm -74.2 cm 14.8 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m -1.31 m 5.21 m 14.8 MeV 0 eV 32.9 m 32.9 m OutOfWorld Transportation + 0 -25.7 m 1.31 m 1.75 m 49.5 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -192 m -72.7 m 250 m 49.5 MeV 0 eV 308 m 308 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = nu_mu, Track ID = 4, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -218 m -1.89 cm -74.2 cm 45.2 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -117 m 130 m 250 m 45.2 MeV 0 eV 300 m 300 m OutOfWorld Transportation + 0 -25.7 m 1.31 m 1.75 m 9.92 MeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m 118 m 27.4 m 9.92 MeV 0 eV 301 m 301 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = mu+, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -249 m 0 fm 0 fm 939 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -198 m 5.31 cm -339 um 665 GeV 274 GeV 50.7 m 50.7 m Iron muIoni - 2 -156 m 15.8 cm 3.48 cm 478 GeV 187 GeV 42.1 m 92.8 m Iron muIoni - 3 -122 m 21.8 cm 12.8 cm 350 GeV 128 GeV 34.5 m 127 m Iron muIoni - 4 -93.4 m 19.5 cm 20.9 cm 260 GeV 90.5 GeV 28.2 m 155 m Iron muIoni - 5 -70.5 m 20.2 cm 30.4 cm 201 GeV 58.9 GeV 22.9 m 178 m Iron muIoni - 6 -51.6 m 21.7 cm 37.9 cm 159 GeV 41.8 GeV 18.9 m 197 m Iron muIoni - 7 -35.8 m 9.01 cm 49.2 cm 123 GeV 36.3 GeV 15.8 m 213 m Iron muIoni - 8 -23 m 4.64 cm 57.1 cm 97.3 GeV 25.5 GeV 12.8 m 226 m Iron muIoni - 9 -12.4 m 4.06 cm 57.3 cm 77.6 GeV 19.7 GeV 10.6 m 236 m Iron muIoni - 10 -3.66 m 6.75 cm 55.7 cm 60.4 GeV 17.2 GeV 8.73 m 245 m Iron muIoni - 11 3.36 m 15.1 cm 56.2 cm 47.2 GeV 13.2 GeV 7.03 m 252 m Iron muIoni - 12 9.02 m 21.3 cm 54.6 cm 36.3 GeV 10.9 GeV 5.66 m 258 m Iron muIoni - 13 13.5 m 25.7 cm 55.7 cm 29.2 GeV 7.11 GeV 4.48 m 262 m Iron muIoni - 14 17.2 m 29.3 cm 57.5 cm 23 GeV 6.22 GeV 3.69 m 266 m Iron muIoni - 15 20.2 m 32.4 cm 54.5 cm 18.1 GeV 4.82 GeV 2.97 m 269 m Iron muIoni - 16 22.6 m 35 cm 54.5 cm 14.4 GeV 3.72 GeV 2.4 m 271 m Iron muIoni - 17 24.5 m 40.2 cm 53.3 cm 11.2 GeV 3.19 GeV 1.95 m 273 m Iron muIoni - 18 26.1 m 47.3 cm 51.6 cm 9.04 GeV 2.19 GeV 1.55 m 275 m Iron muIoni - 19 27.3 m 55.6 cm 54.8 cm 7.36 GeV 1.68 GeV 1.27 m 276 m Iron muIoni - 20 28.4 m 63 cm 58.8 cm 5.96 GeV 1.4 GeV 1.06 m 277 m Iron muIoni - 21 29.2 m 66.7 cm 60.9 cm 4.86 GeV 1.1 GeV 87 cm 278 m Iron muIoni - 22 30 m 71.8 cm 61.6 cm 2.36 GeV 2.5 GeV 72.1 cm 279 m Iron muIoni - 23 30.3 m 75.2 cm 61.8 cm 1.94 GeV 428 MeV 36.9 cm 279 m Iron muIoni - 24 30.6 m 77.3 cm 59.6 cm 1.56 GeV 374 MeV 30.6 cm 280 m Iron muIoni - 25 30.9 m 78.8 cm 57 cm 1.24 GeV 319 MeV 25 cm 280 m Iron muIoni - 26 31.1 m 81.2 cm 55.8 cm 995 MeV 247 MeV 20.1 cm 280 m Iron muIoni - 27 31.2 m 83.1 cm 55.7 cm 774 MeV 222 MeV 16.2 cm 280 m Iron muIoni - 28 31.4 m 85.1 cm 56.3 cm 616 MeV 158 MeV 12.6 cm 280 m Iron muIoni - 29 31.5 m 86.9 cm 56.3 cm 510 MeV 106 MeV 10 cm 280 m Iron muIoni - 30 31.6 m 88.2 cm 56 cm 422 MeV 88.4 MeV 8.23 cm 280 m Iron muIoni - 31 31.6 m 89.3 cm 55.6 cm 346 MeV 75.7 MeV 6.73 cm 281 m Iron muIoni - 32 31.7 m 90.3 cm 54.9 cm 288 MeV 58.1 MeV 5.43 cm 281 m Iron muIoni - 33 31.7 m 91.3 cm 54.5 cm 239 MeV 49.5 MeV 4.43 cm 281 m Iron muIoni - 34 31.7 m 92.4 cm 54 cm 196 MeV 42.5 MeV 3.58 cm 281 m Iron muIoni - 35 31.8 m 93.2 cm 53.7 cm 167 MeV 29.5 MeV 2.85 cm 281 m Iron muIoni - 36 31.8 m 93.8 cm 53.5 cm 141 MeV 25.7 MeV 2.35 cm 281 m Iron muIoni - 37 31.8 m 94.1 cm 53.2 cm 119 MeV 22.4 MeV 1.92 cm 281 m Iron muIoni - 38 31.8 m 94.5 cm 52.7 cm 99.4 MeV 19.2 MeV 1.56 cm 281 m Iron muIoni - 39 31.8 m 94.7 cm 52.2 cm 83.8 MeV 15.6 MeV 1.25 cm 281 m Iron muIoni - 40 31.9 m 95 cm 52.1 cm 70.7 MeV 13.1 MeV 1.02 cm 281 m Iron muIoni - 41 31.9 m 95.2 cm 52 cm 59.6 MeV 11 MeV 8.27 mm 281 m Iron muIoni - 42 31.9 m 95.2 cm 51.9 cm 50.2 MeV 9.38 MeV 6.75 mm 281 m Iron muIoni - 43 31.9 m 95.2 cm 51.8 cm 41.3 MeV 8.96 MeV 5.53 mm 281 m Iron muIoni - 44 31.9 m 95.4 cm 51.7 cm 33.8 MeV 7.45 MeV 4.46 mm 281 m Iron muIoni - 45 31.9 m 95.5 cm 51.7 cm 26.1 MeV 7.73 MeV 3.65 mm 281 m Iron muIoni - 46 31.9 m 95.6 cm 51.7 cm 19 MeV 7.1 MeV 2.87 mm 281 m Iron muIoni - 47 31.9 m 95.7 cm 51.6 cm 12.8 MeV 6.23 MeV 2.21 mm 281 m Iron muIoni - 48 31.9 m 95.7 cm 51.6 cm 5.78 MeV 6.98 MeV 1.61 mm 281 m Iron muIoni - 49 31.9 m 95.7 cm 51.6 cm 0 eV 5.78 MeV 512 um 281 m Iron muIoni - 50 31.9 m 95.7 cm 51.6 cm 0 eV 0 eV 0 fm 281 m Iron Decay + 0 -247 m 0 fm 0 fm 223 GeV 0 eV 0 fm 0 fm Iron initStep + 1 -227 m -4.84 cm -6.35 cm 172 GeV 50.1 GeV 20.4 m 20.4 m Iron muIoni + 2 -210 m -9.1 cm -13.2 cm 130 GeV 42.4 GeV 16.8 m 37.2 m Iron muIoni + 3 -197 m -9.63 cm -26.6 cm 91.3 GeV 38.7 GeV 13.4 m 50.6 m Iron muIoni + 4 -187 m -14 cm -29.8 cm 73.3 GeV 18 GeV 10 m 60.7 m Iron muIoni + 5 -178 m -38.6 cm -36.6 cm 58.8 GeV 14.6 GeV 8.31 m 69 m Iron muIoni + 6 -171 m -64.1 cm -43.5 cm 48 GeV 10.7 GeV 6.86 m 75.8 m Iron muIoni + 7 -166 m -87.1 cm -55 cm 39 GeV 8.99 GeV 5.75 m 81.6 m Iron muIoni + 8 -161 m -1.1 m -63 cm 31.2 GeV 7.86 GeV 4.79 m 86.4 m Iron muIoni + 9 -157 m -1.24 m -72 cm 23.3 GeV 7.85 GeV 3.92 m 90.3 m Iron muIoni + 10 -154 m -1.33 m -77.1 cm 19.2 GeV 4.17 GeV 3.01 m 93.3 m Iron muIoni + 11 -151 m -1.42 m -72.2 cm 15.6 GeV 3.54 GeV 2.52 m 95.8 m Iron muIoni + 12 -149 m -1.53 m -64.4 cm 12.2 GeV 3.43 GeV 2.1 m 97.9 m Iron muIoni + 13 -148 m -1.62 m -56.5 cm 9.93 GeV 2.27 GeV 1.67 m 99.6 m Iron muIoni + 14 -146 m -1.74 m -48 cm 7.98 GeV 1.94 GeV 1.39 m 101 m Iron muIoni + 15 -145 m -1.84 m -44.1 cm 6.57 GeV 1.42 GeV 1.14 m 102 m Iron muIoni + 16 -144 m -1.91 m -39.9 cm 5.33 GeV 1.24 GeV 95 cm 103 m Iron muIoni + 17 -143 m -2.01 m -36.2 cm 4.32 GeV 1.01 GeV 78.4 cm 104 m Iron muIoni + 18 -143 m -2.06 m -32.9 cm 3.56 GeV 760 MeV 64.6 cm 104 m Iron muIoni + 19 -142 m -2.11 m -26.6 cm 2.88 GeV 682 MeV 54.1 cm 105 m Iron muIoni + 20 -142 m -2.15 m -21.6 cm 2.32 GeV 559 MeV 44.4 cm 105 m Iron muIoni + 21 -141 m -2.2 m -17.4 cm 1.83 GeV 487 MeV 36.3 cm 106 m Iron muIoni + 22 -141 m -2.23 m -14.6 cm 1.5 GeV 330 MeV 29.1 cm 106 m Iron muIoni + 23 -141 m -2.26 m -11.9 cm 1.24 GeV 264 MeV 24.1 cm 106 m Iron muIoni + 24 -141 m -2.27 m -10 cm 883 MeV 354 MeV 20 cm 107 m Iron muIoni + 25 -141 m -2.27 m -7.84 cm 696 MeV 186 MeV 14.4 cm 107 m Iron muIoni + 26 -140 m -2.28 m -5.73 cm 551 MeV 146 MeV 11.3 cm 107 m Iron muIoni + 27 -140 m -2.3 m -4.32 cm 443 MeV 108 MeV 8.91 cm 107 m Iron muIoni + 28 -140 m -2.31 m -3.61 cm 366 MeV 76.5 MeV 7.09 cm 107 m Iron muIoni + 29 -140 m -2.31 m -3.44 cm 303 MeV 63.3 MeV 5.78 cm 107 m Iron muIoni + 30 -140 m -2.31 m -3.46 cm 255 MeV 47.6 MeV 4.69 cm 107 m Iron muIoni + 31 -140 m -2.31 m -3.79 cm 212 MeV 43.7 MeV 3.87 cm 107 m Iron muIoni + 32 -140 m -2.31 m -4.02 cm 176 MeV 35.2 MeV 3.12 cm 107 m Iron muIoni + 33 -140 m -2.31 m -3.8 cm 146 MeV 30.2 MeV 2.52 cm 107 m Iron muIoni + 34 -140 m -2.31 m -3.7 cm 118 MeV 28 MeV 2.01 cm 107 m Iron muIoni + 35 -140 m -2.3 m -3.8 cm 99.5 MeV 18.7 MeV 1.55 cm 107 m Iron muIoni + 36 -140 m -2.3 m -3.93 cm 84.1 MeV 15.4 MeV 1.25 cm 107 m Iron muIoni + 37 -140 m -2.3 m -3.92 cm 67.6 MeV 16.5 MeV 1.02 cm 107 m Iron muIoni + 38 -140 m -2.29 m -3.87 cm 56.5 MeV 11.1 MeV 7.84 mm 107 m Iron muIoni + 39 -140 m -2.29 m -3.85 cm 46.1 MeV 10.4 MeV 6.34 mm 107 m Iron muIoni + 40 -140 m -2.29 m -3.85 cm 36.9 MeV 9.21 MeV 5.03 mm 107 m Iron muIoni + 41 -140 m -2.29 m -3.7 cm 26.9 MeV 9.98 MeV 3.97 mm 107 m Iron muIoni + 42 -140 m -2.29 m -3.55 cm 19.6 MeV 7.27 MeV 2.94 mm 107 m Iron muIoni + 43 -140 m -2.29 m -3.49 cm 12.4 MeV 7.16 MeV 2.26 mm 107 m Iron muIoni + 44 -140 m -2.29 m -3.43 cm 4.5 MeV 7.95 MeV 1.58 mm 107 m Iron muIoni + 45 -140 m -2.29 m -3.43 cm 0 eV 4.5 MeV 330 um 107 m Iron muIoni + 46 -140 m -2.29 m -3.43 cm 0 eV 0 eV 0 fm 107 m Iron Decay ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 9, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 31.9 m 95.7 cm 51.6 cm 38.1 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -118 m -26.6 m -250 m 38.1 MeV 0 eV 293 m 293 m OutOfWorld Transportation + 0 -140 m -2.29 m -3.43 cm 23.3 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -250 m -26.8 m -49.2 m 23.3 MeV 0 eV 123 m 123 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = nu_e, Track ID = 8, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 31.9 m 95.7 cm 51.6 cm 26.7 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -199 m 12.4 m 250 m 26.7 MeV 0 eV 340 m 340 m OutOfWorld Transportation + 0 -140 m -2.29 m -3.43 cm 34.1 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -151 m -250 m -58.2 m 34.1 MeV 0 eV 255 m 255 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = anti_nu_mu, Track ID = 7, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 31.9 m 95.7 cm 51.6 cm 39.9 MeV 0 eV 0 fm 0 fm Iron initStep - 1 250 m 16.5 m 76 m 39.9 MeV 0 eV 231 m 231 m OutOfWorld Transportation + 0 -140 m -2.29 m -3.43 cm 47.2 MeV 0 eV 0 fm 0 fm Iron initStep + 1 9.51 m 250 m 114 m 47.2 MeV 0 eV 315 m 315 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 @@ -1027,169 +1070,171 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -250 m 0 fm 0 fm 1e+03 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m 0 fm 0 fm 0 eV 0 eV 6.98 cm 6.98 cm Iron AnnihiToMuPair + 1 -245 m 0 fm 0 fm 0 eV 0 eV 4.97 m 4.97 m Iron AnnihiToMuPair ********************************************************************************************************* * G4Track Information: Particle = mu-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -250 m 0 fm 0 fm 717 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -206 m -2.49 cm -1.07 cm 527 GeV 190 GeV 43.9 m 43.9 m Iron muIoni - 2 -169 m -5.68 cm -10.5 cm 327 GeV 200 GeV 36.7 m 80.6 m Iron muIoni - 3 -142 m 7.72 mm -24.8 cm 256 GeV 71.5 GeV 27 m 108 m Iron muIoni - 4 -120 m 9.7 cm -34.5 cm 57.6 GeV 198 GeV 22.7 m 130 m Iron muIoni - 5 -113 m 7.54 cm -44.4 cm 45.1 GeV 12.6 GeV 6.76 m 137 m Iron muIoni - 6 -107 m 4.6 cm -50.9 cm 35.1 GeV 9.92 GeV 5.44 m 142 m Iron muIoni - 7 -103 m 3.37 cm -58 cm 27.4 GeV 7.76 GeV 4.36 m 147 m Iron muIoni - 8 -99.6 m -6.99 mm -65.7 cm 21.8 GeV 5.6 GeV 3.49 m 150 m Iron muIoni - 9 -96.8 m -3.88 cm -73.8 cm 16.6 GeV 5.21 GeV 2.84 m 153 m Iron muIoni - 10 -94.6 m -2.99 cm -82.1 cm 12.5 GeV 4.11 GeV 2.22 m 155 m Iron muIoni - 11 -92.9 m -5.44 mm -87.5 cm 10.3 GeV 2.19 GeV 1.71 m 157 m Iron muIoni - 12 -91.5 m 6.98 mm -91.4 cm 7.64 GeV 2.64 GeV 1.43 m 158 m Iron muIoni - 13 -90.4 m 2.31 cm -97.7 cm 6.14 GeV 1.49 GeV 1.09 m 160 m Iron muIoni - 14 -89.5 m 6.13 cm -1.04 m 4.93 GeV 1.22 GeV 89.6 cm 160 m Iron muIoni - 15 -88.7 m 8.12 cm -1.09 m 3.65 GeV 1.28 GeV 73.2 cm 161 m Iron muIoni - 16 -88.2 m 10.7 cm -1.13 m 2.94 GeV 711 MeV 55.4 cm 162 m Iron muIoni - 17 -87.7 m 14.9 cm -1.17 m 2.23 GeV 713 MeV 45.3 cm 162 m Iron muIoni - 18 -87.4 m 19.6 cm -1.18 m 1.73 GeV 494 MeV 35 cm 163 m Iron muIoni - 19 -87.1 m 22.6 cm -1.19 m 1.29 GeV 439 MeV 27.6 cm 163 m Iron muIoni - 20 -86.9 m 24.8 cm -1.2 m 938 MeV 354 MeV 20.9 cm 163 m Iron muIoni - 21 -86.8 m 26.1 cm -1.21 m 781 MeV 156 MeV 15.3 cm 163 m Iron muIoni - 22 -86.6 m 27.4 cm -1.2 m 638 MeV 144 MeV 12.8 cm 163 m Iron muIoni - 23 -86.5 m 27 cm -1.18 m 517 MeV 121 MeV 10.4 cm 163 m Iron muIoni - 24 -86.4 m 26.3 cm -1.18 m 416 MeV 101 MeV 8.36 cm 164 m Iron muIoni - 25 -86.4 m 23.2 cm -1.21 m 332 MeV 83.5 MeV 6.64 cm 164 m Iron muIoni - 26 -86.4 m 20.9 cm -1.24 m 268 MeV 64.7 MeV 5.21 cm 164 m Iron muIoni - 27 -86.3 m 18.9 cm -1.27 m 223 MeV 44.4 MeV 4.09 cm 164 m Iron muIoni - 28 -86.3 m 17 cm -1.29 m 183 MeV 40.8 MeV 3.32 cm 164 m Iron muIoni - 29 -86.3 m 15.7 cm -1.31 m 148 MeV 34.7 MeV 2.62 cm 164 m Iron muIoni - 30 -86.3 m 14.7 cm -1.32 m 121 MeV 26.7 MeV 2.04 cm 164 m Iron muIoni - 31 -86.3 m 14 cm -1.33 m 101 MeV 20.2 MeV 1.6 cm 164 m Iron muIoni - 32 -86.3 m 13.6 cm -1.34 m 85.4 MeV 15.5 MeV 1.28 cm 164 m Iron muIoni - 33 -86.3 m 13.4 cm -1.35 m 72.4 MeV 13 MeV 1.04 cm 164 m Iron muIoni - 34 -86.3 m 13.2 cm -1.35 m 57.5 MeV 14.9 MeV 8.53 mm 164 m Iron muIoni - 35 -86.3 m 13.2 cm -1.35 m 47.4 MeV 10 MeV 6.48 mm 164 m Iron muIoni - 36 -86.3 m 13.1 cm -1.36 m 38.2 MeV 9.24 MeV 5.2 mm 164 m Iron muIoni - 37 -86.2 m 13.1 cm -1.36 m 29.8 MeV 8.41 MeV 4.12 mm 164 m Iron muIoni - 38 -86.2 m 13.1 cm -1.36 m 22.3 MeV 7.46 MeV 3.23 mm 164 m Iron muIoni - 39 -86.2 m 13.2 cm -1.36 m 15.8 MeV 6.56 MeV 2.52 mm 164 m Iron muIoni - 40 -86.2 m 13.2 cm -1.36 m 8.23 MeV 7.54 MeV 1.91 mm 164 m Iron muIoni - 41 -86.2 m 13.2 cm -1.36 m 0 eV 8.23 MeV 945 um 164 m Iron muIoni - 42 -86.2 m 13.2 cm -1.36 m 0 eV 0 eV 0 fm 164 m Iron Decay + 0 -245 m 0 fm 0 fm 203 GeV 0 eV 0 fm 0 fm Iron initStep + 1 -226 m -2.48 cm 8.47 cm 157 GeV 45.8 GeV 19.1 m 19.1 m Iron muIoni + 2 -210 m -13.8 cm 9.52 cm 127 GeV 30.1 GeV 15.7 m 34.8 m Iron muIoni + 3 -197 m -23 cm 15.5 cm 98.9 GeV 28.3 GeV 13.2 m 48 m Iron muIoni + 4 -186 m -26.6 cm 12.2 cm 40.9 GeV 58 GeV 10.7 m 58.8 m Iron muIoni + 5 -181 m -27.2 cm 12 cm 19.1 GeV 21.8 GeV 4.99 m 63.8 m Iron muIoni + 6 -179 m -30.1 cm 8.55 cm 15.2 GeV 3.85 GeV 2.52 m 66.3 m Iron muIoni + 7 -177 m -31.5 cm 3.12 cm 12.4 GeV 2.81 GeV 2.05 m 68.3 m Iron muIoni + 8 -175 m -35.7 cm -5.96 cm 9.75 GeV 2.68 GeV 1.71 m 70 m Iron muIoni + 9 -174 m -36.7 cm -14.3 cm 7.76 GeV 1.99 GeV 1.37 m 71.4 m Iron muIoni + 10 -173 m -38 cm -19.9 cm 6.12 GeV 1.64 GeV 1.11 m 72.5 m Iron muIoni + 11 -172 m -40.9 cm -26 cm 4.86 GeV 1.26 GeV 89.2 cm 73.4 m Iron muIoni + 12 -171 m -42.4 cm -28.4 cm 3.8 GeV 1.07 GeV 72.2 cm 74.1 m Iron muIoni + 13 -170 m -43.9 cm -31.2 cm 2.88 GeV 912 MeV 57.5 cm 74.7 m Iron muIoni + 14 -170 m -46.4 cm -36.2 cm 2.35 GeV 532 MeV 44.6 cm 75.1 m Iron muIoni + 15 -170 m -50.1 cm -39.5 cm 1.81 GeV 542 MeV 36.9 cm 75.5 m Iron muIoni + 16 -169 m -53.1 cm -43.2 cm 1.41 GeV 395 MeV 28.8 cm 75.8 m Iron muIoni + 17 -169 m -56.5 cm -46 cm 1.11 GeV 306 MeV 22.8 cm 76 m Iron muIoni + 18 -169 m -58.5 cm -48 cm 909 MeV 200 MeV 18 cm 76.2 m Iron muIoni + 19 -169 m -59.4 cm -49.1 cm 697 MeV 211 MeV 14.8 cm 76.4 m Iron muIoni + 20 -169 m -60.5 cm -50.2 cm 556 MeV 142 MeV 11.4 cm 76.5 m Iron muIoni + 21 -169 m -60.6 cm -51.2 cm 453 MeV 102 MeV 9.02 cm 76.6 m Iron muIoni + 22 -168 m -60.6 cm -51.5 cm 371 MeV 82.3 MeV 7.29 cm 76.6 m Iron muIoni + 23 -168 m -60.9 cm -51.6 cm 308 MeV 63 MeV 5.88 cm 76.7 m Iron muIoni + 24 -168 m -60.7 cm -52 cm 249 MeV 59.6 MeV 4.79 cm 76.7 m Iron muIoni + 25 -168 m -60.3 cm -52.4 cm 208 MeV 40.2 MeV 3.76 cm 76.8 m Iron muIoni + 26 -168 m -60.3 cm -52.7 cm 175 MeV 33 MeV 3.06 cm 76.8 m Iron muIoni + 27 -168 m -60.3 cm -53.2 cm 147 MeV 28.4 MeV 2.5 cm 76.8 m Iron muIoni + 28 -168 m -60 cm -53.4 cm 123 MeV 24 MeV 2.02 cm 76.9 m Iron muIoni + 29 -168 m -59.8 cm -53.7 cm 101 MeV 22.3 MeV 1.63 cm 76.9 m Iron muIoni + 30 -168 m -59.4 cm -53.9 cm 84.6 MeV 16 MeV 1.27 cm 76.9 m Iron muIoni + 31 -168 m -59.1 cm -54 cm 71.7 MeV 12.9 MeV 1.03 cm 76.9 m Iron muIoni + 32 -168 m -58.8 cm -53.9 cm 59.1 MeV 12.6 MeV 8.43 mm 76.9 m Iron muIoni + 33 -168 m -58.7 cm -53.9 cm 49.6 MeV 9.52 MeV 6.69 mm 76.9 m Iron muIoni + 34 -168 m -58.6 cm -53.9 cm 40.4 MeV 9.17 MeV 5.45 mm 76.9 m Iron muIoni + 35 -168 m -58.5 cm -53.8 cm 31.2 MeV 9.18 MeV 4.36 mm 76.9 m Iron muIoni + 36 -168 m -58.4 cm -53.7 cm 24.2 MeV 6.98 MeV 3.37 mm 76.9 m Iron muIoni + 37 -168 m -58.3 cm -53.7 cm 16.9 MeV 7.36 MeV 2.69 mm 76.9 m Iron muIoni + 38 -168 m -58.2 cm -53.6 cm 9.8 MeV 7.07 MeV 2.02 mm 76.9 m Iron muIoni + 39 -168 m -58.1 cm -53.6 cm 1.74 MeV 8.06 MeV 1.23 mm 76.9 m Iron muIoni + 40 -168 m -58.1 cm -53.6 cm 0 eV 1.74 MeV 62.6 um 76.9 m Iron muIoni + 41 -168 m -58.1 cm -53.6 cm 0 eV 0 eV 0 fm 76.9 m Iron Decay ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -86.2 m 13.2 cm -1.36 m 35.9 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -86.2 m 13.6 cm -1.36 m 19.2 MeV 16.8 MeV 5.45 mm 5.45 mm Iron eIoni - 2 -86.2 m 13.9 cm -1.37 m 11.5 MeV 7.67 MeV 4.09 mm 9.54 mm Iron eIoni - 3 -86.2 m 14.1 cm -1.37 m 7.15 MeV 4.34 MeV 3.23 mm 1.28 cm Iron eIoni - 4 -86.2 m 14.3 cm -1.36 m 3.76 MeV 3.39 MeV 2.63 mm 1.54 cm Iron eIoni - 5 -86.2 m 14.4 cm -1.37 m 1.62 MeV 2.13 MeV 1.99 mm 1.74 cm Iron eIoni - 6 -86.2 m 14.4 cm -1.37 m 436 keV 1.18 MeV 1.28 mm 1.87 cm Iron eIoni - 7 -86.2 m 14.4 cm -1.37 m 0 eV 436 keV 264 um 1.89 cm Iron eIoni + 0 -168 m -58.1 cm -53.6 cm 42.6 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -168 m -58.2 cm -53.1 cm 29.1 MeV 13.5 MeV 5.89 mm 5.89 mm Iron eIoni + 2 -168 m -58.3 cm -52.6 cm 14.8 MeV 14.3 MeV 4.96 mm 1.08 cm Iron eIoni + 3 -168 m -58.4 cm -52.3 cm 7.38 MeV 7.39 MeV 3.62 mm 1.45 cm Iron eIoni + 4 -168 m -58.5 cm -52.1 cm 4.51 MeV 2.87 MeV 2.66 mm 1.71 cm Iron eIoni + 5 -168 m -58.4 cm -52.1 cm 2.39 MeV 2.12 MeV 2.16 mm 1.93 cm Iron eIoni + 6 -168 m -58.3 cm -52 cm 836 keV 1.56 MeV 1.62 mm 2.09 cm Iron eIoni + 7 -168 m -58.3 cm -52 cm 0 eV 836 keV 621 um 2.15 cm Iron eIoni ********************************************************************************************************* * G4Track Information: Particle = anti_nu_e, Track ID = 5, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -86.2 m 13.2 cm -1.36 m 31.4 MeV 0 eV 0 fm 0 fm Iron initStep - 1 250 m 10.6 m -189 m 31.4 MeV 0 eV 385 m 385 m OutOfWorld Transportation + 0 -168 m -58.1 cm -53.6 cm 40.1 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -250 m 99.9 m -211 m 40.1 MeV 0 eV 248 m 248 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = nu_mu, Track ID = 4, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -86.2 m 13.2 cm -1.36 m 37.3 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -124 m -238 m 250 m 37.3 MeV 0 eV 349 m 349 m OutOfWorld Transportation + 0 -168 m -58.1 cm -53.6 cm 21.9 MeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m -15.1 m -91.5 m 21.9 MeV 0 eV 428 m 428 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = mu+, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -250 m 0 fm 0 fm 283 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -226 m 6.51 cm -8.96 mm 214 GeV 69.1 GeV 24.3 m 24.3 m Iron muIoni - 2 -206 m 12.2 cm 1.42 cm 169 GeV 45 GeV 19.8 m 44.1 m Iron muIoni - 3 -189 m 15.4 cm 1.73 cm 132 GeV 36.5 GeV 16.5 m 60.6 m Iron muIoni - 4 -176 m 20.1 cm -8.32 cm 101 GeV 31.5 GeV 13.6 m 74.3 m Iron muIoni - 5 -165 m 28.6 cm -24.7 cm 77.6 GeV 23.3 GeV 10.9 m 85.2 m Iron muIoni - 6 -156 m 40.9 cm -38.6 cm 62.4 GeV 15.2 GeV 8.73 m 93.9 m Iron muIoni - 7 -149 m 57.2 cm -50.2 cm 39.9 GeV 22.5 GeV 7.23 m 101 m Iron muIoni - 8 -144 m 68.3 cm -57.7 cm 32 GeV 7.82 GeV 4.88 m 106 m Iron muIoni - 9 -140 m 74.8 cm -62.4 cm 25.8 GeV 6.26 GeV 4.01 m 110 m Iron muIoni - 10 -137 m 83.8 cm -66.5 cm 19.7 GeV 6.06 GeV 3.3 m 113 m Iron muIoni - 11 -134 m 97 cm -69.3 cm 15.8 GeV 3.92 GeV 2.59 m 116 m Iron muIoni - 12 -132 m 1.12 m -68.2 cm 12.7 GeV 3.09 GeV 2.12 m 118 m Iron muIoni - 13 -130 m 1.26 m -67.3 cm 10.2 GeV 2.54 GeV 1.74 m 120 m Iron muIoni - 14 -129 m 1.34 m -63.9 cm 7.53 GeV 2.64 GeV 1.42 m 121 m Iron muIoni - 15 -128 m 1.39 m -62.9 cm 4.52 GeV 3.01 GeV 1.08 m 122 m Iron muIoni - 16 -127 m 1.42 m -62.4 cm 3.7 GeV 821 MeV 67.4 cm 123 m Iron muIoni - 17 -126 m 1.44 m -64 cm 2.85 GeV 852 MeV 56 cm 123 m Iron muIoni - 18 -126 m 1.46 m -62.9 cm 2.33 GeV 511 MeV 43.9 cm 124 m Iron muIoni - 19 -126 m 1.45 m -60.9 cm 1.73 GeV 604 MeV 36.5 cm 124 m Iron muIoni - 20 -125 m 1.43 m -59.4 cm 1.42 GeV 307 MeV 27.5 cm 125 m Iron muIoni - 21 -125 m 1.43 m -58.7 cm 1.15 GeV 277 MeV 22.9 cm 125 m Iron muIoni - 22 -125 m 1.42 m -57.3 cm 867 MeV 280 MeV 18.6 cm 125 m Iron muIoni - 23 -125 m 1.43 m -56.5 cm 657 MeV 210 MeV 14.1 cm 125 m Iron muIoni - 24 -125 m 1.44 m -55.9 cm 522 MeV 136 MeV 10.7 cm 125 m Iron muIoni - 25 -125 m 1.44 m -55.8 cm 428 MeV 93.7 MeV 8.42 cm 125 m Iron muIoni - 26 -125 m 1.45 m -55.9 cm 336 MeV 92.1 MeV 6.84 cm 125 m Iron muIoni - 27 -125 m 1.47 m -55.1 cm 267 MeV 69.1 MeV 5.26 cm 125 m Iron muIoni - 28 -124 m 1.47 m -54.2 cm 222 MeV 45 MeV 4.06 cm 125 m Iron muIoni - 29 -124 m 1.48 m -53.6 cm 187 MeV 34.2 MeV 3.29 cm 126 m Iron muIoni - 30 -124 m 1.48 m -53.2 cm 153 MeV 34.4 MeV 2.7 cm 126 m Iron muIoni - 31 -124 m 1.49 m -52.6 cm 129 MeV 23.6 MeV 2.12 cm 126 m Iron muIoni - 32 -124 m 1.49 m -52.4 cm 106 MeV 23.4 MeV 1.73 cm 126 m Iron muIoni - 33 -124 m 1.49 m -52.1 cm 87.9 MeV 18.1 MeV 1.36 cm 126 m Iron muIoni - 34 -124 m 1.49 m -52 cm 74.3 MeV 13.6 MeV 1.08 cm 126 m Iron muIoni - 35 -124 m 1.49 m -51.9 cm 63 MeV 11.4 MeV 8.79 mm 126 m Iron muIoni - 36 -124 m 1.49 m -51.8 cm 53 MeV 9.92 MeV 7.19 mm 126 m Iron muIoni - 37 -124 m 1.49 m -51.6 cm 43.8 MeV 9.2 MeV 5.9 mm 126 m Iron muIoni - 38 -124 m 1.49 m -51.6 cm 36.1 MeV 7.74 MeV 4.77 mm 126 m Iron muIoni - 39 -124 m 1.49 m -51.5 cm 27.8 MeV 8.29 MeV 3.89 mm 126 m Iron muIoni - 40 -124 m 1.49 m -51.5 cm 20.7 MeV 7.13 MeV 3.03 mm 126 m Iron muIoni - 41 -124 m 1.49 m -51.5 cm 13.2 MeV 7.49 MeV 2.36 mm 126 m Iron muIoni - 42 -124 m 1.49 m -51.5 cm 6.11 MeV 7.08 MeV 1.66 mm 126 m Iron muIoni - 43 -124 m 1.49 m -51.5 cm 0 eV 6.11 MeV 561 um 126 m Iron muIoni - 44 -124 m 1.49 m -51.5 cm 0 eV 0 eV 0 fm 126 m Iron Decay + 0 -245 m 0 fm 0 fm 797 GeV 0 eV 0 fm 0 fm Iron initStep + 1 -198 m 3.51 cm -6.48 cm 584 GeV 212 GeV 46.6 m 46.6 m Iron muIoni + 2 -159 m 15.4 cm -12.3 cm 425 GeV 160 GeV 39 m 85.6 m Iron muIoni + 3 -127 m 34.5 cm -11.8 cm 287 GeV 138 GeV 32 m 118 m Iron muIoni + 4 -103 m 46.4 cm -18.5 cm 178 GeV 109 GeV 24.5 m 142 m Iron muIoni + 5 -85.7 m 56.6 cm -15.6 cm 135 GeV 43.4 GeV 17.2 m 159 m Iron muIoni + 6 -71.9 m 50.8 cm -13.4 cm 103 GeV 31.2 GeV 13.8 m 173 m Iron muIoni + 7 -60.8 m 48.6 cm -21.2 cm 65.8 GeV 37.5 GeV 11.1 m 184 m Iron muIoni + 8 -53.2 m 47.5 cm -36.4 cm 52 GeV 13.8 GeV 7.57 m 192 m Iron muIoni + 9 -47 m 58.8 cm -48.2 cm 40.6 GeV 11.4 GeV 6.17 m 198 m Iron muIoni + 10 -42.1 m 67.9 cm -55.7 cm 33.1 GeV 7.47 GeV 4.96 m 203 m Iron muIoni + 11 -37.9 m 75 cm -64.4 cm 25.8 GeV 7.39 GeV 4.13 m 207 m Iron muIoni + 12 -34.6 m 82.4 cm -68.7 cm 19.7 GeV 6.04 GeV 3.3 m 210 m Iron muIoni + 13 -32.1 m 88.2 cm -73.2 cm 16.1 GeV 3.6 GeV 2.59 m 213 m Iron muIoni + 14 -29.9 m 89.9 cm -80.2 cm 12.8 GeV 3.29 GeV 2.16 m 215 m Iron muIoni + 15 -28.2 m 91 cm -87.3 cm 10.3 GeV 2.5 GeV 1.75 m 217 m Iron muIoni + 16 -26.7 m 89.6 cm -97.5 cm 7.16 GeV 3.16 GeV 1.44 m 218 m Iron muIoni + 17 -25.7 m 93 cm -1.07 m 5.84 GeV 1.31 GeV 1.03 m 219 m Iron muIoni + 18 -24.9 m 94.5 cm -1.15 m 4.81 GeV 1.03 GeV 85.4 cm 220 m Iron muIoni + 19 -24.1 m 97.3 cm -1.22 m 3.78 GeV 1.03 GeV 71.4 cm 221 m Iron muIoni + 20 -23.6 m 97.8 cm -1.29 m 3.07 GeV 715 MeV 57.2 cm 221 m Iron muIoni + 21 -23.1 m 98.6 cm -1.32 m 2.43 GeV 635 MeV 47.1 cm 222 m Iron muIoni + 22 -22.7 m 99.1 cm -1.35 m 1.93 GeV 500 MeV 38 cm 222 m Iron muIoni + 23 -22.4 m 98.4 cm -1.37 m 1.56 GeV 371 MeV 30.6 cm 223 m Iron muIoni + 24 -22.2 m 97.7 cm -1.4 m 1.22 GeV 346 MeV 25 cm 223 m Iron muIoni + 25 -22 m 97.7 cm -1.42 m 900 MeV 316 MeV 19.6 cm 223 m Iron muIoni + 26 -21.8 m 97.7 cm -1.43 m 722 MeV 178 MeV 14.6 cm 223 m Iron muIoni + 27 -21.7 m 96.7 cm -1.44 m 578 MeV 143 MeV 11.7 cm 223 m Iron muIoni + 28 -21.6 m 95.4 cm -1.45 m 467 MeV 112 MeV 9.37 cm 223 m Iron muIoni + 29 -21.5 m 94.7 cm -1.47 m 383 MeV 83.8 MeV 7.49 cm 224 m Iron muIoni + 30 -21.5 m 93.8 cm -1.48 m 312 MeV 70.6 MeV 6.06 cm 224 m Iron muIoni + 31 -21.4 m 93 cm -1.5 m 260 MeV 52.1 MeV 4.85 cm 224 m Iron muIoni + 32 -21.4 m 92 cm -1.49 m 215 MeV 45.4 MeV 3.95 cm 224 m Iron muIoni + 33 -21.4 m 91.3 cm -1.5 m 174 MeV 40.3 MeV 3.17 cm 224 m Iron muIoni + 34 -21.4 m 91 cm -1.5 m 145 MeV 29 MeV 2.48 cm 224 m Iron muIoni + 35 -21.3 m 91 cm -1.5 m 119 MeV 26.6 MeV 2 cm 224 m Iron muIoni + 36 -21.3 m 91.1 cm -1.51 m 99.6 MeV 19.2 MeV 1.56 cm 224 m Iron muIoni + 37 -21.3 m 91.2 cm -1.51 m 81.4 MeV 18.2 MeV 1.25 cm 224 m Iron muIoni + 38 -21.3 m 91.1 cm -1.51 m 65.8 MeV 15.6 MeV 9.8 mm 224 m Iron muIoni + 39 -21.3 m 90.9 cm -1.51 m 55 MeV 10.7 MeV 7.58 mm 224 m Iron muIoni + 40 -21.3 m 90.7 cm -1.51 m 45.5 MeV 9.58 MeV 6.16 mm 224 m Iron muIoni + 41 -21.3 m 90.5 cm -1.5 m 37.2 MeV 8.23 MeV 4.96 mm 224 m Iron muIoni + 42 -21.3 m 90.4 cm -1.5 m 28.9 MeV 8.35 MeV 4.01 mm 224 m Iron muIoni + 43 -21.3 m 90.4 cm -1.5 m 21.7 MeV 7.15 MeV 3.14 mm 224 m Iron muIoni + 44 -21.3 m 90.4 cm -1.5 m 14.8 MeV 6.9 MeV 2.46 mm 224 m Iron muIoni + 45 -21.3 m 90.4 cm -1.5 m 7.51 MeV 7.31 MeV 1.83 mm 224 m Iron muIoni + 46 -21.3 m 90.4 cm -1.5 m 0 eV 7.51 MeV 808 um 224 m Iron muIoni + 47 -21.3 m 90.4 cm -1.5 m 0 eV 0 eV 0 fm 224 m Iron Decay ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 9, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -124 m 1.49 m -51.5 cm 50 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -39.4 m -250 m 69.4 m 50 MeV 0 eV 274 m 274 m OutOfWorld Transportation + 0 -21.3 m 90.4 cm -1.5 m 51.5 MeV 0 eV 0 fm 0 fm Iron initStep + 1 -250 m -132 m -54.7 m 51.5 MeV 0 eV 270 m 270 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = nu_e, Track ID = 8, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -124 m 1.49 m -51.5 cm 16.2 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m 85.6 m -84.9 m 16.2 MeV 0 eV 173 m 173 m OutOfWorld Transportation + 0 -21.3 m 90.4 cm -1.5 m 25.4 MeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m 220 m 148 m 25.4 MeV 0 eV 379 m 379 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = anti_nu_mu, Track ID = 7, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -124 m 1.49 m -51.5 cm 38.4 MeV 0 eV 0 fm 0 fm Iron initStep - 1 -149 m 250 m -32.3 m 38.4 MeV 0 eV 252 m 252 m OutOfWorld Transportation + 0 -21.3 m 90.4 cm -1.5 m 27.7 MeV 0 eV 0 fm 0 fm Iron initStep + 1 250 m 115 m -7.67 cm 27.7 MeV 0 eV 294 m 294 m OutOfWorld Transportation Run terminated. Run Summary Number of events processed : 5 - User=0.36s Real=0.56s Sys=0.14s + User=0.4s Real=0.54s Sys=0.09s --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 2077495413, 1567562053 + Current couple of seeds = 384969411, 1465002996 ---------------------------------------- # /gun/particle anti_proton @@ -1197,6 +1242,8 @@ Run Summary /run/beamOn 2 Region -- appears in world volume + Root logical volume(s) : Iron + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Iron Production cuts : gamma 1 km e- 1 km e+ 1 km @@ -1215,7 +1262,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 2077495413, 1567562053 + Current couple of seeds = 384969411, 1465002996 ---------------------------------------- Start Run processing. @@ -1227,62 +1274,62 @@ Start Run processing. Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -250 m 0 fm 0 fm 1 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m 821 um -117 um 925 MeV 74.9 MeV 5.8 cm 5.8 cm Iron hhIoni - 2 -250 m -75.3 um -76.9 um 855 MeV 70.4 MeV 5.21 cm 11 cm Iron hhIoni - 3 -250 m -2.03 mm 544 um 791 MeV 64.2 MeV 4.67 cm 15.7 cm Iron hhIoni - 4 -250 m -5.01 mm 1.4 mm 734 MeV 56.4 MeV 4.17 cm 19.9 cm Iron hhIoni - 5 -250 m -7.79 mm 1.5 mm 683 MeV 51.3 MeV 3.76 cm 23.6 cm Iron hhIoni - 6 -250 m -1.04 cm 2.52 mm 639 MeV 43.6 MeV 3.39 cm 27 cm Iron hhIoni - 7 -250 m -1.34 cm 3.21 mm 594 MeV 44.8 MeV 3.07 cm 30.1 cm Iron hhIoni - 8 -250 m -1.64 cm 3.63 mm 554 MeV 40.5 MeV 2.76 cm 32.8 cm Iron hhIoni - 9 -250 m -1.89 cm 4.31 mm 517 MeV 36.6 MeV 2.49 cm 35.3 cm Iron hhIoni - 10 -250 m -2.19 cm 5.16 mm 481 MeV 35.9 MeV 2.24 cm 37.6 cm Iron hhIoni - 11 -250 m -2.42 cm 4.83 mm 448 MeV 33.4 MeV 2.01 cm 39.6 cm Iron hhIoni - 12 -250 m -2.62 cm 4.72 mm 417 MeV 30.4 MeV 1.8 cm 41.4 cm Iron hhIoni - 13 -250 m -2.82 cm 5.09 mm 390 MeV 27.5 MeV 1.61 cm 43 cm Iron hhIoni - 14 -250 m -3.07 cm 5.39 mm 363 MeV 27.2 MeV 1.45 cm 44.4 cm Iron hhIoni - 15 -250 m -3.28 cm 5.57 mm 340 MeV 23.3 MeV 1.3 cm 45.7 cm Iron hhIoni - 16 -250 m -3.45 cm 5.89 mm 321 MeV 18.9 MeV 1.17 cm 46.9 cm Iron hhIoni - 17 -250 m -3.6 cm 6.4 mm 299 MeV 21.5 MeV 1.06 cm 47.9 cm Iron hhIoni - 18 -250 m -3.77 cm 6.91 mm 279 MeV 19.8 MeV 9.53 mm 48.9 cm Iron hhIoni - 19 -250 m -3.96 cm 7.18 mm 262 MeV 17.4 MeV 8.55 mm 49.7 cm Iron hhIoni - 20 -249 m -4.13 cm 7.21 mm 245 MeV 16.8 MeV 7.69 mm 50.5 cm Iron hhIoni - 21 -249 m -4.29 cm 7.38 mm 229 MeV 16 MeV 6.9 mm 51.2 cm Iron hhIoni - 22 -249 m -4.45 cm 7.51 mm 215 MeV 14.5 MeV 6.21 mm 51.8 cm Iron hhIoni - 23 -249 m -4.59 cm 7.39 mm 201 MeV 13.8 MeV 5.58 mm 52.4 cm Iron hhIoni - 24 -249 m -4.72 cm 7.25 mm 188 MeV 13.2 MeV 4.99 mm 52.9 cm Iron hhIoni - 25 -249 m -4.82 cm 7.03 mm 176 MeV 12 MeV 4.49 mm 53.3 cm Iron hhIoni - 26 -249 m -4.91 cm 6.72 mm 165 MeV 10.8 MeV 4.04 mm 53.7 cm Iron hhIoni - 27 -249 m -5 cm 6.48 mm 154 MeV 10.7 MeV 3.63 mm 54.1 cm Iron hhIoni - 28 -249 m -5.08 cm 6.23 mm 145 MeV 9.39 MeV 3.25 mm 54.4 cm Iron hhIoni - 29 -249 m -5.15 cm 6.07 mm 136 MeV 9.3 MeV 2.95 mm 54.7 cm Iron hhIoni - 30 -249 m -5.22 cm 6.07 mm 127 MeV 8.08 MeV 2.65 mm 55 cm Iron hhIoni - 31 -249 m -5.28 cm 6.06 mm 118 MeV 9.18 MeV 2.39 mm 55.2 cm Iron hhIoni - 32 -249 m -5.34 cm 6.03 mm 110 MeV 7.79 MeV 2.13 mm 55.4 cm Iron hhIoni - 33 -249 m -5.4 cm 5.99 mm 103 MeV 7.16 MeV 1.92 mm 55.6 cm Iron hhIoni - 34 -249 m -5.46 cm 5.96 mm 96.7 MeV 6.59 MeV 1.72 mm 55.8 cm Iron hhIoni - 35 -249 m -5.5 cm 5.95 mm 90.3 MeV 6.37 MeV 1.55 mm 56 cm Iron hhIoni - 36 -249 m -5.55 cm 5.94 mm 83.9 MeV 6.45 MeV 1.4 mm 56.1 cm Iron hhIoni - 37 -249 m -5.58 cm 5.94 mm 78.2 MeV 5.73 MeV 1.25 mm 56.2 cm Iron hhIoni - 38 -249 m -5.62 cm 5.98 mm 72.6 MeV 5.61 MeV 1.12 mm 56.3 cm Iron hhIoni - 39 -249 m -5.65 cm 5.98 mm 67.7 MeV 4.88 MeV 1.01 mm 56.4 cm Iron hhIoni - 40 -249 m -5.68 cm 5.98 mm 62.8 MeV 4.85 MeV 914 um 56.5 cm Iron hhIoni - 41 -249 m -5.7 cm 5.98 mm 58.1 MeV 4.71 MeV 819 um 56.6 cm Iron hhIoni - 42 -249 m -5.72 cm 6.01 mm 53.4 MeV 4.69 MeV 741 um 56.7 cm Iron hhIoni - 43 -249 m -5.74 cm 6.06 mm 49.2 MeV 4.2 MeV 663 um 56.7 cm Iron hhIoni - 44 -249 m -5.76 cm 6.13 mm 44.6 MeV 4.65 MeV 596 um 56.8 cm Iron hhIoni - 45 -249 m -5.78 cm 6.2 mm 41 MeV 3.6 MeV 531 um 56.9 cm Iron hhIoni - 46 -249 m -5.79 cm 6.26 mm 37.4 MeV 3.6 MeV 480 um 56.9 cm Iron hhIoni - 47 -249 m -5.81 cm 6.3 mm 33.8 MeV 3.53 MeV 435 um 57 cm Iron hhIoni - 48 -249 m -5.82 cm 6.33 mm 30.3 MeV 3.58 MeV 393 um 57 cm Iron hhIoni - 49 -249 m -5.84 cm 6.34 mm 26.6 MeV 3.69 MeV 353 um 57 cm Iron hhIoni - 50 -249 m -5.85 cm 6.36 mm 22.7 MeV 3.9 MeV 316 um 57.1 cm Iron hhIoni - 51 -249 m -5.86 cm 6.39 mm 19.1 MeV 3.56 MeV 280 um 57.1 cm Iron hhIoni - 52 -249 m -5.87 cm 6.41 mm 15.2 MeV 3.96 MeV 249 um 57.1 cm Iron hhIoni - 53 -249 m -5.88 cm 6.42 mm 11.4 MeV 3.73 MeV 217 um 57.1 cm Iron hhIoni - 54 -249 m -5.88 cm 6.45 mm 7.1 MeV 4.33 MeV 186 um 57.2 cm Iron hhIoni - 55 -249 m -5.89 cm 6.48 mm 2.02 MeV 5.09 MeV 134 um 57.2 cm Iron hhIoni - 56 -249 m -5.89 cm 6.49 mm 0 eV 2.02 MeV 19.1 um 57.2 cm Iron hhIoni + 1 -250 m -521 um 646 um 927 MeV 72.6 MeV 5.8 cm 5.8 cm Iron hhIoni + 2 -250 m -3.47 mm -334 um 860 MeV 67.1 MeV 5.23 cm 11 cm Iron hhIoni + 3 -250 m -6.76 mm -927 um 800 MeV 60.4 MeV 4.71 cm 15.7 cm Iron hhIoni + 4 -250 m -8.87 mm -268 um 742 MeV 57.4 MeV 4.24 cm 20 cm Iron hhIoni + 5 -250 m -1.08 cm -269 um 691 MeV 51 MeV 3.82 cm 23.8 cm Iron hhIoni + 6 -250 m -1.22 cm -109 um 644 MeV 47.9 MeV 3.45 cm 27.3 cm Iron hhIoni + 7 -250 m -1.26 cm 591 um 599 MeV 44.9 MeV 3.1 cm 30.4 cm Iron hhIoni + 8 -250 m -1.32 cm 1.53 mm 556 MeV 42.5 MeV 2.79 cm 33.1 cm Iron hhIoni + 9 -250 m -1.41 cm 2.87 mm 519 MeV 37.3 MeV 2.5 cm 35.6 cm Iron hhIoni + 10 -250 m -1.48 cm 3.57 mm 485 MeV 33.7 MeV 2.25 cm 37.9 cm Iron hhIoni + 11 -250 m -1.61 cm 4.48 mm 451 MeV 33.8 MeV 2.03 cm 39.9 cm Iron hhIoni + 12 -250 m -1.71 cm 5.32 mm 424 MeV 27.6 MeV 1.82 cm 41.7 cm Iron hhIoni + 13 -250 m -1.8 cm 5.88 mm 397 MeV 27 MeV 1.65 cm 43.4 cm Iron hhIoni + 14 -250 m -1.89 cm 6.79 mm 369 MeV 28.3 MeV 1.49 cm 44.9 cm Iron hhIoni + 15 -250 m -2 cm 7.49 mm 344 MeV 24.4 MeV 1.33 cm 46.2 cm Iron hhIoni + 16 -250 m -2.11 cm 8.36 mm 322 MeV 21.9 MeV 1.19 cm 47.4 cm Iron hhIoni + 17 -250 m -2.19 cm 9.2 mm 301 MeV 21 MeV 1.07 cm 48.5 cm Iron hhIoni + 18 -250 m -2.3 cm 9.81 mm 281 MeV 20.5 MeV 9.63 mm 49.4 cm Iron hhIoni + 19 -249 m -2.41 cm 1.03 cm 264 MeV 16.7 MeV 8.62 mm 50.3 cm Iron hhIoni + 20 -249 m -2.52 cm 1.09 cm 249 MeV 15.6 MeV 7.8 mm 51.1 cm Iron hhIoni + 21 -249 m -2.6 cm 1.16 cm 234 MeV 14.7 MeV 7.05 mm 51.8 cm Iron hhIoni + 22 -249 m -2.68 cm 1.24 cm 219 MeV 14.7 MeV 6.41 mm 52.4 cm Iron hhIoni + 23 -249 m -2.75 cm 1.32 cm 205 MeV 14 MeV 5.78 mm 53 cm Iron hhIoni + 24 -249 m -2.81 cm 1.39 cm 192 MeV 12.8 MeV 5.17 mm 53.5 cm Iron hhIoni + 25 -249 m -2.86 cm 1.46 cm 180 MeV 12.2 MeV 4.66 mm 54 cm Iron hhIoni + 26 -249 m -2.91 cm 1.53 cm 169 MeV 11.3 MeV 4.2 mm 54.4 cm Iron hhIoni + 27 -249 m -2.96 cm 1.6 cm 160 MeV 9.21 MeV 3.78 mm 54.8 cm Iron hhIoni + 28 -249 m -3.02 cm 1.66 cm 149 MeV 10.1 MeV 3.43 mm 55.1 cm Iron hhIoni + 29 -249 m -3.08 cm 1.71 cm 141 MeV 8.89 MeV 3.1 mm 55.4 cm Iron hhIoni + 30 -249 m -3.13 cm 1.75 cm 131 MeV 9.47 MeV 2.81 mm 55.7 cm Iron hhIoni + 31 -249 m -3.17 cm 1.79 cm 123 MeV 7.79 MeV 2.51 mm 56 cm Iron hhIoni + 32 -249 m -3.21 cm 1.82 cm 115 MeV 8.02 MeV 2.27 mm 56.2 cm Iron hhIoni + 33 -249 m -3.24 cm 1.83 cm 107 MeV 7.75 MeV 2.05 mm 56.4 cm Iron hhIoni + 34 -249 m -3.27 cm 1.85 cm 101 MeV 6.15 MeV 1.83 mm 56.6 cm Iron hhIoni + 35 -249 m -3.29 cm 1.87 cm 94.3 MeV 7.08 MeV 1.66 mm 56.8 cm Iron hhIoni + 36 -249 m -3.31 cm 1.89 cm 88 MeV 6.23 MeV 1.49 mm 56.9 cm Iron hhIoni + 37 -249 m -3.33 cm 1.91 cm 81.9 MeV 6.09 MeV 1.35 mm 57 cm Iron hhIoni + 38 -249 m -3.36 cm 1.93 cm 76.2 MeV 5.69 MeV 1.2 mm 57.2 cm Iron hhIoni + 39 -249 m -3.39 cm 1.94 cm 70.7 MeV 5.57 MeV 1.08 mm 57.3 cm Iron hhIoni + 40 -249 m -3.41 cm 1.96 cm 66.1 MeV 4.58 MeV 973 um 57.4 cm Iron hhIoni + 41 -249 m -3.43 cm 1.98 cm 60.8 MeV 5.32 MeV 883 um 57.5 cm Iron hhIoni + 42 -249 m -3.45 cm 1.98 cm 55.7 MeV 5.08 MeV 785 um 57.5 cm Iron hhIoni + 43 -249 m -3.47 cm 1.99 cm 51.3 MeV 4.39 MeV 701 um 57.6 cm Iron hhIoni + 44 -249 m -3.48 cm 2 cm 47 MeV 4.33 MeV 628 um 57.7 cm Iron hhIoni + 45 -249 m -3.49 cm 2.01 cm 43 MeV 3.94 MeV 564 um 57.7 cm Iron hhIoni + 46 -249 m -3.5 cm 2.01 cm 39.3 MeV 3.78 MeV 509 um 57.8 cm Iron hhIoni + 47 -249 m -3.51 cm 2.02 cm 35.3 MeV 3.91 MeV 457 um 57.8 cm Iron hhIoni + 48 -249 m -3.52 cm 2.02 cm 31.9 MeV 3.49 MeV 411 um 57.9 cm Iron hhIoni + 49 -249 m -3.52 cm 2.02 cm 27.8 MeV 4.01 MeV 370 um 57.9 cm Iron hhIoni + 50 -249 m -3.53 cm 2.02 cm 24.3 MeV 3.51 MeV 329 um 57.9 cm Iron hhIoni + 51 -249 m -3.54 cm 2.02 cm 20.8 MeV 3.55 MeV 294 um 58 cm Iron hhIoni + 52 -249 m -3.55 cm 2.02 cm 17.2 MeV 3.54 MeV 263 um 58 cm Iron hhIoni + 53 -249 m -3.56 cm 2.04 cm 13.4 MeV 3.86 MeV 234 um 58 cm Iron hhIoni + 54 -249 m -3.57 cm 2.05 cm 9.2 MeV 4.18 MeV 203 um 58 cm Iron hhIoni + 55 -249 m -3.57 cm 2.05 cm 4.16 MeV 5.05 MeV 164 um 58 cm Iron hhIoni + 56 -249 m -3.58 cm 2.05 cm 0 eV 4.16 MeV 60.6 um 58 cm Iron hhIoni ********************************************************************************************************* * G4Track Information: Particle = anti_proton, Track ID = 1, Parent ID = 0 @@ -1290,70 +1337,70 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 -250 m 0 fm 0 fm 1 GeV 0 eV 0 fm 0 fm Iron initStep - 1 -250 m -808 um 188 um 925 MeV 74.8 MeV 5.8 cm 5.8 cm Iron hhIoni - 2 -250 m -805 um 801 um 859 MeV 66 MeV 5.22 cm 11 cm Iron hhIoni - 3 -250 m -2.13 mm 2.71 mm 795 MeV 64.3 MeV 4.7 cm 15.7 cm Iron hhIoni - 4 -250 m -3.93 mm 3.41 mm 734 MeV 61.2 MeV 4.2 cm 19.9 cm Iron hhIoni - 5 -250 m -2.55 mm 1.44 mm 681 MeV 52.4 MeV 3.76 cm 23.7 cm Iron hhIoni - 6 -250 m -1.06 mm 1.84 mm 636 MeV 44.7 MeV 3.37 cm 27.1 cm Iron hhIoni - 7 -250 m 1 mm 3.01 mm 595 MeV 41.6 MeV 3.05 cm 30.1 cm Iron hhIoni - 8 -250 m 2.74 mm 4.18 mm 555 MeV 40 MeV 2.76 cm 32.9 cm Iron hhIoni - 9 -250 m 4.44 mm 5.68 mm 517 MeV 38.3 MeV 2.49 cm 35.4 cm Iron hhIoni - 10 -250 m 5.28 mm 7.32 mm 480 MeV 36.5 MeV 2.23 cm 37.6 cm Iron hhIoni - 11 -250 m 6.39 mm 8.75 mm 446 MeV 33.6 MeV 2 cm 39.6 cm Iron hhIoni - 12 -250 m 7.04 mm 9.78 mm 419 MeV 27.3 MeV 1.79 cm 41.4 cm Iron hhIoni - 13 -250 m 7.25 mm 9.67 mm 392 MeV 26.9 MeV 1.62 cm 43 cm Iron hhIoni - 14 -250 m 7.8 mm 9.84 mm 366 MeV 26.6 MeV 1.46 cm 44.5 cm Iron hhIoni - 15 -250 m 8.68 mm 1.01 cm 344 MeV 21.4 MeV 1.31 cm 45.8 cm Iron hhIoni - 16 -250 m 8.84 mm 1.16 cm 322 MeV 22.2 MeV 1.19 cm 47 cm Iron hhIoni - 17 -250 m 8.68 mm 1.29 cm 302 MeV 20.3 MeV 1.07 cm 48 cm Iron hhIoni - 18 -250 m 8.51 mm 1.42 cm 281 MeV 20.4 MeV 9.66 mm 49 cm Iron hhIoni - 19 -250 m 8.44 mm 1.55 cm 263 MeV 18.3 MeV 8.66 mm 49.9 cm Iron hhIoni - 20 -249 m 8.23 mm 1.66 cm 248 MeV 15.2 MeV 7.75 mm 50.6 cm Iron hhIoni - 21 -249 m 7.87 mm 1.75 cm 231 MeV 17.1 MeV 7.02 mm 51.3 cm Iron hhIoni - 22 -249 m 7.62 mm 1.84 cm 217 MeV 14 MeV 6.29 mm 52 cm Iron hhIoni - 23 -249 m 7.4 mm 1.92 cm 204 MeV 13.2 MeV 5.68 mm 52.5 cm Iron hhIoni - 24 -249 m 7.12 mm 1.99 cm 191 MeV 12.6 MeV 5.11 mm 53.1 cm Iron hhIoni - 25 -249 m 7.02 mm 2.05 cm 180 MeV 10.9 MeV 4.61 mm 53.5 cm Iron hhIoni - 26 -249 m 7.09 mm 2.1 cm 169 MeV 11 MeV 4.21 mm 53.9 cm Iron hhIoni - 27 -249 m 7.19 mm 2.13 cm 159 MeV 10.4 MeV 3.79 mm 54.3 cm Iron hhIoni - 28 -249 m 7.18 mm 2.17 cm 148 MeV 10.6 MeV 3.4 mm 54.7 cm Iron hhIoni - 29 -249 m 7.19 mm 2.21 cm 139 MeV 9.23 MeV 3.06 mm 55 cm Iron hhIoni - 30 -249 m 7.29 mm 2.24 cm 131 MeV 8.19 MeV 2.76 mm 55.2 cm Iron hhIoni - 31 -249 m 7.42 mm 2.27 cm 122 MeV 8.45 MeV 2.5 mm 55.5 cm Iron hhIoni - 32 -249 m 7.48 mm 2.3 cm 114 MeV 8.82 MeV 2.24 mm 55.7 cm Iron hhIoni - 33 -249 m 7.53 mm 2.32 cm 107 MeV 6.77 MeV 2 mm 55.9 cm Iron hhIoni - 34 -249 m 7.67 mm 2.35 cm 100 MeV 6.51 MeV 1.81 mm 56.1 cm Iron hhIoni - 35 -249 m 7.86 mm 2.39 cm 93.4 MeV 6.89 MeV 1.63 mm 56.3 cm Iron hhIoni - 36 -249 m 8.02 mm 2.42 cm 87 MeV 6.36 MeV 1.47 mm 56.4 cm Iron hhIoni - 37 -249 m 8.15 mm 2.45 cm 81.4 MeV 5.6 MeV 1.32 mm 56.5 cm Iron hhIoni - 38 -249 m 8.28 mm 2.47 cm 75.6 MeV 5.8 MeV 1.19 mm 56.7 cm Iron hhIoni - 39 -249 m 8.41 mm 2.5 cm 70.2 MeV 5.47 MeV 1.07 mm 56.8 cm Iron hhIoni - 40 -249 m 8.57 mm 2.51 cm 64.7 MeV 5.42 MeV 963 um 56.9 cm Iron hhIoni - 41 -249 m 8.75 mm 2.53 cm 59.9 MeV 4.85 MeV 856 um 56.9 cm Iron hhIoni - 42 -249 m 8.89 mm 2.54 cm 55.4 MeV 4.5 MeV 770 um 57 cm Iron hhIoni - 43 -249 m 8.97 mm 2.55 cm 51.2 MeV 4.18 MeV 695 um 57.1 cm Iron hhIoni - 44 -249 m 9.06 mm 2.56 cm 46.9 MeV 4.3 MeV 626 um 57.2 cm Iron hhIoni - 45 -249 m 9.13 mm 2.57 cm 42.5 MeV 4.35 MeV 563 um 57.2 cm Iron hhIoni - 46 -249 m 9.17 mm 2.58 cm 38.7 MeV 3.85 MeV 502 um 57.3 cm Iron hhIoni - 47 -249 m 9.22 mm 2.59 cm 35 MeV 3.75 MeV 451 um 57.3 cm Iron hhIoni - 48 -249 m 9.25 mm 2.6 cm 31.6 MeV 3.32 MeV 407 um 57.3 cm Iron hhIoni - 49 -249 m 9.26 mm 2.6 cm 27.8 MeV 3.81 MeV 367 um 57.4 cm Iron hhIoni - 50 -249 m 9.28 mm 2.61 cm 24.2 MeV 3.65 MeV 329 um 57.4 cm Iron hhIoni - 51 -249 m 9.29 mm 2.62 cm 20.7 MeV 3.52 MeV 293 um 57.4 cm Iron hhIoni - 52 -249 m 9.29 mm 2.62 cm 17 MeV 3.68 MeV 262 um 57.5 cm Iron hhIoni - 53 -249 m 9.28 mm 2.63 cm 13.1 MeV 3.87 MeV 232 um 57.5 cm Iron hhIoni - 54 -249 m 9.27 mm 2.63 cm 8.82 MeV 4.28 MeV 200 um 57.5 cm Iron hhIoni - 55 -249 m 9.24 mm 2.64 cm 3.94 MeV 4.88 MeV 159 um 57.5 cm Iron hhIoni - 56 -249 m 9.23 mm 2.64 cm 0 eV 3.94 MeV 55.4 um 57.5 cm Iron hhIoni + 1 -250 m 410 um 722 um 925 MeV 75.4 MeV 5.8 cm 5.8 cm Iron hhIoni + 2 -250 m 97.4 um 3.05 mm 862 MeV 62.8 MeV 5.21 cm 11 cm Iron hhIoni + 3 -250 m -712 um 4.72 mm 797 MeV 65.2 MeV 4.72 cm 15.7 cm Iron hhIoni + 4 -250 m -2.85 mm 5.58 mm 740 MeV 57 MeV 4.22 cm 19.9 cm Iron hhIoni + 5 -250 m -5.34 mm 5.11 mm 692 MeV 47.9 MeV 3.8 cm 23.7 cm Iron hhIoni + 6 -250 m -7.07 mm 3.98 mm 643 MeV 48.5 MeV 3.45 cm 27.2 cm Iron hhIoni + 7 -250 m -9.87 mm 2.91 mm 596 MeV 47.6 MeV 3.1 cm 30.3 cm Iron hhIoni + 8 -250 m -1.29 cm 1.34 mm 556 MeV 39.1 MeV 2.77 cm 33.1 cm Iron hhIoni + 9 -250 m -1.49 cm 8.39 um 520 MeV 36.9 MeV 2.5 cm 35.6 cm Iron hhIoni + 10 -250 m -1.67 cm -550 um 483 MeV 36.5 MeV 2.25 cm 37.8 cm Iron hhIoni + 11 -250 m -1.85 cm -1.16 mm 450 MeV 32.9 MeV 2.02 cm 39.8 cm Iron hhIoni + 12 -250 m -2.02 cm -1.46 mm 422 MeV 28.1 MeV 1.81 cm 41.7 cm Iron hhIoni + 13 -250 m -2.15 cm -1.68 mm 396 MeV 26.1 MeV 1.64 cm 43.3 cm Iron hhIoni + 14 -250 m -2.26 cm -1.51 mm 373 MeV 22.7 MeV 1.48 cm 44.8 cm Iron hhIoni + 15 -250 m -2.34 cm -1.61 mm 348 MeV 25.7 MeV 1.35 cm 46.1 cm Iron hhIoni + 16 -250 m -2.48 cm -1.69 mm 323 MeV 24.2 MeV 1.21 cm 47.3 cm Iron hhIoni + 17 -250 m -2.58 cm -1.55 mm 302 MeV 20.9 MeV 1.08 cm 48.4 cm Iron hhIoni + 18 -250 m -2.7 cm -1.37 mm 284 MeV 18.8 MeV 9.69 mm 49.4 cm Iron hhIoni + 19 -249 m -2.8 cm -1.32 mm 267 MeV 16.7 MeV 8.76 mm 50.3 cm Iron hhIoni + 20 -249 m -2.9 cm -1.51 mm 249 MeV 17.7 MeV 7.94 mm 51.1 cm Iron hhIoni + 21 -249 m -3 cm -1.64 mm 233 MeV 16.3 MeV 7.08 mm 51.8 cm Iron hhIoni + 22 -249 m -3.09 cm -1.85 mm 218 MeV 15.4 MeV 6.37 mm 52.4 cm Iron hhIoni + 23 -249 m -3.17 cm -2.01 mm 205 MeV 12.5 MeV 5.71 mm 53 cm Iron hhIoni + 24 -249 m -3.25 cm -2.23 mm 192 MeV 12.7 MeV 5.17 mm 53.5 cm Iron hhIoni + 25 -249 m -3.32 cm -2.49 mm 179 MeV 13 MeV 4.66 mm 54 cm Iron hhIoni + 26 -249 m -3.38 cm -2.71 mm 168 MeV 11.2 MeV 4.18 mm 54.4 cm Iron hhIoni + 27 -249 m -3.42 cm -2.89 mm 158 MeV 10.4 MeV 3.75 mm 54.8 cm Iron hhIoni + 28 -249 m -3.48 cm -2.9 mm 147 MeV 10.9 MeV 3.37 mm 55.1 cm Iron hhIoni + 29 -249 m -3.53 cm -2.92 mm 138 MeV 9.31 MeV 3.02 mm 55.4 cm Iron hhIoni + 30 -249 m -3.57 cm -2.98 mm 128 MeV 9.56 MeV 2.72 mm 55.7 cm Iron hhIoni + 31 -249 m -3.61 cm -2.96 mm 119 MeV 8.56 MeV 2.41 mm 55.9 cm Iron hhIoni + 32 -249 m -3.64 cm -2.94 mm 112 MeV 7.24 MeV 2.16 mm 56.1 cm Iron hhIoni + 33 -249 m -3.67 cm -2.94 mm 105 MeV 7.1 MeV 1.96 mm 56.3 cm Iron hhIoni + 34 -249 m -3.7 cm -2.89 mm 98.2 MeV 6.91 MeV 1.77 mm 56.5 cm Iron hhIoni + 35 -249 m -3.72 cm -2.81 mm 91.5 MeV 6.68 MeV 1.59 mm 56.6 cm Iron hhIoni + 36 -249 m -3.73 cm -2.72 mm 85.7 MeV 5.84 MeV 1.43 mm 56.8 cm Iron hhIoni + 37 -249 m -3.75 cm -2.64 mm 79.8 MeV 5.87 MeV 1.29 mm 56.9 cm Iron hhIoni + 38 -249 m -3.77 cm -2.56 mm 74.2 MeV 5.68 MeV 1.15 mm 57 cm Iron hhIoni + 39 -249 m -3.79 cm -2.49 mm 68.7 MeV 5.43 MeV 1.04 mm 57.1 cm Iron hhIoni + 40 -249 m -3.8 cm -2.43 mm 63.6 MeV 5.14 MeV 934 um 57.2 cm Iron hhIoni + 41 -249 m -3.81 cm -2.34 mm 58.7 MeV 4.87 MeV 833 um 57.3 cm Iron hhIoni + 42 -249 m -3.82 cm -2.26 mm 54.4 MeV 4.32 MeV 751 um 57.4 cm Iron hhIoni + 43 -249 m -3.83 cm -2.21 mm 50.2 MeV 4.2 MeV 679 um 57.5 cm Iron hhIoni + 44 -249 m -3.84 cm -2.18 mm 46 MeV 4.16 MeV 609 um 57.5 cm Iron hhIoni + 45 -249 m -3.84 cm -2.13 mm 42.3 MeV 3.73 MeV 551 um 57.6 cm Iron hhIoni + 46 -249 m -3.85 cm -2.08 mm 38.5 MeV 3.81 MeV 499 um 57.6 cm Iron hhIoni + 47 -249 m -3.85 cm -2.01 mm 34.4 MeV 4.11 MeV 448 um 57.7 cm Iron hhIoni + 48 -249 m -3.86 cm -1.95 mm 30.6 MeV 3.79 MeV 400 um 57.7 cm Iron hhIoni + 49 -249 m -3.86 cm -1.89 mm 26.9 MeV 3.66 MeV 357 um 57.7 cm Iron hhIoni + 50 -249 m -3.87 cm -1.86 mm 23.7 MeV 3.27 MeV 320 um 57.8 cm Iron hhIoni + 51 -249 m -3.87 cm -1.83 mm 20.2 MeV 3.41 MeV 288 um 57.8 cm Iron hhIoni + 52 -249 m -3.87 cm -1.8 mm 16.5 MeV 3.71 MeV 258 um 57.8 cm Iron hhIoni + 53 -249 m -3.87 cm -1.77 mm 12.7 MeV 3.84 MeV 228 um 57.9 cm Iron hhIoni + 54 -249 m -3.88 cm -1.73 mm 8.3 MeV 4.4 MeV 197 um 57.9 cm Iron hhIoni + 55 -249 m -3.88 cm -1.71 mm 3.08 MeV 5.22 MeV 152 um 57.9 cm Iron hhIoni + 56 -249 m -3.88 cm -1.7 mm 0 eV 3.08 MeV 37.3 um 57.9 cm Iron hhIoni Run terminated. Run Summary Number of events processed : 2 - User=0.07s Real=0.12s Sys=0.03s + User=0.06s Real=0.1s Sys=0.02s --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1679520755, 42257434 + Current couple of seeds = 1319701757, 224519741 ---------------------------------------- # Graphics systems deleted. diff --git a/examples/extended/electromagnetic/TestEm6/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm6/include/DetectorConstruction.hh index 56f4b7b2ec..4ecbdc45b9 100644 --- a/examples/extended/electromagnetic/TestEm6/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.3 2006/06/29 16:56:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm6/include/DetectorMessenger.hh index fb1e2d2648..4166f89caa 100644 --- a/examples/extended/electromagnetic/TestEm6/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm6/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.4 2006/06/29 16:56:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/EventAction.hh b/examples/extended/electromagnetic/TestEm6/include/EventAction.hh index ea087ea9db..9180c99862 100644 --- a/examples/extended/electromagnetic/TestEm6/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.3 2006/06/29 16:56:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm6/include/EventActionMessenger.hh index da78f24919..ce4cb8e975 100644 --- a/examples/extended/electromagnetic/TestEm6/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm6/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.3 2006/06/29 16:56:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm6/include/PhysicsList.hh index fcc059dbcf..e6a708bb25 100644 --- a/examples/extended/electromagnetic/TestEm6/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm6/include/PhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.hh,v 1.7 2006/06/29 16:56:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm6/include/PhysicsListMessenger.hh index d6526474ed..aea5a55c11 100644 --- a/examples/extended/electromagnetic/TestEm6/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm6/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.5 2006/06/29 16:56:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorAction.hh index af44483a5a..63d3270e3b 100644 --- a/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.3 2006/06/29 16:56:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorMessenger.hh index 818f73a99e..2653dadd31 100644 --- a/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm6/include/PrimaryGeneratorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.hh,v 1.3 2006/06/29 16:56:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/RunAction.hh b/examples/extended/electromagnetic/TestEm6/include/RunAction.hh index 0ae54a8d7a..f41e923dab 100644 --- a/examples/extended/electromagnetic/TestEm6/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.9 2006/06/29 16:56:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm6/include/SteppingAction.hh index 8686eefa9a..fa946a348f 100644 --- a/examples/extended/electromagnetic/TestEm6/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm6/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.4 2006/06/29 16:56:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm6/include/SteppingVerbose.hh index ebdddbb787..9a3b48caf0 100644 --- a/examples/extended/electromagnetic/TestEm6/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm6/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.3 2006/06/29 16:56:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/electromagnetic/TestEm6/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm6/src/DetectorConstruction.cc index 4a4843726d..fe825ab632 100644 --- a/examples/extended/electromagnetic/TestEm6/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.10 2006/06/29 16:57:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm6/src/DetectorMessenger.cc index e4bb130b59..0b37c59c1d 100644 --- a/examples/extended/electromagnetic/TestEm6/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm6/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.5 2006/06/29 16:57:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/EventAction.cc b/examples/extended/electromagnetic/TestEm6/src/EventAction.cc index d1cc098629..ac951fd63e 100644 --- a/examples/extended/electromagnetic/TestEm6/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.6 2006/06/29 16:57:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm6/src/EventActionMessenger.cc index 2a7fe84494..391be4ccfa 100644 --- a/examples/extended/electromagnetic/TestEm6/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm6/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.6 2006/06/29 16:57:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc index eb5b94a918..b7f22dec5e 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PhysicsList.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.cc,v 1.12 2006/06/29 16:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm6/src/PhysicsListMessenger.cc index 2b3ae1be5b..3b7416185f 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.8 2006/06/29 16:57:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorAction.cc index 57211f2256..ff69a691ac 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.3 2006/06/29 16:57:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorMessenger.cc index 861eda8181..4f3fb0f848 100644 --- a/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm6/src/PrimaryGeneratorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.cc,v 1.5 2006/06/29 16:57:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/RunAction.cc b/examples/extended/electromagnetic/TestEm6/src/RunAction.cc index f4e5b2bd18..2f70b08384 100644 --- a/examples/extended/electromagnetic/TestEm6/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.12 2006/06/29 16:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc index 8621b516c0..8c72c70b83 100644 --- a/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm6/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.9 2006/06/29 16:57:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm6/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm6/src/SteppingVerbose.cc index 37104a98ac..5f98308ca4 100644 --- a/examples/extended/electromagnetic/TestEm6/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm6/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.5 2006/06/29 16:57:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/GNUmakefile b/examples/extended/electromagnetic/TestEm7/GNUmakefile index fe258940b2..792b384a84 100644 --- a/examples/extended/electromagnetic/TestEm7/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm7/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.8 2007/01/12 16:35:21 maire Exp $ +# $Id: GNUmakefile,v 1.9 2007/06/22 12:44:42 maire Exp $ # -------------------------------------------------------------- # GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. # -------------------------------------------------------------- @@ -14,7 +14,7 @@ endif .PHONY: all all: lib bin -### G4ANALYSIS_USE := true +#### G4ANALYSIS_USE := true ifdef G4ANALYSIS_USE CPPFLAGS += -DG4ANALYSIS_USE diff --git a/examples/extended/electromagnetic/TestEm7/History b/examples/extended/electromagnetic/TestEm7/History index 25dd0d11a0..b4a8b569a9 100644 --- a/examples/extended/electromagnetic/TestEm7/History +++ b/examples/extended/electromagnetic/TestEm7/History @@ -1,4 +1,4 @@ -$Id: History,v 1.47 2007/04/24 13:10:12 vnivanch Exp $ +$Id: History,v 1.50 2007/06/22 12:44:42 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,17 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +22-06-07 mma (testem7-V08-03-02) +- cosmetic in TestEm7.cc + +12-06-07 V.Ivant (testem7-V08-03-01) +- add output of mean number of primary steps, add kaon+ run in + main macro TestEm7.in + +16-05-07 V.Ivant (testem7-V08-03-00) +- Fixed bug in standardSS Physics Lists +- Added EM builders from physics_lists library 24-04-07: V.Ivant (testem7-V08-02-02) - use standard names for "livermore" and "penelope" PhysLists diff --git a/examples/extended/electromagnetic/TestEm7/TestEm7.cc b/examples/extended/electromagnetic/TestEm7/TestEm7.cc index 25c9f9bf27..74e780b355 100644 --- a/examples/extended/electromagnetic/TestEm7/TestEm7.cc +++ b/examples/extended/electromagnetic/TestEm7/TestEm7.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: TestEm7.cc,v 1.6 2006/06/29 16:57:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: TestEm7.cc,v 1.8 2007/06/22 12:44:42 maire Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -63,19 +63,13 @@ int main(int argc,char** argv) { G4RunManager * runManager = new G4RunManager; //set mandatory initialization classes - DetectorConstruction* det; - PhysicsList* phys; - PrimaryGeneratorAction* kin; + DetectorConstruction* det; + PhysicsList* phys; + PrimaryGeneratorAction* kin; runManager->SetUserInitialization(det = new DetectorConstruction); runManager->SetUserInitialization(phys = new PhysicsList); runManager->SetUserAction(kin = new PrimaryGeneratorAction(det)); -#ifdef G4VIS_USE - //visualization manager - G4VisManager* visManager = new G4VisExecutive; - visManager->Initialize(); -#endif - //set user action classes RunAction* run; @@ -87,29 +81,36 @@ int main(int argc,char** argv) { //get the pointer to the User Interface manager G4UImanager* UI = G4UImanager::GetUIpointer(); - if (argc==1) // Define UI terminal for interactive mode - { - G4UIsession* session = 0; -#ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); -#else - session = new G4UIterminal(); -#endif - session->SessionStart(); - delete session; - } - else // Batch mode - { + if (argc!=1) // batch mode + { G4String command = "/control/execute "; G4String fileName = argv[1]; UI->ApplyCommand(command+fileName); } + + else //define visualization and UI terminal for interactive mode + { +#ifdef G4VIS_USE + G4VisManager* visManager = new G4VisExecutive; + visManager->Initialize(); +#endif + + G4UIsession * session = 0; +#ifdef G4UI_USE_TCSH + session = new G4UIterminal(new G4UItcsh); +#else + session = new G4UIterminal(); +#endif + session->SessionStart(); + delete session; + +#ifdef G4VIS_USE + delete visManager; +#endif + } //job termination -#ifdef G4VIS_USE - delete visManager; -#endif - + // delete runManager; return 0; diff --git a/examples/extended/electromagnetic/TestEm7/TestEm7.in b/examples/extended/electromagnetic/TestEm7/TestEm7.in index 4df9f8c9ff..e166dba860 100644 --- a/examples/extended/electromagnetic/TestEm7/TestEm7.in +++ b/examples/extended/electromagnetic/TestEm7/TestEm7.in @@ -1,17 +1,17 @@ -# $Id: TestEm7.in,v 1.12 2006/01/30 10:35:33 maire Exp $ +# $Id: TestEm7.in,v 1.15 2007/06/12 14:01:13 vnivanch Exp $ # # Macro file for "TestEm7.cc" # (can be run in batch, without graphic) # # -/control/verbose 2 -/run/verbose 2 +/control/verbose 1 +/run/verbose 1 # -/testem/det/setMat Water +/testem/det/setMat G4_WATER /testem/det/setSizeX 20 cm /testem/det/setSizeYZ 20 cm # -/testem/det/tallyMat Water +/testem/det/tallyMat G4_WATER /testem/det/tallySize 2. 2. 2. mm /testem/det/tallyPosition -9.9 0. 0. cm /testem/det/tallyPosition -5. 0. 0. cm @@ -33,8 +33,14 @@ # /run/beamOn 10000 # +/testem/stepMax 100 mm /gun/particle ion /gun/ion 6 12 6 /gun/energy 3.5 GeV -# +/run/beamOn 1000 +# +/testem/det/setMat G4_Cu +/testem/det/update +/gun/particle kaon+ +/gun/energy 100 MeV /run/beamOn 1000 diff --git a/examples/extended/electromagnetic/TestEm7/TestEm7.out b/examples/extended/electromagnetic/TestEm7/TestEm7.out index 0a8c9d08f2..12b5c26d8c 100644 --- a/examples/extended/electromagnetic/TestEm7/TestEm7.out +++ b/examples/extended/electromagnetic/TestEm7/TestEm7.out @@ -1,63 +1,26 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -Visualization Manager instantiating... -Visualization Manager initialising... -Registering graphics systems... - -You have successfully registered the following graphics systems. -Current available graphics systems are: - ASCIITree (ATree) - DAWNFILE (DAWNFILE) - GAGTree (GAGTree) - G4HepRep (HepRepXML) - G4HepRepFile (HepRepFile) - RayTracer (RayTracer) - VRML1FILE (VRML1FILE) - VRML2FILE (VRML2FILE) - -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 - -/run/verbose 2 -# -/testem/det/setMat Water +/run/verbose 1 +/testem/det/setMat G4_WATER /testem/det/setSizeX 20 cm /testem/det/setSizeYZ 20 cm -# -/testem/det/tallyMat Water +/testem/det/tallyMat G4_WATER /testem/det/tallySize 2. 2. 2. mm /testem/det/tallyPosition -9.9 0. 0. cm /testem/det/tallyPosition -5. 0. 0. cm /testem/det/tallyPosition 0. 0. 0. cm /testem/det/tallyPosition 5. 0. 0. cm -# /testem/phys/addPhysics standard # em physics PhysicsList::AddPhysicsList: -###/testem/phys/addPhysics binary # hadronic physics -# /run/initialize -userDetector->Construct() start. -***** Table : Nb of materials = 3 ***** +***** Table : Nb of materials = 4 ***** Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.084 cm ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.19 % ElmAbundance 66.67 % @@ -70,33 +33,29 @@ userDetector->Construct() start. Material: Galactic density: 0.000 mg/cm3 temperature: 2.73 K pressure: 0.00 atm RadLength: 204322175.595 pc ---> Element: Galactic ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % + Material: G4_WATER H_2O density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.084 cm + ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.19 % ElmAbundance 66.67 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.81 % ElmAbundance 33.33 % + --------------------------------------------------------- ----> The Absorber is 20 cm of Water +---> The Absorber is 20 cm of G4_WATER --------------------------------------------------------- ----> There are 4 tallies : 2 2 2 mm of Water (mass : 8 mg) +---> There are 4 tallies : 2 2 2 mm of G4_WATER (mass : 8 mg) tally 0: position = -9.9 0 0 cm tally 1: position = -5 0 0 cm tally 2: position = 0 0 0 fm tally 3: position = 5 0 0 cm --------------------------------------------------------- -World is registered to the default region. -physicsList->Construct() start. -physicsList->Construct() start. -physicsList->setCut() start. PhysicsList::SetCuts:CutLength : 1 mm -# /gun/particle proton /gun/energy 160 MeV -# beam size /testem/gun/rndm 3 mm -# /testem/event/printModulo 1000 /testem/stepMax 1 mm -# /run/beamOn 10000 phot: Total cross sections from Sandia parametrisation. @@ -115,33 +74,33 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 1 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 480 bins. Lambda tables from threshold to 100 TeV in 480 bins. Delta cross sections and sampling from MollerBhabha model Good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 480 bins. Lambda tables from threshold to 100 TeV in 480 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 480 bins. Lambda tables from threshold to 100 TeV in 480 bins. Delta cross sections and sampling from MollerBhabha model Good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 480 bins. Lambda tables from threshold to 100 TeV in 480 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -150,7 +109,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 1 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 2 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 480 bins. @@ -158,21 +117,21 @@ hIoni: tables are built for proton Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV Parametrisation from Bragg for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 480 bins. Lambda tables from threshold to 100 TeV in 480 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. - Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 hIoni: tables are built for anti_proton dE/dx and range tables from 100 eV to 100 TeV in 480 bins. @@ -180,19 +139,19 @@ hIoni: tables are built for anti_proton Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV Parametrisation from Bragg for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 1 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 2 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 480 bins. Lambda tables from threshold to 100 TeV in 480 bins. Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, radiative corrections for E > 1 GeV - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 muBrems: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 480 bins. @@ -209,7 +168,7 @@ muIoni: tables are built for mu- Lambda tables from threshold to 100 TeV in 480 bins. Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, radiative corrections for E > 1 GeV - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 muBrems: tables are built for mu- dE/dx and range tables from 100 eV to 100 TeV in 480 bins. @@ -227,12 +186,12 @@ hIoni: tables are built for pi+ Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV Parametrisation from Bragg for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 1 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 2 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 480 bins. @@ -240,11 +199,7 @@ hIoni: tables are built for pi- Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV Parametrisation from Bragg for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 - -Region -- appears in world volume - Materials : Galactic Water - Production cuts : gamma 1 mm e- 1 mm e+ 1 mm + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 ========= Table of registered couples ============================== @@ -256,7 +211,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No - Material : Water + Material : G4_WATER Range cuts : gamma 1 mm e- 1 mm e+ 1 mm Energy thresholds : gamma 2.90186 keV e- 347.138 keV e+ 338.695 keV Region(s) which use this couple : @@ -264,21 +219,6 @@ Index : 1 used in the geometry : Yes recalculation needed : No ==================================================================== -Start closing geometry. -G4GeometryManager::ReportVoxelStats -- Voxel Statistics - - Total memory consumed for geometry optimisation: 0 kByte - Total CPU time elapsed for geometry optimisation: 0.01 seconds - - Voxelisation: top CPU users: - Percent Total CPU System CPU Memory Volume - ------- ---------- ---------- -------- ---------- - 0.00 0.00 0.00 0k Absorber - - Voxelisation: top memory users: - Percent Memory Heads Nodes Pointers Total CPU Volume - ------- -------- ------ ------ -------- ---------- ---------- - 100.00 0k 1 5 8 0.00 Absorber ### Run 0 start. --------- Ranecu engine status --------- @@ -309,37 +249,33 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=363.7s Real=513.8s Sys=55.26s + User=405.86s Real=529.6s Sys=6.68s - The run consists of 10000 proton of 160 MeV through 20 cm of Water (density: 1 g/cm3 ) + The run consists of 10000 proton of 160 MeV through 20 cm of G4_WATER (density: 1 g/cm3 ) - projected Range= 17.6112 cm rms= 5.18638 mm + projected Range= 17.6845 cm rms= 3.32188 mm + mean number of primary steps = 185.515 --------------------------------------------------------- Cumulated Doses : Edep Edep/Ebeam Dose - tally 0: 4.54547 GeV 0.284092 % 9.10332e-05 Gy - tally 1: 5.16219 GeV 0.322637 % 0.000103384 Gy - tally 2: 3.50818 GeV 0.219261 % 7.0259e-05 Gy - tally 3: 2.02558 GeV 0.126599 % 4.05666e-05 Gy + tally 0: 4.65922 GeV 0.291201 % 9.33112e-05 Gy + tally 1: 5.03052 GeV 0.314407 % 0.000100747 Gy + tally 2: 3.21919 GeV 0.201199 % 6.44714e-05 Gy + tally 3: 1.84085 GeV 0.115053 % 3.68671e-05 Gy --------------------------------------------------------- --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1072961543, 392647795 + Current couple of seeds = 148901156, 2023382443 ---------------------------------------- -# +/testem/stepMax 100 mm /gun/particle ion /gun/ion 6 12 6 /gun/energy 3.5 GeV -# /run/beamOn 1000 -Region -- appears in world volume - Materials : Galactic Water - Production cuts : gamma 1 mm e- 1 mm e+ 1 mm - ========= Table of registered couples ============================== Index : 0 used in the geometry : Yes recalculation needed : No @@ -350,7 +286,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No DefaultRegionForTheWorld Index : 1 used in the geometry : Yes recalculation needed : No - Material : Water + Material : G4_WATER Range cuts : gamma 1 mm e- 1 mm e+ 1 mm Energy thresholds : gamma 2.90186 keV e- 347.138 keV e+ 338.695 keV Region(s) which use this couple : @@ -362,7 +298,7 @@ Index : 1 used in the geometry : Yes recalculation needed : No --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1072961543, 392647795 + Current couple of seeds = 148901156, 2023382443 ---------------------------------------- Start Run processing. @@ -370,37 +306,268 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 1000 - User=123.16s Real=151.84s Sys=17.2s + User=133.93s Real=154.11s Sys=0.76s - The run consists of 1000 C12[0.0] of 3.5 GeV through 20 cm of Water (density: 1 g/cm3 ) + The run consists of 1000 C12[0.0] of 3.5 GeV through 20 cm of G4_WATER (density: 1 g/cm3 ) - projected Range= 16.4644 cm rms= 475.555 um + projected Range= 16.7078 cm rms= 549.595 um + mean number of primary steps = 95.235 --------------------------------------------------------- Cumulated Doses : Edep Edep/Ebeam Dose - tally 0: 10.5221 GeV 0.300632 % 0.000210729 Gy - tally 1: 12.0963 GeV 0.345608 % 0.000242255 Gy - tally 2: 14.322 GeV 0.409199 % 0.000286829 Gy - tally 3: 20.975 GeV 0.599285 % 0.00042007 Gy + tally 0: 11.3076 GeV 0.323075 % 0.00022646 Gy + tally 1: 12.482 GeV 0.356629 % 0.00024998 Gy + tally 2: 14.7304 GeV 0.42087 % 0.00029501 Gy + tally 3: 21.4555 GeV 0.613015 % 0.000429694 Gy --------------------------------------------------------- --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 1027675449, 1113632438 + Current couple of seeds = 1659645478, 1103417087 +---------------------------------------- +/testem/det/setMat G4_Cu +/testem/det/update + +***** Table : Nb of materials = 5 ***** + + Material: Water density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.084 cm + ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.19 % ElmAbundance 66.67 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.81 % ElmAbundance 33.33 % + + Material: Air density: 1.290 mg/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 285.161 m + ---> Element: Nitrogen (N) Z = 7.0 N = 14.0 A = 14.01 g/mole ElmMassFraction: 70.00 % ElmAbundance 72.71 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 30.00 % ElmAbundance 27.29 % + + Material: Galactic density: 0.000 mg/cm3 temperature: 2.73 K pressure: 0.00 atm RadLength: 204322175.595 pc + ---> Element: Galactic ( ) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + Material: G4_WATER H_2O density: 1.000 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 36.084 cm + ---> Element: Hydrogen (H) Z = 1.0 N = 1.0 A = 1.01 g/mole ElmMassFraction: 11.19 % ElmAbundance 66.67 % + ---> Element: Oxygen (O) Z = 8.0 N = 16.0 A = 16.00 g/mole ElmMassFraction: 88.81 % ElmAbundance 33.33 % + + Material: G4_Cu density: 8.960 g/cm3 temperature: 273.15 K pressure: 1.00 atm RadLength: 1.436 cm + ---> Element: Cu (Cu) Z = 29.0 N = 63.6 A = 63.55 g/mole + ---> Isotope: Cu Z = 29 N = 63 A = 62.93 g/mole abundance: 69.17 % + ---> Isotope: Cu Z = 29 N = 65 A = 64.93 g/mole abundance: 30.83 % ElmMassFraction: 100.00 % ElmAbundance 100.00 % + + + +--------------------------------------------------------- +---> The Absorber is 20 cm of G4_Cu + +--------------------------------------------------------- +---> There are 4 tallies : 2 2 2 mm of G4_WATER (mass : 8 mg) +tally 0: position = -9.9 0 0 cm +tally 1: position = -5 0 0 cm +tally 2: position = 0 0 0 fm +tally 3: position = 5 0 0 cm + +--------------------------------------------------------- +/gun/particle kaon+ +/gun/energy 100 MeV +/run/beamOn 1000 + +phot: Total cross sections from Sandia parametrisation. + Sampling according PhotoElectric model + +compt: Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV + Sampling according Klein-Nishina model + tables are built for gamma + Lambda tables from 100 eV to 100 GeV in 90 bins. + +conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; + sampling secondary e+e- according Bethe-Heitler model + tables are built for gamma + Lambda tables from 1.022 MeV to 100 GeV in 100 bins. + +msc: Model variant of multiple scattering for e- + Lambda tables from 100 eV to 100 TeV in 120 bins. + LateralDisplacementFlag= 1 Skin= 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 + +eIoni: tables are built for e- + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Delta cross sections and sampling from MollerBhabha model + Good description from 1 KeV to 100 GeV. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + +eBrem: tables are built for e- + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Total cross sections and sampling from StandBrem model (based on the EEDL data library) + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 + +eIoni: tables are built for e+ + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Delta cross sections and sampling from MollerBhabha model + Good description from 1 KeV to 100 GeV. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + +eBrem: tables are built for e+ + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Total cross sections and sampling from StandBrem model (based on the EEDL data library) + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 + +annihil: Sampling according eplus2gg model + tables are built for e+ + Lambda tables from 100 eV to 100 TeV in 120 bins. + +msc: Model variant of multiple scattering for proton + Lambda tables from 100 eV to 100 TeV in 120 bins. + LateralDisplacementFlag= 1 Skin= 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 2 + +hIoni: tables are built for proton + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV + Parametrisation from Bragg for protons below. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + +msc: Model variant of multiple scattering for GenericIon + LateralDisplacementFlag= 0 Skin= 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 + +ionIoni: tables are built for GenericIon + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV + Parametrisation from BraggIon for protons below. NuclearStopping 1 + + Stopping Power data for 8 ion/material pairs are used. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + +hIoni: tables are built for anti_proton + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV + Parametrisation from Bragg for protons below. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + +msc: Model variant of multiple scattering for mu+ + Lambda tables from 100 eV to 100 TeV in 120 bins. + LateralDisplacementFlag= 1 Skin= 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 2 + +muIoni: tables are built for mu+ + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, + radiative corrections for E > 1 GeV + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + +muBrems: tables are built for mu+ + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Parametrised model + +muPairProd: tables are built for mu+ + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Parametrised model + +muIoni: tables are built for mu- + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, + radiative corrections for E > 1 GeV + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + +muBrems: tables are built for mu- + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Parametrised model + +muPairProd: tables are built for mu- + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Parametrised model + +hIoni: tables are built for pi+ + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV + Parametrisation from Bragg for protons below. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + +msc: Model variant of multiple scattering for pi- + Lambda tables from 100 eV to 100 TeV in 120 bins. + LateralDisplacementFlag= 1 Skin= 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 2 + +hIoni: tables are built for pi- + dE/dx and range tables from 100 eV to 100 TeV in 480 bins. + Lambda tables from threshold to 100 TeV in 480 bins. + Scaling relation is used from proton dE/dx and range. + Delta cross sections and sampling from BetheBloch model for scaled energy > 0.297504 MeV + Parametrisation from Bragg for protons below. + Step function: finalRange(mm)= 0.1, dRoverRange= 0.2, integral: 1 + +========= Table of registered couples ============================== + +Index : 0 used in the geometry : Yes recalculation needed : No + Material : Galactic + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 990 eV e- 990 eV e+ 990 eV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 1 used in the geometry : Yes recalculation needed : No + Material : G4_WATER + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 2.90186 keV e- 347.138 keV e+ 338.695 keV + Region(s) which use this couple : + DefaultRegionForTheWorld + +Index : 2 used in the geometry : Yes recalculation needed : No + Material : G4_Cu + Range cuts : gamma 1 mm e- 1 mm e+ 1 mm + Energy thresholds : gamma 24.6072 keV e- 1.39521 MeV e+ 1.31192 MeV + Region(s) which use this couple : + DefaultRegionForTheWorld + +==================================================================== + +### Run 2 start. + +--------- Ranecu engine status --------- + Initial seed (index) = 0 + Current couple of seeds = 1659645478, 1103417087 +---------------------------------------- +Start Run processing. + +---> Begin of Event: 0 +Run terminated. +Run Summary + Number of events processed : 1000 + User=83.29s Real=102.13s Sys=0.68s + + The run consists of 1000 kaon+ of 100 MeV through 20 cm of G4_Cu (density: 8.96 g/cm3 ) + + projected Range= 2.11477 cm rms= 3.16219 mm + mean number of primary steps = 17.684 + +--------------------------------------------------------- + Cumulated Doses : Edep Edep/Ebeam Dose + tally 0: 413.171 MeV 0.413171 % 8.27467e-06 Gy + tally 1: 0 eV 0 % 0 Gy + tally 2: 0 eV 0 % 0 Gy + tally 3: 0 eV 0 % 0 Gy + +--------------------------------------------------------- + + +--------- Ranecu engine status --------- + Initial seed (index) = 0 + Current couple of seeds = 883759698, 2029731229 ---------------------------------------- -Graphics systems deleted. -Visualization Manager deleting... -UserDetectorConstruction deleted. -UserPhysicsList deleted. -UserRunAction deleted. -UserPrimaryGenerator deleted. G4 kernel has come to Quit state. -EventManager deleted. -Default detector region deleted. -UImanager deleted. -Units table cleared. -StateManager deleted. -RunManagerKernel is deleted. -RunManager is deleting. diff --git a/examples/extended/electromagnetic/TestEm7/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm7/include/DetectorConstruction.hh index 48aee1d543..62b9ce71a8 100644 --- a/examples/extended/electromagnetic/TestEm7/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.2 2006/06/29 16:57:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm7/include/DetectorMessenger.hh index f22e085b3f..8d681b3854 100644 --- a/examples/extended/electromagnetic/TestEm7/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm7/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.3 2006/06/29 16:57:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/EventAction.hh b/examples/extended/electromagnetic/TestEm7/include/EventAction.hh index 692c42b3e5..56909494d9 100644 --- a/examples/extended/electromagnetic/TestEm7/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.2 2006/06/29 16:57:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm7/include/EventActionMessenger.hh index 2ba80d1a91..2991fa10da 100644 --- a/examples/extended/electromagnetic/TestEm7/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm7/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.3 2006/06/29 16:57:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm7/include/PhysListEmLivermore.hh index c5be9ab801..eff6802ad0 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PhysListEmLivermore.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.hh,v 1.1 2006/11/22 18:56:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm7/include/PhysListEmPenelope.hh index 89b44f4e80..c461022e78 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PhysListEmPenelope.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.hh,v 1.1 2006/11/22 18:56:21 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandard.hh index e1b813b3aa..4de9bdbd43 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandard.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.hh,v 1.3 2006/06/29 16:57:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandardSS.hh b/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandardSS.hh index bdd623c9c2..5421b53f65 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandardSS.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PhysListEmStandardSS.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandardSS.hh,v 1.1 2006/10/24 11:37:56 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm7/include/PhysicsList.hh index 7ab57f4bce..d8c47060d9 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.6 2006/11/22 18:56:21 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/examples/extended/electromagnetic/TestEm7/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm7/include/PhysicsListMessenger.hh index d20b3657cb..462551d620 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.3 2006/06/29 16:57:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorAction.hh index 3e5161081c..11dce77515 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.3 2006/06/29 16:57:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorMessenger.hh index 67eec90e91..3f91e955d5 100644 --- a/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm7/include/PrimaryGeneratorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.hh,v 1.3 2006/06/29 16:57:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/RunAction.hh b/examples/extended/electromagnetic/TestEm7/include/RunAction.hh index d6524d7947..5b3332c69b 100644 --- a/examples/extended/electromagnetic/TestEm7/include/RunAction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/RunAction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.hh,v 1.10 2006/11/22 17:58:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: RunAction.hh,v 1.11 2007/06/12 14:01:13 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -64,25 +64,27 @@ public: G4double GetOffsetX() {return offsetX;} void FillHisto(G4int id, G4double x, G4double weight = 1.0); - void AddProjRange (G4double x) {projRange += x; projRange2 += x*x;}; + void AddProjRange (G4double x) {projRange += x; projRange2 += x*x;}; + void AddPrimaryStep() {nPrimarySteps++;}; - private: - void bookHisto(); - void cleanHisto(); +private: + void bookHisto(); + void cleanHisto(); - private: - DetectorConstruction* detector; - PhysicsList* physics; - PrimaryGeneratorAction* kinematic; - G4double* tallyEdep; - G4double binLength; - G4double offsetX; - G4double length; - G4double projRange, projRange2; - - AIDA::IAnalysisFactory* af; - AIDA::ITree* tree; - AIDA::IHistogram1D* histo[1]; +private: + DetectorConstruction* detector; + PhysicsList* physics; + PrimaryGeneratorAction* kinematic; + G4double* tallyEdep; + G4double binLength; + G4double offsetX; + G4double length; + G4double projRange, projRange2; + G4int nPrimarySteps; + + AIDA::IAnalysisFactory* af; + AIDA::ITree* tree; + AIDA::IHistogram1D* histo[1]; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/StepMax.hh b/examples/extended/electromagnetic/TestEm7/include/StepMax.hh index 7e7bdf0b12..6e5d570b52 100644 --- a/examples/extended/electromagnetic/TestEm7/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm7/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.3 2006/06/29 16:58:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm7/include/StepMaxMessenger.hh index 25ae3c251a..e9875098e9 100644 --- a/examples/extended/electromagnetic/TestEm7/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm7/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.2 2006/06/29 16:58:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm7/include/SteppingAction.hh index e5cfe562b2..2cd4f626aa 100644 --- a/examples/extended/electromagnetic/TestEm7/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.2 2006/06/29 16:58:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm7/include/SteppingVerbose.hh index f50cbc552a..dc6b91e6db 100644 --- a/examples/extended/electromagnetic/TestEm7/include/SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm7/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.2 2006/06/29 16:58:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/include/TrackingAction.hh b/examples/extended/electromagnetic/TestEm7/include/TrackingAction.hh index b056fb3511..31ca42bd0d 100644 --- a/examples/extended/electromagnetic/TestEm7/include/TrackingAction.hh +++ b/examples/extended/electromagnetic/TestEm7/include/TrackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.hh,v 1.2 2006/06/29 16:58:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/proton.mac b/examples/extended/electromagnetic/TestEm7/proton.mac index d0e2a9c86e..21f4127c59 100644 --- a/examples/extended/electromagnetic/TestEm7/proton.mac +++ b/examples/extended/electromagnetic/TestEm7/proton.mac @@ -1,4 +1,4 @@ -# $Id: proton.mac,v 1.6 2007/01/12 16:35:21 maire Exp $ +# $Id: proton.mac,v 1.7 2007/06/22 12:44:42 maire Exp $ # # Macro file for "TestEm7.cc" # (can be run in batch, without graphic) @@ -16,7 +16,7 @@ /run/initialize # /gun/particle proton -/gun/energy 200 MeV +/gun/energy 2000 MeV # # step limit /testem/stepMax 0.5 mm diff --git a/examples/extended/electromagnetic/TestEm7/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm7/src/DetectorConstruction.cc index ef375bdde6..28781c89b4 100644 --- a/examples/extended/electromagnetic/TestEm7/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm7/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.8 2007/01/11 15:41:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm7/src/DetectorMessenger.cc index 104d747818..6ebd410349 100644 --- a/examples/extended/electromagnetic/TestEm7/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm7/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.3 2006/06/29 16:58:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/EventAction.cc b/examples/extended/electromagnetic/TestEm7/src/EventAction.cc index 17f5f5a925..a4a758fe50 100644 --- a/examples/extended/electromagnetic/TestEm7/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm7/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.4 2006/06/29 16:58:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm7/src/EventActionMessenger.cc index 0ad63e84e2..3c94b20983 100644 --- a/examples/extended/electromagnetic/TestEm7/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm7/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.4 2006/06/29 16:58:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/PhysListEmLivermore.cc b/examples/extended/electromagnetic/TestEm7/src/PhysListEmLivermore.cc index da982ce16a..8a1c9829f3 100644 --- a/examples/extended/electromagnetic/TestEm7/src/PhysListEmLivermore.cc +++ b/examples/extended/electromagnetic/TestEm7/src/PhysListEmLivermore.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.cc,v 1.2 2006/12/11 20:13:53 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/PhysListEmPenelope.cc b/examples/extended/electromagnetic/TestEm7/src/PhysListEmPenelope.cc index dd38999411..c157a9620f 100644 --- a/examples/extended/electromagnetic/TestEm7/src/PhysListEmPenelope.cc +++ b/examples/extended/electromagnetic/TestEm7/src/PhysListEmPenelope.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.cc,v 1.1 2006/11/22 18:56:21 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandard.cc index ec6c60a02f..037b3f9dfe 100644 --- a/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandard.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysListEmStandard.cc,v 1.7 2007/04/24 13:10:12 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: PhysListEmStandard.cc,v 1.8 2007/06/22 12:44:42 maire Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -51,6 +51,7 @@ #include "G4hIonisation.hh" #include "G4ionIonisation.hh" + #include "G4EmProcessOptions.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -116,7 +117,8 @@ void PhysListEmStandard::ConstructProcess() } } G4EmProcessOptions opt; - opt.SetSkin(1.0); + opt.SetStepFunction(0.2, 100*um); + opt.SetSkin(1.); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandardSS.cc b/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandardSS.cc index 377660606d..cd1c87c928 100644 --- a/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandardSS.cc +++ b/examples/extended/electromagnetic/TestEm7/src/PhysListEmStandardSS.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysListEmStandardSS.cc,v 1.1 2006/10/24 11:37:56 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: PhysListEmStandardSS.cc,v 1.2 2007/05/16 13:14:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -97,7 +97,6 @@ void PhysListEmStandardSS::ConstructProcess() particleName == "mu-" ) { //muon pmanager->AddDiscreteProcess(new G4CoulombScattering); - pmanager->AddProcess(new G4MultipleScattering, -1, 1,1); pmanager->AddProcess(new G4MuIonisation, -1, 2,2); pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3,3); pmanager->AddProcess(new G4MuPairProduction, -1, 4,4); diff --git a/examples/extended/electromagnetic/TestEm7/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm7/src/PhysicsList.cc index 93083777f2..74132feb01 100644 --- a/examples/extended/electromagnetic/TestEm7/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm7/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.23 2007/04/24 13:10:13 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: PhysicsList.cc,v 1.24 2007/05/16 13:14:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -37,8 +37,8 @@ #include "PhysListEmLivermore.hh" #include "PhysListEmPenelope.hh" #include "G4EmStandardPhysics.hh" -#include "G4EmStandardPhysics71.hh" -#include "G4EmStandardPhysics72.hh" +#include "G4EmStandardPhysics_option1.hh" +#include "G4EmStandardPhysics_option2.hh" #include "G4HadronElasticPhysics.hh" #include "G4HadronHElasticPhysics.hh" @@ -204,23 +204,23 @@ void PhysicsList::AddPhysicsList(const G4String& name) delete emPhysicsList; emPhysicsList = new PhysListEmStandard(name); - } else if (name == "G4standard") { + } else if (name == "emstandard") { emName = name; delete emPhysicsList; - emPhysicsList = new G4EmStandardPhysics(name); + emPhysicsList = new G4EmStandardPhysics(); - } else if (name == "G4standard_fast") { + } else if (name == "emstandard_opt1") { emName = name; delete emPhysicsList; - emPhysicsList = new G4EmStandardPhysics71(name); + emPhysicsList = new G4EmStandardPhysics_option1(); - } else if (name == "G4standard_exp") { + } else if (name == "emstandard_opt2") { emName = name; delete emPhysicsList; - emPhysicsList = new G4EmStandardPhysics72(name); + emPhysicsList = new G4EmStandardPhysics_option2(); } else if (name == "standardSS") { diff --git a/examples/extended/electromagnetic/TestEm7/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm7/src/PhysicsListMessenger.cc index 6c93097563..cf51f5aab7 100644 --- a/examples/extended/electromagnetic/TestEm7/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm7/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.3 2006/06/29 16:58:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm7/src/PrimaryGeneratorAction.cc index b388125c16..14f4d2b7de 100644 --- a/examples/extended/electromagnetic/TestEm7/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm7/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.2 2006/06/29 16:58:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm7/src/PrimaryGeneratorMessenger.cc index e03caae512..f8b9254597 100644 --- a/examples/extended/electromagnetic/TestEm7/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm7/src/PrimaryGeneratorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.cc,v 1.3 2006/06/29 16:58:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/RunAction.cc b/examples/extended/electromagnetic/TestEm7/src/RunAction.cc index 56901af9c0..8bd7c4b8a5 100644 --- a/examples/extended/electromagnetic/TestEm7/src/RunAction.cc +++ b/examples/extended/electromagnetic/TestEm7/src/RunAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: RunAction.cc,v 1.19 2006/11/22 17:58:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: RunAction.cc,v 1.20 2007/06/12 14:01:13 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -57,13 +57,13 @@ RunAction::RunAction(DetectorConstruction* det, PhysicsList* phys, histo[0] = 0; #ifdef G4ANALYSIS_USE - // Creating the analysis factory - af = AIDA_createAnalysisFactory(); - if(!af) { - G4cout << "RunAction::RunAction() :" - << " problem creating the AIDA analysis factory." - << G4endl; - } + // Creating the analysis factory + af = AIDA_createAnalysisFactory(); + if(!af) { + G4cout << "RunAction::RunAction() :" + << " problem creating the AIDA analysis factory." + << G4endl; + } #endif } @@ -154,6 +154,7 @@ void RunAction::BeginOfRunAction(const G4Run* aRun) //initialize projected range, tallies, Ebeam, and book histograms // + nPrimarySteps = 0; projRange = projRange2 = 0.; for (G4int j=0; jResetEbeamCumul(); @@ -187,10 +188,13 @@ void RunAction::EndOfRunAction(const G4Run* aRun) G4double rms = projRange2 - projRange*projRange; if (rms>0.) rms = std::sqrt(rms); else rms = 0.; + G4double nstep = G4double(nPrimarySteps)/G4double(NbofEvents); + G4cout.precision(6); G4cout << "\n projected Range= "<< G4BestUnit(projRange,"Length") << " rms= " << G4BestUnit( rms,"Length") << G4endl; + G4cout << " mean number of primary steps = "<< nstep << G4endl; //print dose in tallies // diff --git a/examples/extended/electromagnetic/TestEm7/src/StepMax.cc b/examples/extended/electromagnetic/TestEm7/src/StepMax.cc index 57a3043758..c747d9c6c0 100644 --- a/examples/extended/electromagnetic/TestEm7/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm7/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.5 2006/06/29 16:58:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm7/src/StepMaxMessenger.cc index d0bdb6ea6e..6ce8be345e 100644 --- a/examples/extended/electromagnetic/TestEm7/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm7/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.3 2006/06/29 16:58:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm7/src/SteppingAction.cc index 4de9762187..1232f3015e 100644 --- a/examples/extended/electromagnetic/TestEm7/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm7/src/SteppingAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: SteppingAction.cc,v 1.10 2006/06/29 16:58:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: SteppingAction.cc,v 1.11 2007/06/12 14:01:13 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -52,6 +52,8 @@ void SteppingAction::UserSteppingAction(const G4Step* aStep) { G4double edep = aStep->GetTotalEnergyDeposit(); if (edep <= 0.) return; + + if(aStep->GetTrack()->GetTrackID() == 1) runAction->AddPrimaryStep(); //Bragg curve // diff --git a/examples/extended/electromagnetic/TestEm7/src/SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm7/src/SteppingVerbose.cc index 118f6f36ef..4c3258a056 100644 --- a/examples/extended/electromagnetic/TestEm7/src/SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm7/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.3 2006/06/29 16:58:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm7/src/TrackingAction.cc b/examples/extended/electromagnetic/TestEm7/src/TrackingAction.cc index 2b4c807f0e..6f8200dca8 100644 --- a/examples/extended/electromagnetic/TestEm7/src/TrackingAction.cc +++ b/examples/extended/electromagnetic/TestEm7/src/TrackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.cc,v 1.3 2006/11/22 17:58:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/TestEm8.cc b/examples/extended/electromagnetic/TestEm8/TestEm8.cc index a03b587bf3..834860df08 100644 --- a/examples/extended/electromagnetic/TestEm8/TestEm8.cc +++ b/examples/extended/electromagnetic/TestEm8/TestEm8.cc @@ -25,7 +25,7 @@ // // // $Id: TestEm8.cc,v 1.7 2006/06/29 16:58:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm8/TestEm8.out b/examples/extended/electromagnetic/TestEm8/TestEm8.out index ae1f0ea7c5..cff5a47e62 100644 --- a/examples/extended/electromagnetic/TestEm8/TestEm8.out +++ b/examples/extended/electromagnetic/TestEm8/TestEm8.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -14,7 +14,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -107,7 +106,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -120,7 +119,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -133,7 +132,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -142,7 +141,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -154,14 +153,14 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 @@ -177,7 +176,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -224,7 +223,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -235,10 +234,14 @@ hIoni: tables are built for pi- Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 Region -- appears in world volume + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Mylar Production cuts : gamma 1 mm e- 1 mm e+ 1 mm Region -- appears in world volume + Root logical volume(s) : Absorber + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : XeCH4C3H8 Production cuts : gamma 2.3 cm e- 2.3 cm e+ 2.3 cm @@ -298,47 +301,47 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 1000 - User=9.46s Real=9.52s Sys=0.04s + User=9.37s Real=9.41s Sys=0.01s ================== run summary ===================== end of Run TotNbofEvents = 1000 - mean charged track length in absorber=23.7406 +- 0.268308 mm + mean charged track length in absorber=23.5696 +- 0.221368 mm - mean energy deposit in absorber=0.0153805 +- 0.000283253 MeV + mean energy deposit in absorber=0.0154838 +- 0.000291246 MeV - mean number of steps in absorber (charged) =0.131 +- 0.0514766 - mean number of steps in absorber (neutral) =0.002 +- 0.0014128 + mean number of steps in absorber (charged) =0.104 +- 0.0479081 + mean number of steps in absorber (neutral) =0 +- 0 - mean number of charged secondaries = 0.013 +- 0.0038511 + mean number of charged secondaries = 0.011 +- 0.00329833 - mean number of neutral secondaries = 0.002 +- 0.0014128 + mean number of neutral secondaries = 0 +- 0 - mean number of e-s =0.013 and e+s =0 + mean number of e-s =0.011 and e+s =0 -(number) transmission coeff=0.502 reflection coeff=0 +(number) transmission coeff=0.507 reflection coeff=0 energy deposit distribution #entries=1000 #underflows=0 #overflows=11 bin nb Elow entries normalized 0 0 0 0 - 1 3 6 0.006 - 2 6 110 0.11 - 3 9 271 0.271 - 4 12 258 0.258 - 5 15 146 0.146 - 6 18 77 0.077 - 7 21 47 0.047 - 8 24 14 0.014 - 9 27 22 0.022 - 10 30 11 0.011 + 1 3 4 0.004 + 2 6 100 0.1 + 3 9 274 0.274 + 4 12 262 0.262 + 5 15 151 0.151 + 6 18 87 0.087 + 7 21 34 0.034 + 8 24 21 0.021 + 9 27 16 0.016 + 10 30 13 0.013 11 33 8 0.008 12 36 6 0.006 13 39 4 0.004 - 14 42 1 0.001 + 14 42 2 0.002 15 45 1 0.001 - 16 48 2 0.002 - 17 51 1 0.001 + 16 48 1 0.001 + 17 51 2 0.002 18 54 2 0.002 - 19 57 2 0.002 + 19 57 1 0.001 Emp = 0.009 width= 0.006 MeV @@ -347,7 +350,7 @@ ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 515221014, 1640723093 + Current couple of seeds = 718165562, 201856785 ---------------------------------------- # Graphics systems deleted. diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh b/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh index 948c886a14..ed8cd34263 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8CalorHit.hh @@ -25,7 +25,7 @@ // // // $Id: Em8CalorHit.hh,v 1.4 2006/06/29 16:58:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh b/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh index 2de8622e9d..9fc2f119af 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8CalorimeterSD.hh @@ -25,7 +25,7 @@ // // // $Id: Em8CalorimeterSD.hh,v 1.4 2006/06/29 16:59:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh index ccbc1a275d..677d5e708a 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: Em8DetectorConstruction.hh,v 1.8 2006/06/29 16:59:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh index 17e5da0b05..6de05266f0 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: Em8DetectorMessenger.hh,v 1.5 2006/06/29 16:59:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh index 1e4b98ba3f..cb63f46c5e 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: Em8EventAction.hh,v 1.4 2006/06/29 16:59:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8EventActionMessenger.hh index 54adf97e5d..98971de4b6 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8EventActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: Em8EventActionMessenger.hh,v 1.4 2006/06/29 16:59:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh index ef12fdb5bf..2277c10107 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: Em8PrimaryGeneratorAction.hh,v 1.4 2006/06/29 16:59:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh index 129c9caf8b..f0521d2c55 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8PrimaryGeneratorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: Em8PrimaryGeneratorMessenger.hh,v 1.4 2006/06/29 16:59:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh index 5bf30869da..2aec7e56e7 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: Em8RunAction.hh,v 1.8 2006/06/29 16:59:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh index 0557ecea40..c2598ae55b 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8RunMessenger.hh @@ -26,7 +26,7 @@ // // $Id: Em8RunMessenger.hh,v 1.4 2006/06/29 16:59:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingAction.hh b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingAction.hh index cdf4ff222d..facb7bbd1a 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: Em8SteppingAction.hh,v 1.5 2006/06/29 16:59:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh index e30ff48ea5..4698aa5e93 100644 --- a/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh +++ b/examples/extended/electromagnetic/TestEm8/include/Em8SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: Em8SteppingVerbose.hh,v 1.4 2006/06/29 16:59:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm8/include/PhysListEmModel.hh b/examples/extended/electromagnetic/TestEm8/include/PhysListEmModel.hh index 8e2c66a9a4..76e56b2264 100644 --- a/examples/extended/electromagnetic/TestEm8/include/PhysListEmModel.hh +++ b/examples/extended/electromagnetic/TestEm8/include/PhysListEmModel.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmModel.hh,v 1.2 2006/06/29 16:59:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/include/PhysListEmModelPai.hh b/examples/extended/electromagnetic/TestEm8/include/PhysListEmModelPai.hh index 2a25b438ea..a83c6902d5 100644 --- a/examples/extended/electromagnetic/TestEm8/include/PhysListEmModelPai.hh +++ b/examples/extended/electromagnetic/TestEm8/include/PhysListEmModelPai.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmModelPai.hh,v 1.2 2006/06/29 16:59:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/include/PhysListEmPAI.hh b/examples/extended/electromagnetic/TestEm8/include/PhysListEmPAI.hh index 0beb84d9f4..b1d7f55183 100644 --- a/examples/extended/electromagnetic/TestEm8/include/PhysListEmPAI.hh +++ b/examples/extended/electromagnetic/TestEm8/include/PhysListEmPAI.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPAI.hh,v 1.2 2006/06/29 16:59:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/include/PhysListEmPaiPhoton.hh b/examples/extended/electromagnetic/TestEm8/include/PhysListEmPaiPhoton.hh index 2711d0a23c..c0bd25e725 100644 --- a/examples/extended/electromagnetic/TestEm8/include/PhysListEmPaiPhoton.hh +++ b/examples/extended/electromagnetic/TestEm8/include/PhysListEmPaiPhoton.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPaiPhoton.hh,v 1.2 2006/06/29 16:59:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm8/include/PhysListEmStandard.hh index 95eb0e4603..5adb9cbe05 100644 --- a/examples/extended/electromagnetic/TestEm8/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm8/include/PhysListEmStandard.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.hh,v 1.3 2006/06/29 16:59:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/include/PhysListGeneral.hh b/examples/extended/electromagnetic/TestEm8/include/PhysListGeneral.hh index 55d9a40ebf..929bfaa3be 100644 --- a/examples/extended/electromagnetic/TestEm8/include/PhysListGeneral.hh +++ b/examples/extended/electromagnetic/TestEm8/include/PhysListGeneral.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListGeneral.hh,v 1.2 2006/06/29 16:59:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/include/PhysListParticles.hh b/examples/extended/electromagnetic/TestEm8/include/PhysListParticles.hh index 48d9832853..a78dfa45be 100644 --- a/examples/extended/electromagnetic/TestEm8/include/PhysListParticles.hh +++ b/examples/extended/electromagnetic/TestEm8/include/PhysListParticles.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListParticles.hh,v 1.2 2006/06/29 16:59:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm8/include/PhysicsList.hh index 0424611d94..e973419422 100644 --- a/examples/extended/electromagnetic/TestEm8/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm8/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.2 2006/06/29 16:59:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/examples/extended/electromagnetic/TestEm8/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/PhysicsListMessenger.hh index cb3c1bc864..cff101858a 100644 --- a/examples/extended/electromagnetic/TestEm8/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/PhysicsListMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsListMessenger.hh,v 1.2 2006/06/29 16:59:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/StepMax.hh b/examples/extended/electromagnetic/TestEm8/include/StepMax.hh index 1a8d4fbcae..9ce99e5b2d 100644 --- a/examples/extended/electromagnetic/TestEm8/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm8/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.2 2006/06/29 16:59:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm8/include/StepMaxMessenger.hh index b43b6144e3..803075324f 100644 --- a/examples/extended/electromagnetic/TestEm8/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm8/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.2 2006/06/29 16:59:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh b/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh index a9107428a8..2f6a4aa903 100644 --- a/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm8/include/TRTDetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: TRTDetectorConstruction.hh,v 1.4 2006/06/29 16:59:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh b/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh index d622f8d84c..61bf28adc1 100644 --- a/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh +++ b/examples/extended/electromagnetic/TestEm8/include/TRTMaterials.hh @@ -25,7 +25,7 @@ // // // $Id: TRTMaterials.hh,v 1.4 2006/06/29 17:00:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc b/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc index ac4f38b3aa..d383dc3bc7 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8CalorHit.cc @@ -25,7 +25,7 @@ // // // $Id: Em8CalorHit.cc,v 1.5 2006/06/29 17:00:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc b/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc index 63e8e4495e..ff91d5995e 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8CalorimeterSD.cc @@ -25,7 +25,7 @@ // // // $Id: Em8CalorimeterSD.cc,v 1.7 2006/06/29 17:00:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc index da04f7ebdf..77f2149f72 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: Em8DetectorConstruction.cc,v 1.19 2006/11/15 19:29:08 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc index fe62f1e263..98ce46f018 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: Em8DetectorMessenger.cc,v 1.7 2006/06/29 17:00:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc index 9c0d71ed3a..771b9ac969 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: Em8EventAction.cc,v 1.9 2006/06/29 17:00:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc index c9b2489026..563550c6de 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8EventActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: Em8EventActionMessenger.cc,v 1.5 2006/06/29 17:00:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc index da7f891df1..75e3531d08 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: Em8PrimaryGeneratorAction.cc,v 1.7 2006/06/29 17:00:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc index e9b0690baf..057901d029 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8PrimaryGeneratorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: Em8PrimaryGeneratorMessenger.cc,v 1.5 2006/06/29 17:00:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc index a0552f6f2b..6559b0d0ed 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: Em8RunAction.cc,v 1.14 2006/06/29 17:00:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc index 5723e64a77..7951e4f063 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8RunMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: Em8RunMessenger.cc,v 1.7 2006/06/29 17:00:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc index 91c91a17ac..291f96dc23 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: Em8SteppingAction.cc,v 1.9 2006/06/29 17:00:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc index 6f372e75d3..c7f0dccdfa 100644 --- a/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc +++ b/examples/extended/electromagnetic/TestEm8/src/Em8SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: Em8SteppingVerbose.cc,v 1.8 2006/06/29 17:00:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm8/src/PhysListEmModelPai.cc b/examples/extended/electromagnetic/TestEm8/src/PhysListEmModelPai.cc index 90cfe76955..25815aca4c 100644 --- a/examples/extended/electromagnetic/TestEm8/src/PhysListEmModelPai.cc +++ b/examples/extended/electromagnetic/TestEm8/src/PhysListEmModelPai.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmModelPai.cc,v 1.4 2006/11/15 19:29:08 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/src/PhysListEmPAI.cc b/examples/extended/electromagnetic/TestEm8/src/PhysListEmPAI.cc index 1c17c40b05..95e913416d 100644 --- a/examples/extended/electromagnetic/TestEm8/src/PhysListEmPAI.cc +++ b/examples/extended/electromagnetic/TestEm8/src/PhysListEmPAI.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPAI.cc,v 1.2 2006/06/29 17:00:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/src/PhysListEmPaiPhoton.cc b/examples/extended/electromagnetic/TestEm8/src/PhysListEmPaiPhoton.cc index 50ff687014..92978ee7d0 100644 --- a/examples/extended/electromagnetic/TestEm8/src/PhysListEmPaiPhoton.cc +++ b/examples/extended/electromagnetic/TestEm8/src/PhysListEmPaiPhoton.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPaiPhoton.cc,v 1.3 2006/06/29 17:00:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/src/PhysListEmStandard.cc b/examples/extended/electromagnetic/TestEm8/src/PhysListEmStandard.cc index cf8a745f7d..626642f9d9 100644 --- a/examples/extended/electromagnetic/TestEm8/src/PhysListEmStandard.cc +++ b/examples/extended/electromagnetic/TestEm8/src/PhysListEmStandard.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.cc,v 1.7 2006/06/29 17:00:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/src/PhysListGeneral.cc b/examples/extended/electromagnetic/TestEm8/src/PhysListGeneral.cc index 46c843420a..8d93261d5c 100644 --- a/examples/extended/electromagnetic/TestEm8/src/PhysListGeneral.cc +++ b/examples/extended/electromagnetic/TestEm8/src/PhysListGeneral.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListGeneral.cc,v 1.3 2006/06/29 17:00:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/src/PhysListParticles.cc b/examples/extended/electromagnetic/TestEm8/src/PhysListParticles.cc index eeadf0f5dd..a6d4678b9f 100644 --- a/examples/extended/electromagnetic/TestEm8/src/PhysListParticles.cc +++ b/examples/extended/electromagnetic/TestEm8/src/PhysListParticles.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListParticles.cc,v 1.3 2006/06/29 17:00:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/src/PhysicsList.cc b/examples/extended/electromagnetic/TestEm8/src/PhysicsList.cc index 1c89b20b50..308b982d70 100644 --- a/examples/extended/electromagnetic/TestEm8/src/PhysicsList.cc +++ b/examples/extended/electromagnetic/TestEm8/src/PhysicsList.cc @@ -26,7 +26,7 @@ // // $Id: PhysicsList.cc,v 1.9 2006/12/13 15:42:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/PhysicsListMessenger.cc index b61755ae91..d813dba599 100644 --- a/examples/extended/electromagnetic/TestEm8/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/PhysicsListMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: PhysicsListMessenger.cc,v 1.2 2006/06/29 17:00:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm8/src/StepMax.cc b/examples/extended/electromagnetic/TestEm8/src/StepMax.cc index 0b8dced5e2..9927e9b27f 100644 --- a/examples/extended/electromagnetic/TestEm8/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm8/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.3 2006/06/29 17:00:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm8/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm8/src/StepMaxMessenger.cc index b854129996..7b3c0ee1ad 100644 --- a/examples/extended/electromagnetic/TestEm8/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm8/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.2 2006/06/29 17:00:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm9/GNUmakefile b/examples/extended/electromagnetic/TestEm9/GNUmakefile index 84f29ad71d..6010319551 100644 --- a/examples/extended/electromagnetic/TestEm9/GNUmakefile +++ b/examples/extended/electromagnetic/TestEm9/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.8 2006/10/26 15:50:35 maire Exp $ -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # -------------------------------------------------------------- # GNUmakefile for examples module with AIDA interface # -------------------------------------------------------------- diff --git a/examples/extended/electromagnetic/TestEm9/History b/examples/extended/electromagnetic/TestEm9/History index d555122189..678776475a 100644 --- a/examples/extended/electromagnetic/TestEm9/History +++ b/examples/extended/electromagnetic/TestEm9/History @@ -1,4 +1,4 @@ -$Id: History,v 1.37 2007/04/25 17:23:21 vnivanch Exp $ +$Id: History,v 1.43 2007/05/25 10:13:29 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,8 +16,22 @@ track of all tags. ---------------------------------------------------------- +25-05-07 V.Ivant (testem9-V08-03-03) +- use standard names for histograms + +24-05-07 V.Ivant (testem9-V08-03-02) +- substitute autoptr by normal pointers in Histo to avoid crash + +18-05-07 V.Ivant (testem9-V08-03-01) +- update macro files and History + +16-05-07 V.Ivant (testem3-V08-03-00) +- use renamed EM builders +- use emstandard_opt1 EM physics in TestEm9.in +- extend reference output - show both mean/RMS values and trancated mean/RMS + 25-04-07 V.Ivant (testem9-V08-02-02) -- fix output of statistic +- fix output of statistic 24-04-07 V.Ivant (testem9-V08-02-01) - use standard names for "livermore" and "penelope" PhysLists diff --git a/examples/extended/electromagnetic/TestEm9/TestEm9.cc b/examples/extended/electromagnetic/TestEm9/TestEm9.cc index 2e9e5eb120..e788ec95bd 100644 --- a/examples/extended/electromagnetic/TestEm9/TestEm9.cc +++ b/examples/extended/electromagnetic/TestEm9/TestEm9.cc @@ -25,7 +25,7 @@ // // // $Id: TestEm9.cc,v 1.8 2006/11/17 17:45:05 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm9/TestEm9.in b/examples/extended/electromagnetic/TestEm9/TestEm9.in index 1203d5aeda..7bef90e758 100644 --- a/examples/extended/electromagnetic/TestEm9/TestEm9.in +++ b/examples/extended/electromagnetic/TestEm9/TestEm9.in @@ -1,5 +1,5 @@ -# $Id: TestEm9.in,v 1.14 2007/04/24 14:20:04 vnivanch Exp $ -# GEANT4 tag $Name: geant4-08-03 $ +# $Id: TestEm9.in,v 1.16 2007/05/17 15:23:04 vnivanch Exp $ +# GEANT4 tag $Name: geant4-09-00 $ # # Macro file for TestEm9 - Crystal Calorimeter # V.Ivanchenko @@ -11,16 +11,16 @@ # # select EM PhysicsList # -/testem/phys/addPhysics standard +/testem/phys/addPhysics emstandard_opt1 # /testem/phys/setCuts 0.3 mm /testem/phys/VertexCuts 0.01 mm /testem/phys/MuonCuts 10.0 mm /testem/stepMax 100 mm # -/testem/det/acceptance1 0.8260 0.0351 2.5 -/testem/det/acceptance9 0.9564 0.0160 2.5 -/testem/det/acceptance25 0.9790 0.0119 2.5 +/testem/det/acceptance1 0.8271 0.02974 2.5 +/testem/det/acceptance9 0.9570 0.01286 2.5 +/testem/det/acceptance25 0.9793 0.00884 2.5 # #/process/eLoss/preciseRange true #/process/eLoss/integral true diff --git a/examples/extended/electromagnetic/TestEm9/TestEm9.out b/examples/extended/electromagnetic/TestEm9/TestEm9.out index 3b07c1b22c..209e29667c 100644 --- a/examples/extended/electromagnetic/TestEm9/TestEm9.out +++ b/examples/extended/electromagnetic/TestEm9/TestEm9.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -17,16 +17,17 @@ G4Material: Mean excitation energy is changed for G4_CESIUM_IODIDE Iold= 491.166 # # select EM PhysicsList # -/testem/phys/addPhysics standard +/testem/phys/addPhysics emstandard_opt1 +PhysicsList::Set emstandard_opt1 EM physics # /testem/phys/setCuts 0.3 mm /testem/phys/VertexCuts 0.01 mm /testem/phys/MuonCuts 10.0 mm /testem/stepMax 100 mm # -/testem/det/acceptance1 0.8260 0.0351 2.5 -/testem/det/acceptance9 0.9564 0.0160 2.5 -/testem/det/acceptance25 0.9790 0.0119 2.5 +/testem/det/acceptance1 0.8271 0.02974 2.5 +/testem/det/acceptance9 0.9570 0.01286 2.5 +/testem/det/acceptance25 0.9793 0.00884 2.5 # #/process/eLoss/preciseRange true #/process/eLoss/integral true @@ -104,33 +105,33 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 0 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Delta cross sections and sampling from MollerBhabha model Good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 1, dRoverRange= 0.8, integral: 1 eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Delta cross sections and sampling from MollerBhabha model Good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 + Step function: finalRange(mm)= 1, dRoverRange= 0.8, integral: 1 eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -139,7 +140,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 0 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -151,14 +152,14 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 @@ -174,7 +175,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 0 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -221,7 +222,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 0 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -297,29 +298,33 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 100 - User=102.24s Real=108.87s Sys=6.58s + User=81.22s Real=81.31s Sys=0s RunAction: End of run actions are started HistoManager: End of run actions are started -======================================================== +================================================================= Number of events 100 -Average number of e- 1314 -Average number of gamma 697.4 -Average number of e+ 48.17 -Average number of steps 4482 -Edep 1x1 = 0.8323 +- 0.0303 res= 3.641 % -Edep 3x3 = 0.959 +- 0.0122 res= 1.272 % -Edep 5x5 = 0.9802 +- 0.008353 res= 0.8522 % -======================================================== +Average number of e- 1318 +Average number of gamma 699.4 +Average number of e+ 48.33 +Average number of steps 3975 +Edep 1x1 = 0.8349 +- 0.003051 res= 3.655 % +Edep 3x3 = 0.9574 +- 0.001213 res= 1.267 % +Edep 5x5 = 0.9795 +- 0.0007431 res= 0.7587 % +=========== Mean values without trancating ===================== +Edep 1x1 = 0.8309 +- 0.003579 res= 4.307 % +Edep 3x3 = 0.9559 +- 0.001677 res= 1.754 % +Edep 5x5 = 0.978 +- 0.001364 res= 1.395 % +================================================================== <<<<>>>> 100 events for Crystal Calorimeter -Edep1x1: 0.8311 delEdep1x1= 0.005141 nrms= 1.465 -Erms1x1: 0.03216 delErms1x1= -0.002944 nrms= -0.8387 -Edep3x3: 0.9563 delEdep3x3= -9.751e-05 nrms= -0.06094 -Erms3x3: 0.01836 delErms3x3= 0.002359 nrms= 1.474 -Edep5x5: 0.978 delEdep5x5= -0.001003 nrms= -0.8427 -Erms5x5: 0.01504 delErms5x5= 0.00314 nrms= 2.639 -<<<<>>>> IS ACCEPTED +Edep1x1: 0.8349 delEdep1x1= 0.007834 nrms= 2.634 +Erms1x1: 0.03051 delErms1x1= 0.0007728 nrms= 0.2599 +Edep3x3: 0.9574 delEdep3x3= 0.0004009 nrms= 0.3117 +Erms3x3: 0.01213 delErms3x3= -0.000728 nrms= -0.5661 +Edep5x5: 0.9795 delEdep5x5= 0.0001678 nrms= 0.1898 +Erms5x5: 0.007431 delErms5x5= -0.001409 nrms= -1.594 +<<<<>>>> IS NOT ACCEPTED # G4 kernel has come to Quit state. diff --git a/examples/extended/electromagnetic/TestEm9/cms_cal.mac b/examples/extended/electromagnetic/TestEm9/cms_cal.mac index 3f952d86ba..e1f0da2ca9 100644 --- a/examples/extended/electromagnetic/TestEm9/cms_cal.mac +++ b/examples/extended/electromagnetic/TestEm9/cms_cal.mac @@ -1,4 +1,4 @@ -# $Id: cms_cal.mac,v 1.2 2006/10/26 15:50:35 maire Exp $ +# $Id: cms_cal.mac,v 1.3 2007/05/17 15:23:04 vnivanch Exp $ # # Macro file for "TestEm9.cc" # @@ -12,7 +12,7 @@ /testem/det/EcalLength 230 mm /testem/det/EcalWidth 22 mm # -/testem/phys/addPhysics standard +/testem/phys/addPhysics emstandard_opt1 # /testem/phys/VertexCuts 0.01 mm /testem/phys/MuonCuts 10.0 mm diff --git a/examples/extended/electromagnetic/TestEm9/csi.mac b/examples/extended/electromagnetic/TestEm9/csi.mac index ea9ab005a7..d9cdd8b7d2 100644 --- a/examples/extended/electromagnetic/TestEm9/csi.mac +++ b/examples/extended/electromagnetic/TestEm9/csi.mac @@ -1,5 +1,5 @@ # $Id: csi.mac,v 1.4 2006/10/26 15:50:35 maire Exp $ -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # # Macro file for TestEm9 - Crystal Calorimeter # V.Ivanchenko diff --git a/examples/extended/electromagnetic/TestEm9/include/DetectorConstruction.hh b/examples/extended/electromagnetic/TestEm9/include/DetectorConstruction.hh index 454eaa6769..1c70d12ccf 100644 --- a/examples/extended/electromagnetic/TestEm9/include/DetectorConstruction.hh +++ b/examples/extended/electromagnetic/TestEm9/include/DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: DetectorConstruction.hh,v 1.5 2006/06/29 17:00:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ///////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/electromagnetic/TestEm9/include/DetectorMessenger.hh b/examples/extended/electromagnetic/TestEm9/include/DetectorMessenger.hh index 3f7be4dbb8..5278272bab 100644 --- a/examples/extended/electromagnetic/TestEm9/include/DetectorMessenger.hh +++ b/examples/extended/electromagnetic/TestEm9/include/DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: DetectorMessenger.hh,v 1.4 2006/06/29 17:00:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ///////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/electromagnetic/TestEm9/include/EmAcceptance.hh b/examples/extended/electromagnetic/TestEm9/include/EmAcceptance.hh index d28fe7dba8..a25f2dc10b 100644 --- a/examples/extended/electromagnetic/TestEm9/include/EmAcceptance.hh +++ b/examples/extended/electromagnetic/TestEm9/include/EmAcceptance.hh @@ -25,7 +25,7 @@ // // // $Id: EmAcceptance.hh,v 1.2 2006/06/29 17:01:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm9/include/EventAction.hh b/examples/extended/electromagnetic/TestEm9/include/EventAction.hh index f06972395e..5b93155881 100644 --- a/examples/extended/electromagnetic/TestEm9/include/EventAction.hh +++ b/examples/extended/electromagnetic/TestEm9/include/EventAction.hh @@ -27,7 +27,7 @@ #define EventAction_h 1 // $Id: EventAction.hh,v 1.3 2006/06/29 17:01:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm9/include/EventActionMessenger.hh b/examples/extended/electromagnetic/TestEm9/include/EventActionMessenger.hh index 28c9db6ffe..bbd5b6ca10 100644 --- a/examples/extended/electromagnetic/TestEm9/include/EventActionMessenger.hh +++ b/examples/extended/electromagnetic/TestEm9/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.3 2006/06/29 17:01:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm9/include/Histo.hh b/examples/extended/electromagnetic/TestEm9/include/Histo.hh index 58af37b59e..2782a25573 100644 --- a/examples/extended/electromagnetic/TestEm9/include/Histo.hh +++ b/examples/extended/electromagnetic/TestEm9/include/Histo.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: Histo.hh,v 1.4 2006/06/29 17:01:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: Histo.hh,v 1.5 2007/05/24 13:17:41 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef Histo_h #define Histo_h 1 @@ -55,9 +55,10 @@ class HistoMessenger; namespace AIDA { - class ITree; - class ITuple; - class IHistogram1D; + class ITree; + class ITuple; + class IHistogram1D; + class IAnalysisFactory; } class Histo @@ -100,7 +101,7 @@ public: void setFileType(const G4String&); private: - + G4String histName; G4String histType; G4String tupleName; @@ -111,6 +112,7 @@ private: G4int defaultAct; std::vector histo; + AIDA::IAnalysisFactory* af; AIDA::ITuple* ntup; AIDA::ITree* tree; HistoMessenger* messenger; diff --git a/examples/extended/electromagnetic/TestEm9/include/HistoManager.hh b/examples/extended/electromagnetic/TestEm9/include/HistoManager.hh index c63004a45e..ab8f6a6dfd 100644 --- a/examples/extended/electromagnetic/TestEm9/include/HistoManager.hh +++ b/examples/extended/electromagnetic/TestEm9/include/HistoManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.hh,v 1.8 2007/04/24 14:20:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef HistoManager_h #define HistoManager_h 1 diff --git a/examples/extended/electromagnetic/TestEm9/include/HistoMessenger.hh b/examples/extended/electromagnetic/TestEm9/include/HistoMessenger.hh index 926869250e..2513bc9c48 100644 --- a/examples/extended/electromagnetic/TestEm9/include/HistoMessenger.hh +++ b/examples/extended/electromagnetic/TestEm9/include/HistoMessenger.hh @@ -26,7 +26,7 @@ // // $Id: HistoMessenger.hh,v 1.3 2006/06/29 17:01:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm9/include/PhysListEmLivermore.hh b/examples/extended/electromagnetic/TestEm9/include/PhysListEmLivermore.hh index 2e132987c5..8bdd44257b 100644 --- a/examples/extended/electromagnetic/TestEm9/include/PhysListEmLivermore.hh +++ b/examples/extended/electromagnetic/TestEm9/include/PhysListEmLivermore.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.hh,v 1.1 2006/11/17 17:45:57 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm9/include/PhysListEmPenelope.hh b/examples/extended/electromagnetic/TestEm9/include/PhysListEmPenelope.hh index 89f70a6928..90900fdf7e 100644 --- a/examples/extended/electromagnetic/TestEm9/include/PhysListEmPenelope.hh +++ b/examples/extended/electromagnetic/TestEm9/include/PhysListEmPenelope.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.hh,v 1.1 2006/11/17 17:45:57 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm9/include/PhysListEmStandard.hh b/examples/extended/electromagnetic/TestEm9/include/PhysListEmStandard.hh index 781f5bd5cf..d3af8803db 100644 --- a/examples/extended/electromagnetic/TestEm9/include/PhysListEmStandard.hh +++ b/examples/extended/electromagnetic/TestEm9/include/PhysListEmStandard.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmStandard.hh,v 1.3 2006/06/29 17:02:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm9/include/PhysicsList.hh b/examples/extended/electromagnetic/TestEm9/include/PhysicsList.hh index e41a7670d2..fee1ad588d 100644 --- a/examples/extended/electromagnetic/TestEm9/include/PhysicsList.hh +++ b/examples/extended/electromagnetic/TestEm9/include/PhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.hh,v 1.5 2006/11/17 17:03:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/examples/extended/electromagnetic/TestEm9/include/PhysicsListMessenger.hh b/examples/extended/electromagnetic/TestEm9/include/PhysicsListMessenger.hh index 9d4b6b989f..7753d7c9fe 100644 --- a/examples/extended/electromagnetic/TestEm9/include/PhysicsListMessenger.hh +++ b/examples/extended/electromagnetic/TestEm9/include/PhysicsListMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsListMessenger.hh,v 1.4 2006/06/29 17:02:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm9/include/PrimaryGeneratorAction.hh b/examples/extended/electromagnetic/TestEm9/include/PrimaryGeneratorAction.hh index 982c9c6f34..0b44b2187b 100644 --- a/examples/extended/electromagnetic/TestEm9/include/PrimaryGeneratorAction.hh +++ b/examples/extended/electromagnetic/TestEm9/include/PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: PrimaryGeneratorAction.hh,v 1.3 2006/06/29 17:02:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ///////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/electromagnetic/TestEm9/include/StepMax.hh b/examples/extended/electromagnetic/TestEm9/include/StepMax.hh index 4e81a93af2..0a38b1d597 100644 --- a/examples/extended/electromagnetic/TestEm9/include/StepMax.hh +++ b/examples/extended/electromagnetic/TestEm9/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.3 2006/06/29 17:02:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm9/include/StepMaxMessenger.hh b/examples/extended/electromagnetic/TestEm9/include/StepMaxMessenger.hh index 33ba9e48a3..9f17049d89 100644 --- a/examples/extended/electromagnetic/TestEm9/include/StepMaxMessenger.hh +++ b/examples/extended/electromagnetic/TestEm9/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.3 2006/06/29 17:02:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm9/include/SteppingAction.hh b/examples/extended/electromagnetic/TestEm9/include/SteppingAction.hh index 3c13f01430..0b56bdb7b8 100644 --- a/examples/extended/electromagnetic/TestEm9/include/SteppingAction.hh +++ b/examples/extended/electromagnetic/TestEm9/include/SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: SteppingAction.hh,v 1.3 2006/06/29 17:02:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ///////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/electromagnetic/TestEm9/src/DetectorConstruction.cc b/examples/extended/electromagnetic/TestEm9/src/DetectorConstruction.cc index d09c351819..d962342b5b 100644 --- a/examples/extended/electromagnetic/TestEm9/src/DetectorConstruction.cc +++ b/examples/extended/electromagnetic/TestEm9/src/DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: DetectorConstruction.cc,v 1.9 2006/06/29 17:02:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ///////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/electromagnetic/TestEm9/src/DetectorMessenger.cc b/examples/extended/electromagnetic/TestEm9/src/DetectorMessenger.cc index cca44037aa..c24e89953f 100644 --- a/examples/extended/electromagnetic/TestEm9/src/DetectorMessenger.cc +++ b/examples/extended/electromagnetic/TestEm9/src/DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: DetectorMessenger.cc,v 1.3 2006/06/29 17:03:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ///////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/electromagnetic/TestEm9/src/EmAcceptance.cc b/examples/extended/electromagnetic/TestEm9/src/EmAcceptance.cc index 218925f4d9..9c8aa6aa1b 100644 --- a/examples/extended/electromagnetic/TestEm9/src/EmAcceptance.cc +++ b/examples/extended/electromagnetic/TestEm9/src/EmAcceptance.cc @@ -25,7 +25,7 @@ // // // $Id: EmAcceptance.cc,v 1.4 2006/06/29 17:03:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm9/src/EventAction.cc b/examples/extended/electromagnetic/TestEm9/src/EventAction.cc index cca5bce46d..46cc7d0c76 100644 --- a/examples/extended/electromagnetic/TestEm9/src/EventAction.cc +++ b/examples/extended/electromagnetic/TestEm9/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.4 2006/06/29 17:03:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm9/src/EventActionMessenger.cc b/examples/extended/electromagnetic/TestEm9/src/EventActionMessenger.cc index 452bf2c037..5c22745bdc 100644 --- a/examples/extended/electromagnetic/TestEm9/src/EventActionMessenger.cc +++ b/examples/extended/electromagnetic/TestEm9/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.3 2006/06/29 17:03:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm9/src/Histo.cc b/examples/extended/electromagnetic/TestEm9/src/Histo.cc index 68b3291755..a1c4b6fc01 100644 --- a/examples/extended/electromagnetic/TestEm9/src/Histo.cc +++ b/examples/extended/electromagnetic/TestEm9/src/Histo.cc @@ -40,7 +40,6 @@ #ifdef G4ANALYSIS_USE -#include // for the auto_ptr(T> #include "AIDA/AIDA.h" #include "HistoMessenger.hh" @@ -52,11 +51,11 @@ Histo::Histo() { verbose = 0; - histName = "histo.paw"; + histName = "testem9"; histType = "hbook"; nHisto = 0; defaultAct = 1; - tupleName = "tuple.paw"; + tupleName = "tuple9"; tupleId = "100"; tupleList = ""; ntup = 0; @@ -64,6 +63,7 @@ Histo::Histo() #ifdef G4ANALYSIS_USE tree = 0; + af = 0; messenger = new HistoMessenger(this); #endif } @@ -73,10 +73,8 @@ Histo::Histo() Histo::~Histo() { #ifdef G4ANALYSIS_USE - for(G4int i=0; i af( AIDA_createAnalysisFactory() ); + if(!af) af = AIDA_createAnalysisFactory(); // Creating the tree factory - std::auto_ptr< AIDA::ITreeFactory > tf( af->createTreeFactory() ); + AIDA::ITreeFactory* tf = af->createTreeFactory(); // Creating a tree mapped to a new hbook file. - tree = tf->create(histName,histType,false,true,"uncompress"); + G4String nam = histName + "." + histType; + + tree = tf->create(nam,histType,false,true,"uncompress"); + delete tf; if(tree) { G4cout << "Tree store : " << tree->storeName() << G4endl; } else { @@ -101,19 +102,19 @@ void Histo::book() return; } // Creating a histogram factory, whose histograms will be handled by the tree - std::auto_ptr< AIDA::IHistogramFactory > hf(af->createHistogramFactory( *tree )); + AIDA::IHistogramFactory* hf = af->createHistogramFactory( *tree ); // Creating an 1-dimensional histograms in the root directory of the tree for(G4int i=0; icreateHistogram1D(ids[i], titles[i], bins[i], xmin[i], xmax[i]); - } } + delete hf; // Creating a tuple factory, whose tuples will be handled by the tree if(tupleList != "") { - std::auto_ptr< AIDA::ITupleFactory > tpf( af->createTupleFactory( *tree ) ); + AIDA::ITupleFactory* tpf = af->createTupleFactory( *tree ); ntup = tpf->create(tupleId, tupleName, tupleList); + delete tpf; } #endif } @@ -129,6 +130,8 @@ void Histo::save() G4cout << "Closing the tree..." << G4endl; tree->close(); G4cout << "Histograms and Ntuples are saved" << G4endl; + delete tree; + tree = 0; } #endif } @@ -187,7 +190,7 @@ void Histo::fill(G4int i, G4double x, G4double w) #ifdef G4ANALYSIS_USE if(!tree) return; if(i>=0 && ifill((float)(x/unit[i]), (float)w); + if(active[i]) histo[i]->fill((x/unit[i]), w); } else { G4cout << "Histo::fill: WARNING! wrong histogram index " << i << G4endl; } @@ -252,7 +255,8 @@ void Histo::setFileName(const G4String& nam) void Histo::setFileType(const G4String& nam) { - histType = nam; + if(nam == "root" || nam == "hbook" || nam == "aida") histType = nam; + else if(nam == "xml" || nam == "XML") histType = "aida"; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/electromagnetic/TestEm9/src/HistoManager.cc b/examples/extended/electromagnetic/TestEm9/src/HistoManager.cc index 426d7d8363..444d2335d7 100644 --- a/examples/extended/electromagnetic/TestEm9/src/HistoManager.cc +++ b/examples/extended/electromagnetic/TestEm9/src/HistoManager.cc @@ -167,15 +167,25 @@ void HistoManager::EndOfRun() // average - G4cout<<"========================================================"< 0) x = 1.0/x; G4int j; for(j=0; j 0.0) xx = 1.0/xx; + edeptr[j] *= xx/beamEnergy; + y = ermstr[j]*xx/(beamEnergy*beamEnergy) - edeptr[j]*edeptr[j]; + if(y < 0.0) y = 0.0; + ermstr[j] = std::sqrt(y); } G4double xe = x*(G4double)n_elec; G4double xg = x*(G4double)n_gam; @@ -190,30 +200,28 @@ void HistoManager::EndOfRun() G4cout << std::setprecision(4) << "Average number of e+ " << xp << G4endl; G4cout << std::setprecision(4) << "Average number of steps " << xs << G4endl; - for(j=0; j<3; j++) { - G4double e = edep[j]; - G4double s = erms[j]; + for(j=0; j 0) n = 1.0/n; - e = edeptr[j]*n; - s = ermstr[j]*n; - r = s - e*e; - s = 0.0; - if(r > 0.0) s = std::sqrt(r)/beamEnergy; - e /= beamEnergy; - r = s*std::sqrt(n); - } - G4cout << std::setprecision(4) << "Edep " << nam[j] << " = " << e - << " +- " << s; + << " +- " << r; if(e > 0.0) G4cout << " res= " << f*s/e << " %"; G4cout << G4endl; } - G4cout<<"========================================================"< 0.0) G4cout << " res= " << f*s/e << " %"; + G4cout << G4endl; + } + } + G4cout<<"=================================================================="< 0) G4cout << "PhysicsList::Set " << name << " EM physics" << G4endl; - } else if (name == "G4standard_fast") { + } else if (name == "emstandard_opt1") { emName = name; delete emPhysicsList; - emPhysicsList = new G4EmStandardPhysics71(); + emPhysicsList = new G4EmStandardPhysics_option1(); if (verboseLevel > 0) G4cout << "PhysicsList::Set " << name << " EM physics" << G4endl; - } else if (name == "G4standard_exp") { + } else if (name == "emstandard_opt2") { emName = name; delete emPhysicsList; - emPhysicsList = new G4EmStandardPhysics72(); + emPhysicsList = new G4EmStandardPhysics_option2(); if (verboseLevel > 0) G4cout << "PhysicsList::Set " << name << " EM physics" << G4endl; diff --git a/examples/extended/electromagnetic/TestEm9/src/PhysicsListMessenger.cc b/examples/extended/electromagnetic/TestEm9/src/PhysicsListMessenger.cc index 3950b1d4ee..8162e08e19 100644 --- a/examples/extended/electromagnetic/TestEm9/src/PhysicsListMessenger.cc +++ b/examples/extended/electromagnetic/TestEm9/src/PhysicsListMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: PhysicsListMessenger.cc,v 1.3 2006/06/29 17:03:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/electromagnetic/TestEm9/src/PrimaryGeneratorAction.cc b/examples/extended/electromagnetic/TestEm9/src/PrimaryGeneratorAction.cc index b7917e05c5..1ecbdb3f64 100644 --- a/examples/extended/electromagnetic/TestEm9/src/PrimaryGeneratorAction.cc +++ b/examples/extended/electromagnetic/TestEm9/src/PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: PrimaryGeneratorAction.cc,v 1.3 2006/06/29 17:03:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ///////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/electromagnetic/TestEm9/src/StepMax.cc b/examples/extended/electromagnetic/TestEm9/src/StepMax.cc index 6f31801912..5a75831980 100644 --- a/examples/extended/electromagnetic/TestEm9/src/StepMax.cc +++ b/examples/extended/electromagnetic/TestEm9/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.3 2006/06/29 17:03:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm9/src/StepMaxMessenger.cc b/examples/extended/electromagnetic/TestEm9/src/StepMaxMessenger.cc index 444089e0b4..ee7ce91914 100644 --- a/examples/extended/electromagnetic/TestEm9/src/StepMaxMessenger.cc +++ b/examples/extended/electromagnetic/TestEm9/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.2 2006/06/29 17:03:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/electromagnetic/TestEm9/src/SteppingAction.cc b/examples/extended/electromagnetic/TestEm9/src/SteppingAction.cc index f1f610c867..e6ecb611f6 100644 --- a/examples/extended/electromagnetic/TestEm9/src/SteppingAction.cc +++ b/examples/extended/electromagnetic/TestEm9/src/SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: SteppingAction.cc,v 1.2 2006/06/29 17:03:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ///////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/errorpropagation/GNUmakefile b/examples/extended/errorpropagation/GNUmakefile new file mode 100644 index 0000000000..79f3c9c912 --- /dev/null +++ b/examples/extended/errorpropagation/GNUmakefile @@ -0,0 +1,30 @@ +# $Id: GNUmakefile,v 1.1 2007/05/28 08:31:53 gcosmo Exp $ +# -------------------------------------------------------------- +# GNUmakefile for examples module. Gabriele Cosmo, 06/04/98. +# -------------------------------------------------------------- + +name := errprop +G4TARGET := $(name) +G4EXLIB := true + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +.PHONY: all +all: lib bin + +ifdef G4ANALYSIS_USE + CPPFLAGS += -DG4ANALYSIS_USE +endif + +include $(G4INSTALL)/config/architecture.gmk + +ifdef G4ANALYSIS_USE + # for the aida-config command see the README file + CPPFLAGS += `aida-config --include` + LOADLIBS += `aida-config --lib` +endif + +include $(G4INSTALL)/config/binmake.gmk + diff --git a/examples/extended/errorpropagation/History b/examples/extended/errorpropagation/History new file mode 100644 index 0000000000..5d869504a2 --- /dev/null +++ b/examples/extended/errorpropagation/History @@ -0,0 +1,23 @@ +$Id: History,v 1.2 2007/05/28 13:24:26 arce Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + Category History file + --------------------- +This file should be used by G4 developers and category coordinators +to briefly summarize all major modifications introduced in the code +and keep track of all category-tags. +It DOES NOT substitute the CVS log-message one should put at every +committal in the CVS repository ! + + ---------------------------------------------------------- + * Reverse chronological order (last date on top), please * + ---------------------------------------------------------- + +May 28, 2007 G.Cosmo +- Created. +May 28, 2007 P.Arce +- First version diff --git a/examples/extended/errorpropagation/README b/examples/extended/errorpropagation/README new file mode 100644 index 0000000000..d84b9b2844 --- /dev/null +++ b/examples/extended/errorpropagation/README @@ -0,0 +1,33 @@ +This is an example illustrating the use of the error propagation utility. + +A G4ErrorFreeTrajState is created to simulate a muon track of 20 GeV along the X axis. Then the track is propagated until the target is reached. + +The geometry is a simplified typical HEP detector: + An air beamline ( BEAM ) + An air central detector ( CDET ) + A copper calorimeter, divided in four ( ECAL ) + An aluminium calorimeter, divided in ten ( HCAL ) + An air muon detector ( MUON ) + +It is inmersed in a magnetic field along the Z axis with default value -1 kilogauss. This value can be changed with the command "/exerror/setField. + + +The type of target can be chosen with the enviromental variable G4ERROR_TARGET: + + PLANE_SURFACE : use a G4ErrorPlaneSurfaceTarget perpendicular to X at (2241. mm, 0, 0) + CYL_SURFACE : use a G4ErrorCylSurfaceTarget parallel to Z of radius 2220 mm + VOLUME : use a G4ErrorGeomVolumeTarget with volume name "MUON" + TRKLEN : use a G4ErrorTrackLengthTarget with track length 2230 mm + + +The user may also choose if the propagation is done forwards (the natural way, loosing energy) or backwards (in opposite direction, gaining energy), with the enviromental variable G4ERROR_MODE: + + FORWARDS : propagate in the forward direction + BACKWARDS : propagate in the backward direction + + +There are also two modes of propagation, that can be chosen with the enviromental variable G4ERROR_PROP + + UNTIL_TARGET : propagate until target, all steps in one go + STEP_BY_STEP propagate until target, returning control to the user at each step + diff --git a/examples/extended/errorpropagation/errprop.cc b/examples/extended/errorpropagation/errprop.cc new file mode 100644 index 0000000000..9413b45900 --- /dev/null +++ b/examples/extended/errorpropagation/errprop.cc @@ -0,0 +1,232 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// ------------------------------------------------------------ +// GEANT 4 example main +// ------------------------------------------------------------ +// +// History: +// - Created: P. Arce May 2007 +// + +#include "ExErrorDetectorConstruction.hh" +#include "G4SteppingVerbose.hh" + +#include "G4ErrorPropagator.hh" +#include "G4ErrorPropagatorData.hh" +#include "G4ErrorPropagatorManager.hh" +#include "G4ErrorPlaneSurfaceTarget.hh" +#include "G4ErrorCylSurfaceTarget.hh" +#include "G4ErrorGeomVolumeTarget.hh" +#include "G4ErrorTrackLengthTarget.hh" +#include "G4ErrorFreeTrajState.hh" + +#include "G4UImanager.hh" + +void Initialize(); +G4ErrorTarget* BuildTarget( G4int iTarget ); +void ProcessEvent( G4int iProp, uint nEv ); +void Finalize(); + +G4ErrorTarget* theTarget; +G4ErrorMode theG4ErrorMode; + +//------------------------------------------------------------- +int main() +{ + + Initialize(); + + //----- Choose propagation mode + // 0: propagate until target, all steps in one go + // 1: propagate until target, returning control to the user at each step + G4int iProp = 0; + char* prop = getenv("G4ERROR_PROP"); + if( prop ) { + if( G4String(prop) == G4String("UNTIL_TARGET") ){ + iProp = 0; + } else if ( G4String(prop) == G4String("STEP_BY_STEP") ) { + iProp = 1; + } else { + G4Exception("exG4eReco","Fatal error in Argument",FatalErrorInArgument,G4String("Variable G4ERROR_PROP = " + G4String(prop) + " It must be: UNTIL_TARGET or STEP_BY_STEP").c_str()); + } + } else { + G4Exception("exG4eReco","Fatal error in Argument",JustWarning,"Variable G4ERROR_PROP not defined, taking it = UNTIL_TARGET"); + } + + uint nEvents = 3; + for( uint ii = 0; ii < nEvents; ii++ ){ + ProcessEvent( iProp, ii ); + } + + Finalize(); + +} + + +//------------------------------------------------------------- +void Initialize() +{ + G4VSteppingVerbose::SetInstance(new G4SteppingVerbose); + + // Initialize the GEANT4e manager + G4ErrorPropagatorManager* g4emgr = G4ErrorPropagatorManager::GetErrorPropagatorManager(); + G4ErrorPropagatorData* g4edata = G4ErrorPropagatorData::GetErrorPropagatorData(); + + g4emgr->SetUserInitialization(new ExErrorDetectorConstruction); + + G4UImanager::GetUIpointer()->ApplyCommand("/exerror/setField -10. kilogauss"); + + g4emgr->InitGeant4e(); + + G4UImanager::GetUIpointer()->ApplyCommand("/control/verbose 1"); + G4UImanager::GetUIpointer()->ApplyCommand("/tracking/verbose 1"); + G4UImanager::GetUIpointer()->ApplyCommand("/geant4e/limits/stepLength 100 mm"); + + //----- Choose target type: + // 1: PlaneSurfaceTarget + // 2: CylSurfaceTarget + // 3: GeomVolumeTarget + // 4: TrackLengthTarget + G4int iTarget = 1; + char* target = getenv("G4ERROR_TARGET"); + if( target ) { + if( G4String(target) == G4String("PLANE_SURFACE") ) { + iTarget = 1; + }else if( G4String(target) == G4String("CYL_SURFACE") ) { + iTarget = 2; + }else if( G4String(target) == G4String("VOLUME") ) { + iTarget = 3; + }else if( G4String(target) == G4String("TRKLEN") ) { + iTarget = 4; + }else { + G4Exception("exG4eReco","Fatal error in Argument",FatalErrorInArgument,G4String("Variable G4ERROR_TARGET = " + G4String(target) + " It must be: PLANE_SURFACE, CYL_SURFACE, VOLUME, TRKLEN").c_str()); + } + } else { + G4Exception("exG4eReco","Fatal error in Argument",JustWarning,"Variable G4ERROR_TARGET not defined, taking it = PLANE_SURFACE"); + } + + theTarget = BuildTarget( iTarget ); + g4edata->SetTarget( theTarget ); + + theG4ErrorMode = G4ErrorMode_PropBackwards; + char* mode = getenv("G4ERROR_MODE"); + if( mode ) { + if( G4String(mode) == G4String("FORWARDS") ) { + theG4ErrorMode = G4ErrorMode_PropForwards; + } else if( G4String(mode) == G4String("BACKWARDS") ) { + theG4ErrorMode = G4ErrorMode_PropBackwards; + } else { + G4Exception("exG4eReco","Fatal error in Argument",FatalErrorInArgument,G4String("Variable G4ERROR_MODE = " + G4String(mode) + " It must be: FORWARDS or BACKWARDS").c_str()); + } + } else { + G4Exception("exG4eReco","Fatal error in Argument",JustWarning,"Variable G4ERROR_MODE not defined, taking it = BACKWARDS"); + } + +} + + +void ProcessEvent( G4int iProp, uint ) +{ + +// Set the starting trajectory. + G4ThreeVector xv3( 0, 0, 0 ); + G4ThreeVector pv3( 20.0*GeV, 0.0, 0.0 ); + G4ErrorTrajErr error( 5, 0 ); + G4ErrorFreeTrajState* theG4ErrorTrajState = new G4ErrorFreeTrajState( "mu-", xv3, pv3, error ); + + G4ErrorPropagatorManager* g4emgr = G4ErrorPropagatorManager::GetErrorPropagatorManager(); + + int ierr = 0; + + G4Point3D surfPos(224.*cm,0.,0.); + G4Normal3D surfNorm(1.,0.,0.); + //- G4ErrorTarget* theG4ErrorTarget = new G4ErrorPlaneSurfaceTarget(surfNorm, surfPos ); + + if( iProp == 0){ + // Propagate until G4ErrorTarget is found all in one go + ierr = g4emgr->Propagate( theG4ErrorTrajState, theTarget, theG4ErrorMode ); + } else if( iProp == 1){ + + // Propagate until G4ErrorTarget is reached step by step + + g4emgr->InitTrackPropagation(); + + // G4Track* aTrack = G4EventManager::GetEventManager()->GetTrackingManager()->GetTrack(); + bool moreEvt = TRUE; + while( moreEvt ){ + + ierr = g4emgr->PropagateOneStep( theG4ErrorTrajState, theG4ErrorMode ); + + //---- Check if target is reached + if( g4emgr->GetPropagator()->CheckIfLastStep( theG4ErrorTrajState->GetG4Track() )) { + g4emgr->GetPropagator()->InvokePostUserTrackingAction( theG4ErrorTrajState->GetG4Track() ); + moreEvt = 0; + G4cout << "STEP_BY_STEP propagation: Last Step " << G4endl; + } + } + } + + G4cout << " $$$ PROPAGATION ENDED " << G4endl; + // extract current state info + G4Point3D posEnd = theG4ErrorTrajState->GetPosition(); + G4Normal3D momEnd = theG4ErrorTrajState->GetMomentum(); + G4ErrorTrajErr errorEnd = theG4ErrorTrajState->GetError(); + + G4cout << " Position: " << posEnd << G4endl + << " Momentum: " << momEnd << G4endl + << " Error: " << errorEnd << G4endl; +} + + +//------------------------------------------------------------- +G4ErrorTarget* BuildTarget( G4int iTarget ) +{ + + G4ErrorTarget* target = 0; + if( iTarget == 1 ) { + G4Point3D surfPos(221.*cm,0.,0.); + G4Normal3D surfNorm(1.,0.,0.); + target = new G4ErrorPlaneSurfaceTarget(surfNorm, surfPos ); + }else if( iTarget == 2 ) { + G4double radius = 222*cm; + target = new G4ErrorCylSurfaceTarget(radius); + }else if( iTarget == 3 ) { + target = new G4ErrorGeomVolumeTarget("MUON"); + }else if( iTarget == 4 ) { + target = new G4ErrorTrackLengthTarget(223.*cm); + }else { + G4Exception("exG4eReco::BuildTarget. Target type has to be between 1 and 4"); + } + return target; +} + + +//------------------------------------------------------------- +void Finalize() +{ + G4ErrorPropagatorManager::GetErrorPropagatorManager()->CloseGeometry(); + +} diff --git a/source/physics_lists/lists/include/LHEP_LEAD_HP.hh b/examples/extended/errorpropagation/include/ExErrorDetectorConstruction.hh similarity index 56% rename from source/physics_lists/lists/include/LHEP_LEAD_HP.hh rename to examples/extended/errorpropagation/include/ExErrorDetectorConstruction.hh index aa9f0e6b3b..7c6195551c 100644 --- a/source/physics_lists/lists/include/LHEP_LEAD_HP.hh +++ b/examples/extended/errorpropagation/include/ExErrorDetectorConstruction.hh @@ -23,46 +23,69 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP_LEAD_HP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// ------------------------------------------------------------ // -//--------------------------------------------------------------------------- +// Class Description: // -// ClassName: LHEP_LEAD_HP +// Creates a simplified typical HEP detector: +// An air beamline ( BEAM ) +// An air central detector ( CDET ) +// A copper calorimeter, divided in four ( ECAL ) +// An aluminium calorimeter, divided in ten ( HCAL ) +// An air muon detector ( MUON ) // -// Author: 2002 J.P. Wellisch +// History: +// - Created: P. Arce May 2007 // -// Modified: -// -//---------------------------------------------------------------------------- -// -#ifndef TLHEP_LEAD_HP_h -#define TLHEP_LEAD_HP_h 1 -#include "G4VModularPhysicsList.hh" +#ifndef ExErrorDetectorConstruction_hh +#define ExErrorDetectorConstruction_hh 1 + #include "globals.hh" -#include "CompileTimeConstraints.hh" +#include "G4VUserDetectorConstruction.hh" +#include "ExErrorMagneticField.hh" -template -class TLHEP_LEAD_HP: public T +class G4Box; +class G4LogicalVolume; +class G4VPhysicalVolume; +class G4Material; +class ExErrorDetectorMessenger; +class G4UserLimits; + +//------------------------------------------------------------------------ +class ExErrorDetectorConstruction : public G4VUserDetectorConstruction { public: - TLHEP_LEAD_HP(G4int ver = 1); - virtual ~TLHEP_LEAD_HP(); -public: - // SetCuts() - virtual void SetCuts(); + ExErrorDetectorConstruction(); + ~ExErrorDetectorConstruction(); + + G4VPhysicalVolume* Construct(); + + void SetMagField(G4double); private: - enum {ok = CompileTimeConstraints::IsA::ok }; -}; -#include "LHEP_LEAD_HP.icc" -typedef TLHEP_LEAD_HP LHEP_LEAD_HP; + G4double xBEAM; + G4double xCDET; + G4double xECAL; + G4double xSOLN; + G4double xHCAL; + G4double xMUON; + G4double ndivECAL; + G4double ndivHCAL; + G4double yzLength; + G4double xHalfWorldLength; -// 2002 by J.P. Wellisch + + G4UserLimits* userLimits; + + ExErrorMagneticField* fpMagField; // pointer to the magnetic field + + ExErrorDetectorMessenger* detectorMessenger; // pointer to the Messenger +}; + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif - - - diff --git a/source/physics_lists/lists/include/LHEP_HP.hh b/examples/extended/errorpropagation/include/ExErrorDetectorMessenger.hh similarity index 68% rename from source/physics_lists/lists/include/LHEP_HP.hh rename to examples/extended/errorpropagation/include/ExErrorDetectorMessenger.hh index b02440a527..5c31cf037f 100644 --- a/source/physics_lists/lists/include/LHEP_HP.hh +++ b/examples/extended/errorpropagation/include/ExErrorDetectorMessenger.hh @@ -23,46 +23,44 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP_HP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// ------------------------------------------------------------ // -//--------------------------------------------------------------------------- +// Class Description: // -// ClassName: LHEP_HP +// Defines a G4UIcommand to set the value of the constant field // -// Author: 2002 J.P. Wellisch +// History: +// - Created: P. Arce, May 2007 // -// Modified: -// -//---------------------------------------------------------------------------- -// -#ifndef TLHEP_HP_h -#define TLHEP_HP_h 1 -#include "G4VModularPhysicsList.hh" +#ifndef ExErrorDetectorMessenger_hh +#define ExErrorDetectorMessenger_hh 1 + #include "globals.hh" -#include "CompileTimeConstraints.hh" +#include "G4UImessenger.hh" -template -class TLHEP_HP: public T +class ExErrorDetectorConstruction; +class G4UIdirectory; +class G4UIcmdWithAString; +class G4UIcmdWithADoubleAndUnit; + +//------------------------------------------------------------------------ +class ExErrorDetectorMessenger: public G4UImessenger { public: - TLHEP_HP(G4int ver = 1); - virtual ~TLHEP_HP(); + ExErrorDetectorMessenger(ExErrorDetectorConstruction*); + ~ExErrorDetectorMessenger(); + + void SetNewValue(G4UIcommand*, G4String); -public: - // SetCuts() - virtual void SetCuts(); - private: - enum {ok = CompileTimeConstraints::IsA::ok }; + ExErrorDetectorConstruction* myDetector; + + G4UIdirectory* mydetDir; + G4UIcmdWithADoubleAndUnit* FieldCmd; }; -#include "LHEP_HP.icc" -typedef TLHEP_HP LHEP_HP; - -// 2002 by J.P. Wellisch #endif - - diff --git a/source/physics_lists/lists/include/LHEP_LEAD.hh b/examples/extended/errorpropagation/include/ExErrorMagneticField.hh similarity index 65% rename from source/physics_lists/lists/include/LHEP_LEAD.hh rename to examples/extended/errorpropagation/include/ExErrorMagneticField.hh index b2b21d3743..de464eedb6 100644 --- a/source/physics_lists/lists/include/LHEP_LEAD.hh +++ b/examples/extended/errorpropagation/include/ExErrorMagneticField.hh @@ -23,46 +23,44 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP_LEAD.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// ------------------------------------------------------------ +// GEANT 4 class header file +// ------------------------------------------------------------ // -//--------------------------------------------------------------------------- +// Class Description: // -// ClassName: LHEP_LEAD +// A uniform 1 kilogauss field along the Z axis // -// Author: 2002 J.P. Wellisch +// History: +// - Created: P. Arce May 2007 // -// Modified: -// -//---------------------------------------------------------------------------- -// -#ifndef TLHEP_LEAD_h -#define TLHEP_LEAD_h 1 -#include "G4VModularPhysicsList.hh" -#include "globals.hh" -#include "CompileTimeConstraints.hh" +#ifndef ExErrorMagneticField_H +#define ExErrorMagneticField_H -template -class TLHEP_LEAD: public T +#include "G4UniformMagField.hh" + +class G4FieldManager; + +//------------------------------------------------------------------------ +class ExErrorMagneticField: public G4UniformMagField { -public: - TLHEP_LEAD(G4int ver = 1); - virtual ~TLHEP_LEAD(); + public: -public: - // SetCuts() - virtual void SetCuts(); + ExErrorMagneticField(G4ThreeVector); // The value of the field + ExErrorMagneticField(); // A zero field + ~ExErrorMagneticField(); + + //Set the field (0,0,fieldValue) + void SetFieldValue(G4double fieldValue); + void SetFieldValue(G4ThreeVector fieldVector); + + G4ThreeVector GetConstantFieldValue(); -private: - enum {ok = CompileTimeConstraints::IsA::ok }; +protected: + + // Find the global Field Manager + G4FieldManager* GetGlobalFieldManager(); // static }; -#include "LHEP_LEAD.icc" -typedef TLHEP_LEAD LHEP_LEAD; - -// 2002 by J.P. Wellisch #endif - - - diff --git a/examples/extended/errorpropagation/src/ExErrorDetectorConstruction.cc b/examples/extended/errorpropagation/src/ExErrorDetectorConstruction.cc new file mode 100644 index 0000000000..85ea8baf20 --- /dev/null +++ b/examples/extended/errorpropagation/src/ExErrorDetectorConstruction.cc @@ -0,0 +1,254 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// + +#include "ExErrorDetectorConstruction.hh" +#include "ExErrorDetectorMessenger.hh" +#include "ExErrorMagneticField.hh" + +#include "G4Material.hh" +#include "G4Box.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" + +#include "G4UserLimits.hh" +#include "G4VisAttributes.hh" + +#include "G4Colour.hh" + +#include "G4ios.hh" + +//------------------------------------------------------------- +ExErrorDetectorConstruction::ExErrorDetectorConstruction() + : xBEAM(5.*cm), xCDET(20.*cm), xECAL(40.*cm), xSOLN(10.*cm), xHCAL(100.*cm), + xMUON(50.*cm), ndivECAL(40./10.), ndivHCAL(100./10.), yzLength(50.*cm), + xHalfWorldLength(xBEAM + xCDET + xECAL + xSOLN + xHCAL + xMUON) +{ + + // create UserLimits + userLimits = new G4UserLimits(); + + fpMagField = new ExErrorMagneticField(G4ThreeVector(0.*kilogauss,0.*kilogauss,-1.*kilogauss)); + detectorMessenger = new ExErrorDetectorMessenger(this); + +} + + +//------------------------------------------------------------- +ExErrorDetectorConstruction::~ExErrorDetectorConstruction() +{ + delete fpMagField; + delete detectorMessenger; +} + + +//------------------------------------------------------------- +G4VPhysicalVolume* ExErrorDetectorConstruction::Construct() +{ +//--------- Material definition --------- + + G4double a, iz, z, density; + G4String name, symbol; + G4int nel; + + //Vacuum + /* a = 1.*g/mole; + density = 1.E-9*g/cm3; + G4Material* Vacuum = new G4Material(name="Vacuum", z=1., a, density); + */ + + //Air + a = 14.01*g/mole; + G4Element* elN = new G4Element(name="Nitrogen", symbol="N", iz=7., a); + a = 16.00*g/mole; + G4Element* elO = new G4Element(name="Oxigen", symbol="O", iz=8., a); + density = 1.205*mg/cm3; + G4Material* Air = new G4Material(name="Air", density, nel=2); + Air->AddElement(elN, .7); + Air->AddElement(elO, .3); + //Al + a = 26.98*g/mole; + density = 2.7*g/cm3; + G4Material* Al = new G4Material(name="Al", z=13., a, density); + //Fe + a = 55.85*g/mole; + density = 7.87*g/cm3; + G4Material* Fe = new G4Material(name="Fe", z=26., a, density); + //Cu + a = 63.54*g/mole; + density = 8.96*g/cm3; + G4Material* Cu = new G4Material(name="Cu", z=29., a, density); + + + // Print all the materials defined. + // + G4cout << G4endl << "The materials defined are : " << G4endl << G4endl; + G4cout << *(G4Material::GetMaterialTable()) << G4endl; + + //--------- Sizes of the principal geometrical components (solids) --------- (half lengths) + //double xBEAM = 5.*2.*cm; + //double xCDET = 90.*cm; + //double xECAL = 40.*cm; + //double xSOLN = 10.*cm; + //double xHCAL = 100.*cm; + //double xMUON = 50.*cm; + //double ndivECAL = 10; + //double ndivHCAL = 10; + //double yzLength = 100.*cm; + + // double xWorldLength= xBEAM + xCDET + xECAL + xSOLN + xHCAL + xMUON; + + +//--------- Definitions of Solids, Logical Volumes, Physical Volumes --------- + + //------------------------------ + // World + //------------------------------ + //- G4double HalfWorldLength = xWorldLength; + G4cout << " HalfWorldLength " << xHalfWorldLength << G4endl; + + G4Box* solidWorld= new G4Box("world",xHalfWorldLength,yzLength,yzLength); + G4LogicalVolume* logicWorld= new G4LogicalVolume( solidWorld, Air, "World", 0, 0, 0); + // Must place the World Physical volume unrotated at (0,0,0). + // + G4VPhysicalVolume* physiWorld = new G4PVPlacement(0, // no rotation + G4ThreeVector(), // at (0,0,0) + "World", // its name + logicWorld, // its logical volume + 0, // its mother volume + false, // no boolean operations + 0); // no field specific to volum + + //------------------------------ + // BEAM + //------------------------------ + G4Box* solidBEAM = new G4Box("BEAM",xBEAM,yzLength,yzLength); + G4LogicalVolume* logicBEAM = new G4LogicalVolume(solidBEAM,Air,"BEAM",0,0,0); + G4ThreeVector positionBEAM = G4ThreeVector(0.,0.,0.); + //G4VPhysicalVolume* physiBEAM = + new G4PVPlacement(0, // no rotation + positionBEAM, // at (x,y,z) + "BEAM", // its name + logicBEAM, // its logical volume + physiWorld, // its mother volume + false, // no boolean operations + 0); // no particular field + + //------------------------------ + // CDET (Central DETector) + //------------------------------ + G4ThreeVector positionCdet = G4ThreeVector(xBEAM + xCDET/2.,0.,0.); + G4Box* solidCDET = new G4Box("CDET",xCDET/2.,yzLength,yzLength); + G4LogicalVolume* logicCDET = new G4LogicalVolume(solidCDET,Air,"Cdet",0,0,0); + // G4VPhysicalVolume* physiCDET = + new G4PVPlacement(0, // no rotation + positionCdet, // at (x,y,z) + "CDET", // its name + logicCDET, // its logical volume + physiWorld, // its mother volume + false, // no boolean operations + 0); // no particular field + + //------------------------------ + // ECAL + //------------------------------ + G4ThreeVector positionECAL = G4ThreeVector(xBEAM + xCDET + xECAL/2., 0., 0.); + G4Box* solidECAL = new G4Box("ECAL",xECAL/2.,yzLength,yzLength); + G4LogicalVolume* logicECAL = new G4LogicalVolume(solidECAL,Cu,"ECAL",0,0,0); + G4VPhysicalVolume* physiECAL = new G4PVPlacement(0, // no rotation + positionECAL, // at (x,y,z) + "ECAL", // its name + logicECAL, // its logical volume + physiWorld, // its mother volume + false, // no boolean operations + 0); // no particular field + //--------- Divide it + G4Box* solidECALdiv = new G4Box("ECAL",xECAL/2./ndivECAL,yzLength,yzLength); + G4LogicalVolume* logicECALdiv = new G4LogicalVolume(solidECALdiv,Cu,"ECALdiv",0,0,0); + new G4PVReplica("DVEC", logicECALdiv, physiECAL, + kXAxis, G4int(ndivECAL), xECAL/ndivECAL); + + + //------------------------------ + // SOLN + //------------------------------ + G4ThreeVector positionSOLN = G4ThreeVector(xBEAM + xCDET + xECAL + xSOLN/2., 0., 0.); + G4Box* solidSOLN = new G4Box("SOLN",xSOLN/2.,yzLength,yzLength); + G4LogicalVolume* logicSOLN = new G4LogicalVolume(solidSOLN,Al,"SOLN",0,0,0); + new G4PVPlacement(0, // no rotation + positionSOLN, // at (x,y,z) + "SOLN", // its name + logicSOLN, // its logical volume + physiWorld, // its mother volume + false, // no boolean operations + 0); // no particular field + + //------------------------------ + // HCAL + //------------------------------ + G4ThreeVector positionHCAL = G4ThreeVector(xBEAM + xCDET + xECAL + xSOLN + xHCAL/2., 0., 0.); + G4Box* solidHCAL = new G4Box("HCAL",xHCAL/2.,yzLength,yzLength); + G4LogicalVolume* logicHCAL = new G4LogicalVolume(solidHCAL,Fe,"HCAL",0,0,0); + G4VPhysicalVolume* physiHCAL = new G4PVPlacement(0, // no rotation + positionHCAL, // at (x,y,z) + "HCAL", // its name + logicHCAL, // its logical volume + physiWorld, // its mother volume + false, // no boolean operations + 0); // no particular field + //--------- Divide it + G4Box* solidHCALdiv = new G4Box("HCAL",xHCAL/2./ndivHCAL,yzLength,yzLength); + G4LogicalVolume* logicHCALdiv = new G4LogicalVolume(solidHCALdiv,Fe,"HCALdiv",0,0,0); + new G4PVReplica("DVEH", logicHCALdiv, physiHCAL, + kXAxis, G4int(ndivHCAL), xHCAL/ndivHCAL); + + //------------------------------ + // MUON + //------------------------------ + G4ThreeVector positionMUON = G4ThreeVector(xBEAM + xCDET + xECAL + xSOLN + xHCAL + xMUON/2., 0., 0.); + G4Box* solidMUON = new G4Box("MUON",xMUON/2.,yzLength,yzLength); + G4LogicalVolume* logicMUON = new G4LogicalVolume(solidMUON,Air,"MUON",0,0,0); + new G4PVPlacement(0, // no rotation + positionMUON, // at (x,y,z) + "MUON", // its name + logicMUON, // its logical volume + physiWorld, // its mother volume + false, // no boolean operations + 0); // no particular field + + + G4VisAttributes* worldVisAtt = new G4VisAttributes(0); + logicWorld->SetVisAttributes( worldVisAtt); + return physiWorld; +} + + +//------------------------------------------------------------- +void ExErrorDetectorConstruction::SetMagField(G4double fieldValue) +{ + fpMagField->SetFieldValue(fieldValue); +} + diff --git a/source/visualization/Tree/src/G4GAGTreeMessenger.cc b/examples/extended/errorpropagation/src/ExErrorDetectorMessenger.cc similarity index 57% rename from source/visualization/Tree/src/G4GAGTreeMessenger.cc rename to examples/extended/errorpropagation/src/ExErrorDetectorMessenger.cc index 86ca65fba5..ef5a72b015 100644 --- a/source/visualization/Tree/src/G4GAGTreeMessenger.cc +++ b/examples/extended/errorpropagation/src/ExErrorDetectorMessenger.cc @@ -23,45 +23,48 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// Satoshi Tanaka 31th May 2001 -// -// A messenger for G4GAGTree driver. -#include "G4GAGTreeMessenger.hh" +#include "ExErrorDetectorMessenger.hh" -#include "G4GAGTree.hh" -#include "G4UIcommand.hh" +#include "ExErrorDetectorConstruction.hh" #include "G4UIdirectory.hh" -#include "G4UIcmdWithAnInteger.hh" +#include "G4UIcmdWithAString.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "globals.hh" + +//------------------------------------------------------------- +ExErrorDetectorMessenger::ExErrorDetectorMessenger(ExErrorDetectorConstruction* myDet) +:myDetector(myDet) +{ + + mydetDir = new G4UIdirectory("/exerror/"); + mydetDir->SetGuidance("ExError control."); + + FieldCmd = new G4UIcmdWithADoubleAndUnit("/exerror/setField",this); + FieldCmd->SetGuidance("Define magnetic field."); + FieldCmd->SetGuidance("Magnetic field will be in Z direction."); + FieldCmd->SetParameterName("Bz",false); + FieldCmd->SetDefaultUnit("tesla"); + FieldCmd->SetUnitCategory("Magnetic flux density"); + FieldCmd->AvailableForStates(G4State_PreInit,G4State_Init,G4State_Idle); -G4GAGTreeMessenger::G4GAGTreeMessenger -(G4GAGTree* GAGTree): - fpGAGTree(GAGTree) { - G4bool omitable, currentAsDefault; - fpDirectory = new G4UIdirectory ("/vis/GAGTree/"); - fpDirectory -> SetGuidance ("Commands for GAGTree control."); - fpCommandVerbose = new G4UIcmdWithAnInteger ("/vis/GAGTree/verbose", this); - fpCommandVerbose -> SetGuidance ("/vis/GAGTree/verbose []"); - fpCommandVerbose -> SetGuidance - ("0 (default) mimimum - 10 maximum printing."); - fpCommandVerbose -> SetParameterName ("verbosity", - omitable = true, - currentAsDefault = true); } -G4GAGTreeMessenger::~G4GAGTreeMessenger() { - delete fpCommandVerbose; - delete fpDirectory; + +//------------------------------------------------------------- +ExErrorDetectorMessenger::~ExErrorDetectorMessenger() +{ + delete FieldCmd; + delete mydetDir; } -G4String G4GAGTreeMessenger::GetCurrentValue(G4UIcommand*) { - return "0"; + +//------------------------------------------------------------- +void ExErrorDetectorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + if( command == FieldCmd ) { + myDetector->SetMagField(FieldCmd->GetNewDoubleValue(newValue)); + } + } -void G4GAGTreeMessenger::SetNewValue(G4UIcommand*, G4String newValue) { - fpGAGTree->SetVerbosity - (fpCommandVerbose->GetNewIntValue(newValue)); - G4cout << "G4GAGTree verbosity now " - << fpGAGTree->GetVerbosity() - << G4endl; -} diff --git a/examples/extended/errorpropagation/src/ExErrorMagneticField.cc b/examples/extended/errorpropagation/src/ExErrorMagneticField.cc new file mode 100644 index 0000000000..5a525188cd --- /dev/null +++ b/examples/extended/errorpropagation/src/ExErrorMagneticField.cc @@ -0,0 +1,87 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// + +#include "ExErrorMagneticField.hh" +#include "G4FieldManager.hh" +#include "G4TransportationManager.hh" + +//------------------------------------------------------------- +ExErrorMagneticField::ExErrorMagneticField() + : G4UniformMagField(G4ThreeVector()) +{ + GetGlobalFieldManager()->SetDetectorField(this); + GetGlobalFieldManager()->CreateChordFinder(this); +} + + +//------------------------------------------------------------- +ExErrorMagneticField::ExErrorMagneticField(G4ThreeVector fieldVector) + : G4UniformMagField(fieldVector) +{ + GetGlobalFieldManager()->SetDetectorField(this); + GetGlobalFieldManager()->CreateChordFinder(this); +} + + +//------------------------------------------------------------- +void ExErrorMagneticField::SetFieldValue(G4double fieldValue) +{ + G4UniformMagField::SetFieldValue(G4ThreeVector(0,0,fieldValue)); + +} + + +//------------------------------------------------------------- +void ExErrorMagneticField::SetFieldValue(G4ThreeVector fieldVector) +{ + // Find the Field Manager for the global field + G4FieldManager* fieldMgr= GetGlobalFieldManager(); + + if(fieldVector!=G4ThreeVector(0.,0.,0.)) + { + G4UniformMagField::SetFieldValue(fieldVector); + fieldMgr->SetDetectorField(this); + } else { + // If the new field's value is Zero, then it is best to + // insure that it is not used for propagation. + G4MagneticField* magField = NULL; + fieldMgr->SetDetectorField(magField); + } +} + + +//------------------------------------------------------------- +ExErrorMagneticField::~ExErrorMagneticField() +{ +} + + +//------------------------------------------------------------- +G4FieldManager* ExErrorMagneticField::GetGlobalFieldManager() +{ + return G4TransportationManager::GetTransportationManager()->GetFieldManager(); +} + diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmcEx01.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmcEx01.cc index 1cd19a7715..86fbb097cf 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmcEx01.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/hepmcEx01.cc @@ -25,7 +25,7 @@ // // // $Id: hepmcEx01.cc,v 1.5 2006/07/05 11:06:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04RunAction.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04RunAction.hh index 2aa87e0a1d..b7ea63b120 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04RunAction.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN04RunAction.hh,v 1.3 2006/07/05 11:06:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04SteppingVerbose.hh b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04SteppingVerbose.hh index b45cedf703..5f00c38a1b 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04SteppingVerbose.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/include/ExN04SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: ExN04SteppingVerbose.hh,v 1.2 2006/06/29 17:05:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04RunAction.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04RunAction.cc index 8c2cef2f2e..41426baff4 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04RunAction.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN04RunAction.cc,v 1.3 2006/07/05 11:06:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04SteppingVerbose.cc b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04SteppingVerbose.cc index 68f742c0f8..a2bd17a7d1 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04SteppingVerbose.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx01/src/ExN04SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: ExN04SteppingVerbose.cc,v 1.4 2006/06/29 17:06:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmcEx02.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmcEx02.cc index f7cb60e9a3..4d9c03a7de 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmcEx02.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/hepmcEx02.cc @@ -25,7 +25,7 @@ // // // $Id: hepmcEx02.cc,v 1.5 2006/07/05 12:04:07 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02PhysicsList.hh b/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02PhysicsList.hh index c8d481ab5d..fec61b7ab9 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02PhysicsList.hh +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/include/H02PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: H02PhysicsList.hh,v 1.3 2006/07/05 12:04:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02PhysicsList.cc b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02PhysicsList.cc index 4ff93444ea..ac6953b807 100644 --- a/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02PhysicsList.cc +++ b/examples/extended/eventgenerator/HepMC/HepMCEx02/src/H02PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: H02PhysicsList.cc,v 1.5 2006/07/05 12:04:13 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/include/DetectorConstruction.hh b/examples/extended/eventgenerator/HepMC/MCTruth/include/DetectorConstruction.hh index 8a53bcf487..56a933328e 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/include/DetectorConstruction.hh +++ b/examples/extended/eventgenerator/HepMC/MCTruth/include/DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: DetectorConstruction.hh,v 1.1 2006/11/22 14:51:27 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthConfig.hh b/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthConfig.hh index 71579145b8..434df60508 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthConfig.hh +++ b/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthConfig.hh @@ -25,7 +25,7 @@ // // // $Id: MCTruthConfig.hh,v 1.1 2006/11/22 14:51:27 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthEventAction.hh b/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthEventAction.hh index 4a52ba88f3..3fecaa0aec 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthEventAction.hh +++ b/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthEventAction.hh @@ -25,7 +25,7 @@ // // // $Id: MCTruthEventAction.hh,v 1.1 2006/11/22 14:51:27 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthManager.hh b/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthManager.hh index 559418d482..df492e5f06 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthManager.hh +++ b/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthManager.hh @@ -25,7 +25,7 @@ // // // $Id: MCTruthManager.hh,v 1.1 2006/11/22 14:51:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthTrackInformation.hh b/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthTrackInformation.hh index 9f1bb40257..bb9741c345 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthTrackInformation.hh +++ b/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthTrackInformation.hh @@ -25,7 +25,7 @@ // // // $Id: MCTruthTrackInformation.hh,v 1.1 2006/11/22 14:51:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthTrackingAction.hh b/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthTrackingAction.hh index b1381d25f3..596f426389 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthTrackingAction.hh +++ b/examples/extended/eventgenerator/HepMC/MCTruth/include/MCTruthTrackingAction.hh @@ -25,7 +25,7 @@ // // // $Id: MCTruthTrackingAction.hh,v 1.1 2006/11/22 14:51:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/include/PhysicsList.hh b/examples/extended/eventgenerator/HepMC/MCTruth/include/PhysicsList.hh index 61a9480a0b..25f09d1396 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/include/PhysicsList.hh +++ b/examples/extended/eventgenerator/HepMC/MCTruth/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.1 2006/11/22 14:51:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/include/PrimaryGeneratorAction.hh b/examples/extended/eventgenerator/HepMC/MCTruth/include/PrimaryGeneratorAction.hh index 550e759bd4..33afd73969 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/include/PrimaryGeneratorAction.hh +++ b/examples/extended/eventgenerator/HepMC/MCTruth/include/PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: PrimaryGeneratorAction.hh,v 1.1 2006/11/22 14:51:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/src/DetectorConstruction.cc b/examples/extended/eventgenerator/HepMC/MCTruth/src/DetectorConstruction.cc index 5544932d77..cc5b9612c8 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/src/DetectorConstruction.cc +++ b/examples/extended/eventgenerator/HepMC/MCTruth/src/DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: DetectorConstruction.cc,v 1.1 2006/11/22 14:51:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthConfig.cc b/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthConfig.cc index 8120b3fac1..8b739508d2 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthConfig.cc +++ b/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthConfig.cc @@ -25,7 +25,7 @@ // // // $Id: MCTruthConfig.cc,v 1.1 2006/11/22 14:51:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthEventAction.cc b/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthEventAction.cc index bd9cad727a..bb6e2c28cd 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthEventAction.cc +++ b/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthEventAction.cc @@ -25,7 +25,7 @@ // // // $Id: MCTruthEventAction.cc,v 1.1 2006/11/22 14:51:29 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthManager.cc b/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthManager.cc index 8369e0b401..906752d0d3 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthManager.cc +++ b/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthManager.cc @@ -25,7 +25,7 @@ // // // $Id: MCTruthManager.cc,v 1.2 2006/12/13 15:42:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthTrackInformation.cc b/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthTrackInformation.cc index 2ad51ebb8f..6858747409 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthTrackInformation.cc +++ b/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthTrackInformation.cc @@ -25,7 +25,7 @@ // // // $Id: MCTruthTrackInformation.cc,v 1.1 2006/11/22 14:51:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthTrackingAction.cc b/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthTrackingAction.cc index d00cc522f9..de8c4be876 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthTrackingAction.cc +++ b/examples/extended/eventgenerator/HepMC/MCTruth/src/MCTruthTrackingAction.cc @@ -25,7 +25,7 @@ // // // $Id: MCTruthTrackingAction.cc,v 1.1 2006/11/22 14:51:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/src/PhysicsList.cc b/examples/extended/eventgenerator/HepMC/MCTruth/src/PhysicsList.cc index 1ed7d40984..99a9aed6e0 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/src/PhysicsList.cc +++ b/examples/extended/eventgenerator/HepMC/MCTruth/src/PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.cc,v 1.1 2006/11/22 14:51:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/HepMC/MCTruth/src/PrimaryGeneratorAction.cc b/examples/extended/eventgenerator/HepMC/MCTruth/src/PrimaryGeneratorAction.cc index 6c7e06a124..cc0cfe9333 100644 --- a/examples/extended/eventgenerator/HepMC/MCTruth/src/PrimaryGeneratorAction.cc +++ b/examples/extended/eventgenerator/HepMC/MCTruth/src/PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: PrimaryGeneratorAction.cc,v 1.1 2006/11/22 14:51:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/eventgenerator/exgps/include/exGPSEventActionMessenger.hh b/examples/extended/eventgenerator/exgps/include/exGPSEventActionMessenger.hh index 4118d00fb7..15662b2f80 100644 --- a/examples/extended/eventgenerator/exgps/include/exGPSEventActionMessenger.hh +++ b/examples/extended/eventgenerator/exgps/include/exGPSEventActionMessenger.hh @@ -31,7 +31,7 @@ // and all its terms. // // $Id: exGPSEventActionMessenger.hh,v 1.4 2006/06/29 17:14:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/eventgenerator/exgps/src/exGPSEventActionMessenger.cc b/examples/extended/eventgenerator/exgps/src/exGPSEventActionMessenger.cc index 64c8989566..24f49b305d 100644 --- a/examples/extended/eventgenerator/exgps/src/exGPSEventActionMessenger.cc +++ b/examples/extended/eventgenerator/exgps/src/exGPSEventActionMessenger.cc @@ -31,7 +31,7 @@ // and all its terms. // // $Id: exGPSEventActionMessenger.cc,v 1.3 2006/06/29 17:14:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/BlineTracer/include/G4BlineEquation.hh b/examples/extended/field/BlineTracer/include/G4BlineEquation.hh index 22b2bc791a..efa43aad10 100644 --- a/examples/extended/field/BlineTracer/include/G4BlineEquation.hh +++ b/examples/extended/field/BlineTracer/include/G4BlineEquation.hh @@ -25,7 +25,7 @@ // // // $Id: G4BlineEquation.hh,v 1.2 2006/06/29 17:14:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/examples/extended/field/BlineTracer/include/G4BlineEventAction.hh b/examples/extended/field/BlineTracer/include/G4BlineEventAction.hh index 5bdd59e6fb..988c4d8339 100644 --- a/examples/extended/field/BlineTracer/include/G4BlineEventAction.hh +++ b/examples/extended/field/BlineTracer/include/G4BlineEventAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4BlineEventAction.hh,v 1.2 2006/06/29 17:14:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/examples/extended/field/BlineTracer/include/G4BlinePrimaryGeneratorAction.hh b/examples/extended/field/BlineTracer/include/G4BlinePrimaryGeneratorAction.hh index f4fbe4001d..daf7354db7 100644 --- a/examples/extended/field/BlineTracer/include/G4BlinePrimaryGeneratorAction.hh +++ b/examples/extended/field/BlineTracer/include/G4BlinePrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4BlinePrimaryGeneratorAction.hh,v 1.2 2006/06/29 17:14:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/examples/extended/field/BlineTracer/include/G4BlineSteppingAction.hh b/examples/extended/field/BlineTracer/include/G4BlineSteppingAction.hh index e6d573d1c5..45acb9aba8 100644 --- a/examples/extended/field/BlineTracer/include/G4BlineSteppingAction.hh +++ b/examples/extended/field/BlineTracer/include/G4BlineSteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4BlineSteppingAction.hh,v 1.2 2006/06/29 17:15:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/examples/extended/field/BlineTracer/include/G4BlineTracer.hh b/examples/extended/field/BlineTracer/include/G4BlineTracer.hh index 3030f257ac..39c78c90b0 100644 --- a/examples/extended/field/BlineTracer/include/G4BlineTracer.hh +++ b/examples/extended/field/BlineTracer/include/G4BlineTracer.hh @@ -25,7 +25,7 @@ // // // $Id: G4BlineTracer.hh,v 1.2 2006/06/29 17:15:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/examples/extended/field/BlineTracer/include/G4BlineTracerMessenger.hh b/examples/extended/field/BlineTracer/include/G4BlineTracerMessenger.hh index 4c465ddb58..00df149512 100644 --- a/examples/extended/field/BlineTracer/include/G4BlineTracerMessenger.hh +++ b/examples/extended/field/BlineTracer/include/G4BlineTracerMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4BlineTracerMessenger.hh,v 1.2 2006/06/29 17:15:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/examples/extended/field/BlineTracer/src/G4BlineEquation.cc b/examples/extended/field/BlineTracer/src/G4BlineEquation.cc index 152589b0a8..df061a873d 100644 --- a/examples/extended/field/BlineTracer/src/G4BlineEquation.cc +++ b/examples/extended/field/BlineTracer/src/G4BlineEquation.cc @@ -25,7 +25,7 @@ // // // $Id: G4BlineEquation.cc,v 1.2 2006/06/29 17:15:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/examples/extended/field/BlineTracer/src/G4BlineEventAction.cc b/examples/extended/field/BlineTracer/src/G4BlineEventAction.cc index 05a18627b5..eb9728a76c 100644 --- a/examples/extended/field/BlineTracer/src/G4BlineEventAction.cc +++ b/examples/extended/field/BlineTracer/src/G4BlineEventAction.cc @@ -25,7 +25,7 @@ // // // $Id: G4BlineEventAction.cc,v 1.2 2006/06/29 17:15:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/examples/extended/field/BlineTracer/src/G4BlinePrimaryGeneratorAction.cc b/examples/extended/field/BlineTracer/src/G4BlinePrimaryGeneratorAction.cc index 2399426578..1e05b21b30 100644 --- a/examples/extended/field/BlineTracer/src/G4BlinePrimaryGeneratorAction.cc +++ b/examples/extended/field/BlineTracer/src/G4BlinePrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: G4BlinePrimaryGeneratorAction.cc,v 1.3 2006/06/29 17:15:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/examples/extended/field/BlineTracer/src/G4BlineSteppingAction.cc b/examples/extended/field/BlineTracer/src/G4BlineSteppingAction.cc index 42a277faf9..4fdf62d556 100644 --- a/examples/extended/field/BlineTracer/src/G4BlineSteppingAction.cc +++ b/examples/extended/field/BlineTracer/src/G4BlineSteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: G4BlineSteppingAction.cc,v 1.2 2006/06/29 17:15:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/examples/extended/field/BlineTracer/src/G4BlineTracer.cc b/examples/extended/field/BlineTracer/src/G4BlineTracer.cc index fb2169512b..ebf194dccf 100644 --- a/examples/extended/field/BlineTracer/src/G4BlineTracer.cc +++ b/examples/extended/field/BlineTracer/src/G4BlineTracer.cc @@ -25,7 +25,7 @@ // // // $Id: G4BlineTracer.cc,v 1.3 2006/06/29 17:15:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/examples/extended/field/BlineTracer/src/G4BlineTracerMessenger.cc b/examples/extended/field/BlineTracer/src/G4BlineTracerMessenger.cc index 423b7c5894..4d31638d8c 100644 --- a/examples/extended/field/BlineTracer/src/G4BlineTracerMessenger.cc +++ b/examples/extended/field/BlineTracer/src/G4BlineTracerMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4BlineTracerMessenger.cc,v 1.2 2006/06/29 17:15:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // diff --git a/examples/extended/field/field01/History b/examples/extended/field/field01/History index a105d4961a..4cdd2c0a2b 100644 --- a/examples/extended/field/field01/History +++ b/examples/extended/field/field01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.19 2005/12/06 13:58:04 gcosmo Exp $ +$Id: History,v 1.20 2007/05/23 09:16:27 japost Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,9 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May 23rd, 2007 John Apostolakis - fieldex01-V08-03-00 +-------------------------------- +- Taken out FastSimulationManagerProcess, which is not needed. Dec 6th, 2005 Gabriele Cosmo ----------------------------- diff --git a/examples/extended/field/field01/field01.cc b/examples/extended/field/field01/field01.cc index 8d1ce6743b..5b57329540 100644 --- a/examples/extended/field/field01/field01.cc +++ b/examples/extended/field/field01/field01.cc @@ -25,7 +25,7 @@ // // // $Id: field01.cc,v 1.8 2006/06/29 17:15:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/field/field01/field01.out b/examples/extended/field/field01/field01.out index 249b15c89b..99fe248cc8 100644 --- a/examples/extended/field/field01/field01.out +++ b/examples/extended/field/field01/field01.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -61,7 +61,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -122,7 +121,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -135,12 +134,12 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -153,7 +152,7 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -200,7 +199,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -234,17 +233,14 @@ Start Run processing. Step# X Y Z Direction x dir y dir z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 21.9895 m 0 0 -1 500 MeV 0 eV 0 fm 0 fm World initStep -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release 1 0 fm 1.01183 m 21.9895 m 0 8.95106e-13 1 500 MeV0.00387483 eV 1.58938 m 1.58938 m World Transportation 2 0 fm 1.01183 m 21.9905 m 0 -0.00197661 0.999998 500 MeV2.43795e-06 eV 1 mm 1.59038 m Absorber Transportation 3 0 fm 1.01172 m 22 m 0 -0.0207544 0.999785 500 MeV2.31623e-05 eV 9.50075 mm 1.59988 m OutOfWorld Transportation -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release Run terminated. Run Summary Number of events processed : 1 - User=0s Real=0.07s Sys=0.02s + User=0.01s Real=0.03s Sys=0.01s ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release ========= Table of registered couples ============================== @@ -257,12 +253,10 @@ Index : 0 used in the geometry : Yes recalculation needed : No ==================================================================== -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release ### Run 1 start. WARNING: Scene "refresh" not found. /vis/scene/list to see scenes. Start Run processing. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release ---> Begin of Event: 0 @@ -272,11 +266,9 @@ G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next ma Step# X Y Z Direction x dir y dir z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 21.9895 m 0 0 -1 250 MeV 0 eV 0 fm 0 fm World initStep -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release 1 0 fm 50.6432 cm 21.9895 m 0 1.17461e-09 1 250 MeV0.00183026 eV 79.5502 cm 79.5502 cm World Transportation 2 0 fm 50.643 cm 21.9905 m 0 -0.0039492 0.999992 250 MeV2.30077e-06 eV 1 mm 79.6502 cm Absorber Transportation 3 0 fm 50.6214 cm 22 m 0 -0.0414666 0.99914 250 MeV2.18642e-05 eV 9.50301 mm 80.6005 cm OutOfWorld Transportation -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release Run terminated. Run Summary Number of events processed : 1 @@ -307,14 +299,13 @@ Start Run processing. Step# X Y Z Direction x dir y dir z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 21.9895 m 0 0 -1 200 MeV 0 eV 0 fm 0 fm World initStep -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release 1 0 fm 40.5352 cm 21.9895 m 0 -2.18037e-09 1 200 MeV0.00143691 eV 63.6725 cm 63.6725 cm World Transportation 2 0 fm 40.5349 cm 21.9905 m 0 -0.00493399 0.999988 200 MeV2.25672e-06 eV 1 mm 63.7725 cm Absorber Transportation 3 0 fm 40.5079 cm 22 m 0 -0.0518069 0.998657 200 MeV2.14494e-05 eV 9.50471 mm 64.723 cm OutOfWorld Transportation Run terminated. Run Summary Number of events processed : 1 - User=0s Real=0s Sys=0s + User=0s Real=0.01s Sys=0.01s ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. ========= Table of registered couples ============================== @@ -341,7 +332,6 @@ Start Run processing. Step# X Y Z Direction x dir y dir z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 21.9895 m 0 0 -1 100 MeV 0 eV 0 fm 0 fm World initStep -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release 1 0 fm 20.319 cm 21.9895 m 0 9.91398e-09 1 100 MeV0.000676634 eV 31.9171 cm 31.9171 cm World Transportation 2 0 fm 20.3185 cm 21.9905 m 0 -0.00984297 0.999952 100 MeV2.12001e-06 eV 1.00002 mm 32.0171 cm Absorber Transportation 3 0 fm 20.2645 cm 22 m 0 -0.103352 0.994645 100 MeV2.01797e-05 eV 9.51883 mm 32.969 cm OutOfWorld Transportation @@ -375,7 +365,6 @@ Start Run processing. Step# X Y Z Direction x dir y dir z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 21.9895 m 0 0 -1 50 MeV 0 eV 0 fm 0 fm World initStep -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release 1 0 fm 10.2108 cm 21.9895 m 0 -7.69218e-09 1 50 MeV0.000318172 eV 16.0391 cm 16.0391 cm World Transportation 2 0 fm 10.2098 cm 21.9905 m 0 -0.0195872 0.999808 50 MeV1.98386e-06 eV 1.00006 mm 16.1391 cm Absorber Transportation 3 0 fm 10.1016 cm 22 m 0 -0.205667 0.978622 50 MeV1.89952e-05 eV 9.5755 mm 17.0966 cm OutOfWorld Transportation diff --git a/examples/extended/field/field01/include/F01CalorHit.hh b/examples/extended/field/field01/include/F01CalorHit.hh index 9857a9ff52..c88e50228b 100644 --- a/examples/extended/field/field01/include/F01CalorHit.hh +++ b/examples/extended/field/field01/include/F01CalorHit.hh @@ -25,7 +25,7 @@ // // // $Id: F01CalorHit.hh,v 1.4 2006/06/29 17:15:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01CalorimeterSD.hh b/examples/extended/field/field01/include/F01CalorimeterSD.hh index 5addc131ea..f422a0bd0d 100644 --- a/examples/extended/field/field01/include/F01CalorimeterSD.hh +++ b/examples/extended/field/field01/include/F01CalorimeterSD.hh @@ -25,7 +25,7 @@ // // // $Id: F01CalorimeterSD.hh,v 1.4 2006/06/29 17:15:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01DetectorConstruction.hh b/examples/extended/field/field01/include/F01DetectorConstruction.hh index 194e4383f4..b8e3c5b26c 100644 --- a/examples/extended/field/field01/include/F01DetectorConstruction.hh +++ b/examples/extended/field/field01/include/F01DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: F01DetectorConstruction.hh,v 1.7 2006/06/29 17:15:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01DetectorMessenger.hh b/examples/extended/field/field01/include/F01DetectorMessenger.hh index 3d0c0aa7a4..56e7498fc2 100644 --- a/examples/extended/field/field01/include/F01DetectorMessenger.hh +++ b/examples/extended/field/field01/include/F01DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F01DetectorMessenger.hh,v 1.4 2006/06/29 17:15:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01EventAction.hh b/examples/extended/field/field01/include/F01EventAction.hh index 709449a648..027ae14a49 100644 --- a/examples/extended/field/field01/include/F01EventAction.hh +++ b/examples/extended/field/field01/include/F01EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: F01EventAction.hh,v 1.5 2006/06/29 17:15:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01EventActionMessenger.hh b/examples/extended/field/field01/include/F01EventActionMessenger.hh index 50ee0adf1d..01c973626a 100644 --- a/examples/extended/field/field01/include/F01EventActionMessenger.hh +++ b/examples/extended/field/field01/include/F01EventActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F01EventActionMessenger.hh,v 1.3 2006/06/29 17:15:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01FieldMessenger.hh b/examples/extended/field/field01/include/F01FieldMessenger.hh index 90d163d46c..9c31530447 100644 --- a/examples/extended/field/field01/include/F01FieldMessenger.hh +++ b/examples/extended/field/field01/include/F01FieldMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F01FieldMessenger.hh,v 1.7 2006/06/29 17:15:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01FieldSetup.hh b/examples/extended/field/field01/include/F01FieldSetup.hh index dacd19c806..91bd415377 100644 --- a/examples/extended/field/field01/include/F01FieldSetup.hh +++ b/examples/extended/field/field01/include/F01FieldSetup.hh @@ -25,7 +25,7 @@ // // // $Id: F01FieldSetup.hh,v 1.3 2006/06/29 17:15:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A class for control of the Magnetic Field of the detector. diff --git a/examples/extended/field/field01/include/F01PhysicsList.hh b/examples/extended/field/field01/include/F01PhysicsList.hh index 32331a65ad..db98088ec2 100644 --- a/examples/extended/field/field01/include/F01PhysicsList.hh +++ b/examples/extended/field/field01/include/F01PhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F01PhysicsList.hh,v 1.4 2006/06/29 17:15:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: F01PhysicsList.hh,v 1.5 2007/05/23 09:14:09 japost Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef F01PhysicsList_h @@ -83,7 +83,7 @@ class F01PhysicsList: public G4VUserPhysicsList // these methods Construct physics processes and register them - void AddParameterisation(); + // void AddParameterisation(); void ConstructGeneral(); void ConstructEM(); diff --git a/examples/extended/field/field01/include/F01PhysicsListMessenger.hh b/examples/extended/field/field01/include/F01PhysicsListMessenger.hh index de71fa042d..ca0fb2b8da 100644 --- a/examples/extended/field/field01/include/F01PhysicsListMessenger.hh +++ b/examples/extended/field/field01/include/F01PhysicsListMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F01PhysicsListMessenger.hh,v 1.4 2006/06/29 17:15:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01PrimaryGeneratorAction.hh b/examples/extended/field/field01/include/F01PrimaryGeneratorAction.hh index 65cd67daa4..cc181a175d 100644 --- a/examples/extended/field/field01/include/F01PrimaryGeneratorAction.hh +++ b/examples/extended/field/field01/include/F01PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: F01PrimaryGeneratorAction.hh,v 1.3 2006/06/29 17:15:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01PrimaryGeneratorMessenger.hh b/examples/extended/field/field01/include/F01PrimaryGeneratorMessenger.hh index 497b526c25..23e025b69e 100644 --- a/examples/extended/field/field01/include/F01PrimaryGeneratorMessenger.hh +++ b/examples/extended/field/field01/include/F01PrimaryGeneratorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F01PrimaryGeneratorMessenger.hh,v 1.3 2006/06/29 17:16:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01RunAction.hh b/examples/extended/field/field01/include/F01RunAction.hh index 54db9c85a5..181ad1b8b0 100644 --- a/examples/extended/field/field01/include/F01RunAction.hh +++ b/examples/extended/field/field01/include/F01RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: F01RunAction.hh,v 1.6 2006/06/29 17:16:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01RunMessenger.hh b/examples/extended/field/field01/include/F01RunMessenger.hh index 7494b07da9..54a8f19e98 100644 --- a/examples/extended/field/field01/include/F01RunMessenger.hh +++ b/examples/extended/field/field01/include/F01RunMessenger.hh @@ -26,7 +26,7 @@ // // $Id: F01RunMessenger.hh,v 1.4 2006/06/29 17:16:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01StepCut.hh b/examples/extended/field/field01/include/F01StepCut.hh index 2313510240..5e854e9d33 100644 --- a/examples/extended/field/field01/include/F01StepCut.hh +++ b/examples/extended/field/field01/include/F01StepCut.hh @@ -25,7 +25,7 @@ // // // $Id: F01StepCut.hh,v 1.5 2006/06/29 17:16:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01SteppingAction.hh b/examples/extended/field/field01/include/F01SteppingAction.hh index 905e7bb192..10aede8d66 100644 --- a/examples/extended/field/field01/include/F01SteppingAction.hh +++ b/examples/extended/field/field01/include/F01SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: F01SteppingAction.hh,v 1.4 2006/06/29 17:16:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/include/F01SteppingMessenger.hh b/examples/extended/field/field01/include/F01SteppingMessenger.hh index 26b87de00d..28218a625e 100644 --- a/examples/extended/field/field01/include/F01SteppingMessenger.hh +++ b/examples/extended/field/field01/include/F01SteppingMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F01SteppingMessenger.hh,v 1.3 2006/06/29 17:16:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/field/field01/include/F01SteppingVerbose.hh b/examples/extended/field/field01/include/F01SteppingVerbose.hh index 61343679db..c911ff6ac6 100644 --- a/examples/extended/field/field01/include/F01SteppingVerbose.hh +++ b/examples/extended/field/field01/include/F01SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: F01SteppingVerbose.hh,v 1.4 2006/06/29 17:16:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/field/field01/src/F01CalorHit.cc b/examples/extended/field/field01/src/F01CalorHit.cc index 111272b254..1c2c7805c9 100644 --- a/examples/extended/field/field01/src/F01CalorHit.cc +++ b/examples/extended/field/field01/src/F01CalorHit.cc @@ -25,7 +25,7 @@ // // // $Id: F01CalorHit.cc,v 1.4 2006/06/29 17:16:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01CalorimeterSD.cc b/examples/extended/field/field01/src/F01CalorimeterSD.cc index 6ddae46302..2c3554c095 100644 --- a/examples/extended/field/field01/src/F01CalorimeterSD.cc +++ b/examples/extended/field/field01/src/F01CalorimeterSD.cc @@ -25,7 +25,7 @@ // // // $Id: F01CalorimeterSD.cc,v 1.6 2006/06/29 17:16:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01DetectorConstruction.cc b/examples/extended/field/field01/src/F01DetectorConstruction.cc index 00ab6f5017..ad8d45139e 100644 --- a/examples/extended/field/field01/src/F01DetectorConstruction.cc +++ b/examples/extended/field/field01/src/F01DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: F01DetectorConstruction.cc,v 1.15 2006/06/29 17:16:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01DetectorMessenger.cc b/examples/extended/field/field01/src/F01DetectorMessenger.cc index e068223975..900ba650d2 100644 --- a/examples/extended/field/field01/src/F01DetectorMessenger.cc +++ b/examples/extended/field/field01/src/F01DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F01DetectorMessenger.cc,v 1.5 2006/06/29 17:16:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01EventAction.cc b/examples/extended/field/field01/src/F01EventAction.cc index 6482b05cc6..bb28d2e763 100644 --- a/examples/extended/field/field01/src/F01EventAction.cc +++ b/examples/extended/field/field01/src/F01EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: F01EventAction.cc,v 1.6 2006/06/29 17:16:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01EventActionMessenger.cc b/examples/extended/field/field01/src/F01EventActionMessenger.cc index edac07859e..5bdc391847 100644 --- a/examples/extended/field/field01/src/F01EventActionMessenger.cc +++ b/examples/extended/field/field01/src/F01EventActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F01EventActionMessenger.cc,v 1.4 2006/06/29 17:16:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01FieldMessenger.cc b/examples/extended/field/field01/src/F01FieldMessenger.cc index cecc9684d9..1287c717ee 100644 --- a/examples/extended/field/field01/src/F01FieldMessenger.cc +++ b/examples/extended/field/field01/src/F01FieldMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F01FieldMessenger.cc,v 1.8 2006/06/29 17:16:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01FieldSetup.cc b/examples/extended/field/field01/src/F01FieldSetup.cc index e8ff1540ba..c69acd8708 100644 --- a/examples/extended/field/field01/src/F01FieldSetup.cc +++ b/examples/extended/field/field01/src/F01FieldSetup.cc @@ -25,7 +25,7 @@ // // // $Id: F01FieldSetup.cc,v 1.7 2006/06/29 17:16:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // User Field setup class implementation. // diff --git a/examples/extended/field/field01/src/F01PhysicsList.cc b/examples/extended/field/field01/src/F01PhysicsList.cc index fdb36d98e3..f774b65487 100644 --- a/examples/extended/field/field01/src/F01PhysicsList.cc +++ b/examples/extended/field/field01/src/F01PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F01PhysicsList.cc,v 1.11 2006/06/29 17:16:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: F01PhysicsList.cc,v 1.12 2007/05/23 09:14:09 japost Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4Timer.hh" @@ -46,7 +46,6 @@ #include "G4ios.hh" #include -#include "G4FastSimulationManagerProcess.hh" ///////////////////////////////////////////////////////////// @@ -159,7 +158,7 @@ void F01PhysicsList::ConstructBarions() void F01PhysicsList::ConstructProcess() { AddTransportation(); - AddParameterisation(); + // AddParameterisation(); ConstructEM(); ConstructGeneral(); @@ -328,26 +327,6 @@ void F01PhysicsList::ConstructGeneral() } } -///////////////////////////////////////////////////////////////////////////// - -void F01PhysicsList::AddParameterisation() -{ - G4FastSimulationManagerProcess* theFastSimulationManagerProcess = - new G4FastSimulationManagerProcess() ; - theParticleIterator->reset(); - - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator->value() ; - G4ProcessManager* pmanager = particle->GetProcessManager() ; - - // both postStep and alongStep action are required: because - // of the use of ghost volumes. If no ghost, the postStep is sufficient. - - pmanager->AddProcess(theFastSimulationManagerProcess, -1, 1, 1); - } -} - ///////////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/field/field01/src/F01PhysicsListMessenger.cc b/examples/extended/field/field01/src/F01PhysicsListMessenger.cc index d2632a8a0b..77eb550c50 100644 --- a/examples/extended/field/field01/src/F01PhysicsListMessenger.cc +++ b/examples/extended/field/field01/src/F01PhysicsListMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F01PhysicsListMessenger.cc,v 1.6 2006/06/29 17:16:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01PrimaryGeneratorAction.cc b/examples/extended/field/field01/src/F01PrimaryGeneratorAction.cc index 7ee75b6065..9b5f93a061 100644 --- a/examples/extended/field/field01/src/F01PrimaryGeneratorAction.cc +++ b/examples/extended/field/field01/src/F01PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: F01PrimaryGeneratorAction.cc,v 1.8 2006/06/29 17:16:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01PrimaryGeneratorMessenger.cc b/examples/extended/field/field01/src/F01PrimaryGeneratorMessenger.cc index 422657b398..527c4e2ecc 100644 --- a/examples/extended/field/field01/src/F01PrimaryGeneratorMessenger.cc +++ b/examples/extended/field/field01/src/F01PrimaryGeneratorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F01PrimaryGeneratorMessenger.cc,v 1.5 2006/06/29 17:16:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01RunAction.cc b/examples/extended/field/field01/src/F01RunAction.cc index 5148d838bf..1799d0a5e7 100644 --- a/examples/extended/field/field01/src/F01RunAction.cc +++ b/examples/extended/field/field01/src/F01RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: F01RunAction.cc,v 1.10 2006/06/29 17:16:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01RunMessenger.cc b/examples/extended/field/field01/src/F01RunMessenger.cc index d45be5a934..022dd22359 100644 --- a/examples/extended/field/field01/src/F01RunMessenger.cc +++ b/examples/extended/field/field01/src/F01RunMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F01RunMessenger.cc,v 1.6 2006/06/29 17:16:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01StepCut.cc b/examples/extended/field/field01/src/F01StepCut.cc index 5701f4922f..d763d97f7a 100644 --- a/examples/extended/field/field01/src/F01StepCut.cc +++ b/examples/extended/field/field01/src/F01StepCut.cc @@ -25,7 +25,7 @@ // // // $Id: F01StepCut.cc,v 1.3 2006/06/29 17:16:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "F01StepCut.hh" diff --git a/examples/extended/field/field01/src/F01SteppingAction.cc b/examples/extended/field/field01/src/F01SteppingAction.cc index fde17c9638..fd9f5a4a02 100644 --- a/examples/extended/field/field01/src/F01SteppingAction.cc +++ b/examples/extended/field/field01/src/F01SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: F01SteppingAction.cc,v 1.7 2006/06/29 17:16:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field01/src/F01SteppingMessenger.cc b/examples/extended/field/field01/src/F01SteppingMessenger.cc index 001f5b5e21..2d35d5b8ef 100644 --- a/examples/extended/field/field01/src/F01SteppingMessenger.cc +++ b/examples/extended/field/field01/src/F01SteppingMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F01SteppingMessenger.cc,v 1.4 2006/06/29 17:16:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/field/field01/src/F01SteppingVerbose.cc b/examples/extended/field/field01/src/F01SteppingVerbose.cc index 9e73f977b6..300cb69604 100644 --- a/examples/extended/field/field01/src/F01SteppingVerbose.cc +++ b/examples/extended/field/field01/src/F01SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: F01SteppingVerbose.cc,v 1.7 2006/06/29 17:17:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/field/field02/History b/examples/extended/field/field02/History index 258421e52a..1aa93df55a 100644 --- a/examples/extended/field/field02/History +++ b/examples/extended/field/field02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.22 2005/12/06 13:58:22 gcosmo Exp $ +$Id: History,v 1.23 2007/05/23 13:39:57 tnikitin Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,6 +14,9 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May 23rd, 2007 John Apostolakis - fieldex02-V08-03-00 +-------------------------------- +- Taken out FastSimulationManagerProcess, which is not needed. Dec 6th, 2005 Gabriele Cosmo ----------------------------- diff --git a/examples/extended/field/field02/field02.cc b/examples/extended/field/field02/field02.cc index 891d7abe0c..3285299ae6 100644 --- a/examples/extended/field/field02/field02.cc +++ b/examples/extended/field/field02/field02.cc @@ -25,7 +25,7 @@ // // // $Id: field02.cc,v 1.9 2006/06/29 17:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/field/field02/field02.out b/examples/extended/field/field02/field02.out index b94060f835..e5996f59d0 100644 --- a/examples/extended/field/field02/field02.out +++ b/examples/extended/field/field02/field02.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -65,7 +65,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -123,7 +122,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -136,12 +135,12 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -154,7 +153,7 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -201,7 +200,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -223,7 +222,7 @@ Index : 0 used in the geometry : Yes recalculation needed : No Index : 1 used in the geometry : Yes recalculation needed : No Material : Kr20CO2 Range cuts : gamma 1 mm e- 1 mm e+ 1 mm - Energy thresholds : gamma 990 eV e- 1.07471 keV e+ 1.06156 keV + Energy thresholds : gamma 990 eV e- 1.43047 keV e+ 1.40727 keV Region(s) which use this couple : DefaultRegionForTheWorld @@ -242,54 +241,61 @@ Start Run processing. Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release - 1 0 fm -4.84 cm 1.54 cm 534 MeV 11 keV 5.32 cm 5.32 cm World eIoni - 2 -996 nm -9.11 cm 1.84 cm 961 MeV 8.08 keV 4.28 cm 9.6 cm World eIoni - 3 -1.13 um -9.66 cm 1.87 cm 1.02 GeV 2.29 keV 5.58 mm 10.2 cm World eIoni - 4 1.31 um -18.4 cm 2.18 cm 1.89 GeV 22.5 keV 8.7 cm 18.9 cm World eIoni - 5 1.97 um -20 cm 2.22 cm 2.05 GeV 4 keV 1.65 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -4.84 cm 1.54 cm 534 MeV 10.8 keV 5.32 cm 5.32 cm World eIoni + 2 -996 nm -9.11 cm 1.84 cm 961 MeV 7.31 keV 4.28 cm 9.6 cm World eIoni + 3 -6.01 um -12.2 cm 1.98 cm 1.27 GeV 6.89 keV 3.12 cm 12.7 cm World eIoni + 4 -12.1 um -15.1 cm 2.08 cm 1.56 GeV 6.53 keV 2.93 cm 15.6 cm World eIoni + 5 -20.4 um -20 cm 2.22 cm 2.05 GeV 10.9 keV 4.85 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.31 um -18.4 cm 2.18 cm 1.7 keV 0 eV 0 fm 0 fm World initStep -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release - 1 -6.67 um -18.4 cm 2.18 cm 1.34 MeV 1.7 keV 122 um 122 um World eIoni - 2 -24.6 um -20 cm 2.18 cm 165 MeV 1.67 keV 1.63 cm 1.65 cm OutOfWorldTransportation + 0 -12.1 um -15.1 cm 2.08 cm 1.06 keV 0 eV 0 fm 0 fm World initStep + 1 -9.44 um -15.2 cm 2.09 cm 693 keV 1.06 keV 62.9 um 62.9 um World eIoni + 2 1.12 um -20 cm 2.09 cm 485 MeV 6.85 keV 4.85 cm 4.85 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.13 um -9.66 cm 1.87 cm 3.86 keV 0 eV 0 fm 0 fm World initStep -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release - 1 -22.4 um -9.71 cm 1.87 cm 4.93 MeV 3.86 keV 460 um 460 um World eIoni - 2 -24.9 um -9.74 cm 1.87 cm 7.67 MeV 62.9 eV 274 um 734 um World eIoni - 3 -54.8 um -18.3 cm 1.87 cm 861 MeV 12.4 keV 8.53 cm 8.61 cm World eIoni - 4 -56.3 um -20 cm 1.87 cm 1.03 GeV 3.57 keV 1.73 cm 10.3 cm OutOfWorldTransportation + 0 -6.01 um -12.2 cm 1.98 cm 12.7 keV 0 eV 0 fm 0 fm World initStep + 1 63.6 um -12.4 cm 1.98 cm 22.6 MeV 5.24 keV 2.16 mm 2.16 mm World eIoni + 2 70.2 um -12.6 cm 1.98 cm 40.8 MeV 71.1 eV 1.82 mm 3.98 mm World eIoni + 3 102 um -18 cm 1.98 cm 583 MeV 7.85 keV 5.42 cm 5.82 cm World eIoni + 4 103 um -20 cm 1.98 cm 779 MeV 4.35 keV 1.96 cm 7.78 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -54.8 um -18.3 cm 1.87 cm 1.09 keV 0 eV 0 fm 0 fm World initStep -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release - 1 -50.8 um -18.3 cm 1.87 cm 713 keV 1.09 keV 64.8 um 64.8 um World eIoni - 2 -38.1 um -20 cm 1.87 cm 173 MeV 2.01 keV 1.72 cm 1.73 cm OutOfWorldTransportation + 0 102 um -18 cm 1.98 cm 4.02 keV 0 eV 0 fm 0 fm World initStep + 1 124 um -18.1 cm 1.98 cm 5.26 MeV 4.02 keV 491 um 491 um World eIoni + 2 128 um -18.1 cm 1.98 cm 10.2 MeV 41.9 eV 493 um 984 um World eIoni + 3 147 um -20 cm 1.98 cm 197 MeV 2.33 keV 1.87 cm 1.96 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -996 nm -9.11 cm 1.84 cm 1.01 keV 0 eV 0 fm 0 fm World initStep -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release - 1 -106 nm -9.11 cm 1.84 cm 643 keV 1.01 keV 58.4 um 58.4 um World eIoni - 2 4 um -20 cm 1.84 cm 1.09 GeV 17.1 keV 10.9 cm 10.9 cm OutOfWorldTransportation + 0 -996 nm -9.11 cm 1.84 cm 52.5 keV 0 eV 0 fm 0 fm World initStep + 1 135 um -10.3 cm 1.82 cm 121 MeV 8.63 keV 1.2 cm 1.2 cm World eIoni + 2 152 um -12.5 cm 1.82 cm 345 MeV 8.12 keV 2.24 cm 3.44 cm World eIoni + 3 170 um -19.7 cm 1.82 cm 1.06 GeV 11.1 keV 7.13 cm 10.6 cm World eIoni + 4 171 um -20 cm 1.82 cm 1.09 GeV 2.45 keV 3.33 mm 10.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 170 um -19.7 cm 1.82 cm 12.5 keV 0 eV 0 fm 0 fm World initStep + 1 208 um -19.8 cm 1.82 cm 10.7 MeV 2.16 keV 1.03 mm 1.03 mm World eIoni + 2 218 um -20 cm 1.82 cm 33.9 MeV 1.71 keV 2.32 mm 3.35 mm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 @@ -298,3308 +304,104 @@ G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will b Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm -4.84 cm 1.54 cm 1.21 keV 0 eV 0 fm 0 fm World initStep 1 2.8 um -4.85 cm 1.54 cm 827 keV 1.21 keV 74.9 um 74.9 um World eIoni - 2 15 um -20 cm 1.54 cm 1.52 GeV 24.2 keV 15.2 cm 15.2 cm OutOfWorldTransportation -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release + 2 12.5 um -8.25 cm 1.54 cm 342 MeV 6.79 keV 3.41 cm 3.42 cm World eIoni + 3 13.3 um -10.4 cm 1.54 cm 557 MeV 10.1 keV 2.15 cm 5.57 cm World eIoni + 4 23.8 um -20 cm 1.54 cm 1.52 GeV 19.4 keV 9.59 cm 15.2 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6.25 mm 7.3 mm 113 MeV 3.59 keV 1.01 cm 1.01 cm World eIoni - 2 -6.38 um -18.6 cm 2.19 cm 1.91 GeV 34.7 keV 18.1 cm 19.1 cm World eIoni - 3 -6.3 um -20 cm 2.22 cm 2.05 GeV 2.14 keV 1.35 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.38 um -18.6 cm 2.19 cm 1.43 keV 0 eV 0 fm 0 fm World initStep - 1 -12.5 um -18.7 cm 2.19 cm 1.04 MeV 1.43 keV 94.6 um 94.6 um World eIoni - 2 -26.9 um -20 cm 2.19 cm 135 MeV 1.4 keV 1.34 cm 1.35 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6.25 mm 7.3 mm 1.28 keV 0 eV 0 fm 0 fm World initStep - 1 3.89 um -6.33 mm 7.3 mm 909 keV 1.28 keV 80.9 um 80.9 um World eIoni - 2 20.2 um -20 cm 7.32 mm 1.94 GeV 27.3 keV 19.4 cm 19.4 cm OutOfWorldTransportation -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -10.3 cm 1.9 cm 1.08 GeV 18.5 keV 10.8 cm 10.8 cm World eIoni - 2 -1.52 um -15 cm 2.08 cm 1.55 GeV 9.64 keV 4.71 cm 15.5 cm World eIoni - 3 -3.32 um -20 cm 2.22 cm 2.05 GeV 9.61 keV 4.98 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.52 um -15 cm 2.08 cm 2.84 keV 0 eV 0 fm 0 fm World initStep - 1 4.74 um -15.1 cm 2.08 cm 2.98 MeV 2.84 keV 275 um 275 um World eIoni - 2 8.93 um -15.2 cm 2.08 cm 21.9 MeV 192 eV 1.89 mm 2.16 mm World eIoni - 3 11.9 um -15.8 cm 2.08 cm 82.2 MeV 588 eV 6.03 mm 8.2 mm World eIoni - 4 12.7 um -20 cm 2.08 cm 498 MeV 9.75 keV 4.16 cm 4.98 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 11.9 um -15.8 cm 2.08 cm 1.67 keV 0 eV 0 fm 0 fm World initStep - 1 15 um -15.9 cm 2.08 cm 1.3 MeV 1.67 keV 119 um 119 um World eIoni - 2 23.7 um -20 cm 2.07 cm 416 MeV 5.77 keV 4.14 cm 4.16 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -10.3 cm 1.9 cm 1.8 keV 0 eV 0 fm 0 fm World initStep - 1 8.86 um -10.3 cm 1.9 cm 1.46 MeV 1.8 keV 133 um 133 um World eIoni - 2 34.9 um -20 cm 1.9 cm 968 MeV 14.3 keV 9.66 cm 9.68 cm OutOfWorldTransportation -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5.53 cm 1.6 cm 603 MeV 10.5 keV 6.01 cm 6.01 cm World eIoni - 2 4.01 um -10.1 cm 1.89 cm 1.06 GeV 12.2 keV 4.54 cm 10.6 cm World eIoni - 3 4.88 um -20 cm 2.22 cm 2.05 GeV 21 keV 9.95 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.01 um -10.1 cm 1.89 cm 4.82 keV 0 eV 0 fm 0 fm World initStep - 1 27 um -10.1 cm 1.88 cm 7.23 MeV 4.82 keV 678 um 678 um World eIoni - 2 33.8 um -10.3 cm 1.88 cm 24.5 MeV 209 eV 1.72 mm 2.4 mm World eIoni - 3 55.4 um -20 cm 1.88 cm 995 MeV 18.1 keV 9.7 cm 9.94 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5.53 cm 1.6 cm 5.28 keV 0 eV 0 fm 0 fm World initStep - 1 -30.1 um -5.6 cm 1.6 cm 8.49 MeV 5.28 keV 797 um 797 um World eIoni - 2 -32.8 um -5.65 cm 1.6 cm 12.6 MeV 15.8 eV 416 um 1.21 mm World eIoni - 3 -64.9 um -17.1 cm 1.6 cm 1.16 GeV 20.1 keV 11.5 cm 11.6 cm World eIoni - 4 -67.2 um -20 cm 1.6 cm 1.45 GeV 5.13 keV 2.87 cm 14.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -64.9 um -17.1 cm 1.6 cm 2.27 keV 0 eV 0 fm 0 fm World initStep - 1 -55.3 um -17.1 cm 1.6 cm 2.08 MeV 2.27 keV 191 um 191 um World eIoni - 2 -47 um -17.3 cm 1.6 cm 20 MeV 181 eV 1.79 mm 1.99 mm World eIoni - 3 -36.4 um -20 cm 1.61 cm 288 MeV 4.82 keV 2.68 cm 2.88 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.18 cm 9.48 mm 168 MeV 2.98 keV 1.61 cm 1.61 cm World eIoni - 2 -6.57 um -10.2 cm 1.89 cm 1.07 GeV 16.9 keV 9.11 cm 10.7 cm World eIoni - 3 -7.66 um -12.4 cm 1.99 cm 1.29 GeV 4.86 keV 2.17 cm 12.9 cm World eIoni - 4 -21 um -20 cm 2.22 cm 2.05 GeV 16.5 keV 7.6 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.66 um -12.4 cm 1.99 cm 71 keV 0 eV 0 fm 0 fm World initStep - 1 123 um -12.7 cm 2 cm 34.9 MeV 1.93 keV 3.44 mm 3.44 mm World eIoni - 2 194 um -20 cm 2 cm 761 MeV 11.8 keV 7.26 cm 7.61 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.57 um -10.2 cm 1.89 cm 1.08 keV 0 eV 0 fm 0 fm World initStep - 1 -2.94 um -10.2 cm 1.89 cm 704 keV 1.08 keV 64.1 um 64.1 um World eIoni - 2 13 um -20 cm 1.89 cm 977 MeV 16 keV 9.77 cm 9.77 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.18 cm 9.48 mm 2.79 keV 0 eV 0 fm 0 fm World initStep - 1 9.59 um -1.21 cm 9.47 mm 2.88 MeV 2.79 keV 267 um 267 um World eIoni - 2 17 um -1.45 cm 9.46 mm 27.2 MeV 261 eV 2.43 mm 2.69 mm World eIoni - 3 30.1 um -10.1 cm 9.45 mm 894 MeV 15.6 keV 8.67 cm 8.94 cm World eIoni - 4 31.4 um -15 cm 9.44 mm 1.38 GeV 12.6 keV 4.83 cm 13.8 cm World eIoni - 5 32.4 um -19.5 cm 9.44 mm 1.83 GeV 10.1 keV 4.5 cm 18.3 cm World eIoni - 6 32.4 um -20 cm 9.44 mm 1.88 GeV 668 eV 5.43 mm 18.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 32.4 um -19.5 cm 9.44 mm 1.64 keV 0 eV 0 fm 0 fm World initStep - 1 40.1 um -19.5 cm 9.44 mm 1.27 MeV 1.64 keV 115 um 115 um World eIoni - 2 53.6 um -20 cm 9.43 mm 54.4 MeV 504 eV 5.32 mm 5.43 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 31.4 um -15 cm 9.44 mm 2.28 keV 0 eV 0 fm 0 fm World initStep - 1 30 um -15 cm 9.46 mm 2.09 MeV 2.28 keV 192 um 192 um World eIoni - 2 28.1 um -15.6 cm 9.47 mm 68.9 MeV 1.21 keV 6.68 mm 6.87 mm World eIoni - 3 26.9 um -20 cm 9.48 mm 505 MeV 6.14 keV 4.36 cm 5.05 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 30.1 um -10.1 cm 9.45 mm 1.51 keV 0 eV 0 fm 0 fm World initStep - 1 31 um -10.1 cm 9.46 mm 1.13 MeV 1.51 keV 103 um 103 um World eIoni - 2 34.1 um -20 cm 9.48 mm 988 MeV 13.6 keV 9.87 cm 9.88 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.49 mm 6.31 mm 94.8 MeV 1.5 keV 8.09 mm 8.09 mm World eIoni - 2 13.9 um -3.47 cm 1.39 cm 397 MeV 7.88 keV 3.13 cm 3.94 cm World eIoni - 3 17.8 um -6.85 cm 1.7 cm 735 MeV 8.33 keV 3.4 cm 7.34 cm World eIoni - 4 20.9 um -20 cm 2.22 cm 2.05 GeV 27.5 keV 13.2 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 17.8 um -6.85 cm 1.7 cm 1.47 keV 0 eV 0 fm 0 fm World initStep - 1 23.8 um -6.86 cm 1.7 cm 1.08 MeV 1.47 keV 98.7 um 98.7 um World eIoni - 2 45.4 um -20 cm 1.7 cm 1.31 GeV 19.6 keV 13.1 cm 13.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 13.9 um -3.47 cm 1.39 cm 1.96 keV 0 eV 0 fm 0 fm World initStep - 1 20.4 um -3.48 cm 1.39 cm 1.65 MeV 1.96 keV 151 um 151 um World eIoni - 2 40.3 um -20 cm 1.39 cm 1.65 GeV 23.5 keV 16.5 cm 16.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.49 mm 6.31 mm 9.03 keV 0 eV 0 fm 0 fm World initStep - 1 -30.5 um -5 mm 6.31 mm 5.41 MeV 1.79 keV 522 um 522 um World eIoni - 2 -69.7 um -4.28 cm 6.3 mm 383 MeV 6.02 keV 3.78 cm 3.83 cm World eIoni - 3 -75.9 um -7.14 cm 6.3 mm 669 MeV 5.73 keV 2.86 cm 6.69 cm World eIoni - 4 -82.8 um -17.6 cm 6.3 mm 1.71 GeV 20.7 keV 10.4 cm 17.1 cm World eIoni - 5 -83.2 um -20 cm 6.3 mm 1.96 GeV 4.19 keV 2.42 cm 19.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -82.8 um -17.6 cm 6.3 mm 1.9 keV 0 eV 0 fm 0 fm World initStep - 1 -90.6 um -17.6 cm 6.29 mm 1.58 MeV 1.9 keV 145 um 145 um World eIoni - 2 -108 um -20 cm 6.28 mm 242 MeV 4.15 keV 2.41 cm 2.42 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -75.9 um -7.14 cm 6.3 mm 1.38 keV 0 eV 0 fm 0 fm World initStep - 1 -82.6 um -7.14 cm 6.3 mm 996 keV 1.38 keV 90.6 um 90.6 um World eIoni - 2 -108 um -20 cm 6.3 mm 1.29 GeV 19.9 keV 12.9 cm 12.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -69.7 um -4.28 cm 6.3 mm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 -66.9 um -4.28 cm 6.3 mm 644 keV 1.01 keV 58.6 um 58.6 um World eIoni - 2 -53 um -20 cm 6.28 mm 1.57 GeV 23.7 keV 15.7 cm 15.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -10.8 cm 1.92 cm 1.13 GeV 20.4 keV 11.3 cm 11.3 cm World eIoni - 2 1.4 um -20 cm 2.22 cm 2.05 GeV 18.8 keV 9.16 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -10.8 cm 1.92 cm 2.97 keV 0 eV 0 fm 0 fm World initStep - 1 -6.8 um -10.9 cm 1.92 cm 3.19 MeV 2.97 keV 295 um 295 um World eIoni - 2 -13.7 um -11.5 cm 1.92 cm 66.4 MeV 719 eV 6.32 mm 6.61 mm World eIoni - 3 -18.4 um -15.8 cm 1.93 cm 492 MeV 12.3 keV 4.26 cm 4.92 cm World eIoni - 4 -17.8 um -20 cm 1.93 cm 916 MeV 12 keV 4.24 cm 9.16 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -18.4 um -15.8 cm 1.93 cm 1.4 keV 0 eV 0 fm 0 fm World initStep - 1 -24.5 um -15.8 cm 1.93 cm 1.02 MeV 1.4 keV 92.4 um 92.4 um World eIoni - 2 -43.6 um -20 cm 1.92 cm 424 MeV 6.59 keV 4.23 cm 4.24 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6.16 cm 1.65 cm 666 MeV 11.4 keV 6.65 cm 6.65 cm World eIoni - 2 -454 nm -7.7 cm 1.76 cm 820 MeV 2.57 keV 1.54 cm 8.19 cm World eIoni - 3 -3.59 um -20 cm 2.22 cm 2.05 GeV 26.6 keV 12.3 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -454 nm -7.7 cm 1.76 cm 6.51 keV 0 eV 0 fm 0 fm World initStep - 1 5.54 um -7.81 cm 1.76 cm 12 MeV 6.2 keV 1.14 mm 1.14 mm World eIoni - 2 10.2 um -12.8 cm 1.76 cm 511 MeV 9.77 keV 4.99 cm 5.11 cm World eIoni - 3 9.72 um -13.5 cm 1.76 cm 580 MeV 1.65 keV 6.9 mm 5.8 cm World eIoni - 4 8.5 um -20 cm 1.77 cm 1.23 GeV 13.2 keV 6.51 cm 12.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 9.72 um -13.5 cm 1.76 cm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 6.04 um -13.5 cm 1.77 cm 790 keV 1.17 keV 71.8 um 71.8 um World eIoni - 2 -8.37 um -20 cm 1.77 cm 651 MeV 9.9 keV 6.5 cm 6.51 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 10.2 um -12.8 cm 1.76 cm 3.52 keV 0 eV 0 fm 0 fm World initStep - 1 27.2 um -12.8 cm 1.76 cm 4.24 MeV 3.52 keV 394 um 394 um World eIoni - 2 35.3 um -13 cm 1.76 cm 21.3 MeV 87.1 eV 1.71 mm 2.1 mm World eIoni - 3 53.9 um -20 cm 1.76 cm 720 MeV 13.2 keV 6.99 cm 7.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6.16 cm 1.65 cm 1.59 keV 0 eV 0 fm 0 fm World initStep - 1 4.23 um -6.17 cm 1.65 cm 1.21 MeV 1.59 keV 110 um 110 um World eIoni - 2 18.7 um -20 cm 1.65 cm 1.38 GeV 18.2 keV 13.8 cm 13.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.73 mm 6.46 mm 97.3 MeV 2.77 keV 8.38 mm 8.38 mm World eIoni - 2 6.75 um -6.67 cm 1.69 cm 717 MeV 14.5 keV 6.32 cm 7.16 cm World eIoni - 3 6.9 um -8.22 cm 1.79 cm 872 MeV 3.77 keV 1.56 cm 8.71 cm World eIoni - 4 9.29 um -12.4 cm 1.98 cm 1.29 GeV 10 keV 4.16 cm 12.9 cm World eIoni - 5 8.97 um -13.9 cm 2.04 cm 1.44 GeV 3.01 keV 1.49 cm 14.4 cm World eIoni - 6 10 um -20 cm 2.22 cm 2.05 GeV 13.6 keV 6.14 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.97 um -13.9 cm 2.04 cm 4.78 keV 0 eV 0 fm 0 fm World initStep - 1 -3.32 um -13.9 cm 2.04 cm 1.55 MeV 424 eV 149 um 149 um World eIoni - 2 -34.4 um -17.5 cm 2.04 cm 363 MeV 5.96 keV 3.61 cm 3.63 cm World eIoni - 3 -36.2 um -20 cm 2.04 cm 613 MeV 4.97 keV 2.5 cm 6.13 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -34.4 um -17.5 cm 2.04 cm 1.33 keV 0 eV 0 fm 0 fm World initStep - 1 -38.8 um -17.5 cm 2.04 cm 944 keV 1.33 keV 85.9 um 85.9 um World eIoni - 2 -51.8 um -20 cm 2.04 cm 251 MeV 2.33 keV 2.5 cm 2.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 9.29 um -12.4 cm 1.98 cm 9.27 keV 0 eV 0 fm 0 fm World initStep - 1 60.3 um -12.5 cm 1.99 cm 17.6 MeV 3.64 keV 1.67 mm 1.67 mm World eIoni - 2 61.3 um -12.6 cm 1.99 cm 19.9 MeV 0 eV 231 um 1.9 mm World eIoni - 3 84.1 um -14.6 cm 1.99 cm 226 MeV 3.63 keV 2.06 cm 2.26 cm World eIoni - 4 90.5 um -20 cm 1.99 cm 763 MeV 9.64 keV 5.37 cm 7.62 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 84.1 um -14.6 cm 1.99 cm 1.73 keV 0 eV 0 fm 0 fm World initStep - 1 91.9 um -14.6 cm 1.99 cm 1.37 MeV 1.73 keV 125 um 125 um World eIoni - 2 114 um -20 cm 1.99 cm 537 MeV 6.59 keV 5.35 cm 5.37 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 6.9 um -8.22 cm 1.79 cm 3.27 keV 0 eV 0 fm 0 fm World initStep - 1 -9.4 um -8.26 cm 1.79 cm 3.74 MeV 3.27 keV 347 um 347 um World eIoni - 2 -24 um -8.86 cm 1.79 cm 63.9 MeV 714 eV 6.01 mm 6.36 mm World eIoni - 3 -29.4 um -9.98 cm 1.79 cm 176 MeV 2.09 keV 1.12 cm 1.76 cm World eIoni - 4 -38.2 um -17 cm 1.79 cm 878 MeV 11.2 keV 7.02 cm 8.77 cm World eIoni - 5 -38.4 um -20 cm 1.79 cm 1.18 GeV 8.47 keV 3 cm 11.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -38.2 um -17 cm 1.79 cm 2.83 keV 0 eV 0 fm 0 fm World initStep - 1 -50.7 um -17 cm 1.79 cm 2.96 MeV 2.83 keV 274 um 274 um World eIoni - 2 -53.6 um -17.1 cm 1.79 cm 6.14 MeV 0 eV 318 um 592 um World eIoni - 3 -71.2 um -20 cm 1.78 cm 301 MeV 4.04 keV 2.94 cm 3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -29.4 um -9.98 cm 1.79 cm 3.49 keV 0 eV 0 fm 0 fm World initStep - 1 -28.8 um -10 cm 1.78 cm 4.18 MeV 3.49 keV 389 um 389 um World eIoni - 2 -28.3 um -11.2 cm 1.78 cm 121 MeV 1.28 keV 1.17 cm 1.21 cm World eIoni - 3 -29.9 um -15.3 cm 1.78 cm 536 MeV 9.67 keV 4.14 cm 5.35 cm World eIoni - 4 -30.9 um -20 cm 1.78 cm 1 GeV 10.9 keV 4.67 cm 10 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -29.9 um -15.3 cm 1.78 cm 1.34 keV 0 eV 0 fm 0 fm World initStep - 1 -28.7 um -15.3 cm 1.78 cm 949 keV 1.34 keV 86.3 um 86.3 um World eIoni - 2 -24.7 um -20 cm 1.78 cm 467 MeV 9.74 keV 4.66 cm 4.67 cm OutOfWorldTransportation + 0 13.3 um -10.4 cm 1.54 cm 9.51 keV 0 eV 0 fm 0 fm World initStep + 1 -37.3 um -10.6 cm 1.54 cm 18 MeV 4.52 keV 1.71 mm 1.71 mm World eIoni + 2 -38.9 um -10.6 cm 1.54 cm 21.7 MeV 0 eV 372 um 2.08 mm World eIoni + 3 -69.4 um -16.7 cm 1.54 cm 631 MeV 9.38 keV 6.09 cm 6.3 cm WorldTransportation + 4 -69.4 um -16.7 cm 1.54 cm 631 MeV2.33e-12 eV 0.0111 fm 6.3 cm World eIoni + 5 -72.1 um -18 cm 1.54 cm 760 MeV 1.83 keV 1.29 cm 7.59 cm World eIoni + 6 -74.7 um -20 cm 1.54 cm 960 MeV 3.12 keV 2 cm 9.59 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -28.3 um -11.2 cm 1.78 cm 2.09 keV 0 eV 0 fm 0 fm World initStep - 1 -25.4 um -11.2 cm 1.78 cm 1.82 MeV 2.09 keV 167 um 167 um World eIoni - 2 -20.7 um -12.1 cm 1.78 cm 88 MeV 1.88 keV 8.62 mm 8.78 mm World eIoni - 3 -24.9 um -13 cm 1.78 cm 183 MeV 871 eV 9.48 mm 1.83 cm World eIoni - 4 -37.3 um -20 cm 1.78 cm 881 MeV 14.2 keV 6.98 cm 8.81 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -24.9 um -13 cm 1.78 cm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 -21.6 um -13 cm 1.78 cm 735 keV 1.11 keV 66.9 um 66.9 um World eIoni - 2 -8.26 um -20 cm 1.78 cm 698 MeV 11.7 keV 6.98 cm 6.98 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -20.7 um -12.1 cm 1.78 cm 4.84 keV 0 eV 0 fm 0 fm World initStep - 1 6.88 um -12.1 cm 1.78 cm 7.27 MeV 4.84 keV 682 um 682 um World eIoni - 2 24 um -13 cm 1.78 cm 89.3 MeV 1.13 keV 8.21 mm 8.89 mm World eIoni - 3 39.6 um -20 cm 1.78 cm 794 MeV 12.4 keV 7.04 cm 7.93 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 6.75 um -6.67 cm 1.69 cm 1.28 keV 0 eV 0 fm 0 fm World initStep - 1 11 um -6.68 cm 1.69 cm 892 keV 1.28 keV 81 um 81 um World eIoni - 2 28.4 um -20 cm 1.69 cm 1.33 GeV 21.9 keV 13.3 cm 13.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.73 mm 6.46 mm 3.78 keV 0 eV 0 fm 0 fm World initStep - 1 -11.2 um -5.17 mm 6.48 mm 4.78 MeV 3.78 keV 445 um 445 um World eIoni - 2 -13.8 um -5.8 mm 6.48 mm 11.1 MeV 50.9 eV 636 um 1.08 mm World eIoni - 3 -26.1 um -5.42 cm 6.5 mm 495 MeV 11 keV 4.84 cm 4.95 cm World eIoni - 4 -32.3 um -14 cm 6.5 mm 1.36 GeV 16.6 keV 8.62 cm 13.6 cm World eIoni - 5 -34.4 um -18.3 cm 6.51 mm 1.79 GeV 11.1 keV 4.28 cm 17.9 cm World eIoni - 6 -34.5 um -19.4 cm 6.51 mm 1.89 GeV 1.81 keV 1.05 cm 18.9 cm World eIoni - 7 -34.6 um -20 cm 6.51 mm 1.95 GeV 1.87 keV 6.28 mm 19.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -34.5 um -19.4 cm 6.51 mm 3.99 keV 0 eV 0 fm 0 fm World initStep - 1 -24.1 um -19.4 cm 6.49 mm 5.19 MeV 3.99 keV 485 um 485 um World eIoni - 2 -16.9 um -20 cm 6.47 mm 63.2 MeV 870 eV 5.8 mm 6.29 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -34.4 um -18.3 cm 6.51 mm 4.85 keV 0 eV 0 fm 0 fm World initStep - 1 -61 um -18.4 cm 6.52 mm 7.3 MeV 4.85 keV 685 um 685 um World eIoni - 2 -74.7 um -18.9 cm 6.52 mm 59.6 MeV 644 eV 5.23 mm 5.92 mm World eIoni - 3 -81.6 um -20 cm 6.52 mm 168 MeV 2.5 keV 1.09 cm 1.68 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -32.3 um -14 cm 6.5 mm 2.6 keV 0 eV 0 fm 0 fm World initStep - 1 -28.1 um -14.1 cm 6.49 mm 2.57 MeV 2.6 keV 237 um 237 um World eIoni - 2 -24.5 um -14.3 cm 6.48 mm 27.5 MeV 130 eV 2.49 mm 2.73 mm World eIoni - 3 -20.3 um -17.5 cm 6.47 mm 345 MeV 5.72 keV 3.17 cm 3.45 cm World eIoni - 4 -17.8 um -20 cm 6.46 mm 596 MeV 5.01 keV 2.51 cm 5.96 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 16 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -20.3 um -17.5 cm 6.47 mm 1.5 keV 0 eV 0 fm 0 fm World initStep - 1 -25.9 um -17.5 cm 6.47 mm 1.12 MeV 1.5 keV 102 um 102 um World eIoni - 2 -41 um -20 cm 6.49 mm 251 MeV 4.39 keV 2.5 cm 2.51 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -26.1 um -5.42 cm 6.5 mm 1.61 keV 0 eV 0 fm 0 fm World initStep - 1 -20.3 um -5.43 cm 6.51 mm 1.23 MeV 1.61 keV 112 um 112 um World eIoni - 2 -292 nm -20 cm 6.53 mm 1.46 GeV 17.9 keV 14.6 cm 14.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -8.12 mm 8.14 mm 131 MeV 2.03 keV 1.22 cm 1.22 cm World eIoni - 2 -2.07 um -15.2 cm 2.09 cm 1.57 GeV 27.1 keV 14.5 cm 15.7 cm World eIoni - 3 -2.99 um -20 cm 2.22 cm 2.05 GeV 10.5 keV 4.76 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.07 um -15.2 cm 2.09 cm 1.88 keV 0 eV 0 fm 0 fm World initStep - 1 3.69 um -15.3 cm 2.09 cm 1.55 MeV 1.88 keV 142 um 142 um World eIoni - 2 18.3 um -20 cm 2.09 cm 476 MeV 8.71 keV 4.74 cm 4.76 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -8.12 mm 8.14 mm 1.64 keV 0 eV 0 fm 0 fm World initStep - 1 1.68 um -8.23 mm 8.15 mm 1.3 MeV 1.64 keV 116 um 116 um World eIoni - 2 7.5 um -20 cm 8.18 mm 1.92 GeV 30.3 keV 19.2 cm 19.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -16.5 cm 2.13 cm 1.7 GeV 34.7 keV 17 cm 17 cm World eIoni - 2 15.2 nm -16.6 cm 2.13 cm 1.71 GeV 119 eV 547 um 17.1 cm World eIoni - 3 198 nm -20 cm 2.22 cm 2.05 GeV 6.96 keV 3.44 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 15.2 nm -16.6 cm 2.13 cm 1.56 keV 0 eV 0 fm 0 fm World initStep - 1 7.18 um -16.6 cm 2.13 cm 1.17 MeV 1.56 keV 107 um 107 um World eIoni - 2 27.3 um -20 cm 2.13 cm 344 MeV 4.29 keV 3.43 cm 3.44 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -16.5 cm 2.13 cm 2.92 keV 0 eV 0 fm 0 fm World initStep - 1 -13.5 um -16.5 cm 2.13 cm 3.11 MeV 2.92 keV 288 um 288 um World eIoni - 2 -15 um -16.5 cm 2.13 cm 4.46 MeV 0 eV 134 um 422 um World eIoni - 3 -35.2 um -19.5 cm 2.13 cm 297 MeV 3.56 keV 2.92 cm 2.97 cm World eIoni - 4 -36 um -20 cm 2.13 cm 350 MeV 651 eV 5.32 mm 3.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -35.2 um -19.5 cm 2.13 cm 4.49 keV 0 eV 0 fm 0 fm World initStep - 1 -17.4 um -19.5 cm 2.13 cm 6.42 MeV 4.49 keV 601 um 601 um World eIoni - 2 -11.3 um -19.7 cm 2.13 cm 24.8 MeV 1.02 keV 1.84 mm 2.44 mm World eIoni - 3 -12.9 um -20 cm 2.13 cm 53.7 MeV 1.4 keV 2.89 mm 5.33 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -11.3 um -19.7 cm 2.13 cm 5.29 keV 0 eV 0 fm 0 fm World initStep - 1 11.1 um -19.8 cm 2.13 cm 4.75 MeV 2.27 keV 450 um 450 um World eIoni - 2 23 um -20 cm 2.13 cm 29.2 MeV 253 eV 2.45 mm 2.9 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.7 cm 1.09 cm 219 MeV 3.31 keV 2.14 cm 2.14 cm World eIoni - 2 61.3 um -6.41 cm 1.67 cm 691 MeV 9.67 keV 4.75 cm 6.9 cm World eIoni - 3 77.1 um -8.58 cm 1.81 cm 908 MeV 3.52 keV 2.18 cm 9.08 cm World eIoni - 4 109 um -16 cm 2.11 cm 1.65 GeV 15.5 keV 7.38 cm 16.5 cm World eIoni - 5 110 um -16.7 cm 2.13 cm 1.72 GeV 1.24 keV 7.17 mm 17.2 cm World eIoni - 6 117 um -20 cm 2.22 cm 2.05 GeV 9.67 keV 3.32 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 110 um -16.7 cm 2.13 cm 49.5 keV 0 eV 0 fm 0 fm World initStep - 1 -80.2 um -17.8 cm 2.13 cm 110 MeV 7.88 keV 1.09 cm 1.09 cm World eIoni - 2 -105 um -20 cm 2.13 cm 334 MeV 3.41 keV 2.25 cm 3.33 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 109 um -16 cm 2.11 cm 270 keV 0 eV 0 fm 0 fm World initStep - 1 341 um -20 cm 2.14 cm 405 MeV 8.59 keV 4.05 cm 4.05 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 77.1 um -8.58 cm 1.81 cm 2.52 keV 0 eV 0 fm 0 fm World initStep - 1 87.6 um -8.61 cm 1.81 cm 2.44 MeV 2.52 keV 225 um 225 um World eIoni - 2 92 um -8.66 cm 1.81 cm 8.04 MeV 0 eV 561 um 786 um World eIoni - 3 117 um -9.44 cm 1.81 cm 85.5 MeV 1.69 keV 7.74 mm 8.53 mm World eIoni - 4 147 um -17.4 cm 1.81 cm 880 MeV 14.3 keV 7.95 cm 8.8 cm World eIoni - 5 152 um -20 cm 1.81 cm 1.14 GeV 6.3 keV 2.61 cm 11.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 147 um -17.4 cm 1.81 cm 3.32 keV 0 eV 0 fm 0 fm World initStep - 1 130 um -17.4 cm 1.81 cm 3.83 MeV 3.32 keV 356 um 356 um World eIoni - 2 119 um -17.6 cm 1.81 cm 26 MeV 143 eV 2.22 mm 2.57 mm World eIoni - 3 118 um -17.7 cm 1.81 cm 31.2 MeV 81.2 eV 526 um 3.1 mm World eIoni - 4 124 um -20 cm 1.81 cm 262 MeV 6.15 keV 2.3 cm 2.61 cm OutOfWorldTransportation + 0 -72.1 um -18 cm 1.54 cm 2.24 keV 0 eV 0 fm 0 fm World initStep + 1 -79.2 um -18 cm 1.54 cm 2.03 MeV 2.24 keV 187 um 187 um World eIoni + 2 -88.8 um -18.6 cm 1.54 cm 59.9 MeV 813 eV 5.78 mm 5.97 mm World eIoni + 3 -91.8 um -20 cm 1.54 cm 201 MeV 1.86 keV 1.41 cm 2.01 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 118 um -17.7 cm 1.81 cm 10.8 keV 0 eV 0 fm 0 fm World initStep - 1 66.8 um -17.9 cm 1.82 cm 19.9 MeV 3.88 keV 1.9 mm 1.9 mm World eIoni - 2 59.3 um -18.2 cm 1.82 cm 47.5 MeV 653 eV 2.76 mm 4.66 mm World eIoni - 3 45.5 um -20 cm 1.82 cm 232 MeV 4.99 keV 1.84 cm 2.31 cm OutOfWorldTransportation + 0 -69.4 um -16.7 cm 1.54 cm 2.67 keV 0 eV 0 fm 0 fm World initStep + 1 -55.4 um -16.7 cm 1.54 cm 2.69 MeV 2.67 keV 248 um 248 um World eIoni + 2 -36.9 um -17.8 cm 1.54 cm 107 MeV 1.34 keV 1.05 cm 1.07 cm World eIoni + 3 -35.8 um -18 cm 1.54 cm 132 MeV 285 eV 2.46 mm 1.32 cm World eIoni + 4 -30 um -19.4 cm 1.54 cm 274 MeV 1.85 keV 1.42 cm 2.74 cm World eIoni + 5 -26.7 um -20 cm 1.54 cm 330 MeV 1.08 keV 5.55 mm 3.29 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 10 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 117 um -9.44 cm 1.81 cm 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 113 um -9.44 cm 1.81 cm 684 keV 1.05 keV 62.2 um 62.2 um World eIoni - 2 97.2 um -20 cm 1.81 cm 1.06 GeV 15.4 keV 10.6 cm 10.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 92 um -8.66 cm 1.81 cm 7.11 keV 0 eV 0 fm 0 fm World initStep - 1 63.4 um -8.76 cm 1.81 cm 10.4 MeV 4.28 keV 985 um 985 um World eIoni - 2 49.7 um -9.58 cm 1.81 cm 92.6 MeV 1.31 keV 8.23 mm 9.21 mm World eIoni - 3 37.2 um -12.8 cm 1.81 cm 414 MeV 6.67 keV 3.22 cm 4.14 cm World eIoni - 4 35.6 um -14.2 cm 1.81 cm 555 MeV 1.92 keV 1.41 cm 5.55 cm World eIoni - 5 21.9 um -19.1 cm 1.81 cm 1.05 GeV 9.16 keV 4.9 cm 10.4 cm World eIoni - 6 19.9 um -20 cm 1.81 cm 1.13 GeV 2.26 keV 8.91 mm 11.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 21.9 um -19.1 cm 1.81 cm 1.25 keV 0 eV 0 fm 0 fm World initStep - 1 27.8 um -19.1 cm 1.81 cm 855 keV 1.25 keV 77.8 um 77.8 um World eIoni - 2 42.8 um -20 cm 1.81 cm 89.2 MeV 1.14 keV 8.83 mm 8.91 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 35.6 um -14.2 cm 1.81 cm 30.3 keV 0 eV 0 fm 0 fm World initStep - 1 176 um -14.7 cm 1.8 cm 55.5 MeV 6.43 keV 5.38 mm 5.38 mm World eIoni - 2 180 um -14.9 cm 1.8 cm 71.2 MeV 209 eV 1.58 mm 6.95 mm World eIoni - 3 206 um -20 cm 1.8 cm 582 MeV 9.12 keV 5.11 cm 5.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 13 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 180 um -14.9 cm 1.8 cm 1.55 keV 0 eV 0 fm 0 fm World initStep - 1 188 um -14.9 cm 1.8 cm 1.17 MeV 1.55 keV 106 um 106 um World eIoni - 2 211 um -20 cm 1.8 cm 511 MeV 8.05 keV 5.1 cm 5.11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 37.2 um -12.8 cm 1.81 cm 4.61 keV 0 eV 0 fm 0 fm World initStep - 1 26.6 um -12.9 cm 1.8 cm 6.72 MeV 4.61 keV 629 um 629 um World eIoni - 2 20 um -13.6 cm 1.8 cm 81 MeV 1 keV 7.43 mm 8.06 mm World eIoni - 3 14.9 um -17.8 cm 1.8 cm 497 MeV 8.32 keV 4.16 cm 4.96 cm World eIoni - 4 15.1 um -19.5 cm 1.8 cm 674 MeV 3.44 keV 1.78 cm 6.74 cm World eIoni - 5 15.4 um -20 cm 1.8 cm 721 MeV 1.25 keV 4.64 mm 7.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 15.1 um -19.5 cm 1.8 cm 2.31 keV 0 eV 0 fm 0 fm World initStep - 1 4.33 um -19.6 cm 1.8 cm 2.14 MeV 2.31 keV 197 um 197 um World eIoni - 2 -4.58 um -19.7 cm 1.8 cm 19.5 MeV 220 eV 1.73 mm 1.93 mm World eIoni - 3 -8.34 um -20 cm 1.8 cm 46.6 MeV 741 eV 2.72 mm 4.65 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14.9 um -17.8 cm 1.8 cm 1.41 keV 0 eV 0 fm 0 fm World initStep - 1 9.12 um -17.8 cm 1.8 cm 1.03 MeV 1.41 keV 93.5 um 93.5 um World eIoni - 2 -7.12 um -20 cm 1.8 cm 224 MeV 2.62 keV 2.23 cm 2.24 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 49.7 um -9.58 cm 1.81 cm 1.07 keV 0 eV 0 fm 0 fm World initStep - 1 52.7 um -9.59 cm 1.81 cm 699 keV 1.07 keV 63.6 um 63.6 um World eIoni - 2 66 um -20 cm 1.81 cm 1.04 GeV 15.7 keV 10.4 cm 10.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 61.3 um -6.41 cm 1.67 cm 2.26 keV 0 eV 0 fm 0 fm World initStep - 1 49.7 um -6.43 cm 1.67 cm 2.06 MeV 2.26 keV 189 um 189 um World eIoni - 2 35.6 um -6.88 cm 1.67 cm 47.1 MeV 430 eV 4.5 mm 4.69 mm World eIoni - 3 21.1 um -14.9 cm 1.67 cm 847 MeV 15 keV 8 cm 8.47 cm World eIoni - 4 21 um -15.2 cm 1.67 cm 880 MeV 579 eV 3.26 mm 8.8 cm World eIoni - 5 18.3 um -20 cm 1.67 cm 1.36 GeV 10.2 keV 4.8 cm 13.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 21 um -15.2 cm 1.67 cm 3.68 keV 0 eV 0 fm 0 fm World initStep - 1 39.3 um -15.2 cm 1.67 cm 4.57 MeV 3.68 keV 426 um 426 um World eIoni - 2 54.4 um -16 cm 1.67 cm 77.7 MeV 1.67 keV 7.32 mm 7.74 mm World eIoni - 3 64.3 um -20 cm 1.68 cm 480 MeV 6.43 keV 4.02 cm 4.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 21.1 um -14.9 cm 1.67 cm 1.35 keV 0 eV 0 fm 0 fm World initStep - 1 16.6 um -14.9 cm 1.67 cm 959 keV 1.35 keV 87.3 um 87.3 um World eIoni - 2 1.24 um -20 cm 1.67 cm 512 MeV 5.54 keV 5.11 cm 5.12 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.7 cm 1.09 cm 314 keV 0 eV 0 fm 0 fm World initStep - 1 -433 um -20 cm 1.08 cm 1.83 GeV 41.4 keV 18.3 cm 18.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5.8 cm 1.62 cm 630 MeV 12.7 keV 6.29 cm 6.29 cm World eIoni - 2 871 nm -20 cm 2.22 cm 2.05 GeV 32.5 keV 14.2 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5.8 cm 1.62 cm 1.03 keV 0 eV 0 fm 0 fm World initStep - 1 -1.11 um -5.81 cm 1.63 cm 665 keV 1.03 keV 60.2 um 60.2 um World eIoni - 2 -6.48 um -20 cm 1.63 cm 1.42 GeV 23.2 keV 14.2 cm 14.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.98 mm 5.25 mm 79.8 MeV 1.96 keV 6.24 mm 6.24 mm World eIoni - 2 -5.96 um -20 cm 2.22 cm 2.05 GeV 37.5 keV 19.9 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.98 mm 5.25 mm 5.41 keV 0 eV 0 fm 0 fm World initStep - 1 7.51 um -3.81 mm 5.22 mm 8.88 MeV 5.41 keV 833 um 833 um World eIoni - 2 8.96 um -5 mm 5.22 mm 20.8 MeV 107 eV 1.2 mm 2.03 mm World eIoni - 3 14.2 um -3.72 cm 5.2 mm 343 MeV 5.34 keV 3.22 cm 3.43 cm World eIoni - 4 20.7 um -19.1 cm 5.2 mm 1.88 GeV 28.2 keV 15.3 cm 18.8 cm World eIoni - 5 21 um -20 cm 5.2 mm 1.97 GeV 3.12 keV 9.36 mm 19.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 20.7 um -19.1 cm 5.2 mm 1.77 keV 0 eV 0 fm 0 fm World initStep - 1 11.9 um -19.1 cm 5.2 mm 1.43 MeV 1.77 keV 131 um 131 um World eIoni - 2 -5.06 um -20 cm 5.2 mm 93.8 MeV 2.15 keV 9.23 mm 9.36 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14.2 um -3.72 cm 5.2 mm 999 eV 0 eV 0 fm 0 fm World initStep - 1 11.3 um -3.73 cm 5.2 mm 634 keV 999 eV 57.7 um 57.7 um World eIoni - 2 -3.69 um -20 cm 5.18 mm 1.63 GeV 23.6 keV 16.3 cm 16.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -13.9 cm 2.04 cm 1.44 GeV 30.5 keV 14.4 cm 14.4 cm World eIoni - 2 -1.7 um -20 cm 2.22 cm 2.05 GeV 11.3 keV 6.13 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -13.9 cm 2.04 cm 28.2 keV 0 eV 0 fm 0 fm World initStep - 1 40.9 um -14.4 cm 2.06 cm 50.8 MeV 4.98 keV 4.92 mm 4.92 mm World eIoni - 2 41.8 um -14.5 cm 2.06 cm 60.9 MeV 112 eV 1 mm 5.92 mm World eIoni - 3 49.6 um -17 cm 2.06 cm 311 MeV 4.08 keV 2.5 cm 3.09 cm World eIoni - 4 49.6 um -17.5 cm 2.06 cm 365 MeV 1.36 keV 5.42 mm 3.63 cm World eIoni - 5 50.8 um -20 cm 2.06 cm 615 MeV 3.9 keV 2.5 cm 6.13 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 49.6 um -17.5 cm 2.06 cm 1.5 keV 0 eV 0 fm 0 fm World initStep - 1 45 um -17.5 cm 2.06 cm 1.12 MeV 1.5 keV 102 um 102 um World eIoni - 2 32.8 um -20 cm 2.06 cm 250 MeV 4.89 keV 2.49 cm 2.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 49.6 um -17 cm 2.06 cm 9.62 keV 0 eV 0 fm 0 fm World initStep - 1 77 um -17.1 cm 2.05 cm 18.1 MeV 4.17 keV 1.72 mm 1.72 mm World eIoni - 2 82.9 um -17.6 cm 2.05 cm 62.9 MeV 954 eV 4.48 mm 6.2 mm World eIoni - 3 90.6 um -20 cm 2.05 cm 305 MeV 5.79 keV 2.42 cm 3.05 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5.07 cm 1.56 cm 557 MeV 9.46 keV 5.55 cm 5.55 cm World eIoni - 2 -10.1 nm -7.23 cm 1.73 cm 773 MeV 3.71 keV 2.16 cm 7.71 cm World eIoni - 3 -1.21 um -20 cm 2.22 cm 2.05 GeV 31.7 keV 12.8 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -10.1 nm -7.23 cm 1.73 cm 4.92 keV 0 eV 0 fm 0 fm World initStep - 1 4.8 um -7.3 cm 1.73 cm 7.46 MeV 4.92 keV 700 um 700 um World eIoni - 2 6.56 um -7.56 cm 1.73 cm 34.3 MeV 421 eV 2.68 mm 3.38 mm World eIoni - 3 8.98 um -9.74 cm 1.73 cm 252 MeV 3.3 keV 2.18 cm 2.52 cm World eIoni - 4 12.4 um -12.8 cm 1.73 cm 560 MeV 7.24 keV 3.08 cm 5.6 cm World eIoni - 5 12.4 um -20 cm 1.73 cm 1.28 GeV 15.1 keV 7.18 cm 12.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 12.4 um -12.8 cm 1.73 cm 1.95 keV 0 eV 0 fm 0 fm World initStep - 1 22.3 um -12.8 cm 1.73 cm 1.64 MeV 1.95 keV 150 um 150 um World eIoni - 2 48.5 um -20 cm 1.73 cm 718 MeV 10.6 keV 7.16 cm 7.18 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.98 um -9.74 cm 1.73 cm 1.57 keV 0 eV 0 fm 0 fm World initStep - 1 2.88 um -9.75 cm 1.73 cm 1.19 MeV 1.57 keV 109 um 109 um World eIoni - 2 -17.7 um -20 cm 1.73 cm 1.03 GeV 12 keV 10.2 cm 10.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5.07 cm 1.56 cm 2.58 keV 0 eV 0 fm 0 fm World initStep - 1 81.4 nm -5.09 cm 1.56 cm 2.54 MeV 2.58 keV 234 um 234 um World eIoni - 2 152 nm -5.36 cm 1.56 cm 28.7 MeV 444 eV 2.62 mm 2.85 mm World eIoni - 3 238 nm -9.04 cm 1.57 cm 397 MeV 6.55 keV 3.68 cm 3.97 cm World eIoni - 4 3.29 um -14.5 cm 1.57 cm 939 MeV 10.7 keV 5.42 cm 9.39 cm World eIoni - 5 6.58 um -20 cm 1.57 cm 1.49 GeV 12.3 keV 5.54 cm 14.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.29 um -14.5 cm 1.57 cm 1.23 keV 0 eV 0 fm 0 fm World initStep - 1 -2.58 um -14.5 cm 1.57 cm 841 keV 1.23 keV 76.5 um 76.5 um World eIoni - 2 -24.2 um -20 cm 1.57 cm 554 MeV 7 keV 5.53 cm 5.54 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 238 nm -9.04 cm 1.57 cm 1.54 keV 0 eV 0 fm 0 fm World initStep - 1 -6.48 um -9.05 cm 1.57 cm 1.16 MeV 1.54 keV 105 um 105 um World eIoni - 2 -29.5 um -20 cm 1.56 cm 1.1 GeV 16.3 keV 10.9 cm 11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -15 cm 2.08 cm 1.55 GeV 29.3 keV 15.5 cm 15.5 cm World eIoni - 2 -187 nm -20 cm 2.22 cm 2.05 GeV 11.2 keV 5.05 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -15 cm 2.08 cm 4.74 keV 0 eV 0 fm 0 fm World initStep - 1 2.58 um -15 cm 2.08 cm 7.02 MeV 4.74 keV 658 um 658 um World eIoni - 2 3.77 um -15.4 cm 2.08 cm 44.7 MeV 347 eV 3.77 mm 4.43 mm World eIoni - 3 5.39 um -20 cm 2.08 cm 505 MeV 9.54 keV 4.6 cm 5.05 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 39.7 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5.66 cm 1.61 cm 616 MeV 10.1 keV 6.15 cm 6.15 cm World eIoni - 2 1.79 um -7.53 cm 1.75 cm 803 MeV 2.8 keV 1.87 cm 8.02 cm World eIoni - 3 8.64 um -19.4 cm 2.21 cm 1.99 GeV 26.1 keV 11.9 cm 19.9 cm World eIoni - 4 8.84 um -20 cm 2.22 cm 2.05 GeV 1.03 keV 5.82 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 8.64 um -19.4 cm 2.21 cm 6.01 keV 0 eV 0 fm 0 fm World initStep - 1 10.2 um -19.5 cm 2.21 cm 10.6 MeV 6.01 keV 1 mm 1 mm World eIoni - 2 10.5 um -19.7 cm 2.21 cm 27.9 MeV 301 eV 1.73 mm 2.73 mm World eIoni - 3 10.8 um -20 cm 2.21 cm 59 MeV 620 eV 3.11 mm 5.83 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.79 um -7.53 cm 1.75 cm 1.37 keV 0 eV 0 fm 0 fm World initStep - 1 412 nm -7.54 cm 1.75 cm 984 keV 1.37 keV 89.7 um 89.7 um World eIoni - 2 -4.77 um -20 cm 1.74 cm 1.25 GeV 19 keV 12.5 cm 12.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5.66 cm 1.61 cm 4.62 keV 0 eV 0 fm 0 fm World initStep - 1 -23.5 um -5.71 cm 1.61 cm 5.35 MeV 2.74 keV 502 um 502 um World eIoni - 2 -56.3 um -12.4 cm 1.61 cm 679 MeV 9.87 keV 6.74 cm 6.79 cm World eIoni - 3 -64.3 um -20 cm 1.61 cm 1.43 GeV 16.8 keV 7.55 cm 14.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -56.3 um -12.4 cm 1.61 cm 2.7 keV 0 eV 0 fm 0 fm World initStep - 1 -45.3 um -12.5 cm 1.61 cm 2.74 MeV 2.7 keV 253 um 253 um World eIoni - 2 -38 um -12.6 cm 1.61 cm 19.3 MeV 128 eV 1.66 mm 1.91 mm World eIoni - 3 -23.3 um -20 cm 1.61 cm 755 MeV 13 keV 7.36 cm 7.55 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -9.71 cm 1.87 cm 1.02 GeV 22.4 keV 10.2 cm 10.2 cm World eIoni - 2 -3.27 um -13.7 cm 2.04 cm 1.42 GeV 7.33 keV 4.01 cm 14.2 cm World eIoni - 3 -3.32 um -13.8 cm 2.04 cm 1.43 GeV 99.4 eV 654 um 14.3 cm World eIoni - 4 -8.25 um -20 cm 2.22 cm 2.05 GeV 10.6 keV 6.22 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.32 um -13.8 cm 2.04 cm 1.19 keV 0 eV 0 fm 0 fm World initStep - 1 2.17 um -13.8 cm 2.04 cm 805 keV 1.19 keV 73.1 um 73.1 um World eIoni - 2 23.3 um -20 cm 2.04 cm 621 MeV 10.8 keV 6.21 cm 6.21 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.27 um -13.7 cm 2.04 cm 1.74 keV 0 eV 0 fm 0 fm World initStep - 1 -2.42 um -13.7 cm 2.04 cm 1.39 MeV 1.74 keV 127 um 127 um World eIoni - 2 26.2 nm -20 cm 2.04 cm 628 MeV 9.68 keV 6.27 cm 6.28 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -9.71 cm 1.87 cm 12.6 keV 0 eV 0 fm 0 fm World initStep - 1 60.3 um -9.92 cm 1.87 cm 22.5 MeV 3.97 keV 2.15 mm 2.15 mm World eIoni - 2 64.3 um -10 cm 1.87 cm 34.1 MeV 104 eV 1.16 mm 3.31 mm World eIoni - 3 97.7 um -19.3 cm 1.87 cm 965 MeV 15.7 keV 9.31 cm 9.64 cm World eIoni - 4 98.2 um -20 cm 1.87 cm 1.03 GeV 1.09 keV 6.54 mm 10.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 97.7 um -19.3 cm 1.87 cm 5.01 keV 0 eV 0 fm 0 fm World initStep - 1 93.8 um -19.4 cm 1.87 cm 7.68 MeV 5.01 keV 721 um 721 um World eIoni - 2 92.7 um -19.6 cm 1.87 cm 26.4 MeV 229 eV 1.88 mm 2.6 mm World eIoni - 3 91.9 um -20 cm 1.87 cm 66 MeV 1.1 keV 3.96 mm 6.55 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.52 cm 1.25 cm 302 MeV 7 keV 2.98 cm 2.98 cm World eIoni - 2 -2.09 um -4.82 cm 1.54 cm 532 MeV 3.85 keV 2.32 cm 5.3 cm World eIoni - 3 -7.35 um -10.4 cm 1.9 cm 1.09 GeV 14.4 keV 5.6 cm 10.9 cm World eIoni - 4 -18.3 um -20 cm 2.22 cm 2.05 GeV 17.5 keV 9.6 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.35 um -10.4 cm 1.9 cm 21.8 keV 0 eV 0 fm 0 fm World initStep - 1 67 um -10.8 cm 1.9 cm 37.5 MeV 4.78 keV 3.62 mm 3.62 mm World eIoni - 2 71.4 um -11 cm 1.9 cm 58.5 MeV 310 eV 2.09 mm 5.71 mm World eIoni - 3 99.5 um -20 cm 1.89 cm 961 MeV 16 keV 9.03 cm 9.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.09 um -4.82 cm 1.54 cm 1.53 keV 0 eV 0 fm 0 fm World initStep - 1 4.83 um -4.83 cm 1.54 cm 1.14 MeV 1.53 keV 104 um 104 um World eIoni - 2 30.2 um -20 cm 1.54 cm 1.52 GeV 22.2 keV 15.2 cm 15.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.52 cm 1.25 cm 33.2 keV 0 eV 0 fm 0 fm World initStep - 1 23.4 um -2.84 cm 1.24 cm 33.5 MeV 2.74 keV 3.26 mm 3.26 mm World eIoni - 2 48.7 um -20 cm 1.23 cm 1.75 GeV 28.8 keV 17.2 cm 17.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 23.4 um -2.84 cm 1.24 cm 1.54 keV 0 eV 0 fm 0 fm World initStep - 1 18.2 um -2.85 cm 1.24 cm 1.16 MeV 1.54 keV 106 um 106 um World eIoni - 2 -1.13 um -20 cm 1.24 cm 1.72 GeV 28.9 keV 17.1 cm 17.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.82 cm 1.3 cm 332 MeV 6.07 keV 3.28 cm 3.28 cm World eIoni - 2 -26.4 nm -2.91 cm 1.31 cm 341 MeV 170 eV 980 um 3.38 cm World eIoni - 3 214 nm -4.09 cm 1.46 cm 459 MeV 1.89 keV 1.18 cm 4.56 cm World eIoni - 4 2.46 um -7.8 cm 1.76 cm 830 MeV 6.74 keV 3.73 cm 8.29 cm World eIoni - 5 2.37 um -10.4 cm 1.9 cm 1.09 GeV 5.58 keV 2.58 cm 10.9 cm World eIoni - 6 2.5 um -12.6 cm 1.99 cm 1.31 GeV 3.95 keV 2.2 cm 13.1 cm World eIoni - 7 3.24 um -17.6 cm 2.16 cm 1.81 GeV 9.77 keV 5.06 cm 18.1 cm World eIoni - 8 3.86 um -20 cm 2.22 cm 2.05 GeV 4.94 keV 2.36 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.24 um -17.6 cm 2.16 cm 6.49 keV 0 eV 0 fm 0 fm World initStep - 1 -5.74 um -17.7 cm 2.16 cm 4.77 MeV 1.23 keV 455 um 455 um World eIoni - 2 -16 um -20 cm 2.15 cm 236 MeV 2.37 keV 2.31 cm 2.36 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.5 um -12.6 cm 1.99 cm 998 eV 0 eV 0 fm 0 fm World initStep - 1 113 nm -12.6 cm 1.99 cm 635 keV 998 eV 57.7 um 57.7 um World eIoni - 2 -10.5 um -20 cm 2 cm 741 MeV 13.4 keV 7.41 cm 7.41 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.37 um -10.4 cm 1.9 cm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 855 nm -10.4 cm 1.9 cm 736 keV 1.11 keV 66.8 um 66.8 um World eIoni - 2 -5.63 um -20 cm 1.9 cm 961 MeV 17.5 keV 9.61 cm 9.61 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.46 um -7.8 cm 1.76 cm 1.69 keV 0 eV 0 fm 0 fm World initStep - 1 10.7 um -7.82 cm 1.76 cm 1.33 MeV 1.69 keV 121 um 121 um World eIoni - 2 37.1 um -20 cm 1.76 cm 1.22 GeV 21 keV 12.2 cm 12.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 214 nm -4.09 cm 1.46 cm 1.65 keV 0 eV 0 fm 0 fm World initStep - 1 -5.7 um -4.1 cm 1.46 cm 1.28 MeV 1.65 keV 117 um 117 um World eIoni - 2 -26.2 um -20 cm 1.47 cm 1.59 GeV 27.3 keV 15.9 cm 15.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -26.4 nm -2.91 cm 1.31 cm 1.58 keV 0 eV 0 fm 0 fm World initStep - 1 -3.31 um -2.92 cm 1.31 cm 1.19 MeV 1.58 keV 109 um 109 um World eIoni - 2 -15.4 um -20 cm 1.31 cm 1.71 GeV 24.1 keV 17.1 cm 17.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.82 cm 1.3 cm 1.51 keV 0 eV 0 fm 0 fm World initStep - 1 1.73 um -2.83 cm 1.3 cm 1.14 MeV 1.51 keV 103 um 103 um World eIoni - 2 8.17 um -20 cm 1.3 cm 1.72 GeV 24.5 keV 17.2 cm 17.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.59 cm 1.06 cm 209 MeV 2.65 keV 2.04 cm 2.04 cm World eIoni - 2 909 nm -3.25 cm 1.36 cm 375 MeV 3.04 keV 1.68 cm 3.72 cm World eIoni - 3 5.65 um -18.5 cm 2.18 cm 1.9 GeV 31.1 keV 15.2 cm 19 cm World eIoni - 4 6.13 um -20 cm 2.22 cm 2.05 GeV 2.46 keV 1.55 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.65 um -18.5 cm 2.18 cm 1.13 keV 0 eV 0 fm 0 fm World initStep - 1 504 nm -18.5 cm 2.18 cm 748 keV 1.13 keV 68 um 68 um World eIoni - 2 -15.5 um -20 cm 2.18 cm 155 MeV 2.97 keV 1.54 cm 1.55 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 909 nm -3.25 cm 1.36 cm 1.58 keV 0 eV 0 fm 0 fm World initStep - 1 -1.79 um -3.26 cm 1.36 cm 1.21 MeV 1.58 keV 109 um 109 um World eIoni - 2 -11.5 um -20 cm 1.36 cm 1.68 GeV 22.5 keV 16.7 cm 16.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.59 cm 1.06 cm 1.08 keV 0 eV 0 fm 0 fm World initStep - 1 -2.41 um -1.6 cm 1.06 cm 717 keV 1.08 keV 64.4 um 64.4 um World eIoni - 2 -13.9 um -20 cm 1.06 cm 1.84 GeV 27.8 keV 18.4 cm 18.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -13.5 cm 2.03 cm 1.4 GeV 29.4 keV 14 cm 14 cm World eIoni - 2 1.07 um -20 cm 2.22 cm 2.05 GeV 14.2 keV 6.48 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -13.5 cm 2.03 cm 1.5 keV 0 eV 0 fm 0 fm World initStep - 1 -5.27 um -13.5 cm 2.03 cm 1.12 MeV 1.5 keV 102 um 102 um World eIoni - 2 -22.4 um -20 cm 2.03 cm 648 MeV 8.98 keV 6.47 cm 6.48 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.52 cm 1.4 cm 402 MeV 7.46 keV 4 cm 4 cm World eIoni - 2 -859 nm -9.8 cm 1.87 cm 1.03 GeV 11.7 keV 6.29 cm 10.3 cm World eIoni - 3 -1.75 um -10.8 cm 1.92 cm 1.13 GeV 1.91 keV 1.03 cm 11.3 cm World eIoni - 4 -3.57 um -14.8 cm 2.07 cm 1.53 GeV 6.75 keV 3.95 cm 15.3 cm World eIoni - 5 -3.83 um -20 cm 2.22 cm 2.05 GeV 13.2 keV 5.23 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.57 um -14.8 cm 2.07 cm 3.59 keV 0 eV 0 fm 0 fm World initStep - 1 -20.4 um -14.8 cm 2.07 cm 4.39 MeV 3.59 keV 409 um 409 um World eIoni - 2 -27 um -14.9 cm 2.07 cm 16.7 MeV 63.2 eV 1.23 mm 1.64 mm World eIoni - 3 -44.8 um -20 cm 2.07 cm 523 MeV 12 keV 5.06 cm 5.22 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.75 um -10.8 cm 1.92 cm 1.36 keV 0 eV 0 fm 0 fm World initStep - 1 -7.53 um -10.8 cm 1.92 cm 971 keV 1.36 keV 88.3 um 88.3 um World eIoni - 2 -29 um -20 cm 1.92 cm 917 MeV 12.4 keV 9.16 cm 9.17 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -859 nm -9.8 cm 1.87 cm 9.09 keV 0 eV 0 fm 0 fm World initStep - 1 42.8 um -9.94 cm 1.87 cm 15 MeV 4.27 keV 1.43 mm 1.43 mm World eIoni - 2 64.7 um -11.9 cm 1.87 cm 206 MeV 2.76 keV 1.91 cm 2.06 cm World eIoni - 3 82.4 um -19.1 cm 1.87 cm 933 MeV 16.5 keV 7.27 cm 9.33 cm World eIoni - 4 82.7 um -20 cm 1.87 cm 1.02 GeV 2.2 keV 8.79 mm 10.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 82.4 um -19.1 cm 1.87 cm 1.78 keV 0 eV 0 fm 0 fm World initStep - 1 90.1 um -19.1 cm 1.87 cm 1.43 MeV 1.78 keV 131 um 131 um World eIoni - 2 104 um -20 cm 1.87 cm 88 MeV 1.2 keV 8.66 mm 8.79 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 64.7 um -11.9 cm 1.87 cm 1.25 keV 0 eV 0 fm 0 fm World initStep - 1 59.3 um -11.9 cm 1.87 cm 855 keV 1.25 keV 77.8 um 77.8 um World eIoni - 2 38.2 um -20 cm 1.87 cm 815 MeV 12.2 keV 8.14 cm 8.15 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.52 cm 1.4 cm 1.04 keV 0 eV 0 fm 0 fm World initStep - 1 1.36 um -3.53 cm 1.4 cm 669 keV 1.04 keV 61.1 um 61.1 um World eIoni - 2 8.13 um -20 cm 1.39 cm 1.65 GeV 26.4 keV 16.5 cm 16.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.25 cm 1.48 cm 475 MeV 10.6 keV 4.72 cm 4.72 cm World eIoni - 2 -555 nm -5.23 cm 1.58 cm 573 MeV 3.27 keV 9.86 mm 5.71 cm World eIoni - 3 -748 nm -8.31 cm 1.79 cm 881 MeV 5.28 keV 3.09 cm 8.8 cm World eIoni - 4 2.05 um -11.4 cm 1.95 cm 1.19 GeV 8.18 keV 3.1 cm 11.9 cm World eIoni - 5 4.22 um -13.7 cm 2.03 cm 1.42 GeV 3.79 keV 2.29 cm 14.2 cm World eIoni - 6 9.76 um -20 cm 2.22 cm 2.05 GeV 14.4 keV 6.31 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.22 um -13.7 cm 2.03 cm 1.27 keV 0 eV 0 fm 0 fm World initStep - 1 -390 nm -13.7 cm 2.03 cm 883 keV 1.27 keV 80.2 um 80.2 um World eIoni - 2 -17.3 um -20 cm 2.04 cm 631 MeV 9.6 keV 6.3 cm 6.31 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.05 um -11.4 cm 1.95 cm 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 -2.54 um -11.4 cm 1.95 cm 678 keV 1.05 keV 61.6 um 61.6 um World eIoni - 2 -22.9 um -20 cm 1.95 cm 860 MeV 11.9 keV 8.59 cm 8.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -748 nm -8.31 cm 1.79 cm 21.1 keV 0 eV 0 fm 0 fm World initStep - 1 -72.1 um -8.65 cm 1.8 cm 36.1 MeV 3.55 keV 3.48 mm 3.48 mm World eIoni - 2 -80.9 um -9.19 cm 1.8 cm 89.9 MeV 589 eV 5.37 mm 8.86 mm World eIoni - 3 -102 um -15.9 cm 1.81 cm 758 MeV 12.6 keV 6.69 cm 7.57 cm World eIoni - 4 -105 um -18.1 cm 1.81 cm 984 MeV 5.67 keV 2.26 cm 9.83 cm World eIoni - 5 -106 um -20 cm 1.81 cm 1.17 GeV 3.09 keV 1.87 cm 11.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -105 um -18.1 cm 1.81 cm 1.39 keV 0 eV 0 fm 0 fm World initStep - 1 -103 um -18.1 cm 1.81 cm 1 MeV 1.39 keV 91 um 91 um World eIoni - 2 -100 um -20 cm 1.81 cm 187 MeV 3.07 keV 1.86 cm 1.87 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -102 um -15.9 cm 1.81 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 -103 um -15.9 cm 1.81 cm 685 keV 1.06 keV 62.3 um 62.3 um World eIoni - 2 -108 um -20 cm 1.81 cm 413 MeV 6.46 keV 4.12 cm 4.13 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -555 nm -5.23 cm 1.58 cm 1.6 keV 0 eV 0 fm 0 fm World initStep - 1 -5.44 um -5.24 cm 1.58 cm 1.22 MeV 1.6 keV 111 um 111 um World eIoni - 2 -22.6 um -20 cm 1.58 cm 1.48 GeV 21.9 keV 14.8 cm 14.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.25 cm 1.48 cm 1.07 keV 0 eV 0 fm 0 fm World initStep - 1 4.52 um -4.25 cm 1.48 cm 698 keV 1.07 keV 63.3 um 63.3 um World eIoni - 2 26.1 um -20 cm 1.48 cm 1.58 GeV 25 keV 15.7 cm 15.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.69 cm 1.53 cm 519 MeV 8.52 keV 5.17 cm 5.17 cm World eIoni - 2 3.57 um -13.6 cm 2.03 cm 1.41 GeV 18.8 keV 8.98 cm 14.1 cm World eIoni - 3 5.67 um -20 cm 2.22 cm 2.05 GeV 13.1 keV 6.35 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.57 um -13.6 cm 2.03 cm 1.63 keV 0 eV 0 fm 0 fm World initStep - 1 -539 nm -13.7 cm 2.03 cm 1.26 MeV 1.63 keV 115 um 115 um World eIoni - 2 -13 um -20 cm 2.03 cm 635 MeV 10.2 keV 6.34 cm 6.35 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.69 cm 1.53 cm 1.32 keV 0 eV 0 fm 0 fm World initStep - 1 -6.18 um -4.69 cm 1.53 cm 934 keV 1.32 keV 85.1 um 85.1 um World eIoni - 2 -31.5 um -20 cm 1.52 cm 1.53 GeV 21.6 keV 15.3 cm 15.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -19.2 cm 2.2 cm 1.97 GeV 38.6 keV 19.7 cm 19.7 cm World eIoni - 2 -191 nm -20 cm 2.22 cm 2.05 GeV 2.7 keV 8.18 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -19.2 cm 2.2 cm 3.25 keV 0 eV 0 fm 0 fm World initStep - 1 14.3 um -19.2 cm 2.2 cm 3.7 MeV 3.25 keV 343 um 343 um World eIoni - 2 14.7 um -19.2 cm 2.2 cm 4.08 MeV 5.81 eV 38.5 um 382 um World eIoni - 3 29.9 um -20 cm 2.2 cm 82.1 MeV 1.02 keV 7.8 mm 8.19 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5 cm 1.56 cm 550 MeV 10.7 keV 5.48 cm 5.48 cm World eIoni - 2 3.6 um -20 cm 2.22 cm 2.05 GeV 37.3 keV 15 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5 cm 1.56 cm 2 keV 0 eV 0 fm 0 fm World initStep - 1 -6.09 um -5.02 cm 1.55 cm 1.7 MeV 2 keV 156 um 156 um World eIoni - 2 -23 um -14.6 cm 1.55 cm 955 MeV 13.8 keV 9.54 cm 9.55 cm World eIoni - 3 -24.4 um -20 cm 1.55 cm 1.5 GeV 11.6 keV 5.45 cm 15 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -23 um -14.6 cm 1.55 cm 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 -21.9 um -14.6 cm 1.55 cm 682 keV 1.05 keV 62 um 62 um World eIoni - 2 -17.3 um -20 cm 1.56 cm 545 MeV 6.62 keV 5.44 cm 5.45 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -13.7 cm 2.03 cm 1.42 GeV 26.7 keV 14.2 cm 14.2 cm World eIoni - 2 74.7 nm -17 cm 2.14 cm 1.75 GeV 8.42 keV 3.27 cm 17.5 cm World eIoni - 3 491 nm -20 cm 2.22 cm 2.05 GeV 6.45 keV 3.04 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 74.7 nm -17 cm 2.14 cm 1.37 keV 0 eV 0 fm 0 fm World initStep - 1 -3.89 um -17 cm 2.14 cm 980 keV 1.37 keV 89.3 um 89.3 um World eIoni - 2 -15.9 um -20 cm 2.14 cm 304 MeV 4.48 keV 3.03 cm 3.04 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -13.7 cm 2.03 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 -547 nm -13.7 cm 2.03 cm 688 keV 1.06 keV 62.6 um 62.6 um World eIoni - 2 -2.74 um -20 cm 2.03 cm 631 MeV 8.7 keV 6.3 cm 6.31 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -7.79 cm 1.76 cm 829 MeV 15.8 keV 8.28 cm 8.28 cm World eIoni - 2 3.62 um -20 cm 2.22 cm 2.05 GeV 23.2 keV 12.2 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -7.79 cm 1.76 cm 1.84 keV 0 eV 0 fm 0 fm World initStep - 1 -8.47 um -7.8 cm 1.76 cm 1.5 MeV 1.84 keV 137 um 137 um World eIoni - 2 -34.2 um -20 cm 1.76 cm 1.22 GeV 15.6 keV 12.2 cm 12.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -9.03 cm 1.83 cm 953 MeV 20.5 keV 9.52 cm 9.52 cm World eIoni - 2 -4.85 nm -9.08 cm 1.84 cm 958 MeV 44 eV 477 um 9.57 cm World eIoni - 3 -1.75 um -18.7 cm 2.19 cm 1.92 GeV 17.4 keV 9.59 cm 19.2 cm World eIoni - 4 -1.76 um -20 cm 2.22 cm 2.05 GeV 2.39 keV 1.34 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.75 um -18.7 cm 2.19 cm 1.03 keV 0 eV 0 fm 0 fm World initStep - 1 -5.2 um -18.7 cm 2.19 cm 663 keV 1.03 keV 60.3 um 60.3 um World eIoni - 2 -16.3 um -20 cm 2.19 cm 134 MeV 3.04 keV 1.34 cm 1.34 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.85 nm -9.08 cm 1.84 cm 1.1 keV 0 eV 0 fm 0 fm World initStep - 1 2.41 um -9.08 cm 1.84 cm 729 keV 1.1 keV 66.1 um 66.1 um World eIoni - 2 12.9 um -20 cm 1.84 cm 1.09 GeV 16.1 keV 10.9 cm 10.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -9.03 cm 1.83 cm 1.31 keV 0 eV 0 fm 0 fm World initStep - 1 1.67 um -9.04 cm 1.83 cm 919 keV 1.31 keV 83.8 um 83.8 um World eIoni - 2 8.17 um -20 cm 1.83 cm 1.1 GeV 14.6 keV 11 cm 11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6 cm 1.64 cm 650 MeV 11.3 keV 6.48 cm 6.48 cm World eIoni - 2 436 nm -9.92 cm 1.88 cm 1.02 GeV 7.8 keV 3.93 cm 10.4 cm World eIoni - 3 -34.6 um -13.7 cm 2.05 cm 1.39 GeV 8.41 keV 3.78 cm 14.2 cm World eIoni - 4 -75.7 um -20 cm 2.25 cm 2.02 GeV 13.6 keV 6.3 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -34.6 um -13.7 cm 2.05 cm 7.88 keV 0 eV 0 fm 0 fm World initStep - 1 -37.9 um -13.8 cm 2.05 cm 15.1 MeV 4.57 keV 1.43 mm 1.43 mm World eIoni - 2 -38.2 um -13.9 cm 2.04 cm 24.6 MeV 896 eV 948 um 2.38 mm World eIoni - 3 -40.2 um -20 cm 2.04 cm 630 MeV 10.5 keV 6.06 cm 6.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 436 nm -9.92 cm 1.88 cm 26 MeV 0 eV 0 fm 0 fm World initStep - 1 355 um -15.9 cm 1.76 cm 628 MeV 10.4 keV 6.02 cm 6.02 cm World eIoni - 2 409 um -20 cm 1.74 cm 1.03 GeV 6.53 keV 4.05 cm 10.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 355 um -15.9 cm 1.76 cm 4.28 keV 0 eV 0 fm 0 fm World initStep - 1 369 um -16 cm 1.76 cm 5.9 MeV 4.28 keV 552 um 552 um World eIoni - 2 383 um -17.9 cm 1.76 cm 199 MeV 3.21 keV 1.93 cm 1.98 cm World eIoni - 3 385 um -19.3 cm 1.76 cm 335 MeV 1.57 keV 1.36 cm 3.34 cm World eIoni - 4 385 um -20 cm 1.76 cm 406 MeV 1.46 keV 7.13 mm 4.06 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 385 um -19.3 cm 1.76 cm 1.87 keV 0 eV 0 fm 0 fm World initStep - 1 385 um -19.3 cm 1.76 cm 1.54 MeV 1.87 keV 141 um 141 um World eIoni - 2 386 um -20 cm 1.75 cm 71.4 MeV 776 eV 6.99 mm 7.13 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6 cm 1.64 cm 3.06 keV 0 eV 0 fm 0 fm World initStep - 1 -2.71 um -6.03 cm 1.64 cm 3.35 MeV 3.06 keV 310 um 310 um World eIoni - 2 -4.7 um -6.32 cm 1.64 cm 32.9 MeV 181 eV 2.95 mm 3.26 mm World eIoni - 3 -7.16 um -10.2 cm 1.64 cm 419 MeV 5.91 keV 3.86 cm 4.19 cm World eIoni - 4 -11.1 um -18.9 cm 1.64 cm 1.29 GeV 18.9 keV 8.71 cm 12.9 cm World eIoni - 5 -11.7 um -20 cm 1.64 cm 1.4 GeV 1.83 keV 1.1 cm 14 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -11.1 um -18.9 cm 1.64 cm 5.15 keV 0 eV 0 fm 0 fm World initStep - 1 16.1 um -19 cm 1.65 cm 8.11 MeV 5.15 keV 761 um 761 um World eIoni - 2 17.7 um -19 cm 1.65 cm 10.4 MeV 106 eV 234 um 995 um World eIoni - 3 32.9 um -20 cm 1.65 cm 111 MeV 1.59 keV 1.01 cm 1.11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.16 um -10.2 cm 1.64 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 -3.29 um -10.2 cm 1.64 cm 687 keV 1.06 keV 62.5 um 62.5 um World eIoni - 2 13.9 um -20 cm 1.65 cm 982 MeV 13.9 keV 9.81 cm 9.82 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -19.7 um 446 um 50.2 MeV 158 eV 446 um 446 um World eIoni - 2 1.21 um -12.2 cm 1.98 cm 1.27 GeV 23.4 keV 12.6 cm 12.6 cm World eIoni - 3 2.79 um -17.9 cm 2.17 cm 1.84 GeV 10.6 keV 5.7 cm 18.4 cm World eIoni - 4 3.3 um -20 cm 2.22 cm 2.05 GeV 3.37 keV 2.15 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.79 um -17.9 cm 2.17 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 2.15 um -17.9 cm 2.16 cm 692 keV 1.06 keV 63 um 63 um World eIoni - 2 -70.7 nm -20 cm 2.16 cm 215 MeV 3.27 keV 2.14 cm 2.15 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.21 um -12.2 cm 1.98 cm 1.91 keV 0 eV 0 fm 0 fm World initStep - 1 -7.29 um -12.2 cm 1.98 cm 1.59 MeV 1.91 keV 145 um 145 um World eIoni - 2 -30.8 um -20 cm 1.98 cm 785 MeV 11.1 keV 7.83 cm 7.85 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -19.7 um 446 um 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 -457 nm -81.5 um 446 um 670 keV 1.05 keV 61.8 um 61.8 um World eIoni - 2 -2.82 um -20 cm 444 um 2 GeV 27.4 keV 20 cm 20 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -7.17 cm 1.72 cm 767 MeV 13.6 keV 7.65 cm 7.65 cm World eIoni - 2 222 nm -8.91 cm 1.83 cm 941 MeV 3.73 keV 1.75 cm 9.4 cm World eIoni - 3 7 um -18.6 cm 2.18 cm 1.91 GeV 21.1 keV 9.69 cm 19.1 cm World eIoni - 4 7.95 um -20 cm 2.22 cm 2.05 GeV 4.95 keV 1.4 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 7 um -18.6 cm 2.18 cm 1.49 keV 0 eV 0 fm 0 fm World initStep - 1 -307 nm -18.6 cm 2.18 cm 1.11 MeV 1.49 keV 101 um 101 um World eIoni - 2 -17.1 um -20 cm 2.19 cm 140 MeV 1.6 keV 1.39 cm 1.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 222 nm -8.91 cm 1.83 cm 12.8 keV 0 eV 0 fm 0 fm World initStep - 1 -52 um -9.13 cm 1.83 cm 22.9 MeV 5.15 keV 2.19 mm 2.19 mm World eIoni - 2 -68.5 um -10.5 cm 1.83 cm 161 MeV 2.81 keV 1.38 cm 1.6 cm World eIoni - 3 -81.1 um -16.1 cm 1.83 cm 715 MeV 13.6 keV 5.54 cm 7.15 cm World eIoni - 4 -78.3 um -20 cm 1.83 cm 1.11 GeV 9.59 keV 3.95 cm 11.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -81.1 um -16.1 cm 1.83 cm 44.5 keV 0 eV 0 fm 0 fm World initStep - 1 -225 um -17 cm 1.85 cm 94.2 MeV 5.42 keV 9.29 mm 9.29 mm World eIoni - 2 -231 um -17.4 cm 1.85 cm 133 MeV 499 eV 3.9 mm 1.32 cm World eIoni - 3 -249 um -20 cm 1.85 cm 397 MeV 3.88 keV 2.63 cm 3.95 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -7.17 cm 1.72 cm 4.92 keV 0 eV 0 fm 0 fm World initStep - 1 -4.3 um -7.23 cm 1.72 cm 7.45 MeV 4.92 keV 699 um 699 um World eIoni - 2 -4.73 um -7.27 cm 1.72 cm 11.3 MeV 36.4 eV 383 um 1.08 mm World eIoni - 3 -7.14 um -8.2 cm 1.72 cm 104 MeV 2.26 keV 9.29 mm 1.04 cm World eIoni - 4 -239 nm -14.8 cm 1.72 cm 763 MeV 15 keV 6.59 cm 7.63 cm World eIoni - 5 1.88 um -20 cm 1.72 cm 1.28 GeV 10.4 keV 5.21 cm 12.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -239 nm -14.8 cm 1.72 cm 1.44 keV 0 eV 0 fm 0 fm World initStep - 1 -2.21 um -14.8 cm 1.72 cm 1.05 MeV 1.44 keV 95.6 um 95.6 um World eIoni - 2 -8.56 um -20 cm 1.72 cm 521 MeV 6.71 keV 5.2 cm 5.21 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.14 um -8.2 cm 1.72 cm 27.6 keV 0 eV 0 fm 0 fm World initStep - 1 -16.7 um -8.22 cm 1.72 cm 1.9 MeV 319 eV 193 um 193 um World eIoni - 2 -44.7 um -20 cm 1.71 cm 1.18 GeV 15.2 keV 11.8 cm 11.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.92 cm 1.31 cm 342 MeV 5.87 keV 3.38 cm 3.38 cm World eIoni - 2 427 nm -9.73 cm 1.87 cm 1.02 GeV 12.4 keV 6.84 cm 10.2 cm World eIoni - 3 1.01 um -14.1 cm 2.05 cm 1.45 GeV 8.43 keV 4.32 cm 14.5 cm World eIoni - 4 1.9 um -17.9 cm 2.17 cm 1.84 GeV 9.82 keV 3.84 cm 18.4 cm World eIoni - 5 2.44 um -20 cm 2.22 cm 2.05 GeV 3.72 keV 2.11 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.9 um -17.9 cm 2.17 cm 1.22 keV 0 eV 0 fm 0 fm World initStep - 1 -89.5 nm -17.9 cm 2.17 cm 837 keV 1.22 keV 76.1 um 76.1 um World eIoni - 2 -6.25 um -20 cm 2.17 cm 211 MeV 2.75 keV 2.1 cm 2.11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.01 um -14.1 cm 2.05 cm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 -2.44 um -14.1 cm 2.05 cm 785 keV 1.17 keV 71.3 um 71.3 um World eIoni - 2 -15.8 um -20 cm 2.05 cm 595 MeV 7.59 keV 5.94 cm 5.95 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 427 nm -9.73 cm 1.87 cm 1.14 keV 0 eV 0 fm 0 fm World initStep - 1 -1.6 um -9.74 cm 1.87 cm 763 keV 1.14 keV 69.4 um 69.4 um World eIoni - 2 -10.2 um -20 cm 1.87 cm 1.03 GeV 11.8 keV 10.3 cm 10.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.92 cm 1.31 cm 1.6 keV 0 eV 0 fm 0 fm World initStep - 1 -749 nm -2.93 cm 1.31 cm 1.21 MeV 1.6 keV 111 um 111 um World eIoni - 2 -3.48 um -20 cm 1.31 cm 1.71 GeV 26.8 keV 17.1 cm 17.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -8.82 cm 1.82 cm 932 MeV 18.6 keV 9.31 cm 9.31 cm World eIoni - 2 -1.32 um -14.5 cm 2.06 cm 1.5 GeV 11.2 keV 5.67 cm 15 cm World eIoni - 3 -1.48 um -20 cm 2.22 cm 2.05 GeV 10.6 keV 5.52 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.32 um -14.5 cm 2.06 cm 6.43 keV 0 eV 0 fm 0 fm World initStep - 1 -12.3 um -14.6 cm 2.07 cm 11.8 MeV 5.64 keV 1.12 mm 1.12 mm World eIoni - 2 -14.6 um -14.8 cm 2.07 cm 33.1 MeV 1.06 keV 2.13 mm 3.25 mm World eIoni - 3 -16.3 um -15.2 cm 2.07 cm 69.8 MeV 524 eV 3.67 mm 6.91 mm World eIoni - 4 -28.9 um -20 cm 2.07 cm 553 MeV 7.16 keV 4.83 cm 5.52 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -16.3 um -15.2 cm 2.07 cm 1.35 keV 0 eV 0 fm 0 fm World initStep - 1 -9.78 um -15.2 cm 2.07 cm 959 keV 1.35 keV 87.2 um 87.2 um World eIoni - 2 12 um -20 cm 2.07 cm 483 MeV 7.17 keV 4.82 cm 4.83 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -8.82 cm 1.82 cm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 4.26 um -8.82 cm 1.82 cm 693 keV 1.06 keV 62.9 um 62.9 um World eIoni - 2 23.2 um -20 cm 1.82 cm 1.12 GeV 16.2 keV 11.2 cm 11.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.28 cm 9.79 mm 178 MeV 3.44 keV 1.72 cm 1.72 cm World eIoni - 2 14.2 um -10.8 cm 1.92 cm 1.13 GeV 22.6 keV 9.55 cm 11.3 cm World eIoni - 3 12.7 um -12.3 cm 1.98 cm 1.28 GeV 1.8 keV 1.54 cm 12.8 cm World eIoni - 4 11.9 um -14 cm 2.05 cm 1.45 GeV 3.22 keV 1.72 cm 14.5 cm World eIoni - 5 11.9 um -14.3 cm 2.06 cm 1.48 GeV 517 eV 2.75 mm 14.8 cm World eIoni - 6 13.7 um -20 cm 2.22 cm 2.05 GeV 12.5 keV 5.7 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 11.9 um -14.3 cm 2.06 cm 141 keV 0 eV 0 fm 0 fm World initStep - 1 -21.7 um -14.6 cm 2.04 cm 30.3 MeV 939 eV 3.01 mm 3.01 mm World eIoni - 2 -31.6 um -15.5 cm 2.03 cm 122 MeV 1.24 keV 9.2 mm 1.22 cm World eIoni - 3 -40.6 um -20 cm 2.03 cm 570 MeV 9.82 keV 4.48 cm 5.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -31.6 um -15.5 cm 2.03 cm 1.92 keV 0 eV 0 fm 0 fm World initStep - 1 -34.5 um -15.5 cm 2.03 cm 1.6 MeV 1.92 keV 147 um 147 um World eIoni - 2 -41.7 um -20 cm 2.03 cm 448 MeV 5.81 keV 4.46 cm 4.48 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 11.9 um -14 cm 2.05 cm 11 keV 0 eV 0 fm 0 fm World initStep - 1 -18.2 um -14.2 cm 2.05 cm 20.3 MeV 3.64 keV 1.94 mm 1.94 mm World eIoni - 2 -18.7 um -14.2 cm 2.05 cm 22.3 MeV 0 eV 202 um 2.14 mm World eIoni - 3 -35.4 um -20 cm 2.06 cm 598 MeV 12.3 keV 5.76 cm 5.97 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 12.7 um -12.3 cm 1.98 cm 3.68 keV 0 eV 0 fm 0 fm World initStep - 1 -4.73 um -12.4 cm 1.98 cm 4.56 MeV 3.68 keV 425 um 425 um World eIoni - 2 -9.47 um -12.4 cm 1.98 cm 11.9 MeV 118 eV 733 um 1.16 mm World eIoni - 3 -31.4 um -20 cm 1.98 cm 769 MeV 10.3 keV 7.57 cm 7.69 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 14.2 um -10.8 cm 1.92 cm 40.5 keV 0 eV 0 fm 0 fm World initStep - 1 182 um -11.6 cm 1.92 cm 81.7 MeV 4.68 keV 8.03 mm 8.03 mm World eIoni - 2 189 um -11.9 cm 1.92 cm 117 MeV 1.4 keV 3.56 mm 1.16 cm World eIoni - 3 230 um -20 cm 1.93 cm 925 MeV 17.2 keV 8.07 cm 9.23 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.28 cm 9.79 mm 6.31 keV 0 eV 0 fm 0 fm World initStep - 1 -22.1 um -1.32 cm 9.78 mm 3.65 MeV 1.04 keV 349 um 349 um World eBrem - 2 -33.5 um -1.46 cm 9.78 mm 17.8 MeV 133 eV 1.42 mm 1.77 mm World eIoni - 3 -69 um -20 cm 9.77 mm 1.87 GeV 30.2 keV 18.5 cm 18.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5.92 cm 1.63 cm 642 MeV 12.6 keV 6.4 cm 6.4 cm World eIoni - 2 -1.25 um -9.26 cm 1.85 cm 976 MeV 5.97 keV 3.35 cm 9.76 cm World eIoni - 3 -1.03 um -15 cm 2.08 cm 1.55 GeV 10.4 keV 5.73 cm 15.5 cm World eIoni - 4 -1.63 um -18.6 cm 2.19 cm 1.91 GeV 7.01 keV 3.64 cm 19.1 cm World eIoni - 5 -1.6 um -20 cm 2.22 cm 2.05 GeV 2.62 keV 1.38 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.63 um -18.6 cm 2.19 cm 1.02 keV 0 eV 0 fm 0 fm World initStep - 1 -6.41 um -18.6 cm 2.19 cm 654 keV 1.02 keV 59.5 um 59.5 um World eIoni - 2 -22.1 um -20 cm 2.19 cm 138 MeV 2.62 keV 1.37 cm 1.38 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.03 um -15 cm 2.08 cm 1.14 keV 0 eV 0 fm 0 fm World initStep - 1 4.22 um -15 cm 2.08 cm 757 keV 1.14 keV 68.9 um 68.9 um World eIoni - 2 24.4 um -20 cm 2.08 cm 501 MeV 8.13 keV 5.01 cm 5.01 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.25 um -9.26 cm 1.85 cm 18.9 keV 0 eV 0 fm 0 fm World initStep - 1 -11.3 um -9.31 cm 1.84 cm 4.38 MeV 381 eV 434 um 434 um World eIoni - 2 3.13 um -12.1 cm 1.84 cm 287 MeV 3.39 keV 2.82 cm 2.87 cm World eIoni - 3 4.83 um -20 cm 1.84 cm 1.07 GeV 15.5 keV 7.87 cm 10.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.13 um -12.1 cm 1.84 cm 1.46 keV 0 eV 0 fm 0 fm World initStep - 1 7.23 um -12.1 cm 1.84 cm 1.08 MeV 1.46 keV 97.9 um 97.9 um World eIoni - 2 20.8 um -20 cm 1.83 cm 787 MeV 8.76 keV 7.86 cm 7.87 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -11.3 um -9.31 cm 1.84 cm 4.72 keV 0 eV 0 fm 0 fm World initStep - 1 -38.4 um -9.37 cm 1.84 cm 6.97 MeV 4.72 keV 653 um 653 um World eIoni - 2 -47.8 um -9.59 cm 1.84 cm 28.7 MeV 240 eV 2.17 mm 2.82 mm World eIoni - 3 -71 um -15.4 cm 1.84 cm 613 MeV 9.54 keV 5.84 cm 6.13 cm World eIoni - 4 -74.1 um -20 cm 1.84 cm 1.07 GeV 9.11 keV 4.57 cm 10.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -71 um -15.4 cm 1.84 cm 23.7 keV 0 eV 0 fm 0 fm World initStep - 1 -81.5 um -15.8 cm 1.83 cm 41.1 MeV 4.84 keV 3.97 mm 3.97 mm World eIoni - 2 -82.1 um -16 cm 1.83 cm 63.5 MeV 222 eV 2.24 mm 6.21 mm World eIoni - 3 -84.8 um -20 cm 1.83 cm 459 MeV 6.7 keV 3.95 cm 4.58 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5.92 cm 1.63 cm 1.44 keV 0 eV 0 fm 0 fm World initStep - 1 5.45 um -5.93 cm 1.63 cm 1.05 MeV 1.44 keV 95.8 um 95.8 um World eIoni - 2 26 um -20 cm 1.64 cm 1.41 GeV 19.6 keV 14.1 cm 14.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.12 cm 9.26 mm 162 MeV 2.32 keV 1.54 cm 1.54 cm World eIoni - 2 -5.63 um -20 cm 2.22 cm 2.05 GeV 38.2 keV 19 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.12 cm 9.26 mm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 3.4 um -1.12 cm 9.27 mm 695 keV 1.06 keV 62.4 um 62.4 um World eIoni - 2 20 um -20 cm 9.28 mm 1.89 GeV 29.3 keV 18.9 cm 18.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 37.1 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5.34 cm 1.59 cm 584 MeV 10.4 keV 5.82 cm 5.82 cm World eIoni - 2 4.02 um -20 cm 2.22 cm 2.05 GeV 31.4 keV 14.7 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5.34 cm 1.59 cm 2.16 keV 0 eV 0 fm 0 fm World initStep - 1 -7.5 um -5.36 cm 1.58 cm 1.92 MeV 2.16 keV 177 um 177 um World eIoni - 2 -22.8 um -7.84 cm 1.58 cm 251 MeV 2.16 keV 2.49 cm 2.51 cm World eIoni - 3 -26 um -12.2 cm 1.58 cm 682 MeV 7.61 keV 4.31 cm 6.82 cm World eIoni - 4 -25.5 um -20 cm 1.58 cm 1.47 GeV 16.8 keV 7.85 cm 14.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -26 um -12.2 cm 1.58 cm 1.55 keV 0 eV 0 fm 0 fm World initStep - 1 -33.4 um -12.2 cm 1.58 cm 1.17 MeV 1.55 keV 107 um 107 um World eIoni - 2 -57.4 um -20 cm 1.58 cm 785 MeV 12.2 keV 7.84 cm 7.85 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.7 cm 1.28 cm 320 MeV 6.35 keV 3.17 cm 3.17 cm World eIoni - 2 -6.91 um -8.71 cm 1.82 cm 921 MeV 11.3 keV 6.04 cm 9.21 cm World eIoni - 3 2.03 um -12.7 cm 2 cm 1.32 GeV 8.4 keV 3.96 cm 13.2 cm World eIoni - 4 13.9 um -20 cm 2.22 cm 2.05 GeV 12.3 keV 7.34 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.03 um -12.7 cm 2 cm 1.37 keV 0 eV 0 fm 0 fm World initStep - 1 -1.32 um -12.7 cm 2 cm 981 keV 1.37 keV 89.1 um 89.1 um World eIoni - 2 -7.84 um -13.1 cm 2 cm 44.8 MeV 233 eV 4.38 mm 4.47 mm World eBrem - 3 -13 um -20 cm 2 cm 733 MeV 13.8 keV 6.89 cm 7.33 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.84 um -13.1 cm 2 cm 30.8 keV 0 eV 0 fm 0 fm World initStep - 1 42.8 um -20 cm 2.01 cm 30.8 keV 0 eV 6.89 cm 6.89 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.91 um -8.71 cm 1.82 cm 104 keV 0 eV 0 fm 0 fm World initStep - 1 -248 um -11.6 cm 1.81 cm 289 MeV 8.78 keV 2.88 cm 2.88 cm World eIoni - 2 -281 um -16.9 cm 1.81 cm 823 MeV 10.1 keV 5.34 cm 8.22 cm World eIoni - 3 -290 um -20 cm 1.81 cm 1.13 GeV 6.84 keV 3.07 cm 11.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -281 um -16.9 cm 1.81 cm 1.01 keV 0 eV 0 fm 0 fm World initStep - 1 -286 um -16.9 cm 1.81 cm 646 keV 1.01 keV 58.7 um 58.7 um World eIoni - 2 -304 um -20 cm 1.81 cm 307 MeV 5.68 keV 3.06 cm 3.07 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.7 cm 1.28 cm 4.47 keV 0 eV 0 fm 0 fm World initStep - 1 24.5 um -2.76 cm 1.28 cm 6.37 MeV 4.47 keV 596 um 596 um World eIoni - 2 42.1 um -3.71 cm 1.28 cm 102 MeV 2.17 keV 9.54 mm 1.01 cm World eIoni - 3 59 um -15.2 cm 1.28 cm 1.25 GeV 25 keV 11.5 cm 12.5 cm World eIoni - 4 58.5 um -16.2 cm 1.28 cm 1.35 GeV 1.66 keV 9.11 mm 13.5 cm World eIoni - 5 57.6 um -20 cm 1.28 cm 1.73 GeV 9.01 keV 3.84 cm 17.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 58.5 um -16.2 cm 1.28 cm 1.73 keV 0 eV 0 fm 0 fm World initStep - 1 58.4 um -16.2 cm 1.28 cm 1.38 MeV 1.73 keV 126 um 126 um World eIoni - 2 58.2 um -20 cm 1.29 cm 384 MeV 6.95 keV 3.83 cm 3.84 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 59 um -15.2 cm 1.28 cm 18.5 keV 0 eV 0 fm 0 fm World initStep - 1 93.2 um -15.3 cm 1.28 cm 2.77 MeV 311 eV 277 um 277 um World eIoni - 2 134 um -15.9 cm 1.28 cm 60.9 MeV 549 eV 5.81 mm 6.09 mm World eIoni - 3 157 um -20 cm 1.28 cm 475 MeV 9.06 keV 4.14 cm 4.75 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 134 um -15.9 cm 1.28 cm 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 137 um -15.9 cm 1.28 cm 684 keV 1.05 keV 62.2 um 62.2 um World eIoni - 2 149 um -20 cm 1.28 cm 415 MeV 5.78 keV 4.14 cm 4.15 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.78 cm 1.29 cm 328 MeV 6.84 keV 3.24 cm 3.24 cm World eIoni - 2 5.06 um -10.6 cm 1.91 cm 1.11 GeV 17.2 keV 7.83 cm 11.1 cm World eIoni - 3 5.11 um -10.7 cm 1.92 cm 1.12 GeV 480 eV 1.61 mm 11.2 cm World eIoni - 4 11.6 um -20 cm 2.22 cm 2.05 GeV 20 keV 9.26 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.11 um -10.7 cm 1.92 cm 6.32 keV 0 eV 0 fm 0 fm World initStep - 1 -21.4 um -10.8 cm 1.92 cm 5.81 MeV 2.49 keV 552 um 552 um World eIoni - 2 -32.6 um -11 cm 1.92 cm 27 MeV 181 eV 2.12 mm 2.67 mm World eIoni - 3 -50.6 um -19.1 cm 1.91 cm 838 MeV 14.8 keV 8.11 cm 8.37 cm World eIoni - 4 -51.3 um -20 cm 1.91 cm 926 MeV 2.1 keV 8.86 mm 9.26 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -50.6 um -19.1 cm 1.91 cm 4.39 keV 0 eV 0 fm 0 fm World initStep - 1 -42.8 um -19.1 cm 1.92 cm 1.22 MeV 415 eV 118 um 118 um World eIoni - 2 -26.4 um -20 cm 1.92 cm 88.7 MeV 1.24 keV 8.75 mm 8.87 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -32.6 um -11 cm 1.92 cm 992 eV 0 eV 0 fm 0 fm World initStep - 1 -36.4 um -11 cm 1.92 cm 629 keV 992 eV 57.3 um 57.3 um World eIoni - 2 -54.3 um -20 cm 1.92 cm 899 MeV 12.1 keV 8.99 cm 8.99 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.06 um -10.6 cm 1.91 cm 1.55 keV 0 eV 0 fm 0 fm World initStep - 1 6.85 um -10.6 cm 1.91 cm 1.17 MeV 1.55 keV 106 um 106 um World eIoni - 2 12.8 um -20 cm 1.91 cm 942 MeV 15.9 keV 9.41 cm 9.42 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.78 cm 1.29 cm 1.69 keV 0 eV 0 fm 0 fm World initStep - 1 -8.38 um -2.79 cm 1.29 cm 1.33 MeV 1.69 keV 122 um 122 um World eIoni - 2 -37.2 um -20 cm 1.29 cm 1.72 GeV 26.5 keV 17.2 cm 17.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5.83 cm 1.63 cm 633 MeV 13.1 keV 6.32 cm 6.32 cm World eIoni - 2 2.59 um -16.8 cm 2.14 cm 1.73 GeV 25.5 keV 11 cm 17.3 cm World eIoni - 3 2.19 um -20 cm 2.22 cm 2.05 GeV 7.04 keV 3.2 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.59 um -16.8 cm 2.14 cm 2.61 keV 0 eV 0 fm 0 fm World initStep - 1 15.6 um -16.8 cm 2.13 cm 2.59 MeV 2.61 keV 239 um 239 um World eIoni - 2 34.6 um -18.1 cm 2.13 cm 134 MeV 1.85 keV 1.32 cm 1.34 cm World eIoni - 3 38.9 um -20 cm 2.13 cm 321 MeV 4.99 keV 1.86 cm 3.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5.83 cm 1.63 cm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 -4.01 um -5.84 cm 1.63 cm 729 keV 1.11 keV 66.4 um 66.4 um World eIoni - 2 -22.6 um -20 cm 1.63 cm 1.42 GeV 24.7 keV 14.2 cm 14.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -14 cm 2.05 cm 1.45 GeV 28 keV 14.5 cm 14.5 cm World eIoni - 2 -837 nm -17.7 cm 2.16 cm 1.82 GeV 10.4 keV 3.69 cm 18.2 cm World eIoni - 3 -1.38 um -20 cm 2.22 cm 2.05 GeV 3.51 keV 2.31 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -837 nm -17.7 cm 2.16 cm 1.1 keV 0 eV 0 fm 0 fm World initStep - 1 540 nm -17.7 cm 2.16 cm 729 keV 1.1 keV 66.3 um 66.3 um World eIoni - 2 5.24 um -20 cm 2.16 cm 231 MeV 4.12 keV 2.3 cm 2.31 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -14 cm 2.05 cm 1.44 keV 0 eV 0 fm 0 fm World initStep - 1 6.77 um -14 cm 2.05 cm 1.05 MeV 1.44 keV 95.6 um 95.6 um World eIoni - 2 29.1 um -20 cm 2.05 cm 599 MeV 7.66 keV 5.98 cm 5.99 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.22 cm 9.6 mm 172 MeV 3.05 keV 1.65 cm 1.65 cm World eIoni - 2 8.83 um -20 cm 2.22 cm 2.05 GeV 35.1 keV 18.8 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.22 cm 9.6 mm 1.24 keV 0 eV 0 fm 0 fm World initStep - 1 -5.89 um -1.23 cm 9.6 mm 845 keV 1.24 keV 76.9 um 76.9 um World eIoni - 2 -31.4 um -20 cm 9.6 mm 1.88 GeV 29.2 keV 18.8 cm 18.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -13.4 cm 2.03 cm 1.39 GeV 28.9 keV 13.9 cm 13.9 cm World eIoni - 2 -1.47 um -20 cm 2.22 cm 2.05 GeV 13.4 keV 6.56 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -13.4 cm 2.03 cm 1.55 keV 0 eV 0 fm 0 fm World initStep - 1 7.31 um -13.5 cm 2.03 cm 1.17 MeV 1.55 keV 106 um 106 um World eIoni - 2 30.4 um -20 cm 2.03 cm 656 MeV 9.09 keV 6.54 cm 6.55 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.6 cm 1.41 cm 410 MeV 5.72 keV 4.07 cm 4.07 cm World eIoni - 2 -8.44 nm -3.89 cm 1.44 cm 439 MeV 288 eV 2.89 mm 4.36 cm World eIoni - 3 195 nm -4.43 cm 1.5 cm 493 MeV 511 eV 5.47 mm 4.91 cm World eIoni - 4 9.35 um -20 cm 2.22 cm 2.05 GeV 35.6 keV 15.6 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 195 nm -4.43 cm 1.5 cm 2.86 keV 0 eV 0 fm 0 fm World initStep - 1 -12.9 um -4.46 cm 1.5 cm 3 MeV 2.86 keV 278 um 278 um World eIoni - 2 -17.7 um -4.52 cm 1.5 cm 9.17 MeV 0 eV 617 um 894 um World eIoni - 3 -41.9 um -20 cm 1.5 cm 1.56 GeV 24.4 keV 15.5 cm 15.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -8.44 nm -3.89 cm 1.44 cm 1.29 keV 0 eV 0 fm 0 fm World initStep - 1 -3.21 um -3.89 cm 1.44 cm 903 keV 1.29 keV 81.8 um 81.8 um World eIoni - 2 -16.5 um -20 cm 1.44 cm 1.61 GeV 21.4 keV 16.1 cm 16.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.6 cm 1.41 cm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 192 nm -3.6 cm 1.41 cm 728 keV 1.11 keV 66.5 um 66.5 um World eIoni - 2 1.1 um -20 cm 1.4 cm 1.64 GeV 23.4 keV 16.4 cm 16.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -8.17 cm 1.79 cm 867 MeV 16.2 keV 8.66 cm 8.66 cm World eIoni - 2 -759 nm -13.1 cm 2.01 cm 1.36 GeV 10.6 keV 4.94 cm 13.6 cm World eIoni - 3 -883 nm -14.5 cm 2.06 cm 1.5 GeV 2.67 keV 1.41 cm 15 cm World eIoni - 4 -1.35 um -20 cm 2.22 cm 2.05 GeV 8.76 keV 5.49 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -883 nm -14.5 cm 2.06 cm 13.8 keV 0 eV 0 fm 0 fm World initStep - 1 -124 nm -14.6 cm 2.07 cm 5.35 MeV 635 eV 523 um 523 um World eIoni - 2 -22.7 nm -14.6 cm 2.07 cm 8.5 MeV 49.9 eV 316 um 839 um World eIoni - 3 -20.4 um -20 cm 2.07 cm 549 MeV 9.37 keV 5.4 cm 5.49 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -22.7 nm -14.6 cm 2.07 cm 5.3 keV 0 eV 0 fm 0 fm World initStep - 1 21.7 um -14.7 cm 2.07 cm 8.54 MeV 5.3 keV 802 um 802 um World eIoni - 2 28.1 um -14.9 cm 2.07 cm 31.4 MeV 274 eV 2.29 mm 3.09 mm World eIoni - 3 35.3 um -15.9 cm 2.07 cm 127 MeV 2.21 keV 9.54 mm 1.26 cm World eBrem - 4 41.4 um -18.8 cm 2.07 cm 420 MeV 6.55 keV 2.94 cm 4.2 cm World eIoni - 5 43.6 um -19.7 cm 2.07 cm 512 MeV 1.76 keV 9.18 mm 5.12 cm World eIoni - 6 43.9 um -20 cm 2.07 cm 541 MeV 515 eV 2.87 mm 5.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 43.6 um -19.7 cm 2.07 cm 5.43 keV 0 eV 0 fm 0 fm World initStep - 1 62.3 um -19.8 cm 2.07 cm 6.9 MeV 3.73 keV 651 um 651 um World eIoni - 2 68.5 um -20 cm 2.07 cm 29.2 MeV 352 eV 2.23 mm 2.88 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 41.4 um -18.8 cm 2.07 cm 4.4 keV 0 eV 0 fm 0 fm World initStep - 1 22.4 um -18.8 cm 2.07 cm 4.61 MeV 2.15 keV 433 um 433 um World eIoni - 2 3.82 um -20 cm 2.07 cm 121 MeV 1.47 keV 1.16 cm 1.21 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -759 nm -13.1 cm 2.01 cm 4 keV 0 eV 0 fm 0 fm World initStep - 1 -2.25 um -13.2 cm 2.01 cm 5.21 MeV 4 keV 486 um 486 um World eIoni - 2 -2.54 um -13.2 cm 2.01 cm 10.8 MeV 36.5 eV 558 um 1.04 mm World eIoni - 3 -4.34 um -20 cm 2.01 cm 690 MeV 11.9 keV 6.79 cm 6.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -8.17 cm 1.79 cm 2.05 keV 0 eV 0 fm 0 fm World initStep - 1 3.84 um -8.19 cm 1.79 cm 1.77 MeV 2.05 keV 162 um 162 um World eIoni - 2 9.87 um -8.94 cm 1.79 cm 77 MeV 920 eV 7.52 mm 7.68 mm World eIoni - 3 9.81 um -8.99 cm 1.79 cm 81.4 MeV 106 eV 442 um 8.12 mm World eIoni - 4 10.3 um -9.3 cm 1.79 cm 113 MeV 505 eV 3.14 mm 1.13 cm World eIoni - 5 15.9 um -11.7 cm 1.79 cm 356 MeV 5.45 keV 2.43 cm 3.55 cm World eIoni - 6 26.8 um -20 cm 1.79 cm 1.18 GeV 17.4 keV 8.27 cm 11.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 15.9 um -11.7 cm 1.79 cm 3.04 keV 0 eV 0 fm 0 fm World initStep - 1 3.83 um -11.8 cm 1.79 cm 3.31 MeV 3.04 keV 306 um 306 um World eIoni - 2 -7.35 um -12.3 cm 1.79 cm 55.2 MeV 381 eV 5.19 mm 5.49 mm World eIoni - 3 -18.8 um -20 cm 1.79 cm 828 MeV 14.1 keV 7.72 cm 8.27 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 10.3 um -9.3 cm 1.79 cm 1.1 keV 0 eV 0 fm 0 fm World initStep - 1 5.3 um -9.31 cm 1.79 cm 724 keV 1.1 keV 65.8 um 65.8 um World eIoni - 2 -16.6 um -20 cm 1.79 cm 1.07 GeV 15.1 keV 10.7 cm 10.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 9.81 um -8.99 cm 1.79 cm 1.75 keV 0 eV 0 fm 0 fm World initStep - 1 4.1 um -9 cm 1.79 cm 1.4 MeV 1.75 keV 128 um 128 um World eIoni - 2 -13.7 um -20 cm 1.79 cm 1.1 GeV 14.5 keV 11 cm 11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 9.87 um -8.94 cm 1.79 cm 17 keV 0 eV 0 fm 0 fm World initStep - 1 28.7 um -9.22 cm 1.78 cm 29.2 MeV 4.94 keV 2.81 mm 2.81 mm World eIoni - 2 32.6 um -10.1 cm 1.78 cm 117 MeV 1.45 keV 8.81 mm 1.16 cm World eIoni - 3 32.9 um -10.2 cm 1.78 cm 131 MeV 108 eV 1.37 mm 1.3 cm World eIoni - 4 32.7 um -10.8 cm 1.78 cm 191 MeV 1.39 keV 5.99 mm 1.9 cm World eIoni - 5 34.7 um -11.4 cm 1.78 cm 252 MeV 1.08 keV 6.12 mm 2.51 cm World eIoni - 6 49.8 um -19.1 cm 1.78 cm 1.01 GeV 15.2 keV 7.61 cm 10.1 cm World eIoni - 7 50.3 um -20 cm 1.78 cm 1.11 GeV 1.94 keV 9.42 mm 11.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 49.8 um -19.1 cm 1.78 cm 1.99 keV 0 eV 0 fm 0 fm World initStep - 1 52.3 um -19.1 cm 1.78 cm 1.69 MeV 1.99 keV 155 um 155 um World eIoni - 2 56.5 um -20 cm 1.78 cm 94.4 MeV 1.42 keV 9.27 mm 9.42 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 34.7 um -11.4 cm 1.78 cm 3.23 keV 0 eV 0 fm 0 fm World initStep - 1 25 um -11.5 cm 1.78 cm 3.05 MeV 3.23 keV 284 um 284 um World eIoni - 2 12.6 um -12.6 cm 1.77 cm 117 MeV 1.12 keV 1.14 cm 1.16 cm World eIoni - 3 2.44 um -16.5 cm 1.77 cm 505 MeV 6.87 keV 3.88 cm 5.04 cm World eIoni - 4 691 nm -20 cm 1.77 cm 856 MeV 6.65 keV 3.51 cm 8.55 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.44 um -16.5 cm 1.77 cm 1.91 keV 0 eV 0 fm 0 fm World initStep - 1 -5.44 um -16.5 cm 1.77 cm 1.59 MeV 1.91 keV 145 um 145 um World eIoni - 2 -24.2 um -20 cm 1.78 cm 351 MeV 3.25 keV 3.5 cm 3.51 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 12.6 um -12.6 cm 1.77 cm 1.18 keV 0 eV 0 fm 0 fm World initStep - 1 18.2 um -12.6 cm 1.77 cm 797 keV 1.18 keV 72.4 um 72.4 um World eIoni - 2 40 um -20 cm 1.77 cm 739 MeV 12.1 keV 7.38 cm 7.39 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 32.7 um -10.8 cm 1.78 cm 7.78 keV 0 eV 0 fm 0 fm World initStep - 1 -8.82 um -11 cm 1.78 cm 14.9 MeV 7.21 keV 1.41 mm 1.41 mm World eIoni - 2 -16.6 um -11.2 cm 1.77 cm 41.3 MeV 333 eV 2.63 mm 4.05 mm World eIoni - 3 -41 um -20 cm 1.77 cm 918 MeV 16.7 keV 8.76 cm 9.17 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 8 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 32.9 um -10.2 cm 1.78 cm 1.33 keV 0 eV 0 fm 0 fm World initStep - 1 38.6 um -10.2 cm 1.78 cm 936 keV 1.33 keV 85.1 um 85.1 um World eIoni - 2 60.4 um -20 cm 1.78 cm 977 MeV 13.6 keV 9.76 cm 9.77 cm OutOfWorldTransportation - ----> Begin of Event: 50 - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 36.9 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 36.4 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.6 cm 1.41 cm 410 MeV 6.69 keV 4.08 cm 4.08 cm World eIoni - 2 6.38 um -20 cm 2.22 cm 2.05 GeV 34.4 keV 16.4 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.6 cm 1.41 cm 2.34 keV 0 eV 0 fm 0 fm World initStep - 1 -9.84 um -3.62 cm 1.41 cm 2.19 MeV 2.34 keV 201 um 201 um World eIoni - 2 -23.7 um -4.45 cm 1.41 cm 84.9 MeV 827 eV 8.27 mm 8.47 mm World eIoni - 3 -31.9 um -10.1 cm 1.41 cm 654 MeV 10.4 keV 5.69 cm 6.53 cm World eIoni - 4 -34.4 um -20 cm 1.41 cm 1.64 GeV 19.2 keV 9.86 cm 16.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -31.9 um -10.1 cm 1.41 cm 1.22 keV 0 eV 0 fm 0 fm World initStep - 1 -33.4 um -10.1 cm 1.41 cm 832 keV 1.22 keV 75.7 um 75.7 um World eIoni - 2 -39.7 um -20 cm 1.41 cm 986 MeV 14.7 keV 9.86 cm 9.86 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6.01 cm 1.64 cm 651 MeV 11.1 keV 6.49 cm 6.49 cm World eIoni - 2 -9.26 um -12.6 cm 2 cm 1.31 GeV 12.3 keV 6.64 cm 13.1 cm World eIoni - 3 -11.1 um -15 cm 2.08 cm 1.55 GeV 6.54 keV 2.39 cm 15.5 cm World eIoni - 4 -12 um -16.7 cm 2.13 cm 1.72 GeV 2.66 keV 1.69 cm 17.2 cm World eIoni - 5 -13.7 um -20 cm 2.22 cm 2.05 GeV 7.74 keV 3.28 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -12 um -16.7 cm 2.13 cm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 -9.65 um -16.7 cm 2.13 cm 786 keV 1.17 keV 71.5 um 71.5 um World eIoni - 2 -1.45 um -20 cm 2.13 cm 328 MeV 5.58 keV 3.27 cm 3.28 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -11.1 um -15 cm 2.08 cm 1.1 keV 0 eV 0 fm 0 fm World initStep - 1 -15.6 um -15 cm 2.08 cm 722 keV 1.1 keV 65.6 um 65.6 um World eIoni - 2 -33.3 um -20 cm 2.08 cm 497 MeV 8.23 keV 4.96 cm 4.97 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -9.26 um -12.6 cm 2 cm 2.53 keV 0 eV 0 fm 0 fm World initStep - 1 -14.2 um -12.7 cm 2 cm 2.45 MeV 2.53 keV 226 um 226 um World eIoni - 2 -19.1 um -13 cm 2 cm 37.2 MeV 576 eV 3.47 mm 3.7 mm WorldTransportation - 3 -19.1 um -13 cm 2 cm 37.2 MeV 0 eV 0 fm 3.7 mm World eIoni - 4 -25 um -19.4 cm 2 cm 674 MeV 12.5 keV 6.37 cm 6.74 cm World eIoni - 5 -24.9 um -19.6 cm 2 cm 700 MeV 252 eV 2.67 mm 7 cm World eIoni - 6 -24.7 um -20 cm 2 cm 737 MeV 567 eV 3.61 mm 7.36 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -24.9 um -19.6 cm 2 cm 3.92 keV 0 eV 0 fm 0 fm World initStep - 1 -45.4 um -19.7 cm 2 cm 5.05 MeV 3.92 keV 472 um 472 um World eIoni - 2 -56 um -20 cm 2 cm 36.5 MeV 520 eV 3.15 mm 3.62 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -25 um -19.4 cm 2 cm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 -29.7 um -19.4 cm 2 cm 735 keV 1.11 keV 66.9 um 66.9 um World eIoni - 2 -42 um -20 cm 2 cm 62.9 MeV 846 eV 6.22 mm 6.28 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6.01 cm 1.64 cm 18.6 keV 0 eV 0 fm 0 fm World initStep - 1 91.4 um -6.31 cm 1.64 cm 31.7 MeV 4.25 keV 3.05 mm 3.05 mm World eIoni - 2 110 um -7.36 cm 1.64 cm 137 MeV 2.61 keV 1.06 cm 1.36 cm World eIoni - 3 132 um -13.1 cm 1.64 cm 707 MeV 12 keV 5.7 cm 7.06 cm World eIoni - 4 138 um -17.8 cm 1.65 cm 1.18 GeV 10.1 keV 4.76 cm 11.8 cm World eIoni - 5 141 um -20 cm 1.65 cm 1.4 GeV 3.15 keV 2.18 cm 14 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 138 um -17.8 cm 1.65 cm 8.87 keV 0 eV 0 fm 0 fm World initStep - 1 95.5 um -18 cm 1.65 cm 17 MeV 4.27 keV 1.61 mm 1.61 mm World eIoni - 2 88 um -18.3 cm 1.65 cm 46 MeV 437 eV 2.91 mm 4.52 mm World eIoni - 3 76.2 um -20 cm 1.65 cm 219 MeV 4.48 keV 1.73 cm 2.18 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 132 um -13.1 cm 1.64 cm 1.04 keV 0 eV 0 fm 0 fm World initStep - 1 136 um -13.1 cm 1.64 cm 673 keV 1.04 keV 61.2 um 61.2 um World eIoni - 2 150 um -20 cm 1.64 cm 694 MeV 9.25 keV 6.93 cm 6.94 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -9.67 mm 8.75 mm 147 MeV 3.2 keV 1.38 cm 1.38 cm World eIoni - 2 -3.26 um -20 cm 2.22 cm 2.05 GeV 37.4 keV 19.1 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -9.67 mm 8.75 mm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 1.91 um -9.73 mm 8.75 mm 703 keV 1.06 keV 62.6 um 62.6 um World eIoni - 2 11.1 um -20 cm 8.77 mm 1.9 GeV 29.8 keV 19 cm 19 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -8.15 cm 1.78 cm 865 MeV 16.9 keV 8.64 cm 8.64 cm World eIoni - 2 -2.45 um -19.1 cm 2.2 cm 1.96 GeV 24.6 keV 10.9 cm 19.6 cm World eIoni - 3 -2.53 um -20 cm 2.22 cm 2.05 GeV 2.49 keV 9.12 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.45 um -19.1 cm 2.2 cm 1.7 keV 0 eV 0 fm 0 fm World initStep - 1 -4.62 um -19.1 cm 2.2 cm 1.34 MeV 1.7 keV 122 um 122 um World eIoni - 2 -8.9 um -20 cm 2.2 cm 91.3 MeV 997 eV 9 mm 9.12 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -8.15 cm 1.78 cm 1.16 keV 0 eV 0 fm 0 fm World initStep - 1 4.8 um -8.16 cm 1.78 cm 780 keV 1.16 keV 71 um 71 um World eIoni - 2 25 um -20 cm 1.78 cm 1.19 GeV 15.9 keV 11.8 cm 11.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.8 cm 1.54 cm 530 MeV 10.3 keV 5.28 cm 5.28 cm World eIoni - 2 5.86 um -11.8 cm 1.96 cm 1.23 GeV 15.5 keV 6.99 cm 12.3 cm World eIoni - 3 9.45 um -20 cm 2.22 cm 2.05 GeV 14.9 keV 8.23 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.86 um -11.8 cm 1.96 cm 1.32 keV 0 eV 0 fm 0 fm World initStep - 1 5.79 um -11.8 cm 1.96 cm 937 keV 1.32 keV 85.1 um 85.1 um World eIoni - 2 5.56 um -15.7 cm 1.96 cm 388 MeV 5.98 keV 3.96 cm 3.97 cm World eBrem - 3 5.85 um -20 cm 1.96 cm 814 MeV 10.1 keV 4.26 cm 8.23 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.56 um -15.7 cm 1.96 cm 8.42 MeV 0 eV 0 fm 0 fm World initStep - 1 -16.1 um -20 cm 1.96 cm 8.42 MeV 0 eV 4.26 cm 4.26 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.8 cm 1.54 cm 6.35 keV 0 eV 0 fm 0 fm World initStep - 1 -24.7 um -4.86 cm 1.54 cm 5.94 MeV 1.7 keV 565 um 565 um World eIoni - 2 -58.5 um -12.5 cm 1.54 cm 771 MeV 12.5 keV 7.65 cm 7.7 cm World eIoni - 3 -64.1 um -18.3 cm 1.54 cm 1.35 GeV 11.1 keV 5.82 cm 13.5 cm World eIoni - 4 -64.5 um -20 cm 1.54 cm 1.52 GeV 2.96 keV 1.67 cm 15.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -64.1 um -18.3 cm 1.54 cm 17.2 keV 0 eV 0 fm 0 fm World initStep - 1 -108 um -18.6 cm 1.55 cm 29.5 MeV 3.75 keV 2.84 mm 2.84 mm World eIoni - 2 -117 um -19.6 cm 1.55 cm 128 MeV 1.87 keV 9.87 mm 1.27 cm World eIoni - 3 -118 um -20 cm 1.55 cm 169 MeV 1.34 keV 4.07 mm 1.68 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -117 um -19.6 cm 1.55 cm 1.79 keV 0 eV 0 fm 0 fm World initStep - 1 -125 um -19.6 cm 1.55 cm 1.45 MeV 1.79 keV 132 um 132 um World eIoni - 2 -137 um -20 cm 1.55 cm 40.8 MeV 268 eV 3.94 mm 4.07 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -58.5 um -12.5 cm 1.54 cm 4.99 keV 0 eV 0 fm 0 fm World initStep - 1 -46.3 um -12.6 cm 1.54 cm 7.64 MeV 4.99 keV 717 um 717 um World eIoni - 2 -43.1 um -12.7 cm 1.54 cm 23.6 MeV 198 eV 1.59 mm 2.31 mm World eIoni - 3 -32.4 um -19.8 cm 1.55 cm 732 MeV 14 keV 7.08 cm 7.31 cm World eIoni - 4 -32.4 um -20 cm 1.55 cm 750 MeV 520 eV 1.82 mm 7.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -32.4 um -19.8 cm 1.55 cm 1.09 keV 0 eV 0 fm 0 fm World initStep - 1 -27.9 um -19.8 cm 1.55 cm 712 keV 1.09 keV 64.7 um 64.7 um World eIoni - 2 -19.8 um -20 cm 1.55 cm 18.2 MeV 192 eV 1.75 mm 1.82 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.5 cm 1.04 cm 200 MeV 3.63 keV 1.94 cm 1.94 cm World eIoni - 2 -3.13 um -7.56 cm 1.75 cm 806 MeV 10 keV 6.12 cm 8.05 cm World eIoni - 3 -3.85 um -20 cm 2.22 cm 2.05 GeV 30.2 keV 12.4 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.13 um -7.56 cm 1.75 cm 1.4 keV 0 eV 0 fm 0 fm World initStep - 1 -5.71 um -7.57 cm 1.75 cm 1.01 MeV 1.4 keV 92.3 um 92.3 um World eIoni - 2 -15.3 um -20 cm 1.75 cm 1.24 GeV 15.6 keV 12.4 cm 12.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.5 cm 1.04 cm 1.3 keV 0 eV 0 fm 0 fm World initStep - 1 3.77 um -1.51 cm 1.04 cm 903 keV 1.3 keV 82.7 um 82.7 um World eIoni - 2 20 um -20 cm 1.04 cm 1.85 GeV 23.3 keV 18.5 cm 18.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 40 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -10.6 cm 1.91 cm 1.11 GeV 18.5 keV 11.1 cm 11.1 cm World eIoni - 2 -934 nm -13.9 cm 2.04 cm 1.44 GeV 6.84 keV 3.26 cm 14.4 cm World eIoni - 3 -2.51 um -20 cm 2.22 cm 2.05 GeV 13.1 keV 6.12 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -934 nm -13.9 cm 2.04 cm 1.3 keV 0 eV 0 fm 0 fm World initStep - 1 476 nm -13.9 cm 2.04 cm 909 keV 1.3 keV 82.5 um 82.5 um World eIoni - 2 5.53 um -20 cm 2.04 cm 611 MeV 11 keV 6.11 cm 6.11 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -10.6 cm 1.91 cm 1.32 keV 0 eV 0 fm 0 fm World initStep - 1 6.33 um -10.6 cm 1.91 cm 934 keV 1.32 keV 84.9 um 84.9 um World eIoni - 2 30.3 um -20 cm 1.91 cm 937 MeV 14.4 keV 9.36 cm 9.37 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -83.4 um 917 um 50.8 MeV 127 eV 922 um 922 um World eIoni - 2 4.63 um -3.12 cm 1.34 cm 362 MeV 8.11 keV 3.5 cm 3.59 cm World eIoni - 3 1.48 um -19.8 cm 2.22 cm 2.03 GeV 35.1 keV 16.7 cm 20.3 cm World eIoni - 4 1.55 um -20 cm 2.22 cm 2.05 GeV 359 eV 1.61 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.48 um -19.8 cm 2.22 cm 30.2 keV 0 eV 0 fm 0 fm World initStep - 1 -99.6 um -20 cm 2.2 cm 19.3 MeV 1.56 keV 1.71 mm 1.71 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.63 um -3.12 cm 1.34 cm 1.4 keV 0 eV 0 fm 0 fm World initStep - 1 11.3 um -3.13 cm 1.34 cm 1.02 MeV 1.4 keV 92.6 um 92.6 um World eIoni - 2 37.7 um -20 cm 1.34 cm 1.69 GeV 24.9 keV 16.9 cm 16.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -83.4 um 917 um 1.1 keV 0 eV 0 fm 0 fm World initStep - 1 -3.37 um -147 um 918 um 844 keV 1.1 keV 66 um 66 um World eIoni - 2 -17.2 um -20 cm 922 um 2 GeV 27.6 keV 20 cm 20 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 42.1 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -14.2 cm 2.05 cm 1.47 GeV 28.4 keV 14.7 cm 14.7 cm World eIoni - 2 -328 nm -20 cm 2.22 cm 2.05 GeV 13.4 keV 5.78 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -14.2 cm 2.05 cm 1.25 keV 0 eV 0 fm 0 fm World initStep - 1 1.65 um -14.2 cm 2.05 cm 855 keV 1.25 keV 77.8 um 77.8 um World eIoni - 2 7.74 um -20 cm 2.05 cm 577 MeV 8.94 keV 5.77 cm 5.77 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.51 cm 1.04 cm 201 MeV 3.37 keV 1.95 cm 1.95 cm World eIoni - 2 4.55 um -8.09 cm 1.78 cm 859 MeV 10.7 keV 6.64 cm 8.58 cm World eIoni - 3 5.92 um -10.3 cm 1.9 cm 1.08 GeV 5.05 keV 2.25 cm 10.8 cm World eIoni - 4 6.4 um -16.2 cm 2.12 cm 1.67 GeV 13.7 keV 5.85 cm 16.7 cm World eIoni - 5 6.9 um -20 cm 2.22 cm 2.05 GeV 8.38 keV 3.81 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 6.4 um -16.2 cm 2.12 cm 1.19 keV 0 eV 0 fm 0 fm World initStep - 1 4.3 um -16.2 cm 2.12 cm 809 keV 1.19 keV 73.7 um 73.7 um World eIoni - 2 -3.12 um -20 cm 2.11 cm 381 MeV 4.58 keV 3.8 cm 3.81 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.92 um -10.3 cm 1.9 cm 2.38 keV 0 eV 0 fm 0 fm World initStep - 1 17.9 um -10.4 cm 1.9 cm 2.24 MeV 2.38 keV 206 um 206 um World eIoni - 2 26.8 um -10.5 cm 1.9 cm 16.9 MeV 97.3 eV 1.47 mm 1.68 mm World eIoni - 3 53.2 um -12.4 cm 1.89 cm 203 MeV 3.88 keV 1.86 cm 2.03 cm World eIoni - 4 64.4 um -20 cm 1.89 cm 966 MeV 16.6 keV 7.63 cm 9.66 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 53.2 um -12.4 cm 1.89 cm 4.03 keV 0 eV 0 fm 0 fm World initStep - 1 64.3 um -12.4 cm 1.89 cm 5.3 MeV 4.03 keV 495 um 495 um World eIoni - 2 66 um -12.5 cm 1.89 cm 9.25 MeV 13.7 eV 394 um 890 um World eIoni - 3 80.1 um -20 cm 1.9 cm 763 MeV 13.3 keV 7.54 cm 7.63 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 26.8 um -10.5 cm 1.9 cm 58.5 keV 0 eV 0 fm 0 fm World initStep - 1 -20 um -11.9 cm 1.92 cm 143 MeV 9.1 keV 1.42 cm 1.42 cm World eIoni - 2 -20.7 um -12.1 cm 1.92 cm 162 MeV 251 eV 1.89 mm 1.61 cm World eIoni - 3 -24.4 um -13.6 cm 1.92 cm 313 MeV 4.82 keV 1.51 cm 3.12 cm World eIoni - 4 -25 um -13.9 cm 1.92 cm 338 MeV 336 eV 2.47 mm 3.37 cm World eIoni - 5 -30.8 um -20 cm 1.92 cm 951 MeV 11.8 keV 6.13 cm 9.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -25 um -13.9 cm 1.92 cm 1.04 keV 0 eV 0 fm 0 fm World initStep - 1 -28.6 um -13.9 cm 1.92 cm 669 keV 1.04 keV 60.8 um 60.8 um World eIoni - 2 -44.1 um -20 cm 1.92 cm 613 MeV 9.74 keV 6.12 cm 6.13 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -24.4 um -13.6 cm 1.92 cm 1.03 keV 0 eV 0 fm 0 fm World initStep - 1 -20.8 um -13.6 cm 1.92 cm 665 keV 1.03 keV 60.5 um 60.5 um World eIoni - 2 -6.29 um -20 cm 1.92 cm 638 MeV 10.8 keV 6.37 cm 6.37 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.55 um -8.09 cm 1.78 cm 2.05 keV 0 eV 0 fm 0 fm World initStep - 1 -1.82 um -8.11 cm 1.78 cm 1.77 MeV 2.05 keV 163 um 163 um World eIoni - 2 -19.7 um -20 cm 1.78 cm 1.19 GeV 15.7 keV 11.9 cm 11.9 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.51 cm 1.04 cm 1.54 keV 0 eV 0 fm 0 fm World initStep - 1 -5.98 um -1.52 cm 1.04 cm 1.17 MeV 1.54 keV 106 um 106 um World eIoni - 2 -28.1 um -20 cm 1.04 cm 1.85 GeV 26.4 keV 18.5 cm 18.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.78 cm 1.29 cm 328 MeV 5.82 keV 3.25 cm 3.25 cm World eIoni - 2 -6.5 um -16.3 cm 2.12 cm 1.68 GeV 27.8 keV 13.5 cm 16.8 cm World eIoni - 3 -7.76 um -20 cm 2.22 cm 2.05 GeV 8.86 keV 3.71 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.5 um -16.3 cm 2.12 cm 1.05 keV 0 eV 0 fm 0 fm World initStep - 1 -2.98 um -16.3 cm 2.12 cm 683 keV 1.05 keV 62.2 um 62.2 um World eIoni - 2 10.6 um -20 cm 2.12 cm 371 MeV 3.7 keV 3.71 cm 3.71 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.78 cm 1.29 cm 1.63 keV 0 eV 0 fm 0 fm World initStep - 1 7.87 um -2.79 cm 1.29 cm 1.26 MeV 1.63 keV 115 um 115 um World eIoni - 2 35.7 um -20 cm 1.29 cm 1.72 GeV 25.4 keV 17.2 cm 17.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.65 cm 1.41 cm 415 MeV 7.23 keV 4.12 cm 4.12 cm World eIoni - 2 484 nm -5.96 cm 1.64 cm 646 MeV 5.36 keV 2.32 cm 6.44 cm World eIoni - 3 448 nm -6.02 cm 1.64 cm 652 MeV 333 eV 603 um 6.5 cm World eIoni - 4 -5.94 um -20 cm 2.22 cm 2.05 GeV 27.2 keV 14 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 448 nm -6.02 cm 1.64 cm 2.32 keV 0 eV 0 fm 0 fm World initStep - 1 4.61 um -6.04 cm 1.64 cm 2.15 MeV 2.32 keV 198 um 198 um World eIoni - 2 5.56 um -6.06 cm 1.64 cm 4.13 MeV 78.9 eV 197 um 395 um World eIoni - 3 11.6 um -7.23 cm 1.64 cm 121 MeV 2.1 keV 1.17 cm 1.21 cm World eIoni - 4 120 um -20 cm 1.64 cm 1.4 GeV 25.5 keV 12.8 cm 14 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 11.6 um -7.23 cm 1.64 cm 211 keV 0 eV 0 fm 0 fm World initStep - 1 -273 um -9.44 cm 1.63 cm 222 MeV 5.73 keV 2.22 cm 2.22 cm World eIoni - 2 -283 um -9.98 cm 1.63 cm 276 MeV 723 eV 5.46 mm 2.76 cm World eIoni - 3 -343 um -20 cm 1.62 cm 1.28 GeV 22.2 keV 10 cm 12.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -283 um -9.98 cm 1.63 cm 1.16 keV 0 eV 0 fm 0 fm World initStep - 1 -288 um -9.99 cm 1.63 cm 775 keV 1.16 keV 70.4 um 70.4 um World eIoni - 2 -309 um -20 cm 1.63 cm 1 GeV 13.6 keV 10 cm 10 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 484 nm -5.96 cm 1.64 cm 2.69 keV 0 eV 0 fm 0 fm World initStep - 1 13.9 um -5.98 cm 1.64 cm 2.72 MeV 2.69 keV 251 um 251 um World eIoni - 2 32.7 um -7.27 cm 1.64 cm 132 MeV 1.81 keV 1.29 cm 1.32 cm World eIoni - 3 37.7 um -9.58 cm 1.64 cm 363 MeV 4.33 keV 2.31 cm 3.63 cm World eIoni - 4 41.1 um -11.6 cm 1.64 cm 569 MeV 5.46 keV 2.06 cm 5.69 cm World eIoni - 5 44.2 um -15.3 cm 1.64 cm 933 MeV 8.94 keV 3.65 cm 9.33 cm World eIoni - 6 46.2 um -20 cm 1.64 cm 1.4 GeV 7.68 keV 4.71 cm 14 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 44.2 um -15.3 cm 1.64 cm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 44.3 um -15.3 cm 1.64 cm 732 keV 1.11 keV 66.5 um 66.5 um World eIoni - 2 44.9 um -20 cm 1.64 cm 471 MeV 5.93 keV 4.7 cm 4.71 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 41.1 um -11.6 cm 1.64 cm 1.13 keV 0 eV 0 fm 0 fm World initStep - 1 42.9 um -11.6 cm 1.64 cm 756 keV 1.13 keV 68.8 um 68.8 um World eIoni - 2 50.7 um -20 cm 1.64 cm 836 MeV 11.7 keV 8.35 cm 8.36 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 37.7 um -9.58 cm 1.64 cm 1.74 keV 0 eV 0 fm 0 fm World initStep - 1 32.6 um -9.59 cm 1.64 cm 1.39 MeV 1.74 keV 127 um 127 um World eIoni - 2 16.5 um -20 cm 1.63 cm 1.04 GeV 16 keV 10.4 cm 10.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.65 cm 1.41 cm 9.37 keV 0 eV 0 fm 0 fm World initStep - 1 -6.17 um -3.82 cm 1.42 cm 17.8 MeV 3.74 keV 1.69 mm 1.69 mm World eIoni - 2 -6.63 um -3.91 cm 1.42 cm 27.4 MeV 741 eV 968 um 2.66 mm World eIoni - 3 -10.7 um -15.2 cm 1.42 cm 1.15 GeV 22.2 keV 11.3 cm 11.5 cm World eIoni - 4 -10.1 um -20 cm 1.42 cm 1.64 GeV 10.8 keV 4.82 cm 16.4 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -10.7 um -15.2 cm 1.42 cm 3.06 keV 0 eV 0 fm 0 fm World initStep - 1 -20.6 um -15.2 cm 1.42 cm 3.34 MeV 3.06 keV 309 um 309 um World eIoni - 2 -22.2 um -15.2 cm 1.42 cm 5.56 MeV 82.6 eV 222 um 532 um World eIoni - 3 -27.1 um -15.4 cm 1.42 cm 25.4 MeV 142 eV 1.98 mm 2.52 mm World eIoni - 4 -36.2 um -16.4 cm 1.43 cm 126 MeV 1.77 keV 1 cm 1.26 cm World eIoni - 5 -41.7 um -20 cm 1.43 cm 482 MeV 7.75 keV 3.56 cm 4.82 cm OutOfWorldTransportation + 0 -30 um -19.4 cm 1.54 cm 14 keV 0 eV 0 fm 0 fm World initStep + 1 -76.1 um -19.6 cm 1.54 cm 12.7 MeV 1.48 keV 1.23 mm 1.23 mm World eIoni + 2 -90.9 um -20 cm 1.54 cm 56.1 MeV 429 eV 4.34 mm 5.57 mm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 12, Parent ID = 10 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -36.2 um -16.4 cm 1.43 cm 5.63 keV 0 eV 0 fm 0 fm World initStep - 1 -41.3 um -16.5 cm 1.43 cm 4.53 MeV 1.16 keV 430 um 430 um World eIoni - 2 -48.1 um -20 cm 1.43 cm 356 MeV 5.92 keV 3.52 cm 3.56 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -27.1 um -15.4 cm 1.42 cm 1.27 keV 0 eV 0 fm 0 fm World initStep - 1 -23.2 um -15.4 cm 1.42 cm 874 keV 1.27 keV 79.5 um 79.5 um World eIoni - 2 -9.51 um -20 cm 1.42 cm 457 MeV 7.8 keV 4.56 cm 4.57 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 46.8 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -5.91 cm 1.63 cm 641 MeV 12 keV 6.4 cm 6.4 cm World eIoni - 2 -204 nm -6.96 cm 1.71 cm 746 MeV 1.7 keV 1.06 cm 7.45 cm World eIoni - 3 1.61 um -17.7 cm 2.16 cm 1.82 GeV 19.4 keV 10.7 cm 18.2 cm World eIoni - 4 1.42 um -20 cm 2.22 cm 2.05 GeV 6.59 keV 2.3 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.61 um -17.7 cm 2.16 cm 2.12 keV 0 eV 0 fm 0 fm World initStep - 1 10.2 um -17.7 cm 2.16 cm 1.87 MeV 2.12 keV 171 um 171 um World eIoni - 2 22.6 um -18.3 cm 2.16 cm 63.8 MeV 725 eV 6.2 mm 6.37 mm World eIoni - 3 27.3 um -20 cm 2.16 cm 230 MeV 2.11 keV 1.66 cm 2.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -204 nm -6.96 cm 1.71 cm 1.25 keV 0 eV 0 fm 0 fm World initStep - 1 -5.88 um -6.97 cm 1.71 cm 863 keV 1.25 keV 78.5 um 78.5 um World eIoni - 2 -28.7 um -20 cm 1.71 cm 1.3 GeV 19.6 keV 13 cm 13 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -5.91 cm 1.63 cm 1.27 keV 0 eV 0 fm 0 fm World initStep - 1 2.29 um -5.92 cm 1.63 cm 885 keV 1.27 keV 80.2 um 80.2 um World eIoni - 2 11.8 um -20 cm 1.64 cm 1.41 GeV 18.9 keV 14.1 cm 14.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.86 cm 1.44 cm 436 MeV 7.85 keV 4.33 cm 4.33 cm World eIoni - 2 -2.21 um -8 cm 1.78 cm 850 MeV 6.72 keV 4.16 cm 8.49 cm World eIoni - 3 2.82 um -18.7 cm 2.19 cm 1.92 GeV 22.9 keV 10.7 cm 19.2 cm World eIoni - 4 2.87 um -20 cm 2.22 cm 2.05 GeV 2 keV 1.27 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 2.82 um -18.7 cm 2.19 cm 4.24 keV 0 eV 0 fm 0 fm World initStep - 1 22 um -18.8 cm 2.19 cm 5.8 MeV 4.24 keV 543 um 543 um World eIoni - 2 34.3 um -19.4 cm 2.19 cm 63.6 MeV 812 eV 5.78 mm 6.32 mm World eIoni - 3 38 um -20 cm 2.19 cm 127 MeV 1.01 keV 6.36 mm 1.27 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.21 um -8 cm 1.78 cm 9.83 keV 0 eV 0 fm 0 fm World initStep - 1 -56.3 um -8.17 cm 1.78 cm 18.4 MeV 6.84 keV 1.75 mm 1.75 mm World eIoni - 2 -67.6 um -8.61 cm 1.78 cm 62.3 MeV 570 eV 4.39 mm 6.14 mm World eIoni - 3 -96.5 um -20 cm 1.78 cm 1.2 GeV 20.1 keV 11.4 cm 12 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.86 cm 1.44 cm 3.5 keV 0 eV 0 fm 0 fm World initStep - 1 10.5 um -3.9 cm 1.44 cm 4.19 MeV 3.5 keV 390 um 390 um World eIoni - 2 16.3 um -4.12 cm 1.44 cm 26.5 MeV 284 eV 2.23 mm 2.62 mm World eIoni - 3 25.6 um -7.59 cm 1.43 cm 374 MeV 5.91 keV 3.47 cm 3.73 cm World eIoni - 4 30.2 um -11.3 cm 1.43 cm 744 MeV 6.7 keV 3.71 cm 7.44 cm World eIoni - 5 32.5 um -13.1 cm 1.43 cm 923 MeV 4.26 keV 1.79 cm 9.23 cm World eIoni - 6 33.6 um -15.1 cm 1.43 cm 1.12 GeV 6.14 keV 1.99 cm 11.2 cm World eIoni - 7 34.7 um -20 cm 1.43 cm 1.61 GeV 10.3 keV 4.92 cm 16.1 cm OutOfWorldTransportation + 0 -35.8 um -18 cm 1.54 cm 2.11 keV 0 eV 0 fm 0 fm World initStep + 1 -42 um -18 cm 1.54 cm 1.85 MeV 2.11 keV 170 um 170 um World eIoni + 2 -48.1 um -18.2 cm 1.54 cm 22.3 MeV 392 eV 2.04 mm 2.21 mm World eIoni + 3 -53.9 um -20 cm 1.54 cm 198 MeV 1.78 keV 1.76 cm 1.98 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 33.6 um -15.1 cm 1.43 cm 1.12 keV 0 eV 0 fm 0 fm World initStep - 1 37.1 um -15.1 cm 1.43 cm 740 keV 1.12 keV 67.3 um 67.3 um World eIoni - 2 50.8 um -20 cm 1.44 cm 492 MeV 5.93 keV 4.91 cm 4.92 cm OutOfWorldTransportation + 0 12.5 um -8.25 cm 1.54 cm 4.66 keV 0 eV 0 fm 0 fm World initStep + 1 13.1 um -8.32 cm 1.54 cm 6.84 MeV 4.66 keV 641 um 641 um World eIoni + 2 13.3 um -8.71 cm 1.54 cm 45.6 MeV 648 eV 3.87 mm 4.52 mm World eIoni + 3 13.7 um -14.6 cm 1.54 cm 637 MeV 15.9 keV 5.92 cm 6.37 cm World eIoni + 4 14.3 um -20 cm 1.54 cm 1.18 GeV 8.52 keV 5.38 cm 11.7 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 8 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 32.5 um -13.1 cm 1.43 cm 6.77 keV 0 eV 0 fm 0 fm World initStep - 1 60.4 um -13.2 cm 1.43 cm 12.8 MeV 6.77 keV 1.2 mm 1.2 mm World eIoni - 2 66.4 um -13.5 cm 1.43 cm 38.1 MeV 386 eV 2.54 mm 3.74 mm World eIoni - 3 77.1 um -15.6 cm 1.43 cm 256 MeV 5.38 keV 2.18 cm 2.55 cm World eIoni - 4 77.4 um -16.2 cm 1.43 cm 316 MeV 2.74 keV 6.02 mm 3.15 cm World eIoni - 5 79.6 um -19.8 cm 1.43 cm 672 MeV 8.05 keV 3.56 cm 6.72 cm World eIoni - 6 79.6 um -20 cm 1.43 cm 692 MeV 473 eV 1.98 mm 6.91 cm OutOfWorldTransportation + 0 13.7 um -14.6 cm 1.54 cm 2.02 keV 0 eV 0 fm 0 fm World initStep + 1 12 um -14.6 cm 1.54 cm 1.74 MeV 2.02 keV 159 um 159 um World eIoni + 2 8.09 um -17.7 cm 1.54 cm 304 MeV 3.01 keV 3.02 cm 3.03 cm World eIoni + 3 7.9 um -18.5 cm 1.54 cm 388 MeV 3.11 keV 8.44 mm 3.88 cm World eIoni + 4 8.2 um -20 cm 1.54 cm 535 MeV 5.75 keV 1.47 cm 5.35 cm World eIoni + 5 8.21 um -20 cm 1.54 cm 538 MeV 13.5 eV 298 um 5.38 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 7 +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 14 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 79.6 um -19.8 cm 1.43 cm 1.4 keV 0 eV 0 fm 0 fm World initStep - 1 86.3 um -19.8 cm 1.43 cm 1.02 MeV 1.4 keV 92.6 um 92.6 um World eIoni - 2 96.1 um -20 cm 1.43 cm 19.9 MeV 122 eV 1.89 mm 1.98 mm OutOfWorldTransportation + 0 8.2 um -20 cm 1.54 cm 1.93 keV 0 eV 0 fm 0 fm World initStep + 1 3.17 um -20 cm 1.54 cm 1.62 MeV 1.93 keV 148 um 148 um World eIoni + 2 2.35 um -20 cm 1.54 cm 3.15 MeV 0 eV 152 um 301 um OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 7 +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 14 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 77.4 um -16.2 cm 1.43 cm 1.33 keV 0 eV 0 fm 0 fm World initStep - 1 74 um -16.2 cm 1.43 cm 938 keV 1.33 keV 85.3 um 85.3 um World eIoni - 2 63.3 um -20 cm 1.43 cm 376 MeV 6.42 keV 3.75 cm 3.76 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 77.1 um -15.6 cm 1.43 cm 2.35 keV 0 eV 0 fm 0 fm World initStep - 1 88.4 um -15.7 cm 1.43 cm 2.19 MeV 2.35 keV 201 um 201 um World eIoni - 2 101 um -16 cm 1.43 cm 38 MeV 744 eV 3.58 mm 3.78 mm World eIoni - 3 112 um -20 cm 1.43 cm 436 MeV 7.41 keV 3.98 cm 4.36 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 30.2 um -11.3 cm 1.43 cm 1.85 keV 0 eV 0 fm 0 fm World initStep - 1 20.9 um -11.3 cm 1.43 cm 1.52 MeV 1.85 keV 139 um 139 um World eIoni - 2 -5.73 um -20 cm 1.43 cm 870 MeV 13.9 keV 8.69 cm 8.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 25.6 um -7.59 cm 1.43 cm 1.16 keV 0 eV 0 fm 0 fm World initStep - 1 20.3 um -7.6 cm 1.43 cm 776 keV 1.16 keV 70.6 um 70.6 um World eIoni - 2 -2.16 um -20 cm 1.43 cm 1.24 GeV 20 keV 12.4 cm 12.4 cm OutOfWorldTransportation + 0 7.9 um -18.5 cm 1.54 cm 1.34 keV 0 eV 0 fm 0 fm World initStep + 1 4.94 um -18.5 cm 1.54 cm 953 keV 1.34 keV 86.7 um 86.7 um World eIoni + 2 -2.89 um -20 cm 1.54 cm 150 MeV 1.55 keV 1.49 cm 1.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -3607,614 +409,251 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.69 cm 1.09 cm 219 MeV 3.65 keV 2.14 cm 2.14 cm World eIoni - 2 -6.9 um -11.6 cm 1.95 cm 1.21 GeV 18.7 keV 9.91 cm 12 cm World eIoni - 3 -8.36 um -20 cm 2.22 cm 2.05 GeV 19.4 keV 8.45 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.9 um -11.6 cm 1.95 cm 1 keV 0 eV 0 fm 0 fm World initStep - 1 -8.78 um -11.6 cm 1.95 cm 637 keV 1 keV 57.8 um 57.8 um World eIoni - 2 -17.4 um -20 cm 1.95 cm 845 MeV 14 keV 8.44 cm 8.45 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.69 cm 1.09 cm 1.59 keV 0 eV 0 fm 0 fm World initStep - 1 7.8 um -1.7 cm 1.09 cm 1.21 MeV 1.59 keV 110 um 110 um World eIoni - 2 36.4 um -20 cm 1.09 cm 1.83 GeV 29.7 keV 18.3 cm 18.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.73 cm 1.42 cm 423 MeV 5.91 keV 4.2 cm 4.2 cm World eIoni - 2 4.23 um -14.2 cm 2.05 cm 1.47 GeV 23.3 keV 10.5 cm 14.7 cm World eIoni - 3 4.83 um -20 cm 2.22 cm 2.05 GeV 12 keV 5.78 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.23 um -14.2 cm 2.05 cm 7.77 keV 0 eV 0 fm 0 fm World initStep - 1 12.7 um -14.4 cm 2.06 cm 14.9 MeV 7.47 keV 1.41 mm 1.41 mm World eIoni - 2 14.8 um -14.8 cm 2.06 cm 58.8 MeV 397 eV 4.39 mm 5.8 mm World eIoni - 3 18.6 um -20 cm 2.06 cm 579 MeV 8.8 keV 5.2 cm 5.78 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.73 cm 1.42 cm 1.35 keV 0 eV 0 fm 0 fm World initStep - 1 -5.99 um -3.74 cm 1.42 cm 965 keV 1.35 keV 87.7 um 87.7 um World eIoni - 2 -30.2 um -20 cm 1.42 cm 1.63 GeV 28.5 keV 16.3 cm 16.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -19.7 cm 2.21 cm 2.02 GeV 37.3 keV 20.2 cm 20.2 cm World eIoni - 2 63.8 nm -20 cm 2.22 cm 2.05 GeV 479 eV 2.99 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -19.7 cm 2.21 cm 2.25 keV 0 eV 0 fm 0 fm World initStep - 1 -10.5 um -19.7 cm 2.21 cm 2.05 MeV 2.25 keV 188 um 188 um World eIoni - 2 -21.3 um -20 cm 2.21 cm 30.1 MeV 916 eV 2.8 mm 2.99 mm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 40.2 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.36 cm 1.49 cm 486 MeV 9.5 keV 4.84 cm 4.84 cm World eIoni - 2 -6.01 um -18.9 cm 2.19 cm 1.94 GeV 28.5 keV 14.6 cm 19.4 cm World eIoni - 3 -6.35 um -20 cm 2.22 cm 2.05 GeV 2.24 keV 1.1 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.01 um -18.9 cm 2.19 cm 1 keV 0 eV 0 fm 0 fm World initStep - 1 -3.08 um -18.9 cm 2.19 cm 638 keV 1 keV 58 um 58 um World eIoni - 2 5.73 um -20 cm 2.19 cm 110 MeV 1.62 keV 1.09 cm 1.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.36 cm 1.49 cm 3.09 keV 0 eV 0 fm 0 fm World initStep - 1 12.7 um -4.39 cm 1.49 cm 3.39 MeV 3.09 keV 314 um 314 um World eIoni - 2 20.6 um -4.59 cm 1.49 cm 23.4 MeV 209 eV 2 mm 2.32 mm World eIoni - 3 37.2 um -14.9 cm 1.49 cm 1.05 GeV 16.1 keV 10.3 cm 10.5 cm World eIoni - 4 39.6 um -17.4 cm 1.49 cm 1.31 GeV 4.18 keV 2.51 cm 13.1 cm World eIoni - 5 41.3 um -20 cm 1.49 cm 1.56 GeV 5.56 keV 2.58 cm 15.6 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 39.6 um -17.4 cm 1.49 cm 1.71 keV 0 eV 0 fm 0 fm World initStep - 1 42.7 um -17.4 cm 1.49 cm 1.35 MeV 1.71 keV 123 um 123 um World eIoni - 2 50.5 um -20 cm 1.49 cm 258 MeV 3.75 keV 2.57 cm 2.58 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 37.2 um -14.9 cm 1.49 cm 22.4 keV 0 eV 0 fm 0 fm World initStep - 1 -12.7 um -15.3 cm 1.5 cm 37.7 MeV 4.99 keV 3.64 mm 3.64 mm World eIoni - 2 -30.2 um -20 cm 1.5 cm 511 MeV 8.33 keV 4.73 cm 5.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.91 cm 1.13 cm 241 MeV 3.01 keV 2.36 cm 2.36 cm World eIoni - 2 1.38 um -16.8 cm 2.13 cm 1.73 GeV 28.7 keV 14.9 cm 17.3 cm World eIoni - 3 1.68 um -20 cm 2.22 cm 2.05 GeV 5.64 keV 3.22 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 1.38 um -16.8 cm 2.13 cm 1.34 keV 0 eV 0 fm 0 fm World initStep - 1 -490 nm -16.8 cm 2.13 cm 957 keV 1.34 keV 87 um 87 um World eIoni - 2 -6.3 um -20 cm 2.14 cm 322 MeV 4.92 keV 3.21 cm 3.22 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.91 cm 1.13 cm 1.67 keV 0 eV 0 fm 0 fm World initStep - 1 -1.42 um -1.92 cm 1.13 cm 1.32 MeV 1.67 keV 120 um 120 um World eIoni - 2 -6.31 um -20 cm 1.14 cm 1.81 GeV 29.1 keV 18.1 cm 18.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.26 cm 1.21 cm 276 MeV 4.41 keV 2.72 cm 2.72 cm World eIoni - 2 -17.8 um -20 cm 2.22 cm 2.05 GeV 41.5 keV 17.8 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.26 cm 1.21 cm 9.56 keV 0 eV 0 fm 0 fm World initStep - 1 50.2 um -2.43 cm 1.2 cm 18.1 MeV 5.63 keV 1.72 mm 1.72 mm World eIoni - 2 64.5 um -3.18 cm 1.2 cm 92.9 MeV 1.68 keV 7.49 mm 9.2 mm World eIoni - 3 64.9 um -3.22 cm 1.2 cm 96.7 MeV 36.7 eV 381 um 9.59 mm World eIoni - 4 101 um -13.1 cm 1.2 cm 1.09 GeV 20.4 keV 9.89 cm 10.8 cm World eIoni - 5 106 um -17 cm 1.2 cm 1.47 GeV 9.7 keV 3.86 cm 14.7 cm World eIoni - 6 107 um -17.6 cm 1.2 cm 1.53 GeV 1.12 keV 5.86 mm 15.3 cm World eIoni - 7 111 um -20 cm 1.2 cm 1.77 GeV 7.98 keV 2.44 cm 17.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 107 um -17.6 cm 1.2 cm 1.48 keV 0 eV 0 fm 0 fm World initStep - 1 103 um -17.6 cm 1.2 cm 1.1 MeV 1.48 keV 99.9 um 99.9 um World eIoni - 2 90.1 um -20 cm 1.2 cm 244 MeV 5.51 keV 2.43 cm 2.44 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 106 um -17 cm 1.2 cm 19.1 keV 0 eV 0 fm 0 fm World initStep - 1 24.8 um -17.3 cm 1.2 cm 29.3 MeV 4.88 keV 2.83 mm 2.83 mm World eIoni - 2 -3.84 um -20 cm 1.19 cm 304 MeV 4.98 keV 2.75 cm 3.03 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 101 um -13.1 cm 1.2 cm 1.6 keV 0 eV 0 fm 0 fm World initStep - 1 95.6 um -13.1 cm 1.2 cm 1.22 MeV 1.6 keV 111 um 111 um World eIoni - 2 79.1 um -20 cm 1.2 cm 689 MeV 10.7 keV 6.88 cm 6.89 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 64.9 um -3.22 cm 1.2 cm 3.46 keV 0 eV 0 fm 0 fm World initStep - 1 47.9 um -3.26 cm 1.2 cm 4.11 MeV 3.46 keV 382 um 382 um World eIoni - 2 37 um -3.56 cm 1.2 cm 34.1 MeV 379 eV 3 mm 3.39 mm World eIoni - 3 16.6 um -17.5 cm 1.2 cm 1.43 GeV 24.7 keV 13.9 cm 14.3 cm World eIoni - 4 15.5 um -20 cm 1.2 cm 1.68 GeV 6.02 keV 2.53 cm 16.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 16.6 um -17.5 cm 1.2 cm 1.47 keV 0 eV 0 fm 0 fm World initStep - 1 21.1 um -17.5 cm 1.21 cm 1.08 MeV 1.47 keV 98.6 um 98.6 um World eIoni - 2 33.5 um -20 cm 1.21 cm 253 MeV 2.95 keV 2.52 cm 2.53 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -3.82 cm 1.43 cm 432 MeV 8.19 keV 4.3 cm 4.3 cm World eIoni - 2 10 um -16.2 cm 2.12 cm 1.67 GeV 21.2 keV 12.4 cm 16.7 cm World eIoni - 3 11.1 um -20 cm 2.22 cm 2.05 GeV 7.69 keV 3.76 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 10 um -16.2 cm 2.12 cm 3.61 keV 0 eV 0 fm 0 fm World initStep - 1 16.1 um -16.3 cm 2.12 cm 4.43 MeV 3.61 keV 413 um 413 um World eIoni - 2 19.9 um -16.6 cm 2.12 cm 36.2 MeV 403 eV 3.18 mm 3.59 mm World eIoni - 3 24.4 um -20 cm 2.12 cm 376 MeV 4.07 keV 3.4 cm 3.76 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -3.82 cm 1.43 cm 11.9 keV 0 eV 0 fm 0 fm World initStep - 1 -37.2 um -3.96 cm 1.44 cm 15.3 MeV 2.4 keV 1.47 mm 1.47 mm World eIoni - 2 -60.8 um -7.46 cm 1.44 cm 365 MeV 5.84 keV 3.49 cm 3.64 cm World eIoni - 3 -63.8 um -15.8 cm 1.44 cm 1.2 GeV 16.4 keV 8.35 cm 12 cm World eIoni - 4 -63 um -20 cm 1.44 cm 1.62 GeV 7.48 keV 4.19 cm 16.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -63.8 um -15.8 cm 1.44 cm 3.22 keV 0 eV 0 fm 0 fm World initStep - 1 -79.7 um -15.8 cm 1.44 cm 3.63 MeV 3.22 keV 337 um 337 um World eIoni - 2 -82.9 um -15.9 cm 1.44 cm 7.1 MeV 0 eV 347 um 684 um World eIoni - 3 -79.6 um -20 cm 1.44 cm 420 MeV 6.3 keV 4.13 cm 4.2 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -82.9 um -15.9 cm 1.44 cm 4.33 keV 0 eV 0 fm 0 fm World initStep - 1 -105 um -15.9 cm 1.44 cm 6.03 MeV 4.33 keV 564 um 564 um World eIoni - 2 -106 um -15.9 cm 1.44 cm 6.85 MeV 63.7 eV 82.2 um 646 um World eIoni - 3 -131 um -20 cm 1.44 cm 413 MeV 5.44 keV 4.06 cm 4.13 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -60.8 um -7.46 cm 1.44 cm 2.44 keV 0 eV 0 fm 0 fm World initStep - 1 -73 um -7.48 cm 1.44 cm 2.31 MeV 2.44 keV 213 um 213 um World eIoni - 2 -83.9 um -7.71 cm 1.44 cm 25.9 MeV 193 eV 2.36 mm 2.57 mm World eIoni - 3 -102 um -17.2 cm 1.44 cm 972 MeV 16.7 keV 9.46 cm 9.72 cm World eIoni - 4 -104 um -20 cm 1.44 cm 1.25 GeV 5.55 keV 2.82 cm 12.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -102 um -17.2 cm 1.44 cm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 -99.8 um -17.2 cm 1.44 cm 789 keV 1.17 keV 71.7 um 71.7 um World eIoni - 2 -90.8 um -20 cm 1.44 cm 283 MeV 3.01 keV 2.82 cm 2.82 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.95 cm 1.32 cm 345 MeV 5.87 keV 3.41 cm 3.41 cm World eIoni - 2 21.2 um -20 cm 2.22 cm 2.05 GeV 31.1 keV 17.1 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.95 cm 1.32 cm 18.7 keV 0 eV 0 fm 0 fm World initStep - 1 -82.6 um -3.25 cm 1.31 cm 32 MeV 5.35 keV 3.08 mm 3.08 mm World eIoni - 2 -86.6 um -3.38 cm 1.31 cm 45.2 MeV 202 eV 1.31 mm 4.4 mm World eIoni - 3 -130 um -20 cm 1.31 cm 1.71 GeV 33.7 keV 16.6 cm 17.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.91 mm 5.19 mm 79.1 MeV 1.11 keV 6.15 mm 6.15 mm World eIoni - 2 5.19 um -2.89 cm 1.31 cm 339 MeV 5.45 keV 2.74 cm 3.36 cm World eIoni - 3 5.62 um -4.96 cm 1.55 cm 546 MeV 4.13 keV 2.08 cm 5.44 cm World eIoni - 4 828 nm -20 cm 2.22 cm 2.05 GeV 33.2 keV 15.1 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -1.67 cm 1.08 cm 217 MeV 3.79 keV 2.12 cm 2.12 cm World eIoni + 2 1.71 um -7.4 cm 1.74 cm 790 MeV 6.85 keV 5.77 cm 7.89 cm World eIoni + 3 3.21 um -12.4 cm 1.99 cm 1.29 GeV 7.24 keV 5.02 cm 12.9 cm World eIoni + 4 6.19 um -20 cm 2.22 cm 2.05 GeV 13.5 keV 7.59 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.62 um -4.96 cm 1.55 cm 2.08 keV 0 eV 0 fm 0 fm World initStep - 1 15.9 um -4.97 cm 1.55 cm 1.81 MeV 2.08 keV 166 um 166 um World eIoni - 2 33.5 um -5.99 cm 1.55 cm 103 MeV 1.63 keV 1.01 cm 1.03 cm World eIoni - 3 45.7 um -20 cm 1.55 cm 1.5 GeV 26.5 keV 14 cm 15 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.19 um -2.89 cm 1.31 cm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 9.01 um -2.9 cm 1.31 cm 736 keV 1.11 keV 66.6 um 66.6 um World eIoni - 2 26.9 um -20 cm 1.31 cm 1.71 GeV 31.5 keV 17.1 cm 17.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.91 mm 5.19 mm 1.11 keV 0 eV 0 fm 0 fm World initStep - 1 -5.15 um -2.98 mm 5.19 mm 731 keV 1.11 keV 66.7 um 66.7 um World eIoni - 2 -30.1 um -20 cm 5.19 mm 1.97 GeV 30.2 keV 19.7 cm 19.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 36.2 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -16.9 cm 2.14 cm 1.74 GeV 32.4 keV 17.4 cm 17.4 cm World eIoni - 2 -59 nm -20 cm 2.22 cm 2.05 GeV 6.11 keV 3.11 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -16.9 cm 2.14 cm 2.25 keV 0 eV 0 fm 0 fm World initStep - 1 866 nm -16.9 cm 2.14 cm 2.05 MeV 2.25 keV 188 um 188 um World eIoni - 2 2.01 um -17.5 cm 2.14 cm 59.3 MeV 568 eV 5.72 mm 5.91 mm World eIoni - 3 2.6 um -20 cm 2.13 cm 311 MeV 4.67 keV 2.51 cm 3.1 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.93 mm 4.29 mm 69.3 MeV 719 eV 4.82 mm 4.82 mm World eIoni - 2 3.41 um -18.8 cm 2.19 cm 1.93 GeV 38.5 keV 18.9 cm 19.3 cm World eIoni - 3 3.18 um -20 cm 2.22 cm 2.05 GeV 2.59 keV 1.16 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.41 um -18.8 cm 2.19 cm 2.41 keV 0 eV 0 fm 0 fm World initStep - 1 15.6 um -18.9 cm 2.19 cm 2.28 MeV 2.41 keV 210 um 210 um World eIoni - 2 27.5 um -19.2 cm 2.19 cm 31.6 MeV 348 eV 2.94 mm 3.15 mm World eIoni - 3 33.7 um -20 cm 2.19 cm 116 MeV 1.42 keV 8.48 mm 1.16 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.93 mm 4.29 mm 2.88 keV 0 eV 0 fm 0 fm World initStep - 1 -2.9 um -2.2 mm 4.3 mm 3.1 MeV 2.88 keV 282 um 282 um World eIoni - 2 -6.06 um -1.08 cm 4.31 mm 89.2 MeV 1.13 keV 8.61 mm 8.89 mm World eIoni - 3 -9.14 um -18.5 cm 4.32 mm 1.84 GeV 34.8 keV 17.5 cm 18.4 cm World eIoni - 4 -9.3 um -20 cm 4.32 mm 1.98 GeV 2.67 keV 1.45 cm 19.8 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -9.14 um -18.5 cm 4.32 mm 995 eV 0 eV 0 fm 0 fm World initStep - 1 -6.9 um -18.6 cm 4.32 mm 631 keV 995 eV 57.4 um 57.4 um World eIoni - 2 660 nm -20 cm 4.31 mm 145 MeV 1.92 keV 1.45 cm 1.45 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.72 mm 5.03 mm 77.2 MeV 747 eV 5.91 mm 5.91 mm World eIoni - 2 15.9 um -20 cm 2.22 cm 2.05 GeV 39.8 keV 19.9 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.72 mm 5.03 mm 3 keV 0 eV 0 fm 0 fm World initStep - 1 -13.8 um -3.02 mm 5.04 mm 3.26 MeV 3 keV 301 um 301 um World eIoni - 2 -29.6 um -1.34 cm 5.05 mm 108 MeV 1.92 keV 1.04 cm 1.07 cm WorldTransportation - 3 -29.6 um -1.34 cm 5.05 mm 108 MeV3.8e-13 eV 0.00189 fm 1.07 cm World eIoni - 4 -41.8 um -14.2 cm 5.05 mm 1.39 GeV 26.4 keV 12.8 cm 13.9 cm World eIoni - 5 -42.1 um -18.2 cm 5.06 mm 1.8 GeV 11 keV 4.09 cm 18 cm World eIoni - 6 -42.3 um -20 cm 5.06 mm 1.97 GeV 3.64 keV 1.75 cm 19.7 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -42.1 um -18.2 cm 5.06 mm 1.06 keV 0 eV 0 fm 0 fm World initStep - 1 -38.7 um -18.3 cm 5.05 mm 690 keV 1.06 keV 62.7 um 62.7 um World eIoni - 2 -27.3 um -20 cm 5.04 mm 175 MeV 2.23 keV 1.75 cm 1.75 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -41.8 um -14.2 cm 5.05 mm 3.25 keV 0 eV 0 fm 0 fm World initStep - 1 -53.2 um -14.2 cm 5.04 mm 3.69 MeV 3.25 keV 343 um 343 um World eIoni - 2 -65.4 um -15.2 cm 5.03 mm 104 MeV 1.41 keV 1.01 cm 1.04 cm World eIoni - 3 -71.8 um -20 cm 5.02 mm 585 MeV 10.1 keV 4.8 cm 5.84 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -11.5 cm 1.95 cm 1.2 GeV 27.4 keV 12 cm 12 cm World eIoni - 2 -716 nm -12.6 cm 1.99 cm 1.31 GeV 2.58 keV 1.07 cm 13.1 cm World eIoni - 3 -3.22 um -20 cm 2.22 cm 2.05 GeV 16 keV 7.44 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -716 nm -12.6 cm 1.99 cm 1.69 keV 0 eV 0 fm 0 fm World initStep - 1 -6.38 um -12.6 cm 1.99 cm 1.33 MeV 1.69 keV 121 um 121 um World eIoni - 2 -23.4 um -20 cm 2 cm 744 MeV 10.7 keV 7.43 cm 7.44 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -11.5 cm 1.95 cm 8.12 keV 0 eV 0 fm 0 fm World initStep - 1 44.9 um -11.6 cm 1.95 cm 15.6 MeV 7.63 keV 1.48 mm 1.48 mm World eIoni - 2 60.8 um -12.5 cm 1.95 cm 107 MeV 1.11 keV 9.16 mm 1.06 cm World eIoni - 3 78.4 um -20 cm 1.95 cm 853 MeV 14.3 keV 7.45 cm 8.52 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -18.3 cm 2.18 cm 1.88 GeV 38.9 keV 18.8 cm 18.8 cm World eIoni - 2 -325 nm -20 cm 2.22 cm 2.05 GeV 5.37 keV 1.74 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -18.3 cm 2.18 cm 7.45 keV 0 eV 0 fm 0 fm World initStep - 1 18.5 um -18.4 cm 2.18 cm 13.5 MeV 5.24 keV 1.28 mm 1.28 mm World eIoni - 2 27.8 um -20 cm 2.18 cm 175 MeV 2.36 keV 1.62 cm 1.75 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -6.72 cm 1.69 cm 722 MeV 14.9 keV 7.21 cm 7.21 cm World eIoni - 2 5.39 um -13.1 cm 2.01 cm 1.36 GeV 14.7 keV 6.35 cm 13.6 cm World eIoni - 3 8.67 um -20 cm 2.22 cm 2.05 GeV 12.5 keV 6.94 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.39 um -13.1 cm 2.01 cm 1.28 keV 0 eV 0 fm 0 fm World initStep - 1 6.39 um -13.1 cm 2.01 cm 887 keV 1.28 keV 80.8 um 80.8 um World eIoni - 2 10.1 um -20 cm 2.01 cm 694 MeV 8.86 keV 6.93 cm 6.94 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -6.72 cm 1.69 cm 7.27 keV 0 eV 0 fm 0 fm World initStep - 1 -44.1 um -6.85 cm 1.69 cm 13.9 MeV 6.57 keV 1.32 mm 1.32 mm World eIoni - 2 -47.3 um -6.92 cm 1.69 cm 20.6 MeV 40.1 eV 670 um 1.99 mm World eIoni - 3 -70.6 um -9.45 cm 1.69 cm 273 MeV 3.07 keV 2.53 cm 2.73 cm World eIoni - 4 -79 um -20 cm 1.69 cm 1.33 GeV 21.4 keV 10.6 cm 13.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -70.6 um -9.45 cm 1.69 cm 3.42 keV 0 eV 0 fm 0 fm World initStep - 1 -80.8 um -9.48 cm 1.69 cm 4.03 MeV 3.42 keV 374 um 374 um World eIoni - 2 -90.5 um -10.3 cm 1.69 cm 88.8 MeV 1.14 keV 8.48 mm 8.85 mm World eIoni - 3 -91 um -10.5 cm 1.69 cm 105 MeV 267 eV 1.66 mm 1.05 cm World eIoni - 4 -107 um -20 cm 1.69 cm 1.06 GeV 17.9 keV 9.5 cm 10.6 cm OutOfWorldTransportation + 0 3.21 um -12.4 cm 1.99 cm 1.22 keV 0 eV 0 fm 0 fm World initStep + 1 -2.42 um -12.4 cm 1.99 cm 832 keV 1.22 keV 75.7 um 75.7 um World eIoni + 2 -24.6 um -20 cm 1.99 cm 758 MeV 10.9 keV 7.57 cm 7.58 cm World eIoni + 3 -24.6 um -20 cm 1.99 cm 759 MeV 0 eV 79.6 um 7.59 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -91 um -10.5 cm 1.69 cm 1.3 keV 0 eV 0 fm 0 fm World initStep - 1 -84.8 um -10.5 cm 1.69 cm 908 keV 1.3 keV 82.6 um 82.6 um World eIoni - 2 -60.9 um -20 cm 1.69 cm 950 MeV 13.4 keV 9.49 cm 9.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -7.6 cm 1.75 cm 810 MeV 13.2 keV 8.09 cm 8.09 cm World eIoni - 2 -1.59 um -12.7 cm 2 cm 1.32 GeV 12.6 keV 5.11 cm 13.2 cm World eIoni - 3 -5.22 um -20 cm 2.22 cm 2.05 GeV 16.8 keV 7.3 cm 20.5 cm OutOfWorldTransportation + 0 -24.6 um -20 cm 1.99 cm 1.73 keV 0 eV 0 fm 0 fm World initStep + 1 -33.8 um -20 cm 1.99 cm 1.38 MeV 787 eV 85.9 um 85.9 um OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -1.59 um -12.7 cm 2 cm 4.69 keV 0 eV 0 fm 0 fm World initStep - 1 17.8 um -12.8 cm 2 cm 6.89 MeV 4.69 keV 646 um 646 um World eIoni - 2 20.3 um -12.8 cm 2 cm 11.7 MeV 0 eV 479 um 1.12 mm World eIoni - 3 38.7 um -17.6 cm 1.99 cm 485 MeV 7.73 keV 4.74 cm 4.85 cm World eIoni - 4 38.8 um -17.6 cm 1.99 cm 493 MeV 129 eV 802 um 4.93 cm World eIoni - 5 43.5 um -20 cm 1.99 cm 730 MeV 5.13 keV 2.37 cm 7.3 cm OutOfWorldTransportation + 0 1.71 um -7.4 cm 1.74 cm 1.34 keV 0 eV 0 fm 0 fm World initStep + 1 -1.35 um -7.41 cm 1.74 cm 956 keV 1.34 keV 86.8 um 86.8 um World eIoni + 2 -12.1 um -13.6 cm 1.74 cm 619 MeV 7.82 keV 6.18 cm 6.19 cm WorldTransportation + 3 -12.1 um -13.6 cm 1.74 cm 619 MeV1.97e-12 eV 0.00938 fm 6.19 cm World eIoni + 4 -12.9 um -15.6 cm 1.74 cm 817 MeV 3.51 keV 1.99 cm 8.17 cm World eIoni + 5 -12.9 um -15.7 cm 1.74 cm 828 MeV 192 eV 1.11 mm 8.28 cm World eIoni + 6 -12.2 um -20 cm 1.74 cm 1.26 GeV 11.6 keV 4.32 cm 12.6 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 38.8 um -17.6 cm 1.99 cm 2.78 keV 0 eV 0 fm 0 fm World initStep - 1 24.3 um -17.7 cm 1.99 cm 2.88 MeV 2.78 keV 266 um 266 um World eIoni - 2 15 um -17.8 cm 1.99 cm 19.3 MeV 183 eV 1.65 mm 1.91 mm World eIoni - 3 1.95 um -20 cm 2 cm 237 MeV 4.75 keV 2.17 cm 2.37 cm OutOfWorldTransportation + 0 -12.9 um -15.7 cm 1.74 cm 1.49 keV 0 eV 0 fm 0 fm World initStep + 1 -17.5 um -15.7 cm 1.74 cm 1.1 MeV 1.49 keV 100 um 100 um World eIoni + 2 -31.3 um -20 cm 1.74 cm 432 MeV 5.66 keV 4.31 cm 4.32 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 38.7 um -17.6 cm 1.99 cm 2.2 keV 0 eV 0 fm 0 fm World initStep - 1 34.9 um -17.6 cm 2 cm 1.98 MeV 2.2 keV 181 um 181 um World eIoni - 2 28.8 um -18.6 cm 2 cm 102 MeV 1.02 keV 9.98 mm 1.02 cm World eIoni - 3 27.4 um -20 cm 2 cm 245 MeV 2.03 keV 1.43 cm 2.45 cm OutOfWorldTransportation + 0 -12.9 um -15.6 cm 1.74 cm 1.12 keV 0 eV 0 fm 0 fm World initStep + 1 -16.8 um -15.6 cm 1.74 cm 746 keV 1.12 keV 67.9 um 67.9 um World eIoni + 2 -31.6 um -20 cm 1.74 cm 443 MeV 6.06 keV 4.42 cm 4.43 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -12.1 um -13.6 cm 1.74 cm 1.78 keV 0 eV 0 fm 0 fm World initStep + 1 -9.85 um -13.6 cm 1.74 cm 1.44 MeV 1.78 keV 132 um 132 um World eIoni + 2 -4.42 um -16.2 cm 1.74 cm 265 MeV 5.73 keV 2.64 cm 2.65 cm World eIoni + 3 -6.42 um -19.1 cm 1.74 cm 552 MeV 4.29 keV 2.87 cm 5.52 cm World eIoni + 4 -7.25 um -20 cm 1.74 cm 641 MeV 644 eV 8.92 mm 6.41 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.42 um -19.1 cm 1.74 cm 4.08 keV 0 eV 0 fm 0 fm World initStep + 1 10.7 um -19.1 cm 1.74 cm 3.06 MeV 1.13 keV 288 um 288 um World eIoni + 2 15.1 um -19.2 cm 1.74 cm 6.71 MeV 0 eV 367 um 655 um World eIoni + 3 62.3 um -20 cm 1.74 cm 89.4 MeV 1.68 keV 8.27 mm 8.93 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 15.1 um -19.2 cm 1.74 cm 13.1 keV 0 eV 0 fm 0 fm World initStep + 1 -55.2 um -19.4 cm 1.74 cm 22.9 MeV 3.45 keV 2.19 mm 2.19 mm World eIoni + 2 -70 um -20 cm 1.74 cm 84.1 MeV 1.05 keV 6.11 mm 8.31 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.42 um -16.2 cm 1.74 cm 1.74 keV 0 eV 0 fm 0 fm World initStep + 1 3.42 um -16.3 cm 1.74 cm 1.39 MeV 1.74 keV 127 um 127 um World eIoni + 2 24.1 um -19.9 cm 1.74 cm 370 MeV 3.41 keV 3.69 cm 3.7 cm World eIoni + 3 24.1 um -20 cm 1.74 cm 376 MeV 0 eV 605 um 3.76 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.1 um -19.9 cm 1.74 cm 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 26.9 um -19.9 cm 1.74 cm 644 keV 1.01 keV 58.6 um 58.6 um World eIoni + 2 30.1 um -20 cm 1.74 cm 6.13 MeV 52 eV 548 um 607 um OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -7.6 cm 1.75 cm 1.41 keV 0 eV 0 fm 0 fm World initStep - 1 5.89 um -7.61 cm 1.75 cm 1.02 MeV 1.41 keV 93 um 93 um World eIoni - 2 27.5 um -20 cm 1.75 cm 1.24 GeV 18 keV 12.4 cm 12.4 cm OutOfWorldTransportation + 0 0 fm -1.67 cm 1.08 cm 1.05 keV 0 eV 0 fm 0 fm World initStep + 1 -2.03 um -1.68 cm 1.08 cm 692 keV 1.05 keV 62.2 um 62.2 um World eIoni + 2 -10.9 um -9.98 cm 1.08 cm 831 MeV 12.6 keV 8.3 cm 8.31 cm World eIoni + 3 -9.94 um -11.9 cm 1.08 cm 1.03 GeV 3.63 keV 1.95 cm 10.3 cm World eIoni + 4 -10 um -13.6 cm 1.08 cm 1.2 GeV 3.24 keV 1.7 cm 12 cm World eIoni + 5 -9.15 um -16.6 cm 1.08 cm 1.49 GeV 6.21 keV 2.97 cm 14.9 cm World eIoni + 6 -9.22 um -20 cm 1.08 cm 1.83 GeV 5.51 keV 3.39 cm 18.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.15 um -16.6 cm 1.08 cm 2.58 keV 0 eV 0 fm 0 fm World initStep + 1 2.63 um -16.6 cm 1.08 cm 2.54 MeV 2.58 keV 234 um 234 um World eIoni + 2 18.9 um -17.7 cm 1.08 cm 109 MeV 1.33 keV 1.07 cm 1.09 cm World eIoni + 3 24 um -20 cm 1.08 cm 339 MeV 3.7 keV 2.3 cm 3.39 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10 um -13.6 cm 1.08 cm 2.42 keV 0 eV 0 fm 0 fm World initStep + 1 -21.5 um -13.7 cm 1.08 cm 2.29 MeV 2.42 keV 211 um 211 um World eIoni + 2 -28 um -13.7 cm 1.08 cm 10.9 MeV 0 eV 856 um 1.07 mm World eIoni + 3 -41 um -15.4 cm 1.08 cm 172 MeV 2.15 keV 1.61 cm 1.71 cm World eIoni + 4 -34 um -20 cm 1.08 cm 636 MeV 14.1 keV 4.65 cm 6.36 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -41 um -15.4 cm 1.08 cm 24.1 keV 0 eV 0 fm 0 fm World initStep + 1 -112 um -15.7 cm 1.07 cm 36.6 MeV 5.19 keV 3.54 mm 3.54 mm World eIoni + 2 -137 um -20 cm 1.07 cm 467 MeV 7.76 keV 4.3 cm 4.65 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.94 um -11.9 cm 1.08 cm 2.86 keV 0 eV 0 fm 0 fm World initStep + 1 4.51 um -12 cm 1.08 cm 3 MeV 2.86 keV 278 um 278 um World eIoni + 2 14.2 um -12.2 cm 1.08 cm 22.2 MeV 21.6 eV 1.92 mm 2.2 mm World eIoni + 3 34 um -19.9 cm 1.09 cm 798 MeV 15.6 keV 7.76 cm 7.98 cm World eIoni + 4 34 um -20 cm 1.09 cm 807 MeV 122 eV 878 um 8.07 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 34 um -19.9 cm 1.09 cm 1.76 keV 0 eV 0 fm 0 fm World initStep + 1 26.4 um -19.9 cm 1.08 cm 1.41 MeV 1.76 keV 129 um 129 um World eIoni + 2 20.5 um -20 cm 1.08 cm 8.93 MeV 3.77 eV 752 um 881 um OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.9 um -9.98 cm 1.08 cm 3.53 keV 0 eV 0 fm 0 fm World initStep + 1 -29.8 um -10 cm 1.08 cm 4.26 MeV 3.53 keV 396 um 396 um World eIoni + 2 -45.8 um -10.7 cm 1.08 cm 71.5 MeV 1 keV 6.72 mm 7.12 mm World eIoni + 3 -55.1 um -13.5 cm 1.08 cm 348 MeV 8.23 keV 2.76 cm 3.47 cm World eIoni + 4 -56 um -14 cm 1.08 cm 402 MeV 950 eV 5.48 mm 4.02 cm World eBrem + 5 -59.6 um -17.6 cm 1.08 cm 759 MeV 11.3 keV 3.57 cm 7.59 cm World eIoni + 6 -59.6 um -20 cm 1.08 cm 1 GeV 7.8 keV 2.43 cm 10 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.6 um -17.6 cm 1.08 cm 5.44 keV 0 eV 0 fm 0 fm World initStep + 1 -84 um -17.7 cm 1.08 cm 8.95 MeV 5.44 keV 841 um 841 um World eIoni + 2 -97.5 um -18.6 cm 1.08 cm 103 MeV 1.23 keV 9.4 mm 1.02 cm World eIoni + 3 -102 um -20 cm 1.08 cm 244 MeV 4.06 keV 1.41 cm 2.43 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -56 um -14 cm 1.08 cm 2.37 keV 0 eV 0 fm 0 fm World initStep + 1 -60.3 um -14.7 cm 1.08 cm 0 eV 403 eV 6.85 mm 6.85 mm World phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 20 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -60.3 um -14.7 cm 1.08 cm 1.96 keV 0 eV 0 fm 0 fm World initStep + 1 -56.7 um -14.7 cm 1.08 cm 1.64 MeV 1.96 keV 151 um 151 um World eIoni + 2 -47.3 um -20 cm 1.08 cm 531 MeV 12.2 keV 5.3 cm 5.31 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -55.1 um -13.5 cm 1.08 cm 1.41 keV 0 eV 0 fm 0 fm World initStep + 1 -55.4 um -13.5 cm 1.09 cm 1.02 MeV 1.41 keV 92.8 um 92.8 um World eIoni + 2 -56.3 um -16.8 cm 1.09 cm 336 MeV 7.98 keV 3.35 cm 3.36 cm World eIoni + 3 -56.2 um -17 cm 1.09 cm 352 MeV 115 eV 1.6 mm 3.52 cm World eIoni + 4 -56.9 um -19.6 cm 1.09 cm 548 MeV 5.93 keV 2.59 cm 6.11 cm World eBrem + 5 -56.9 um -20 cm 1.09 cm 592 MeV 477 eV 4.39 mm 6.55 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -56.9 um -19.6 cm 1.09 cm 63.1 MeV 0 eV 0 fm 0 fm World initStep + 1 -57.5 um -20 cm 1.09 cm 63.1 MeV 0 eV 4.39 mm 4.39 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -56.2 um -17 cm 1.09 cm 2.38 keV 0 eV 0 fm 0 fm World initStep + 1 -48.3 um -17 cm 1.09 cm 2.24 MeV 2.38 keV 206 um 206 um World eIoni + 2 -36.3 um -18.1 cm 1.09 cm 110 MeV 1.65 keV 1.08 cm 1.1 cm World eIoni + 3 -33.1 um -20 cm 1.08 cm 303 MeV 2.87 keV 1.93 cm 3.03 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -56.3 um -16.8 cm 1.09 cm 4.65 keV 0 eV 0 fm 0 fm World initStep + 1 -64.4 um -16.9 cm 1.09 cm 6.81 MeV 4.65 keV 638 um 638 um World eIoni + 2 -70.2 um -18 cm 1.09 cm 117 MeV 1.78 keV 1.1 cm 1.17 cm World eIoni + 3 -72.3 um -20 cm 1.09 cm 319 MeV 1.79 keV 2.02 cm 3.19 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -4222,60 +661,50 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -1.32 cm 9.88 mm 182 MeV 4.7 keV 1.75 cm 1.75 cm World eIoni - 2 5.6 um -3.94 cm 1.45 cm 444 MeV 3.94 keV 2.67 cm 4.42 cm World eIoni - 3 29.3 um -20 cm 2.22 cm 2.05 GeV 35.4 keV 16.1 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -7.5 cm 1.75 cm 800 MeV 20 keV 7.99 cm 7.99 cm World eIoni + 2 -1.13 um -10.4 cm 1.9 cm 1.09 GeV 4.34 keV 2.93 cm 10.9 cm World eIoni + 3 -685 nm -20 cm 2.22 cm 2.05 GeV 21.7 keV 9.58 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.6 um -3.94 cm 1.45 cm 9.1 keV 0 eV 0 fm 0 fm World initStep - 1 -27.8 um -4 cm 1.45 cm 6.59 MeV 1.57 keV 634 um 634 um World eIoni - 2 -67.6 um -8.73 cm 1.45 cm 479 MeV 8.34 keV 4.72 cm 4.79 cm World eIoni - 3 -72.5 um -15.1 cm 1.45 cm 1.12 GeV 17.2 keV 6.4 cm 11.2 cm World eIoni - 4 -73.1 um -20 cm 1.45 cm 1.61 GeV 14 keV 4.88 cm 16.1 cm OutOfWorldTransportation + 0 -1.13 um -10.4 cm 1.9 cm 3.68 keV 0 eV 0 fm 0 fm World initStep + 1 -14.6 um -10.5 cm 1.9 cm 3.99 MeV 3.68 keV 373 um 373 um World eIoni + 2 -35.9 um -16 cm 1.9 cm 558 MeV 5.54 keV 5.54 cm 5.58 cm World eIoni + 3 -39.3 um -19.2 cm 1.9 cm 878 MeV 6.06 keV 3.2 cm 8.78 cm World eIoni + 4 -39.4 um -20 cm 1.9 cm 957 MeV 2.12 keV 7.92 mm 9.57 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -72.5 um -15.1 cm 1.45 cm 1.64 keV 0 eV 0 fm 0 fm World initStep - 1 -80 um -15.1 cm 1.45 cm 1.27 MeV 1.64 keV 116 um 116 um World eIoni - 2 -101 um -20 cm 1.45 cm 488 MeV 4.65 keV 4.87 cm 4.88 cm OutOfWorldTransportation + 0 -39.3 um -19.2 cm 1.9 cm 2.83 keV 0 eV 0 fm 0 fm World initStep + 1 -51.8 um -19.2 cm 1.9 cm 2.96 MeV 2.83 keV 274 um 274 um World eIoni + 2 -63.6 um -19.7 cm 1.9 cm 48.3 MeV 356 eV 4.53 mm 4.81 mm World eIoni + 3 -65.8 um -20 cm 1.9 cm 79.5 MeV 250 eV 3.11 mm 7.92 mm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -67.6 um -8.73 cm 1.45 cm 3.61 keV 0 eV 0 fm 0 fm World initStep - 1 -78.7 um -8.77 cm 1.45 cm 4.41 MeV 3.61 keV 411 um 411 um World eIoni - 2 -85.4 um -9.06 cm 1.45 cm 33.5 MeV 496 eV 2.91 mm 3.32 mm World eIoni - 3 -96.7 um -16.1 cm 1.45 cm 742 MeV 13.2 keV 7.09 cm 7.42 cm World eIoni - 4 -99.8 um -20 cm 1.45 cm 1.13 GeV 5.75 keV 3.85 cm 11.3 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -96.7 um -16.1 cm 1.45 cm 3.03 keV 0 eV 0 fm 0 fm World initStep - 1 -81.3 um -16.2 cm 1.45 cm 3.3 MeV 3.03 keV 306 um 306 um World eIoni - 2 -68.2 um -16.6 cm 1.45 cm 43.8 MeV 379 eV 4.05 mm 4.36 mm World eIoni - 3 -56.4 um -20 cm 1.45 cm 386 MeV 8.21 keV 3.42 cm 3.86 cm OutOfWorldTransportation + 0 -35.9 um -16 cm 1.9 cm 2.37 keV 0 eV 0 fm 0 fm World initStep + 1 -28.1 um -16 cm 1.9 cm 2.22 MeV 2.37 keV 204 um 204 um World eIoni + 2 -13.6 um -18.4 cm 1.9 cm 237 MeV 3.57 keV 2.35 cm 2.37 cm World eIoni + 3 -11.9 um -20 cm 1.9 cm 400 MeV 2.67 keV 1.62 cm 3.99 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -1.32 cm 9.88 mm 3.74 keV 0 eV 0 fm 0 fm World initStep - 1 -20.6 um -1.36 cm 9.88 mm 4.69 MeV 3.74 keV 437 um 437 um World eIoni - 2 -32.8 um -1.68 cm 9.88 mm 37.1 MeV 406 eV 3.25 mm 3.68 mm World eIoni - 3 -57.1 um -20 cm 9.89 mm 1.87 GeV 37.3 keV 18.3 cm 18.7 cm OutOfWorldTransportation + 0 0 fm -7.5 cm 1.75 cm 2.72 keV 0 eV 0 fm 0 fm World initStep + 1 9.81 um -7.53 cm 1.74 cm 2.77 MeV 2.72 keV 256 um 256 um World eIoni + 2 19.1 um -7.92 cm 1.74 cm 42.5 MeV 433 eV 3.98 mm 4.23 mm World eIoni + 3 31.7 um -20 cm 1.74 cm 1.25 GeV 21.8 keV 12.1 cm 12.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -4283,7 +712,101 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 39.9 keV 20.5 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -1.22 cm 9.59 mm 172 MeV 4.71 keV 1.65 cm 1.65 cm World eIoni + 2 1.6 um -2.16 cm 1.19 cm 266 MeV 2.24 keV 9.71 mm 2.62 cm World eIoni + 3 6.34 um -20 cm 2.22 cm 2.05 GeV 40.6 keV 17.9 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.6 um -2.16 cm 1.19 cm 4.81 keV 0 eV 0 fm 0 fm World initStep + 1 6.47 um -2.23 cm 1.18 cm 7.21 MeV 4.81 keV 676 um 676 um World eIoni + 2 9.36 um -2.94 cm 1.18 cm 78.6 MeV 1.3 keV 7.14 mm 7.82 mm World eIoni + 3 11.8 um -7.87 cm 1.18 cm 571 MeV 10.9 keV 4.93 cm 5.71 cm World eBrem + 4 13.2 um -18.7 cm 1.18 cm 1.65 GeV 19.9 keV 10.8 cm 16.5 cm World eIoni + 5 13.3 um -20 cm 1.18 cm 1.78 GeV 2.52 keV 1.33 cm 17.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.2 um -18.7 cm 1.18 cm 5.68 keV 0 eV 0 fm 0 fm World initStep + 1 11.8 um -18.7 cm 1.18 cm 1.13 MeV 339 eV 112 um 112 um World eIoni + 2 8.56 um -20 cm 1.18 cm 133 MeV 1.4 keV 1.31 cm 1.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.22 cm 9.59 mm 1.51 keV 0 eV 0 fm 0 fm World initStep + 1 -6.76 um -1.23 cm 9.59 mm 1.13 MeV 1.51 keV 102 um 102 um World eIoni + 2 -29.8 um -10.4 cm 9.61 mm 917 MeV 21.7 keV 9.15 cm 9.16 cm World eIoni + 3 -34 um -19 cm 9.6 mm 1.78 GeV 21.1 keV 8.62 cm 17.8 cm World eIoni + 4 -34.1 um -19.8 cm 9.6 mm 1.86 GeV 646 eV 8.14 mm 18.6 cm World eIoni + 5 -34.1 um -20 cm 9.6 mm 1.88 GeV 352 eV 1.84 mm 18.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -34.1 um -19.8 cm 9.6 mm 4.85 keV 0 eV 0 fm 0 fm World initStep + 1 -60.7 um -19.9 cm 9.61 mm 7.3 MeV 4.85 keV 685 um 685 um World eIoni + 2 -66.7 um -20 cm 9.61 mm 18.7 MeV 60.5 eV 1.15 mm 1.83 mm World eIoni + 3 -66.7 um -20 cm 9.61 mm 19 MeV 3.98 eV 22.2 um 1.85 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -34 um -19 cm 9.6 mm 2.34 keV 0 eV 0 fm 0 fm World initStep + 1 -43.9 um -19 cm 9.61 mm 2.18 MeV 2.34 keV 201 um 201 um World eIoni + 2 -47.5 um -19.1 cm 9.61 mm 6.14 MeV 0 eV 396 um 596 um World eIoni + 3 -58.6 um -20 cm 9.62 mm 100 MeV 747 eV 9.39 mm 9.99 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -29.8 um -10.4 cm 9.61 mm 3.42 keV 0 eV 0 fm 0 fm World initStep + 1 -21.1 um -10.4 cm 9.62 mm 4.04 MeV 3.42 keV 375 um 375 um World eIoni + 2 -15.9 um -10.7 cm 9.63 mm 28.5 MeV 322 eV 2.45 mm 2.82 mm World eIoni + 3 -8.44 um -14 cm 9.65 mm 365 MeV 5.43 keV 3.37 cm 3.65 cm World eIoni + 4 -6.38 um -19.1 cm 9.65 mm 872 MeV 8.81 keV 5.06 cm 8.71 cm World eIoni + 5 -6.2 um -20 cm 9.65 mm 962 MeV 1.5 keV 9.02 mm 9.62 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.38 um -19.1 cm 9.65 mm 44.5 keV 0 eV 0 fm 0 fm World initStep + 1 -2.14 um -20 cm 9.46 mm 92.4 MeV 4.41 keV 9.11 mm 9.11 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.44 um -14 cm 9.65 mm 1.16 keV 0 eV 0 fm 0 fm World initStep + 1 -7.78 um -14 cm 9.65 mm 782 keV 1.16 keV 71.1 um 71.1 um World eIoni + 2 -5.21 um -19.6 cm 9.67 mm 559 MeV 7.69 keV 5.58 cm 5.59 cm World eIoni + 3 -5.24 um -20 cm 9.67 mm 597 MeV 882 eV 3.8 mm 5.97 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.21 um -19.6 cm 9.67 mm 4.67 keV 0 eV 0 fm 0 fm World initStep + 1 2.74 um -19.7 cm 9.7 mm 6.86 MeV 4.67 keV 643 um 643 um World eIoni + 2 6.16 um -20 cm 9.71 mm 38.6 MeV 457 eV 3.17 mm 3.81 mm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -4291,78 +814,209 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -4.21 cm 1.48 cm 471 MeV 10.7 keV 4.69 cm 4.69 cm World eIoni - 2 -2.83 um -9.1 cm 1.84 cm 960 MeV 9.43 keV 4.9 cm 9.59 cm World eIoni - 3 -3.59 um -11.3 cm 1.94 cm 1.18 GeV 4.93 keV 2.24 cm 11.8 cm World eIoni - 4 -4.44 um -13.1 cm 2.01 cm 1.36 GeV 3.17 keV 1.73 cm 13.6 cm World eIoni - 5 -6.58 um -16.8 cm 2.14 cm 1.73 GeV 6.76 keV 3.78 cm 17.3 cm World eIoni - 6 -7.07 um -18 cm 2.17 cm 1.85 GeV 2.42 keV 1.14 cm 18.5 cm World eIoni - 7 -7.61 um -19.2 cm 2.2 cm 1.97 GeV 3.01 keV 1.23 cm 19.7 cm World eIoni - 8 -8.04 um -20 cm 2.22 cm 2.05 GeV 2.94 keV 7.83 mm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.61 um -19.2 cm 2.2 cm 1.6 keV 0 eV 0 fm 0 fm World initStep - 1 -2.44 um -19.2 cm 2.2 cm 1.22 MeV 1.6 keV 111 um 111 um World eIoni - 2 7.96 um -20 cm 2.2 cm 78.4 MeV 1.09 keV 7.72 mm 7.83 mm OutOfWorldTransportation + 1 0 fm -3.18 mm 5.4 mm 81.8 MeV 714 eV 6.5 mm 6.5 mm World eIoni + 2 7.01 um -8.53 mm 8.31 mm 135 MeV 315 eV 6.11 mm 1.26 cm World eIoni + 3 12 um -2.09 cm 1.17 cm 259 MeV 2.4 keV 1.29 cm 2.55 cm World eIoni + 4 15.1 um -10.4 cm 1.9 cm 1.09 GeV 16 keV 8.34 cm 10.9 cm World eIoni + 5 17.7 um -13.1 cm 2.01 cm 1.36 GeV 4.87 keV 2.68 cm 13.6 cm World eIoni + 6 20.2 um -16.7 cm 2.13 cm 1.72 GeV 12 keV 3.68 cm 17.2 cm World eIoni + 7 22.7 um -20 cm 2.22 cm 2.05 GeV 6.03 keV 3.25 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.07 um -18 cm 2.17 cm 1.17 keV 0 eV 0 fm 0 fm World initStep - 1 -5.69 um -18 cm 2.17 cm 788 keV 1.17 keV 71.7 um 71.7 um World eIoni - 2 -1.31 um -20 cm 2.17 cm 201 MeV 2.89 keV 2 cm 2.01 cm OutOfWorldTransportation + 0 20.2 um -16.7 cm 2.13 cm 2.3 keV 0 eV 0 fm 0 fm World initStep + 1 8.8 um -16.8 cm 2.13 cm 2.12 MeV 2.3 keV 195 um 195 um World eIoni + 2 -9.28 um -17.9 cm 2.14 cm 118 MeV 467 eV 1.16 cm 1.18 cm World eIoni + 3 -13.3 um -20 cm 2.14 cm 325 MeV 4.42 keV 2.07 cm 3.25 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -6.58 um -16.8 cm 2.14 cm 2.15 keV 0 eV 0 fm 0 fm World initStep - 1 -9.17 um -16.9 cm 2.14 cm 1.91 MeV 2.15 keV 175 um 175 um World eIoni - 2 -12.6 um -17.4 cm 2.13 cm 54.1 MeV 1.22 keV 5.21 mm 5.39 mm World eIoni - 3 -14.6 um -20 cm 2.13 cm 315 MeV 4.06 keV 2.61 cm 3.15 cm OutOfWorldTransportation + 0 17.7 um -13.1 cm 2.01 cm 1.77 keV 0 eV 0 fm 0 fm World initStep + 1 21.1 um -13.1 cm 2.01 cm 1.42 MeV 1.77 keV 130 um 130 um World eIoni + 2 29.3 um -15.8 cm 2.02 cm 272 MeV 2.75 keV 2.71 cm 2.72 cm World eIoni + 3 33.1 um -20 cm 2.02 cm 693 MeV 5.47 keV 4.2 cm 6.93 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.3 um -15.8 cm 2.02 cm 1.14 keV 0 eV 0 fm 0 fm World initStep + 1 25.5 um -15.8 cm 2.02 cm 761 keV 1.14 keV 69.2 um 69.2 um World eIoni + 2 13.2 um -17.5 cm 2.01 cm 173 MeV 2.49 keV 1.72 cm 1.73 cm World eIoni + 3 11.1 um -20 cm 2.01 cm 420 MeV 8.21 keV 2.48 cm 4.2 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -4.44 um -13.1 cm 2.01 cm 1.48 keV 0 eV 0 fm 0 fm World initStep - 1 233 nm -13.1 cm 2.01 cm 1.1 MeV 1.48 keV 100 um 100 um World eIoni - 2 15.6 um -20 cm 2.01 cm 693 MeV 9.23 keV 6.92 cm 6.93 cm OutOfWorldTransportation + 0 15.1 um -10.4 cm 1.9 cm 28.6 keV 0 eV 0 fm 0 fm World initStep + 1 -68.6 um -10.9 cm 1.89 cm 51.6 MeV 5.36 keV 5 mm 5 mm World eIoni + 2 -78.2 um -11.8 cm 1.89 cm 140 MeV 1.37 keV 8.85 mm 1.38 cm World eIoni + 3 -97.1 um -20 cm 1.89 cm 963 MeV 20.7 keV 8.23 cm 9.61 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -3.59 um -11.3 cm 1.94 cm 2 keV 0 eV 0 fm 0 fm World initStep - 1 2.15 um -11.4 cm 1.94 cm 1.7 MeV 2 keV 155 um 155 um World eIoni - 2 17.8 um -20 cm 1.94 cm 867 MeV 14.1 keV 8.65 cm 8.66 cm OutOfWorldTransportation + 0 12 um -2.09 cm 1.17 cm 2.9 keV 0 eV 0 fm 0 fm World initStep + 1 27 um -2.12 cm 1.17 cm 3.08 MeV 2.9 keV 285 um 285 um World eIoni + 2 31.8 um -2.18 cm 1.17 cm 8.37 MeV 77.2 eV 528 um 814 um World eIoni + 3 58 um -13.5 cm 1.17 cm 1.14 GeV 12.4 keV 11.3 cm 11.4 cm World eIoni + 4 58.6 um -20 cm 1.17 cm 1.79 GeV 12.9 keV 6.55 cm 17.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 58 um -13.5 cm 1.17 cm 2.52 keV 0 eV 0 fm 0 fm World initStep + 1 68.6 um -13.5 cm 1.17 cm 2.44 MeV 2.52 keV 225 um 225 um World eIoni + 2 75.9 um -13.6 cm 1.17 cm 16.9 MeV 19.3 eV 1.44 mm 1.67 mm World eIoni + 3 90.1 um -20 cm 1.17 cm 655 MeV 14.1 keV 6.38 cm 6.55 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -2.83 um -9.1 cm 1.84 cm 1.16 keV 0 eV 0 fm 0 fm World initStep - 1 -3.39 um -9.11 cm 1.84 cm 777 keV 1.16 keV 70.5 um 70.5 um World eIoni - 2 -5.73 um -20 cm 1.84 cm 1.09 GeV 15.2 keV 10.9 cm 10.9 cm OutOfWorldTransportation + 0 7.01 um -8.53 mm 8.31 mm 2.32 keV 0 eV 0 fm 0 fm World initStep + 1 18.7 um -8.73 mm 8.32 mm 2.15 MeV 2.32 keV 197 um 197 um World eIoni + 2 37.7 um -2.15 cm 8.32 mm 130 MeV 2.14 keV 1.28 cm 1.3 cm World eIoni + 3 47.9 um -11.5 cm 8.32 mm 1.07 GeV 23.3 keV 9.4 cm 10.7 cm World eIoni + 4 47.9 um -14.3 cm 8.32 mm 1.34 GeV 4.28 keV 2.73 cm 13.4 cm World eIoni + 5 47.3 um -16.9 cm 8.32 mm 1.61 GeV 5.16 keV 2.65 cm 16.1 cm World eIoni + 6 47.6 um -18.6 cm 8.32 mm 1.78 GeV 2.96 keV 1.69 cm 17.8 cm World eIoni + 7 48.1 um -20 cm 8.32 mm 1.91 GeV 2.5 keV 1.38 cm 19.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 47.6 um -18.6 cm 8.32 mm 5.72 keV 0 eV 0 fm 0 fm World initStep + 1 30.1 um -18.7 cm 8.35 mm 9.79 MeV 5.72 keV 921 um 921 um World eIoni + 2 22.1 um -19.4 cm 8.37 mm 79 MeV 694 eV 6.92 mm 7.84 mm World eIoni + 3 19.9 um -20 cm 8.37 mm 139 MeV 2.41 keV 6.02 mm 1.39 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 47.3 um -16.9 cm 8.32 mm 4.07 keV 0 eV 0 fm 0 fm World initStep + 1 24.7 um -17 cm 8.32 mm 5.39 MeV 4.07 keV 503 um 503 um World eIoni + 2 21.4 um -17 cm 8.32 mm 9.48 MeV 5.3 eV 409 um 912 um World eIoni + 3 -1.85 um -20 cm 8.32 mm 307 MeV 3.16 keV 2.98 cm 3.07 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 47.9 um -14.3 cm 8.32 mm 1.07 keV 0 eV 0 fm 0 fm World initStep + 1 53 um -14.3 cm 8.32 mm 701 keV 1.07 keV 63.8 um 63.8 um World eIoni + 2 72.2 um -17.6 cm 8.32 mm 327 MeV 3.28 keV 3.27 cm 3.27 cm World eIoni + 3 69.5 um -20 cm 8.31 mm 572 MeV 3.66 keV 2.45 cm 5.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 72.2 um -17.6 cm 8.32 mm 79.7 keV 0 eV 0 fm 0 fm World initStep + 1 97 um -17.6 cm 8.41 mm 6.22 MeV 164 eV 628 um 628 um World eIoni + 2 145 um -20 cm 8.53 mm 245 MeV 2.66 keV 2.39 cm 2.45 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 97 um -17.6 cm 8.41 mm 5.39 keV 0 eV 0 fm 0 fm World initStep + 1 76 um -17.7 cm 8.38 mm 8.8 MeV 5.39 keV 826 um 826 um World eIoni + 2 72.9 um -17.8 cm 8.38 mm 16.6 MeV 52.8 eV 785 um 1.61 mm World eIoni + 3 65.8 um -18.3 cm 8.37 mm 71.6 MeV 863 eV 5.49 mm 7.1 mm World eIoni + 4 73.2 um -20 cm 8.36 mm 239 MeV 5.4 keV 1.68 cm 2.39 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 65.8 um -18.3 cm 8.37 mm 12.3 keV 0 eV 0 fm 0 fm World initStep + 1 -1.26 um -18.5 cm 8.38 mm 22 MeV 7.36 keV 2.11 mm 2.11 mm World eIoni + 2 -13.2 um -19 cm 8.38 mm 66.1 MeV 923 eV 4.41 mm 6.51 mm World eIoni + 3 -23.6 um -20 cm 8.39 mm 169 MeV 1.55 keV 1.03 cm 1.68 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 47.9 um -11.5 cm 8.32 mm 2.33 keV 0 eV 0 fm 0 fm World initStep + 1 60 um -11.6 cm 8.32 mm 2.17 MeV 2.33 keV 199 um 199 um World eIoni + 2 75 um -12.1 cm 8.32 mm 56.4 MeV 914 eV 5.42 mm 5.62 mm World eIoni + 3 82.9 um -14.4 cm 8.32 mm 286 MeV 4.31 keV 2.3 cm 2.86 cm World eIoni + 4 86.7 um -20 cm 8.33 mm 845 MeV 10.2 keV 5.59 cm 8.45 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 82.9 um -14.4 cm 8.32 mm 2.43 keV 0 eV 0 fm 0 fm World initStep + 1 86.2 um -14.4 cm 8.31 mm 2.31 MeV 2.43 keV 212 um 212 um World eIoni + 2 88.3 um -14.5 cm 8.3 mm 13.4 MeV 236 eV 1.11 mm 1.33 mm World eIoni + 3 93.1 um -20 cm 8.29 mm 560 MeV 7.53 keV 5.46 cm 5.59 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -4.21 cm 1.48 cm 1.6 keV 0 eV 0 fm 0 fm World initStep - 1 7.78 um -4.22 cm 1.48 cm 1.23 MeV 1.6 keV 112 um 112 um World eIoni - 2 35.2 um -20 cm 1.48 cm 1.58 GeV 22.7 keV 15.8 cm 15.8 cm OutOfWorldTransportation + 0 0 fm -3.18 mm 5.4 mm 14.9 keV 0 eV 0 fm 0 fm World initStep + 1 -47.8 um -4.06 mm 5.4 mm 9.24 MeV 1.5 keV 898 um 898 um World eIoni + 2 -102 um -8.7 cm 5.4 mm 839 MeV 10.7 keV 8.29 cm 8.38 cm World eIoni + 3 -110 um -17.4 cm 5.4 mm 1.71 GeV 20.1 keV 8.67 cm 17.1 cm World eIoni + 4 -111 um -19.3 cm 5.4 mm 1.9 GeV 6.24 keV 1.97 cm 19 cm World eIoni + 5 -111 um -20 cm 5.4 mm 1.97 GeV 832 eV 6.63 mm 19.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -111 um -19.3 cm 5.4 mm 52.8 keV 0 eV 0 fm 0 fm World initStep + 1 -252 um -20 cm 5.52 mm 67.5 MeV 6.07 keV 6.63 mm 6.63 mm World eIoni + 2 -252 um -20 cm 5.52 mm 68.4 MeV 0 eV 95 um 6.73 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -110 um -17.4 cm 5.4 mm 2.8 keV 0 eV 0 fm 0 fm World initStep + 1 -97.7 um -17.4 cm 5.39 mm 2.28 MeV 930 eV 211 um 211 um World eIoni + 2 -75.9 um -20 cm 5.38 mm 263 MeV 5.35 keV 2.61 cm 2.63 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -102 um -8.7 cm 5.4 mm 2.32 keV 0 eV 0 fm 0 fm World initStep + 1 -107 um -8.72 cm 5.39 mm 2.15 MeV 2.32 keV 197 um 197 um World eIoni + 2 -115 um -9.84 cm 5.37 mm 114 MeV 1.64 keV 1.12 cm 1.14 cm World eIoni + 3 -120 um -20 cm 5.36 mm 1.13 GeV 26.5 keV 10.2 cm 11.3 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -4370,7 +1024,46 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 39.1 keV 20.5 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -7.38 cm 1.74 cm 777 MeV 17.9 keV 7.87 cm 7.87 cm World eBrem + 2 -88.9 nm -13.8 cm 2.04 cm 1.42 GeV 12.9 keV 6.43 cm 14.3 cm World eIoni + 3 -109 nm -13.9 cm 2.04 cm 1.43 GeV 607 eV 801 um 14.4 cm World eIoni + 4 -1.26 um -16.4 cm 2.12 cm 1.68 GeV 5.63 keV 2.57 cm 16.9 cm World eIoni + 5 -2.48 um -20 cm 2.22 cm 2.04 GeV 6.88 keV 3.56 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.26 um -16.4 cm 2.12 cm 1.84 keV 0 eV 0 fm 0 fm World initStep + 1 -2.51 um -16.5 cm 2.12 cm 1.51 MeV 1.84 keV 138 um 138 um World eIoni + 2 -5.6 um -20 cm 2.12 cm 356 MeV 3.44 keV 3.54 cm 3.56 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -109 nm -13.9 cm 2.04 cm 1.7 keV 0 eV 0 fm 0 fm World initStep + 1 6.66 um -13.9 cm 2.04 cm 1.34 MeV 1.7 keV 122 um 122 um World eIoni + 2 26.4 um -20 cm 2.04 cm 612 MeV 11.4 keV 6.11 cm 6.12 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -88.9 nm -13.8 cm 2.04 cm 1.82 keV 0 eV 0 fm 0 fm World initStep + 1 7.26 um -13.8 cm 2.04 cm 1.48 MeV 1.82 keV 135 um 135 um World eIoni + 2 27.5 um -20 cm 2.04 cm 620 MeV 9.9 keV 6.19 cm 6.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -7.38 cm 1.74 cm 10.7 MeV 0 eV 0 fm 0 fm World initStep + 1 17.4 um -20 cm 2.54 cm 10.7 MeV 0 eV 12.6 cm 12.6 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -4378,33 +1071,18 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 36.3 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -20 cm 2.22 cm 2.05 GeV 39.7 keV 20.5 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.5 mm 4.83 mm 75 MeV 1.04 keV 5.61 mm 5.61 mm World eIoni - 2 11 um -20 cm 2.22 cm 2.05 GeV 36.1 keV 19.9 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -9.81 cm 1.87 cm 1.03 GeV 19.3 keV 10.3 cm 10.3 cm World eIoni + 2 -3.14 um -20 cm 2.22 cm 2.05 GeV 20.9 keV 10.2 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.5 mm 4.83 mm 1.99 keV 0 eV 0 fm 0 fm World initStep - 1 -7.4 um -2.65 mm 4.84 mm 1.72 MeV 1.99 keV 155 um 155 um World eIoni - 2 -29.1 um -20 cm 4.86 mm 1.98 GeV 30.6 keV 19.7 cm 19.8 cm OutOfWorldTransportation + 0 0 fm -9.81 cm 1.87 cm 3.62 keV 0 eV 0 fm 0 fm World initStep + 1 14.9 um -9.85 cm 1.87 cm 4.44 MeV 3.62 keV 413 um 413 um World eIoni + 2 20.3 um -9.96 cm 1.88 cm 15.6 MeV 18.3 eV 1.11 mm 1.53 mm World eIoni + 3 39.4 um -20 cm 1.88 cm 1.02 GeV 20.4 keV 10 cm 10.2 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -4412,18 +1090,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -18.5 cm 2.18 cm 1.9 GeV 38 keV 19 cm 19 cm World eIoni - 2 405 nm -20 cm 2.22 cm 2.05 GeV 2.47 keV 1.48 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -18.5 cm 2.18 cm 3.16 keV 0 eV 0 fm 0 fm World initStep - 1 -16.1 um -18.5 cm 2.18 cm 3.52 MeV 3.16 keV 326 um 326 um World eIoni - 2 -23.1 um -18.7 cm 2.18 cm 14.2 MeV 42.7 eV 1.07 mm 1.4 mm World eIoni - 3 -35.6 um -20 cm 2.18 cm 149 MeV 1.98 keV 1.34 cm 1.48 cm OutOfWorldTransportation + 1 0 fm -20 cm 2.22 cm 2.05 GeV 47.2 keV 20.5 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -4431,17 +1098,3121 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -10.2 cm 1.89 cm 1.07 GeV 22.7 keV 10.7 cm 10.7 cm World eIoni - 2 366 nm -20 cm 2.22 cm 2.05 GeV 21.7 keV 9.84 cm 20.5 cm OutOfWorldTransportation + 1 0 fm -5.64 mm 6.98 mm 106 MeV 1 keV 9.42 mm 9.42 mm World eIoni + 2 -8.79 um -7.46 cm 1.74 cm 796 MeV 19.7 keV 7.01 cm 7.95 cm World eIoni + 3 -10.9 um -20 cm 2.22 cm 2.05 GeV 25 keV 12.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.79 um -7.46 cm 1.74 cm 1.76 keV 0 eV 0 fm 0 fm World initStep + 1 -12.9 um -7.48 cm 1.74 cm 1.41 MeV 1.76 keV 129 um 129 um World eIoni + 2 -25.8 um -20 cm 1.74 cm 1.25 GeV 16.4 keV 12.5 cm 12.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -10.2 cm 1.89 cm 1.49 keV 0 eV 0 fm 0 fm World initStep - 1 -1.05 um -10.2 cm 1.89 cm 1.11 MeV 1.49 keV 101 um 101 um World eIoni - 2 -4.71 um -20 cm 1.89 cm 983 MeV 13.9 keV 9.82 cm 9.83 cm OutOfWorldTransportation + 0 0 fm -5.64 mm 6.98 mm 2.17 keV 0 eV 0 fm 0 fm World initStep + 1 9.9 um -5.82 mm 6.98 mm 1.93 MeV 2.17 keV 177 um 177 um World eIoni + 2 34.6 um -8.54 cm 6.97 mm 798 MeV 11.1 keV 7.96 cm 7.98 cm World eIoni + 3 32 um -13.7 cm 6.97 mm 1.31 GeV 12.6 keV 5.14 cm 13.1 cm World eIoni + 4 32.8 um -18.6 cm 6.97 mm 1.8 GeV 8.98 keV 4.92 cm 18 cm World eIoni + 5 33.2 um -19.9 cm 6.97 mm 1.93 GeV 1.88 keV 1.28 cm 19.3 cm World eIoni + 6 33.2 um -20 cm 6.97 mm 1.94 GeV 121 eV 1.11 mm 19.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 33.2 um -19.9 cm 6.97 mm 2.6 keV 0 eV 0 fm 0 fm World initStep + 1 39.9 um -19.9 cm 6.95 mm 2.58 MeV 2.6 keV 237 um 237 um World eIoni + 2 43 um -20 cm 6.95 mm 11.3 MeV 44.3 eV 872 um 1.11 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32.8 um -18.6 cm 6.97 mm 1.04 keV 0 eV 0 fm 0 fm World initStep + 1 29.2 um -18.6 cm 6.97 mm 669 keV 1.04 keV 60.8 um 60.8 um World eIoni + 2 17.7 um -20 cm 6.98 mm 139 MeV 1.68 keV 1.38 cm 1.39 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32 um -13.7 cm 6.97 mm 9.32 keV 0 eV 0 fm 0 fm World initStep + 1 -12 um -13.9 cm 7 mm 17.7 MeV 5.74 keV 1.68 mm 1.68 mm World eIoni + 2 -23.4 um -14.4 cm 7.01 mm 77.2 MeV 910 eV 5.96 mm 7.64 mm World eIoni + 3 -32.1 um -16.1 cm 7.02 mm 239 MeV 1.63 keV 1.62 cm 2.38 cm World eIoni + 4 -33.2 um -20 cm 7.03 mm 632 MeV 14.3 keV 3.93 cm 6.31 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -32.1 um -16.1 cm 7.02 mm 7.69 keV 0 eV 0 fm 0 fm World initStep + 1 -67.5 um -16.2 cm 6.99 mm 14.8 MeV 4.78 keV 1.4 mm 1.4 mm World eIoni + 2 -77 um -16.7 cm 6.98 mm 62.6 MeV 590 eV 4.79 mm 6.18 mm World eIoni + 3 -89.4 um -20 cm 6.97 mm 394 MeV 8.26 keV 3.32 cm 3.94 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 34.6 um -8.54 cm 6.97 mm 10.9 keV 0 eV 0 fm 0 fm World initStep + 1 90.5 um -8.73 cm 6.94 mm 20.1 MeV 2.62 keV 1.92 mm 1.92 mm World eIoni + 2 98 um -8.98 cm 6.94 mm 44.7 MeV 165 eV 2.46 mm 4.38 mm World eIoni + 3 129 um -20 cm 6.92 mm 1.15 GeV 20.1 keV 11 cm 11.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -15.1 cm 2.08 cm 1.56 GeV 26.5 keV 15.6 cm 15.6 cm World eIoni + 2 -2.04 um -20 cm 2.22 cm 2.05 GeV 8.51 keV 4.92 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -15.1 cm 2.08 cm 5.55 keV 0 eV 0 fm 0 fm World initStep + 1 32.6 um -15.2 cm 2.08 cm 9.27 MeV 5.55 keV 872 um 872 um World eIoni + 2 46.1 um -15.7 cm 2.08 cm 60 MeV 1.22 keV 5.07 mm 5.94 mm World eIoni + 3 62.1 um -20 cm 2.08 cm 492 MeV 5.97 keV 4.32 cm 4.92 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -6.79 cm 1.7 cm 729 MeV 15.7 keV 7.28 cm 7.28 cm World eIoni + 2 -80.1 nm -8.39 cm 1.8 cm 889 MeV 2.14 keV 1.61 cm 8.89 cm World eIoni + 3 -1.07 um -11.1 cm 1.93 cm 1.16 GeV 5.37 keV 2.68 cm 11.6 cm World eIoni + 4 -3.2 um -14.6 cm 2.07 cm 1.51 GeV 5.23 keV 3.53 cm 15.1 cm World eIoni + 5 -6.69 um -20 cm 2.22 cm 2.05 GeV 9.33 keV 5.4 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.2 um -14.6 cm 2.07 cm 1.14 keV 0 eV 0 fm 0 fm World initStep + 1 2.18 um -14.6 cm 2.07 cm 758 keV 1.14 keV 68.9 um 68.9 um World eIoni + 2 23.1 um -20 cm 2.07 cm 540 MeV 9.63 keV 5.39 cm 5.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.07 um -11.1 cm 1.93 cm 3.92 keV 0 eV 0 fm 0 fm World initStep + 1 9.25 um -11.1 cm 1.93 cm 2.19 MeV 925 eV 207 um 207 um World eIoni + 2 52.4 um -20 cm 1.93 cm 893 MeV 14.9 keV 8.91 cm 8.93 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.25 um -11.1 cm 1.93 cm 1.08 keV 0 eV 0 fm 0 fm World initStep + 1 4.49 um -11.1 cm 1.93 cm 707 keV 1.08 keV 64.4 um 64.4 um World eIoni + 2 -14.4 um -15.7 cm 1.93 cm 462 MeV 9.36 keV 4.61 cm 4.62 cm World eIoni + 3 -15.9 um -20 cm 1.93 cm 891 MeV 10.4 keV 4.29 cm 8.91 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14.4 um -15.7 cm 1.93 cm 1.37 keV 0 eV 0 fm 0 fm World initStep + 1 -15.8 um -15.7 cm 1.93 cm 986 keV 1.37 keV 89.7 um 89.7 um World eIoni + 2 -20.3 um -20 cm 1.93 cm 429 MeV 6.14 keV 4.28 cm 4.29 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -80.1 nm -8.39 cm 1.8 cm 2.4 keV 0 eV 0 fm 0 fm World initStep + 1 8.34 um -8.41 cm 1.8 cm 2.26 MeV 2.4 keV 208 um 208 um World eIoni + 2 18.1 um -8.89 cm 1.8 cm 49.9 MeV 557 eV 4.76 mm 4.97 mm World eIoni + 3 26.2 um -13.6 cm 1.8 cm 522 MeV 10.5 keV 4.72 cm 5.21 cm World eIoni + 4 27 um -20 cm 1.8 cm 1.16 GeV 15.5 keV 6.39 cm 11.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.2 um -13.6 cm 1.8 cm 2.81 keV 0 eV 0 fm 0 fm World initStep + 1 32.3 um -13.6 cm 1.8 cm 2.92 MeV 2.81 keV 270 um 270 um World eIoni + 2 41.5 um -15.7 cm 1.8 cm 211 MeV 2.28 keV 2.09 cm 2.11 cm World eIoni + 3 43.9 um -20 cm 1.8 cm 639 MeV 8.44 keV 4.28 cm 6.39 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -6.79 cm 1.7 cm 1.67 keV 0 eV 0 fm 0 fm World initStep + 1 802 nm -6.8 cm 1.7 cm 1.3 MeV 1.67 keV 119 um 119 um World eIoni + 2 2.01 um -7.14 cm 1.7 cm 35.5 MeV 522 eV 3.42 mm 3.54 mm World eIoni + 3 -11.3 um -20 cm 1.7 cm 1.32 GeV 24 keV 12.9 cm 13.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.01 um -7.14 cm 1.7 cm 2.7 keV 0 eV 0 fm 0 fm World initStep + 1 12.9 um -7.17 cm 1.7 cm 2.74 MeV 2.7 keV 253 um 253 um World eIoni + 2 24.4 um -7.67 cm 1.69 cm 53.5 MeV 1.1 keV 5.08 mm 5.33 mm WorldTransportation + 3 24.4 um -7.67 cm 1.69 cm 53.5 MeV 0 eV 0 fm 5.33 mm World eIoni + 4 37.1 um -20 cm 1.69 cm 1.29 GeV 24.3 keV 12.3 cm 12.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.86 mm 5.9 mm 88.6 MeV 1.18 keV 7.34 mm 7.34 mm World eIoni + 2 28 um -20 cm 2.22 cm 2.05 GeV 33.1 keV 19.8 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.86 mm 5.9 mm 15.3 keV 0 eV 0 fm 0 fm World initStep + 1 -55.9 um -6.38 mm 5.86 mm 26.6 MeV 4.76 keV 2.55 mm 2.55 mm World eIoni + 2 -71.9 um -2.09 cm 5.85 mm 171 MeV 2.44 keV 1.45 cm 1.7 cm World eIoni + 3 -85.1 um -8.29 cm 5.84 mm 792 MeV 11.9 keV 6.21 cm 7.91 cm World eIoni + 4 -88.8 um -16.5 cm 5.83 mm 1.62 GeV 21.6 keV 8.25 cm 16.2 cm World eIoni + 5 -90.2 um -20 cm 5.83 mm 1.96 GeV 5.49 keV 3.46 cm 19.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -88.8 um -16.5 cm 5.83 mm 1.33 keV 0 eV 0 fm 0 fm World initStep + 1 -82.5 um -16.6 cm 5.83 mm 944 keV 1.33 keV 85.8 um 85.8 um World eIoni + 2 -62.6 um -20 cm 5.84 mm 346 MeV 3.01 keV 3.45 cm 3.46 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -85.1 um -8.29 cm 5.84 mm 1.22 keV 0 eV 0 fm 0 fm World initStep + 1 -91 um -8.3 cm 5.84 mm 830 keV 1.22 keV 75.5 um 75.5 um World eIoni + 2 -114 um -15.5 cm 5.84 mm 716 MeV 11.6 keV 7.15 cm 7.16 cm World eIoni + 3 -115 um -18.6 cm 5.84 mm 1.03 GeV 6 keV 3.13 cm 10.3 cm World eIoni + 4 -116 um -20 cm 5.84 mm 1.17 GeV 2.64 keV 1.41 cm 11.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -115 um -18.6 cm 5.84 mm 33.2 keV 0 eV 0 fm 0 fm World initStep + 1 -103 um -18.6 cm 5.78 mm 5.99 MeV 701 eV 597 um 597 um World eIoni + 2 -92 um -20 cm 5.72 mm 142 MeV 1.55 keV 1.36 cm 1.42 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -13.6 cm 2.03 cm 1.41 GeV 30.1 keV 14.1 cm 14.1 cm World eIoni + 2 -2.06 um -17.1 cm 2.14 cm 1.76 GeV 6.35 keV 3.5 cm 17.6 cm World eIoni + 3 -2.4 um -17.6 cm 2.16 cm 1.81 GeV 1.96 keV 5.57 mm 18.1 cm World eIoni + 4 -3.4 um -20 cm 2.22 cm 2.05 GeV 3.01 keV 2.39 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.4 um -17.6 cm 2.16 cm 2.35 keV 0 eV 0 fm 0 fm World initStep + 1 -9.52 um -17.6 cm 2.16 cm 2.2 MeV 2.35 keV 202 um 202 um World eIoni + 2 -22.3 um -19.7 cm 2.16 cm 207 MeV 2.9 keV 2.05 cm 2.07 cm World eIoni + 3 -22.5 um -20 cm 2.16 cm 239 MeV 268 eV 3.16 mm 2.39 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.06 um -17.1 cm 2.14 cm 1.24 keV 0 eV 0 fm 0 fm World initStep + 1 731 nm -17.1 cm 2.14 cm 854 keV 1.24 keV 77.6 um 77.6 um World eIoni + 2 9.87 um -20 cm 2.14 cm 294 MeV 8.8 keV 2.94 cm 2.94 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -13.6 cm 2.03 cm 8.41 keV 0 eV 0 fm 0 fm World initStep + 1 50.5 um -13.7 cm 2.03 cm 16.2 MeV 4.36 keV 1.53 mm 1.53 mm World eIoni + 2 64.1 um -14.3 cm 2.03 cm 71.9 MeV 896 eV 5.57 mm 7.1 mm World eIoni + 3 84.9 um -20 cm 2.03 cm 645 MeV 15.6 keV 5.73 cm 6.44 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.05 cm 1.33 cm 355 MeV 8.48 keV 3.52 cm 3.52 cm World eIoni + 2 2.13 um -6.77 cm 1.7 cm 727 MeV 5.99 keV 3.73 cm 7.25 cm World eIoni + 3 1.79 um -9.35 cm 1.85 cm 984 MeV 4.53 keV 2.58 cm 9.84 cm World eIoni + 4 1.76 um -11.5 cm 1.95 cm 1.2 GeV 3.16 keV 2.2 cm 12 cm World eIoni + 5 -327 nm -20 cm 2.22 cm 2.05 GeV 19.4 keV 8.46 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.76 um -11.5 cm 1.95 cm 1.64 keV 0 eV 0 fm 0 fm World initStep + 1 9.25 um -11.6 cm 1.95 cm 1.27 MeV 1.64 keV 116 um 116 um World eIoni + 2 29.9 um -15.1 cm 1.95 cm 359 MeV 7.41 keV 3.57 cm 3.58 cm World eIoni + 3 32.3 um -18.5 cm 1.95 cm 692 MeV 9.78 keV 3.33 cm 6.92 cm World eIoni + 4 32.1 um -20 cm 1.95 cm 846 MeV 3.26 keV 1.54 cm 8.46 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32.3 um -18.5 cm 1.95 cm 5.29 keV 0 eV 0 fm 0 fm World initStep + 1 52.2 um -18.5 cm 1.95 cm 8.5 MeV 5.29 keV 799 um 799 um World eIoni + 2 56.4 um -18.7 cm 1.95 cm 21.4 MeV 240 eV 1.29 mm 2.08 mm World eIoni + 3 65.8 um -20 cm 1.95 cm 154 MeV 2.22 keV 1.33 cm 1.54 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.9 um -15.1 cm 1.95 cm 994 eV 0 eV 0 fm 0 fm World initStep + 1 30.1 um -15.1 cm 1.95 cm 631 keV 994 eV 57.4 um 57.4 um World eIoni + 2 30.8 um -17.2 cm 1.95 cm 210 MeV 2.61 keV 2.1 cm 2.1 cm World eIoni + 3 30.8 um -20 cm 1.95 cm 487 MeV 7.02 keV 2.77 cm 4.87 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.79 um -9.35 cm 1.85 cm 1.11 keV 0 eV 0 fm 0 fm World initStep + 1 269 nm -9.35 cm 1.85 cm 736 keV 1.11 keV 66.8 um 66.8 um World eIoni + 2 -5.19 um -12.2 cm 1.85 cm 288 MeV 7.22 keV 2.87 cm 2.88 cm WorldTransportation + 3 -5.19 um -12.2 cm 1.85 cm 288 MeV9.08e-13 eV 0.00438 fm 2.88 cm World eIoni + 4 -6.44 um -12.8 cm 1.85 cm 341 MeV 515 eV 5.34 mm 3.41 cm World eIoni + 5 -9.99 um -18 cm 1.85 cm 862 MeV 11.4 keV 5.21 cm 8.62 cm World eIoni + 6 -10.5 um -20 cm 1.85 cm 1.07 GeV 2.69 keV 2.03 cm 10.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.99 um -18 cm 1.85 cm 2.03 keV 0 eV 0 fm 0 fm World initStep + 1 -8.36 um -18 cm 1.85 cm 1.74 MeV 2.03 keV 160 um 160 um World eIoni + 2 -5.67 um -18.8 cm 1.86 cm 87.2 MeV 901 eV 8.55 mm 8.71 mm World eIoni + 3 -2.79 um -20 cm 1.86 cm 203 MeV 1.84 keV 1.16 cm 2.03 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.67 um -18.8 cm 1.86 cm 1.4 keV 0 eV 0 fm 0 fm World initStep + 1 -10.5 um -18.8 cm 1.86 cm 1.01 MeV 1.4 keV 91.9 um 91.9 um World eIoni + 2 -22.5 um -20 cm 1.86 cm 116 MeV 1.94 keV 1.15 cm 1.16 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.44 um -12.8 cm 1.85 cm 3.92 keV 0 eV 0 fm 0 fm World initStep + 1 -17.1 um -12.8 cm 1.85 cm 3.76 MeV 1.52 keV 352 um 352 um World eIoni + 2 -34.8 um -20 cm 1.85 cm 725 MeV 12.6 keV 7.21 cm 7.24 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.19 um -12.2 cm 1.85 cm 4.03 keV 0 eV 0 fm 0 fm World initStep + 1 17.1 um -12.3 cm 1.85 cm 5.28 MeV 4.03 keV 493 um 493 um World eIoni + 2 24.1 um -12.4 cm 1.85 cm 16.7 MeV 134 eV 1.14 mm 1.64 mm World eIoni + 3 48.4 um -20 cm 1.85 cm 778 MeV 10.8 keV 7.61 cm 7.78 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.13 um -6.77 cm 1.7 cm 1.69 keV 0 eV 0 fm 0 fm World initStep + 1 10.3 um -6.78 cm 1.7 cm 1.33 MeV 1.69 keV 121 um 121 um World eIoni + 2 33.6 um -11.5 cm 1.7 cm 475 MeV 5.89 keV 4.74 cm 4.75 cm World eIoni + 3 33.7 um -20 cm 1.7 cm 1.32 GeV 24.1 keV 8.48 cm 13.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 33.6 um -11.5 cm 1.7 cm 1.5 keV 0 eV 0 fm 0 fm World initStep + 1 40.9 um -11.5 cm 1.7 cm 1.12 MeV 1.5 keV 102 um 102 um World eIoni + 2 61.4 um -14.1 cm 1.7 cm 257 MeV 3.16 keV 2.56 cm 2.57 cm World eIoni + 3 66.1 um -20 cm 1.7 cm 848 MeV 13.9 keV 5.92 cm 8.48 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.05 cm 1.33 cm 1.65 keV 0 eV 0 fm 0 fm World initStep + 1 -5.92 um -3.06 cm 1.33 cm 1.28 MeV 1.65 keV 117 um 117 um World eIoni + 2 -26.5 um -20 cm 1.34 cm 1.69 GeV 19.9 keV 16.9 cm 16.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.47 cm 1.39 cm 397 MeV 8.28 keV 3.94 cm 3.94 cm World eIoni + 2 1.43 um -5.28 cm 1.58 cm 578 MeV 1.87 keV 1.83 cm 5.77 cm World eIoni + 3 9.2 um -20 cm 2.22 cm 2.05 GeV 27.8 keV 14.7 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.43 um -5.28 cm 1.58 cm 1.72 keV 0 eV 0 fm 0 fm World initStep + 1 -3.46 um -5.3 cm 1.58 cm 1.37 MeV 1.72 keV 125 um 125 um World eIoni + 2 -17.6 um -11.8 cm 1.58 cm 647 MeV 8.78 keV 6.45 cm 6.47 cm World eIoni + 3 -20.1 um -18.4 cm 1.58 cm 1.31 GeV 13.6 keV 6.63 cm 13.1 cm World eIoni + 4 -20.1 um -19.7 cm 1.58 cm 1.44 GeV 5.8 keV 1.29 cm 14.4 cm World eIoni + 5 -20 um -20 cm 1.58 cm 1.47 GeV 715 eV 3.3 mm 14.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -20.1 um -19.7 cm 1.58 cm 5.8 keV 0 eV 0 fm 0 fm World initStep + 1 -48.6 um -19.7 cm 1.58 cm 6.57 MeV 2.77 keV 621 um 621 um World eIoni + 2 -60.7 um -20 cm 1.58 cm 33.5 MeV 436 eV 2.69 mm 3.31 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -20.1 um -18.4 cm 1.58 cm 1.33 keV 0 eV 0 fm 0 fm World initStep + 1 -24.8 um -18.4 cm 1.58 cm 941 keV 1.33 keV 85.6 um 85.6 um World eIoni + 2 -38 um -20 cm 1.59 cm 162 MeV 1.67 keV 1.61 cm 1.62 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -17.6 um -11.8 cm 1.58 cm 1.5 keV 0 eV 0 fm 0 fm World initStep + 1 -15.6 um -11.8 cm 1.58 cm 1.11 MeV 1.5 keV 101 um 101 um World eIoni + 2 -9.86 um -14.4 cm 1.59 cm 261 MeV 3.53 keV 2.6 cm 2.61 cm World eIoni + 3 -9.08 um -15.1 cm 1.59 cm 332 MeV 1.38 keV 7.04 mm 3.32 cm World eIoni + 4 -5.56 um -16.9 cm 1.59 cm 519 MeV 4.63 keV 1.87 cm 5.19 cm World eIoni + 5 -3.96 um -19.1 cm 1.59 cm 740 MeV 4.47 keV 2.21 cm 7.4 cm World eIoni + 6 -3.32 um -20 cm 1.59 cm 825 MeV 3.4 keV 8.52 mm 8.25 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.96 um -19.1 cm 1.59 cm 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 -7.32 um -19.2 cm 1.59 cm 648 keV 1.01 keV 58.9 um 58.9 um World eIoni + 2 -15.9 um -19.6 cm 1.59 cm 45.4 MeV 575 eV 4.47 mm 4.53 mm World eIoni + 3 -18.5 um -20 cm 1.59 cm 85.2 MeV 587 eV 3.99 mm 8.52 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -15.9 um -19.6 cm 1.59 cm 1.23 keV 0 eV 0 fm 0 fm World initStep + 1 -12.5 um -19.6 cm 1.58 cm 838 keV 1.23 keV 76.2 um 76.2 um World eIoni + 2 -5.5 um -20 cm 1.58 cm 40 MeV 233 eV 3.91 mm 3.99 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.56 um -16.9 cm 1.59 cm 2.77 keV 0 eV 0 fm 0 fm World initStep + 1 3.78 um -17 cm 1.59 cm 2.86 MeV 2.77 keV 264 um 264 um World eIoni + 2 17.7 um -18.8 cm 1.58 cm 182 MeV 2.73 keV 1.79 cm 1.82 cm World eIoni + 3 19.5 um -20 cm 1.58 cm 306 MeV 2.16 keV 1.24 cm 3.06 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.08 um -15.1 cm 1.59 cm 2.21 keV 0 eV 0 fm 0 fm World initStep + 1 -20.1 um -15.1 cm 1.59 cm 1.99 MeV 2.21 keV 183 um 183 um World eIoni + 2 -36.1 um -15.8 cm 1.59 cm 75.2 MeV 1.36 keV 7.32 mm 7.5 mm World eIoni + 3 -44.9 um -20 cm 1.59 cm 493 MeV 4.95 keV 4.18 cm 4.93 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.86 um -14.4 cm 1.59 cm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 -13.2 um -14.4 cm 1.59 cm 729 keV 1.1 keV 66.3 um 66.3 um World eIoni + 2 -26.8 um -20 cm 1.59 cm 564 MeV 4.46 keV 5.63 cm 5.64 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.47 cm 1.39 cm 8.21 keV 0 eV 0 fm 0 fm World initStep + 1 -20.4 um -3.61 cm 1.39 cm 15.8 MeV 2.81 keV 1.49 mm 1.49 mm World eIoni + 2 -22.6 um -3.74 cm 1.39 cm 28.6 MeV 138 eV 1.28 mm 2.78 mm World eIoni + 3 -35.7 um -12.2 cm 1.4 cm 869 MeV 18.6 keV 8.41 cm 8.69 cm World eIoni + 4 -39.7 um -17.3 cm 1.4 cm 1.38 GeV 10.1 keV 5.13 cm 13.8 cm World eIoni + 5 -41.1 um -19.6 cm 1.4 cm 1.61 GeV 1.95 keV 2.31 cm 16.1 cm World eIoni + 6 -41.3 um -20 cm 1.4 cm 1.65 GeV 443 eV 4.11 mm 16.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -41.1 um -19.6 cm 1.4 cm 1.39 keV 0 eV 0 fm 0 fm World initStep + 1 -40 um -19.6 cm 1.4 cm 1 MeV 1.39 keV 91 um 91 um World eIoni + 2 -37.8 um -20 cm 1.4 cm 41.2 MeV 387 eV 4.02 mm 4.11 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -39.7 um -17.3 cm 1.4 cm 4.03 keV 0 eV 0 fm 0 fm World initStep + 1 -36.6 um -17.3 cm 1.4 cm 5.3 MeV 4.03 keV 495 um 495 um World eIoni + 2 -34.9 um -17.7 cm 1.4 cm 41.2 MeV 744 eV 3.59 mm 4.08 mm World eIoni + 3 -33.7 um -18.9 cm 1.4 cm 160 MeV 1.51 keV 1.19 cm 1.59 cm World eIoni + 4 -32 um -20 cm 1.4 cm 272 MeV 818 eV 1.12 cm 2.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -33.7 um -18.9 cm 1.4 cm 4.66 keV 0 eV 0 fm 0 fm World initStep + 1 -45.1 um -18.9 cm 1.4 cm 6.84 MeV 4.66 keV 641 um 641 um World eIoni + 2 -48 um -19.1 cm 1.4 cm 19.4 MeV 239 eV 1.25 mm 1.89 mm World eIoni + 3 -51.5 um -19.5 cm 1.4 cm 65.4 MeV 618 eV 4.61 mm 6.51 mm World eIoni + 4 -63.7 um -20 cm 1.4 cm 113 MeV 818 eV 4.75 mm 1.13 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -51.5 um -19.5 cm 1.4 cm 47.8 keV 0 eV 0 fm 0 fm World initStep + 1 307 um -20 cm 1.42 cm 55.6 MeV 1.98 keV 5.05 mm 5.05 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35.7 um -12.2 cm 1.4 cm 2.94 keV 0 eV 0 fm 0 fm World initStep + 1 -21.7 um -12.2 cm 1.4 cm 3.13 MeV 2.94 keV 290 um 290 um World eIoni + 2 -13.9 um -12.3 cm 1.4 cm 17.6 MeV 20.3 eV 1.44 mm 1.73 mm World eIoni + 3 4.62 um -20 cm 1.4 cm 785 MeV 18.2 keV 7.68 cm 7.85 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -4.5 cm 1.51 cm 500 MeV 9.45 keV 4.98 cm 4.98 cm World eIoni + 2 -3.8 um -15.7 cm 2.1 cm 1.62 GeV 18.5 keV 11.2 cm 16.2 cm World eIoni + 3 -5.58 um -20 cm 2.22 cm 2.05 GeV 10.6 keV 4.32 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.8 um -15.7 cm 2.1 cm 1.83 keV 0 eV 0 fm 0 fm World initStep + 1 5.38 um -15.7 cm 2.1 cm 1.5 MeV 1.83 keV 137 um 137 um World eIoni + 2 28.9 um -20 cm 2.1 cm 431 MeV 8.83 keV 4.3 cm 4.31 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -4.5 cm 1.51 cm 1.02 keV 0 eV 0 fm 0 fm World initStep + 1 4.79 um -4.5 cm 1.51 cm 653 keV 1.02 keV 59.4 um 59.4 um World eIoni + 2 26.8 um -13.1 cm 1.51 cm 860 MeV 12.6 keV 8.6 cm 8.6 cm World eIoni + 3 29.6 um -17.6 cm 1.51 cm 1.31 GeV 7.1 keV 4.53 cm 13.1 cm World eIoni + 4 30.5 um -20 cm 1.51 cm 1.55 GeV 4.58 keV 2.37 cm 15.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.6 um -17.6 cm 1.51 cm 2.09 keV 0 eV 0 fm 0 fm World initStep + 1 31.8 um -17.6 cm 1.51 cm 1.83 MeV 2.09 keV 168 um 168 um World eIoni + 2 36.1 um -19.6 cm 1.5 cm 199 MeV 2.44 keV 1.97 cm 1.98 cm World eIoni + 3 36.2 um -20 cm 1.5 cm 237 MeV 417 eV 3.85 mm 2.37 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.8 um -13.1 cm 1.51 cm 3.37 keV 0 eV 0 fm 0 fm World initStep + 1 15.9 um -13.1 cm 1.51 cm 3.94 MeV 3.37 keV 366 um 366 um World eIoni + 2 6.69 um -13.7 cm 1.5 cm 61.9 MeV 850 eV 5.79 mm 6.16 mm World eIoni + 3 -18.8 um -20 cm 1.5 cm 691 MeV 7.9 keV 6.29 cm 6.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.69 um -13.7 cm 1.5 cm 4.76 keV 0 eV 0 fm 0 fm World initStep + 1 13.4 um -13.7 cm 1.5 cm 266 keV 0 eV 27.5 um 27.5 um World eIoni + 2 58.4 um -17.7 cm 1.5 cm 401 MeV 5.11 keV 4 cm 4.01 cm World eIoni + 3 61.5 um -20 cm 1.5 cm 629 MeV 9.09 keV 2.28 cm 6.29 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.23 cm 1.2 cm 273 MeV 4.08 keV 2.69 cm 2.69 cm World eIoni + 2 2.12 um -20 cm 2.22 cm 2.05 GeV 37.8 keV 17.8 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.23 cm 1.2 cm 1.59 keV 0 eV 0 fm 0 fm World initStep + 1 -2.01 um -2.24 cm 1.2 cm 1.2 MeV 1.59 keV 110 um 110 um World eIoni + 2 -7.73 um -5.67 cm 1.2 cm 344 MeV 3.17 keV 3.42 cm 3.44 cm World eIoni + 3 -9.28 um -9.18 cm 1.2 cm 694 MeV 3.96 keV 3.51 cm 6.94 cm World eIoni + 4 -12.5 um -13.9 cm 1.2 cm 1.16 GeV 7.94 keV 4.67 cm 11.6 cm World eIoni + 5 -13 um -20 cm 1.2 cm 1.78 GeV 14.7 keV 6.15 cm 17.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -12.5 um -13.9 cm 1.2 cm 1.76 keV 0 eV 0 fm 0 fm World initStep + 1 -21 um -13.9 cm 1.2 cm 1.41 MeV 1.76 keV 129 um 129 um World eIoni + 2 -45.1 um -20 cm 1.2 cm 615 MeV 9.37 keV 6.14 cm 6.15 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.28 um -9.18 cm 1.2 cm 2.2 keV 0 eV 0 fm 0 fm World initStep + 1 408 nm -9.19 cm 1.2 cm 1.99 MeV 2.2 keV 182 um 182 um World eIoni + 2 15.4 um -10.1 cm 1.2 cm 93 MeV 1.68 keV 9.1 mm 9.28 mm World eIoni + 3 25.7 um -20 cm 1.2 cm 1.08 GeV 23.7 keV 9.9 cm 10.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.73 um -5.67 cm 1.2 cm 1.29 keV 0 eV 0 fm 0 fm World initStep + 1 -5.75 um -5.68 cm 1.2 cm 894 keV 1.29 keV 81.3 um 81.3 um World eIoni + 2 1.88 um -14 cm 1.19 cm 835 MeV 10.2 keV 8.34 cm 8.35 cm World eIoni + 3 2.62 um -20 cm 1.19 cm 1.43 GeV 11.1 keV 5.98 cm 14.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.88 um -14 cm 1.19 cm 1.2 keV 0 eV 0 fm 0 fm World initStep + 1 -687 nm -14 cm 1.19 cm 815 keV 1.2 keV 74.2 um 74.2 um World eIoni + 2 -10.5 um -20 cm 1.19 cm 598 MeV 8.83 keV 5.97 cm 5.98 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -7.09 cm 1.72 cm 759 MeV 21.5 keV 7.58 cm 7.58 cm World eIoni + 2 -31.3 nm -20 cm 2.22 cm 2.05 GeV 31.1 keV 12.9 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -7.09 cm 1.72 cm 2.25 keV 0 eV 0 fm 0 fm World initStep + 1 75.8 nm -7.11 cm 1.72 cm 2.05 MeV 2.25 keV 189 um 189 um World eIoni + 2 221 nm -9.3 cm 1.72 cm 221 MeV 2.74 keV 2.19 cm 2.21 cm World eIoni + 3 221 nm -9.32 cm 1.72 cm 223 MeV 0 eV 163 um 2.23 cm World eIoni + 4 4.68 um -18.9 cm 1.71 cm 1.18 GeV 15.4 keV 9.59 cm 11.8 cm World eIoni + 5 4.82 um -20 cm 1.71 cm 1.29 GeV 1.5 keV 1.09 cm 12.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.68 um -18.9 cm 1.71 cm 1.15 keV 0 eV 0 fm 0 fm World initStep + 1 5.52 um -18.9 cm 1.71 cm 771 keV 1.15 keV 70.1 um 70.1 um World eIoni + 2 7.8 um -20 cm 1.71 cm 109 MeV 979 eV 1.09 cm 1.09 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 221 nm -9.32 cm 1.72 cm 1.21 keV 0 eV 0 fm 0 fm World initStep + 1 -4.11 um -9.33 cm 1.72 cm 824 keV 1.21 keV 74.9 um 74.9 um World eIoni + 2 -14.8 um -10 cm 1.72 cm 69.4 MeV 1.21 keV 6.86 mm 6.93 mm WorldTransportation + 3 -14.8 um -10 cm 1.72 cm 69.4 MeV2.23e-13 eV 0.00113 fm 6.93 mm World eIoni + 4 -12.6 um -20 cm 1.72 cm 1.07 GeV 20.3 keV 9.99 cm 10.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14.8 um -10 cm 1.72 cm 1.28 keV 0 eV 0 fm 0 fm World initStep + 1 -20.8 um -10 cm 1.72 cm 886 keV 1.28 keV 80.6 um 80.6 um World eIoni + 2 -38.9 um -12.1 cm 1.72 cm 208 MeV 2.34 keV 2.07 cm 2.07 cm World eIoni + 3 -32.7 um -20 cm 1.72 cm 999 MeV 16.8 keV 7.91 cm 9.99 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -38.9 um -12.1 cm 1.72 cm 8.66 keV 0 eV 0 fm 0 fm World initStep + 1 -80.1 um -12.2 cm 1.72 cm 16.6 MeV 4.46 keV 1.57 mm 1.57 mm World eIoni + 2 -88.3 um -12.6 cm 1.72 cm 50.9 MeV 396 eV 3.43 mm 5 mm World eIoni + 3 -110 um -20 cm 1.72 cm 792 MeV 12.3 keV 7.41 cm 7.91 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -8.98 cm 1.83 cm 948 MeV 21.5 keV 9.47 cm 9.47 cm World eIoni + 2 1.55 um -20 cm 2.22 cm 2.05 GeV 17.8 keV 11 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -8.98 cm 1.83 cm 2.35 keV 0 eV 0 fm 0 fm World initStep + 1 -4.96 um -9 cm 1.83 cm 2.19 MeV 2.35 keV 202 um 202 um World eIoni + 2 -12.8 um -10.2 cm 1.83 cm 124 MeV 1.24 keV 1.22 cm 1.24 cm World eIoni + 3 -15.1 um -15 cm 1.83 cm 607 MeV 9.67 keV 4.83 cm 6.07 cm World eIoni + 4 -16.4 um -18.1 cm 1.83 cm 915 MeV 5.33 keV 3.08 cm 9.15 cm World eIoni + 5 -16.4 um -20 cm 1.83 cm 1.1 GeV 2.4 keV 1.87 cm 11 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -16.4 um -18.1 cm 1.83 cm 1.08 keV 0 eV 0 fm 0 fm World initStep + 1 -20.8 um -18.1 cm 1.83 cm 709 keV 1.08 keV 64.5 um 64.5 um World eIoni + 2 -35.6 um -20 cm 1.83 cm 187 MeV 4.51 keV 1.86 cm 1.87 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -15.1 um -15 cm 1.83 cm 2.62 keV 0 eV 0 fm 0 fm World initStep + 1 -10.9 um -15.1 cm 1.83 cm 2.61 MeV 2.62 keV 241 um 241 um World eIoni + 2 -5.25 um -16.1 cm 1.83 cm 109 MeV 1.66 keV 1.06 cm 1.09 cm World eIoni + 3 -3.54 um -18.3 cm 1.83 cm 323 MeV 3.67 keV 2.14 cm 3.23 cm World eIoni + 4 -2.57 um -20 cm 1.83 cm 495 MeV 3.54 keV 1.72 cm 4.95 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.54 um -18.3 cm 1.83 cm 2.02 keV 0 eV 0 fm 0 fm World initStep + 1 -9.45 um -18.3 cm 1.83 cm 1.73 MeV 2.02 keV 159 um 159 um World eIoni + 2 -20.5 um -20 cm 1.83 cm 172 MeV 1.63 keV 1.71 cm 1.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -12.8 um -10.2 cm 1.83 cm 4.57 keV 0 eV 0 fm 0 fm World initStep + 1 -15 um -10.3 cm 1.83 cm 6.62 MeV 4.57 keV 620 um 620 um World eIoni + 2 -15.8 um -10.5 cm 1.82 cm 30.8 MeV 600 eV 2.42 mm 3.04 mm World eIoni + 3 -17.8 um -20 cm 1.82 cm 979 MeV 14.4 keV 9.48 cm 9.78 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.87 cm 1.13 cm 237 MeV 2.71 keV 2.32 cm 2.32 cm World eIoni + 2 -1.67 um -5.5 cm 1.6 cm 600 MeV 7.95 keV 3.66 cm 5.98 cm World eIoni + 3 -3.68 um -6.98 cm 1.71 cm 748 MeV 5 keV 1.48 cm 7.47 cm World eIoni + 4 -7.46 um -12.7 cm 2 cm 1.31 GeV 10.4 keV 5.68 cm 13.1 cm World eIoni + 5 -11 um -18.1 cm 2.17 cm 1.86 GeV 8.3 keV 5.43 cm 18.6 cm World eIoni + 6 -12.3 um -20 cm 2.22 cm 2.05 GeV 3.48 keV 1.92 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -11 um -18.1 cm 2.17 cm 5.05 keV 0 eV 0 fm 0 fm World initStep + 1 2.91 um -18.2 cm 2.17 cm 7.82 MeV 5.05 keV 734 um 734 um World eIoni + 2 6.7 um -18.3 cm 2.17 cm 24.8 MeV 379 eV 1.7 mm 2.43 mm World eIoni + 3 13.6 um -20 cm 2.17 cm 192 MeV 1.5 keV 1.68 cm 1.92 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.46 um -12.7 cm 2 cm 3.43 keV 0 eV 0 fm 0 fm World initStep + 1 3.52 um -12.7 cm 2 cm 4.05 MeV 3.43 keV 377 um 377 um World eIoni + 2 6.44 um -12.7 cm 2 cm 10 MeV 182 eV 598 um 975 um World eIoni + 3 19.2 um -16.1 cm 2 cm 343 MeV 8.33 keV 3.33 cm 3.42 cm World eIoni + 4 20.7 um -20 cm 2 cm 735 MeV 5.78 keV 3.93 cm 7.35 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 19.2 um -16.1 cm 2 cm 1.63 keV 0 eV 0 fm 0 fm World initStep + 1 22.1 um -16.1 cm 2 cm 1.25 MeV 1.63 keV 114 um 114 um World eIoni + 2 25.8 um -16.3 cm 2 cm 19.7 MeV 277 eV 1.84 mm 1.96 mm World eIoni + 3 42.8 um -17.7 cm 2 cm 166 MeV 1.44 keV 1.46 cm 1.66 cm World eIoni + 4 52.8 um -19.6 cm 2 cm 352 MeV 3.98 keV 1.86 cm 3.52 cm World eIoni + 5 54.4 um -20 cm 2 cm 393 MeV 1 keV 4.09 mm 3.93 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 52.8 um -19.6 cm 2 cm 2.91 keV 0 eV 0 fm 0 fm World initStep + 1 41.3 um -19.6 cm 2 cm 3.09 MeV 2.91 keV 286 um 286 um World eIoni + 2 32.1 um -20 cm 2 cm 41.2 MeV 259 eV 3.81 mm 4.1 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 42.8 um -17.7 cm 2 cm 8.84 keV 0 eV 0 fm 0 fm World initStep + 1 12 um -17.9 cm 1.99 cm 16.9 MeV 5.26 keV 1.61 mm 1.61 mm World eIoni + 2 5.86 um -18.2 cm 1.99 cm 52.5 MeV 756 eV 3.55 mm 5.16 mm World eIoni + 3 554 nm -19.1 cm 1.99 cm 137 MeV 1.91 keV 8.48 mm 1.36 cm World eIoni + 4 -1.6 um -20 cm 1.99 cm 228 MeV 1.59 keV 9.03 mm 2.27 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 554 nm -19.1 cm 1.99 cm 1.14 keV 0 eV 0 fm 0 fm World initStep + 1 -1.48 um -19.1 cm 1.99 cm 764 keV 1.14 keV 69.4 um 69.4 um World eIoni + 2 -7.02 um -20 cm 1.99 cm 90.4 MeV 538 eV 8.97 mm 9.04 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 25.8 um -16.3 cm 2 cm 5.47 keV 0 eV 0 fm 0 fm World initStep + 1 -1.64 um -16.4 cm 2 cm 9.04 MeV 5.47 keV 849 um 849 um World eIoni + 2 -17 um -17.3 cm 2 cm 107 MeV 1.33 keV 9.79 mm 1.06 cm World eIoni + 3 -25 um -20 cm 2 cm 374 MeV 5.58 keV 2.67 cm 3.73 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.68 um -6.98 cm 1.71 cm 1.17 keV 0 eV 0 fm 0 fm World initStep + 1 -7.62 um -6.98 cm 1.71 cm 789 keV 1.17 keV 71.6 um 71.6 um World eIoni + 2 -22.7 um -12.4 cm 1.71 cm 541 MeV 7.23 keV 5.41 cm 5.41 cm World eIoni + 3 -29.7 um -18.8 cm 1.71 cm 1.19 GeV 11.8 keV 6.44 cm 11.9 cm World eIoni + 4 -30 um -20 cm 1.71 cm 1.3 GeV 1.65 keV 1.17 cm 13 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -29.7 um -18.8 cm 1.71 cm 1.9 keV 0 eV 0 fm 0 fm World initStep + 1 -39.1 um -18.8 cm 1.71 cm 1.58 MeV 1.9 keV 144 um 144 um World eIoni + 2 -56.9 um -20 cm 1.71 cm 117 MeV 1.07 keV 1.15 cm 1.17 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -22.7 um -12.4 cm 1.71 cm 5.76 keV 0 eV 0 fm 0 fm World initStep + 1 6.73 um -12.5 cm 1.71 cm 9.9 MeV 5.76 keV 931 um 931 um World eIoni + 2 22.3 um -13.5 cm 1.72 cm 111 MeV 879 eV 1.01 cm 1.11 cm World eIoni + 3 35 um -20 cm 1.72 cm 762 MeV 14.6 keV 6.5 cm 7.61 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.67 um -5.5 cm 1.6 cm 10.5 keV 0 eV 0 fm 0 fm World initStep + 1 41 um -5.68 cm 1.59 cm 19.4 MeV 4.11 keV 1.85 mm 1.85 mm World eIoni + 2 56.6 um -7.15 cm 1.59 cm 166 MeV 2.59 keV 1.47 cm 1.65 cm World eIoni + 3 72.2 um -20 cm 1.59 cm 1.45 GeV 22 keV 12.9 cm 14.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.87 cm 1.13 cm 995 eV 0 eV 0 fm 0 fm World initStep + 1 2.64 um -1.88 cm 1.13 cm 637 keV 995 eV 57.4 um 57.4 um World eIoni + 2 14.9 um -10.8 cm 1.13 cm 894 MeV 13.2 keV 8.93 cm 8.94 cm World eIoni + 3 14.5 um -14 cm 1.13 cm 1.21 GeV 5.51 keV 3.21 cm 12.1 cm World eIoni + 4 13.5 um -20 cm 1.13 cm 1.81 GeV 13.3 keV 5.98 cm 18.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.5 um -14 cm 1.13 cm 5.47 keV 0 eV 0 fm 0 fm World initStep + 1 21.8 um -14.1 cm 1.13 cm 9.05 MeV 5.47 keV 851 um 851 um World eIoni + 2 24 um -14.4 cm 1.13 cm 36.1 MeV 196 eV 2.71 mm 3.56 mm World eIoni + 3 28.3 um -18.1 cm 1.13 cm 410 MeV 9.77 keV 3.74 cm 4.09 cm World eIoni + 4 28.6 um -20 cm 1.13 cm 599 MeV 3.44 keV 1.89 cm 5.99 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 28.3 um -18.1 cm 1.13 cm 6.38 keV 0 eV 0 fm 0 fm World initStep + 1 31.8 um -18.2 cm 1.13 cm 11.7 MeV 6.38 keV 1.1 mm 1.1 mm World eIoni + 2 32.4 um -18.4 cm 1.13 cm 30.5 MeV 238 eV 1.88 mm 2.98 mm World eIoni + 3 31 um -20 cm 1.13 cm 190 MeV 5.17 keV 1.6 cm 1.89 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32.4 um -18.4 cm 1.13 cm 1.48 keV 0 eV 0 fm 0 fm World initStep + 1 35.2 um -18.4 cm 1.13 cm 1.09 MeV 1.48 keV 99.4 um 99.4 um World eIoni + 2 42.3 um -20 cm 1.13 cm 160 MeV 1.67 keV 1.59 cm 1.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.9 um -10.8 cm 1.13 cm 2.97 keV 0 eV 0 fm 0 fm World initStep + 1 23.1 um -10.8 cm 1.13 cm 3.19 MeV 2.97 keV 295 um 295 um World eIoni + 2 23.3 um -10.8 cm 1.13 cm 3.39 MeV 3.09 eV 20.7 um 316 um World eIoni + 3 39.3 um -20 cm 1.13 cm 920 MeV 19.5 keV 9.16 cm 9.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.75 cm 1.42 cm 425 MeV 10.7 keV 4.22 cm 4.22 cm World eIoni + 2 1.87 um -16.8 cm 2.14 cm 1.73 GeV 28.3 keV 13.1 cm 17.3 cm World eIoni + 3 2.25 um -20 cm 2.22 cm 2.05 GeV 3.91 keV 3.16 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.87 um -16.8 cm 2.14 cm 4.96 keV 0 eV 0 fm 0 fm World initStep + 1 -1.93 um -16.9 cm 2.14 cm 7.56 MeV 4.96 keV 709 um 709 um World eIoni + 2 -2.95 um -17.1 cm 2.14 cm 23.1 MeV 337 eV 1.56 mm 2.27 mm World eIoni + 3 -5.31 um -20 cm 2.14 cm 317 MeV 5.28 keV 2.94 cm 3.16 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.75 cm 1.42 cm 1.92 keV 0 eV 0 fm 0 fm World initStep + 1 -2.88 um -3.76 cm 1.42 cm 1.6 MeV 1.92 keV 147 um 147 um World eIoni + 2 -10.9 um -11.5 cm 1.42 cm 775 MeV 12.6 keV 7.73 cm 7.75 cm World eIoni + 3 -21.6 um -20 cm 1.42 cm 1.63 GeV 20 keV 8.5 cm 16.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.9 um -11.5 cm 1.42 cm 33.6 keV 0 eV 0 fm 0 fm World initStep + 1 82.7 um -11.9 cm 1.41 cm 40.2 MeV 3.42 keV 3.91 mm 3.91 mm World eIoni + 2 123 um -20 cm 1.41 cm 852 MeV 18.4 keV 8.12 cm 8.51 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -8.15 mm 8.16 mm 131 MeV 1.62 keV 1.22 cm 1.22 cm World eIoni + 2 5.53 um -7.13 cm 1.72 cm 763 MeV 13.9 keV 6.4 cm 7.62 cm World eIoni + 3 5.58 um -10.5 cm 1.9 cm 1.1 GeV 4.04 keV 3.35 cm 11 cm World eIoni + 4 5.02 um -12.1 cm 1.97 cm 1.26 GeV 6.62 keV 1.6 cm 12.6 cm World eIoni + 5 7.42 um -20 cm 2.22 cm 2.05 GeV 18.1 keV 7.92 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.02 um -12.1 cm 1.97 cm 8.27 keV 0 eV 0 fm 0 fm World initStep + 1 -43.8 um -12.2 cm 1.98 cm 15.9 MeV 8.27 keV 1.51 mm 1.51 mm World eIoni + 2 -49.5 um -12.4 cm 1.98 cm 30.4 MeV 106 eV 1.45 mm 2.96 mm World eIoni + 3 -63.9 um -13.6 cm 1.98 cm 150 MeV 2.28 keV 1.2 cm 1.49 cm World eIoni + 4 -33.5 um -20 cm 1.97 cm 792 MeV 12.7 keV 6.42 cm 7.92 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -63.9 um -13.6 cm 1.98 cm 106 keV 0 eV 0 fm 0 fm World initStep + 1 -166 um -13.7 cm 1.98 cm 13.9 MeV 195 eV 1.39 mm 1.39 mm World eIoni + 2 -264 um -20 cm 1.99 cm 643 MeV 9.02 keV 6.29 cm 6.43 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -166 um -13.7 cm 1.98 cm 1.32 keV 0 eV 0 fm 0 fm World initStep + 1 -168 um -13.7 cm 1.98 cm 930 keV 1.32 keV 84.5 um 84.5 um World eIoni + 2 -178 um -20 cm 1.99 cm 629 MeV 7.05 keV 6.28 cm 6.29 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.58 um -10.5 cm 1.9 cm 76 keV 0 eV 0 fm 0 fm World initStep + 1 38.6 um -11.9 cm 1.88 cm 145 MeV 5.54 keV 1.44 cm 1.44 cm World eIoni + 2 43.9 um -13.5 cm 1.88 cm 302 MeV 2.05 keV 1.57 cm 3.01 cm World eIoni + 3 53.8 um -20 cm 1.88 cm 953 MeV 12.2 keV 6.52 cm 9.53 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 43.9 um -13.5 cm 1.88 cm 23.7 keV 0 eV 0 fm 0 fm World initStep + 1 33.3 um -13.9 cm 1.87 cm 41.1 MeV 4.77 keV 3.97 mm 3.97 mm World eIoni + 2 30.6 um -16.6 cm 1.87 cm 314 MeV 2.81 keV 2.73 cm 3.12 cm World eIoni + 3 29.6 um -20 cm 1.87 cm 654 MeV 5.42 keV 3.4 cm 6.52 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 38.6 um -11.9 cm 1.88 cm 2.1 keV 0 eV 0 fm 0 fm World initStep + 1 31.7 um -11.9 cm 1.88 cm 1.84 MeV 2.1 keV 169 um 169 um World eIoni + 2 15.4 um -16.4 cm 1.89 cm 450 MeV 4.4 keV 4.48 cm 4.5 cm World eIoni + 3 14 um -20 cm 1.89 cm 809 MeV 5.62 keV 3.59 cm 8.08 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.53 um -7.13 cm 1.72 cm 1.44 keV 0 eV 0 fm 0 fm World initStep + 1 11 um -7.14 cm 1.72 cm 1.05 MeV 1.44 keV 95.8 um 95.8 um World eIoni + 2 31.3 um -20 cm 1.72 cm 1.29 GeV 14.5 keV 12.9 cm 12.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -8.15 mm 8.16 mm 1.18 keV 0 eV 0 fm 0 fm World initStep + 1 -5.09 um -8.22 mm 8.16 mm 808 keV 1.18 keV 72.8 um 72.8 um World eIoni + 2 -22.4 um -3.79 cm 8.17 mm 298 MeV 2.75 keV 2.97 cm 2.98 cm WorldTransportation + 3 -22.4 um -3.79 cm 8.17 mm 298 MeV9.32e-13 eV 0.00449 fm 2.98 cm World eIoni + 4 -33 um -11.9 cm 8.17 mm 1.11 GeV 12.3 keV 8.11 cm 11.1 cm World eIoni + 5 -34.9 um -20 cm 8.17 mm 1.92 GeV 14.7 keV 8.09 cm 19.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -33 um -11.9 cm 8.17 mm 2.05 keV 0 eV 0 fm 0 fm World initStep + 1 -43.3 um -11.9 cm 8.17 mm 1.77 MeV 2.05 keV 163 um 163 um World eIoni + 2 -69.8 um -20 cm 8.16 mm 809 MeV 14.5 keV 8.08 cm 8.09 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -22.4 um -3.79 cm 8.17 mm 2.7 keV 0 eV 0 fm 0 fm World initStep + 1 -8.95 um -3.82 cm 8.16 mm 2.74 MeV 2.7 keV 252 um 252 um World eIoni + 2 1.06 um -4.03 cm 8.16 mm 23.5 MeV 89.1 eV 2.08 mm 2.33 mm World eIoni + 3 21.9 um -20 cm 8.15 mm 1.62 GeV 29.2 keV 16 cm 16.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -19.1 cm 2.2 cm 1.96 GeV 35.2 keV 19.6 cm 19.6 cm World eIoni + 2 180 nm -20 cm 2.22 cm 2.05 GeV 2.49 keV 9.39 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -19.1 cm 2.2 cm 1.47 keV 0 eV 0 fm 0 fm World initStep + 1 -7.14 um -19.1 cm 2.2 cm 1.08 MeV 1.47 keV 98.5 um 98.5 um World eIoni + 2 -22.8 um -20 cm 2.2 cm 94 MeV 551 eV 9.29 mm 9.39 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 45.1 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -12.6 um 357 um 50.1 MeV 19.5 eV 357 um 357 um World eIoni + 2 -27.9 um -19.4 cm 2.21 cm 1.99 GeV 31.6 keV 19.9 cm 19.9 cm World eIoni + 3 -28.2 um -20 cm 2.22 cm 2.05 GeV 1.97 keV 5.71 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -27.9 um -19.4 cm 2.21 cm 3 keV 0 eV 0 fm 0 fm World initStep + 1 -17.6 um -19.5 cm 2.21 cm 3.25 MeV 3 keV 301 um 301 um World eIoni + 2 -10.4 um -19.7 cm 2.21 cm 27.6 MeV 907 eV 2.44 mm 2.74 mm World eIoni + 3 -7.87 um -20 cm 2.21 cm 57.4 MeV 1.49 keV 2.98 mm 5.72 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -12.6 um 357 um 6.91 keV 0 eV 0 fm 0 fm World initStep + 1 33.2 um -1.22 mm 362 um 13.1 MeV 5.13 keV 1.24 mm 1.24 mm World eIoni + 2 46.8 um -1.08 cm 364 um 109 MeV 2 keV 9.61 mm 1.08 cm World eIoni + 3 65.7 um -20 cm 368 um 2 GeV 37.3 keV 18.9 cm 20 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.83 cm 1.12 cm 233 MeV 4.9 keV 2.28 cm 2.28 cm World eIoni + 2 -1.98 um -4.12 cm 1.47 cm 462 MeV 4.86 keV 2.32 cm 4.6 cm World eIoni + 3 -2.14 um -4.19 cm 1.47 cm 469 MeV 121 eV 688 um 4.67 cm World eIoni + 4 -9.92 um -6.8 cm 1.7 cm 730 MeV 2.92 keV 2.62 cm 7.29 cm World eIoni + 5 -23.7 um -20 cm 2.22 cm 2.05 GeV 34 keV 13.2 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.92 um -6.8 cm 1.7 cm 2.15 keV 0 eV 0 fm 0 fm World initStep + 1 -19.8 um -6.82 cm 1.7 cm 1.91 MeV 2.15 keV 175 um 175 um World eIoni + 2 -25.9 um -6.9 cm 1.7 cm 9.59 MeV 93.4 eV 768 um 943 um World eIoni + 3 -46.3 um -20 cm 1.7 cm 1.32 GeV 25.9 keV 13.1 cm 13.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.14 um -4.19 cm 1.47 cm 4.83 keV 0 eV 0 fm 0 fm World initStep + 1 23.4 um -4.26 cm 1.48 cm 7.25 MeV 4.83 keV 680 um 680 um World eIoni + 2 34.1 um -4.59 cm 1.48 cm 40.5 MeV 401 eV 3.32 mm 4 mm World eIoni + 3 49.8 um -8.47 cm 1.48 cm 428 MeV 11.5 keV 3.88 cm 4.28 cm World eIoni + 4 50.4 um -20 cm 1.48 cm 1.58 GeV 20.8 keV 11.5 cm 15.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 49.8 um -8.47 cm 1.48 cm 3.94 keV 0 eV 0 fm 0 fm World initStep + 1 70.5 um -8.52 cm 1.48 cm 5.09 MeV 3.94 keV 475 um 475 um World eIoni + 2 75.9 um -8.6 cm 1.48 cm 13.2 MeV 234 eV 812 um 1.29 mm World eIoni + 3 84 um -8.98 cm 1.48 cm 51.5 MeV 337 eV 3.83 mm 5.12 mm World eIoni + 4 88.1 um -9.44 cm 1.48 cm 96.9 MeV 1.58 keV 4.54 mm 9.66 mm World eIoni + 5 91.1 um -11.5 cm 1.48 cm 301 MeV 3.08 keV 2.04 cm 3.01 cm World eIoni + 6 90.6 um -20 cm 1.48 cm 1.15 GeV 20.6 keV 8.52 cm 11.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 91.1 um -11.5 cm 1.48 cm 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 95.8 um -11.5 cm 1.48 cm 641 keV 1.01 keV 58.3 um 58.3 um World eIoni + 2 111 um -12.5 cm 1.48 cm 105 MeV 3.68 keV 1.04 cm 1.05 cm World eIoni + 3 112 um -12.7 cm 1.48 cm 126 MeV 313 eV 2.14 mm 1.26 cm World eIoni + 4 116 um -16.2 cm 1.48 cm 471 MeV 11.5 keV 3.45 cm 4.71 cm World eIoni + 5 118 um -18 cm 1.48 cm 655 MeV 2.06 keV 1.84 cm 6.55 cm World eIoni + 6 120 um -20 cm 1.48 cm 852 MeV 3 keV 1.97 cm 8.52 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 118 um -18 cm 1.48 cm 1.91 keV 0 eV 0 fm 0 fm World initStep + 1 108 um -18 cm 1.48 cm 1.59 MeV 1.91 keV 146 um 146 um World eIoni + 2 89.5 um -19.5 cm 1.48 cm 145 MeV 1.65 keV 1.43 cm 1.45 cm World eIoni + 3 88.8 um -20 cm 1.48 cm 197 MeV 476 eV 5.24 mm 1.97 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 12 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 89.5 um -19.5 cm 1.48 cm 3.5 keV 0 eV 0 fm 0 fm World initStep + 1 82.9 um -19.5 cm 1.48 cm 4.21 MeV 3.5 keV 391 um 391 um World eIoni + 2 78.1 um -20 cm 1.48 cm 48.1 MeV 936 eV 4.39 mm 4.79 mm World eIoni + 3 78.1 um -20 cm 1.48 cm 52.7 MeV 280 eV 459 um 5.24 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 116 um -16.2 cm 1.48 cm 1.51 keV 0 eV 0 fm 0 fm World initStep + 1 113 um -16.2 cm 1.48 cm 1.13 MeV 1.51 keV 103 um 103 um World eIoni + 2 110 um -16.2 cm 1.48 cm 4.99 MeV 101 eV 387 um 490 um World eIoni + 3 88.3 um -20 cm 1.48 cm 381 MeV 6.36 keV 3.76 cm 3.81 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 110 um -16.2 cm 1.48 cm 2.03 keV 0 eV 0 fm 0 fm World initStep + 1 118 um -16.3 cm 1.48 cm 1.75 MeV 2.03 keV 160 um 160 um World eIoni + 2 134 um -19.3 cm 1.48 cm 306 MeV 4.6 keV 3.04 cm 3.06 cm WorldTransportation + 3 134 um -19.3 cm 1.48 cm 306 MeV1.12e-12 eV 0.00537 fm 3.06 cm World eIoni + 4 134 um -20 cm 1.48 cm 377 MeV 1.46 keV 7.03 mm 3.76 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 134 um -19.3 cm 1.48 cm 1.11 keV 0 eV 0 fm 0 fm World initStep + 1 130 um -19.3 cm 1.47 cm 730 keV 1.11 keV 66.4 um 66.4 um World eIoni + 2 120 um -20 cm 1.47 cm 70.4 MeV 805 eV 6.97 mm 7.04 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 112 um -12.7 cm 1.48 cm 1.17 keV 0 eV 0 fm 0 fm World initStep + 1 111 um -12.7 cm 1.48 cm 792 keV 1.17 keV 72 um 72 um World eIoni + 2 110 um -20 cm 1.48 cm 726 MeV 12.1 keV 7.26 cm 7.26 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 88.1 um -9.44 cm 1.48 cm 2.17 keV 0 eV 0 fm 0 fm World initStep + 1 97.4 um -9.45 cm 1.48 cm 1.94 MeV 2.17 keV 178 um 178 um World eIoni + 2 114 um -10.9 cm 1.48 cm 148 MeV 3.42 keV 1.46 cm 1.48 cm World eIoni + 3 122 um -20 cm 1.48 cm 1.06 GeV 17.8 keV 9.09 cm 10.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 84 um -8.98 cm 1.48 cm 1.37 keV 0 eV 0 fm 0 fm World initStep + 1 82.9 um -8.99 cm 1.48 cm 982 keV 1.37 keV 89.3 um 89.3 um World eIoni + 2 79 um -20 cm 1.48 cm 1.1 GeV 16.4 keV 11 cm 11 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.98 um -4.12 cm 1.47 cm 37.3 keV 0 eV 0 fm 0 fm World initStep + 1 68 um -4.83 cm 1.48 cm 73 MeV 5.67 keV 7.16 mm 7.16 mm World eIoni + 2 72.9 um -5.42 cm 1.48 cm 132 MeV 942 eV 5.93 mm 1.31 cm World eIoni + 3 73.9 um -5.6 cm 1.48 cm 150 MeV 335 eV 1.76 mm 1.49 cm World eIoni + 4 81 um -6.7 cm 1.48 cm 260 MeV 1.35 keV 1.1 cm 2.58 cm World eIoni + 5 102 um -15.3 cm 1.49 cm 1.12 GeV 15 keV 8.59 cm 11.2 cm World eIoni + 6 106 um -20 cm 1.49 cm 1.59 GeV 12.9 keV 4.72 cm 15.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 102 um -15.3 cm 1.49 cm 1.35 keV 0 eV 0 fm 0 fm World initStep + 1 109 um -15.3 cm 1.49 cm 965 keV 1.35 keV 87.8 um 87.8 um World eIoni + 2 131 um -20 cm 1.49 cm 472 MeV 9.1 keV 4.71 cm 4.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 81 um -6.7 cm 1.48 cm 1.43 keV 0 eV 0 fm 0 fm World initStep + 1 78.2 um -6.7 cm 1.49 cm 1.04 MeV 1.43 keV 94.9 um 94.9 um World eIoni + 2 67.5 um -20 cm 1.49 cm 1.33 GeV 21.9 keV 13.3 cm 13.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 73.9 um -5.6 cm 1.48 cm 2.55 keV 0 eV 0 fm 0 fm World initStep + 1 61.5 um -5.62 cm 1.48 cm 2.48 MeV 2.55 keV 229 um 229 um World eIoni + 2 43.7 um -6.73 cm 1.48 cm 113 MeV 1.44 keV 1.11 cm 1.13 cm World eIoni + 3 37 um -10.3 cm 1.49 cm 466 MeV 3.71 keV 3.53 cm 4.66 cm World eIoni + 4 27.5 um -20 cm 1.49 cm 1.44 GeV 24.2 keV 9.74 cm 14.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37 um -10.3 cm 1.49 cm 1.86 keV 0 eV 0 fm 0 fm World initStep + 1 45.9 um -10.3 cm 1.49 cm 1.53 MeV 1.86 keV 140 um 140 um World eIoni + 2 66.1 um -12.5 cm 1.49 cm 223 MeV 2.57 keV 2.21 cm 2.23 cm World eIoni + 3 73.5 um -20 cm 1.49 cm 975 MeV 21.1 keV 7.52 cm 9.74 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 19 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 66.1 um -12.5 cm 1.49 cm 996 eV 0 eV 0 fm 0 fm World initStep + 1 64 um -12.5 cm 1.49 cm 632 keV 996 eV 57.5 um 57.5 um World eIoni + 2 54.5 um -20 cm 1.48 cm 752 MeV 10.5 keV 7.51 cm 7.52 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.83 cm 1.12 cm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 4.49 um -1.84 cm 1.12 cm 729 keV 1.1 keV 66 um 66 um World eIoni + 2 21.1 um -5.23 cm 1.12 cm 340 MeV 5.99 keV 3.39 cm 3.4 cm World eIoni + 3 28.4 um -18 cm 1.12 cm 1.62 GeV 26.2 keV 12.8 cm 16.2 cm World eIoni + 4 29.1 um -20 cm 1.12 cm 1.82 GeV 3.82 keV 1.99 cm 18.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 28.4 um -18 cm 1.12 cm 1.72 keV 0 eV 0 fm 0 fm World initStep + 1 23.3 um -18 cm 1.12 cm 1.37 MeV 1.72 keV 125 um 125 um World eIoni + 2 11.5 um -20 cm 1.12 cm 200 MeV 3.11 keV 1.98 cm 1.99 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 21.1 um -5.23 cm 1.12 cm 1.19 keV 0 eV 0 fm 0 fm World initStep + 1 18.2 um -5.23 cm 1.12 cm 804 keV 1.19 keV 73.1 um 73.1 um World eIoni + 2 5.52 um -18.5 cm 1.12 cm 1.33 GeV 18.9 keV 13.2 cm 13.3 cm World eIoni + 3 5.39 um -20 cm 1.12 cm 1.48 GeV 2.16 keV 1.52 cm 14.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.81 cm 1.3 cm 331 MeV 4.68 keV 3.28 cm 3.28 cm World eIoni + 2 -1.54 um -7.73 cm 1.76 cm 823 MeV 11.9 keV 4.94 cm 8.21 cm World eIoni + 3 -1.74 um -9.13 cm 1.84 cm 963 MeV 2.34 keV 1.41 cm 9.63 cm World eIoni + 4 -2.87 um -20 cm 2.22 cm 2.05 GeV 19.2 keV 10.9 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.74 um -9.13 cm 1.84 cm 13.8 keV 0 eV 0 fm 0 fm World initStep + 1 -259 nm -9.36 cm 1.85 cm 24.4 MeV 3.85 keV 2.33 mm 2.33 mm World eIoni + 2 -193 nm -9.45 cm 1.85 cm 32.5 MeV 120 eV 812 um 3.15 mm World eIoni + 3 631 nm -20 cm 1.85 cm 1.09 GeV 23.4 keV 10.6 cm 10.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.54 um -7.73 cm 1.76 cm 4 keV 0 eV 0 fm 0 fm World initStep + 1 -3.03 um -7.77 cm 1.76 cm 5.21 MeV 4 keV 486 um 486 um World eIoni + 2 -4.11 um -8.41 cm 1.76 cm 69.4 MeV 695 eV 6.41 mm 6.9 mm World eIoni + 3 1.45 um -11.2 cm 1.75 cm 352 MeV 5.8 keV 2.82 cm 3.51 cm World eIoni + 4 2.72 um -20 cm 1.75 cm 1.23 GeV 20.8 keV 8.76 cm 12.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.45 um -11.2 cm 1.75 cm 1.27 keV 0 eV 0 fm 0 fm World initStep + 1 5.39 um -11.2 cm 1.75 cm 874 keV 1.27 keV 79.5 um 79.5 um World eIoni + 2 12.2 um -11.5 cm 1.75 cm 23.9 MeV 179 eV 2.3 mm 2.38 mm World eIoni + 3 20.1 um -13.7 cm 1.75 cm 247 MeV 8.31 keV 2.23 cm 2.47 cm World eIoni + 4 24 um -20 cm 1.75 cm 876 MeV 9.61 keV 6.29 cm 8.76 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 20.1 um -13.7 cm 1.75 cm 1.24 keV 0 eV 0 fm 0 fm World initStep + 1 20.5 um -13.7 cm 1.75 cm 855 keV 1.24 keV 77.7 um 77.7 um World eIoni + 2 22.1 um -20 cm 1.76 cm 630 MeV 9.4 keV 6.29 cm 6.29 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 12.2 um -11.5 cm 1.75 cm 2.08 keV 0 eV 0 fm 0 fm World initStep + 1 9.94 um -11.5 cm 1.75 cm 1.82 MeV 2.08 keV 166 um 166 um World eIoni + 2 5.39 um -13.7 cm 1.75 cm 221 MeV 2.2 keV 2.2 cm 2.21 cm World eIoni + 3 4.12 um -20 cm 1.75 cm 852 MeV 16.1 keV 6.31 cm 8.52 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.11 um -8.41 cm 1.76 cm 1.73 keV 0 eV 0 fm 0 fm World initStep + 1 -12 um -8.43 cm 1.75 cm 1.38 MeV 1.73 keV 126 um 126 um World eIoni + 2 -31.5 um -11 cm 1.75 cm 258 MeV 4.67 keV 2.56 cm 2.58 cm World eIoni + 3 -31.6 um -11.3 cm 1.75 cm 289 MeV 456 eV 3.14 mm 2.89 cm World eIoni + 4 -30.3 um -13.7 cm 1.75 cm 532 MeV 10.4 keV 2.43 cm 5.32 cm World eIoni + 5 -28.8 um -18.4 cm 1.75 cm 1 GeV 7.54 keV 4.71 cm 10 cm World eIoni + 6 -29 um -20 cm 1.75 cm 1.16 GeV 3.01 keV 1.56 cm 11.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -28.8 um -18.4 cm 1.75 cm 7.41 keV 0 eV 0 fm 0 fm World initStep + 1 -3.59 um -18.6 cm 1.75 cm 14.2 MeV 5.17 keV 1.35 mm 1.35 mm World eIoni + 2 -2.71 um -18.6 cm 1.75 cm 17.2 MeV 0 eV 296 um 1.64 mm World eIoni + 3 2.22 um -18.9 cm 1.75 cm 48.4 MeV 1.05 keV 3.12 mm 4.76 mm World eIoni + 4 14.1 um -20 cm 1.75 cm 157 MeV 1.07 keV 1.08 cm 1.56 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 12 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.22 um -18.9 cm 1.75 cm 3.35 keV 0 eV 0 fm 0 fm World initStep + 1 -15.6 um -19 cm 1.75 cm 3.89 MeV 3.35 keV 361 um 361 um World eIoni + 2 -23 um -19.1 cm 1.75 cm 15.4 MeV 185 eV 1.15 mm 1.51 mm World eIoni + 3 -34.2 um -20 cm 1.75 cm 109 MeV 710 eV 9.31 mm 1.08 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -30.3 um -13.7 cm 1.75 cm 2.69 keV 0 eV 0 fm 0 fm World initStep + 1 -30.7 um -13.8 cm 1.76 cm 2.72 MeV 2.69 keV 251 um 251 um World eIoni + 2 -30.9 um -13.8 cm 1.76 cm 11.8 MeV 186 eV 905 um 1.16 mm World eIoni + 3 -31.5 um -20 cm 1.76 cm 627 MeV 9.73 keV 6.15 cm 6.27 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -31.6 um -11.3 cm 1.75 cm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 -36.7 um -11.3 cm 1.75 cm 724 keV 1.1 keV 65.8 um 65.8 um World eIoni + 2 -44.8 um -11.4 cm 1.75 cm 14.1 MeV 141 eV 1.35 mm 1.41 mm World eIoni + 3 -15.8 um -20 cm 1.76 cm 870 MeV 18.3 keV 8.55 cm 8.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -44.8 um -11.4 cm 1.75 cm 81.7 keV 0 eV 0 fm 0 fm World initStep + 1 -96.9 um -11.7 cm 1.74 cm 28.4 MeV 1.15 keV 2.82 mm 2.82 mm World eIoni + 2 -132 um -20 cm 1.73 cm 856 MeV 19.2 keV 8.28 cm 8.56 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -31.5 um -11 cm 1.75 cm 1.75 keV 0 eV 0 fm 0 fm World initStep + 1 -37.2 um -11 cm 1.75 cm 1.4 MeV 1.75 keV 128 um 128 um World eIoni + 2 -54 um -20 cm 1.75 cm 901 MeV 11 keV 9 cm 9.01 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.81 cm 1.3 cm 2.05 keV 0 eV 0 fm 0 fm World initStep + 1 3.86 um -2.83 cm 1.3 cm 1.77 MeV 2.05 keV 162 um 162 um World eIoni + 2 10.9 um -4.1 cm 1.3 cm 129 MeV 1.51 keV 1.28 cm 1.29 cm World eIoni + 3 11.1 um -4.24 cm 1.3 cm 143 MeV 21.8 eV 1.38 mm 1.43 cm World eBrem + 4 13.5 um -8.71 cm 1.3 cm 590 MeV 10.7 keV 4.47 cm 5.9 cm World eIoni + 5 12.3 um -20 cm 1.3 cm 1.72 GeV 21.7 keV 11.3 cm 17.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.5 um -8.71 cm 1.3 cm 1.11 keV 0 eV 0 fm 0 fm World initStep + 1 17.9 um -8.71 cm 1.3 cm 733 keV 1.11 keV 66.7 um 66.7 um World eIoni + 2 37.2 um -18.7 cm 1.3 cm 999 MeV 11.9 keV 9.98 cm 9.98 cm World eIoni + 3 37.9 um -20 cm 1.3 cm 1.13 GeV 2.2 keV 1.31 cm 11.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.2 um -18.7 cm 1.3 cm 1.4 keV 0 eV 0 fm 0 fm World initStep + 1 30.5 um -18.7 cm 1.3 cm 1.01 MeV 1.4 keV 92 um 92 um World eIoni + 2 14 um -20 cm 1.3 cm 131 MeV 4.73 keV 1.3 cm 1.31 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -9.42 cm 1.85 cm 992 MeV 25.5 keV 9.91 cm 9.91 cm World eIoni + 2 535 nm -11.8 cm 1.96 cm 1.23 GeV 4.02 keV 2.34 cm 12.3 cm World eIoni + 3 989 nm -14.5 cm 2.06 cm 1.5 GeV 1.44 keV 2.71 cm 15 cm World eIoni + 4 2.11 um -20 cm 2.22 cm 2.05 GeV 12.4 keV 5.53 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 989 nm -14.5 cm 2.06 cm 1.17 keV 0 eV 0 fm 0 fm World initStep + 1 -1.09 um -14.5 cm 2.06 cm 787 keV 1.17 keV 71.5 um 71.5 um World eIoni + 2 -8.92 um -20 cm 2.06 cm 553 MeV 7.84 keV 5.52 cm 5.53 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 535 nm -11.8 cm 1.96 cm 1.07 keV 0 eV 0 fm 0 fm World initStep + 1 920 nm -11.8 cm 1.96 cm 701 keV 1.07 keV 63.8 um 63.8 um World eIoni + 2 2.34 um -14.5 cm 1.96 cm 279 MeV 2.69 keV 2.78 cm 2.79 cm World eIoni + 3 2.6 um -19.6 cm 1.96 cm 784 MeV 8.24 keV 5.05 cm 7.84 cm World eIoni + 4 2.87 um -20 cm 1.96 cm 824 MeV 808 eV 4.06 mm 8.24 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.6 um -19.6 cm 1.96 cm 2.64 keV 0 eV 0 fm 0 fm World initStep + 1 -11.1 um -19.6 cm 1.96 cm 2.63 MeV 2.64 keV 243 um 243 um World eIoni + 2 -23.4 um -20 cm 1.96 cm 40.8 MeV 398 eV 3.82 mm 4.06 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -9.42 cm 1.85 cm 1.9 keV 0 eV 0 fm 0 fm World initStep + 1 -5.5 um -9.43 cm 1.85 cm 1.59 MeV 1.9 keV 145 um 145 um World eIoni + 2 -19.9 um -15 cm 1.86 cm 563 MeV 6.26 keV 5.61 cm 5.62 cm World eIoni + 3 -21.3 um -20 cm 1.86 cm 1.06 GeV 6.66 keV 4.96 cm 10.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.39 cm 1.38 cm 389 MeV 3.34 keV 3.86 cm 3.86 cm World eIoni + 2 2.68 um -8.77 cm 1.82 cm 927 MeV 12.9 keV 5.4 cm 9.26 cm World eIoni + 3 1.6 um -20 cm 2.22 cm 2.05 GeV 26.5 keV 11.2 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.68 um -8.77 cm 1.82 cm 2.12 keV 0 eV 0 fm 0 fm World initStep + 1 13 um -8.79 cm 1.82 cm 1.88 MeV 2.12 keV 172 um 172 um World eIoni + 2 30.2 um -9.83 cm 1.82 cm 106 MeV 3.76 keV 1.04 cm 1.06 cm World eIoni + 3 40.7 um -20 cm 1.82 cm 1.12 GeV 17.1 keV 10.2 cm 11.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.39 cm 1.38 cm 1.26 keV 0 eV 0 fm 0 fm World initStep + 1 -5.2 um -3.4 cm 1.38 cm 871 keV 1.26 keV 79 um 79 um World eIoni + 2 -20.5 um -5.07 cm 1.38 cm 168 MeV 1.74 keV 1.67 cm 1.68 cm World eIoni + 3 -23.4 um -5.91 cm 1.38 cm 252 MeV 1.77 keV 8.45 mm 2.52 cm World eIoni + 4 -24 um -6.19 cm 1.38 cm 280 MeV 741 eV 2.77 mm 2.8 cm World eIoni + 5 -26.8 um -8.73 cm 1.38 cm 534 MeV 7.8 keV 2.54 cm 5.34 cm World eIoni + 6 -26.8 um -12 cm 1.38 cm 862 MeV 9.32 keV 3.28 cm 8.62 cm World eIoni + 7 -27.1 um -12.6 cm 1.38 cm 925 MeV 1.71 keV 6.34 mm 9.25 cm World eIoni + 8 -26.5 um -20 cm 1.38 cm 1.66 GeV 17.1 keV 7.36 cm 16.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -27.1 um -12.6 cm 1.38 cm 2.12 keV 0 eV 0 fm 0 fm World initStep + 1 -37.4 um -12.7 cm 1.38 cm 1.87 MeV 2.12 keV 172 um 172 um World eIoni + 2 -59 um -15.2 cm 1.38 cm 261 MeV 3.35 keV 2.59 cm 2.61 cm World eIoni + 3 -63.3 um -19.4 cm 1.38 cm 679 MeV 6.93 keV 4.18 cm 6.78 cm World eIoni + 4 -63.3 um -20 cm 1.38 cm 736 MeV 1.04 keV 5.78 mm 7.36 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -63.3 um -19.4 cm 1.38 cm 2.25 keV 0 eV 0 fm 0 fm World initStep + 1 -71.3 um -19.4 cm 1.38 cm 2.05 MeV 2.25 keV 188 um 188 um World eIoni + 2 -81.7 um -20 cm 1.38 cm 58 MeV 856 eV 5.6 mm 5.79 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -26.8 um -12 cm 1.38 cm 1.12 keV 0 eV 0 fm 0 fm World initStep + 1 -21.5 um -12 cm 1.38 cm 741 keV 1.12 keV 67.4 um 67.4 um World eIoni + 2 725 nm -20 cm 1.38 cm 800 MeV 10.6 keV 7.99 cm 8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -26.8 um -8.73 cm 1.38 cm 1.82 keV 0 eV 0 fm 0 fm World initStep + 1 -35.8 um -8.74 cm 1.38 cm 1.49 MeV 1.82 keV 136 um 136 um World eIoni + 2 -60.7 um -14.9 cm 1.38 cm 613 MeV 12.3 keV 6.11 cm 6.13 cm World eIoni + 3 -63.7 um -18.8 cm 1.38 cm 1.01 GeV 7.95 keV 3.95 cm 10.1 cm World eIoni + 4 -64.3 um -20 cm 1.38 cm 1.13 GeV 5.69 keV 1.2 cm 11.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -63.7 um -18.8 cm 1.38 cm 1.21 keV 0 eV 0 fm 0 fm World initStep + 1 -59.7 um -18.8 cm 1.38 cm 822 keV 1.21 keV 74.7 um 74.7 um World eIoni + 2 -49.2 um -20 cm 1.38 cm 120 MeV 1.86 keV 1.19 cm 1.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -60.7 um -14.9 cm 1.38 cm 995 eV 0 eV 0 fm 0 fm World initStep + 1 -58.1 um -14.9 cm 1.38 cm 631 keV 995 eV 57.4 um 57.4 um World eIoni + 2 -47.1 um -20 cm 1.38 cm 515 MeV 10.7 keV 5.14 cm 5.15 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -24 um -6.19 cm 1.38 cm 3.95 keV 0 eV 0 fm 0 fm World initStep + 1 -27.9 um -6.24 cm 1.38 cm 5.11 MeV 3.95 keV 477 um 477 um World eIoni + 2 -28.4 um -6.27 cm 1.38 cm 8.28 MeV 31.2 eV 317 um 794 um World eIoni + 3 -32.8 um -10.2 cm 1.39 cm 401 MeV 4.93 keV 3.92 cm 4 cm World eIoni + 4 -39.1 um -20 cm 1.39 cm 1.38 GeV 21.7 keV 9.81 cm 13.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -32.8 um -10.2 cm 1.39 cm 1.55 keV 0 eV 0 fm 0 fm World initStep + 1 -25.2 um -10.2 cm 1.39 cm 1.17 MeV 1.55 keV 106 um 106 um World eIoni + 2 -939 nm -16.7 cm 1.39 cm 649 MeV 7.83 keV 6.48 cm 6.49 cm World eIoni + 3 991 nm -18.9 cm 1.39 cm 867 MeV 5.78 keV 2.18 cm 8.67 cm World eIoni + 4 1.81 um -20 cm 1.39 cm 981 MeV 1.94 keV 1.14 cm 9.81 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 991 nm -18.9 cm 1.39 cm 1.29 keV 0 eV 0 fm 0 fm World initStep + 1 -2.32 um -18.9 cm 1.39 cm 903 keV 1.29 keV 82.1 um 82.1 um World eIoni + 2 -10.8 um -20 cm 1.39 cm 114 MeV 1.05 keV 1.13 cm 1.14 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -939 nm -16.7 cm 1.39 cm 1.83 keV 0 eV 0 fm 0 fm World initStep + 1 -6.65 um -16.7 cm 1.38 cm 1.5 MeV 1.83 keV 137 um 137 um World eIoni + 2 -20.6 um -20 cm 1.38 cm 332 MeV 8.89 keV 3.31 cm 3.32 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -23.4 um -5.91 cm 1.38 cm 9.81 keV 0 eV 0 fm 0 fm World initStep + 1 -32.1 um -6.08 cm 1.39 cm 18.4 MeV 4.4 keV 1.75 mm 1.75 mm World eIoni + 2 -33.5 um -6.36 cm 1.39 cm 45.6 MeV 479 eV 2.72 mm 4.47 mm World eIoni + 3 -36.9 um -9.91 cm 1.39 cm 401 MeV 9.71 keV 3.56 cm 4 cm World eIoni + 4 -45.8 um -20 cm 1.39 cm 1.41 GeV 24.2 keV 10.1 cm 14.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -36.9 um -9.91 cm 1.39 cm 9.87 keV 0 eV 0 fm 0 fm World initStep + 1 -9.41 um -10 cm 1.39 cm 12 MeV 2.01 keV 1.15 mm 1.15 mm World eIoni + 2 17 um -19.5 cm 1.4 cm 957 MeV 14.3 keV 9.45 cm 9.57 cm World eIoni + 3 17.3 um -20 cm 1.4 cm 1.01 GeV 907 eV 5.23 mm 10.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 17 um -19.5 cm 1.4 cm 1.2 keV 0 eV 0 fm 0 fm World initStep + 1 18.6 um -19.5 cm 1.4 cm 816 keV 1.2 keV 74.2 um 74.2 um World eIoni + 2 22.3 um -20 cm 1.4 cm 52.4 MeV 456 eV 5.16 mm 5.23 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -20.5 um -5.07 cm 1.38 cm 1.64 keV 0 eV 0 fm 0 fm World initStep + 1 -12.7 um -5.08 cm 1.38 cm 1.26 MeV 1.64 keV 115 um 115 um World eIoni + 2 14.2 um -18.4 cm 1.38 cm 1.33 GeV 20.1 keV 13.3 cm 13.3 cm World eIoni + 3 14.4 um -20 cm 1.38 cm 1.49 GeV 2.96 keV 1.62 cm 14.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.2 um -18.4 cm 1.38 cm 2.03 keV 0 eV 0 fm 0 fm World initStep + 1 17 um -18.4 cm 1.38 cm 1.74 MeV 2.03 keV 159 um 159 um World eIoni + 2 22.4 um -20 cm 1.38 cm 163 MeV 4.11 keV 1.61 cm 1.62 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -36.8 um 610 um 50.4 MeV 145 eV 611 um 611 um World eIoni + 2 23.2 um -20 cm 2.22 cm 2.05 GeV 39.8 keV 20.4 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -36.8 um 610 um 2.91 keV 0 eV 0 fm 0 fm World initStep + 1 -15.5 um -317 um 611 um 3.09 MeV 2.91 keV 286 um 286 um World eIoni + 2 -34.7 um -1.17 cm 612 um 117 MeV 3.34 keV 1.14 cm 1.17 cm World eIoni + 3 -40.6 um -3.53 cm 612 um 353 MeV 6.33 keV 2.35 cm 3.52 cm World eIoni + 4 -51.5 um -9.88 cm 610 um 988 MeV 14.7 keV 6.36 cm 9.88 cm World eIoni + 5 -56.6 um -19.5 cm 608 um 1.95 GeV 16.1 keV 9.63 cm 19.5 cm World eIoni + 6 -56.6 um -20 cm 608 um 2 GeV 868 eV 4.88 mm 20 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -56.6 um -19.5 cm 608 um 2.49 keV 0 eV 0 fm 0 fm World initStep + 1 -66.4 um -19.5 cm 616 um 2.39 MeV 2.49 keV 220 um 220 um World eIoni + 2 -75.5 um -19.8 cm 624 um 30.2 MeV 273 eV 2.78 mm 3 mm World eIoni + 3 -77.3 um -20 cm 626 um 49.1 MeV 1.23 keV 1.89 mm 4.89 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -51.5 um -9.88 cm 610 um 1 keV 0 eV 0 fm 0 fm World initStep + 1 -56.2 um -9.89 cm 611 um 638 keV 1 keV 58 um 58 um World eIoni + 2 -77.1 um -17 cm 615 um 714 MeV 11 keV 7.13 cm 7.14 cm World eIoni + 3 -77.2 um -20 cm 615 um 1.01 GeV 5.89 keV 2.98 cm 10.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -77.1 um -17 cm 615 um 1.26 keV 0 eV 0 fm 0 fm World initStep + 1 -81.5 um -17 cm 610 um 865 keV 1.26 keV 78.7 um 78.7 um World eIoni + 2 -95.6 um -20 cm 597 um 298 MeV 4.76 keV 2.97 cm 2.98 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -40.6 um -3.53 cm 612 um 3.3 keV 0 eV 0 fm 0 fm World initStep + 1 -24.7 um -3.56 cm 620 um 3.79 MeV 3.3 keV 352 um 352 um World eIoni + 2 -18.4 um -3.66 cm 624 um 13.9 MeV 72.9 eV 1.01 mm 1.37 mm World eIoni + 3 2.23 um -11.3 cm 634 um 774 MeV 20.1 keV 7.6 cm 7.74 cm World eIoni + 4 7.87 um -20 cm 633 um 1.65 GeV 24.8 keV 8.73 cm 16.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.23 um -11.3 cm 634 um 2.37 keV 0 eV 0 fm 0 fm World initStep + 1 -3.5 um -11.3 cm 645 um 2.22 MeV 2.37 keV 204 um 204 um World eIoni + 2 -10.6 um -11.9 cm 659 um 58.9 MeV 930 eV 5.67 mm 5.87 mm World eIoni + 3 -12.6 um -12.7 cm 662 um 142 MeV 1.4 keV 8.27 mm 1.41 cm World eIoni + 4 7.02 um -20 cm 658 um 874 MeV 17.5 keV 7.32 cm 8.73 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -12.6 um -12.7 cm 662 um 21.2 keV 0 eV 0 fm 0 fm World initStep + 1 -108 um -13 cm 713 um 36.4 MeV 4.46 keV 3.51 mm 3.51 mm World eIoni + 2 -118 um -13.5 cm 718 um 79.7 MeV 3.12 keV 4.33 mm 7.84 mm World eIoni + 3 -148 um -20 cm 734 um 734 MeV 14 keV 6.54 cm 7.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -7.29 cm 1.73 cm 779 MeV 17.7 keV 7.78 cm 7.78 cm World eIoni + 2 -3.22 um -13 cm 2.01 cm 1.35 GeV 15 keV 5.77 cm 13.5 cm World eIoni + 3 -4.04 um -16.5 cm 2.13 cm 1.7 GeV 6.01 keV 3.49 cm 17 cm World eIoni + 4 -4.03 um -19.4 cm 2.21 cm 1.99 GeV 6.6 keV 2.84 cm 19.9 cm World eIoni + 5 -3.95 um -20 cm 2.22 cm 2.05 GeV 1.13 keV 6.16 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.03 um -19.4 cm 2.21 cm 1.72 keV 0 eV 0 fm 0 fm World initStep + 1 -9.9 um -19.4 cm 2.21 cm 1.37 MeV 1.72 keV 125 um 125 um World eIoni + 2 -20 um -20 cm 2.21 cm 61.7 MeV 322 eV 6.03 mm 6.16 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.04 um -16.5 cm 2.13 cm 1.31 keV 0 eV 0 fm 0 fm World initStep + 1 -10.3 um -16.5 cm 2.13 cm 918 keV 1.31 keV 83.5 um 83.5 um World eIoni + 2 -29.9 um -20 cm 2.13 cm 346 MeV 3.4 keV 3.45 cm 3.46 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.22 um -13 cm 2.01 cm 1.73 keV 0 eV 0 fm 0 fm World initStep + 1 -7.8 um -13.1 cm 2.01 cm 1.38 MeV 1.73 keV 126 um 126 um World eIoni + 2 -21.2 um -20 cm 2.01 cm 695 MeV 5.78 keV 6.94 cm 6.95 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -7.29 cm 1.73 cm 3.31 keV 0 eV 0 fm 0 fm World initStep + 1 17.9 um -7.32 cm 1.73 cm 3.81 MeV 3.31 keV 354 um 354 um World eIoni + 2 33.8 um -7.94 cm 1.73 cm 65.3 MeV 742 eV 6.15 mm 6.51 mm World eIoni + 3 47.3 um -13.6 cm 1.73 cm 631 MeV 6.04 keV 5.65 cm 6.3 cm World eIoni + 4 51.9 um -18.5 cm 1.73 cm 1.12 GeV 15 keV 4.92 cm 11.2 cm World eIoni + 5 52.3 um -20 cm 1.73 cm 1.27 GeV 2.69 keV 1.49 cm 12.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 51.9 um -18.5 cm 1.73 cm 4.3 keV 0 eV 0 fm 0 fm World initStep + 1 67.5 um -18.6 cm 1.73 cm 5.96 MeV 4.3 keV 558 um 558 um World eIoni + 2 70.6 um -18.6 cm 1.73 cm 12.9 MeV 107 eV 692 um 1.25 mm World eIoni + 3 81 um -20 cm 1.73 cm 149 MeV 2.13 keV 1.36 cm 1.49 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 47.3 um -13.6 cm 1.73 cm 1.49 keV 0 eV 0 fm 0 fm World initStep + 1 43.4 um -13.6 cm 1.73 cm 1.11 MeV 1.49 keV 101 um 101 um World eIoni + 2 30.8 um -20 cm 1.73 cm 641 MeV 5.9 keV 6.4 cm 6.41 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.8 cm 1.11 cm 230 MeV 3.08 keV 2.25 cm 2.25 cm World eIoni + 2 -6.08 um -7.61 cm 1.75 cm 811 MeV 13.2 keV 5.85 cm 8.1 cm World eIoni + 3 -7.6 um -12 cm 1.97 cm 1.25 GeV 10.8 keV 4.43 cm 12.5 cm World eIoni + 4 -13.7 um -20 cm 2.22 cm 2.05 GeV 13.4 keV 7.96 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.6 um -12 cm 1.97 cm 8.42 keV 0 eV 0 fm 0 fm World initStep + 1 40.9 um -12.2 cm 1.97 cm 16.2 MeV 4.16 keV 1.53 mm 1.53 mm World eIoni + 2 43.8 um -12.3 cm 1.97 cm 22.6 MeV 0 eV 642 um 2.17 mm World eIoni + 3 73.9 um -17.7 cm 1.97 cm 564 MeV 7.97 keV 5.42 cm 5.63 cm World eIoni + 4 73.5 um -20 cm 1.97 cm 797 MeV 5.28 keV 2.33 cm 7.96 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 73.9 um -17.7 cm 1.97 cm 17.5 keV 0 eV 0 fm 0 fm World initStep + 1 140 um -17.9 cm 1.97 cm 19.9 MeV 2.58 keV 1.93 mm 1.93 mm World eIoni + 2 169 um -20 cm 1.97 cm 234 MeV 4.05 keV 2.14 cm 2.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.08 um -7.61 cm 1.75 cm 1.19 keV 0 eV 0 fm 0 fm World initStep + 1 -8.18 um -7.62 cm 1.75 cm 808 keV 1.19 keV 73.7 um 73.7 um World eIoni + 2 -15.7 um -11.4 cm 1.75 cm 376 MeV 5.33 keV 3.76 cm 3.76 cm World eIoni + 3 -17.3 um -20 cm 1.75 cm 1.24 GeV 18.1 keV 8.62 cm 12.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.8 cm 1.11 cm 2.38 keV 0 eV 0 fm 0 fm World initStep + 1 10.8 um -1.82 cm 1.11 cm 1.77 MeV 1.03 keV 164 um 164 um World eIoni + 2 41.7 um -14.6 cm 1.11 cm 1.28 GeV 15.4 keV 12.8 cm 12.8 cm World eIoni + 3 42.5 um -17.4 cm 1.11 cm 1.56 GeV 5.84 keV 2.8 cm 15.6 cm World eIoni + 4 42.6 um -20 cm 1.11 cm 1.82 GeV 4.08 keV 2.56 cm 18.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 42.5 um -17.4 cm 1.11 cm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 46.3 um -17.5 cm 1.11 cm 717 keV 1.09 keV 65.2 um 65.2 um World eIoni + 2 59 um -19.1 cm 1.11 cm 170 MeV 1.68 keV 1.69 cm 1.7 cm World eIoni + 3 58.5 um -20 cm 1.11 cm 256 MeV 1.1 keV 8.57 mm 2.56 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 59 um -19.1 cm 1.11 cm 3.34 keV 0 eV 0 fm 0 fm World initStep + 1 77.1 um -19.2 cm 1.11 cm 3.88 MeV 3.34 keV 360 um 360 um World eIoni + 2 90.4 um -19.6 cm 1.11 cm 41.8 MeV 297 eV 3.79 mm 4.15 mm World eIoni + 3 94.6 um -20 cm 1.11 cm 86.1 MeV 560 eV 4.43 mm 8.58 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 41.7 um -14.6 cm 1.11 cm 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 42.7 um -14.6 cm 1.11 cm 642 keV 1.01 keV 58.4 um 58.4 um World eIoni + 2 47.1 um -20 cm 1.11 cm 536 MeV 11.4 keV 5.35 cm 5.36 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -15.3 cm 2.09 cm 1.58 GeV 27.9 keV 15.8 cm 15.8 cm World eIoni + 2 3.56 um -20 cm 2.22 cm 2.05 GeV 16 keV 4.71 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -15.3 cm 2.09 cm 18.5 keV 0 eV 0 fm 0 fm World initStep + 1 -94.6 um -15.6 cm 2.09 cm 31.7 MeV 4.84 keV 3.05 mm 3.05 mm World eIoni + 2 -95.5 um -15.6 cm 2.09 cm 34.1 MeV 0 eV 234 um 3.29 mm World eIoni + 3 -105 um -16 cm 2.09 cm 70.5 MeV 550 eV 3.64 mm 6.93 mm World eIoni + 4 -138 um -20 cm 2.09 cm 473 MeV 12.4 keV 4.02 cm 4.71 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -105 um -16 cm 2.09 cm 1.49 keV 0 eV 0 fm 0 fm World initStep + 1 -99.4 um -16 cm 2.09 cm 1.11 MeV 1.49 keV 101 um 101 um World eIoni + 2 -81.6 um -20 cm 2.09 cm 402 MeV 3.91 keV 4.01 cm 4.02 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.9 cm 1.13 cm 240 MeV 4.95 keV 2.36 cm 2.36 cm World eIoni + 2 5.15 um -10.7 cm 1.92 cm 1.12 GeV 21.6 keV 8.81 cm 11.2 cm World eIoni + 3 6.24 um -13.2 cm 2.02 cm 1.37 GeV 4.92 keV 2.56 cm 13.7 cm World eIoni + 4 6.75 um -20 cm 2.22 cm 2.05 GeV 14.7 keV 6.77 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.24 um -13.2 cm 2.02 cm 2.48 keV 0 eV 0 fm 0 fm World initStep + 1 16.4 um -13.3 cm 2.02 cm 2.38 MeV 2.48 keV 219 um 219 um World eIoni + 2 26.3 um -13.6 cm 2.02 cm 35.3 MeV 720 eV 3.29 mm 3.51 mm World eIoni + 3 31.2 um -14.5 cm 2.02 cm 123 MeV 1.17 keV 8.81 mm 1.23 cm World eIoni + 4 31.1 um -16.4 cm 2.02 cm 318 MeV 7.24 keV 1.94 cm 3.18 cm World eIoni + 5 29.2 um -20 cm 2.02 cm 677 MeV 11.7 keV 3.59 cm 6.77 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 31.1 um -16.4 cm 2.02 cm 1.41 keV 0 eV 0 fm 0 fm World initStep + 1 36.4 um -16.4 cm 2.02 cm 1.03 MeV 1.41 keV 93.5 um 93.5 um World eIoni + 2 52.4 um -20 cm 2.02 cm 359 MeV 6.86 keV 3.58 cm 3.59 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 31.2 um -14.5 cm 2.02 cm 1.68 keV 0 eV 0 fm 0 fm World initStep + 1 39.4 um -14.5 cm 2.02 cm 1.32 MeV 1.68 keV 120 um 120 um World eIoni + 2 63.2 um -20 cm 2.02 cm 553 MeV 8.55 keV 5.52 cm 5.53 cm WorldTransportation + 3 63.2 um -20 cm 2.02 cm 553 MeV2.08e-12 eV 0.00993 fm 5.53 cm World eIoni + 4 63.2 um -20 cm 2.02 cm 554 MeV 0 eV 50.4 um 5.54 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 63.2 um -20 cm 2.02 cm 1.88 keV 0 eV 0 fm 0 fm World initStep + 1 60.2 um -20 cm 2.02 cm 839 keV 411 eV 54.7 um 54.7 um OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.15 um -10.7 cm 1.92 cm 2.17 keV 0 eV 0 fm 0 fm World initStep + 1 645 nm -10.7 cm 1.92 cm 1.94 MeV 2.17 keV 178 um 178 um World eIoni + 2 -4.86 um -11.1 cm 1.92 cm 42.9 MeV 910 eV 4.1 mm 4.28 mm World eIoni + 3 -11 um -20 cm 1.92 cm 933 MeV 11.7 keV 8.9 cm 9.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.9 cm 1.13 cm 25.2 keV 0 eV 0 fm 0 fm World initStep + 1 -26.6 um -2.32 cm 1.12 cm 44 MeV 3.87 keV 4.25 mm 4.25 mm World eIoni + 2 -31.2 um -3.65 cm 1.12 cm 176 MeV 1.69 keV 1.32 cm 1.75 cm World eIoni + 3 -33.1 um -5.02 cm 1.12 cm 314 MeV 2.18 keV 1.38 cm 3.13 cm World eIoni + 4 -44.7 um -20 cm 1.12 cm 1.81 GeV 26.5 keV 15 cm 18.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -33.1 um -5.02 cm 1.12 cm 1.14 keV 0 eV 0 fm 0 fm World initStep + 1 -28 um -5.03 cm 1.12 cm 761 keV 1.14 keV 69.2 um 69.2 um World eIoni + 2 -9 um -8.86 cm 1.12 cm 383 MeV 11.5 keV 3.82 cm 3.83 cm World eIoni + 3 -644 nm -13.1 cm 1.12 cm 807 MeV 5.07 keV 4.24 cm 8.07 cm World eIoni + 4 398 nm -14.1 cm 1.12 cm 908 MeV 1.97 keV 1 cm 9.08 cm World eIoni + 5 7.27 um -20 cm 1.12 cm 1.5 GeV 8.68 keV 5.9 cm 15 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 398 nm -14.1 cm 1.12 cm 7.61 keV 0 eV 0 fm 0 fm World initStep + 1 -29.9 um -14.2 cm 1.12 cm 14.6 MeV 5.28 keV 1.38 mm 1.38 mm World eIoni + 2 -30.7 um -14.3 cm 1.12 cm 16.9 MeV 0 eV 229 um 1.61 mm World eIoni + 3 -50.9 um -19.7 cm 1.13 cm 557 MeV 13.8 keV 5.4 cm 5.56 cm World eIoni + 4 -51.1 um -20 cm 1.13 cm 591 MeV 265 eV 3.41 mm 5.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -50.9 um -19.7 cm 1.13 cm 991 eV 0 eV 0 fm 0 fm World initStep + 1 -46.7 um -19.7 cm 1.13 cm 628 keV 991 eV 57.1 um 57.1 um World eIoni + 2 -36.5 um -20 cm 1.13 cm 34.2 MeV 136 eV 3.36 mm 3.42 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -644 nm -13.1 cm 1.12 cm 1.27 keV 0 eV 0 fm 0 fm World initStep + 1 3.28 um -13.1 cm 1.12 cm 874 keV 1.27 keV 79.5 um 79.5 um World eIoni + 2 10.2 um -13.4 cm 1.12 cm 25.9 MeV 150 eV 2.5 mm 2.58 mm World eIoni + 3 18 um -20 cm 1.12 cm 690 MeV 11 keV 6.65 cm 6.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9 um -8.86 cm 1.12 cm 6.28 keV 0 eV 0 fm 0 fm World initStep + 1 -43.4 um -8.94 cm 1.12 cm 9.21 MeV 3.38 keV 870 um 870 um World eIoni + 2 -81.6 um -20 cm 1.12 cm 1.12 GeV 16.5 keV 11.1 cm 11.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -8.17 cm 1.79 cm 867 MeV 12.8 keV 8.66 cm 8.66 cm World eIoni + 2 -1.31 um -9.83 cm 1.87 cm 1.03 GeV 3.5 keV 1.67 cm 10.3 cm World eIoni + 3 -2.93 um -20 cm 2.22 cm 2.05 GeV 18.8 keV 10.2 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.31 um -9.83 cm 1.87 cm 2.94 keV 0 eV 0 fm 0 fm World initStep + 1 -15.8 um -9.86 cm 1.88 cm 3.15 MeV 2.94 keV 291 um 291 um World eIoni + 2 -30.4 um -10.5 cm 1.88 cm 64.2 MeV 461 eV 6.11 mm 6.4 mm World eIoni + 3 -44.6 um -20 cm 1.88 cm 1.02 GeV 18.4 keV 9.53 cm 10.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -8.17 cm 1.79 cm 6.67 keV 0 eV 0 fm 0 fm World initStep + 1 36.8 um -8.28 cm 1.78 cm 12.5 MeV 3.76 keV 1.18 mm 1.18 mm World eIoni + 2 47.8 um -8.73 cm 1.78 cm 56.8 MeV 907 eV 4.42 mm 5.61 mm World eIoni + 3 67.1 um -14.9 cm 1.78 cm 676 MeV 9.16 keV 6.19 cm 6.75 cm World eIoni + 4 68.7 um -20 cm 1.78 cm 1.18 GeV 11.1 keV 5.08 cm 11.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 67.1 um -14.9 cm 1.78 cm 1.21 keV 0 eV 0 fm 0 fm World initStep + 1 72.3 um -14.9 cm 1.78 cm 821 keV 1.21 keV 74.7 um 74.7 um World eIoni + 2 84.2 um -15.4 cm 1.78 cm 53 MeV 2.26 keV 5.22 mm 5.29 mm World eIoni + 3 90.7 um -20 cm 1.78 cm 508 MeV 10.2 keV 4.55 cm 5.08 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.71 mm 4.05 mm 67.1 MeV 3.85 keV 4.5 mm 4.5 mm World eIoni + 2 -25.3 um -19.3 cm 2.2 cm 1.98 GeV 49 keV 19.4 cm 19.8 cm World eIoni + 3 -25.5 um -20 cm 2.22 cm 2.05 GeV 889 eV 6.55 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -25.3 um -19.3 cm 2.2 cm 1.22 keV 0 eV 0 fm 0 fm World initStep + 1 -23.8 um -19.4 cm 2.2 cm 835 keV 1.22 keV 75.8 um 75.8 um World eIoni + 2 -20.3 um -20 cm 2.21 cm 65.5 MeV 866 eV 6.47 mm 6.55 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.71 mm 4.05 mm 4.94 keV 0 eV 0 fm 0 fm World initStep + 1 26.2 um -2.29 mm 4.05 mm 6.24 MeV 2.58 keV 587 um 587 um World eIoni + 2 46.9 um -1.4 cm 4.05 mm 123 MeV 888 eV 1.17 cm 1.23 cm WorldTransportation + 3 46.9 um -1.4 cm 4.05 mm 123 MeV5.57e-13 eV 0.00275 fm 1.23 cm World eIoni + 4 66.1 um -6.09 cm 4.05 mm 593 MeV 8.95 keV 4.7 cm 5.92 cm World eIoni + 5 73.6 um -10.1 cm 4.05 mm 994 MeV 9.76 keV 4.01 cm 9.93 cm World eIoni + 6 78.4 um -14.9 cm 4.05 mm 1.48 GeV 16.3 keV 4.83 cm 14.8 cm World eIoni + 7 81.1 um -20 cm 4.05 mm 1.98 GeV 9.04 keV 5.07 cm 19.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 78.4 um -14.9 cm 4.05 mm 1.42 keV 0 eV 0 fm 0 fm World initStep + 1 83.1 um -14.9 cm 4.05 mm 1.04 MeV 1.42 keV 94.4 um 94.4 um World eIoni + 2 98.2 um -20 cm 4.07 mm 507 MeV 6.95 keV 5.06 cm 5.07 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 73.6 um -10.1 cm 4.05 mm 2.53 keV 0 eV 0 fm 0 fm World initStep + 1 79.5 um -10.1 cm 4.06 mm 2.45 MeV 2.53 keV 226 um 226 um World eIoni + 2 86.4 um -10.7 cm 4.08 mm 59.4 MeV 936 eV 5.69 mm 5.92 mm World eIoni + 3 91.3 um -15.1 cm 4.09 mm 504 MeV 9.84 keV 4.44 cm 5.04 cm World eIoni + 4 88.5 um -20 cm 4.09 mm 990 MeV 10.9 keV 4.86 cm 9.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 91.3 um -15.1 cm 4.09 mm 5.28 keV 0 eV 0 fm 0 fm World initStep + 1 122 um -15.2 cm 4.09 mm 8.48 MeV 5.28 keV 796 um 796 um World eIoni + 2 133 um -15.6 cm 4.1 mm 41.8 MeV 967 eV 3.33 mm 4.13 mm World eIoni + 3 151 um -20 cm 4.1 mm 487 MeV 7.99 keV 4.45 cm 4.86 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 66.1 um -6.09 cm 4.05 mm 3.6 keV 0 eV 0 fm 0 fm World initStep + 1 58.7 um -6.14 cm 4.07 mm 4.39 MeV 3.6 keV 409 um 409 um World eIoni + 2 57 um -6.19 cm 4.08 mm 9.58 MeV 146 eV 519 um 928 um World eIoni + 3 45.5 um -20 cm 4.1 mm 1.39 GeV 30.3 keV 13.8 cm 13.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 46.9 um -1.4 cm 4.05 mm 3.11 keV 0 eV 0 fm 0 fm World initStep + 1 31.8 um -1.43 cm 4.04 mm 3.42 MeV 3.11 keV 317 um 317 um World eIoni + 2 20 um -1.79 cm 4.04 mm 39.2 MeV 1.72 keV 3.58 mm 3.9 mm World eIoni + 3 4.54 um -8.22 cm 4.03 mm 683 MeV 11.9 keV 6.44 cm 6.83 cm World eIoni + 4 -8.93 um -20 cm 4.03 mm 1.86 GeV 21.6 keV 11.8 cm 18.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.54 um -8.22 cm 4.03 mm 7.06 keV 0 eV 0 fm 0 fm World initStep + 1 27.6 um -8.26 cm 4.04 mm 3.26 MeV 671 eV 315 um 315 um World eIoni + 2 75.8 um -20 cm 4.05 mm 1.18 GeV 20.6 keV 11.7 cm 11.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 40.6 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -12 cm 1.97 cm 1.25 GeV 21.2 keV 12.5 cm 12.5 cm World eIoni + 2 351 nm -13.8 cm 2.04 cm 1.43 GeV 3.73 keV 1.85 cm 14.3 cm World eIoni + 3 3.29 um -20 cm 2.22 cm 2.05 GeV 9.86 keV 6.19 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 351 nm -13.8 cm 2.04 cm 16.2 keV 0 eV 0 fm 0 fm World initStep + 1 -36.8 um -14.1 cm 2.03 cm 27.8 MeV 4.81 keV 2.67 mm 2.67 mm World eIoni + 2 -40.2 um -14.3 cm 2.03 cm 51.4 MeV 215 eV 2.36 mm 5.03 mm World eIoni + 3 -53.3 um -18.7 cm 2.03 cm 494 MeV 13.9 keV 4.43 cm 4.93 cm World eIoni + 4 -55.4 um -20 cm 2.03 cm 620 MeV 2.57 keV 1.26 cm 6.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -53.3 um -18.7 cm 2.03 cm 1.78 keV 0 eV 0 fm 0 fm World initStep + 1 -45.5 um -18.8 cm 2.03 cm 1.43 MeV 1.78 keV 131 um 131 um World eIoni + 2 -29.6 um -20 cm 2.03 cm 126 MeV 1.62 keV 1.24 cm 1.26 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -12 cm 1.97 cm 1.18 keV 0 eV 0 fm 0 fm World initStep + 1 -4.12 um -12 cm 1.97 cm 799 keV 1.18 keV 72.7 um 72.7 um World eIoni + 2 -20.7 um -20 cm 1.97 cm 803 MeV 16.8 keV 8.03 cm 8.03 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -165 um 1.29 mm 51.7 MeV 815 eV 1.3 mm 1.3 mm World eIoni + 2 17.5 um -17.8 cm 2.16 cm 1.83 GeV 37.8 keV 18.1 cm 18.3 cm World eIoni + 3 17.7 um -20 cm 2.22 cm 2.05 GeV 5.04 keV 2.22 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 17.5 um -17.8 cm 2.16 cm 1.12 keV 0 eV 0 fm 0 fm World initStep + 1 22.1 um -17.8 cm 2.16 cm 745 keV 1.12 keV 67.7 um 67.7 um World eIoni + 2 37.6 um -20 cm 2.16 cm 222 MeV 1.34 keV 2.21 cm 2.22 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -165 um 1.29 mm 2.24 keV 0 eV 0 fm 0 fm World initStep + 1 -10.3 um -351 um 1.29 mm 2.04 MeV 2.24 keV 188 um 188 um World eIoni + 2 -21.1 um -3.08 mm 1.29 mm 29.4 MeV 210 eV 2.73 mm 2.92 mm World eIoni + 3 -37 um -9.15 cm 1.29 mm 914 MeV 12 keV 8.84 cm 9.14 cm World eIoni + 4 -35.9 um -15.4 cm 1.28 mm 1.54 GeV 12.8 keV 6.27 cm 15.4 cm World eIoni + 5 -35.7 um -16 cm 1.28 mm 1.6 GeV 1.09 keV 6.25 mm 16 cm World eIoni + 6 -33.4 um -20 cm 1.28 mm 2 GeV 5.19 keV 3.96 cm 20 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35.7 um -16 cm 1.28 mm 4.83 keV 0 eV 0 fm 0 fm World initStep + 1 -62.7 um -16.1 cm 1.29 mm 7.24 MeV 4.83 keV 679 um 679 um World eIoni + 2 -70.1 um -16.3 cm 1.29 mm 22.3 MeV 1.38 keV 1.51 mm 2.19 mm World eIoni + 3 -89.7 um -19.6 cm 1.3 mm 353 MeV 4.68 keV 3.31 cm 3.53 cm World eIoni + 4 -89.7 um -20 cm 1.3 mm 396 MeV 747 eV 4.3 mm 3.96 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -89.7 um -19.6 cm 1.3 mm 2.12 keV 0 eV 0 fm 0 fm World initStep + 1 -100 um -19.6 cm 1.3 mm 1.87 MeV 2.12 keV 171 um 171 um World eIoni + 2 -114 um -20 cm 1.3 mm 43.2 MeV 449 eV 4.13 mm 4.31 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35.9 um -15.4 cm 1.28 mm 2.58 keV 0 eV 0 fm 0 fm World initStep + 1 -44.4 um -15.4 cm 1.29 mm 2.54 MeV 2.58 keV 234 um 234 um World eIoni + 2 -46.8 um -15.5 cm 1.3 mm 5.92 MeV 13.1 eV 338 um 573 um World eIoni + 3 -57.4 um -16.8 cm 1.31 mm 134 MeV 1.09 keV 1.28 cm 1.34 cm World eIoni + 4 -67.7 um -20 cm 1.32 mm 458 MeV 5.66 keV 3.24 cm 4.58 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -57.4 um -16.8 cm 1.31 mm 2.76 keV 0 eV 0 fm 0 fm World initStep + 1 -43.1 um -16.8 cm 1.31 mm 2.85 MeV 2.76 keV 263 um 263 um World eIoni + 2 -33 um -17 cm 1.31 mm 22.6 MeV 248 eV 1.98 mm 2.24 mm World eIoni + 3 -18.3 um -20 cm 1.3 mm 325 MeV 6.72 keV 3.02 cm 3.24 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -37 um -9.15 cm 1.29 mm 6.2 keV 0 eV 0 fm 0 fm World initStep + 1 -67.3 um -9.26 cm 1.31 mm 11.2 MeV 4.3 keV 1.05 mm 1.05 mm World eIoni + 2 -71.6 um -9.37 cm 1.31 mm 22.6 MeV 271 eV 1.14 mm 2.19 mm World eIoni + 3 -96.4 um -20 cm 1.33 mm 1.09 GeV 20 keV 10.6 cm 10.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -13.1 cm 2.01 cm 1.36 GeV 24.3 keV 13.6 cm 13.6 cm World eIoni + 2 99.1 nm -20 cm 2.22 cm 2.05 GeV 13.2 keV 6.86 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -13.1 cm 2.01 cm 1.12 keV 0 eV 0 fm 0 fm World initStep + 1 -381 nm -13.1 cm 2.01 cm 738 keV 1.12 keV 67.2 um 67.2 um World eIoni + 2 -681 nm -13.2 cm 2.01 cm 3.6 MeV 0 eV 287 um 354 um World eIoni + 3 -24.1 um -20 cm 2.01 cm 686 MeV 11.2 keV 6.82 cm 6.86 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -681 nm -13.2 cm 2.01 cm 1.94 keV 0 eV 0 fm 0 fm World initStep + 1 8.8 um -13.2 cm 2.01 cm 1.63 MeV 1.94 keV 149 um 149 um World eIoni + 2 16.6 um -13.3 cm 2.01 cm 12.3 MeV 259 eV 1.06 mm 1.21 mm World eIoni + 3 25.1 um -14.1 cm 2.01 cm 87.9 MeV 834 eV 7.57 mm 8.78 mm World eIoni + 4 40.6 um -20 cm 2.02 cm 682 MeV 9.43 keV 5.94 cm 6.82 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 25.1 um -14.1 cm 2.01 cm 1 keV 0 eV 0 fm 0 fm World initStep + 1 20.4 um -14.1 cm 2.01 cm 639 keV 1 keV 58.1 um 58.1 um World eIoni + 2 1.42 um -18 cm 2.01 cm 393 MeV 4.97 keV 3.93 cm 3.93 cm World eIoni + 3 1.41 um -20 cm 2.01 cm 595 MeV 3.79 keV 2.01 cm 5.95 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.42 um -18 cm 2.01 cm 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 -3.19 um -18 cm 2.01 cm 643 keV 1.01 keV 58.5 um 58.5 um World eIoni + 2 -19.2 um -19.5 cm 2.01 cm 154 MeV 3.99 keV 1.54 cm 1.54 cm World eIoni + 3 -19.4 um -20 cm 2.01 cm 201 MeV 309 eV 4.72 mm 2.01 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -19.2 um -19.5 cm 2.01 cm 1.13 keV 0 eV 0 fm 0 fm World initStep + 1 -22.2 um -19.5 cm 2.01 cm 751 keV 1.13 keV 68.3 um 68.3 um World eIoni + 2 -29.3 um -20 cm 2.01 cm 47.3 MeV 859 eV 4.66 mm 4.72 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.77 mm 5.84 mm 87.7 MeV 1.05 keV 7.24 mm 7.24 mm World eIoni + 2 121 nm -6.33 mm 7.34 mm 113 MeV 976 eV 2.97 mm 1.02 cm World eIoni + 3 5.28 um -3.86 cm 1.44 cm 436 MeV 4.79 keV 3.32 cm 4.34 cm World eIoni + 4 9.82 um -16 cm 2.11 cm 1.65 GeV 26.6 keV 12.2 cm 16.5 cm World eIoni + 5 10.8 um -20 cm 2.22 cm 2.05 GeV 12.4 keV 3.99 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.82 um -16 cm 2.11 cm 1.46 keV 0 eV 0 fm 0 fm World initStep + 1 7.41 um -16 cm 2.11 cm 1.07 MeV 1.46 keV 97.6 um 97.6 um World eIoni + 2 2.5 um -16.6 cm 2.11 cm 63.5 MeV 889 eV 6.24 mm 6.34 mm World eIoni + 3 2.3 um -17 cm 2.11 cm 102 MeV 257 eV 3.87 mm 1.02 cm World eIoni + 4 -2.79 um -20 cm 2.11 cm 399 MeV 4.78 keV 2.97 cm 3.99 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.3 um -17 cm 2.11 cm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 7.46 um -17 cm 2.11 cm 720 keV 1.09 keV 65.5 um 65.5 um World eIoni + 2 26.1 um -20 cm 2.11 cm 297 MeV 4.4 keV 2.96 cm 2.97 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.5 um -16.6 cm 2.11 cm 2.71 keV 0 eV 0 fm 0 fm World initStep + 1 90.1 nm -16.7 cm 2.11 cm 2.75 MeV 2.71 keV 254 um 254 um World eIoni + 2 -2.24 um -17.1 cm 2.12 cm 44 MeV 307 eV 4.12 mm 4.38 mm World eIoni + 3 -4.06 um -20 cm 2.12 cm 335 MeV 2.61 keV 2.92 cm 3.35 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.28 um -3.86 cm 1.44 cm 3.37 keV 0 eV 0 fm 0 fm World initStep + 1 6.22 um -3.9 cm 1.44 cm 3.94 MeV 3.37 keV 366 um 366 um World eIoni + 2 7 um -4.47 cm 1.44 cm 60.8 MeV 606 eV 5.69 mm 6.05 mm World eIoni + 3 7.75 um -10.8 cm 1.44 cm 689 MeV 9.34 keV 6.29 cm 6.89 cm World eIoni + 4 13.3 um -17.7 cm 1.44 cm 1.38 GeV 12 keV 6.95 cm 13.8 cm World eIoni + 5 14.4 um -20 cm 1.44 cm 1.61 GeV 2.69 keV 2.3 cm 16.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.3 um -17.7 cm 1.44 cm 5.18 keV 0 eV 0 fm 0 fm World initStep + 1 7.53 um -17.8 cm 1.44 cm 8.2 MeV 5.18 keV 770 um 770 um World eIoni + 2 5.55 um -18 cm 1.44 cm 35.6 MeV 1.26 keV 2.74 mm 3.51 mm World eIoni + 3 2.93 um -20 cm 1.44 cm 231 MeV 2.84 keV 1.95 cm 2.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.75 um -10.8 cm 1.44 cm 10.4 keV 0 eV 0 fm 0 fm World initStep + 1 -37 um -10.9 cm 1.45 cm 19.3 MeV 9.45 keV 1.84 mm 1.84 mm World eIoni + 2 -47.7 um -11.5 cm 1.45 cm 78.8 MeV 1.01 keV 5.94 mm 7.78 mm World eIoni + 3 -52 um -12.1 cm 1.45 cm 139 MeV 816 eV 6 mm 1.38 cm World eIoni + 4 -52.4 um -13 cm 1.45 cm 223 MeV 1.17 keV 8.46 mm 2.22 cm World eIoni + 5 -56.5 um -15 cm 1.45 cm 424 MeV 5.74 keV 2 cm 4.23 cm World eIoni + 6 -64 um -20 cm 1.46 cm 926 MeV 10.8 keV 5.02 cm 9.25 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -56.5 um -15 cm 1.45 cm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 -51.6 um -15 cm 1.45 cm 715 keV 1.09 keV 65 um 65 um World eIoni + 2 -32.6 um -19.2 cm 1.45 cm 418 MeV 4.29 keV 4.17 cm 4.18 cm World eIoni + 3 -32.4 um -20 cm 1.45 cm 502 MeV 895 eV 8.48 mm 5.02 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 12 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -32.6 um -19.2 cm 1.45 cm 1.74 keV 0 eV 0 fm 0 fm World initStep + 1 -28.5 um -19.2 cm 1.45 cm 1.39 MeV 1.74 keV 127 um 127 um World eIoni + 2 -20.8 um -20 cm 1.46 cm 85 MeV 1.12 keV 8.36 mm 8.49 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -52.4 um -13 cm 1.45 cm 119 keV 0 eV 0 fm 0 fm World initStep + 1 -12.4 um -14 cm 1.43 cm 102 MeV 2.31 keV 1.02 cm 1.02 cm World eIoni + 2 -9.71 um -14.6 cm 1.42 cm 162 MeV 833 eV 5.97 mm 1.61 cm World eIoni + 3 -8.56 um -15.2 cm 1.42 cm 222 MeV 958 eV 6 mm 2.21 cm World eIoni + 4 -6.16 um -20 cm 1.42 cm 704 MeV 8.72 keV 4.82 cm 7.03 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.56 um -15.2 cm 1.42 cm 1.18 keV 0 eV 0 fm 0 fm World initStep + 1 -6.02 um -15.2 cm 1.42 cm 801 keV 1.18 keV 72.8 um 72.8 um World eIoni + 2 1.84 um -16.8 cm 1.42 cm 163 MeV 3.81 keV 1.62 cm 1.63 cm World eIoni + 3 5.21 um -20 cm 1.42 cm 482 MeV 12.1 keV 3.19 cm 4.82 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 15 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.84 um -16.8 cm 1.42 cm 1.72 keV 0 eV 0 fm 0 fm World initStep + 1 -1.32 um -16.8 cm 1.42 cm 1.36 MeV 1.72 keV 124 um 124 um World eIoni + 2 -7.76 um -17.9 cm 1.42 cm 104 MeV 3.42 keV 1.03 cm 1.04 cm World eIoni + 3 -6.77 um -20 cm 1.42 cm 319 MeV 5.74 keV 2.15 cm 3.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.76 um -17.9 cm 1.42 cm 1.71 keV 0 eV 0 fm 0 fm World initStep + 1 -12.7 um -17.9 cm 1.42 cm 1.35 MeV 1.71 keV 123 um 123 um World eIoni + 2 -24.6 um -20 cm 1.42 cm 215 MeV 3.32 keV 2.14 cm 2.15 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.71 um -14.6 cm 1.42 cm 2.57 keV 0 eV 0 fm 0 fm World initStep + 1 -4.15 um -14.6 cm 1.42 cm 2.51 MeV 2.57 keV 231 um 231 um World eIoni + 2 -1.23 um -14.7 cm 1.42 cm 11.3 MeV 685 eV 882 um 1.11 mm World eIoni + 3 5 um -16.5 cm 1.42 cm 194 MeV 3.12 keV 1.83 cm 1.94 cm World eIoni + 4 3.36 um -20 cm 1.42 cm 542 MeV 13 keV 3.48 cm 5.42 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5 um -16.5 cm 1.42 cm 11.5 keV 0 eV 0 fm 0 fm World initStep + 1 27.2 um -16.7 cm 1.41 cm 21 MeV 7.2 keV 2.01 mm 2.01 mm World eIoni + 2 33.7 um -17.7 cm 1.41 cm 123 MeV 957 eV 1.02 cm 1.22 cm World eIoni + 3 37.5 um -19.9 cm 1.41 cm 341 MeV 3.09 keV 2.18 cm 3.4 cm World eIoni + 4 37.7 um -20 cm 1.41 cm 350 MeV 150 eV 848 um 3.49 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 18 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 37.5 um -19.9 cm 1.41 cm 2.29 keV 0 eV 0 fm 0 fm World initStep + 1 28.5 um -19.9 cm 1.41 cm 2.11 MeV 2.29 keV 193 um 193 um World eIoni + 2 24.4 um -20 cm 1.41 cm 8.69 MeV 0 eV 658 um 852 um OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -52 um -12.1 cm 1.45 cm 11.1 keV 0 eV 0 fm 0 fm World initStep + 1 -93.4 um -12.3 cm 1.44 cm 20.4 MeV 8.45 keV 1.95 mm 1.95 mm World eIoni + 2 -100 um -12.7 cm 1.44 cm 53.7 MeV 213 eV 3.32 mm 5.27 mm World eIoni + 3 -120 um -19.8 cm 1.44 cm 771 MeV 20.1 keV 7.17 cm 7.7 cm World eIoni + 4 -120 um -20 cm 1.44 cm 788 MeV 164 eV 1.76 mm 7.88 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -120 um -19.8 cm 1.44 cm 5.46 keV 0 eV 0 fm 0 fm World initStep + 1 -96.3 um -19.9 cm 1.44 cm 9.01 MeV 5.46 keV 847 um 847 um World eIoni + 2 -92.6 um -20 cm 1.44 cm 18.3 MeV 81.8 eV 925 um 1.77 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 121 nm -6.33 mm 7.34 mm 6.37 keV 0 eV 0 fm 0 fm World initStep + 1 -15.8 um -7.41 mm 7.37 mm 11.6 MeV 4.12 keV 1.1 mm 1.1 mm World eIoni + 2 -16 um -7.48 mm 7.37 mm 12.4 MeV 0 eV 75.4 um 1.17 mm World eIoni + 3 -27.2 um -4.33 cm 7.4 mm 370 MeV 3.81 keV 3.58 cm 3.69 cm World eIoni + 4 -32.6 um -7.8 cm 7.4 mm 717 MeV 6.76 keV 3.47 cm 7.17 cm World eIoni + 5 -37 um -18.7 cm 7.41 mm 1.81 GeV 23.2 keV 10.9 cm 18.1 cm World eIoni + 6 -37.1 um -20 cm 7.41 mm 1.94 GeV 2.71 keV 1.26 cm 19.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -37 um -18.7 cm 7.41 mm 7.16 keV 0 eV 0 fm 0 fm World initStep + 1 -52.6 um -18.9 cm 7.45 mm 13.7 MeV 4.63 keV 1.29 mm 1.29 mm World eIoni + 2 -55.6 um -19.1 cm 7.46 mm 37.5 MeV 235 eV 2.38 mm 3.67 mm World eIoni + 3 -59.2 um -20 cm 7.47 mm 127 MeV 1.12 keV 8.92 mm 1.26 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -32.6 um -7.8 cm 7.4 mm 1.55 keV 0 eV 0 fm 0 fm World initStep + 1 -39 um -7.81 cm 7.4 mm 1.17 MeV 1.55 keV 107 um 107 um World eIoni + 2 -59.5 um -14.2 cm 7.38 mm 636 MeV 6.71 keV 6.35 cm 6.36 cm World eIoni + 3 -59.5 um -20 cm 7.38 mm 1.22 GeV 15.6 keV 5.84 cm 12.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 22 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.5 um -14.2 cm 7.38 mm 1.27 keV 0 eV 0 fm 0 fm World initStep + 1 -65.3 um -14.2 cm 7.38 mm 882 keV 1.27 keV 80.3 um 80.3 um World eIoni + 2 -75.3 um -14.4 cm 7.39 mm 23.6 MeV 233 eV 2.27 mm 2.35 mm World eIoni + 3 -71.4 um -20 cm 7.38 mm 584 MeV 11.6 keV 5.61 cm 5.84 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 24 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -75.3 um -14.4 cm 7.39 mm 3 keV 0 eV 0 fm 0 fm World initStep + 1 -88.8 um -14.4 cm 7.4 mm 3.25 MeV 3 keV 300 um 300 um World eIoni + 2 -97.3 um -14.6 cm 7.4 mm 22.8 MeV 251 eV 1.95 mm 2.26 mm World eIoni + 3 -107 um -16.3 cm 7.41 mm 194 MeV 1.82 keV 1.71 cm 1.94 cm World eIoni + 4 -108 um -20 cm 7.42 mm 561 MeV 11.5 keV 3.67 cm 5.61 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 25 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -107 um -16.3 cm 7.41 mm 3.25 keV 0 eV 0 fm 0 fm World initStep + 1 -119 um -16.4 cm 7.4 mm 3.69 MeV 3.25 keV 343 um 343 um World eIoni + 2 -127 um -16.7 cm 7.39 mm 36.3 MeV 277 eV 3.26 mm 3.6 mm World eIoni + 3 -134 um -18.6 cm 7.38 mm 228 MeV 3.18 keV 1.92 cm 2.28 cm World eIoni + 4 -136 um -20 cm 7.38 mm 367 MeV 2.21 keV 1.39 cm 3.67 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 26 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -134 um -18.6 cm 7.38 mm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 -131 um -18.6 cm 7.37 mm 724 keV 1.1 keV 65.9 um 65.9 um World eIoni + 2 -124 um -20 cm 7.36 mm 139 MeV 2.22 keV 1.38 cm 1.39 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -27.2 um -4.33 cm 7.4 mm 2.41 keV 0 eV 0 fm 0 fm World initStep + 1 -15 um -4.35 cm 7.4 mm 2.28 MeV 2.41 keV 210 um 210 um World eIoni + 2 -9.64 um -4.4 cm 7.4 mm 7.92 MeV 71.3 eV 564 um 774 um World eIoni + 3 14.2 um -14.6 cm 7.41 mm 1.02 GeV 14.8 keV 10.2 cm 10.2 cm World eIoni + 4 14.8 um -16 cm 7.41 mm 1.16 GeV 2.05 keV 1.4 cm 11.6 cm World eIoni + 5 17 um -20 cm 7.41 mm 1.57 GeV 6.91 keV 4.03 cm 15.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 21 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.8 um -16 cm 7.41 mm 1.67 keV 0 eV 0 fm 0 fm World initStep + 1 6.49 um -16 cm 7.41 mm 1.3 MeV 1.67 keV 119 um 119 um World eIoni + 2 -16.2 um -19.7 cm 7.41 mm 377 MeV 5.04 keV 3.76 cm 3.77 cm World eIoni + 3 -16.1 um -20 cm 7.41 mm 403 MeV 205 eV 2.61 mm 4.03 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 29 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -16.2 um -19.7 cm 7.41 mm 9.55 keV 0 eV 0 fm 0 fm World initStep + 1 -65.3 um -19.9 cm 7.43 mm 18 MeV 3.61 keV 1.71 mm 1.71 mm World eIoni + 2 -68.8 um -20 cm 7.43 mm 27.3 MeV 214 eV 922 um 2.64 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 21 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.2 um -14.6 cm 7.41 mm 1.05 keV 0 eV 0 fm 0 fm World initStep + 1 14.9 um -14.6 cm 7.4 mm 676 keV 1.05 keV 61.5 um 61.5 um World eIoni + 2 17.3 um -16.6 cm 7.38 mm 201 MeV 2.79 keV 2 cm 2.01 cm World eIoni + 3 21.7 um -20 cm 7.38 mm 544 MeV 5.15 keV 3.43 cm 5.44 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 28 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 17.3 um -16.6 cm 7.38 mm 2.89 keV 0 eV 0 fm 0 fm World initStep + 1 6.11 um -16.6 cm 7.39 mm 3.06 MeV 2.89 keV 283 um 283 um World eIoni + 2 1.12 um -16.7 cm 7.4 mm 12 MeV 50.7 eV 892 um 1.18 mm World eIoni + 3 -5.88 um -17.3 cm 7.41 mm 71.6 MeV 608 eV 5.96 mm 7.13 mm World eIoni + 4 -18.5 um -20 cm 7.42 mm 343 MeV 4.78 keV 2.72 cm 3.43 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 31 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.88 um -17.3 cm 7.41 mm 5.18 keV 0 eV 0 fm 0 fm World initStep + 1 11.2 um -17.4 cm 7.38 mm 8.18 MeV 5.18 keV 768 um 768 um World eIoni + 2 19.2 um -17.9 cm 7.37 mm 60.6 MeV 444 eV 5.24 mm 6.01 mm World eIoni + 3 25.3 um -20 cm 7.36 mm 272 MeV 5.47 keV 2.12 cm 2.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.77 mm 5.84 mm 5.53 keV 0 eV 0 fm 0 fm World initStep + 1 -1.29 um -4.21 mm 5.82 mm 4.62 MeV 1.65 keV 437 um 437 um World eIoni + 2 -2.52 um -1.39 cm 5.81 mm 102 MeV 1.48 keV 9.71 mm 1.01 cm World eIoni + 3 -8.46 um -5.28 cm 5.8 mm 490 MeV 10.8 keV 3.88 cm 4.9 cm World eIoni + 4 -13.3 um -11.7 cm 5.79 mm 1.13 GeV 15.1 keV 6.38 cm 11.3 cm World eIoni + 5 -14 um -12.6 cm 5.79 mm 1.23 GeV 2.51 keV 9.8 mm 12.3 cm World eIoni + 6 -15.2 um -20 cm 5.79 mm 1.96 GeV 15.6 keV 7.36 cm 19.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14 um -12.6 cm 5.79 mm 3.1 keV 0 eV 0 fm 0 fm World initStep + 1 -30.6 um -12.7 cm 5.79 mm 3.41 MeV 3.1 keV 316 um 316 um World eIoni + 2 -31 um -12.7 cm 5.79 mm 3.72 MeV 4.65 eV 31 um 347 um World eIoni + 3 -54.9 um -15 cm 5.79 mm 235 MeV 7.08 keV 2.31 cm 2.35 cm World eIoni + 4 -57.6 um -20 cm 5.79 mm 737 MeV 15.7 keV 5.02 cm 7.36 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 36 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -54.9 um -15 cm 5.79 mm 3.06 keV 0 eV 0 fm 0 fm World initStep + 1 -63.4 um -15 cm 5.8 mm 3.35 MeV 3.06 keV 310 um 310 um World eIoni + 2 -71.1 um -15.5 cm 5.82 mm 55.1 MeV 479 eV 5.17 mm 5.48 mm World eIoni + 3 -77.6 um -20 cm 5.83 mm 502 MeV 8.3 keV 4.47 cm 5.02 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -13.3 um -11.7 cm 5.79 mm 1.25 keV 0 eV 0 fm 0 fm World initStep + 1 -9.65 um -11.7 cm 5.79 mm 861 keV 1.25 keV 78.3 um 78.3 um World eIoni + 2 1.45 um -13.4 cm 5.77 mm 176 MeV 1.48 keV 1.75 cm 1.76 cm World eIoni + 3 617 nm -20 cm 5.76 mm 834 MeV 17.7 keV 6.58 cm 8.34 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 35 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.45 um -13.4 cm 5.77 mm 2.21 keV 0 eV 0 fm 0 fm World initStep + 1 3.91 um -13.4 cm 5.78 mm 224 keV 868 eV 22.9 um 22.9 um World eIoni + 2 19.2 um -15 cm 5.8 mm 155 MeV 2.01 keV 1.55 cm 1.55 cm WorldTransportation + 3 19.2 um -15 cm 5.8 mm 155 MeV5.28e-13 eV 0.00259 fm 1.55 cm World eIoni + 4 22.4 um -18.4 cm 5.8 mm 502 MeV 6.3 keV 3.48 cm 5.03 cm World eIoni + 5 23.9 um -20 cm 5.81 mm 658 MeV 3.21 keV 1.56 cm 6.58 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 38 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22.4 um -18.4 cm 5.8 mm 1.32 keV 0 eV 0 fm 0 fm World initStep + 1 17.1 um -18.5 cm 5.8 mm 929 keV 1.32 keV 84.5 um 84.5 um World eIoni + 2 2.65 um -20 cm 5.79 mm 156 MeV 2.59 keV 1.55 cm 1.56 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.46 um -5.28 cm 5.8 mm 1.72 keV 0 eV 0 fm 0 fm World initStep + 1 -4.16 um -5.29 cm 5.81 mm 1.36 MeV 1.72 keV 124 um 124 um World eIoni + 2 9.99 um -20 cm 5.83 mm 1.47 GeV 20.5 keV 14.7 cm 14.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.52 um -1.39 cm 5.81 mm 1.35 keV 0 eV 0 fm 0 fm World initStep + 1 3.41 um -1.4 cm 5.8 mm 966 keV 1.35 keV 87.9 um 87.9 um World eIoni + 2 20.6 um -3.45 cm 5.8 mm 206 MeV 2.48 keV 2.05 cm 2.06 cm World eIoni + 3 20.3 um -6.49 cm 5.79 mm 510 MeV 4.41 keV 3.04 cm 5.1 cm World eIoni + 4 22.1 um -10.5 cm 5.79 mm 908 MeV 5.24 keV 3.98 cm 9.07 cm World eIoni + 5 22.5 um -15.1 cm 5.79 mm 1.37 GeV 11.6 keV 4.63 cm 13.7 cm World eIoni + 6 22 um -20 cm 5.79 mm 1.86 GeV 7.43 keV 4.91 cm 18.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 33 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22.5 um -15.1 cm 5.79 mm 1.04 keV 0 eV 0 fm 0 fm World initStep + 1 27.4 um -15.1 cm 5.79 mm 674 keV 1.04 keV 61.3 um 61.3 um World eIoni + 2 45.4 um -17.5 cm 5.79 mm 239 MeV 3.51 keV 2.38 cm 2.39 cm World eIoni + 3 47 um -20 cm 5.79 mm 491 MeV 4.68 keV 2.52 cm 4.91 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 33 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22.1 um -10.5 cm 5.79 mm 2.13 keV 0 eV 0 fm 0 fm World initStep + 1 27 um -10.5 cm 5.78 mm 1.89 MeV 2.13 keV 173 um 173 um World eIoni + 2 38.3 um -15.2 cm 5.76 mm 477 MeV 9.32 keV 4.75 cm 4.77 cm World eIoni + 3 39.8 um -20 cm 5.76 mm 954 MeV 9.59 keV 4.76 cm 9.53 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 33 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 20.3 um -6.49 cm 5.79 mm 1.5 keV 0 eV 0 fm 0 fm World initStep + 1 13.8 um -6.5 cm 5.8 mm 1.12 MeV 1.5 keV 102 um 102 um World eIoni + 2 -4.61 um -9.35 cm 5.81 mm 286 MeV 2.75 keV 2.85 cm 2.86 cm World eIoni + 3 -4.72 um -9.45 cm 5.81 mm 296 MeV 85 eV 954 um 2.96 cm World eIoni + 4 -12.9 um -17.5 cm 5.81 mm 1.1 GeV 18.9 keV 8.05 cm 11 cm World eIoni + 5 -13.3 um -20 cm 5.81 mm 1.35 GeV 7.35 keV 2.5 cm 13.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 41 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -12.9 um -17.5 cm 5.81 mm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 -18 um -17.5 cm 5.81 mm 716 keV 1.09 keV 65.1 um 65.1 um World eIoni + 2 -36.2 um -20 cm 5.81 mm 250 MeV 3.23 keV 2.49 cm 2.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 41 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.72 um -9.45 cm 5.81 mm 1.28 keV 0 eV 0 fm 0 fm World initStep + 1 -6.42 nm -9.46 cm 5.8 mm 891 keV 1.28 keV 81 um 81 um World eIoni + 2 18.7 um -20 cm 5.79 mm 1.06 GeV 18.2 keV 10.5 cm 10.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 33 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 20.6 um -3.45 cm 5.8 mm 1.36 keV 0 eV 0 fm 0 fm World initStep + 1 27.2 um -3.46 cm 5.79 mm 977 keV 1.36 keV 88.9 um 88.9 um World eIoni + 2 45.4 um -5.15 cm 5.79 mm 170 MeV 2.59 keV 1.69 cm 1.7 cm World eIoni + 3 61.9 um -17.4 cm 5.8 mm 1.39 GeV 26.7 keV 12.2 cm 13.9 cm World eIoni + 4 62.8 um -18.9 cm 5.8 mm 1.54 GeV 3.02 keV 1.48 cm 15.4 cm World eIoni + 5 63.8 um -20 cm 5.8 mm 1.65 GeV 2.9 keV 1.13 cm 16.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 40 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 62.8 um -18.9 cm 5.8 mm 8.43 keV 0 eV 0 fm 0 fm World initStep + 1 28.4 um -19 cm 5.78 mm 8.52 MeV 1.14 keV 815 um 815 um World eIoni + 2 6.67 um -20 cm 5.77 mm 113 MeV 1.63 keV 1.05 cm 1.13 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 40 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 61.9 um -17.4 cm 5.8 mm 1.87 keV 0 eV 0 fm 0 fm World initStep + 1 58.5 um -17.4 cm 5.81 mm 1.54 MeV 1.87 keV 141 um 141 um World eIoni + 2 53.5 um -17.8 cm 5.82 mm 44.1 MeV 500 eV 4.26 mm 4.4 mm World eIoni + 3 42.4 um -20 cm 5.82 mm 260 MeV 3.51 keV 2.16 cm 2.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 53.5 um -17.8 cm 5.82 mm 2.49 keV 0 eV 0 fm 0 fm World initStep + 1 65.4 um -17.9 cm 5.82 mm 2.39 MeV 2.49 keV 220 um 220 um World eIoni + 2 76.4 um -18.1 cm 5.83 mm 30.3 MeV 560 eV 2.79 mm 3.01 mm World eIoni + 3 85.6 um -20 cm 5.83 mm 216 MeV 2.67 keV 1.86 cm 2.16 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 40 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 45.4 um -5.15 cm 5.79 mm 2.59 keV 0 eV 0 fm 0 fm World initStep + 1 34.9 um -5.17 cm 5.78 mm 2.55 MeV 2.59 keV 235 um 235 um World eIoni + 2 28.9 um -5.28 cm 5.78 mm 12.9 MeV 137 eV 1.03 mm 1.27 mm World eIoni + 3 14.7 um -9.32 cm 5.77 mm 417 MeV 4.04 keV 4.04 cm 4.17 cm World eIoni + 4 14.7 um -17.1 cm 5.76 mm 1.19 GeV 14.4 keV 7.75 cm 11.9 cm World eIoni + 5 14.4 um -18.7 cm 5.76 mm 1.36 GeV 7.15 keV 1.68 cm 13.6 cm World eIoni + 6 14.8 um -20 cm 5.76 mm 1.49 GeV 2.74 keV 1.26 cm 14.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 46 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.4 um -18.7 cm 5.76 mm 15.5 keV 0 eV 0 fm 0 fm World initStep + 1 -21.9 um -19 cm 5.69 mm 23.4 MeV 3.63 keV 2.25 mm 2.25 mm World eIoni + 2 -32 um -20 cm 5.68 mm 127 MeV 1.98 keV 1.04 cm 1.26 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 46 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.7 um -17.1 cm 5.76 mm 1.51 keV 0 eV 0 fm 0 fm World initStep + 1 18.5 um -17.1 cm 5.77 mm 1.13 MeV 1.51 keV 103 um 103 um World eIoni + 2 29.1 um -20 cm 5.79 mm 294 MeV 3.3 keV 2.93 cm 2.94 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 46 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 14.7 um -9.32 cm 5.77 mm 2.03 keV 0 eV 0 fm 0 fm World initStep + 1 5.62 um -9.33 cm 5.77 mm 1.75 MeV 2.03 keV 160 um 160 um World eIoni + 2 -12.4 um -11.1 cm 5.78 mm 176 MeV 1.81 keV 1.74 cm 1.76 cm World eIoni + 3 -19.7 um -20 cm 5.79 mm 1.07 GeV 16.3 keV 8.93 cm 10.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -17.2 cm 2.15 cm 1.77 GeV 31.9 keV 17.7 cm 17.7 cm World eIoni + 2 670 nm -19.8 cm 2.22 cm 2.03 GeV 8.28 keV 2.62 cm 20.3 cm World eIoni + 3 700 nm -20 cm 2.22 cm 2.05 GeV 81.4 eV 1.82 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 670 nm -19.8 cm 2.22 cm 11.3 keV 0 eV 0 fm 0 fm World initStep + 1 23.4 um -20 cm 2.2 cm 24.5 MeV 5.83 keV 1.94 mm 1.94 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -17.2 cm 2.15 cm 2.55 keV 0 eV 0 fm 0 fm World initStep + 1 -12.7 um -17.2 cm 2.15 cm 2.49 MeV 2.55 keV 230 um 230 um World eIoni + 2 -18.7 um -17.3 cm 2.15 cm 9.82 MeV 186 eV 733 um 962 um World eIoni + 3 -35 um -19.8 cm 2.15 cm 256 MeV 2.21 keV 2.46 cm 2.55 cm World eIoni + 4 -35.2 um -20 cm 2.15 cm 280 MeV 287 eV 2.47 mm 2.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35 um -19.8 cm 2.15 cm 1.49 keV 0 eV 0 fm 0 fm World initStep + 1 -29 um -19.8 cm 2.15 cm 1.1 MeV 1.49 keV 100 um 100 um World eIoni + 2 -20 um -20 cm 2.15 cm 24.8 MeV 259 eV 2.37 mm 2.47 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -16.5 cm 2.13 cm 1.7 GeV 36.6 keV 17 cm 17 cm World eIoni + 2 -631 nm -20 cm 2.22 cm 2.05 GeV 7.13 keV 3.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -16.5 cm 2.13 cm 1.27 keV 0 eV 0 fm 0 fm World initStep + 1 5.71 um -16.5 cm 2.13 cm 878 keV 1.27 keV 79.9 um 79.9 um World eIoni + 2 13.6 um -16.6 cm 2.13 cm 13.5 MeV 58.2 eV 1.26 mm 1.34 mm World eIoni + 3 25.3 um -20 cm 2.13 cm 350 MeV 4.47 keV 3.36 cm 3.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -4457,48 +4228,72 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -2.79 cm 1.29 cm 329 MeV 5.91 keV 3.26 cm 3.26 cm World eIoni - 2 -5.59 um -9.78 cm 1.87 cm 1.03 GeV 13.8 keV 7.01 cm 10.3 cm World eIoni - 3 -7.97 um -15.3 cm 2.09 cm 1.58 GeV 13.3 keV 5.48 cm 15.7 cm World eIoni - 4 -9.05 um -18.6 cm 2.18 cm 1.91 GeV 7.46 keV 3.32 cm 19.1 cm World eIoni - 5 -9.19 um -20 cm 2.22 cm 2.05 GeV 2.23 keV 1.43 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -9.05 um -18.6 cm 2.18 cm 1.42 keV 0 eV 0 fm 0 fm World initStep - 1 -15.8 um -18.6 cm 2.18 cm 1.03 MeV 1.42 keV 93.9 um 93.9 um World eIoni - 2 -32 um -20 cm 2.18 cm 143 MeV 1.91 keV 1.42 cm 1.43 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -7.97 um -15.3 cm 2.09 cm 1.72 keV 0 eV 0 fm 0 fm World initStep - 1 -7.74 um -15.3 cm 2.09 cm 1.37 MeV 1.72 keV 125 um 125 um World eIoni - 2 -7.12 um -20 cm 2.08 cm 475 MeV 7.47 keV 4.74 cm 4.75 cm OutOfWorldTransportation + 1 0 fm -2.58 cm 1.26 cm 308 MeV 3.71 keV 3.04 cm 3.04 cm World eIoni + 2 971 nm -9.27 cm 1.85 cm 977 MeV 10.4 keV 6.72 cm 9.77 cm World eIoni + 3 4.46 um -20 cm 2.22 cm 2.05 GeV 24.1 keV 10.7 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -5.59 um -9.78 cm 1.87 cm 1.57 keV 0 eV 0 fm 0 fm World initStep - 1 -4.32 um -9.79 cm 1.87 cm 1.18 MeV 1.57 keV 108 um 108 um World eIoni - 2 9.6 Ang -20 cm 1.87 cm 1.02 GeV 13.1 keV 10.2 cm 10.2 cm OutOfWorldTransportation + 0 971 nm -9.27 cm 1.85 cm 2.22 keV 0 eV 0 fm 0 fm World initStep + 1 -8.28 um -9.29 cm 1.85 cm 2.02 MeV 2.22 keV 185 um 185 um World eIoni + 2 -21.3 um -9.98 cm 1.85 cm 71 MeV 679 eV 6.9 mm 7.09 mm World eIoni + 3 -31.3 um -17.8 cm 1.85 cm 855 MeV 15.6 keV 7.84 cm 8.54 cm World eIoni + 4 -32.2 um -20 cm 1.85 cm 1.07 GeV 7.78 keV 2.18 cm 10.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -31.3 um -17.8 cm 1.85 cm 2.99 keV 0 eV 0 fm 0 fm World initStep + 1 -27.5 um -17.8 cm 1.84 cm 3.23 MeV 2.99 keV 299 um 299 um World eIoni + 2 -24.1 um -18.3 cm 1.84 cm 44.3 MeV 463 eV 4.11 mm 4.41 mm World eIoni + 3 -22 um -20 cm 1.84 cm 218 MeV 4.23 keV 1.74 cm 2.18 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -2.79 cm 1.29 cm 2.66 keV 0 eV 0 fm 0 fm World initStep - 1 13.1 um -2.81 cm 1.29 cm 2.68 MeV 2.66 keV 247 um 247 um World eIoni - 2 27.3 um -3.36 cm 1.29 cm 56.8 MeV 1.92 keV 5.41 mm 5.66 mm World eIoni - 3 44.5 um -20 cm 1.29 cm 1.72 GeV 31.7 keV 16.6 cm 17.2 cm OutOfWorldTransportation + 0 0 fm -2.58 cm 1.26 cm 5.78 keV 0 eV 0 fm 0 fm World initStep + 1 -3.75 um -2.67 cm 1.26 cm 9.96 MeV 5.78 keV 936 um 936 um World eIoni + 2 -4.78 um -2.92 cm 1.26 cm 35.2 MeV 403 eV 2.52 mm 3.46 mm World eIoni + 3 -7.74 um -12.4 cm 1.25 cm 983 MeV 17.7 keV 9.48 cm 9.82 cm World eIoni + 4 -10.8 um -19.4 cm 1.25 cm 1.68 GeV 13 keV 7.01 cm 16.8 cm World eIoni + 5 -10.8 um -19.6 cm 1.25 cm 1.7 GeV 446 eV 1.48 mm 17 cm World eIoni + 6 -11 um -20 cm 1.25 cm 1.74 GeV 503 eV 4.38 mm 17.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.8 um -19.6 cm 1.25 cm 1.3 keV 0 eV 0 fm 0 fm World initStep + 1 -4.83 um -19.6 cm 1.25 cm 913 keV 1.3 keV 83.1 um 83.1 um World eIoni + 2 7.34 um -20 cm 1.25 cm 43.9 MeV 425 eV 4.3 mm 4.38 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.8 um -19.4 cm 1.25 cm 5.22 keV 0 eV 0 fm 0 fm World initStep + 1 -25.2 um -19.5 cm 1.26 cm 8.31 MeV 5.22 keV 780 um 780 um World eIoni + 2 -30.1 um -19.8 cm 1.26 cm 36.9 MeV 103 eV 2.85 mm 3.63 mm World eIoni + 3 -31.8 um -20 cm 1.26 cm 59.2 MeV 351 eV 2.23 mm 5.87 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.74 um -12.4 cm 1.25 cm 2.66 keV 0 eV 0 fm 0 fm World initStep + 1 5.38 um -12.4 cm 1.25 cm 2.68 MeV 2.66 keV 247 um 247 um World eIoni + 2 23 um -13.5 cm 1.25 cm 110 MeV 1.57 keV 1.08 cm 1.1 cm World eIoni + 3 32.5 um -20 cm 1.25 cm 760 MeV 11.6 keV 6.5 cm 7.6 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -4506,17 +4301,7 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -14.6 cm 2.06 cm 1.51 GeV 34 keV 15.1 cm 15.1 cm World eIoni - 2 16.4 nm -20 cm 2.22 cm 2.05 GeV 11.7 keV 5.45 cm 20.5 cm OutOfWorldTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -14.6 cm 2.06 cm 1.25 keV 0 eV 0 fm 0 fm World initStep - 1 -89.2 nm -14.6 cm 2.07 cm 864 keV 1.25 keV 78.5 um 78.5 um World eIoni - 2 -411 nm -20 cm 2.07 cm 545 MeV 7.99 keV 5.44 cm 5.45 cm OutOfWorldTransportation + 1 0 fm -20 cm 2.22 cm 2.05 GeV 35.6 keV 20.5 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -4524,94 +4309,3919 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Ne Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep - 1 0 fm -13 cm 2.01 cm 1.35 GeV 23.7 keV 13.5 cm 13.5 cm World eIoni - 2 3.09 um -17.5 cm 2.15 cm 1.8 GeV 8.67 keV 4.45 cm 18 cm World eIoni - 3 3.32 um -17.8 cm 2.16 cm 1.83 GeV 1.7 keV 3.01 mm 18.3 cm World eIoni - 4 4.3 um -18.9 cm 2.19 cm 1.94 GeV 2.3 keV 1.14 cm 19.4 cm World eIoni - 5 5.22 um -19.9 cm 2.22 cm 2.04 GeV 1.87 keV 1.03 cm 20.4 cm World eIoni - 6 5.27 um -20 cm 2.22 cm 2.05 GeV 34.6 eV 694 um 20.5 cm OutOfWorldTransportation + 1 0 fm -5.37 cm 1.59 cm 587 MeV 8.46 keV 5.86 cm 5.86 cm World eIoni + 2 -506 nm -6.44 cm 1.67 cm 694 MeV 2.01 keV 1.07 cm 6.93 cm World eIoni + 3 1.8 um -11 cm 1.93 cm 1.15 GeV 11.6 keV 4.61 cm 11.5 cm World eIoni + 4 3.67 um -14.2 cm 2.05 cm 1.47 GeV 5.05 keV 3.12 cm 14.7 cm World eIoni + 5 4.59 um -16.5 cm 2.13 cm 1.7 GeV 4.74 keV 2.32 cm 17 cm World eIoni + 6 5.67 um -20 cm 2.22 cm 2.05 GeV 7.08 keV 3.52 cm 20.5 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 5.22 um -19.9 cm 2.22 cm 4.8 keV 0 eV 0 fm 0 fm World initStep - 1 15.1 um -20 cm 2.22 cm 7.17 MeV 4.8 keV 673 um 673 um World eIoni - 2 15.2 um -20 cm 2.22 cm 7.49 MeV 5.15 eV 31.8 um 704 um OutOfWorldTransportation + 0 4.59 um -16.5 cm 2.13 cm 1.47 keV 0 eV 0 fm 0 fm World initStep + 1 5.5 um -16.5 cm 2.13 cm 1.09 MeV 1.47 keV 98.7 um 98.7 um World eIoni + 2 8.16 um -20 cm 2.13 cm 352 MeV 7.92 keV 3.51 cm 3.52 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 4.3 um -18.9 cm 2.19 cm 3.31 keV 0 eV 0 fm 0 fm World initStep - 1 -481 nm -18.9 cm 2.19 cm 3.81 MeV 3.31 keV 354 um 354 um World eIoni - 2 -3.66 um -19.2 cm 2.2 cm 32.8 MeV 434 eV 2.9 mm 3.26 mm World eIoni - 3 -5.52 um -20 cm 2.2 cm 110 MeV 1.2 keV 7.74 mm 1.1 cm OutOfWorldTransportation + 0 3.67 um -14.2 cm 2.05 cm 1.28 keV 0 eV 0 fm 0 fm World initStep + 1 6.37 um -14.2 cm 2.05 cm 892 keV 1.28 keV 81.2 um 81.2 um World eIoni + 2 16.1 um -20 cm 2.05 cm 584 MeV 10.7 keV 5.83 cm 5.84 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.32 um -17.8 cm 2.16 cm 1.49 keV 0 eV 0 fm 0 fm World initStep - 1 -1.15 um -17.8 cm 2.16 cm 1.11 MeV 1.49 keV 101 um 101 um World eIoni - 2 -13.1 um -20 cm 2.16 cm 224 MeV 2.39 keV 2.23 cm 2.24 cm OutOfWorldTransportation + 0 1.8 um -11 cm 1.93 cm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 -3.32 um -11 cm 1.93 cm 729 keV 1.1 keV 66.2 um 66.2 um World eIoni + 2 -23.1 um -15.3 cm 1.93 cm 429 MeV 6.68 keV 4.29 cm 4.29 cm World eIoni + 3 -23.2 um -15.6 cm 1.93 cm 456 MeV 414 eV 2.69 mm 4.56 cm World eIoni + 4 -23.2 um -16.6 cm 1.93 cm 559 MeV 2.58 keV 1.03 cm 5.59 cm World eIoni + 5 -24.3 um -20 cm 1.93 cm 896 MeV 7.61 keV 3.37 cm 8.96 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -23.2 um -16.6 cm 1.93 cm 3.23 keV 0 eV 0 fm 0 fm World initStep + 1 -12.5 um -16.7 cm 1.93 cm 3.64 MeV 3.23 keV 338 um 338 um World eIoni + 2 -4.24 um -17 cm 1.93 cm 41.2 MeV 407 eV 3.75 mm 4.09 mm World eIoni + 3 -215 nm -17.9 cm 1.93 cm 129 MeV 1.43 keV 8.74 mm 1.28 cm World eIoni + 4 5.55 um -18.6 cm 1.93 cm 196 MeV 794 eV 6.74 mm 1.96 cm World eIoni + 5 10.5 um -20 cm 1.93 cm 337 MeV 6.13 keV 1.41 cm 3.37 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.55 um -18.6 cm 1.93 cm 7.61 keV 0 eV 0 fm 0 fm World initStep + 1 9.8 um -18.6 cm 1.94 cm 273 keV 71.7 eV 28.6 um 28.6 um World eIoni + 2 33.5 um -20 cm 1.94 cm 141 MeV 2.27 keV 1.41 cm 1.41 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -215 nm -17.9 cm 1.93 cm 13.4 keV 0 eV 0 fm 0 fm World initStep + 1 -63.5 um -18.1 cm 1.93 cm 23.7 MeV 3.07 keV 2.27 mm 2.27 mm World eIoni + 2 -78.5 um -19 cm 1.93 cm 105 MeV 862 eV 8.16 mm 1.04 cm World eIoni + 3 -80.7 um -19.2 cm 1.93 cm 131 MeV 499 eV 2.58 mm 1.3 cm World eIoni + 4 -82.4 um -19.4 cm 1.93 cm 151 MeV 552 eV 2.01 mm 1.5 cm World eIoni + 5 -87.6 um -20 cm 1.93 cm 210 MeV 1.29 keV 5.88 mm 2.09 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -82.4 um -19.4 cm 1.93 cm 1.28 keV 0 eV 0 fm 0 fm World initStep + 1 -76.6 um -19.4 cm 1.93 cm 894 keV 1.28 keV 81.3 um 81.3 um World eIoni + 2 -63.5 um -20 cm 1.93 cm 58.9 MeV 127 eV 5.8 mm 5.88 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -80.7 um -19.2 cm 1.93 cm 8.49 keV 0 eV 0 fm 0 fm World initStep + 1 -68.9 um -19.4 cm 1.92 cm 15.8 MeV 4.73 keV 1.49 mm 1.49 mm World eIoni + 2 -65.4 um -20 cm 1.92 cm 79.9 MeV 559 eV 6.41 mm 7.91 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -23.2 um -15.6 cm 1.93 cm 3.31 keV 0 eV 0 fm 0 fm World initStep + 1 -28 um -15.6 cm 1.93 cm 3.81 MeV 3.31 keV 354 um 354 um World eIoni + 2 -32.9 um -16.6 cm 1.93 cm 101 MeV 1.55 keV 9.69 mm 1 cm World eIoni + 3 -35.1 um -19.7 cm 1.94 cm 406 MeV 5.37 keV 3.06 cm 4.06 cm World eIoni + 4 -34.6 um -20 cm 1.94 cm 440 MeV 350 eV 3.38 mm 4.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35.1 um -19.7 cm 1.94 cm 32.2 keV 0 eV 0 fm 0 fm World initStep + 1 -112 um -20 cm 1.94 cm 35.6 MeV 1.52 keV 3.47 mm 3.47 mm World eIoni + 2 -112 um -20 cm 1.94 cm 35.6 MeV 0 eV 0 fm 3.47 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -23.1 um -15.3 cm 1.93 cm 7.48 keV 0 eV 0 fm 0 fm World initStep + 1 -31.5 um -15.5 cm 1.93 cm 14.4 MeV 6.03 keV 1.36 mm 1.36 mm World eIoni + 2 -34.6 um -16.4 cm 1.92 cm 104 MeV 2.02 keV 8.94 mm 1.03 cm World eIoni + 3 -35.3 um -16.9 cm 1.92 cm 162 MeV 740 eV 5.78 mm 1.61 cm World eIoni + 4 -40.5 um -20 cm 1.92 cm 468 MeV 6.44 keV 3.06 cm 4.67 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35.3 um -16.9 cm 1.92 cm 1.47 keV 0 eV 0 fm 0 fm World initStep + 1 -29.2 um -16.9 cm 1.92 cm 1.09 MeV 1.47 keV 98.9 um 98.9 um World eIoni + 2 -11.7 um -20 cm 1.92 cm 306 MeV 3.65 keV 3.05 cm 3.06 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 3.09 um -17.5 cm 2.15 cm 2.5 keV 0 eV 0 fm 0 fm World initStep - 1 -4.47 um -17.5 cm 2.15 cm 2.4 MeV 2.5 keV 221 um 221 um World eIoni - 2 -9.96 um -17.6 cm 2.15 cm 18 MeV 133 eV 1.56 mm 1.78 mm World eIoni - 3 -14.4 um -18.3 cm 2.15 cm 81.7 MeV 1.29 keV 6.37 mm 8.15 mm World eIoni - 4 -14.7 um -20 cm 2.15 cm 254 MeV 3.2 keV 1.73 cm 2.54 cm OutOfWorldTransportation + 0 -506 nm -6.44 cm 1.67 cm 6.03 keV 0 eV 0 fm 0 fm World initStep + 1 -10.2 um -6.44 cm 1.67 cm 509 keV 168 eV 51.9 um 51.9 um World eIoni + 2 -57.4 um -11 cm 1.67 cm 460 MeV 5.82 keV 4.59 cm 4.6 cm World eIoni + 3 -61.3 um -20 cm 1.67 cm 1.36 GeV 20.6 keV 8.96 cm 13.6 cm OutOfWorldTransportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -14.4 um -18.3 cm 2.15 cm 1.23 keV 0 eV 0 fm 0 fm World initStep - 1 -18.8 um -18.3 cm 2.15 cm 844 keV 1.23 keV 76.7 um 76.7 um World eIoni - 2 -31.8 um -20 cm 2.15 cm 173 MeV 2.2 keV 1.72 cm 1.73 cm OutOfWorldTransportation + 0 -57.4 um -11 cm 1.67 cm 2.4 keV 0 eV 0 fm 0 fm World initStep + 1 -67.4 um -11.1 cm 1.67 cm 2.27 MeV 2.4 keV 209 um 209 um World eIoni + 2 -80.9 um -11.8 cm 1.67 cm 80.2 MeV 2.6 keV 7.79 mm 8 mm World eIoni + 3 -84.9 um -13.3 cm 1.67 cm 224 MeV 5.31 keV 1.44 cm 2.24 cm World eIoni + 4 -88.9 um -14.5 cm 1.67 cm 347 MeV 1.87 keV 1.23 cm 3.47 cm World eIoni + 5 -93.3 um -16.3 cm 1.67 cm 525 MeV 3.67 keV 1.78 cm 5.25 cm World eIoni + 6 -93.6 um -16.4 cm 1.67 cm 535 MeV 155 eV 968 um 5.35 cm World eIoni + 7 -98.4 um -18.4 cm 1.67 cm 734 MeV 6.68 keV 2 cm 7.34 cm World eIoni + 8 -101 um -20 cm 1.67 cm 896 MeV 3.18 keV 1.62 cm 8.96 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -98.4 um -18.4 cm 1.67 cm 5.79 keV 0 eV 0 fm 0 fm World initStep + 1 -99.8 um -18.5 cm 1.67 cm 10 MeV 5.79 keV 941 um 941 um World eIoni + 2 -100 um -18.9 cm 1.67 cm 49.4 MeV 605 eV 3.94 mm 4.88 mm World eIoni + 3 -101 um -20 cm 1.67 cm 163 MeV 608 eV 1.13 cm 1.62 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -93.6 um -16.4 cm 1.67 cm 1.11 keV 0 eV 0 fm 0 fm World initStep + 1 -93.8 um -16.4 cm 1.67 cm 733 keV 1.11 keV 66.6 um 66.6 um World eIoni + 2 -94.3 um -17 cm 1.67 cm 62 MeV 526 eV 6.12 mm 6.19 mm World eIoni + 3 -102 um -20 cm 1.67 cm 362 MeV 4.82 keV 3 cm 3.61 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 20 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -94.3 um -17 cm 1.67 cm 3.71 keV 0 eV 0 fm 0 fm World initStep + 1 -80.9 um -17 cm 1.67 cm 4.63 MeV 3.71 keV 431 um 431 um World eIoni + 2 -71.6 um -17.5 cm 1.67 cm 49.3 MeV 448 eV 4.46 mm 4.89 mm World eIoni + 3 -64.2 um -20 cm 1.68 cm 300 MeV 4.7 keV 2.51 cm 3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -93.3 um -16.3 cm 1.67 cm 2.08 keV 0 eV 0 fm 0 fm World initStep + 1 -82.8 um -16.3 cm 1.67 cm 1.82 MeV 2.08 keV 166 um 166 um World eIoni + 2 -66 um -17.1 cm 1.67 cm 82.7 MeV 563 eV 8.09 mm 8.26 mm World eIoni + 3 -59.1 um -20 cm 1.67 cm 371 MeV 4.73 keV 2.89 cm 3.71 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -88.9 um -14.5 cm 1.67 cm 1.24 keV 0 eV 0 fm 0 fm World initStep + 1 -86.3 um -14.5 cm 1.67 cm 854 keV 1.24 keV 77.7 um 77.7 um World eIoni + 2 -79.6 um -15.3 cm 1.68 cm 76.1 MeV 1.11 keV 7.52 mm 7.6 mm World eIoni + 3 -79.3 um -15.3 cm 1.68 cm 83.2 MeV 84.5 eV 716 um 8.31 mm World eIoni + 4 -62.7 um -20 cm 1.68 cm 549 MeV 17 keV 4.66 cm 5.49 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 18 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -79.3 um -15.3 cm 1.68 cm 3.78 keV 0 eV 0 fm 0 fm World initStep + 1 -89.4 um -15.4 cm 1.68 cm 1.25 MeV 649 eV 120 um 120 um World eIoni + 2 -119 um -20 cm 1.68 cm 466 MeV 6.34 keV 4.65 cm 4.66 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 18 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -79.6 um -15.3 cm 1.68 cm 1.05 keV 0 eV 0 fm 0 fm World initStep + 1 -82.4 um -15.3 cm 1.68 cm 682 keV 1.05 keV 62.1 um 62.1 um World eIoni + 2 -93.6 um -20 cm 1.67 cm 473 MeV 10.1 keV 4.72 cm 4.73 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -84.9 um -13.3 cm 1.67 cm 2.57 keV 0 eV 0 fm 0 fm World initStep + 1 -71.5 um -13.3 cm 1.67 cm 2.53 MeV 2.57 keV 233 um 233 um World eIoni + 2 -64.1 um -13.4 cm 1.67 cm 12.3 MeV 68.8 eV 978 um 1.21 mm World eIoni + 3 -43.7 um -20 cm 1.67 cm 672 MeV 11.8 keV 6.6 cm 6.72 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 0 fm -13 cm 2.01 cm 42.2 keV 0 eV 0 fm 0 fm World initStep - 1 -93.3 um -13.9 cm 2.03 cm 86.9 MeV 7.83 keV 8.55 mm 8.55 mm World eIoni - 2 -103 um -15.1 cm 2.03 cm 209 MeV 3.03 keV 1.22 cm 2.08 cm World eIoni - 3 -107 um -16 cm 2.03 cm 303 MeV 1.04 keV 9.38 mm 3.01 cm World eIoni - 4 -117 um -20 cm 2.03 cm 701 MeV 6.87 keV 3.98 cm 6.99 cm OutOfWorldTransportation + 0 0 fm -5.37 cm 1.59 cm 1.14 keV 0 eV 0 fm 0 fm World initStep + 1 4.82 um -5.38 cm 1.59 cm 761 keV 1.14 keV 69 um 69 um World eIoni + 2 25.5 um -15.1 cm 1.59 cm 969 MeV 10.6 keV 9.68 cm 9.69 cm World eIoni + 3 26.1 um -16.7 cm 1.59 cm 1.13 GeV 5.48 keV 1.61 cm 11.3 cm World eIoni + 4 27.6 um -20 cm 1.59 cm 1.46 GeV 6.22 keV 3.33 cm 14.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.1 um -16.7 cm 1.59 cm 1.06 keV 0 eV 0 fm 0 fm World initStep + 1 22.3 um -16.7 cm 1.59 cm 688 keV 1.06 keV 62.6 um 62.6 um World eIoni + 2 8.02 um -20 cm 1.59 cm 333 MeV 3.4 keV 3.32 cm 3.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 25.5 um -15.1 cm 1.59 cm 1.18 keV 0 eV 0 fm 0 fm World initStep + 1 23.5 um -15.1 cm 1.59 cm 795 keV 1.18 keV 72.3 um 72.3 um World eIoni + 2 18.4 um -15.8 cm 1.59 cm 73.6 MeV 467 eV 7.28 mm 7.35 mm World eIoni + 3 -1.73 um -20 cm 1.59 cm 494 MeV 7.68 keV 4.21 cm 4.94 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 25 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 18.4 um -15.8 cm 1.59 cm 8.44 keV 0 eV 0 fm 0 fm World initStep + 1 69.1 um -15.9 cm 1.59 cm 16.2 MeV 3.7 keV 1.54 mm 1.54 mm World eIoni + 2 78.3 um -16.2 cm 1.59 cm 44.6 MeV 340 eV 2.84 mm 4.38 mm World eIoni + 3 99.7 um -20 cm 1.59 cm 422 MeV 5.18 keV 3.77 cm 4.21 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -6.55 mm 7.44 mm 116 MeV 1.91 keV 1.04 cm 1.04 cm World eIoni + 2 844 nm -2.28 cm 1.21 cm 278 MeV 2.21 keV 1.69 cm 2.73 cm World eIoni + 3 5.59 um -13.1 cm 2.01 cm 1.36 GeV 21.8 keV 10.8 cm 13.6 cm World eIoni + 4 1.71 um -17.9 cm 2.17 cm 1.84 GeV 11.1 keV 4.84 cm 18.4 cm World eIoni + 5 1.51 um -18.3 cm 2.18 cm 1.88 GeV 783 eV 4.07 mm 18.8 cm World eIoni + 6 900 nm -20 cm 2.22 cm 2.05 GeV 4.03 keV 1.67 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.51 um -18.3 cm 2.18 cm 1.52 keV 0 eV 0 fm 0 fm World initStep + 1 -1.74 um -18.3 cm 2.18 cm 1.14 MeV 1.52 keV 104 um 104 um World eIoni + 2 -9.81 um -20 cm 2.18 cm 167 MeV 1.41 keV 1.66 cm 1.67 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.71 um -17.9 cm 2.17 cm 1.41 keV 0 eV 0 fm 0 fm World initStep + 1 -5.16 um -17.9 cm 2.17 cm 1.03 MeV 1.41 keV 93.4 um 93.4 um World eIoni + 2 -24.3 um -20 cm 2.17 cm 208 MeV 2.18 keV 2.07 cm 2.08 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.59 um -13.1 cm 2.01 cm 44.2 keV 0 eV 0 fm 0 fm World initStep + 1 142 um -14 cm 2 cm 93.4 MeV 6.27 keV 9.2 mm 9.2 mm World eIoni + 2 157 um -15.5 cm 2 cm 248 MeV 3.35 keV 1.55 cm 2.47 cm World eIoni + 3 173 um -20 cm 2 cm 694 MeV 4.63 keV 4.46 cm 6.93 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 157 um -15.5 cm 2 cm 2.09 keV 0 eV 0 fm 0 fm World initStep + 1 156 um -15.6 cm 2 cm 1.83 MeV 2.09 keV 168 um 168 um World eIoni + 2 152 um -20 cm 2 cm 446 MeV 5.58 keV 4.44 cm 4.46 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 844 nm -2.28 cm 1.21 cm 1.61 keV 0 eV 0 fm 0 fm World initStep + 1 -3.14 um -2.29 cm 1.21 cm 1.23 MeV 1.61 keV 112 um 112 um World eIoni + 2 -17.6 um -20 cm 1.2 cm 1.77 GeV 20.7 keV 17.7 cm 17.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -6.55 mm 7.44 mm 1.38 keV 0 eV 0 fm 0 fm World initStep + 1 -1.6 um -6.64 mm 7.44 mm 981 keV 1.38 keV 90.1 um 90.1 um World eIoni + 2 -7.81 um -11.2 cm 7.42 mm 1.05 GeV 16.4 keV 10.5 cm 10.5 cm World eIoni + 3 -10.1 um -20 cm 7.41 mm 1.93 GeV 10.4 keV 8.8 cm 19.3 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -107 um -16 cm 2.03 cm 6.46 keV 0 eV 0 fm 0 fm World initStep - 1 -104 um -16.1 cm 2.03 cm 4.59 MeV 1.82 keV 438 um 438 um World eIoni - 2 -101 um -19.6 cm 2.03 cm 359 MeV 6.22 keV 3.55 cm 3.59 cm World eIoni - 3 -101 um -20 cm 2.03 cm 398 MeV 839 eV 3.88 mm 3.98 cm OutOfWorldTransportation + 0 -7.81 um -11.2 cm 7.42 mm 1.62 keV 0 eV 0 fm 0 fm World initStep + 1 118 nm -11.2 cm 7.41 mm 1.25 MeV 1.62 keV 114 um 114 um World eIoni + 2 15.6 um -12 cm 7.41 mm 76 MeV 1.29 keV 7.47 mm 7.59 mm World eIoni + 3 18.3 um -12.7 cm 7.41 mm 148 MeV 1.28 keV 7.15 mm 1.47 cm World eIoni + 4 22.9 um -15.6 cm 7.41 mm 444 MeV 3.67 keV 2.96 cm 4.44 cm World eIoni + 5 25.4 um -20 cm 7.4 mm 880 MeV 9.3 keV 4.36 cm 8.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 22.9 um -15.6 cm 7.41 mm 1.71 keV 0 eV 0 fm 0 fm World initStep + 1 23.9 um -15.6 cm 7.42 mm 1.36 MeV 1.71 keV 124 um 124 um World eIoni + 2 26.6 um -20 cm 7.44 mm 436 MeV 5.39 keV 4.35 cm 4.36 cm OutOfWorldTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process - 0 -101 um -19.6 cm 2.03 cm 1.59 keV 0 eV 0 fm 0 fm World initStep - 1 -107 um -19.6 cm 2.03 cm 1.21 MeV 1.59 keV 110 um 110 um World eIoni - 2 -115 um -20 cm 2.03 cm 38.9 MeV 546 eV 3.77 mm 3.88 mm OutOfWorldTransportation + 0 18.3 um -12.7 cm 7.41 mm 1.04 keV 0 eV 0 fm 0 fm World initStep + 1 18.1 um -12.7 cm 7.42 mm 675 keV 1.04 keV 61.4 um 61.4 um World eIoni + 2 17.2 um -20 cm 7.44 mm 733 MeV 8.59 keV 7.32 cm 7.32 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 44.2 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -19 cm 2.2 cm 1.95 GeV 39.3 keV 19.5 cm 19.5 cm World eIoni + 2 -159 nm -20 cm 2.22 cm 2.05 GeV 1.85 keV 9.86 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -19 cm 2.2 cm 2.99 keV 0 eV 0 fm 0 fm World initStep + 1 9.31 um -19 cm 2.19 cm 3.22 MeV 2.99 keV 299 um 299 um World eIoni + 2 13.6 um -19.1 cm 2.19 cm 13.7 MeV 244 eV 1.05 mm 1.35 mm World eIoni + 3 18.1 um -20 cm 2.19 cm 98.8 MeV 779 eV 8.51 mm 9.86 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.6 um -19.1 cm 2.19 cm 1.22 keV 0 eV 0 fm 0 fm World initStep + 1 15.3 um -19.2 cm 2.19 cm 831 keV 1.22 keV 75.6 um 75.6 um World eIoni + 2 19.4 um -20 cm 2.19 cm 85.2 MeV 873 eV 8.44 mm 8.51 mm OutOfWorldTransportation + +---> Begin of Event: 50 + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.17 cm 1.35 cm 367 MeV 6.34 keV 3.64 cm 3.64 cm World eIoni + 2 -7.81 um -14.4 cm 2.06 cm 1.49 GeV 25.9 keV 11.2 cm 14.9 cm World eIoni + 3 -8.53 um -20 cm 2.22 cm 2.05 GeV 16.2 keV 5.64 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.81 um -14.4 cm 2.06 cm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 -13 um -14.4 cm 2.06 cm 718 keV 1.09 keV 65.3 um 65.3 um World eIoni + 2 -32.5 um -18 cm 2.06 cm 362 MeV 7.76 keV 3.61 cm 3.62 cm World eIoni + 3 -33.3 um -20 cm 2.06 cm 564 MeV 3.98 keV 2.02 cm 5.64 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -32.5 um -18 cm 2.06 cm 1.12 keV 0 eV 0 fm 0 fm World initStep + 1 -33.4 um -18 cm 2.06 cm 741 keV 1.12 keV 67.4 um 67.4 um World eIoni + 2 -36.3 um -20 cm 2.06 cm 202 MeV 3.01 keV 2.01 cm 2.02 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.17 cm 1.35 cm 4.47 keV 0 eV 0 fm 0 fm World initStep + 1 11.8 um -3.19 cm 1.35 cm 1.59 MeV 365 eV 152 um 152 um World eIoni + 2 41.9 um -7.48 cm 1.35 cm 431 MeV 6.47 keV 4.29 cm 4.31 cm World eIoni + 3 42 um -7.48 cm 1.35 cm 431 MeV 0 eV 56.9 um 4.31 cm World eIoni + 4 57.3 um -20 cm 1.35 cm 1.68 GeV 24.7 keV 12.5 cm 16.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 42 um -7.48 cm 1.35 cm 2.45 keV 0 eV 0 fm 0 fm World initStep + 1 39.5 um -7.51 cm 1.35 cm 2.33 MeV 2.45 keV 215 um 215 um World eIoni + 2 36.7 um -8.05 cm 1.35 cm 56.3 MeV 884 eV 5.4 mm 5.61 mm World eIoni + 3 33.7 um -20 cm 1.35 cm 1.25 GeV 23.3 keV 12 cm 12.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 41.9 um -7.48 cm 1.35 cm 3.16 keV 0 eV 0 fm 0 fm World initStep + 1 27.9 um -7.51 cm 1.35 cm 3.51 MeV 3.16 keV 326 um 326 um World eIoni + 2 25.8 um -7.53 cm 1.35 cm 5.86 MeV 0 eV 235 um 561 um World eIoni + 3 2.9 um -14.7 cm 1.36 cm 717 MeV 15 keV 7.12 cm 7.17 cm World eIoni + 4 15.6 nm -20 cm 1.36 cm 1.25 GeV 6.81 keV 5.35 cm 12.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.9 um -14.7 cm 1.36 cm 1.51 keV 0 eV 0 fm 0 fm World initStep + 1 3.83 um -14.7 cm 1.36 cm 1.13 MeV 1.51 keV 103 um 103 um World eIoni + 2 5.81 um -15.5 cm 1.36 cm 82.6 MeV 1.2 keV 8.15 mm 8.25 mm World eIoni + 3 4.48 um -18.9 cm 1.36 cm 428 MeV 9.8 keV 3.46 cm 4.28 cm World eIoni + 4 5 um -20 cm 1.36 cm 535 MeV 722 eV 1.07 cm 5.35 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.48 um -18.9 cm 1.36 cm 1.13 keV 0 eV 0 fm 0 fm World initStep + 1 -534 nm -18.9 cm 1.36 cm 756 keV 1.13 keV 68.8 um 68.8 um World eIoni + 2 -14.4 um -20 cm 1.36 cm 107 MeV 1.28 keV 1.06 cm 1.07 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.81 um -15.5 cm 1.36 cm 1.21 keV 0 eV 0 fm 0 fm World initStep + 1 7.94 um -15.5 cm 1.36 cm 820 keV 1.21 keV 74.6 um 74.6 um World eIoni + 2 15.6 um -20 cm 1.36 cm 453 MeV 7.51 keV 4.52 cm 4.53 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 32.2 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.85 cm 1.3 cm 335 MeV 6.05 keV 3.32 cm 3.32 cm World eIoni + 2 11 um -15.2 cm 2.09 cm 1.57 GeV 31.3 keV 12.4 cm 15.7 cm World eIoni + 3 11.4 um -20 cm 2.22 cm 2.05 GeV 10.3 keV 4.82 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 11 um -15.2 cm 2.09 cm 3.16 keV 0 eV 0 fm 0 fm World initStep + 1 27.3 um -15.2 cm 2.09 cm 3.51 MeV 3.16 keV 326 um 326 um World eIoni + 2 43.3 um -15.9 cm 2.08 cm 74.3 MeV 1.35 keV 7.08 mm 7.41 mm World eIoni + 3 53.6 um -20 cm 2.08 cm 482 MeV 7.05 keV 4.08 cm 4.82 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.85 cm 1.3 cm 5 keV 0 eV 0 fm 0 fm World initStep + 1 -28.7 um -2.92 cm 1.3 cm 7.65 MeV 5 keV 718 um 718 um World eIoni + 2 -45.5 um -3.72 cm 1.3 cm 87.5 MeV 837 eV 7.99 mm 8.7 mm World eIoni + 3 -67.3 um -20 cm 1.3 cm 1.72 GeV 29.1 keV 16.3 cm 17.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -9.91 cm 1.88 cm 1.04 GeV 22.6 keV 10.4 cm 10.4 cm World eIoni + 2 8.04 um -20 cm 2.22 cm 2.05 GeV 20.7 keV 10.1 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -9.91 cm 1.88 cm 13.8 keV 0 eV 0 fm 0 fm World initStep + 1 -45.7 um -9.99 cm 1.88 cm 8.59 MeV 3.22 keV 835 um 835 um World eIoni + 2 -94 um -14.9 cm 1.88 cm 503 MeV 6.56 keV 4.95 cm 5.03 cm World eIoni + 3 -105 um -18.8 cm 1.88 cm 894 MeV 6.81 keV 3.91 cm 8.94 cm World eIoni + 4 -106 um -19.8 cm 1.88 cm 987 MeV 4.51 keV 9.34 mm 9.87 cm World eIoni + 5 -107 um -20 cm 1.88 cm 1.01 GeV 270 eV 2.22 mm 10.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -106 um -19.8 cm 1.88 cm 16.1 keV 0 eV 0 fm 0 fm World initStep + 1 -178 um -20 cm 1.9 cm 28.6 MeV 8.64 keV 2.37 mm 2.37 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -105 um -18.8 cm 1.88 cm 2.73 keV 0 eV 0 fm 0 fm World initStep + 1 -108 um -18.9 cm 1.88 cm 2.78 MeV 2.73 keV 257 um 257 um World eIoni + 2 -112 um -20 cm 1.87 cm 116 MeV 1.77 keV 1.13 cm 1.16 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -94 um -14.9 cm 1.88 cm 4.64 keV 0 eV 0 fm 0 fm World initStep + 1 -72.2 um -15 cm 1.88 cm 4.36 MeV 1.98 keV 411 um 411 um World eIoni + 2 -25.1 um -20 cm 1.88 cm 507 MeV 6.1 keV 5.02 cm 5.06 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -72.2 um -15 cm 1.88 cm 1.45 keV 0 eV 0 fm 0 fm World initStep + 1 -78.3 um -15 cm 1.88 cm 1.06 MeV 1.45 keV 96.8 um 96.8 um World eIoni + 2 -96.2 um -18 cm 1.88 cm 299 MeV 3.46 keV 2.98 cm 2.99 cm World eIoni + 3 -97.3 um -20 cm 1.88 cm 502 MeV 2.8 keV 2.03 cm 5.02 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -96.2 um -18 cm 1.88 cm 1.97 keV 0 eV 0 fm 0 fm World initStep + 1 -98.5 um -18 cm 1.88 cm 1.66 MeV 1.97 keV 152 um 152 um World eIoni + 2 -103 um -20 cm 1.88 cm 203 MeV 1.44 keV 2.02 cm 2.03 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.88 cm 1.44 cm 438 MeV 5.7 keV 4.36 cm 4.36 cm World eIoni + 2 -1.07 um -7.16 cm 1.72 cm 766 MeV 5.92 keV 3.29 cm 7.65 cm World eIoni + 3 -640 nm -20 cm 2.22 cm 2.05 GeV 31.3 keV 12.8 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.07 um -7.16 cm 1.72 cm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 -4.74 um -7.17 cm 1.72 cm 731 keV 1.1 keV 66.3 um 66.3 um World eIoni + 2 -21.3 um -20 cm 1.73 cm 1.28 GeV 15.6 keV 12.8 cm 12.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.88 cm 1.44 cm 2.29 keV 0 eV 0 fm 0 fm World initStep + 1 4.62 um -3.9 cm 1.44 cm 2.1 MeV 2.29 keV 193 um 193 um World eIoni + 2 13.8 um -6.72 cm 1.44 cm 284 MeV 3.22 keV 2.82 cm 2.84 cm World eIoni + 3 16.5 um -15.4 cm 1.44 cm 1.15 GeV 18.1 keV 8.68 cm 11.5 cm World eIoni + 4 15.8 um -17.3 cm 1.44 cm 1.34 GeV 2.6 keV 1.92 cm 13.4 cm World eIoni + 5 15.2 um -20 cm 1.44 cm 1.61 GeV 5.15 keV 2.68 cm 16.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 15.8 um -17.3 cm 1.44 cm 1.84 keV 0 eV 0 fm 0 fm World initStep + 1 12.5 um -17.3 cm 1.44 cm 1.5 MeV 1.84 keV 137 um 137 um World eIoni + 2 4.92 um -20 cm 1.44 cm 268 MeV 7.74 keV 2.67 cm 2.68 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 16.5 um -15.4 cm 1.44 cm 4.83 keV 0 eV 0 fm 0 fm World initStep + 1 42.6 um -15.5 cm 1.44 cm 7.24 MeV 4.83 keV 679 um 679 um World eIoni + 2 51.3 um -15.7 cm 1.44 cm 28.4 MeV 452 eV 2.11 mm 2.79 mm World eIoni + 3 60.7 um -16.6 cm 1.44 cm 119 MeV 1.03 keV 9.07 mm 1.19 cm World eBrem + 4 69.7 um -20 cm 1.43 cm 461 MeV 5.63 keV 3.42 cm 4.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -341 um 1.85 mm 53.4 MeV 460 eV 1.89 mm 1.89 mm World eIoni + 2 -27.1 um -14.8 cm 2.07 cm 1.53 GeV 34.2 keV 15.1 cm 15.3 cm World eIoni + 3 -28.5 um -20 cm 2.22 cm 2.05 GeV 10.7 keV 5.18 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -27.1 um -14.8 cm 2.07 cm 1.47 keV 0 eV 0 fm 0 fm World initStep + 1 -31.3 um -14.8 cm 2.07 cm 1.08 MeV 1.47 keV 98.6 um 98.6 um World eIoni + 2 -41.8 um -16.2 cm 2.08 cm 139 MeV 1.68 keV 1.38 cm 1.39 cm World eIoni + 3 -47.3 um -19.9 cm 2.08 cm 509 MeV 5.7 keV 3.7 cm 5.09 cm World eIoni + 4 -47.3 um -20 cm 2.08 cm 518 MeV 140 eV 903 um 5.18 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -47.3 um -19.9 cm 2.08 cm 4.22 keV 0 eV 0 fm 0 fm World initStep + 1 -69.8 um -20 cm 2.08 cm 5.76 MeV 4.22 keV 539 um 539 um World eIoni + 2 -71.4 um -20 cm 2.08 cm 7.71 MeV 0 eV 194 um 733 um World eIoni + 3 -72.7 um -20 cm 2.08 cm 9.49 MeV 0 eV 179 um 912 um OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -41.8 um -16.2 cm 2.08 cm 5.94 keV 0 eV 0 fm 0 fm World initStep + 1 -34.8 um -16.3 cm 2.07 cm 5.53 MeV 3.89 keV 525 um 525 um World eIoni + 2 -26.2 um -20 cm 2.07 cm 379 MeV 6.39 keV 3.73 cm 3.78 cm World eIoni + 3 -26.2 um -20 cm 2.07 cm 380 MeV 20.5 eV 114 um 3.79 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -26.2 um -20 cm 2.07 cm 19.9 keV 0 eV 0 fm 0 fm World initStep + 1 -23.2 um -20 cm 2.07 cm 1.29 MeV 1.12 keV 124 um 124 um OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -341 um 1.85 mm 5.12 keV 0 eV 0 fm 0 fm World initStep + 1 29.8 um -1.08 mm 1.85 mm 8.01 MeV 5.12 keV 752 um 752 um World eIoni + 2 39.8 um -3.62 mm 1.85 mm 33.4 MeV 308 eV 2.54 mm 3.29 mm World eIoni + 3 66.6 um -12.8 cm 1.85 mm 1.27 GeV 28.5 keV 12.4 cm 12.7 cm World eIoni + 4 68.8 um -17.3 cm 1.85 mm 1.73 GeV 7.75 keV 4.57 cm 17.3 cm World eIoni + 5 69.9 um -20 cm 1.85 mm 2 GeV 4.66 keV 2.67 cm 20 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 68.8 um -17.3 cm 1.85 mm 1.76 keV 0 eV 0 fm 0 fm World initStep + 1 64.4 um -17.3 cm 1.84 mm 1.41 MeV 1.76 keV 129 um 129 um World eIoni + 2 55.2 um -18.5 cm 1.83 mm 122 MeV 1.01 keV 1.2 cm 1.22 cm World eIoni + 3 44.6 um -20 cm 1.83 mm 267 MeV 2.19 keV 1.45 cm 2.67 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 55.2 um -18.5 cm 1.83 mm 18.5 keV 0 eV 0 fm 0 fm World initStep + 1 129 um -18.8 cm 1.78 mm 28.7 MeV 3.95 keV 2.76 mm 2.76 mm World eIoni + 2 148 um -20 cm 1.76 mm 147 MeV 1.79 keV 1.18 cm 1.46 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 66.6 um -12.8 cm 1.85 mm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 66.5 um -12.8 cm 1.86 mm 714 keV 1.09 keV 64.9 um 64.9 um World eIoni + 2 66.1 um -20 cm 1.88 mm 724 MeV 9.51 keV 7.23 cm 7.24 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -4.8 cm 1.54 cm 530 MeV 14.1 keV 5.28 cm 5.28 cm World eIoni + 2 -1.06 um -15.9 cm 2.11 cm 1.64 GeV 22.9 keV 11.1 cm 16.4 cm World eIoni + 3 -532 nm -20 cm 2.22 cm 2.05 GeV 8.99 keV 4.09 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.06 um -15.9 cm 2.11 cm 1.48 keV 0 eV 0 fm 0 fm World initStep + 1 -7.26 um -15.9 cm 2.11 cm 1.1 MeV 1.48 keV 100 um 100 um World eIoni + 2 -23.8 um -17.9 cm 2.11 cm 199 MeV 5.71 keV 1.98 cm 1.99 cm World eIoni + 3 -25.3 um -20 cm 2.11 cm 409 MeV 2.59 keV 2.1 cm 4.09 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -23.8 um -17.9 cm 2.11 cm 2.18 keV 0 eV 0 fm 0 fm World initStep + 1 -26.9 um -17.9 cm 2.11 cm 1.95 MeV 2.18 keV 179 um 179 um World eIoni + 2 -29.6 um -18.1 cm 2.11 cm 18.3 MeV 91.1 eV 1.64 mm 1.81 mm World eIoni + 3 -32.9 um -20 cm 2.11 cm 210 MeV 2.42 keV 1.92 cm 2.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -4.8 cm 1.54 cm 1.94 keV 0 eV 0 fm 0 fm World initStep + 1 2.08 um -4.81 cm 1.54 cm 1.63 MeV 1.94 keV 149 um 149 um World eIoni + 2 5.2 um -5.37 cm 1.54 cm 56.9 MeV 698 eV 5.53 mm 5.68 mm World eIoni + 3 9.22 um -6.95 cm 1.54 cm 215 MeV 1.93 keV 1.58 cm 2.15 cm World eIoni + 4 15 um -20 cm 1.54 cm 1.52 GeV 24.6 keV 13 cm 15.2 cm World eIoni + 5 15 um -20 cm 1.54 cm 1.52 GeV 229 eV 473 um 15.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 15 um -20 cm 1.54 cm 3.39 keV 0 eV 0 fm 0 fm World initStep + 1 -3.17 um -20 cm 1.54 cm 3.97 MeV 3.39 keV 369 um 369 um World eIoni + 2 -3.83 um -20 cm 1.54 cm 5.07 MeV 0 eV 110 um 479 um OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.22 um -6.95 cm 1.54 cm 2.55 keV 0 eV 0 fm 0 fm World initStep + 1 9.55 um -6.97 cm 1.54 cm 2.49 MeV 2.55 keV 230 um 230 um World eIoni + 2 10.1 um -8.53 cm 1.54 cm 158 MeV 2.55 keV 1.56 cm 1.58 cm World eIoni + 3 10.3 um -20 cm 1.54 cm 1.31 GeV 22.1 keV 11.5 cm 13.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.2 um -5.37 cm 1.54 cm 1.16 keV 0 eV 0 fm 0 fm World initStep + 1 1.82 um -5.37 cm 1.54 cm 778 keV 1.16 keV 70.8 um 70.8 um World eIoni + 2 -12.7 um -15.9 cm 1.54 cm 1.05 GeV 12.9 keV 10.5 cm 10.5 cm World eIoni + 3 -37.3 um -20 cm 1.54 cm 1.46 GeV 6.64 keV 4.12 cm 14.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -12.7 um -15.9 cm 1.54 cm 545 keV 0 eV 0 fm 0 fm World initStep + 1 287 um -16.3 cm 1.54 cm 42.6 MeV 353 eV 4.24 mm 4.24 mm World eIoni + 2 439 um -19.2 cm 1.55 cm 333 MeV 2.68 keV 2.91 cm 3.33 cm World eIoni + 3 456 um -20 cm 1.55 cm 413 MeV 3.87 keV 7.97 mm 4.13 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 439 um -19.2 cm 1.55 cm 1.43 keV 0 eV 0 fm 0 fm World initStep + 1 432 um -19.2 cm 1.55 cm 1.05 MeV 1.43 keV 95.3 um 95.3 um World eIoni + 2 417 um -20 cm 1.55 cm 79.8 MeV 1.19 keV 7.87 mm 7.97 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 287 um -16.3 cm 1.54 cm 2.21 keV 0 eV 0 fm 0 fm World initStep + 1 284 um -16.3 cm 1.54 cm 1.99 MeV 2.21 keV 183 um 183 um World eIoni + 2 279 um -16.7 cm 1.54 cm 40.9 MeV 418 eV 3.89 mm 4.07 mm World eIoni + 3 276 um -20 cm 1.54 cm 371 MeV 4.41 keV 3.3 cm 3.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 33.2 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -5.1 mm 6.68 mm 101 MeV 1.76 keV 8.8 mm 8.8 mm World eIoni + 2 11.6 um -20 cm 2.22 cm 2.05 GeV 42.4 keV 19.6 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -5.1 mm 6.68 mm 3.13 keV 0 eV 0 fm 0 fm World initStep + 1 -9.63 um -5.33 mm 6.67 mm 2.53 MeV 1.71 keV 236 um 236 um World eIoni + 2 -23.3 um -1.59 cm 6.66 mm 108 MeV 1.16 keV 1.06 cm 1.08 cm World eIoni + 3 -30.9 um -3.68 cm 6.65 mm 318 MeV 3.16 keV 2.09 cm 3.17 cm World eIoni + 4 -33.9 um -5.08 cm 6.65 mm 458 MeV 2.16 keV 1.4 cm 4.58 cm World eIoni + 5 -43.4 um -20 cm 6.64 mm 1.95 GeV 42.5 keV 14.9 cm 19.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -33.9 um -5.08 cm 6.65 mm 1.04 keV 0 eV 0 fm 0 fm World initStep + 1 -36.5 um -5.09 cm 6.65 mm 673 keV 1.04 keV 61.2 um 61.2 um World eIoni + 2 -45.9 um -7.25 cm 6.67 mm 217 MeV 1.83 keV 2.16 cm 2.17 cm World eIoni + 3 -44 um -10.7 cm 6.67 mm 566 MeV 9.77 keV 3.49 cm 5.66 cm World eIoni + 4 -43.4 um -13.7 cm 6.67 mm 859 MeV 6.22 keV 2.92 cm 8.59 cm World eIoni + 5 -40.7 um -19.3 cm 6.67 mm 1.42 GeV 8.54 keV 5.6 cm 14.2 cm World eIoni + 6 -40.6 um -20 cm 6.67 mm 1.49 GeV 1.26 keV 7.26 mm 14.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -40.7 um -19.3 cm 6.67 mm 1.2 keV 0 eV 0 fm 0 fm World initStep + 1 -35 um -19.3 cm 6.67 mm 819 keV 1.2 keV 74.5 um 74.5 um World eIoni + 2 -21.4 um -20 cm 6.67 mm 72.7 MeV 558 eV 7.18 mm 7.26 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -43.4 um -13.7 cm 6.67 mm 2.06 keV 0 eV 0 fm 0 fm World initStep + 1 -51.7 um -13.7 cm 6.66 mm 1.78 MeV 2.06 keV 163 um 163 um World eIoni + 2 -68.6 um -15.6 cm 6.65 mm 197 MeV 1.87 keV 1.95 cm 1.97 cm World eIoni + 3 -68.4 um -18.6 cm 6.65 mm 490 MeV 4.92 keV 2.93 cm 4.89 cm World eIoni + 4 -67.1 um -20 cm 6.65 mm 633 MeV 1.9 keV 1.43 cm 6.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -68.4 um -18.6 cm 6.65 mm 2.55 keV 0 eV 0 fm 0 fm World initStep + 1 -81.1 um -18.6 cm 6.65 mm 2.49 MeV 2.55 keV 229 um 229 um World eIoni + 2 -98 um -19.5 cm 6.66 mm 93.5 MeV 1.59 keV 9.11 mm 9.33 mm World eIoni + 3 -100 um -20 cm 6.66 mm 143 MeV 5.36 keV 4.99 mm 1.43 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -68.6 um -15.6 cm 6.65 mm 1.54 keV 0 eV 0 fm 0 fm World initStep + 1 -76 um -15.7 cm 6.65 mm 1.16 MeV 1.54 keV 105 um 105 um World eIoni + 2 -97.9 um -20 cm 6.64 mm 436 MeV 8.17 keV 4.35 cm 4.36 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -44 um -10.7 cm 6.67 mm 5.16 keV 0 eV 0 fm 0 fm World initStep + 1 -42.7 um -10.8 cm 6.7 mm 8.12 MeV 5.16 keV 762 um 762 um World eIoni + 2 -42.6 um -10.8 cm 6.7 mm 10.7 MeV 60.3 eV 256 um 1.02 mm World eIoni + 3 -41.2 um -20 cm 6.74 mm 926 MeV 16.5 keV 9.15 cm 9.25 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -45.9 um -7.25 cm 6.67 mm 1.4 keV 0 eV 0 fm 0 fm World initStep + 1 -52.4 um -7.26 cm 6.67 mm 1.02 MeV 1.4 keV 92.4 um 92.4 um World eIoni + 2 -77.5 um -20 cm 6.68 mm 1.27 GeV 18.7 keV 12.7 cm 12.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -30.9 um -3.68 cm 6.65 mm 1.84 keV 0 eV 0 fm 0 fm World initStep + 1 -28.5 um -3.7 cm 6.66 mm 1.51 MeV 1.84 keV 138 um 138 um World eIoni + 2 -22.9 um -5.8 cm 6.68 mm 212 MeV 2.45 keV 2.1 cm 2.11 cm World eIoni + 3 -25.2 um -13.5 cm 6.69 mm 985 MeV 19.1 keV 7.73 cm 9.85 cm World eIoni + 4 -25.3 um -15.8 cm 6.69 mm 1.21 GeV 3.61 keV 2.28 cm 12.1 cm World eIoni + 5 -25.1 um -20 cm 6.69 mm 1.63 GeV 10.3 keV 4.2 cm 16.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -25.3 um -15.8 cm 6.69 mm 1.3 keV 0 eV 0 fm 0 fm World initStep + 1 -27.1 um -15.8 cm 6.7 mm 911 keV 1.3 keV 82.8 um 82.8 um World eIoni + 2 -32.7 um -18.3 cm 6.72 mm 247 MeV 1.67 keV 2.46 cm 2.47 cm World eIoni + 3 -33 um -18.6 cm 6.72 mm 279 MeV 568 eV 3.26 mm 2.79 cm World eIoni + 4 -33.7 um -20 cm 6.72 mm 420 MeV 2.93 keV 1.4 cm 4.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -33 um -18.6 cm 6.72 mm 1.43 keV 0 eV 0 fm 0 fm World initStep + 1 -31 um -18.6 cm 6.72 mm 1.05 MeV 1.43 keV 95.5 um 95.5 um World eIoni + 2 -26.3 um -20 cm 6.74 mm 140 MeV 2.01 keV 1.39 cm 1.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 14 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -32.7 um -18.3 cm 6.72 mm 1.55 keV 0 eV 0 fm 0 fm World initStep + 1 -30.7 um -18.3 cm 6.72 mm 1.17 MeV 1.55 keV 106 um 106 um World eIoni + 2 -25.6 um -20 cm 6.74 mm 173 MeV 1.59 keV 1.72 cm 1.73 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -25.2 um -13.5 cm 6.69 mm 1.06 keV 0 eV 0 fm 0 fm World initStep + 1 -26.9 um -13.5 cm 6.7 mm 687 keV 1.06 keV 62.5 um 62.5 um World eIoni + 2 -33.7 um -20 cm 6.72 mm 647 MeV 7.35 keV 6.46 cm 6.47 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -22.9 um -5.8 cm 6.68 mm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 -18.8 um -5.8 cm 6.68 mm 729 keV 1.1 keV 66.3 um 66.3 um World eIoni + 2 -7.81 um -6.49 cm 6.67 mm 69.7 MeV 796 eV 6.9 mm 6.97 mm World eIoni + 3 -8.14 um -20 cm 6.67 mm 1.42 GeV 22 keV 13.5 cm 14.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 12 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.81 um -6.49 cm 6.67 mm 1.03 keV 0 eV 0 fm 0 fm World initStep + 1 -3.73 um -6.5 cm 6.67 mm 659 keV 1.03 keV 59.9 um 59.9 um World eIoni + 2 16 um -19.7 cm 6.65 mm 1.32 GeV 20.3 keV 13.2 cm 13.2 cm World eIoni + 3 16 um -20 cm 6.66 mm 1.35 GeV 245 eV 3.03 mm 13.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 17 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 16 um -19.7 cm 6.65 mm 2.76 keV 0 eV 0 fm 0 fm World initStep + 1 26.6 um -19.7 cm 6.65 mm 2.83 MeV 2.76 keV 262 um 262 um World eIoni + 2 34.8 um -20 cm 6.64 mm 30.5 MeV 379 eV 2.77 mm 3.03 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -23.3 um -1.59 cm 6.66 mm 1.07 keV 0 eV 0 fm 0 fm World initStep + 1 -18.3 um -1.6 cm 6.66 mm 694 keV 1.07 keV 63.1 um 63.1 um World eIoni + 2 6.28 um -18.8 cm 6.66 mm 1.72 GeV 24.3 keV 17.2 cm 17.2 cm World eIoni + 3 6.23 um -20 cm 6.66 mm 1.84 GeV 1.36 keV 1.18 cm 18.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.28 um -18.8 cm 6.66 mm 1.64 keV 0 eV 0 fm 0 fm World initStep + 1 14.4 um -18.8 cm 6.66 mm 1.27 MeV 1.64 keV 116 um 116 um World eIoni + 2 32.2 um -20 cm 6.66 mm 118 MeV 4.11 keV 1.16 cm 1.18 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -9.98 mm 8.86 mm 150 MeV 2.15 keV 1.42 cm 1.42 cm World eIoni + 2 5.19 um -6.61 cm 1.69 cm 711 MeV 11.5 keV 5.68 cm 7.09 cm World eIoni + 3 7.95 um -20 cm 2.22 cm 2.05 GeV 29.4 keV 13.4 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.19 um -6.61 cm 1.69 cm 2.44 keV 0 eV 0 fm 0 fm World initStep + 1 6.92 um -6.63 cm 1.69 cm 2.33 MeV 2.44 keV 214 um 214 um World eIoni + 2 8.53 um -6.9 cm 1.69 cm 29.8 MeV 368 eV 2.74 mm 2.96 mm World eIoni + 3 9.81 um -8.54 cm 1.69 cm 194 MeV 3.76 keV 1.64 cm 1.93 cm World eIoni + 4 16.7 um -15.6 cm 1.69 cm 903 MeV 15.7 keV 7.09 cm 9.03 cm World eIoni + 5 18.4 um -18.6 cm 1.69 cm 1.2 GeV 5.54 keV 2.99 cm 12 cm World eIoni + 6 18.7 um -20 cm 1.69 cm 1.34 GeV 6.01 keV 1.38 cm 13.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 18.4 um -18.6 cm 1.69 cm 8.14 keV 0 eV 0 fm 0 fm World initStep + 1 30.4 um -18.8 cm 1.68 cm 15.6 MeV 4.37 keV 1.48 mm 1.48 mm World eIoni + 2 33.6 um -19.3 cm 1.68 cm 69.1 MeV 2.33 keV 5.35 mm 6.83 mm World eIoni + 3 35.2 um -20 cm 1.68 cm 139 MeV 692 eV 7.01 mm 1.38 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 16.7 um -15.6 cm 1.69 cm 2.62 keV 0 eV 0 fm 0 fm World initStep + 1 12.9 um -15.7 cm 1.69 cm 2.59 MeV 2.62 keV 239 um 239 um World eIoni + 2 10.2 um -15.8 cm 1.69 cm 20.1 MeV 66.7 eV 1.75 mm 1.99 mm World eIoni + 3 6.03 um -20 cm 1.69 cm 437 MeV 4.08 keV 4.17 cm 4.37 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.81 um -8.54 cm 1.69 cm 1.86 keV 0 eV 0 fm 0 fm World initStep + 1 1.61 um -8.56 cm 1.69 cm 1.54 MeV 1.86 keV 141 um 141 um World eIoni + 2 -18.7 um -12.1 cm 1.69 cm 359 MeV 4.78 keV 3.57 cm 3.59 cm World eIoni + 3 -21.4 um -15.8 cm 1.69 cm 725 MeV 5.58 keV 3.66 cm 7.25 cm World eIoni + 4 -22 um -16.3 cm 1.69 cm 777 MeV 928 eV 5.24 mm 7.77 cm World eIoni + 5 -22.9 um -20 cm 1.69 cm 1.15 GeV 12.7 keV 3.69 cm 11.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -22 um -16.3 cm 1.69 cm 22.9 keV 0 eV 0 fm 0 fm World initStep + 1 -78.1 um -16.7 cm 1.7 cm 39.7 MeV 4.12 keV 3.83 mm 3.83 mm World eIoni + 2 -79.7 um -16.8 cm 1.7 cm 49.6 MeV 233 eV 991 um 4.82 mm World eIoni + 3 -94.7 um -20 cm 1.7 cm 371 MeV 7.45 keV 3.21 cm 3.69 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -21.4 um -15.8 cm 1.69 cm 4.41 keV 0 eV 0 fm 0 fm World initStep + 1 38.8 nm -15.8 cm 1.69 cm 6.21 MeV 4.41 keV 581 um 581 um World eIoni + 2 8.18 um -16.1 cm 1.69 cm 27.1 MeV 21.4 eV 2.09 mm 2.67 mm World eIoni + 3 23.9 um -20 cm 1.69 cm 422 MeV 6.71 keV 3.95 cm 4.21 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -9.98 mm 8.86 mm 1.11 keV 0 eV 0 fm 0 fm World initStep + 1 -5.11 um -1 cm 8.86 mm 730 keV 1.11 keV 66.5 um 66.5 um World eIoni + 2 -25.4 um -6.11 cm 8.86 mm 511 MeV 5.41 keV 5.1 cm 5.11 cm World eIoni + 3 -32.3 um -20 cm 8.85 mm 1.9 GeV 37.1 keV 13.9 cm 19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -25.4 um -6.11 cm 8.86 mm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 -22.4 um -6.11 cm 8.86 mm 727 keV 1.1 keV 66.1 um 66.1 um World eIoni + 2 -13.6 um -7 cm 8.87 mm 89.7 MeV 1.58 keV 8.89 mm 8.96 mm World eIoni + 3 -3.93 um -20 cm 8.89 mm 1.39 GeV 31.2 keV 13 cm 13.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -13.6 um -7 cm 8.87 mm 1.41 keV 0 eV 0 fm 0 fm World initStep + 1 -16 um -7.01 cm 8.87 mm 1.03 MeV 1.41 keV 93.3 um 93.3 um World eIoni + 2 -24.6 um -16.5 cm 8.84 mm 948 MeV 14.6 keV 9.47 cm 9.48 cm World eIoni + 3 -25.9 um -20 cm 8.84 mm 1.3 GeV 4.22 keV 3.51 cm 13 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -24.6 um -16.5 cm 8.84 mm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 -20.2 um -16.5 cm 8.85 mm 728 keV 1.1 keV 66.2 um 66.2 um World eIoni + 2 -3.8 um -20 cm 8.86 mm 351 MeV 5.18 keV 3.51 cm 3.51 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -5.21 cm 1.57 cm 571 MeV 5.75 keV 5.69 cm 5.69 cm World eIoni + 2 -23.7 um -20 cm 2.22 cm 2.05 GeV 29.7 keV 14.8 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -5.21 cm 1.57 cm 35.6 keV 0 eV 0 fm 0 fm World initStep + 1 160 um -5.83 cm 1.57 cm 64.8 MeV 4.59 keV 6.32 mm 6.32 mm World eIoni + 2 195 um -9.33 cm 1.57 cm 414 MeV 4.96 keV 3.5 cm 4.13 cm World eIoni + 3 222 um -20 cm 1.57 cm 1.48 GeV 18.6 keV 10.7 cm 14.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 195 um -9.33 cm 1.57 cm 1.32 keV 0 eV 0 fm 0 fm World initStep + 1 191 um -9.34 cm 1.57 cm 929 keV 1.32 keV 84.5 um 84.5 um World eIoni + 2 176 um -14.8 cm 1.57 cm 547 MeV 7.52 keV 5.46 cm 5.46 cm World eIoni + 3 176 um -15 cm 1.57 cm 564 MeV 114 eV 1.74 mm 5.64 cm World eIoni + 4 168 um -20 cm 1.57 cm 1.07 GeV 11.2 keV 5.03 cm 10.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 176 um -15 cm 1.57 cm 7.11 keV 0 eV 0 fm 0 fm World initStep + 1 215 um -15.1 cm 1.57 cm 13.6 MeV 5.79 keV 1.28 mm 1.28 mm World eIoni + 2 233 um -16.3 cm 1.57 cm 136 MeV 1.44 keV 1.22 cm 1.35 cm World eIoni + 3 243 um -20 cm 1.57 cm 504 MeV 5.65 keV 3.69 cm 5.04 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 176 um -14.8 cm 1.57 cm 2.04 keV 0 eV 0 fm 0 fm World initStep + 1 184 um -14.8 cm 1.57 cm 1.76 MeV 2.04 keV 161 um 161 um World eIoni + 2 202 um -18.8 cm 1.57 cm 399 MeV 10.7 keV 3.97 cm 3.99 cm World eIoni + 3 203 um -20 cm 1.57 cm 521 MeV 1.8 keV 1.22 cm 5.21 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 202 um -18.8 cm 1.57 cm 1.63 keV 0 eV 0 fm 0 fm World initStep + 1 196 um -18.8 cm 1.57 cm 1.25 MeV 1.63 keV 114 um 114 um World eIoni + 2 183 um -20 cm 1.57 cm 122 MeV 2.24 keV 1.21 cm 1.22 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -5.61 cm 1.61 cm 611 MeV 11.1 keV 6.09 cm 6.09 cm World eIoni + 2 -487 nm -6.34 cm 1.67 cm 684 MeV 590 eV 7.37 mm 6.83 cm World eIoni + 3 -2.1 um -8.48 cm 1.8 cm 898 MeV 3.87 keV 2.14 cm 8.97 cm World eIoni + 4 -8.93 um -20 cm 2.22 cm 2.05 GeV 21.1 keV 11.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.1 um -8.48 cm 1.8 cm 1.78 keV 0 eV 0 fm 0 fm World initStep + 1 2.76 um -8.5 cm 1.8 cm 1.44 MeV 1.78 keV 131 um 131 um World eIoni + 2 18 um -20 cm 1.8 cm 1.15 GeV 20.6 keV 11.5 cm 11.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -487 nm -6.34 cm 1.67 cm 1.88 keV 0 eV 0 fm 0 fm World initStep + 1 3.05 um -6.36 cm 1.67 cm 1.55 MeV 1.88 keV 142 um 142 um World eIoni + 2 13.8 um -20 cm 1.66 cm 1.37 GeV 17.7 keV 13.6 cm 13.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -5.61 cm 1.61 cm 1.9 keV 0 eV 0 fm 0 fm World initStep + 1 9.31 um -5.62 cm 1.61 cm 1.58 MeV 1.9 keV 144 um 144 um World eIoni + 2 32.4 um -9.58 cm 1.61 cm 397 MeV 5.23 keV 3.95 cm 3.97 cm World eIoni + 3 43.5 um -20 cm 1.61 cm 1.44 GeV 24.9 keV 10.4 cm 14.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32.4 um -9.58 cm 1.61 cm 2.86 keV 0 eV 0 fm 0 fm World initStep + 1 20.4 um -9.6 cm 1.61 cm 3.01 MeV 2.86 keV 278 um 278 um World eIoni + 2 6.83 um -10.4 cm 1.61 cm 80 MeV 987 eV 7.7 mm 7.98 mm World eIoni + 3 -4.48 um -20 cm 1.61 cm 1.04 GeV 23.4 keV 9.63 cm 10.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -3.74 cm 1.42 cm 424 MeV 6.12 keV 4.21 cm 4.21 cm World eIoni + 2 4.25 um -8.01 cm 1.78 cm 851 MeV 11.4 keV 4.29 cm 8.5 cm World eIoni + 3 12.4 um -20 cm 2.22 cm 2.05 GeV 22.8 keV 12 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.25 um -8.01 cm 1.78 cm 1 keV 0 eV 0 fm 0 fm World initStep + 1 -462 nm -8.02 cm 1.78 cm 638 keV 1 keV 58 um 58 um World eIoni + 2 -22.4 um -16.8 cm 1.78 cm 876 MeV 11.8 keV 8.76 cm 8.77 cm World eIoni + 3 -33.3 um -20 cm 1.77 cm 1.2 GeV 10.5 keV 3.22 cm 12 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -22.4 um -16.8 cm 1.78 cm 834 keV 0 eV 0 fm 0 fm World initStep + 1 111 um -17.4 cm 1.81 cm 59.6 MeV 2.76 keV 5.91 mm 5.91 mm World eIoni + 2 161 um -20 cm 1.83 cm 323 MeV 5.24 keV 2.63 cm 3.22 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 111 um -17.4 cm 1.81 cm 2.72 keV 0 eV 0 fm 0 fm World initStep + 1 116 um -17.4 cm 1.81 cm 2.78 MeV 2.72 keV 256 um 256 um World eIoni + 2 120 um -17.6 cm 1.81 cm 24.1 MeV 104 eV 2.13 mm 2.39 mm World eIoni + 3 122 um -18.2 cm 1.81 cm 82.2 MeV 844 eV 5.82 mm 8.2 mm World eIoni + 4 115 um -19.6 cm 1.81 cm 224 MeV 1.95 keV 1.42 cm 2.24 cm World eIoni + 5 114 um -20 cm 1.81 cm 263 MeV 652 eV 3.95 mm 2.63 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 115 um -19.6 cm 1.81 cm 2.28 keV 0 eV 0 fm 0 fm World initStep + 1 125 um -19.6 cm 1.81 cm 2.1 MeV 2.28 keV 193 um 193 um World eIoni + 2 133 um -19.8 cm 1.81 cm 19.6 MeV 276 eV 1.75 mm 1.95 mm World eIoni + 3 135 um -20 cm 1.81 cm 39.7 MeV 303 eV 2.01 mm 3.96 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 122 um -18.2 cm 1.81 cm 12.8 keV 0 eV 0 fm 0 fm World initStep + 1 176 um -18.4 cm 1.81 cm 22.8 MeV 4.99 keV 2.18 mm 2.18 mm World eIoni + 2 190 um -19.4 cm 1.82 cm 120 MeV 1.46 keV 9.71 mm 1.19 cm World eIoni + 3 193 um -20 cm 1.82 cm 182 MeV 1.08 keV 6.26 mm 1.81 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -3.74 cm 1.42 cm 3.62 keV 0 eV 0 fm 0 fm World initStep + 1 -19.8 um -3.78 cm 1.42 cm 4.44 MeV 3.62 keV 413 um 413 um World eIoni + 2 -29.9 um -3.99 cm 1.42 cm 25.5 MeV 285 eV 2.11 mm 2.52 mm World eIoni + 3 -55.1 um -20 cm 1.42 cm 1.63 GeV 32.8 keV 16 cm 16.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.86 cm 1.12 cm 236 MeV 3.36 keV 2.31 cm 2.31 cm World eIoni + 2 -9.22 um -8.48 cm 1.8 cm 898 MeV 9.73 keV 6.65 cm 8.97 cm World eIoni + 3 -12.1 um -20 cm 2.22 cm 2.05 GeV 25.8 keV 11.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.22 um -8.48 cm 1.8 cm 28.7 keV 0 eV 0 fm 0 fm World initStep + 1 -33.3 um -8.84 cm 1.79 cm 38.4 MeV 2.65 keV 3.73 mm 3.73 mm World eIoni + 2 -44.8 um -20 cm 1.79 cm 1.15 GeV 16 keV 11.2 cm 11.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.86 cm 1.12 cm 5.24 keV 0 eV 0 fm 0 fm World initStep + 1 28.8 um -1.94 cm 1.13 cm 8.37 MeV 5.24 keV 786 um 786 um World eIoni + 2 30.1 um -1.96 cm 1.13 cm 10.1 MeV 0 eV 178 um 964 um World eIoni + 3 76.5 um -12.9 cm 1.13 cm 1.11 GeV 16 keV 11 cm 11.1 cm World eIoni + 4 77 um -13.7 cm 1.13 cm 1.18 GeV 1.3 keV 7.82 mm 11.8 cm World eIoni + 5 80.5 um -20 cm 1.13 cm 1.81 GeV 13.9 keV 6.3 cm 18.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 77 um -13.7 cm 1.13 cm 993 eV 0 eV 0 fm 0 fm World initStep + 1 72.5 um -13.7 cm 1.13 cm 630 keV 993 eV 57.3 um 57.3 um World eIoni + 2 52.7 um -19.7 cm 1.12 cm 597 MeV 10.6 keV 5.96 cm 5.97 cm World eIoni + 3 52.6 um -20 cm 1.12 cm 630 MeV 936 eV 3.35 mm 6.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 76.5 um -12.9 cm 1.13 cm 1.12 keV 0 eV 0 fm 0 fm World initStep + 1 81.8 um -12.9 cm 1.13 cm 745 keV 1.12 keV 67.7 um 67.7 um World eIoni + 2 103 um -20 cm 1.13 cm 708 MeV 10.4 keV 7.08 cm 7.08 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 30.1 um -1.96 cm 1.13 cm 2.11 keV 0 eV 0 fm 0 fm World initStep + 1 23.3 um -1.98 cm 1.13 cm 1.86 MeV 2.11 keV 171 um 171 um World eIoni + 2 17.1 um -2.14 cm 1.13 cm 18.6 MeV 300 eV 1.67 mm 1.84 mm World eIoni + 3 7.45 um -5.75 cm 1.13 cm 379 MeV 5.58 keV 3.6 cm 3.79 cm World eIoni + 4 -4.03 um -19.4 cm 1.13 cm 1.75 GeV 24 keV 13.7 cm 17.5 cm World eIoni + 5 -4.38 um -20 cm 1.13 cm 1.8 GeV 911 eV 5.53 mm 18 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.03 um -19.4 cm 1.13 cm 1.46 keV 0 eV 0 fm 0 fm World initStep + 1 2.99 um -19.5 cm 1.13 cm 1.07 MeV 1.46 keV 97.5 um 97.5 um World eIoni + 2 16.8 um -20 cm 1.13 cm 55.4 MeV 215 eV 5.44 mm 5.53 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.45 um -5.75 cm 1.13 cm 2.09 keV 0 eV 0 fm 0 fm World initStep + 1 17.9 um -5.76 cm 1.13 cm 1.82 MeV 2.09 keV 167 um 167 um World eIoni + 2 40.5 um -8.65 cm 1.13 cm 290 MeV 1.89 keV 2.88 cm 2.9 cm World eIoni + 3 47.6 um -19.5 cm 1.13 cm 1.37 GeV 22.8 keV 10.8 cm 13.7 cm World eIoni + 4 47.9 um -20 cm 1.13 cm 1.43 GeV 1.22 keV 5.07 mm 14.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 47.6 um -19.5 cm 1.13 cm 2.78 keV 0 eV 0 fm 0 fm World initStep + 1 39.1 um -19.5 cm 1.13 cm 2.87 MeV 2.78 keV 265 um 265 um World eIoni + 2 31.7 um -19.8 cm 1.13 cm 35.8 MeV 528 eV 3.29 mm 3.56 mm World eIoni + 3 30.7 um -20 cm 1.13 cm 51 MeV 293 eV 1.52 mm 5.08 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.4 cm 1.23 cm 290 MeV 4.94 keV 2.86 cm 2.86 cm World eIoni + 2 935 nm -2.9 cm 1.31 cm 340 MeV 702 eV 5.09 mm 3.37 cm World eIoni + 3 8.9 um -16.3 cm 2.12 cm 1.68 GeV 17.1 keV 13.4 cm 16.8 cm World eIoni + 4 11.2 um -19.6 cm 2.21 cm 2.01 GeV 5.64 keV 3.31 cm 20.1 cm World eIoni + 5 11.4 um -20 cm 2.22 cm 2.05 GeV 439 eV 3.98 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 11.2 um -19.6 cm 2.21 cm 1.38 keV 0 eV 0 fm 0 fm World initStep + 1 16.4 um -19.6 cm 2.21 cm 991 keV 1.38 keV 90.1 um 90.1 um World eIoni + 2 26.1 um -20 cm 2.21 cm 39.9 MeV 413 eV 3.89 mm 3.98 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 8.9 um -16.3 cm 2.12 cm 9.24 keV 0 eV 0 fm 0 fm World initStep + 1 -34.3 um -16.5 cm 2.12 cm 17.6 MeV 8.97 keV 1.67 mm 1.67 mm World eIoni + 2 -40.8 um -16.7 cm 2.12 cm 41.9 MeV 767 eV 2.43 mm 4.1 mm World eIoni + 3 -58 um -20 cm 2.12 cm 372 MeV 8.84 keV 3.3 cm 3.71 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 935 nm -2.9 cm 1.31 cm 1.05 keV 0 eV 0 fm 0 fm World initStep + 1 2.15 um -2.91 cm 1.31 cm 674 keV 1.05 keV 61.6 um 61.6 um World eIoni + 2 7.07 um -7.22 cm 1.31 cm 432 MeV 3.69 keV 4.32 cm 4.32 cm World eIoni + 3 7.77 um -11.2 cm 1.31 cm 833 MeV 8.37 keV 4.01 cm 8.33 cm World eIoni + 4 6.71 um -20 cm 1.31 cm 1.71 GeV 14.4 keV 8.77 cm 17.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.77 um -11.2 cm 1.31 cm 1.12 keV 0 eV 0 fm 0 fm World initStep + 1 11.8 um -11.2 cm 1.31 cm 747 keV 1.12 keV 67.9 um 67.9 um World eIoni + 2 28.7 um -20 cm 1.31 cm 877 MeV 12.1 keV 8.76 cm 8.77 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.07 um -7.22 cm 1.31 cm 3.04 keV 0 eV 0 fm 0 fm World initStep + 1 6.33 um -7.25 cm 1.31 cm 3.32 MeV 3.04 keV 307 um 307 um World eIoni + 2 5.72 um -7.64 cm 1.31 cm 41.8 MeV 494 eV 3.85 mm 4.15 mm World eIoni + 3 5.49 um -8.24 cm 1.31 cm 101 MeV 1.06 keV 5.96 mm 1.01 cm World eIoni + 4 4.78 um -18.1 cm 1.31 cm 1.08 GeV 14 keV 9.83 cm 10.8 cm World eIoni + 5 5.38 um -20 cm 1.31 cm 1.28 GeV 4.72 keV 1.94 cm 12.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.78 um -18.1 cm 1.31 cm 3.52 keV 0 eV 0 fm 0 fm World initStep + 1 -13.5 um -18.1 cm 1.31 cm 4.24 MeV 3.52 keV 394 um 394 um World eIoni + 2 -15.7 um -18.1 cm 1.31 cm 6.57 MeV 384 eV 233 um 627 um World eIoni + 3 -34.6 um -20 cm 1.31 cm 194 MeV 3.09 keV 1.87 cm 1.94 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.49 um -8.24 cm 1.31 cm 1.44 keV 0 eV 0 fm 0 fm World initStep + 1 5.55 um -8.24 cm 1.31 cm 1.05 MeV 1.44 keV 95.7 um 95.7 um World eIoni + 2 5.76 um -16.6 cm 1.32 cm 833 MeV 19.7 keV 8.32 cm 8.33 cm World eIoni + 3 2.89 um -20 cm 1.32 cm 1.18 GeV 5.15 keV 3.44 cm 11.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 5.76 um -16.6 cm 1.32 cm 37.6 keV 0 eV 0 fm 0 fm World initStep + 1 85.7 um -17.3 cm 1.3 cm 73.8 MeV 4.1 keV 7.24 mm 7.24 mm World eIoni + 2 91.8 um -18 cm 1.3 cm 143 MeV 1.88 keV 6.89 mm 1.41 cm World eIoni + 3 100 um -20 cm 1.3 cm 346 MeV 3.72 keV 2.04 cm 3.45 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.4 cm 1.23 cm 6.86 keV 0 eV 0 fm 0 fm World initStep + 1 -11 um -2.41 cm 1.23 cm 1.22 MeV 749 eV 121 um 121 um World eIoni + 2 -39.8 um -4.73 cm 1.23 cm 233 MeV 2.8 keV 2.32 cm 2.33 cm World eIoni + 3 -44.6 um -19.7 cm 1.24 cm 1.73 GeV 40.1 keV 15 cm 17.3 cm World eIoni + 4 -44.7 um -20 cm 1.24 cm 1.76 GeV 844 eV 2.86 mm 17.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -44.6 um -19.7 cm 1.24 cm 2.32 keV 0 eV 0 fm 0 fm World initStep + 1 -46.3 um -19.7 cm 1.23 cm 2.15 MeV 2.32 keV 198 um 198 um World eIoni + 2 -46.6 um -19.7 cm 1.23 cm 3.81 MeV 0 eV 166 um 364 um World eIoni + 3 -47.9 um -20 cm 1.23 cm 28.9 MeV 125 eV 2.5 mm 2.87 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -39.8 um -4.73 cm 1.23 cm 1.33 keV 0 eV 0 fm 0 fm World initStep + 1 -45.8 um -4.74 cm 1.23 cm 943 keV 1.33 keV 85.7 um 85.7 um World eIoni + 2 -68.7 um -14.6 cm 1.23 cm 990 MeV 11.9 keV 9.89 cm 9.9 cm World eIoni + 3 -71.9 um -20 cm 1.23 cm 1.53 GeV 11.4 keV 5.37 cm 15.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -68.7 um -14.6 cm 1.23 cm 1.69 keV 0 eV 0 fm 0 fm World initStep + 1 -60.8 um -14.6 cm 1.23 cm 1.33 MeV 1.69 keV 121 um 121 um World eIoni + 2 -38.2 um -20 cm 1.23 cm 537 MeV 8.75 keV 5.36 cm 5.37 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -5.44 cm 1.59 cm 594 MeV 13.2 keV 5.92 cm 5.92 cm World eIoni + 2 -25.9 um -20 cm 2.22 cm 2.05 GeV 28.2 keV 14.6 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -5.44 cm 1.59 cm 44.5 keV 0 eV 0 fm 0 fm World initStep + 1 166 um -5.94 cm 1.59 cm 52.5 MeV 3.27 keV 5.12 mm 5.12 mm World eIoni + 2 199 um -8.06 cm 1.59 cm 265 MeV 3.69 keV 2.12 cm 2.63 cm World eIoni + 3 236 um -20 cm 1.59 cm 1.46 GeV 18.9 keV 11.9 cm 14.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 199 um -8.06 cm 1.59 cm 3.14 keV 0 eV 0 fm 0 fm World initStep + 1 198 um -8.1 cm 1.59 cm 3.48 MeV 3.14 keV 323 um 323 um World eIoni + 2 197 um -8.26 cm 1.59 cm 20.3 MeV 105 eV 1.68 mm 2 mm World eIoni + 3 195 um -9.83 cm 1.59 cm 177 MeV 2.27 keV 1.57 cm 1.77 cm World eIoni + 4 187 um -13.9 cm 1.59 cm 588 MeV 13.6 keV 4.11 cm 5.88 cm World eIoni + 5 182 um -20 cm 1.59 cm 1.19 GeV 6.62 keV 6.06 cm 11.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 187 um -13.9 cm 1.59 cm 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 189 um -13.9 cm 1.59 cm 647 keV 1.01 keV 58.9 um 58.9 um World eIoni + 2 196 um -18 cm 1.58 cm 401 MeV 5.42 keV 4.01 cm 4.01 cm World eIoni + 3 197 um -20 cm 1.58 cm 606 MeV 3.11 keV 2.04 cm 6.06 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 196 um -18 cm 1.58 cm 2.63 keV 0 eV 0 fm 0 fm World initStep + 1 194 um -18 cm 1.59 cm 2.61 MeV 2.63 keV 241 um 241 um World eIoni + 2 192 um -18.8 cm 1.59 cm 81.1 MeV 477 eV 7.85 mm 8.09 mm World eIoni + 3 191 um -20 cm 1.59 cm 205 MeV 1.24 keV 1.23 cm 2.04 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 195 um -9.83 cm 1.59 cm 4.02 keV 0 eV 0 fm 0 fm World initStep + 1 216 um -9.88 cm 1.59 cm 5.27 MeV 4.02 keV 492 um 492 um World eIoni + 2 227 um -10.2 cm 1.59 cm 33.8 MeV 456 eV 2.86 mm 3.35 mm World eIoni + 3 247 um -20 cm 1.59 cm 1.02 GeV 18.4 keV 9.83 cm 10.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -6.2 mm 7.27 mm 112 MeV 1.77 keV 1.01 cm 1.01 cm World eIoni + 2 -407 nm -3.89 cm 1.44 cm 439 MeV 8.43 keV 3.36 cm 4.37 cm World eIoni + 3 -6.02 um -20 cm 2.22 cm 2.05 GeV 27.3 keV 16.1 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -407 nm -3.89 cm 1.44 cm 1.13 keV 0 eV 0 fm 0 fm World initStep + 1 4.91 um -3.9 cm 1.44 cm 757 keV 1.13 keV 68.8 um 68.8 um World eIoni + 2 20.5 um -4.97 cm 1.44 cm 108 MeV 864 eV 1.07 cm 1.08 cm World eIoni + 3 23.5 um -12.8 cm 1.44 cm 889 MeV 23.5 keV 7.81 cm 8.89 cm World eIoni + 4 26.2 um -13.8 cm 1.44 cm 992 MeV 1.75 keV 1.04 cm 9.92 cm World eIoni + 5 36.1 um -20 cm 1.44 cm 1.61 GeV 14.4 keV 6.19 cm 16.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26.2 um -13.8 cm 1.44 cm 1.2 keV 0 eV 0 fm 0 fm World initStep + 1 31.8 um -13.8 cm 1.44 cm 819 keV 1.2 keV 74.5 um 74.5 um World eIoni + 2 44.5 um -14.3 cm 1.44 cm 48.6 MeV 552 eV 4.78 mm 4.85 mm World eIoni + 3 46.1 um -14.6 cm 1.44 cm 78.1 MeV 1.65 keV 2.95 mm 7.8 mm World eIoni + 4 67.4 um -20 cm 1.44 cm 619 MeV 11.7 keV 5.41 cm 6.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 46.1 um -14.6 cm 1.44 cm 4.66 keV 0 eV 0 fm 0 fm World initStep + 1 19.6 um -14.7 cm 1.44 cm 6.83 MeV 4.66 keV 640 um 640 um World eIoni + 2 7.14 um -15 cm 1.44 cm 44.2 MeV 517 eV 3.73 mm 4.37 mm World eIoni + 3 -1.19 um -16.1 cm 1.44 cm 150 MeV 1.79 keV 1.05 cm 1.49 cm World eIoni + 4 -3.72 um -20 cm 1.44 cm 541 MeV 7.51 keV 3.92 cm 5.41 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.19 um -16.1 cm 1.44 cm 2.44 keV 0 eV 0 fm 0 fm World initStep + 1 -13.6 um -16.1 cm 1.44 cm 2.32 MeV 2.44 keV 214 um 214 um World eIoni + 2 -29 um -16.7 cm 1.44 cm 63.7 MeV 791 eV 6.14 mm 6.35 mm World eIoni + 3 -36.8 um -19.2 cm 1.44 cm 310 MeV 10.1 keV 2.46 cm 3.1 cm World eIoni + 4 -36.1 um -20 cm 1.44 cm 392 MeV 1.81 keV 8.19 mm 3.92 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -36.8 um -19.2 cm 1.44 cm 10.2 keV 0 eV 0 fm 0 fm World initStep + 1 -63.1 um -19.2 cm 1.45 cm 5.45 MeV 717 eV 528 um 528 um World eIoni + 2 -82.9 um -20 cm 1.45 cm 82.2 MeV 3.16 keV 7.67 mm 8.2 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -63.1 um -19.2 cm 1.45 cm 1.35 keV 0 eV 0 fm 0 fm World initStep + 1 -63.9 um -19.2 cm 1.45 cm 966 keV 1.35 keV 87.9 um 87.9 um World eIoni + 2 -65.9 um -20 cm 1.45 cm 76.8 MeV 1.18 keV 7.59 mm 7.68 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 23.5 um -12.8 cm 1.44 cm 51.7 keV 0 eV 0 fm 0 fm World initStep + 1 -151 um -13.3 cm 1.44 cm 53 MeV 2.91 keV 5.18 mm 5.18 mm World eIoni + 2 -205 um -18.7 cm 1.44 cm 598 MeV 9.34 keV 5.45 cm 5.97 cm World eIoni + 3 -207 um -20 cm 1.44 cm 724 MeV 1.13 keV 1.27 cm 7.23 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -205 um -18.7 cm 1.44 cm 168 keV 0 eV 0 fm 0 fm World initStep + 1 -290 um -20 cm 1.46 cm 127 MeV 2.57 keV 1.27 cm 1.27 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 20.5 um -4.97 cm 1.44 cm 2.59 keV 0 eV 0 fm 0 fm World initStep + 1 25.5 um -4.99 cm 1.44 cm 2.55 MeV 2.59 keV 235 um 235 um World eIoni + 2 31.1 um -5.49 cm 1.44 cm 52.4 MeV 607 eV 4.99 mm 5.22 mm World eIoni + 3 37.4 um -20 cm 1.44 cm 1.5 GeV 27.2 keV 14.5 cm 15 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -6.2 mm 7.27 mm 2.36 keV 0 eV 0 fm 0 fm World initStep + 1 699 nm -6.4 mm 7.26 mm 2.2 MeV 2.36 keV 203 um 203 um World eIoni + 2 1.13 um -7.32 mm 7.25 mm 11.4 MeV 387 eV 922 um 1.12 mm World eIoni + 3 2.48 um -12.9 cm 7.23 mm 1.23 GeV 24.4 keV 12.2 cm 12.3 cm World eIoni + 4 2.33 um -20 cm 7.23 mm 1.94 GeV 11.6 keV 7.06 cm 19.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.48 um -12.9 cm 7.23 mm 3.21 keV 0 eV 0 fm 0 fm World initStep + 1 4.33 um -13 cm 7.25 mm 3.62 MeV 3.21 keV 335 um 335 um World eIoni + 2 5.68 um -13.3 cm 7.26 mm 36.2 MeV 280 eV 3.25 mm 3.59 mm World eIoni + 3 7.25 um -17.1 cm 7.28 mm 416 MeV 4.51 keV 3.8 cm 4.16 cm World eIoni + 4 3.9 um -20 cm 7.28 mm 706 MeV 8.99 keV 2.9 cm 7.06 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 12 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 7.25 um -17.1 cm 7.28 mm 6.7 keV 0 eV 0 fm 0 fm World initStep + 1 41.7 um -17.2 cm 7.3 mm 12.6 MeV 5.68 keV 1.19 mm 1.19 mm World eIoni + 2 49.7 um -17.5 cm 7.31 mm 40.9 MeV 1.09 keV 2.83 mm 4.02 mm World eIoni + 3 57.7 um -18.4 cm 7.31 mm 128 MeV 3.73 keV 8.76 mm 1.28 cm World eIoni + 4 57.2 um -20 cm 7.32 mm 291 MeV 2.37 keV 1.62 cm 2.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 57.7 um -18.4 cm 7.31 mm 7.63 keV 0 eV 0 fm 0 fm World initStep + 1 97 um -18.5 cm 7.29 mm 14.7 MeV 4.29 keV 1.39 mm 1.39 mm World eIoni + 2 98.5 um -18.5 cm 7.28 mm 18.1 MeV 0 eV 348 um 1.73 mm World eIoni + 3 115 um -20 cm 7.27 mm 163 MeV 1.05 keV 1.45 cm 1.62 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 41 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -9.8 mm 8.79 mm 148 MeV 2.6 keV 1.4 cm 1.4 cm World eIoni + 2 -5.26 um -9.06 cm 1.84 cm 956 MeV 13.8 keV 8.16 cm 9.56 cm World eIoni + 3 -5.9 um -14.6 cm 2.07 cm 1.51 GeV 8.67 keV 5.54 cm 15.1 cm World eIoni + 4 -6.97 um -18.2 cm 2.17 cm 1.87 GeV 8.9 keV 3.56 cm 18.7 cm World eIoni + 5 -7.22 um -20 cm 2.22 cm 2.05 GeV 2.16 keV 1.84 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.97 um -18.2 cm 2.17 cm 2.99 keV 0 eV 0 fm 0 fm World initStep + 1 -14 um -18.2 cm 2.17 cm 3.23 MeV 2.99 keV 299 um 299 um World eIoni + 2 -22.6 um -19.4 cm 2.17 cm 127 MeV 585 eV 1.24 cm 1.27 cm World eIoni + 3 -23.2 um -20 cm 2.17 cm 185 MeV 977 eV 5.75 mm 1.84 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.9 um -14.6 cm 2.07 cm 1.33 keV 0 eV 0 fm 0 fm World initStep + 1 487 nm -14.6 cm 2.07 cm 937 keV 1.33 keV 85.2 um 85.2 um World eIoni + 2 13.8 um -15.1 cm 2.07 cm 50.2 MeV 566 eV 4.93 mm 5.01 mm World eIoni + 3 14.4 um -20 cm 2.07 cm 540 MeV 8.34 keV 4.9 cm 5.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.8 um -15.1 cm 2.07 cm 1.23 keV 0 eV 0 fm 0 fm World initStep + 1 19.4 um -15.1 cm 2.07 cm 839 keV 1.23 keV 76.3 um 76.3 um World eIoni + 2 39.7 um -20 cm 2.07 cm 490 MeV 5.03 keV 4.89 cm 4.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.26 um -9.06 cm 1.84 cm 5.51 keV 0 eV 0 fm 0 fm World initStep + 1 -11.2 um -9.15 cm 1.83 cm 9.17 MeV 5.51 keV 862 um 862 um World eIoni + 2 -12 um -9.23 cm 1.83 cm 16.9 MeV 168 eV 778 um 1.64 mm World eIoni + 3 -17.7 um -20 cm 1.83 cm 1.09 GeV 20.8 keV 10.8 cm 10.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -9.8 mm 8.79 mm 1.06 keV 0 eV 0 fm 0 fm World initStep + 1 4.28 um -9.86 mm 8.8 mm 694 keV 1.06 keV 62.5 um 62.5 um World eIoni + 2 21.8 um -6.48 cm 8.81 mm 550 MeV 8.51 keV 5.49 cm 5.5 cm World eIoni + 3 32.9 um -20 cm 8.81 mm 1.9 GeV 28.3 keV 13.5 cm 19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 21.8 um -6.48 cm 8.81 mm 4.02 keV 0 eV 0 fm 0 fm World initStep + 1 151 nm -6.52 cm 8.81 mm 5.27 MeV 4.02 keV 492 um 492 um World eIoni + 2 -22.4 um -8.51 cm 8.82 mm 204 MeV 4.22 keV 1.99 cm 2.04 cm World eIoni + 3 -34.3 um -20 cm 8.82 mm 1.35 GeV 17.9 keV 11.5 cm 13.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 31 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 32.7 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -6.02 mm 7.18 mm 110 MeV 4.21 keV 9.85 mm 9.85 mm World eIoni + 2 6.47 um -14.5 cm 2.06 cm 1.5 GeV 30.1 keV 14 cm 15 cm World eIoni + 3 7.37 um -20 cm 2.22 cm 2.05 GeV 13.5 keV 5.49 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.47 um -14.5 cm 2.06 cm 2.95 keV 0 eV 0 fm 0 fm World initStep + 1 5.16 um -14.5 cm 2.06 cm 3.15 MeV 2.95 keV 292 um 292 um World eIoni + 2 3.82 um -15.2 cm 2.06 cm 67.7 MeV 1.59 keV 6.46 mm 6.75 mm World eIoni + 3 3.61 um -15.6 cm 2.06 cm 108 MeV 324 eV 4 mm 1.07 cm World eIoni + 4 1.25 um -20 cm 2.06 cm 549 MeV 11 keV 4.42 cm 5.49 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.61 um -15.6 cm 2.06 cm 1.69 keV 0 eV 0 fm 0 fm World initStep + 1 5.59 um -15.6 cm 2.06 cm 1.32 MeV 1.69 keV 121 um 121 um World eIoni + 2 11 um -20 cm 2.06 cm 442 MeV 4.79 keV 4.4 cm 4.42 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -6.02 mm 7.18 mm 1.08 keV 0 eV 0 fm 0 fm World initStep + 1 -3.67 um -6.08 mm 7.18 mm 699 keV 1.08 keV 64.2 um 64.2 um World eIoni + 2 -19.2 um -6.58 cm 7.16 mm 598 MeV 6.58 keV 5.97 cm 5.98 cm World eIoni + 3 -22.4 um -20 cm 7.16 mm 1.94 GeV 30.5 keV 13.4 cm 19.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -19.2 um -6.58 cm 7.16 mm 1.22 keV 0 eV 0 fm 0 fm World initStep + 1 -17.6 um -6.58 cm 7.16 mm 837 keV 1.22 keV 76.1 um 76.1 um World eIoni + 2 -12.2 um -9.43 cm 7.14 mm 286 MeV 4.98 keV 2.85 cm 2.86 cm World eIoni + 3 -10.3 um -11.1 cm 7.14 mm 453 MeV 3.33 keV 1.68 cm 4.53 cm World eIoni + 4 -9.98 um -13.5 cm 7.14 mm 694 MeV 3.94 keV 2.41 cm 6.94 cm World eIoni + 5 -7.56 um -19.2 cm 7.14 mm 1.26 GeV 10.7 keV 5.66 cm 12.6 cm World eIoni + 6 -7.21 um -20 cm 7.14 mm 1.34 GeV 2.21 keV 8.28 mm 13.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.56 um -19.2 cm 7.14 mm 2.61 keV 0 eV 0 fm 0 fm World initStep + 1 -20.7 um -19.2 cm 7.15 mm 2.58 MeV 2.61 keV 238 um 238 um World eIoni + 2 -35.5 um -19.8 cm 7.15 mm 61.1 MeV 698 eV 5.85 mm 6.09 mm World eIoni + 3 -36.1 um -20 cm 7.15 mm 83.1 MeV 362 eV 2.19 mm 8.29 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.98 um -13.5 cm 7.14 mm 1.19 keV 0 eV 0 fm 0 fm World initStep + 1 -15.4 um -13.5 cm 7.14 mm 804 keV 1.19 keV 73.1 um 73.1 um World eIoni + 2 -36.3 um -20 cm 7.15 mm 649 MeV 8.35 keV 6.48 cm 6.49 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.3 um -11.1 cm 7.14 mm 1.44 keV 0 eV 0 fm 0 fm World initStep + 1 -4.31 um -11.1 cm 7.14 mm 1.06 MeV 1.44 keV 96.3 um 96.3 um World eIoni + 2 16.6 um -20 cm 7.12 mm 889 MeV 14.4 keV 8.88 cm 8.89 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -12.2 um -9.43 cm 7.14 mm 3.89 keV 0 eV 0 fm 0 fm World initStep + 1 -22.6 um -9.48 cm 7.12 mm 4.99 MeV 3.89 keV 466 um 466 um World eIoni + 2 -25.3 um -9.55 cm 7.11 mm 12.5 MeV 19.1 eV 754 um 1.22 mm World eIoni + 3 -36.8 um -15.1 cm 7.09 mm 570 MeV 10.9 keV 5.58 cm 5.7 cm World eIoni + 4 -40.6 um -20 cm 7.09 mm 1.06 GeV 11.7 keV 4.87 cm 10.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -36.8 um -15.1 cm 7.09 mm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 -32 um -15.1 cm 7.1 mm 716 keV 1.09 keV 65.1 um 65.1 um World eIoni + 2 -15 um -17.6 cm 7.1 mm 244 MeV 4.4 keV 2.44 cm 2.44 cm World eIoni + 3 -11 um -20 cm 7.1 mm 487 MeV 4.53 keV 2.43 cm 4.87 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -15 um -17.6 cm 7.1 mm 1.62 keV 0 eV 0 fm 0 fm World initStep + 1 -22.3 um -17.6 cm 7.1 mm 1.25 MeV 1.62 keV 114 um 114 um World eIoni + 2 -41 um -20 cm 7.09 mm 243 MeV 2.55 keV 2.42 cm 2.43 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 37.2 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -8.02 cm 1.78 cm 852 MeV 20.7 keV 8.51 cm 8.51 cm World eIoni + 2 -2.21 um -14.9 cm 2.08 cm 1.54 GeV 12.3 keV 6.87 cm 15.4 cm World eIoni + 3 -3.84 um -20 cm 2.22 cm 2.05 GeV 9.48 keV 5.12 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.21 um -14.9 cm 2.08 cm 2 keV 0 eV 0 fm 0 fm World initStep + 1 2.15 um -14.9 cm 2.07 cm 1.7 MeV 2 keV 156 um 156 um World eIoni + 2 12.9 um -20 cm 2.07 cm 512 MeV 4.92 keV 5.1 cm 5.12 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -8.02 cm 1.78 cm 1.53 keV 0 eV 0 fm 0 fm World initStep + 1 7.08 um -8.03 cm 1.78 cm 1.15 MeV 1.53 keV 105 um 105 um World eIoni + 2 31.7 um -18.5 cm 1.78 cm 1.05 GeV 12.3 keV 10.5 cm 10.5 cm World eIoni + 3 31.7 um -20 cm 1.78 cm 1.2 GeV 2.18 keV 1.52 cm 12 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 31.7 um -18.5 cm 1.78 cm 2.15 keV 0 eV 0 fm 0 fm World initStep + 1 42.3 um -18.5 cm 1.78 cm 1.91 MeV 2.15 keV 175 um 175 um World eIoni + 2 44.4 um -18.5 cm 1.78 cm 3.32 MeV 0 eV 141 um 316 um World eIoni + 3 61.4 um -20 cm 1.78 cm 152 MeV 1.83 keV 1.49 cm 1.52 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -4.62 cm 1.52 cm 511 MeV 12.6 keV 5.1 cm 5.1 cm World eIoni + 2 -4.93 um -6.94 cm 1.71 cm 743 MeV 2.46 keV 2.33 cm 7.42 cm World eIoni + 3 -10.2 um -12.9 cm 2.01 cm 1.34 GeV 14.9 keV 6.01 cm 13.4 cm World eIoni + 4 -10.8 um -14 cm 2.05 cm 1.45 GeV 2.05 keV 1.04 cm 14.5 cm World eIoni + 5 -14.9 um -20 cm 2.22 cm 2.05 GeV 14.4 keV 6.03 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.8 um -14 cm 2.05 cm 1.86 keV 0 eV 0 fm 0 fm World initStep + 1 -1.52 um -14 cm 2.05 cm 1.54 MeV 1.86 keV 141 um 141 um World eIoni + 2 23.4 um -20 cm 2.05 cm 603 MeV 7.95 keV 6.01 cm 6.02 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -10.2 um -12.9 cm 2.01 cm 1.05 keV 0 eV 0 fm 0 fm World initStep + 1 -12.5 um -12.9 cm 2.01 cm 680 keV 1.05 keV 61.8 um 61.8 um World eIoni + 2 -22.4 um -19.2 cm 2.01 cm 631 MeV 6.85 keV 6.3 cm 6.3 cm World eIoni + 3 -22.3 um -20 cm 2.01 cm 706 MeV 3.66 keV 7.56 mm 7.06 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -22.4 um -19.2 cm 2.01 cm 2.42 keV 0 eV 0 fm 0 fm World initStep + 1 -29 um -19.3 cm 2.01 cm 2.29 MeV 2.42 keV 211 um 211 um World eIoni + 2 -36.3 um -19.7 cm 2.01 cm 44.8 MeV 431 eV 4.25 mm 4.46 mm World eIoni + 3 -37.6 um -20 cm 2.01 cm 75.8 MeV 743 eV 3.1 mm 7.56 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.93 um -6.94 cm 1.71 cm 3.35 keV 0 eV 0 fm 0 fm World initStep + 1 -17.9 um -6.97 cm 1.71 cm 3.89 MeV 3.35 keV 361 um 361 um World eIoni + 2 -29.2 um -7.58 cm 1.71 cm 64.4 MeV 1.41 keV 6.05 mm 6.41 mm World eIoni + 3 -38.5 um -12.6 cm 1.71 cm 567 MeV 8.71 keV 5.03 cm 5.67 cm World eIoni + 4 -41.7 um -15.2 cm 1.71 cm 825 MeV 7.48 keV 2.57 cm 8.24 cm World eIoni + 5 -46.7 um -20 cm 1.71 cm 1.31 GeV 7.87 keV 4.82 cm 13.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -41.7 um -15.2 cm 1.71 cm 1.04 keV 0 eV 0 fm 0 fm World initStep + 1 -37.9 um -15.2 cm 1.71 cm 674 keV 1.04 keV 61.3 um 61.3 um World eIoni + 2 -22.2 um -20 cm 1.71 cm 482 MeV 6.41 keV 4.81 cm 4.82 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -38.5 um -12.6 cm 1.71 cm 1.75 keV 0 eV 0 fm 0 fm World initStep + 1 -29.8 um -12.6 cm 1.71 cm 1.4 MeV 1.75 keV 128 um 128 um World eIoni + 2 -5.72 um -17.6 cm 1.71 cm 495 MeV 6.53 keV 4.94 cm 4.95 cm World eIoni + 3 -4.08 um -20 cm 1.71 cm 740 MeV 4.92 keV 2.44 cm 7.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.72 um -17.6 cm 1.71 cm 2.21 keV 0 eV 0 fm 0 fm World initStep + 1 -5.43 um -17.6 cm 1.7 cm 1.99 MeV 2.21 keV 183 um 183 um World eIoni + 2 -4.97 um -18.6 cm 1.7 cm 109 MeV 861 eV 1.07 cm 1.09 cm World eIoni + 3 -4.88 um -20 cm 1.7 cm 244 MeV 2.44 keV 1.36 cm 2.44 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -4.62 cm 1.52 cm 85.1 keV 0 eV 0 fm 0 fm World initStep + 1 101 um -6.02 cm 1.5 cm 142 MeV 5.2 keV 1.41 cm 1.41 cm World eIoni + 2 133 um -20 cm 1.49 cm 1.54 GeV 28.6 keV 14 cm 15.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -6.4 cm 1.67 cm 690 MeV 11.3 keV 6.89 cm 6.89 cm World eIoni + 2 1.36 um -20 cm 2.22 cm 2.05 GeV 33.7 keV 13.6 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -6.4 cm 1.67 cm 1.18 keV 0 eV 0 fm 0 fm World initStep + 1 -2.04 um -6.41 cm 1.67 cm 796 keV 1.18 keV 72.2 um 72.2 um World eIoni + 2 -7.74 um -7.43 cm 1.67 cm 102 MeV 2.89 keV 1.02 cm 1.02 cm World eIoni + 3 -5.43 um -8.8 cm 1.67 cm 240 MeV 2.65 keV 1.38 cm 2.4 cm World eIoni + 4 -1.74 um -13 cm 1.67 cm 658 MeV 7.95 keV 4.18 cm 6.58 cm World eIoni + 5 -8.53 um -20 cm 1.67 cm 1.36 GeV 12.7 keV 7.01 cm 13.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.74 um -13 cm 1.67 cm 20.6 keV 0 eV 0 fm 0 fm World initStep + 1 50.6 um -13.1 cm 1.67 cm 10.5 MeV 962 eV 1.03 mm 1.03 mm World eIoni + 2 105 um -20 cm 1.67 cm 702 MeV 9.87 keV 6.91 cm 7.01 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.43 um -8.8 cm 1.67 cm 1.33 keV 0 eV 0 fm 0 fm World initStep + 1 -7.09 um -8.81 cm 1.67 cm 945 keV 1.33 keV 86 um 86 um World eIoni + 2 -13.5 um -19.7 cm 1.67 cm 1.09 GeV 13.5 keV 10.9 cm 10.9 cm World eIoni + 3 -13.7 um -20 cm 1.67 cm 1.12 GeV 603 eV 3.15 mm 11.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -13.5 um -19.7 cm 1.67 cm 4.79 keV 0 eV 0 fm 0 fm World initStep + 1 8.91 um -19.8 cm 1.67 cm 7.15 MeV 4.79 keV 671 um 671 um World eIoni + 2 16.5 um -20 cm 1.67 cm 32 MeV 1.1 keV 2.49 mm 3.16 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.74 um -7.43 cm 1.67 cm 1.67 keV 0 eV 0 fm 0 fm World initStep + 1 -15.7 um -7.44 cm 1.67 cm 1.31 MeV 1.67 keV 119 um 119 um World eIoni + 2 -41.9 um -20 cm 1.67 cm 1.26 GeV 14 keV 12.6 cm 12.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -58.3 um 767 um 50.6 MeV 169 eV 770 um 770 um World eIoni + 2 11.1 um -7.44 cm 1.74 cm 794 MeV 12.8 keV 7.86 cm 7.93 cm World eIoni + 3 2.89 um -20 cm 2.22 cm 2.05 GeV 21.9 keV 12.6 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 11.1 um -7.44 cm 1.74 cm 14.2 keV 0 eV 0 fm 0 fm World initStep + 1 79.7 um -7.64 cm 1.74 cm 20.5 MeV 9.19 keV 1.97 mm 1.97 mm World eIoni + 2 118 um -12 cm 1.74 cm 460 MeV 6.77 keV 4.39 cm 4.59 cm World eIoni + 3 119 um -12.6 cm 1.74 cm 516 MeV 502 eV 5.67 mm 5.16 cm World eIoni + 4 144 um -20 cm 1.74 cm 1.26 GeV 16 keV 7.4 cm 12.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 119 um -12.6 cm 1.74 cm 19.6 keV 0 eV 0 fm 0 fm World initStep + 1 43.8 um -12.8 cm 1.74 cm 20.1 MeV 5.72 keV 1.95 mm 1.95 mm World eIoni + 2 18 um -13.9 cm 1.74 cm 129 MeV 1.4 keV 1.08 cm 1.28 cm World eIoni + 3 -13 um -20 cm 1.74 cm 741 MeV 10.1 keV 6.13 cm 7.41 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 18 um -13.9 cm 1.74 cm 1.56 keV 0 eV 0 fm 0 fm World initStep + 1 24.8 um -13.9 cm 1.74 cm 1.17 MeV 1.56 keV 107 um 107 um World eIoni + 2 44.9 um -18.1 cm 1.74 cm 422 MeV 8.5 keV 4.21 cm 4.22 cm World eIoni + 3 47.7 um -20 cm 1.74 cm 613 MeV 3.66 keV 1.91 cm 6.13 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 44.9 um -18.1 cm 1.74 cm 24.5 keV 0 eV 0 fm 0 fm World initStep + 1 14.2 um -18.5 cm 1.75 cm 42.5 MeV 2.73 keV 4.11 mm 4.11 mm World eIoni + 2 12.1 um -18.8 cm 1.76 cm 73.2 MeV 331 eV 3.06 mm 7.17 mm World eIoni + 3 8.31 um -20 cm 1.76 cm 193 MeV 2.6 keV 1.2 cm 1.91 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 118 um -12 cm 1.74 cm 1.46 keV 0 eV 0 fm 0 fm World initStep + 1 113 um -12 cm 1.74 cm 1.08 MeV 1.46 keV 98 um 98 um World eIoni + 2 105 um -12.6 cm 1.74 cm 58.7 MeV 1.5 keV 5.76 mm 5.86 mm World eIoni + 3 99.2 um -18.2 cm 1.75 cm 614 MeV 13.9 keV 5.55 cm 6.14 cm World eIoni + 4 99.2 um -20 cm 1.75 cm 797 MeV 2 keV 1.83 cm 7.97 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 99.2 um -18.2 cm 1.75 cm 4.46 keV 0 eV 0 fm 0 fm World initStep + 1 89.6 um -18.2 cm 1.74 cm 6.33 MeV 4.46 keV 593 um 593 um World eIoni + 2 82.9 um -19.1 cm 1.74 cm 95 MeV 1.89 keV 8.87 mm 9.46 mm World eIoni + 3 81.2 um -20 cm 1.74 cm 184 MeV 1.02 keV 8.88 mm 1.83 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -58.3 um 767 um 6.62 keV 0 eV 0 fm 0 fm World initStep + 1 -16.3 um -1.22 mm 764 um 12.4 MeV 6.62 keV 1.17 mm 1.17 mm World eIoni + 2 -21.6 um -6.15 mm 764 um 61.7 MeV 1.86 keV 4.93 mm 6.09 mm World eIoni + 3 -33.3 um -12.7 cm 762 um 1.27 GeV 27.3 keV 12.1 cm 12.7 cm World eIoni + 4 -32.1 um -20 cm 761 um 2 GeV 13.4 keV 7.28 cm 20 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -33.3 um -12.7 cm 762 um 3.95 keV 0 eV 0 fm 0 fm World initStep + 1 -54.2 um -12.8 cm 769 um 5.11 MeV 3.95 keV 477 um 477 um World eIoni + 2 -66.6 um -13.1 cm 772 um 42.8 MeV 242 eV 3.77 mm 4.25 mm World eIoni + 3 -83.8 um -20 cm 778 um 728 MeV 16.7 keV 6.85 cm 7.28 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 44.6 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -4.62 cm 1.52 cm 512 MeV 10.2 keV 5.1 cm 5.1 cm World eIoni + 2 2.93 um -20 cm 2.22 cm 2.05 GeV 35.7 keV 15.4 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -4.62 cm 1.52 cm 1.08 keV 0 eV 0 fm 0 fm World initStep + 1 -3.23 um -4.63 cm 1.52 cm 705 keV 1.08 keV 64.3 um 64.3 um World eIoni + 2 -15.9 um -8.53 cm 1.52 cm 391 MeV 2.95 keV 3.9 cm 3.91 cm World eIoni + 3 -23 um -18.4 cm 1.52 cm 1.38 GeV 21.2 keV 9.9 cm 13.8 cm World eIoni + 4 -23.3 um -20 cm 1.52 cm 1.54 GeV 1.47 keV 1.57 cm 15.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -23 um -18.4 cm 1.52 cm 1.4 keV 0 eV 0 fm 0 fm World initStep + 1 -26.5 um -18.4 cm 1.52 cm 1.01 MeV 1.4 keV 91.9 um 91.9 um World eIoni + 2 -35.3 um -19.6 cm 1.52 cm 113 MeV 1.29 keV 1.12 cm 1.13 cm World eIoni + 3 -37.5 um -20 cm 1.52 cm 157 MeV 534 eV 4.47 mm 1.57 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35.3 um -19.6 cm 1.52 cm 2.15 keV 0 eV 0 fm 0 fm World initStep + 1 -24.5 um -19.6 cm 1.52 cm 1.91 MeV 2.15 keV 175 um 175 um World eIoni + 2 -11.9 um -19.9 cm 1.52 cm 35.9 MeV 1.86 keV 3.4 mm 3.57 mm World eIoni + 3 -11.7 um -20 cm 1.52 cm 44.9 MeV 14.9 eV 903 um 4.48 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -15.9 um -8.53 cm 1.52 cm 1.22 keV 0 eV 0 fm 0 fm World initStep + 1 -10 um -8.53 cm 1.52 cm 834 keV 1.22 keV 75.8 um 75.8 um World eIoni + 2 7.82 um -10.3 cm 1.52 cm 175 MeV 1.22 keV 1.75 cm 1.75 cm World eIoni + 3 13.1 um -16.4 cm 1.52 cm 787 MeV 17.2 keV 6.12 cm 7.87 cm World eIoni + 4 15.7 um -20 cm 1.52 cm 1.15 GeV 6.35 keV 3.6 cm 11.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 13.1 um -16.4 cm 1.52 cm 2.61 keV 0 eV 0 fm 0 fm World initStep + 1 -535 nm -16.4 cm 1.52 cm 2.58 MeV 2.61 keV 238 um 238 um World eIoni + 2 -10.7 um -16.6 cm 1.52 cm 21.6 MeV 382 eV 1.9 mm 2.14 mm World eIoni + 3 -26.4 um -20 cm 1.52 cm 360 MeV 6.12 keV 3.39 cm 3.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.86 cm 1.31 cm 336 MeV 5.98 keV 3.33 cm 3.33 cm World eIoni + 2 -5.63 um -9.33 cm 1.85 cm 983 MeV 20.8 keV 6.5 cm 9.82 cm World eIoni + 3 -13.7 um -19.2 cm 2.2 cm 1.97 GeV 18.2 keV 9.92 cm 19.7 cm World eIoni + 4 -14.2 um -19.9 cm 2.22 cm 2.04 GeV 2.01 keV 6.13 mm 20.4 cm World eIoni + 5 -14.3 um -20 cm 2.22 cm 2.05 GeV 111 eV 1.48 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -14.2 um -19.9 cm 2.22 cm 3.24 keV 0 eV 0 fm 0 fm World initStep + 1 -29 um -19.9 cm 2.22 cm 3.67 MeV 3.24 keV 340 um 340 um World eIoni + 2 -33.6 um -19.9 cm 2.22 cm 10.1 MeV 81.8 eV 646 um 986 um World eIoni + 3 -35.5 um -20 cm 2.22 cm 15.1 MeV 74.7 eV 501 um 1.49 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -13.7 um -19.2 cm 2.2 cm 3.08 keV 0 eV 0 fm 0 fm World initStep + 1 848 nm -19.3 cm 2.2 cm 3.37 MeV 3.08 keV 313 um 313 um World eIoni + 2 2.01 um -19.3 cm 2.2 cm 4.39 MeV 0 eV 102 um 414 um World eIoni + 3 16.9 um -20 cm 2.2 cm 76.4 MeV 1.21 keV 7.2 mm 7.61 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -5.63 um -9.33 cm 1.85 cm 3.97 keV 0 eV 0 fm 0 fm World initStep + 1 16.3 um -9.38 cm 1.85 cm 5.15 MeV 3.97 keV 481 um 481 um World eIoni + 2 21.8 um -9.46 cm 1.85 cm 13 MeV 43.1 eV 787 um 1.27 mm World eIoni + 3 40.7 um -11.6 cm 1.85 cm 229 MeV 8.27 keV 2.16 cm 2.28 cm World eIoni + 4 50.8 um -20 cm 1.85 cm 1.07 GeV 14.9 keV 8.39 cm 10.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 40.7 um -11.6 cm 1.85 cm 2.64 keV 0 eV 0 fm 0 fm World initStep + 1 40.2 um -11.6 cm 1.85 cm 2.63 MeV 2.64 keV 243 um 243 um World eIoni + 2 39.7 um -11.9 cm 1.85 cm 26.7 MeV 185 eV 2.41 mm 2.65 mm World eIoni + 3 38.9 um -20 cm 1.85 cm 839 MeV 13 keV 8.12 cm 8.39 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.86 cm 1.31 cm 2.68 keV 0 eV 0 fm 0 fm World initStep + 1 14.1 um -2.88 cm 1.31 cm 2.7 MeV 2.68 keV 249 um 249 um World eIoni + 2 26.2 um -3.18 cm 1.31 cm 31.8 MeV 439 eV 2.91 mm 3.16 mm World eIoni + 3 40.7 um -7.21 cm 1.3 cm 436 MeV 6.94 keV 4.04 cm 4.35 cm World eIoni + 4 51.7 um -20 cm 1.3 cm 1.71 GeV 32 keV 12.8 cm 17.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 40.7 um -7.21 cm 1.3 cm 1.07 keV 0 eV 0 fm 0 fm World initStep + 1 36.3 um -7.22 cm 1.31 cm 695 keV 1.07 keV 63.2 um 63.2 um World eIoni + 2 16.4 um -18 cm 1.31 cm 1.08 GeV 20 keV 10.8 cm 10.8 cm World eIoni + 3 16.1 um -20 cm 1.31 cm 1.28 GeV 2.76 keV 1.99 cm 12.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.18 cm 9.46 mm 168 MeV 2.03 keV 1.6 cm 1.6 cm World eIoni + 2 -3.93 um -6.5 cm 1.68 cm 700 MeV 11.5 keV 5.38 cm 6.98 cm World eIoni + 3 -6.77 um -15.2 cm 2.09 cm 1.57 GeV 17.3 keV 8.72 cm 15.7 cm World eIoni + 4 -7.85 um -18.3 cm 2.18 cm 1.88 GeV 6.33 keV 3.11 cm 18.8 cm World eIoni + 5 -6.62 um -20 cm 2.22 cm 2.05 GeV 1.84 keV 1.68 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.85 um -18.3 cm 2.18 cm 43.1 keV 0 eV 0 fm 0 fm World initStep + 1 -71.7 um -18.4 cm 2.18 cm 6.19 MeV 369 eV 620 um 620 um World eIoni + 2 -136 um -20 cm 2.18 cm 168 MeV 1.92 keV 1.62 cm 1.68 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -6.77 um -15.2 cm 2.09 cm 3.01 keV 0 eV 0 fm 0 fm World initStep + 1 263 nm -15.2 cm 2.08 cm 3.25 MeV 3.01 keV 301 um 301 um World eIoni + 2 8.07 um -16.1 cm 2.08 cm 90.5 MeV 2.54 keV 8.73 mm 9.03 mm World eIoni + 3 10.9 um -18.1 cm 2.08 cm 289 MeV 2.89 keV 1.99 cm 2.89 cm World eIoni + 4 10.2 um -20 cm 2.08 cm 479 MeV 3.46 keV 1.9 cm 4.79 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 10.9 um -18.1 cm 2.08 cm 2.18 keV 0 eV 0 fm 0 fm World initStep + 1 21.8 um -18.1 cm 2.08 cm 1.95 MeV 2.18 keV 179 um 179 um World eIoni + 2 38.5 um -19 cm 2.08 cm 88.8 MeV 636 eV 8.68 mm 8.86 mm World eIoni + 3 42 um -20 cm 2.08 cm 190 MeV 2.57 keV 1.01 cm 1.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.93 um -6.5 cm 1.68 cm 1.17 keV 0 eV 0 fm 0 fm World initStep + 1 -2.65 um -6.5 cm 1.68 cm 788 keV 1.17 keV 71.9 um 71.9 um World eIoni + 2 2.37 um -12.6 cm 1.67 cm 608 MeV 7.75 keV 6.07 cm 6.08 cm World eIoni + 3 2.87 um -20 cm 1.67 cm 1.35 GeV 10.1 keV 7.43 cm 13.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.18 cm 9.46 mm 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 4.05 um -1.18 cm 9.46 mm 646 keV 1.01 keV 58.3 um 58.3 um World eIoni + 2 21.1 um -6.22 cm 9.47 mm 505 MeV 4.92 keV 5.04 cm 5.05 cm World eIoni + 3 20 um -9.67 cm 9.46 mm 849 MeV 11.6 keV 3.45 cm 8.49 cm World eIoni + 4 15.5 um -20 cm 9.46 mm 1.88 GeV 25.5 keV 10.3 cm 18.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 20 um -9.67 cm 9.46 mm 1.44 keV 0 eV 0 fm 0 fm World initStep + 1 26.8 um -9.68 cm 9.46 mm 1.06 MeV 1.44 keV 96.1 um 96.1 um World eIoni + 2 48.1 um -13.9 cm 9.46 mm 425 MeV 7.92 keV 4.24 cm 4.25 cm World eIoni + 3 49.7 um -20 cm 9.46 mm 1.03 GeV 8.58 keV 6.04 cm 10.3 cm World eIoni + 4 49.7 um -20 cm 9.46 mm 1.03 GeV 40.9 eV 435 um 10.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 49.7 um -20 cm 9.46 mm 1.81 keV 0 eV 0 fm 0 fm World initStep + 1 58.1 um -20 cm 9.46 mm 1.47 MeV 1.81 keV 134 um 134 um World eIoni + 2 61.8 um -20 cm 9.46 mm 4.5 MeV 0 eV 303 um 438 um OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 48.1 um -13.9 cm 9.46 mm 1.41 keV 0 eV 0 fm 0 fm World initStep + 1 51.3 um -13.9 cm 9.45 mm 1.03 MeV 1.41 keV 93.3 um 93.3 um World eIoni + 2 61.9 um -18.6 cm 9.43 mm 471 MeV 4.52 keV 4.7 cm 4.71 cm World eIoni + 3 62.2 um -20 cm 9.43 mm 609 MeV 1.48 keV 1.37 cm 6.08 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 61.9 um -18.6 cm 9.43 mm 1.52 keV 0 eV 0 fm 0 fm World initStep + 1 62.7 um -18.6 cm 9.42 mm 1.14 MeV 1.52 keV 104 um 104 um World eIoni + 2 64.6 um -20 cm 9.41 mm 138 MeV 3.58 keV 1.36 cm 1.38 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 21.1 um -6.22 cm 9.47 mm 12.4 keV 0 eV 0 fm 0 fm World initStep + 1 39.5 um -6.31 cm 9.51 mm 8.8 MeV 862 eV 852 um 852 um World eIoni + 2 61.8 um -17 cm 9.56 mm 1.07 GeV 19.7 keV 10.6 cm 10.7 cm WorldTransportation + 3 61.8 um -17 cm 9.56 mm 1.07 GeV4.66e-12 eV 0.0221 fm 10.7 cm World eIoni + 4 62.8 um -20 cm 9.56 mm 1.38 GeV 5.61 keV 3.05 cm 13.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 61.8 um -17 cm 9.56 mm 1.22 keV 0 eV 0 fm 0 fm World initStep + 1 61.1 um -17 cm 9.55 mm 829 keV 1.22 keV 75.4 um 75.4 um World eIoni + 2 58.7 um -20 cm 9.53 mm 305 MeV 3.27 keV 3.04 cm 3.05 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.48 cm 1.03 cm 198 MeV 3.03 keV 1.92 cm 1.92 cm World eIoni + 2 6.73 um -5.97 cm 1.64 cm 647 MeV 8.86 keV 4.54 cm 6.46 cm World eIoni + 3 8.11 um -6.5 cm 1.68 cm 700 MeV 1.61 keV 5.29 mm 6.99 cm World eIoni + 4 23.5 um -20 cm 2.22 cm 2.05 GeV 22.1 keV 13.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 8.11 um -6.5 cm 1.68 cm 1.16 keV 0 eV 0 fm 0 fm World initStep + 1 13.6 um -6.51 cm 1.68 cm 781 keV 1.16 keV 70.9 um 70.9 um World eIoni + 2 36.3 um -15.3 cm 1.68 cm 883 MeV 9.93 keV 8.82 cm 8.83 cm World eIoni + 3 38.8 um -20 cm 1.68 cm 1.35 GeV 9.33 keV 4.67 cm 13.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 36.3 um -15.3 cm 1.68 cm 1.94 keV 0 eV 0 fm 0 fm World initStep + 1 31.2 um -15.3 cm 1.68 cm 1.62 MeV 1.94 keV 149 um 149 um World eIoni + 2 18.4 um -20 cm 1.68 cm 467 MeV 6.44 keV 4.66 cm 4.67 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.73 um -5.97 cm 1.64 cm 29.1 keV 0 eV 0 fm 0 fm World initStep + 1 -89.8 um -6.41 cm 1.65 cm 46.2 MeV 3.6 keV 4.48 mm 4.48 mm World eIoni + 2 -128 um -16.2 cm 1.65 cm 1.02 GeV 16.5 keV 9.78 cm 10.2 cm World eIoni + 3 -133 um -20 cm 1.65 cm 1.4 GeV 8.71 keV 3.81 cm 14 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -128 um -16.2 cm 1.65 cm 1.83 keV 0 eV 0 fm 0 fm World initStep + 1 -119 um -16.2 cm 1.65 cm 1.5 MeV 1.83 keV 137 um 137 um World eIoni + 2 -100 um -17.6 cm 1.65 cm 140 MeV 2.12 keV 1.39 cm 1.4 cm World eIoni + 3 -93.5 um -20 cm 1.65 cm 381 MeV 4.69 keV 2.4 cm 3.81 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -100 um -17.6 cm 1.65 cm 995 eV 0 eV 0 fm 0 fm World initStep + 1 -104 um -17.6 cm 1.65 cm 632 keV 995 eV 57.5 um 57.5 um World eIoni + 2 -119 um -20 cm 1.65 cm 240 MeV 4.68 keV 2.4 cm 2.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.48 cm 1.03 cm 3.39 keV 0 eV 0 fm 0 fm World initStep + 1 -17.7 um -1.52 cm 1.03 cm 3.99 MeV 3.39 keV 370 um 370 um World eIoni + 2 -31.9 um -2.04 cm 1.03 cm 55.6 MeV 2.5 keV 5.16 mm 5.54 mm World eIoni + 3 -39.9 um -3.79 cm 1.04 cm 231 MeV 2.38 keV 1.76 cm 2.31 cm World eIoni + 4 -54.1 um -12.5 cm 1.04 cm 1.11 GeV 18.9 keV 8.75 cm 11.1 cm World eIoni + 5 -54.2 um -12.8 cm 1.04 cm 1.13 GeV 493 eV 2.37 mm 11.3 cm World eIoni + 6 -55.1 um -15.6 cm 1.04 cm 1.41 GeV 12.3 keV 2.79 cm 14.1 cm World eIoni + 7 -55.2 um -20 cm 1.04 cm 1.85 GeV 13 keV 4.43 cm 18.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -55.1 um -15.6 cm 1.04 cm 5.27 keV 0 eV 0 fm 0 fm World initStep + 1 -70.7 um -15.7 cm 1.04 cm 8.46 MeV 5.27 keV 794 um 794 um World eIoni + 2 -72.4 um -15.7 cm 1.04 cm 13.8 MeV 0 eV 534 um 1.33 mm World eIoni + 3 -85.7 um -19.8 cm 1.04 cm 425 MeV 7.13 keV 4.11 cm 4.24 cm World eIoni + 4 -85.7 um -20 cm 1.04 cm 443 MeV 172 eV 1.83 mm 4.43 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 11 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -85.7 um -19.8 cm 1.04 cm 1.65 keV 0 eV 0 fm 0 fm World initStep + 1 -93.3 um -19.8 cm 1.04 cm 1.28 MeV 1.65 keV 117 um 117 um World eIoni + 2 -102 um -20 cm 1.04 cm 18.4 MeV 309 eV 1.71 mm 1.83 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -54.2 um -12.8 cm 1.04 cm 1.52 keV 0 eV 0 fm 0 fm World initStep + 1 -57 um -12.8 cm 1.04 cm 1.14 MeV 1.52 keV 104 um 104 um World eIoni + 2 -64.5 um -15.4 cm 1.04 cm 263 MeV 3.34 keV 2.62 cm 2.63 cm WorldTransportation + 3 -64.5 um -15.4 cm 1.04 cm 263 MeV 1e-12 eV 0.00485 fm 2.63 cm World eIoni + 4 -66.6 um -16.8 cm 1.04 cm 405 MeV 5.75 keV 1.42 cm 4.05 cm World eIoni + 5 -67.4 um -20 cm 1.04 cm 722 MeV 4.52 keV 3.17 cm 7.22 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -66.6 um -16.8 cm 1.04 cm 1.28 keV 0 eV 0 fm 0 fm World initStep + 1 -70.4 um -16.8 cm 1.04 cm 892 keV 1.28 keV 81.1 um 81.1 um World eIoni + 2 -82.7 um -20 cm 1.04 cm 317 MeV 4.16 keV 3.16 cm 3.17 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -64.5 um -15.4 cm 1.04 cm 1.17 keV 0 eV 0 fm 0 fm World initStep + 1 -59 um -15.4 cm 1.04 cm 790 keV 1.17 keV 71.8 um 71.8 um World eIoni + 2 -40 um -18.3 cm 1.04 cm 287 MeV 4.85 keV 2.86 cm 2.87 cm World eIoni + 3 -39.8 um -20 cm 1.04 cm 459 MeV 3.82 keV 1.72 cm 4.59 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 13 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -40 um -18.3 cm 1.04 cm 7.82 keV 0 eV 0 fm 0 fm World initStep + 1 -25 um -18.4 cm 1.03 cm 15 MeV 5.7 keV 1.42 mm 1.42 mm World eIoni + 2 -23.7 um -18.5 cm 1.03 cm 24.2 MeV 128 eV 923 um 2.34 mm World eIoni + 3 -18.1 um -20 cm 1.03 cm 173 MeV 2.4 keV 1.49 cm 1.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -54.1 um -12.5 cm 1.04 cm 1.67 keV 0 eV 0 fm 0 fm World initStep + 1 -61.4 um -12.6 cm 1.04 cm 1.3 MeV 1.67 keV 119 um 119 um World eIoni + 2 -78.5 um -14.3 cm 1.03 cm 172 MeV 2.22 keV 1.71 cm 1.72 cm World eIoni + 3 -84.3 um -19.4 cm 1.03 cm 685 MeV 8.8 keV 5.13 cm 6.85 cm World eIoni + 4 -84.6 um -20 cm 1.03 cm 746 MeV 407 eV 6.03 mm 7.46 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -84.3 um -19.4 cm 1.03 cm 2.11 keV 0 eV 0 fm 0 fm World initStep + 1 -76.6 um -19.4 cm 1.03 cm 1.86 MeV 2.11 keV 170 um 170 um World eIoni + 2 -65.8 um -20 cm 1.04 cm 60.5 MeV 608 eV 5.87 mm 6.04 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -78.5 um -14.3 cm 1.03 cm 1.43 keV 0 eV 0 fm 0 fm World initStep + 1 -77.4 um -14.3 cm 1.04 cm 1.05 MeV 1.43 keV 95.3 um 95.3 um World eIoni + 2 -74.7 um -15.9 cm 1.04 cm 161 MeV 3.32 keV 1.6 cm 1.61 cm World eIoni + 3 -68.9 um -20 cm 1.04 cm 574 MeV 6.42 keV 4.13 cm 5.74 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 16 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -74.7 um -15.9 cm 1.04 cm 2.02 keV 0 eV 0 fm 0 fm World initStep + 1 -83.7 um -15.9 cm 1.04 cm 1.73 MeV 2.02 keV 159 um 159 um World eIoni + 2 -99.4 um -16.9 cm 1.04 cm 103 MeV 1.08 keV 1.01 cm 1.03 cm World eIoni + 3 -110 um -20 cm 1.04 cm 413 MeV 5.58 keV 3.1 cm 4.13 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 18 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -99.4 um -16.9 cm 1.04 cm 1.54 keV 0 eV 0 fm 0 fm World initStep + 1 -91.9 um -16.9 cm 1.04 cm 1.16 MeV 1.54 keV 106 um 106 um World eIoni + 2 -70.9 um -20 cm 1.04 cm 310 MeV 5.8 keV 3.09 cm 3.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -39.9 um -3.79 cm 1.04 cm 1.82 keV 0 eV 0 fm 0 fm World initStep + 1 -32.6 um -3.81 cm 1.03 cm 1.48 MeV 1.82 keV 135 um 135 um World eIoni + 2 -13.7 um -7.79 cm 1.03 cm 400 MeV 5.83 keV 3.98 cm 4 cm World eIoni + 3 -9.66 um -10.1 cm 1.03 cm 632 MeV 6.04 keV 2.32 cm 6.31 cm World eIoni + 4 -2.98 um -14.9 cm 1.03 cm 1.11 GeV 9.31 keV 4.79 cm 11.1 cm World eIoni + 5 -2.73 um -15.2 cm 1.03 cm 1.14 GeV 649 eV 2.53 mm 11.4 cm World eIoni + 6 -114 nm -20 cm 1.03 cm 1.62 GeV 8.72 keV 4.85 cm 16.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.73 um -15.2 cm 1.03 cm 1.93 keV 0 eV 0 fm 0 fm World initStep + 1 2.75 um -15.2 cm 1.03 cm 1.61 MeV 1.93 keV 147 um 147 um World eIoni + 2 16.5 um -20 cm 1.03 cm 485 MeV 8.28 keV 4.84 cm 4.85 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.98 um -14.9 cm 1.03 cm 5.41 keV 0 eV 0 fm 0 fm World initStep + 1 -1.27 um -15 cm 1.03 cm 8.86 MeV 5.41 keV 833 um 833 um World eIoni + 2 -963 nm -15.1 cm 1.03 cm 19.8 MeV 148 eV 1.09 mm 1.92 mm World eIoni + 3 379 nm -20 cm 1.03 cm 511 MeV 4.8 keV 4.91 cm 5.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.66 um -10.1 cm 1.03 cm 993 eV 0 eV 0 fm 0 fm World initStep + 1 -14.1 um -10.1 cm 1.03 cm 630 keV 993 eV 57.3 um 57.3 um World eIoni + 2 -35.3 um -20 cm 1.03 cm 986 MeV 13.9 keV 9.85 cm 9.86 cm World eIoni + 3 -35.3 um -20 cm 1.03 cm 989 MeV 45.9 eV 378 um 9.89 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 21 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -35.3 um -20 cm 1.03 cm 1.01 keV 0 eV 0 fm 0 fm World initStep + 1 -40 um -20 cm 1.03 cm 641 keV 1.01 keV 58.3 um 58.3 um World eIoni + 2 -43.7 um -20 cm 1.03 cm 3.85 MeV 0 eV 321 um 379 um OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -13.7 um -7.79 cm 1.03 cm 2.82 keV 0 eV 0 fm 0 fm World initStep + 1 -28.5 um -7.82 cm 1.03 cm 2.94 MeV 2.82 keV 271 um 271 um World eIoni + 2 -48.3 um -9.08 cm 1.03 cm 130 MeV 2.14 keV 1.27 cm 1.29 cm World eIoni + 3 -60.6 um -20 cm 1.03 cm 1.22 GeV 26.4 keV 10.9 cm 12.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -2.22 cm 1.2 cm 272 MeV 3.79 keV 2.68 cm 2.68 cm World eIoni + 2 -2.22 um -20 cm 2.22 cm 2.05 GeV 40.1 keV 17.8 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -2.22 cm 1.2 cm 1.23 keV 0 eV 0 fm 0 fm World initStep + 1 1.79 um -2.23 cm 1.2 cm 833 keV 1.23 keV 76.2 um 76.2 um World eIoni + 2 8.87 um -9.51 cm 1.19 cm 729 MeV 10.1 keV 7.28 cm 7.29 cm World eIoni + 3 5.65 um -20 cm 1.19 cm 1.78 GeV 22.8 keV 10.5 cm 17.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 8.87 um -9.51 cm 1.19 cm 5.37 keV 0 eV 0 fm 0 fm World initStep + 1 29.8 um -9.59 cm 1.2 cm 8.75 MeV 5.37 keV 822 um 822 um World eIoni + 2 39.4 um -10.2 cm 1.2 cm 65 MeV 726 eV 5.63 mm 6.45 mm World eIoni + 3 46.5 um -12.2 cm 1.2 cm 274 MeV 3.9 keV 2.09 cm 2.74 cm World eIoni + 4 48.7 um -18 cm 1.2 cm 849 MeV 6.88 keV 5.75 cm 8.49 cm World eIoni + 5 49.7 um -20 cm 1.2 cm 1.05 GeV 7.74 keV 2 cm 10.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 48.7 um -18 cm 1.2 cm 1.84 keV 0 eV 0 fm 0 fm World initStep + 1 40.2 um -18 cm 1.2 cm 1.51 MeV 1.84 keV 138 um 138 um World eIoni + 2 24.3 um -18.9 cm 1.2 cm 94.9 MeV 1.1 keV 9.34 mm 9.48 mm World eIoni + 3 24.3 um -20 cm 1.2 cm 201 MeV 2.09 keV 1.06 cm 2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 24.3 um -18.9 cm 1.2 cm 2.56 keV 0 eV 0 fm 0 fm World initStep + 1 14.2 um -19 cm 1.2 cm 2.5 MeV 2.56 keV 231 um 231 um World eIoni + 2 3.71 um -19.4 cm 1.2 cm 43.5 MeV 405 eV 4.1 mm 4.33 mm World eIoni + 3 280 nm -20 cm 1.2 cm 106 MeV 3.12 keV 6.23 mm 1.06 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 46.5 um -12.2 cm 1.2 cm 1.06 keV 0 eV 0 fm 0 fm World initStep + 1 50.9 um -12.3 cm 1.2 cm 688 keV 1.06 keV 62.6 um 62.6 um World eIoni + 2 58.9 um -12.4 cm 1.2 cm 17.9 MeV 23.9 eV 1.72 mm 1.79 mm World eIoni + 3 58.5 um -14.7 cm 1.2 cm 241 MeV 10.4 keV 2.23 cm 2.41 cm World eIoni + 4 58.2 um -15.2 cm 1.2 cm 300 MeV 1.07 keV 5.84 mm 3 cm World eIoni + 5 46.6 um -20 cm 1.2 cm 775 MeV 6.35 keV 4.76 cm 7.75 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 58.2 um -15.2 cm 1.2 cm 12.2 keV 0 eV 0 fm 0 fm World initStep + 1 125 um -15.5 cm 1.2 cm 21.9 MeV 5.05 keV 2.1 mm 2.1 mm World eIoni + 2 139 um -16 cm 1.2 cm 77.6 MeV 2.8 keV 5.57 mm 7.66 mm World eIoni + 3 159 um -20 cm 1.2 cm 477 MeV 8.64 keV 3.99 cm 4.76 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 58.5 um -14.7 cm 1.2 cm 1.29 keV 0 eV 0 fm 0 fm World initStep + 1 60.2 um -14.7 cm 1.2 cm 894 keV 1.29 keV 81.3 um 81.3 um World eIoni + 2 66.3 um -18.7 cm 1.2 cm 403 MeV 3.14 keV 4.02 cm 4.03 cm World eIoni + 3 66.1 um -20 cm 1.2 cm 534 MeV 2.24 keV 1.31 cm 5.34 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 66.3 um -18.7 cm 1.2 cm 7.33 keV 0 eV 0 fm 0 fm World initStep + 1 75.4 um -18.7 cm 1.2 cm 5.4 MeV 193 eV 517 um 517 um World eIoni + 2 83.9 um -20 cm 1.21 cm 131 MeV 1.32 keV 1.26 cm 1.31 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 58.9 um -12.4 cm 1.2 cm 1.15 keV 0 eV 0 fm 0 fm World initStep + 1 63.8 um -12.4 cm 1.2 cm 768 keV 1.15 keV 69.8 um 69.8 um World eIoni + 2 83.3 um -20 cm 1.2 cm 757 MeV 15.8 keV 7.57 cm 7.57 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -14.8 cm 2.07 cm 1.53 GeV 28 keV 15.3 cm 15.3 cm World eIoni + 2 -777 nm -20 cm 2.22 cm 2.05 GeV 7.71 keV 5.23 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -14.8 cm 2.07 cm 1.75 keV 0 eV 0 fm 0 fm World initStep + 1 5.43 um -14.8 cm 2.07 cm 1.4 MeV 1.75 keV 127 um 127 um World eIoni + 2 20.5 um -20 cm 2.07 cm 523 MeV 6.7 keV 5.22 cm 5.23 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -8.04 cm 1.78 cm 854 MeV 12.1 keV 8.53 cm 8.53 cm World eIoni + 2 32.4 nm -9.83 cm 1.87 cm 1.03 GeV 3.78 keV 1.79 cm 10.3 cm World eIoni + 3 -891 nm -12.8 cm 2 cm 1.33 GeV 6.35 keV 3.02 cm 13.3 cm World eIoni + 4 -2.37 um -20 cm 2.22 cm 2.05 GeV 20.8 keV 7.15 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -891 nm -12.8 cm 2 cm 1.73 keV 0 eV 0 fm 0 fm World initStep + 1 -1.22 um -12.9 cm 2 cm 1.38 MeV 1.73 keV 126 um 126 um World eIoni + 2 -2.2 um -20 cm 2.01 cm 715 MeV 9.15 keV 7.14 cm 7.15 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 32.4 nm -9.83 cm 1.87 cm 1.41 keV 0 eV 0 fm 0 fm World initStep + 1 6.85 um -9.84 cm 1.87 cm 1.02 MeV 1.41 keV 92.8 um 92.8 um World eIoni + 2 29.9 um -15.9 cm 1.87 cm 603 MeV 10.8 keV 6.02 cm 6.03 cm World eIoni + 3 30.1 um -16 cm 1.87 cm 615 MeV 68.1 eV 1.15 mm 6.15 cm World eIoni + 4 36.2 um -20 cm 1.87 cm 1.02 GeV 15.3 keV 4.02 cm 10.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 30.1 um -16 cm 1.87 cm 1.89 keV 0 eV 0 fm 0 fm World initStep + 1 20.6 um -16 cm 1.87 cm 1.57 MeV 1.89 keV 143 um 143 um World eIoni + 2 11.5 um -16.1 cm 1.87 cm 16.1 MeV 127 eV 1.45 mm 1.59 mm World eIoni + 3 2.08 um -20 cm 1.88 cm 403 MeV 5.48 keV 3.87 cm 4.02 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 11.5 um -16.1 cm 1.87 cm 1.56 keV 0 eV 0 fm 0 fm World initStep + 1 9.18 um -16.1 cm 1.87 cm 1.18 MeV 1.56 keV 107 um 107 um World eIoni + 2 2.52 um -20 cm 1.87 cm 387 MeV 3.35 keV 3.85 cm 3.87 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 29.9 um -15.9 cm 1.87 cm 2.09 keV 0 eV 0 fm 0 fm World initStep + 1 20.6 um -15.9 cm 1.88 cm 1.83 MeV 2.09 keV 168 um 168 um World eIoni + 2 -846 nm -20 cm 1.88 cm 414 MeV 9.2 keV 4.12 cm 4.14 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -8.04 cm 1.78 cm 1.4 keV 0 eV 0 fm 0 fm World initStep + 1 -306 nm -8.05 cm 1.78 cm 1.01 MeV 1.4 keV 92.5 um 92.5 um World eIoni + 2 -660 nm -8.15 cm 1.78 cm 11.3 MeV 97.2 eV 1.03 mm 1.13 mm World eIoni + 3 6.33 um -9.58 cm 1.78 cm 154 MeV 2.02 keV 1.43 cm 1.54 cm World eIoni + 4 7.67 um -20 cm 1.78 cm 1.2 GeV 21.9 keV 10.4 cm 12 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.33 um -9.58 cm 1.78 cm 1.52 keV 0 eV 0 fm 0 fm World initStep + 1 9.85 um -9.59 cm 1.78 cm 1.14 MeV 1.52 keV 103 um 103 um World eIoni + 2 22 um -20 cm 1.78 cm 1.04 GeV 13.4 keV 10.4 cm 10.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -660 nm -8.15 cm 1.78 cm 5.9 keV 0 eV 0 fm 0 fm World initStep + 1 -13.1 um -8.25 cm 1.77 cm 10.3 MeV 5.9 keV 971 um 971 um World eIoni + 2 -16.2 um -8.48 cm 1.77 cm 33.5 MeV 164 eV 2.31 mm 3.28 mm World eIoni + 3 -26 um -20 cm 1.77 cm 1.19 GeV 23.4 keV 11.5 cm 11.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -7.05 mm 7.68 mm 121 MeV 1.94 keV 1.1 cm 1.1 cm World eIoni + 2 -7.18 um -14 cm 2.05 cm 1.45 GeV 35 keV 13.4 cm 14.5 cm World eIoni + 3 -7.88 um -15.4 cm 2.09 cm 1.59 GeV 1.68 keV 1.38 cm 15.9 cm World eIoni + 4 -8.44 um -16.6 cm 2.13 cm 1.71 GeV 1.74 keV 1.18 cm 17.1 cm World eIoni + 5 -9.79 um -20 cm 2.22 cm 2.05 GeV 6 keV 3.45 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -8.44 um -16.6 cm 2.13 cm 6.57 keV 0 eV 0 fm 0 fm World initStep + 1 -11 um -16.7 cm 2.12 cm 12.2 MeV 6.23 keV 1.15 mm 1.15 mm World eIoni + 2 -11.9 um -17.2 cm 2.12 cm 69.9 MeV 823 eV 5.76 mm 6.92 mm World eIoni + 3 -12.6 um -19.5 cm 2.12 cm 295 MeV 3.31 keV 2.25 cm 2.94 cm World eIoni + 4 -10.4 um -20 cm 2.12 cm 346 MeV 876 eV 5.05 mm 3.45 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -12.6 um -19.5 cm 2.12 cm 36.3 keV 0 eV 0 fm 0 fm World initStep + 1 -54.2 um -19.5 cm 2.12 cm 4.13 MeV 135 eV 415 um 415 um World eIoni + 2 -90.1 um -20 cm 2.12 cm 50.6 MeV 839 eV 4.64 mm 5.06 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.88 um -15.4 cm 2.09 cm 1.26 keV 0 eV 0 fm 0 fm World initStep + 1 -7.66 um -15.4 cm 2.09 cm 871 keV 1.26 keV 79.1 um 79.1 um World eIoni + 2 -7.22 um -15.8 cm 2.09 cm 39.1 MeV 332 eV 3.82 mm 3.9 mm World eIoni + 3 -6.9 um -20 cm 2.1 cm 463 MeV 5.76 keV 4.23 cm 4.63 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.18 um -14 cm 2.05 cm 6.42 keV 0 eV 0 fm 0 fm World initStep + 1 16.4 um -14.1 cm 2.05 cm 11.8 MeV 5.66 keV 1.11 mm 1.11 mm World eIoni + 2 19.3 um -14.2 cm 2.05 cm 21.7 MeV 133 eV 985 um 2.1 mm World eIoni + 3 35.1 um -20 cm 2.05 cm 601 MeV 9.35 keV 5.8 cm 6.01 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -7.05 mm 7.68 mm 3.23 keV 0 eV 0 fm 0 fm World initStep + 1 8.46 um -7.39 mm 7.67 mm 3.65 MeV 3.23 keV 339 um 339 um World eIoni + 2 9.84 um -7.65 mm 7.66 mm 6.24 MeV 0 eV 259 um 598 um World eIoni + 3 25.9 um -20 cm 7.64 mm 1.93 GeV 23.4 keV 19.2 cm 19.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -15.9 cm 2.11 cm 1.64 GeV 31.6 keV 16.4 cm 16.4 cm World eIoni + 2 797 nm -20 cm 2.22 cm 2.05 GeV 7.15 keV 4.09 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -15.9 cm 2.11 cm 1.29 keV 0 eV 0 fm 0 fm World initStep + 1 -6.11 um -15.9 cm 2.11 cm 896 keV 1.29 keV 81.5 um 81.5 um World eIoni + 2 -26.7 um -20 cm 2.11 cm 409 MeV 7.25 keV 4.08 cm 4.09 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -5.12 cm 1.57 cm 562 MeV 17.1 keV 5.6 cm 5.6 cm World eIoni + 2 3.4 um -15.9 cm 2.11 cm 1.64 GeV 15.8 keV 10.8 cm 16.4 cm World eIoni + 3 5.19 um -20 cm 2.22 cm 2.05 GeV 7.7 keV 4.13 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.4 um -15.9 cm 2.11 cm 3.42 keV 0 eV 0 fm 0 fm World initStep + 1 -11.7 um -15.9 cm 2.11 cm 4.05 MeV 3.42 keV 376 um 376 um World eIoni + 2 -19.5 um -16.1 cm 2.11 cm 22.9 MeV 269 eV 1.88 mm 2.26 mm World eIoni + 3 -31.6 um -18.5 cm 2.1 cm 262 MeV 3.72 keV 2.39 cm 2.61 cm World eIoni + 4 -35.5 um -20 cm 2.1 cm 413 MeV 2.33 keV 1.51 cm 4.13 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -31.6 um -18.5 cm 2.1 cm 1.36 keV 0 eV 0 fm 0 fm World initStep + 1 -25.1 um -18.5 cm 2.1 cm 967 keV 1.36 keV 88 um 88 um World eIoni + 2 -7.78 um -20 cm 2.11 cm 152 MeV 2.33 keV 1.51 cm 1.52 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -5.12 cm 1.57 cm 2.21 keV 0 eV 0 fm 0 fm World initStep + 1 -7.55 um -5.14 cm 1.57 cm 2 MeV 2.21 keV 183 um 183 um World eIoni + 2 -16.4 um -5.51 cm 1.56 cm 39.7 MeV 420 eV 3.77 mm 3.95 mm World eIoni + 3 -25.5 um -13.8 cm 1.56 cm 870 MeV 19.1 keV 8.3 cm 8.7 cm World eIoni + 4 -25.7 um -14.1 cm 1.56 cm 899 MeV 263 eV 2.96 mm 8.99 cm World eIoni + 5 -30.4 um -20 cm 1.56 cm 1.49 GeV 16.3 keV 5.89 cm 14.9 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -25.7 um -14.1 cm 1.56 cm 1.8 keV 0 eV 0 fm 0 fm World initStep + 1 -19.9 um -14.1 cm 1.56 cm 1.46 MeV 1.8 keV 133 um 133 um World eIoni + 2 -6.62 um -16.1 cm 1.56 cm 203 MeV 1.91 keV 2.01 cm 2.03 cm World eIoni + 3 -4.41 um -18.6 cm 1.56 cm 450 MeV 4.43 keV 2.48 cm 4.5 cm World eIoni + 4 -4.07 um -20 cm 1.56 cm 589 MeV 2.56 keV 1.39 cm 5.89 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -4.41 um -18.6 cm 1.56 cm 1.04 keV 0 eV 0 fm 0 fm World initStep + 1 -7 um -18.6 cm 1.56 cm 669 keV 1.04 keV 60.8 um 60.8 um World eIoni + 2 -15.4 um -20 cm 1.56 cm 139 MeV 2.1 keV 1.38 cm 1.39 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -25.5 um -13.8 cm 1.56 cm 1.48 keV 0 eV 0 fm 0 fm World initStep + 1 -18.6 um -13.8 cm 1.56 cm 1.1 MeV 1.48 keV 99.9 um 99.9 um World eIoni + 2 -9.22 um -14 cm 1.56 cm 19.5 MeV 176 eV 1.84 mm 1.94 mm World eIoni + 3 1.88 um -20 cm 1.56 cm 619 MeV 8.65 keV 5.99 cm 6.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -9.22 um -14 cm 1.56 cm 2.99 keV 0 eV 0 fm 0 fm World initStep + 1 -7.87 um -14 cm 1.56 cm 3.23 MeV 2.99 keV 299 um 299 um World eIoni + 2 -6.53 um -14.6 cm 1.56 cm 64.2 MeV 3.65 keV 6.1 mm 6.4 mm World eIoni + 3 -5.46 um -20 cm 1.57 cm 600 MeV 11.4 keV 5.35 cm 5.99 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -16.4 um -5.51 cm 1.56 cm 1.38 keV 0 eV 0 fm 0 fm World initStep + 1 -17 um -5.52 cm 1.57 cm 992 keV 1.38 keV 90.3 um 90.3 um World eIoni + 2 -19.2 um -12.2 cm 1.57 cm 671 MeV 12.1 keV 6.7 cm 6.71 cm World eIoni + 3 -23.1 um -20 cm 1.57 cm 1.45 GeV 14.3 keV 7.78 cm 14.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -19.2 um -12.2 cm 1.57 cm 2.6 keV 0 eV 0 fm 0 fm World initStep + 1 -5.83 um -12.2 cm 1.57 cm 2.58 MeV 2.6 keV 237 um 237 um World eIoni + 2 7.12 um -12.6 cm 1.57 cm 38.8 MeV 321 eV 3.63 mm 3.86 mm World eIoni + 3 23 um -19.8 cm 1.57 cm 758 MeV 14.4 keV 7.19 cm 7.57 cm World eIoni + 4 23 um -20 cm 1.57 cm 778 MeV 313 eV 2.09 mm 7.78 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 23 um -19.8 cm 1.57 cm 1.27 keV 0 eV 0 fm 0 fm World initStep + 1 27.8 um -19.8 cm 1.57 cm 881 keV 1.27 keV 80.1 um 80.1 um World eIoni + 2 35.7 um -20 cm 1.57 cm 21 MeV 375 eV 2.02 mm 2.1 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.64 cm 1.07 cm 214 MeV 3.05 keV 2.09 cm 2.09 cm World eIoni + 2 -684 nm -12.7 cm 2 cm 1.32 GeV 20.1 keV 11.1 cm 13.2 cm World eIoni + 3 538 nm -18.8 cm 2.19 cm 1.93 GeV 13.6 keV 6.11 cm 19.3 cm World eIoni + 4 1.17 um -20 cm 2.22 cm 2.05 GeV 1.52 keV 1.18 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 538 nm -18.8 cm 2.19 cm 9.35 keV 0 eV 0 fm 0 fm World initStep + 1 -41.6 um -19 cm 2.19 cm 17.7 MeV 4.11 keV 1.69 mm 1.69 mm World eIoni + 2 -45.8 um -19.1 cm 2.19 cm 31.7 MeV 406 eV 1.39 mm 3.08 mm World eIoni + 3 -55.6 um -20 cm 2.19 cm 119 MeV 1.42 keV 8.72 mm 1.18 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -684 nm -12.7 cm 2 cm 2 keV 0 eV 0 fm 0 fm World initStep + 1 -8.7 um -12.7 cm 2 cm 1.7 MeV 2 keV 156 um 156 um World eIoni + 2 -29.8 um -20 cm 2 cm 729 MeV 7.38 keV 7.27 cm 7.29 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.64 cm 1.07 cm 2.32 keV 0 eV 0 fm 0 fm World initStep + 1 906 nm -1.66 cm 1.07 cm 2.14 MeV 2.32 keV 197 um 197 um World eIoni + 2 2.36 um -2.84 cm 1.07 cm 120 MeV 1.09 keV 1.17 cm 1.19 cm World eIoni + 3 3.04 um -8.87 cm 1.07 cm 723 MeV 12.9 keV 6.03 cm 7.22 cm World eIoni + 4 2.03 um -12.3 cm 1.07 cm 1.06 GeV 6.75 keV 3.39 cm 10.6 cm World eIoni + 5 2.13 um -13.5 cm 1.07 cm 1.19 GeV 2.73 keV 1.28 cm 11.9 cm World eIoni + 6 -641 nm -20 cm 1.07 cm 1.84 GeV 13.1 keV 6.46 cm 18.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.13 um -13.5 cm 1.07 cm 22.2 keV 0 eV 0 fm 0 fm World initStep + 1 54.6 um -13.9 cm 1.06 cm 35.8 MeV 2.88 keV 3.46 mm 3.46 mm World eIoni + 2 68 um -15.8 cm 1.06 cm 229 MeV 2.39 keV 1.93 cm 2.28 cm World eIoni + 3 78.1 um -20 cm 1.06 cm 648 MeV 5.85 keV 4.19 cm 6.47 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 68 um -15.8 cm 1.06 cm 1.77 keV 0 eV 0 fm 0 fm World initStep + 1 62.4 um -15.8 cm 1.06 cm 1.43 MeV 1.77 keV 130 um 130 um World eIoni + 2 47.5 um -20 cm 1.06 cm 419 MeV 2.86 keV 4.18 cm 4.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 2.03 um -12.3 cm 1.07 cm 1.36 keV 0 eV 0 fm 0 fm World initStep + 1 -4.24 um -12.3 cm 1.07 cm 970 keV 1.36 keV 88.2 um 88.2 um World eIoni + 2 -26.6 um -19.2 cm 1.07 cm 699 MeV 7.69 keV 6.98 cm 6.99 cm World eIoni + 3 -25 um -20 cm 1.07 cm 775 MeV 3.57 keV 7.55 mm 7.75 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -26.6 um -19.2 cm 1.07 cm 44 keV 0 eV 0 fm 0 fm World initStep + 1 -144 um -19.6 cm 1.06 cm 35.2 MeV 1.82 keV 3.44 mm 3.44 mm World eIoni + 2 -158 um -20 cm 1.06 cm 76.8 MeV 340 eV 4.16 mm 7.6 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 3.04 um -8.87 cm 1.07 cm 1.98 keV 0 eV 0 fm 0 fm World initStep + 1 9.74 um -8.88 cm 1.07 cm 1.67 MeV 1.98 keV 153 um 153 um World eIoni + 2 28.1 um -17.5 cm 1.07 cm 866 MeV 19.4 keV 8.65 cm 8.66 cm World eIoni + 3 29.3 um -20 cm 1.07 cm 1.11 GeV 4.64 keV 2.47 cm 11.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 28.1 um -17.5 cm 1.07 cm 1.27 keV 0 eV 0 fm 0 fm World initStep + 1 23 um -17.5 cm 1.07 cm 883 keV 1.27 keV 80.3 um 80.3 um World eIoni + 2 9.75 um -18.4 cm 1.07 cm 91.2 MeV 1.09 keV 9.03 mm 9.11 mm World eIoni + 3 7.92 um -20 cm 1.07 cm 247 MeV 1.5 keV 1.56 cm 2.47 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 9.75 um -18.4 cm 1.07 cm 6.89 keV 0 eV 0 fm 0 fm World initStep + 1 3.78 um -18.6 cm 1.07 cm 13.1 MeV 4.11 keV 1.23 mm 1.23 mm World eIoni + 2 3.63 um -18.6 cm 1.07 cm 14.9 MeV 33.4 eV 185 um 1.42 mm World eIoni + 3 857 nm -20 cm 1.07 cm 157 MeV 1.33 keV 1.42 cm 1.56 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.51 cm 1.04 cm 201 MeV 3.32 keV 1.95 cm 1.95 cm World eIoni + 2 -11.8 um -15.1 cm 2.08 cm 1.56 GeV 28 keV 13.6 cm 15.6 cm World eIoni + 3 -8.3 um -20 cm 2.22 cm 2.05 GeV 10.6 keV 4.93 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -11.8 um -15.1 cm 2.08 cm 33.7 keV 0 eV 0 fm 0 fm World initStep + 1 -172 um -15.7 cm 2.08 cm 63.7 MeV 3.41 keV 6.22 mm 6.22 mm World eIoni + 2 -198 um -17.6 cm 2.08 cm 253 MeV 2.64 keV 1.89 cm 2.51 cm World eIoni + 3 -201 um -18.2 cm 2.08 cm 313 MeV 1.06 keV 6.03 mm 3.12 cm World eIoni + 4 -212 um -20 cm 2.08 cm 496 MeV 2.93 keV 1.82 cm 4.94 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -201 um -18.2 cm 2.08 cm 2.6 keV 0 eV 0 fm 0 fm World initStep + 1 -192 um -18.2 cm 2.08 cm 2.57 MeV 2.6 keV 237 um 237 um World eIoni + 2 -190 um -18.2 cm 2.09 cm 5.09 MeV 0 eV 252 um 489 um World eIoni + 3 -177 um -20 cm 2.09 cm 182 MeV 5.59 keV 1.77 cm 1.82 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.51 cm 1.04 cm 3.28 keV 0 eV 0 fm 0 fm World initStep + 1 15.1 um -1.53 cm 1.04 cm 2.63 MeV 1.8 keV 246 um 246 um World eIoni + 2 51.3 um -20 cm 1.04 cm 1.85 GeV 32.6 keV 18.5 cm 18.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -7.57 cm 1.75 cm 807 MeV 22.4 keV 8.06 cm 8.06 cm World eIoni + 2 -9.05 um -20 cm 2.22 cm 2.05 GeV 32.5 keV 12.4 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -7.57 cm 1.75 cm 13.2 keV 0 eV 0 fm 0 fm World initStep + 1 32.8 um -7.63 cm 1.75 cm 6.03 MeV 649 eV 588 um 588 um World eIoni + 2 69.6 um -10.3 cm 1.75 cm 271 MeV 3.37 keV 2.65 cm 2.71 cm World eIoni + 3 87.9 um -20 cm 1.76 cm 1.24 GeV 17.4 keV 9.72 cm 12.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 69.6 um -10.3 cm 1.75 cm 1.16 keV 0 eV 0 fm 0 fm World initStep + 1 65.9 um -10.3 cm 1.75 cm 782 keV 1.16 keV 71.1 um 71.1 um World eIoni + 2 55.6 um -11.2 cm 1.75 cm 96.3 MeV 2.27 keV 9.55 mm 9.62 mm World eIoni + 3 50.6 um -20 cm 1.75 cm 972 MeV 11.6 keV 8.76 cm 9.72 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -11 cm 1.93 cm 1.15 GeV 23.3 keV 11.5 cm 11.5 cm World eIoni + 2 -46.3 nm -13.5 cm 2.03 cm 1.4 GeV 3.71 keV 2.5 cm 14 cm World eIoni + 3 18.7 um -20 cm 2.22 cm 2.05 GeV 18.1 keV 6.46 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -46.3 nm -13.5 cm 2.03 cm 354 keV 0 eV 0 fm 0 fm World initStep + 1 -293 um -14.9 cm 2.01 cm 140 MeV 2.08 keV 1.4 cm 1.4 cm World eIoni + 2 -372 um -20 cm 2.01 cm 646 MeV 7.83 keV 5.06 cm 6.46 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -293 um -14.9 cm 2.01 cm 3.57 keV 0 eV 0 fm 0 fm World initStep + 1 -287 um -15 cm 2.01 cm 4.34 MeV 3.57 keV 404 um 404 um World eIoni + 2 -283 um -15.3 cm 2.01 cm 40 MeV 521 eV 3.56 mm 3.97 mm World eIoni + 3 -278 um -20 cm 2.01 cm 506 MeV 13 keV 4.66 cm 5.06 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -11 cm 1.93 cm 1.82 keV 0 eV 0 fm 0 fm World initStep + 1 499 nm -11.1 cm 1.93 cm 1.48 MeV 1.82 keV 136 um 136 um World eIoni + 2 1.77 um -14.8 cm 1.93 cm 371 MeV 5.63 keV 3.69 cm 3.71 cm World eIoni + 3 12.2 um -20 cm 1.93 cm 895 MeV 9.42 keV 5.25 cm 8.95 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.77 um -14.8 cm 1.93 cm 14.7 keV 0 eV 0 fm 0 fm World initStep + 1 -48.8 um -14.9 cm 1.93 cm 11.7 MeV 2.48 keV 1.14 mm 1.14 mm World eIoni + 2 -68.8 um -15.4 cm 1.93 cm 67.5 MeV 542 eV 5.58 mm 6.71 mm World eIoni + 3 -90.2 um -19.9 cm 1.93 cm 515 MeV 7.2 keV 4.47 cm 5.15 cm World eIoni + 4 -90.3 um -20 cm 1.93 cm 525 MeV 234 eV 1.03 mm 5.25 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -90.2 um -19.9 cm 1.93 cm 1.12 keV 0 eV 0 fm 0 fm World initStep + 1 -93.6 um -19.9 cm 1.93 cm 747 keV 1.12 keV 67.9 um 67.9 um World eIoni + 2 -98.3 um -20 cm 1.93 cm 10.4 MeV 97.2 eV 964 um 1.03 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -68.8 um -15.4 cm 1.93 cm 1.36 keV 0 eV 0 fm 0 fm World initStep + 1 -70.9 um -15.4 cm 1.93 cm 976 keV 1.36 keV 88.8 um 88.8 um World eIoni + 2 -77.9 um -20 cm 1.93 cm 458 MeV 6.06 keV 4.57 cm 4.58 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -1.03 cm 8.96 mm 152 MeV 1.5 keV 1.44 cm 1.44 cm World eIoni + 2 -28.7 um -16.2 cm 2.11 cm 1.67 GeV 28.9 keV 15.2 cm 16.7 cm World eIoni + 3 -30.7 um -19.7 cm 2.21 cm 2.02 GeV 8.8 keV 3.56 cm 20.2 cm World eIoni + 4 -30.9 um -20 cm 2.22 cm 2.05 GeV 393 eV 2.72 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -30.7 um -19.7 cm 2.21 cm 1.14 keV 0 eV 0 fm 0 fm World initStep + 1 -28.9 um -19.7 cm 2.21 cm 760 keV 1.14 keV 69.1 um 69.1 um World eIoni + 2 -25.3 um -20 cm 2.21 cm 27.3 MeV 470 eV 2.65 mm 2.72 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -28.7 um -16.2 cm 2.11 cm 1.34 keV 0 eV 0 fm 0 fm World initStep + 1 -31.6 um -16.2 cm 2.11 cm 956 keV 1.34 keV 86.9 um 86.9 um World eIoni + 2 -40.5 um -18.8 cm 2.12 cm 263 MeV 6.65 keV 2.62 cm 2.63 cm World eIoni + 3 -41.2 um -20 cm 2.12 cm 383 MeV 1.74 keV 1.2 cm 3.83 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -40.5 um -18.8 cm 2.12 cm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 -40.2 um -18.8 cm 2.12 cm 719 keV 1.09 keV 65.4 um 65.4 um World eIoni + 2 -39.3 um -20 cm 2.12 cm 120 MeV 2.11 keV 1.2 cm 1.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -1.03 cm 8.96 mm 22.1 keV 0 eV 0 fm 0 fm World initStep + 1 89.3 um -1.39 cm 9.03 mm 38.1 MeV 4.68 keV 3.68 mm 3.68 mm World eIoni + 2 97.8 um -1.79 cm 9.03 mm 78.8 MeV 1.23 keV 4.07 mm 7.75 mm World eIoni + 3 134 um -20 cm 9.04 mm 1.9 GeV 30.8 keV 18.2 cm 19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 97.8 um -1.79 cm 9.03 mm 4.34 keV 0 eV 0 fm 0 fm World initStep + 1 101 um -1.85 cm 9.06 mm 6.05 MeV 4.34 keV 566 um 566 um World eIoni + 2 102 um -2.1 cm 9.07 mm 31 MeV 204 eV 2.5 mm 3.06 mm World eIoni + 3 105 um -20 cm 9.09 mm 1.82 GeV 37.5 keV 17.9 cm 18.2 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -6.15 cm 1.65 cm 665 MeV 10.3 keV 6.64 cm 6.64 cm World eIoni + 2 -1.7 um -9.57 cm 1.86 cm 1.01 GeV 9.88 keV 3.43 cm 10.1 cm World eIoni + 3 -2.1 um -20 cm 2.22 cm 2.05 GeV 35.2 keV 10.4 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.7 um -9.57 cm 1.86 cm 3.13 keV 0 eV 0 fm 0 fm World initStep + 1 -12.2 um -9.61 cm 1.86 cm 3.46 MeV 3.13 keV 321 um 321 um World eIoni + 2 -13.4 um -9.62 cm 1.86 cm 5.18 MeV 48.3 eV 172 um 493 um World eIoni + 3 -25.7 um -11 cm 1.86 cm 138 MeV 5.75 keV 1.33 cm 1.38 cm World eIoni + 4 -23.6 um -17.9 cm 1.86 cm 833 MeV 18 keV 6.94 cm 8.33 cm World eIoni + 5 -23.9 um -18.3 cm 1.86 cm 876 MeV 1.44 keV 4.36 mm 8.76 cm World eIoni + 6 -23.8 um -20 cm 1.86 cm 1.04 GeV 2.86 keV 1.67 cm 10.4 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -23.9 um -18.3 cm 1.86 cm 3.01 keV 0 eV 0 fm 0 fm World initStep + 1 -39.9 um -18.4 cm 1.86 cm 3.26 MeV 3.01 keV 302 um 302 um World eIoni + 2 -41.3 um -18.4 cm 1.86 cm 4.33 MeV 0 eV 107 um 409 um World eIoni + 3 -61.3 um -20 cm 1.86 cm 167 MeV 1.54 keV 1.63 cm 1.67 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -23.6 um -17.9 cm 1.86 cm 6.41 keV 0 eV 0 fm 0 fm World initStep + 1 4.61 um -18 cm 1.86 cm 11.8 MeV 6.41 keV 1.11 mm 1.11 mm World eIoni + 2 6.05 um -18 cm 1.86 cm 15.2 MeV 115 eV 341 um 1.45 mm World eIoni + 3 16.8 um -18.8 cm 1.86 cm 95.9 MeV 580 eV 8.08 mm 9.53 mm World eIoni + 4 23.9 um -20 cm 1.86 cm 211 MeV 2.75 keV 1.15 cm 2.1 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 16.8 um -18.8 cm 1.86 cm 2.2 keV 0 eV 0 fm 0 fm World initStep + 1 9.22 um -18.9 cm 1.86 cm 1.98 MeV 2.2 keV 181 um 181 um World eIoni + 2 8.98 um -18.9 cm 1.86 cm 2.17 MeV 2.78 eV 19.2 um 201 um World eIoni + 3 -3.37 um -20 cm 1.86 cm 115 MeV 1.07 keV 1.13 cm 1.15 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -25.7 um -11 cm 1.86 cm 2.56 keV 0 eV 0 fm 0 fm World initStep + 1 -38 um -11 cm 1.86 cm 2.5 MeV 2.56 keV 231 um 231 um World eIoni + 2 -54.3 um -11.9 cm 1.86 cm 93.1 MeV 5.28 keV 9.06 mm 9.29 mm World eIoni + 3 -59.3 um -13.7 cm 1.86 cm 272 MeV 3.11 keV 1.79 cm 2.72 cm World eIoni + 4 -66.9 um -20 cm 1.86 cm 905 MeV 9.4 keV 6.33 cm 9.05 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -59.3 um -13.7 cm 1.86 cm 3.32 keV 0 eV 0 fm 0 fm World initStep + 1 -55.1 um -13.7 cm 1.86 cm 2.57 MeV 1.29 keV 240 um 240 um World eIoni + 2 -46.4 um -20 cm 1.86 cm 633 MeV 8.91 keV 6.31 cm 6.33 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -6.15 cm 1.65 cm 1.75 keV 0 eV 0 fm 0 fm World initStep + 1 8.49 um -6.17 cm 1.65 cm 1.41 MeV 1.75 keV 128 um 128 um World eIoni + 2 26 um -7.33 cm 1.65 cm 117 MeV 1.23 keV 1.16 cm 1.17 cm World eIoni + 3 44.9 um -20 cm 1.65 cm 1.38 GeV 27.1 keV 12.7 cm 13.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 26 um -7.33 cm 1.65 cm 1.04 keV 0 eV 0 fm 0 fm World initStep + 1 21.2 um -7.33 cm 1.65 cm 674 keV 1.04 keV 61.3 um 61.3 um World eIoni + 2 516 nm -13.4 cm 1.65 cm 605 MeV 6.93 keV 6.04 cm 6.05 cm World eIoni + 3 -3.66 um -17.8 cm 1.65 cm 1.05 GeV 16.4 keV 4.46 cm 10.5 cm World eIoni + 4 -4.24 um -20 cm 1.65 cm 1.27 GeV 3.3 keV 2.17 cm 12.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -3.66 um -17.8 cm 1.65 cm 1.31 keV 0 eV 0 fm 0 fm World initStep + 1 -9.2 um -17.8 cm 1.65 cm 921 keV 1.31 keV 83.8 um 83.8 um World eIoni + 2 -22.3 um -18.6 cm 1.65 cm 74 MeV 522 eV 7.3 mm 7.39 mm World eIoni + 3 -25.7 um -20 cm 1.65 cm 217 MeV 1.99 keV 1.43 cm 2.17 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 9 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 516 nm -13.4 cm 1.65 cm 2.2 keV 0 eV 0 fm 0 fm World initStep + 1 10.9 um -13.4 cm 1.65 cm 1.98 MeV 2.2 keV 181 um 181 um World eIoni + 2 24.7 um -13.9 cm 1.65 cm 56.7 MeV 503 eV 5.47 mm 5.65 mm World eIoni + 3 35.9 um -20 cm 1.65 cm 663 MeV 13.6 keV 6.06 cm 6.62 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -10.8 cm 1.92 cm 1.13 GeV 22.6 keV 11.3 cm 11.3 cm World eIoni + 2 -202 nm -12.1 cm 1.98 cm 1.26 GeV 1.07 keV 1.31 cm 12.6 cm World eIoni + 3 -339 nm -20 cm 2.22 cm 2.05 GeV 14.2 keV 7.87 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -202 nm -12.1 cm 1.98 cm 1.08 keV 0 eV 0 fm 0 fm World initStep + 1 -2.6 um -12.1 cm 1.98 cm 707 keV 1.08 keV 64.2 um 64.2 um World eIoni + 2 -7.77 um -12.4 cm 1.98 cm 31.5 MeV 214 eV 3.08 mm 3.14 mm World eIoni + 3 -11.1 um -20 cm 1.98 cm 787 MeV 13.9 keV 7.55 cm 7.87 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -7.77 um -12.4 cm 1.98 cm 1.22 keV 0 eV 0 fm 0 fm World initStep + 1 -8.62 um -12.5 cm 1.98 cm 833 keV 1.22 keV 75.7 um 75.7 um World eIoni + 2 -10.2 um -12.7 cm 1.98 cm 25.2 MeV 207 eV 2.44 mm 2.51 mm World eIoni + 3 -11.9 um -20 cm 1.97 cm 755 MeV 11.6 keV 7.3 cm 7.55 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -10.8 cm 1.92 cm 3.76 keV 0 eV 0 fm 0 fm World initStep + 1 6.14 um -10.9 cm 1.92 cm 4.72 MeV 3.76 keV 440 um 440 um World eIoni + 2 6.47 um -10.9 cm 1.92 cm 5.76 MeV 0 eV 103 um 543 um World eIoni + 3 15.8 um -20 cm 1.92 cm 918 MeV 22.5 keV 9.12 cm 9.18 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -4.69 cm 1.53 cm 519 MeV 9.87 keV 5.17 cm 5.17 cm World eIoni + 2 -842 nm -15.1 cm 2.08 cm 1.56 GeV 23.8 keV 10.5 cm 15.6 cm World eIoni + 3 -1.99 um -20 cm 2.22 cm 2.05 GeV 8.61 keV 4.86 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -842 nm -15.1 cm 2.08 cm 1.2 keV 0 eV 0 fm 0 fm World initStep + 1 4.86 um -15.1 cm 2.08 cm 817 keV 1.2 keV 74.2 um 74.2 um World eIoni + 2 25.7 um -20 cm 2.08 cm 486 MeV 6.27 keV 4.86 cm 4.86 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -4.69 cm 1.53 cm 1.02 keV 0 eV 0 fm 0 fm World initStep + 1 1.14 um -4.7 cm 1.53 cm 659 keV 1.02 keV 59.7 um 59.7 um World eIoni + 2 6.01 um -10.4 cm 1.53 cm 574 MeV 6.66 keV 5.73 cm 5.74 cm World eIoni + 3 6.04 um -10.7 cm 1.53 cm 597 MeV 390 eV 2.28 mm 5.97 cm World eIoni + 4 8.23 um -20 cm 1.53 cm 1.53 GeV 13.2 keV 9.34 cm 15.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 6.04 um -10.7 cm 1.53 cm 1.14 keV 0 eV 0 fm 0 fm World initStep + 1 3.56 um -10.7 cm 1.53 cm 761 keV 1.14 keV 69.2 um 69.2 um World eIoni + 2 -1.78 um -11 cm 1.53 cm 36.4 MeV 691 eV 3.57 mm 3.64 mm World eIoni + 3 2.65 um -20 cm 1.53 cm 934 MeV 17.1 keV 8.98 cm 9.34 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.78 um -11 cm 1.53 cm 1.06 keV 0 eV 0 fm 0 fm World initStep + 1 -6.2 um -11 cm 1.53 cm 688 keV 1.06 keV 62.6 um 62.6 um World eIoni + 2 -17.5 um -11.5 cm 1.53 cm 52.9 MeV 658 eV 5.23 mm 5.29 mm World eIoni + 3 -25.8 um -19.3 cm 1.53 cm 828 MeV 14.7 keV 7.75 cm 8.28 cm World eIoni + 4 -25.8 um -20 cm 1.53 cm 898 MeV 1.78 keV 6.97 mm 8.98 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -25.8 um -19.3 cm 1.53 cm 3.1 keV 0 eV 0 fm 0 fm World initStep + 1 -37.3 um -19.3 cm 1.53 cm 3.42 MeV 3.1 keV 317 um 317 um World eIoni + 2 -47.7 um -19.9 cm 1.53 cm 55.2 MeV 2.63 keV 5.18 mm 5.49 mm World eIoni + 3 -48.2 um -20 cm 1.53 cm 70 MeV 146 eV 1.48 mm 6.97 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -20 cm 2.22 cm 2.05 GeV 37.7 keV 20.5 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -6.34 cm 1.67 cm 684 MeV 16.7 keV 6.83 cm 6.83 cm World eIoni + 2 -115 nm -6.72 cm 1.69 cm 722 MeV 805 eV 3.83 mm 7.21 cm World eIoni + 3 4.01 um -11.5 cm 1.95 cm 1.2 GeV 5.33 keV 4.82 cm 12 cm World eIoni + 4 9.53 um -20 cm 2.22 cm 2.05 GeV 21.5 keV 8.47 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 4.01 um -11.5 cm 1.95 cm 3.12 keV 0 eV 0 fm 0 fm World initStep + 1 -2.85 um -11.6 cm 1.95 cm 3.45 MeV 3.12 keV 319 um 319 um World eIoni + 2 -6.46 um -11.7 cm 1.95 cm 18.2 MeV 136 eV 1.48 mm 1.8 mm World eIoni + 3 -15.3 um -20 cm 1.96 cm 846 MeV 13.6 keV 8.28 cm 8.46 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -115 nm -6.72 cm 1.69 cm 10.8 keV 0 eV 0 fm 0 fm World initStep + 1 -59.9 um -6.91 cm 1.69 cm 20 MeV 6.98 keV 1.9 mm 1.9 mm World eIoni + 2 -60.2 um -6.91 cm 1.69 cm 20.5 MeV 9.5 eV 52.6 um 1.96 mm World eIoni + 3 -97.5 um -14.8 cm 1.7 cm 806 MeV 19.6 keV 7.86 cm 8.05 cm World eIoni + 4 -98 um -15.8 cm 1.7 cm 910 MeV 1.96 keV 1.04 cm 9.09 cm World eIoni + 5 -99.3 um -20 cm 1.7 cm 1.33 GeV 6.5 keV 4.19 cm 13.3 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -98 um -15.8 cm 1.7 cm 1.08 keV 0 eV 0 fm 0 fm World initStep + 1 -96.6 um -15.8 cm 1.7 cm 711 keV 1.08 keV 64.7 um 64.7 um World eIoni + 2 -91.1 um -20 cm 1.7 cm 419 MeV 6.06 keV 4.18 cm 4.19 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -97.5 um -14.8 cm 1.7 cm 3.68 keV 0 eV 0 fm 0 fm World initStep + 1 -117 um -14.8 cm 1.7 cm 4.56 MeV 3.68 keV 425 um 425 um World eIoni + 2 -124 um -14.9 cm 1.7 cm 16.1 MeV 47 eV 1.16 mm 1.58 mm World eIoni + 3 -145 um -20 cm 1.69 cm 523 MeV 8.07 keV 5.07 cm 5.23 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -6.34 cm 1.67 cm 1.32 keV 0 eV 0 fm 0 fm World initStep + 1 3.67 um -6.35 cm 1.67 cm 930 keV 1.32 keV 84.8 um 84.8 um World eIoni + 2 18.1 um -17.5 cm 1.66 cm 1.11 GeV 17.7 keV 11.1 cm 11.1 cm World eIoni + 3 18.6 um -19.7 cm 1.66 cm 1.34 GeV 6.09 keV 2.27 cm 13.4 cm World eIoni + 4 18.7 um -20 cm 1.66 cm 1.37 GeV 551 eV 2.72 mm 13.7 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 18.6 um -19.7 cm 1.66 cm 1.06 keV 0 eV 0 fm 0 fm World initStep + 1 17.1 um -19.7 cm 1.66 cm 689 keV 1.06 keV 62.7 um 62.7 um World eIoni + 2 13.9 um -20 cm 1.66 cm 27.3 MeV 335 eV 2.66 mm 2.72 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 18.1 um -17.5 cm 1.66 cm 1.39 keV 0 eV 0 fm 0 fm World initStep + 1 17.2 um -17.5 cm 1.66 cm 1 MeV 1.39 keV 91.4 um 91.4 um World eIoni + 2 14.3 um -20 cm 1.66 cm 255 MeV 3.74 keV 2.54 cm 2.55 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -9.17 cm 1.84 cm 967 MeV 18.9 keV 9.66 cm 9.66 cm World eIoni + 2 1.09 um -14.5 cm 2.06 cm 1.5 GeV 6.53 keV 5.3 cm 15 cm World eIoni + 3 34.4 nm -20 cm 2.22 cm 2.05 GeV 13.8 keV 5.54 cm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 1.09 um -14.5 cm 2.06 cm 4.35 keV 0 eV 0 fm 0 fm World initStep + 1 22.8 um -14.5 cm 2.06 cm 6.08 MeV 4.35 keV 569 um 569 um World eIoni + 2 29.2 um -14.7 cm 2.06 cm 19.3 MeV 140 eV 1.32 mm 1.89 mm World eIoni + 3 46.1 um -17.6 cm 2.06 cm 310 MeV 6.48 keV 2.9 cm 3.09 cm World eIoni + 4 49.1 um -20 cm 2.06 cm 554 MeV 4.33 keV 2.44 cm 5.54 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 46.1 um -17.6 cm 2.06 cm 2.39 keV 0 eV 0 fm 0 fm World initStep + 1 48.1 um -17.6 cm 2.07 cm 2.25 MeV 2.39 keV 207 um 207 um World eIoni + 2 50.4 um -18.1 cm 2.07 cm 54.5 MeV 325 eV 5.23 mm 5.43 mm World eIoni + 3 51.5 um -20 cm 2.07 cm 245 MeV 2.01 keV 1.9 cm 2.44 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -9.17 cm 1.84 cm 2.95 keV 0 eV 0 fm 0 fm World initStep + 1 -7.15 um -9.19 cm 1.84 cm 3.16 MeV 2.95 keV 293 um 293 um World eIoni + 2 -15 um -10 cm 1.84 cm 83.8 MeV 803 eV 8.06 mm 8.35 mm World eIoni + 3 -20.6 um -16.4 cm 1.84 cm 724 MeV 10.9 keV 6.4 cm 7.23 cm World eIoni + 4 -20.9 um -17.5 cm 1.84 cm 834 MeV 2.1 keV 1.11 cm 8.34 cm World eIoni + 5 -21.2 um -18.1 cm 1.84 cm 895 MeV 1.41 keV 6.08 mm 8.95 cm World eIoni + 6 -22.2 um -20 cm 1.84 cm 1.08 GeV 6.09 keV 1.88 cm 10.8 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -21.2 um -18.1 cm 1.84 cm 1.86 keV 0 eV 0 fm 0 fm World initStep + 1 -13.5 um -18.1 cm 1.84 cm 1.53 MeV 1.86 keV 140 um 140 um World eIoni + 2 2.97 um -20 cm 1.84 cm 189 MeV 1.97 keV 1.87 cm 1.88 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -20.9 um -17.5 cm 1.84 cm 1.09 keV 0 eV 0 fm 0 fm World initStep + 1 -18.5 um -17.5 cm 1.84 cm 713 keV 1.09 keV 64.8 um 64.8 um World eIoni + 2 -9.9 um -20 cm 1.84 cm 249 MeV 6.99 keV 2.49 cm 2.49 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -20.6 um -16.4 cm 1.84 cm 1.2 keV 0 eV 0 fm 0 fm World initStep + 1 -20.3 um -16.4 cm 1.84 cm 817 keV 1.2 keV 74.3 um 74.3 um World eIoni + 2 -19.5 um -19.5 cm 1.83 cm 315 MeV 3.83 keV 3.14 cm 3.15 cm World eIoni + 3 -19.4 um -20 cm 1.83 cm 360 MeV 1.88 keV 4.53 mm 3.6 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -19.5 um -19.5 cm 1.83 cm 1.7 keV 0 eV 0 fm 0 fm World initStep + 1 -27.5 um -19.6 cm 1.83 cm 1.34 MeV 1.7 keV 122 um 122 um World eIoni + 2 -40.1 um -20 cm 1.84 cm 45.5 MeV 628 eV 4.41 mm 4.54 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm 0 fm 0 fm 50 MeV 0 eV 0 fm 0 fm World initStep + 1 0 fm -11.9 cm 1.97 cm 1.24 GeV 20.1 keV 12.4 cm 12.4 cm World eIoni + 2 -769 nm -16.3 cm 2.12 cm 1.68 GeV 12 keV 4.38 cm 16.8 cm World eIoni + 3 -1.39 um -19.1 cm 2.2 cm 1.96 GeV 4.94 keV 2.86 cm 19.6 cm World eIoni + 4 -2.96 um -19.7 cm 2.21 cm 2.02 GeV 2.61 keV 5.5 mm 20.2 cm World eIoni + 5 -3.92 um -20 cm 2.22 cm 2.05 GeV 142 eV 3.35 mm 20.5 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -2.96 um -19.7 cm 2.21 cm 1.1 keV 0 eV 0 fm 0 fm World initStep + 1 -483 nm -19.7 cm 2.21 cm 728 keV 1.1 keV 66.3 um 66.3 um World eIoni + 2 4.86 um -20 cm 2.21 cm 33.6 MeV 670 eV 3.28 mm 3.35 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -1.39 um -19.1 cm 2.2 cm 284 keV 0 eV 0 fm 0 fm World initStep + 1 300 um -20 cm 2.21 cm 89.4 MeV 2 keV 8.92 mm 8.92 mm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 -769 nm -16.3 cm 2.12 cm 6.06 keV 0 eV 0 fm 0 fm World initStep + 1 5.71 um -16.4 cm 2.12 cm 10.8 MeV 6.06 keV 1.01 mm 1.01 mm World eIoni + 2 6.84 um -16.5 cm 2.12 cm 24.9 MeV 424 eV 1.41 mm 2.43 mm World eIoni + 3 10.6 um -20 cm 2.13 cm 375 MeV 7.01 keV 3.5 cm 3.75 cm OutOfWorldTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng NextVolu Process + 0 0 fm -11.9 cm 1.97 cm 1.12 keV 0 eV 0 fm 0 fm World initStep + 1 3.99 um -11.9 cm 1.97 cm 742 keV 1.12 keV 67.5 um 67.5 um World eIoni + 2 16.5 um -13.3 cm 1.96 cm 143 MeV 2.51 keV 1.42 cm 1.43 cm World eIoni + 3 20.3 um -20 cm 1.96 cm 813 MeV 7.86 keV 6.7 cm 8.12 cm OutOfWorldTransportation Run terminated. Run Summary Number of events processed : 100 - User=1.48s Real=2.21s Sys=0.72s + User=2.47s Real=3.83s Sys=1.24s ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/field/field02/include/F02CalorHit.hh b/examples/extended/field/field02/include/F02CalorHit.hh index e33dc159ee..033dd35c5a 100644 --- a/examples/extended/field/field02/include/F02CalorHit.hh +++ b/examples/extended/field/field02/include/F02CalorHit.hh @@ -25,7 +25,7 @@ // // // $Id: F02CalorHit.hh,v 1.4 2006/06/29 17:17:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02CalorimeterSD.hh b/examples/extended/field/field02/include/F02CalorimeterSD.hh index 979233eb26..0b9cba80b4 100644 --- a/examples/extended/field/field02/include/F02CalorimeterSD.hh +++ b/examples/extended/field/field02/include/F02CalorimeterSD.hh @@ -25,7 +25,7 @@ // // // $Id: F02CalorimeterSD.hh,v 1.4 2006/06/29 17:17:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02DetectorConstruction.hh b/examples/extended/field/field02/include/F02DetectorConstruction.hh index ce1b5cc26a..884d6540b8 100644 --- a/examples/extended/field/field02/include/F02DetectorConstruction.hh +++ b/examples/extended/field/field02/include/F02DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: F02DetectorConstruction.hh,v 1.6 2006/06/29 17:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02DetectorMessenger.hh b/examples/extended/field/field02/include/F02DetectorMessenger.hh index 13e5730460..0b9887f906 100644 --- a/examples/extended/field/field02/include/F02DetectorMessenger.hh +++ b/examples/extended/field/field02/include/F02DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F02DetectorMessenger.hh,v 1.4 2006/06/29 17:17:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02ElectricFieldSetup.hh b/examples/extended/field/field02/include/F02ElectricFieldSetup.hh index 3f4a96de22..373a96a6c0 100644 --- a/examples/extended/field/field02/include/F02ElectricFieldSetup.hh +++ b/examples/extended/field/field02/include/F02ElectricFieldSetup.hh @@ -25,7 +25,7 @@ // // // $Id: F02ElectricFieldSetup.hh,v 1.2 2006/06/29 17:17:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // A class for control of the Electric Field of the detector. // The field for this case is uniform. diff --git a/examples/extended/field/field02/include/F02EventAction.hh b/examples/extended/field/field02/include/F02EventAction.hh index cae0786740..79b820769d 100644 --- a/examples/extended/field/field02/include/F02EventAction.hh +++ b/examples/extended/field/field02/include/F02EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: F02EventAction.hh,v 1.4 2006/06/29 17:17:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02EventActionMessenger.hh b/examples/extended/field/field02/include/F02EventActionMessenger.hh index 565fe9718a..6c589b9bbc 100644 --- a/examples/extended/field/field02/include/F02EventActionMessenger.hh +++ b/examples/extended/field/field02/include/F02EventActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F02EventActionMessenger.hh,v 1.3 2006/06/29 17:17:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02FieldMessenger.hh b/examples/extended/field/field02/include/F02FieldMessenger.hh index 793d40d2e6..5b57f0749f 100644 --- a/examples/extended/field/field02/include/F02FieldMessenger.hh +++ b/examples/extended/field/field02/include/F02FieldMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F02FieldMessenger.hh,v 1.4 2006/06/29 17:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02PhysicsList.hh b/examples/extended/field/field02/include/F02PhysicsList.hh index 86e91ea23c..874bae94ee 100644 --- a/examples/extended/field/field02/include/F02PhysicsList.hh +++ b/examples/extended/field/field02/include/F02PhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F02PhysicsList.hh,v 1.4 2006/06/29 17:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: F02PhysicsList.hh,v 1.5 2007/05/23 13:40:14 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef F02PhysicsList_h @@ -83,7 +83,7 @@ class F02PhysicsList: public G4VUserPhysicsList // these methods Construct physics processes and register them - void AddParameterisation(); + // void AddParameterisation(); void ConstructGeneral(); void ConstructEM(); diff --git a/examples/extended/field/field02/include/F02PhysicsListMessenger.hh b/examples/extended/field/field02/include/F02PhysicsListMessenger.hh index 85b227b9f3..ebf278e297 100644 --- a/examples/extended/field/field02/include/F02PhysicsListMessenger.hh +++ b/examples/extended/field/field02/include/F02PhysicsListMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F02PhysicsListMessenger.hh,v 1.4 2006/06/29 17:17:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02PrimaryGeneratorAction.hh b/examples/extended/field/field02/include/F02PrimaryGeneratorAction.hh index 1b0c1c5d0c..632cb5ff43 100644 --- a/examples/extended/field/field02/include/F02PrimaryGeneratorAction.hh +++ b/examples/extended/field/field02/include/F02PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: F02PrimaryGeneratorAction.hh,v 1.4 2006/06/29 17:17:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02PrimaryGeneratorMessenger.hh b/examples/extended/field/field02/include/F02PrimaryGeneratorMessenger.hh index 891488dc0c..e1bdb9e2d4 100644 --- a/examples/extended/field/field02/include/F02PrimaryGeneratorMessenger.hh +++ b/examples/extended/field/field02/include/F02PrimaryGeneratorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F02PrimaryGeneratorMessenger.hh,v 1.3 2006/06/29 17:17:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02RunAction.hh b/examples/extended/field/field02/include/F02RunAction.hh index 4e47898783..2451aeb437 100644 --- a/examples/extended/field/field02/include/F02RunAction.hh +++ b/examples/extended/field/field02/include/F02RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: F02RunAction.hh,v 1.6 2006/06/29 17:17:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02RunMessenger.hh b/examples/extended/field/field02/include/F02RunMessenger.hh index 38d4e4327a..220cf1ac31 100644 --- a/examples/extended/field/field02/include/F02RunMessenger.hh +++ b/examples/extended/field/field02/include/F02RunMessenger.hh @@ -26,7 +26,7 @@ // // $Id: F02RunMessenger.hh,v 1.4 2006/06/29 17:17:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02StepCut.hh b/examples/extended/field/field02/include/F02StepCut.hh index f3a8f9ba4d..82c697563b 100644 --- a/examples/extended/field/field02/include/F02StepCut.hh +++ b/examples/extended/field/field02/include/F02StepCut.hh @@ -25,7 +25,7 @@ // // // $Id: F02StepCut.hh,v 1.5 2006/06/29 17:17:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02SteppingAction.hh b/examples/extended/field/field02/include/F02SteppingAction.hh index 5e6d085d91..2279082e06 100644 --- a/examples/extended/field/field02/include/F02SteppingAction.hh +++ b/examples/extended/field/field02/include/F02SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: F02SteppingAction.hh,v 1.5 2006/06/29 17:17:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/include/F02SteppingMessenger.hh b/examples/extended/field/field02/include/F02SteppingMessenger.hh index b50ed23687..567ba4dfc6 100644 --- a/examples/extended/field/field02/include/F02SteppingMessenger.hh +++ b/examples/extended/field/field02/include/F02SteppingMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F02SteppingMessenger.hh,v 1.3 2006/06/29 17:17:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/field/field02/include/F02SteppingVerbose.hh b/examples/extended/field/field02/include/F02SteppingVerbose.hh index 1905db2bbe..3aa4b8fa82 100644 --- a/examples/extended/field/field02/include/F02SteppingVerbose.hh +++ b/examples/extended/field/field02/include/F02SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: F02SteppingVerbose.hh,v 1.4 2006/06/29 17:17:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/field/field02/src/F02CalorHit.cc b/examples/extended/field/field02/src/F02CalorHit.cc index 9e5cfa0572..f5c2a61a2d 100644 --- a/examples/extended/field/field02/src/F02CalorHit.cc +++ b/examples/extended/field/field02/src/F02CalorHit.cc @@ -25,7 +25,7 @@ // // // $Id: F02CalorHit.cc,v 1.4 2006/06/29 17:17:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02CalorimeterSD.cc b/examples/extended/field/field02/src/F02CalorimeterSD.cc index 31f0890e1c..7112c143d1 100644 --- a/examples/extended/field/field02/src/F02CalorimeterSD.cc +++ b/examples/extended/field/field02/src/F02CalorimeterSD.cc @@ -25,7 +25,7 @@ // // // $Id: F02CalorimeterSD.cc,v 1.6 2006/06/29 17:17:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02DetectorConstruction.cc b/examples/extended/field/field02/src/F02DetectorConstruction.cc index 77dc0b7201..9191045c3d 100644 --- a/examples/extended/field/field02/src/F02DetectorConstruction.cc +++ b/examples/extended/field/field02/src/F02DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: F02DetectorConstruction.cc,v 1.12 2006/06/29 17:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02DetectorMessenger.cc b/examples/extended/field/field02/src/F02DetectorMessenger.cc index 8115563a89..1bca1b20b7 100644 --- a/examples/extended/field/field02/src/F02DetectorMessenger.cc +++ b/examples/extended/field/field02/src/F02DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F02DetectorMessenger.cc,v 1.5 2006/06/29 17:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02ElectricFieldSetup.cc b/examples/extended/field/field02/src/F02ElectricFieldSetup.cc index 945b6646ee..04e43657d2 100644 --- a/examples/extended/field/field02/src/F02ElectricFieldSetup.cc +++ b/examples/extended/field/field02/src/F02ElectricFieldSetup.cc @@ -25,7 +25,7 @@ // // // $Id: F02ElectricFieldSetup.cc,v 1.2 2006/06/29 17:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // User Field class implementation. diff --git a/examples/extended/field/field02/src/F02EventAction.cc b/examples/extended/field/field02/src/F02EventAction.cc index 04fec35caf..e4c4ae6ed5 100644 --- a/examples/extended/field/field02/src/F02EventAction.cc +++ b/examples/extended/field/field02/src/F02EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: F02EventAction.cc,v 1.6 2006/06/29 17:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02EventActionMessenger.cc b/examples/extended/field/field02/src/F02EventActionMessenger.cc index 1743134a04..0c3d591caa 100644 --- a/examples/extended/field/field02/src/F02EventActionMessenger.cc +++ b/examples/extended/field/field02/src/F02EventActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F02EventActionMessenger.cc,v 1.5 2006/06/29 17:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02FieldMessenger.cc b/examples/extended/field/field02/src/F02FieldMessenger.cc index 09d6feefb8..68a8dae30e 100644 --- a/examples/extended/field/field02/src/F02FieldMessenger.cc +++ b/examples/extended/field/field02/src/F02FieldMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F02FieldMessenger.cc,v 1.6 2006/06/29 17:18:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02PhysicsList.cc b/examples/extended/field/field02/src/F02PhysicsList.cc index 2475426b75..8d62d1d6db 100644 --- a/examples/extended/field/field02/src/F02PhysicsList.cc +++ b/examples/extended/field/field02/src/F02PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F02PhysicsList.cc,v 1.10 2006/06/29 17:18:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: F02PhysicsList.cc,v 1.11 2007/05/23 13:40:28 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4Timer.hh" @@ -46,7 +46,7 @@ #include "G4ios.hh" #include -#include "G4FastSimulationManagerProcess.hh" + ///////////////////////////////////////////////////////////// @@ -159,7 +159,7 @@ void F02PhysicsList::ConstructBarions() void F02PhysicsList::ConstructProcess() { AddTransportation(); - AddParameterisation(); + // AddParameterisation(); ConstructEM(); ConstructGeneral(); @@ -307,28 +307,6 @@ void F02PhysicsList::ConstructGeneral() } } -///////////////////////////////////////////////////////////////////////////// - -void F02PhysicsList::AddParameterisation() -{ - G4FastSimulationManagerProcess* theFastSimulationManagerProcess = - new G4FastSimulationManagerProcess() ; - theParticleIterator->reset(); - - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator->value() ; - G4ProcessManager* pmanager = particle->GetProcessManager() ; - - // both postStep and alongStep action are required: because - // of the use of ghost volumes. If no ghost, the postStep is sufficient. - - pmanager->AddProcess(theFastSimulationManagerProcess, -1, 1, 1); - } -} - - - ///////////////////////////////////////////////////////////////////////////// void F02PhysicsList::SetCuts() diff --git a/examples/extended/field/field02/src/F02PhysicsListMessenger.cc b/examples/extended/field/field02/src/F02PhysicsListMessenger.cc index f4568f601d..73230806bc 100644 --- a/examples/extended/field/field02/src/F02PhysicsListMessenger.cc +++ b/examples/extended/field/field02/src/F02PhysicsListMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F02PhysicsListMessenger.cc,v 1.6 2006/06/29 17:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02PrimaryGeneratorAction.cc b/examples/extended/field/field02/src/F02PrimaryGeneratorAction.cc index 084c2f73d7..68a8073b2c 100644 --- a/examples/extended/field/field02/src/F02PrimaryGeneratorAction.cc +++ b/examples/extended/field/field02/src/F02PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: F02PrimaryGeneratorAction.cc,v 1.5 2006/06/29 17:18:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02PrimaryGeneratorMessenger.cc b/examples/extended/field/field02/src/F02PrimaryGeneratorMessenger.cc index da591e60a4..7c4bfc92be 100644 --- a/examples/extended/field/field02/src/F02PrimaryGeneratorMessenger.cc +++ b/examples/extended/field/field02/src/F02PrimaryGeneratorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F02PrimaryGeneratorMessenger.cc,v 1.5 2006/06/29 17:18:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02RunAction.cc b/examples/extended/field/field02/src/F02RunAction.cc index a383228ff8..94f61fab77 100644 --- a/examples/extended/field/field02/src/F02RunAction.cc +++ b/examples/extended/field/field02/src/F02RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: F02RunAction.cc,v 1.8 2006/06/29 17:18:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02RunMessenger.cc b/examples/extended/field/field02/src/F02RunMessenger.cc index f4e20255fe..b120f1cef9 100644 --- a/examples/extended/field/field02/src/F02RunMessenger.cc +++ b/examples/extended/field/field02/src/F02RunMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F02RunMessenger.cc,v 1.6 2006/06/29 17:18:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02StepCut.cc b/examples/extended/field/field02/src/F02StepCut.cc index 7ddd0156b3..787e715545 100644 --- a/examples/extended/field/field02/src/F02StepCut.cc +++ b/examples/extended/field/field02/src/F02StepCut.cc @@ -25,7 +25,7 @@ // // // $Id: F02StepCut.cc,v 1.3 2006/06/29 17:18:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "F02StepCut.hh" diff --git a/examples/extended/field/field02/src/F02SteppingAction.cc b/examples/extended/field/field02/src/F02SteppingAction.cc index 96e11d2761..d5f1b8ac8c 100644 --- a/examples/extended/field/field02/src/F02SteppingAction.cc +++ b/examples/extended/field/field02/src/F02SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: F02SteppingAction.cc,v 1.6 2006/06/29 17:18:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field02/src/F02SteppingMessenger.cc b/examples/extended/field/field02/src/F02SteppingMessenger.cc index 285205c713..66b07e0c21 100644 --- a/examples/extended/field/field02/src/F02SteppingMessenger.cc +++ b/examples/extended/field/field02/src/F02SteppingMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F02SteppingMessenger.cc,v 1.4 2006/06/29 17:18:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/field/field02/src/F02SteppingVerbose.cc b/examples/extended/field/field02/src/F02SteppingVerbose.cc index 73bc0f4751..1aad8ec36a 100644 --- a/examples/extended/field/field02/src/F02SteppingVerbose.cc +++ b/examples/extended/field/field02/src/F02SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: F02SteppingVerbose.cc,v 1.6 2006/06/29 17:18:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/field/field03/History b/examples/extended/field/field03/History index 984e821edd..909fa2fce3 100644 --- a/examples/extended/field/field03/History +++ b/examples/extended/field/field03/History @@ -1,4 +1,4 @@ -$Id: History,v 1.20 2007/04/28 01:30:28 gum Exp $ +$Id: History,v 1.21 2007/05/23 13:38:37 tnikitin Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,10 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May 23rd, 2007 John Apostolakis - fieldex03-V08-03-00 +-------------------------------- +- Taken out FastSimulationManagerProcess, which is not needed. + Apr 27th, 2007 Peter Gumplinger (fieldex03-V08-02-00) - Fixed bug in F03FieldSetup: fFieldManager = fLocalFieldManager = GetGlobalFieldManager(); diff --git a/examples/extended/field/field03/field03.cc b/examples/extended/field/field03/field03.cc index af6829becd..c4e3787ed7 100644 --- a/examples/extended/field/field03/field03.cc +++ b/examples/extended/field/field03/field03.cc @@ -25,7 +25,7 @@ // // // $Id: field03.cc,v 1.8 2006/06/29 17:18:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/field/field03/field03.out b/examples/extended/field/field03/field03.out index 8f4bcc4366..0407693c4b 100644 --- a/examples/extended/field/field03/field03.out +++ b/examples/extended/field/field03/field03.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -63,7 +63,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -128,7 +127,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -141,12 +140,12 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -159,7 +158,7 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -206,7 +205,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -240,7 +239,6 @@ Start Run processing. Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 22 m 500 MeV 0 eV 0 fm 0 fm World initStep -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release 1 0 fm 4.0138452 cm 21.79201 m 500 MeV0.00049462122 eV 20.288442 cm 20.288442 cm World Transportation 0 fm 390.36094 um -920.6619 um 2 0 fm 6.5801506 cm 21.74 m 500 MeV0.00014147067 eV 5.8028637 cm 26.091306 cm RadSlice Transportation 0 fm 493.16452 um -869.93607 um 3 0 fm 19.942497 cm 21.58699 m 500 MeV0.00049864186 eV 20.453361 cm 46.544667 cm Radiator Transportation 0 fm 795.60591 um -605.81452 um @@ -250,13 +248,11 @@ G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will b 7 0 fm 1.0118328 m 21.9895 m 500 MeV0.0003699973 eV 15.176601 cm 1.5893831 m World Transportation 0 fm 2.1791515 Ang 1000 um 8 0 fm 1.0118318 m 21.9905 m 500 MeV2.4379474e-06 eV 1.0000007 mm 1.5903831 m Absorber Transportation 0 fm -1.9763932 um 999.99805 um 9 0 fm 1.0117238 m 22 m 500 MeV2.3162324e-05 eV 9.5007541 mm 1.5998839 m OutOfWorld Transportation 0 fm -20.754201 um 999.78461 um -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release Run terminated. Run Summary Number of events processed : 1 - User=0.02s Real=0.06s Sys=0s + User=0.03s Real=0.06s Sys=0s ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release ========= Table of registered couples ============================== @@ -269,25 +265,18 @@ Index : 0 used in the geometry : Yes recalculation needed : No ==================================================================== -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release ### Run 1 start. WARNING: Scene "refresh" not found. /vis/scene/list to see scenes. Start Run processing. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release ---> Begin of Event: 0 -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release ---> Begin of Event: 50 Run terminated. Run Summary Number of events processed : 100 - User=0.82s Real=0.82s Sys=0s + User=0.8s Real=0.8s Sys=0s ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. Set field value to (0,0,1000) Gauss @@ -311,7 +300,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=0.11s Real=0.11s Sys=0s + User=0.12s Real=0.12s Sys=0s ERROR: G4VisCommandsViewerUpdate::SetNewValue: no current viewer. Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/field/field03/include/F03CalorHit.hh b/examples/extended/field/field03/include/F03CalorHit.hh index 9b66360d44..bb738756c3 100644 --- a/examples/extended/field/field03/include/F03CalorHit.hh +++ b/examples/extended/field/field03/include/F03CalorHit.hh @@ -25,7 +25,7 @@ // // // $Id: F03CalorHit.hh,v 1.4 2006/06/29 17:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03CalorimeterSD.hh b/examples/extended/field/field03/include/F03CalorimeterSD.hh index 96999fea17..1854bc502d 100644 --- a/examples/extended/field/field03/include/F03CalorimeterSD.hh +++ b/examples/extended/field/field03/include/F03CalorimeterSD.hh @@ -25,7 +25,7 @@ // // // $Id: F03CalorimeterSD.hh,v 1.4 2006/06/29 17:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03DetectorConstruction.hh b/examples/extended/field/field03/include/F03DetectorConstruction.hh index ce526c2647..881c289747 100644 --- a/examples/extended/field/field03/include/F03DetectorConstruction.hh +++ b/examples/extended/field/field03/include/F03DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: F03DetectorConstruction.hh,v 1.6 2006/06/29 17:18:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03DetectorMessenger.hh b/examples/extended/field/field03/include/F03DetectorMessenger.hh index 44e753ec28..eb7e8b0b42 100644 --- a/examples/extended/field/field03/include/F03DetectorMessenger.hh +++ b/examples/extended/field/field03/include/F03DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F03DetectorMessenger.hh,v 1.4 2006/06/29 17:18:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03EventAction.hh b/examples/extended/field/field03/include/F03EventAction.hh index 78ef9d0400..db10ed95d5 100644 --- a/examples/extended/field/field03/include/F03EventAction.hh +++ b/examples/extended/field/field03/include/F03EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: F03EventAction.hh,v 1.4 2006/06/29 17:18:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03EventActionMessenger.hh b/examples/extended/field/field03/include/F03EventActionMessenger.hh index 03a1e5ac0c..74dca43b72 100644 --- a/examples/extended/field/field03/include/F03EventActionMessenger.hh +++ b/examples/extended/field/field03/include/F03EventActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F03EventActionMessenger.hh,v 1.3 2006/06/29 17:18:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03FieldMessenger.hh b/examples/extended/field/field03/include/F03FieldMessenger.hh index f5a5e1faae..edfb2aa7df 100644 --- a/examples/extended/field/field03/include/F03FieldMessenger.hh +++ b/examples/extended/field/field03/include/F03FieldMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F03FieldMessenger.hh,v 1.4 2006/06/29 17:18:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03FieldSetup.hh b/examples/extended/field/field03/include/F03FieldSetup.hh index e9b5e3421b..44d9530ea5 100644 --- a/examples/extended/field/field03/include/F03FieldSetup.hh +++ b/examples/extended/field/field03/include/F03FieldSetup.hh @@ -25,7 +25,7 @@ // // // $Id: F03FieldSetup.hh,v 1.2 2006/06/29 17:18:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // A class for setting up the Magnetic Field of the setup, and // creating the necessary classes to control accuracy of propagation. diff --git a/examples/extended/field/field03/include/F03PhysicsList.hh b/examples/extended/field/field03/include/F03PhysicsList.hh index 67c03bf53d..1082b12857 100644 --- a/examples/extended/field/field03/include/F03PhysicsList.hh +++ b/examples/extended/field/field03/include/F03PhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F03PhysicsList.hh,v 1.5 2006/06/29 17:18:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: F03PhysicsList.hh,v 1.6 2007/05/23 13:39:01 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef F03PhysicsList_h @@ -83,7 +83,7 @@ class F03PhysicsList: public G4VUserPhysicsList // these methods Construct physics processes and register them - void AddParameterisation(); + // void AddParameterisation(); void ConstructGeneral(); void ConstructEM(); diff --git a/examples/extended/field/field03/include/F03PhysicsListMessenger.hh b/examples/extended/field/field03/include/F03PhysicsListMessenger.hh index 2f7d8a9e9f..7e2421b1f3 100644 --- a/examples/extended/field/field03/include/F03PhysicsListMessenger.hh +++ b/examples/extended/field/field03/include/F03PhysicsListMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F03PhysicsListMessenger.hh,v 1.4 2006/06/29 17:18:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03PrimaryGeneratorAction.hh b/examples/extended/field/field03/include/F03PrimaryGeneratorAction.hh index 8a52bb456c..79f4c9d295 100644 --- a/examples/extended/field/field03/include/F03PrimaryGeneratorAction.hh +++ b/examples/extended/field/field03/include/F03PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: F03PrimaryGeneratorAction.hh,v 1.4 2006/06/29 17:18:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03PrimaryGeneratorMessenger.hh b/examples/extended/field/field03/include/F03PrimaryGeneratorMessenger.hh index e53adbcf5c..9e0b3a7c71 100644 --- a/examples/extended/field/field03/include/F03PrimaryGeneratorMessenger.hh +++ b/examples/extended/field/field03/include/F03PrimaryGeneratorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F03PrimaryGeneratorMessenger.hh,v 1.3 2006/06/29 17:19:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03RunAction.hh b/examples/extended/field/field03/include/F03RunAction.hh index 27adb79549..85eb94eb28 100644 --- a/examples/extended/field/field03/include/F03RunAction.hh +++ b/examples/extended/field/field03/include/F03RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: F03RunAction.hh,v 1.6 2006/06/29 17:19:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03RunMessenger.hh b/examples/extended/field/field03/include/F03RunMessenger.hh index d74d183cd5..6034d2eb7d 100644 --- a/examples/extended/field/field03/include/F03RunMessenger.hh +++ b/examples/extended/field/field03/include/F03RunMessenger.hh @@ -26,7 +26,7 @@ // // $Id: F03RunMessenger.hh,v 1.4 2006/06/29 17:19:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03StepCut.hh b/examples/extended/field/field03/include/F03StepCut.hh index ad4ff08c97..9f2f65ebc1 100644 --- a/examples/extended/field/field03/include/F03StepCut.hh +++ b/examples/extended/field/field03/include/F03StepCut.hh @@ -25,7 +25,7 @@ // // // $Id: F03StepCut.hh,v 1.5 2006/06/29 17:19:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03SteppingAction.hh b/examples/extended/field/field03/include/F03SteppingAction.hh index c05acb4897..c870e70be7 100644 --- a/examples/extended/field/field03/include/F03SteppingAction.hh +++ b/examples/extended/field/field03/include/F03SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: F03SteppingAction.hh,v 1.5 2006/06/29 17:19:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/include/F03SteppingMessenger.hh b/examples/extended/field/field03/include/F03SteppingMessenger.hh index 91ff1147ab..8af9c2b9cc 100644 --- a/examples/extended/field/field03/include/F03SteppingMessenger.hh +++ b/examples/extended/field/field03/include/F03SteppingMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: F03SteppingMessenger.hh,v 1.3 2006/06/29 17:19:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/field/field03/include/F03SteppingVerbose.hh b/examples/extended/field/field03/include/F03SteppingVerbose.hh index 1cac858a50..322f87ebbd 100644 --- a/examples/extended/field/field03/include/F03SteppingVerbose.hh +++ b/examples/extended/field/field03/include/F03SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: F03SteppingVerbose.hh,v 1.4 2006/06/29 17:19:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/examples/extended/field/field03/src/F03CalorHit.cc b/examples/extended/field/field03/src/F03CalorHit.cc index fae333a584..5014adb12e 100644 --- a/examples/extended/field/field03/src/F03CalorHit.cc +++ b/examples/extended/field/field03/src/F03CalorHit.cc @@ -25,7 +25,7 @@ // // // $Id: F03CalorHit.cc,v 1.4 2006/06/29 17:19:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/src/F03CalorimeterSD.cc b/examples/extended/field/field03/src/F03CalorimeterSD.cc index 1c840b13a6..e31671f5a7 100644 --- a/examples/extended/field/field03/src/F03CalorimeterSD.cc +++ b/examples/extended/field/field03/src/F03CalorimeterSD.cc @@ -25,7 +25,7 @@ // // // $Id: F03CalorimeterSD.cc,v 1.6 2006/06/29 17:19:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/src/F03DetectorConstruction.cc b/examples/extended/field/field03/src/F03DetectorConstruction.cc index f6d7c00fa3..6edf629656 100644 --- a/examples/extended/field/field03/src/F03DetectorConstruction.cc +++ b/examples/extended/field/field03/src/F03DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: F03DetectorConstruction.cc,v 1.12 2006/06/29 17:19:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/src/F03DetectorMessenger.cc b/examples/extended/field/field03/src/F03DetectorMessenger.cc index f6865b25ca..d8476d1feb 100644 --- a/examples/extended/field/field03/src/F03DetectorMessenger.cc +++ b/examples/extended/field/field03/src/F03DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F03DetectorMessenger.cc,v 1.5 2006/06/29 17:19:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/src/F03EventAction.cc b/examples/extended/field/field03/src/F03EventAction.cc index 58837f8cd7..80eb6a38da 100644 --- a/examples/extended/field/field03/src/F03EventAction.cc +++ b/examples/extended/field/field03/src/F03EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: F03EventAction.cc,v 1.6 2006/06/29 17:19:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/src/F03EventActionMessenger.cc b/examples/extended/field/field03/src/F03EventActionMessenger.cc index cef111a191..f01b6e137b 100644 --- a/examples/extended/field/field03/src/F03EventActionMessenger.cc +++ b/examples/extended/field/field03/src/F03EventActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F03EventActionMessenger.cc,v 1.4 2006/06/29 17:19:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/src/F03FieldMessenger.cc b/examples/extended/field/field03/src/F03FieldMessenger.cc index 52a7ac4c9d..88bcb9360a 100644 --- a/examples/extended/field/field03/src/F03FieldMessenger.cc +++ b/examples/extended/field/field03/src/F03FieldMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F03FieldMessenger.cc,v 1.7 2006/06/29 17:19:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/src/F03FieldSetup.cc b/examples/extended/field/field03/src/F03FieldSetup.cc index 312759e48e..43ca5a4fce 100644 --- a/examples/extended/field/field03/src/F03FieldSetup.cc +++ b/examples/extended/field/field03/src/F03FieldSetup.cc @@ -25,7 +25,7 @@ // // // $Id: F03FieldSetup.cc,v 1.5 2007/04/28 01:31:12 gum Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Field Setup class implementation. diff --git a/examples/extended/field/field03/src/F03PhysicsList.cc b/examples/extended/field/field03/src/F03PhysicsList.cc index f6afea7c02..380b2b79ad 100644 --- a/examples/extended/field/field03/src/F03PhysicsList.cc +++ b/examples/extended/field/field03/src/F03PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: F03PhysicsList.cc,v 1.10 2006/06/29 17:19:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: F03PhysicsList.cc,v 1.11 2007/05/23 13:39:16 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4Timer.hh" @@ -46,7 +46,6 @@ #include "G4ios.hh" #include -#include "G4FastSimulationManagerProcess.hh" ///////////////////////////////////////////////////////////// @@ -159,7 +158,7 @@ void F03PhysicsList::ConstructBarions() void F03PhysicsList::ConstructProcess() { AddTransportation(); - AddParameterisation(); + //AddParameterisation(); ConstructEM(); ConstructGeneral(); @@ -308,28 +307,6 @@ void F03PhysicsList::ConstructGeneral() } } -///////////////////////////////////////////////////////////////////////////// - -void F03PhysicsList::AddParameterisation() -{ - G4FastSimulationManagerProcess* theFastSimulationManagerProcess = - new G4FastSimulationManagerProcess() ; - theParticleIterator->reset(); - - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator->value() ; - G4ProcessManager* pmanager = particle->GetProcessManager() ; - - // both postStep and alongStep action are required: because - // of the use of ghost volumes. If no ghost, the postStep is sufficient. - - pmanager->AddProcess(theFastSimulationManagerProcess, -1, 1, 1); - } -} - - - ///////////////////////////////////////////////////////////////////////////// void F03PhysicsList::SetCuts() diff --git a/examples/extended/field/field03/src/F03PhysicsListMessenger.cc b/examples/extended/field/field03/src/F03PhysicsListMessenger.cc index 108604e674..aeec746e1a 100644 --- a/examples/extended/field/field03/src/F03PhysicsListMessenger.cc +++ b/examples/extended/field/field03/src/F03PhysicsListMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F03PhysicsListMessenger.cc,v 1.5 2006/06/29 17:19:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/src/F03PrimaryGeneratorAction.cc b/examples/extended/field/field03/src/F03PrimaryGeneratorAction.cc index 386787d4bb..41efda25f8 100644 --- a/examples/extended/field/field03/src/F03PrimaryGeneratorAction.cc +++ b/examples/extended/field/field03/src/F03PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: F03PrimaryGeneratorAction.cc,v 1.6 2006/06/29 17:19:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/src/F03PrimaryGeneratorMessenger.cc b/examples/extended/field/field03/src/F03PrimaryGeneratorMessenger.cc index c2c5b327fb..e78050e5e5 100644 --- a/examples/extended/field/field03/src/F03PrimaryGeneratorMessenger.cc +++ b/examples/extended/field/field03/src/F03PrimaryGeneratorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F03PrimaryGeneratorMessenger.cc,v 1.5 2006/06/29 17:19:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/src/F03RunAction.cc b/examples/extended/field/field03/src/F03RunAction.cc index 31ec661cc7..61909b4578 100644 --- a/examples/extended/field/field03/src/F03RunAction.cc +++ b/examples/extended/field/field03/src/F03RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: F03RunAction.cc,v 1.9 2006/06/29 17:19:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "F03RunAction.hh" diff --git a/examples/extended/field/field03/src/F03RunMessenger.cc b/examples/extended/field/field03/src/F03RunMessenger.cc index 88ff466f40..6c60bc7cb5 100644 --- a/examples/extended/field/field03/src/F03RunMessenger.cc +++ b/examples/extended/field/field03/src/F03RunMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F03RunMessenger.cc,v 1.6 2006/06/29 17:19:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/src/F03StepCut.cc b/examples/extended/field/field03/src/F03StepCut.cc index 90de726186..cae724418e 100644 --- a/examples/extended/field/field03/src/F03StepCut.cc +++ b/examples/extended/field/field03/src/F03StepCut.cc @@ -25,7 +25,7 @@ // // // $Id: F03StepCut.cc,v 1.3 2006/06/29 17:19:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "F03StepCut.hh" diff --git a/examples/extended/field/field03/src/F03SteppingAction.cc b/examples/extended/field/field03/src/F03SteppingAction.cc index d2200b490f..314740998a 100644 --- a/examples/extended/field/field03/src/F03SteppingAction.cc +++ b/examples/extended/field/field03/src/F03SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: F03SteppingAction.cc,v 1.6 2006/06/29 17:19:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/field/field03/src/F03SteppingMessenger.cc b/examples/extended/field/field03/src/F03SteppingMessenger.cc index dda7005d58..7043149a34 100644 --- a/examples/extended/field/field03/src/F03SteppingMessenger.cc +++ b/examples/extended/field/field03/src/F03SteppingMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: F03SteppingMessenger.cc,v 1.5 2006/06/29 17:19:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/field/field03/src/F03SteppingVerbose.cc b/examples/extended/field/field03/src/F03SteppingVerbose.cc index 064e2f9d6a..5376b6593e 100644 --- a/examples/extended/field/field03/src/F03SteppingVerbose.cc +++ b/examples/extended/field/field03/src/F03SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: F03SteppingVerbose.cc,v 1.5 2006/06/29 17:19:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... diff --git a/examples/extended/g3tog4/clGeometry/clGeometry.cc b/examples/extended/g3tog4/clGeometry/clGeometry.cc index e50c30e30d..ab7ed4f26e 100644 --- a/examples/extended/g3tog4/clGeometry/clGeometry.cc +++ b/examples/extended/g3tog4/clGeometry/clGeometry.cc @@ -25,7 +25,7 @@ // // // $Id: clGeometry.cc,v 1.7 2006/06/29 17:20:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/clGeometry/clGeometry.out b/examples/extended/g3tog4/clGeometry/clGeometry.out index b4109c8030..c362f80d67 100644 --- a/examples/extended/g3tog4/clGeometry/clGeometry.out +++ b/examples/extended/g3tog4/clGeometry/clGeometry.out @@ -1,12 +1,12 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -Instantiated G3toG4DetectorConstruction using call list file "/afs/cern.ch/sw/geant4/stt/dev2/src/geant4/examples/extended/g3tog4/data/testmodel.dat" +Instantiated G3toG4DetectorConstruction using call list file "/afs/cern.ch/sw/geant4/stt/dev1/src/geant4/examples/extended/g3tog4/data/testmodel.dat" G4VUserPhysicsList::SetVerboseLevel : Verbose level is set to 2 Visualization Manager instantiating... Visualization Manager initialising... @@ -16,7 +16,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -44,7 +43,7 @@ Registered filter factories: /tracking/storeTrajectory 1 /run/initialize Instantiated unit rotation matrix irot=0 -Reading the call List file /afs/cern.ch/sw/geant4/stt/dev2/src/geant4/examples/extended/g3tog4/data/testmodel.dat... +Reading the call List file /afs/cern.ch/sw/geant4/stt/dev1/src/geant4/examples/extended/g3tog4/data/testmodel.dat... G4ggclos: setting top-level VolTableEntry Dump of VTD - 26 entries: Instantiated 26 volume table entries @@ -92,7 +91,7 @@ Top-level G3toG4 logical volume HALL G4VisAttributes: invisible, daughters visib G4VUserPhysicsList::Construct() Construct processes G3toG4PhysicsList::SetCuts:CutLength : 2 mm -/control/execute /afs/cern.ch/sw/geant4/stt/dev2/src/geant4/tests/test601/test601.in +/control/execute /afs/cern.ch/sw/geant4/stt/dev1/src/geant4/tests/test601/test601.in /run/verbose 2 /process/eLoss/verbose 1 /gun/position 0. -1.5 0. mm @@ -117,7 +116,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -130,7 +129,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -143,7 +142,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -152,7 +151,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -173,7 +172,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -220,7 +219,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -231,6 +230,8 @@ hIoni: tables are built for pi- Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 Region -- appears in world volume + Root logical volume(s) : HALL + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : VACUUM Production cuts : gamma 2 mm e- 2 mm e+ 2 mm @@ -299,11 +300,13 @@ WARNING: G4VisManager::IsValidView(): Attempt to draw when no graphics system Run terminated. Run Summary Number of events processed : 1 - User=0s Real=0.03s Sys=0s + User=0s Real=0.07000000000000001s Sys=0s /gun/particle mu+ /run/beamOn 1 Region -- appears in world volume + Root logical volume(s) : HALL + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : VACUUM Production cuts : gamma 2 mm e- 2 mm e+ 2 mm @@ -336,11 +339,13 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Run terminated. Run Summary Number of events processed : 1 - User=0s Real=0s Sys=0s + User=0s Real=0.01s Sys=0.01s /gun/particle e- /run/beamOn 1 Region -- appears in world volume + Root logical volume(s) : HALL + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : VACUUM Production cuts : gamma 2 mm e- 2 mm e+ 2 mm @@ -378,6 +383,8 @@ Run Summary /run/beamOn 1 Region -- appears in world volume + Root logical volume(s) : HALL + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : VACUUM Production cuts : gamma 2 mm e- 2 mm e+ 2 mm @@ -418,6 +425,8 @@ Run Summary /run/beamOn 1 Region -- appears in world volume + Root logical volume(s) : HALL + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : VACUUM Production cuts : gamma 2 mm e- 2 mm e+ 2 mm @@ -455,6 +464,8 @@ Run Summary /run/beamOn 1 Region -- appears in world volume + Root logical volume(s) : HALL + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : VACUUM Production cuts : gamma 2 mm e- 2 mm e+ 2 mm @@ -487,11 +498,13 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Run terminated. Run Summary Number of events processed : 1 - User=0s Real=0s Sys=0s + User=0.01s Real=0.01s Sys=0s /gun/particle e- /run/beamOn 1 Region -- appears in world volume + Root logical volume(s) : HALL + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : VACUUM Production cuts : gamma 2 mm e- 2 mm e+ 2 mm @@ -529,6 +542,8 @@ Run Summary /run/beamOn 1 Region -- appears in world volume + Root logical volume(s) : HALL + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : VACUUM Production cuts : gamma 2 mm e- 2 mm e+ 2 mm diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4DetectorConstruction.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4DetectorConstruction.hh index addff2ccf8..5b88e95e70 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4DetectorConstruction.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4DetectorConstruction.hh,v 1.4 2006/06/29 17:20:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G3toG4DetectorConstruction_h #define G3toG4DetectorConstruction_h 1 diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4EventAction.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4EventAction.hh index 7b461c539b..b52775608d 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4EventAction.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4EventAction.hh,v 1.3 2006/06/29 17:20:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4EventActionMessenger.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4EventActionMessenger.hh index 4e16a6fd1e..dd43e866b0 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4EventActionMessenger.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4EventActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4EventActionMessenger.hh,v 1.3 2006/06/29 17:20:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4PhysicsList.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4PhysicsList.hh index ea913e2f61..0e769bffcf 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4PhysicsList.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4PhysicsList.hh,v 1.3 2006/06/29 17:20:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4PrimaryGeneratorAction.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4PrimaryGeneratorAction.hh index 3fc2df78de..37c6fd0d98 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4PrimaryGeneratorAction.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4PrimaryGeneratorAction.hh,v 1.3 2006/06/29 17:20:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G3toG4PrimaryGeneratorAction_h diff --git a/examples/extended/g3tog4/clGeometry/include/G3toG4RunAction.hh b/examples/extended/g3tog4/clGeometry/include/G3toG4RunAction.hh index 240f7d403f..5830f68085 100644 --- a/examples/extended/g3tog4/clGeometry/include/G3toG4RunAction.hh +++ b/examples/extended/g3tog4/clGeometry/include/G3toG4RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4RunAction.hh,v 1.3 2006/06/29 17:20:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G3toG4RunAction_h diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4DetectorConstruction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4DetectorConstruction.cc index a7e1349077..1ec6382db9 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4DetectorConstruction.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4DetectorConstruction.cc,v 1.5 2006/06/29 17:20:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //-------------------------------------------------------------------------- // G3toG4DetectorConstruction. Most the work is Done in diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc index 657a1448ef..5779d5282b 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4EventAction.cc,v 1.5 2006/06/29 17:20:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4EventActionMessenger.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4EventActionMessenger.cc index 940fd863ca..b0e8318525 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4EventActionMessenger.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4EventActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4EventActionMessenger.cc,v 1.4 2006/06/29 17:20:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc index a1dd502f2b..74d7ae8bab 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4PhysicsList.cc,v 1.5 2006/06/29 17:20:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4PrimaryGeneratorAction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4PrimaryGeneratorAction.cc index 507706d8b4..8d3124dcce 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4PrimaryGeneratorAction.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4PrimaryGeneratorAction.cc,v 1.5 2006/06/29 17:20:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/examples/extended/g3tog4/clGeometry/src/G3toG4RunAction.cc b/examples/extended/g3tog4/clGeometry/src/G3toG4RunAction.cc index 4a8c7c55ca..eec312f827 100644 --- a/examples/extended/g3tog4/clGeometry/src/G3toG4RunAction.cc +++ b/examples/extended/g3tog4/clGeometry/src/G3toG4RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4RunAction.cc,v 1.4 2006/06/29 17:20:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4ios.hh" diff --git a/examples/extended/g3tog4/cltog4/cltog4.cc b/examples/extended/g3tog4/cltog4/cltog4.cc index b8d5f30dc5..da8d253d46 100644 --- a/examples/extended/g3tog4/cltog4/cltog4.cc +++ b/examples/extended/g3tog4/cltog4/cltog4.cc @@ -25,7 +25,7 @@ // // // $Id: cltog4.cc,v 1.6 2006/06/29 17:20:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // #include "G4ios.hh" diff --git a/examples/extended/g3tog4/cltog4/cltog4.out b/examples/extended/g3tog4/cltog4/cltog4.out index f4b5afe872..65f71a3817 100644 --- a/examples/extended/g3tog4/cltog4/cltog4.out +++ b/examples/extended/g3tog4/cltog4/cltog4.out @@ -1,18 +1,18 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -Instantiated G3toG4DetectorConstruction using call list file "/afs/cern.ch/sw/geant4/stt/dev2/src/geant4/examples/extended/g3tog4/data/testmodel.dat" +Instantiated G3toG4DetectorConstruction using call list file "/afs/cern.ch/sw/geant4/stt/dev1/src/geant4/examples/extended/g3tog4/data/testmodel.dat" /run/verbose 1 /tracking/verbose 1 /tracking/storeTrajectory 1 /run/initialize Instantiated unit rotation matrix irot=0 -Reading the call List file /afs/cern.ch/sw/geant4/stt/dev2/src/geant4/examples/extended/g3tog4/data/testmodel.dat... +Reading the call List file /afs/cern.ch/sw/geant4/stt/dev1/src/geant4/examples/extended/g3tog4/data/testmodel.dat... G4ggclos: setting top-level VolTableEntry Dump of VTD - 26 entries: Instantiated 26 volume table entries @@ -58,7 +58,7 @@ Top-level G3toG4 logical volume HALL G4VisAttributes: invisible, daughters visib time range: (-1.79769e+308,1.79769e+308) G4AttValue pointer is zero, G4AttDef pointer is zero G3toG4PhysicsList::SetCuts:CutLength : 2 mm -/control/execute /afs/cern.ch/sw/geant4/stt/dev2/src/geant4/tests/test602/test602.in +/control/execute /afs/cern.ch/sw/geant4/stt/dev1/src/geant4/tests/test602/test602.in /control/verbose 1 /tracking/verbose 1 /run/initialize @@ -84,7 +84,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -97,7 +97,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -110,7 +110,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -119,7 +119,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -140,7 +140,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -187,7 +187,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -303,5 +303,5 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Run terminated. Run Summary Number of events processed : 10 - User=0.01s Real=0.05s Sys=0.01s + User=0.01s Real=0.03s Sys=0.01s G4 kernel has come to Quit state. diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4DetectorConstruction.hh b/examples/extended/g3tog4/cltog4/include/G3toG4DetectorConstruction.hh index fe16df8953..cea1bcc4eb 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4DetectorConstruction.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4DetectorConstruction.hh,v 1.3 2006/06/29 17:20:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G3toG4DetectorConstruction_h #define G3toG4DetectorConstruction_h 1 diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4EventAction.hh b/examples/extended/g3tog4/cltog4/include/G3toG4EventAction.hh index 8d10f5aba7..ec4932cdfd 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4EventAction.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4EventAction.hh,v 1.3 2006/06/29 17:20:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4EventActionMessenger.hh b/examples/extended/g3tog4/cltog4/include/G3toG4EventActionMessenger.hh index c80cede404..6c77692706 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4EventActionMessenger.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4EventActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4EventActionMessenger.hh,v 1.3 2006/06/29 17:20:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4PhysicsList.hh b/examples/extended/g3tog4/cltog4/include/G3toG4PhysicsList.hh index 806966a9c1..1cc144d3e9 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4PhysicsList.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4PhysicsList.hh,v 1.3 2006/06/29 17:20:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4PrimaryGeneratorAction.hh b/examples/extended/g3tog4/cltog4/include/G3toG4PrimaryGeneratorAction.hh index e4a0c0c6aa..4a0ef41d23 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4PrimaryGeneratorAction.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4PrimaryGeneratorAction.hh,v 1.3 2006/06/29 17:20:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G3toG4PrimaryGeneratorAction_h diff --git a/examples/extended/g3tog4/cltog4/include/G3toG4RunAction.hh b/examples/extended/g3tog4/cltog4/include/G3toG4RunAction.hh index 4beb451d88..a31cc86e1a 100644 --- a/examples/extended/g3tog4/cltog4/include/G3toG4RunAction.hh +++ b/examples/extended/g3tog4/cltog4/include/G3toG4RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4RunAction.hh,v 1.3 2006/06/29 17:20:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G3toG4RunAction_h diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4DetectorConstruction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4DetectorConstruction.cc index a51214ef0b..a2a4171909 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4DetectorConstruction.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4DetectorConstruction.cc,v 1.5 2006/06/29 17:20:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //-------------------------------------------------------------------------- // G3toG4DetectorConstruction. Most the work is Done in diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc index 6020b049a5..775ce760ad 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4EventAction.cc,v 1.6 2006/06/29 17:20:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4EventActionMessenger.cc b/examples/extended/g3tog4/cltog4/src/G3toG4EventActionMessenger.cc index cd09c33860..f3b0e29134 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4EventActionMessenger.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4EventActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4EventActionMessenger.cc,v 1.4 2006/06/29 17:20:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc b/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc index bf7ab3362e..a583128602 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4PhysicsList.cc,v 1.5 2006/06/29 17:21:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4PrimaryGeneratorAction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4PrimaryGeneratorAction.cc index e7a683513e..676f64a8df 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4PrimaryGeneratorAction.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4PrimaryGeneratorAction.cc,v 1.5 2006/06/29 17:21:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/examples/extended/g3tog4/cltog4/src/G3toG4RunAction.cc b/examples/extended/g3tog4/cltog4/src/G3toG4RunAction.cc index 7d9f5138bf..c672e9ba99 100644 --- a/examples/extended/g3tog4/cltog4/src/G3toG4RunAction.cc +++ b/examples/extended/g3tog4/cltog4/src/G3toG4RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4RunAction.cc,v 1.4 2006/06/29 17:21:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4ios.hh" diff --git a/examples/extended/gdml/include/g4rwPrimaryGeneratorAction.hh b/examples/extended/gdml/include/g4rwPrimaryGeneratorAction.hh index 06a561e71d..ec0f845c43 100644 --- a/examples/extended/gdml/include/g4rwPrimaryGeneratorAction.hh +++ b/examples/extended/gdml/include/g4rwPrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: g4rwPrimaryGeneratorAction.hh,v 1.2 2006/06/29 17:21:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/src/g4rwDetectorConstruction.cc b/examples/extended/gdml/src/g4rwDetectorConstruction.cc index 4fce67b1ed..22f49de8e6 100644 --- a/examples/extended/gdml/src/g4rwDetectorConstruction.cc +++ b/examples/extended/gdml/src/g4rwDetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: g4rwDetectorConstruction.cc,v 1.3 2006/06/29 17:21:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/src/g4rwPhysicsList.cc b/examples/extended/gdml/src/g4rwPhysicsList.cc index a30f04443a..69f937f231 100644 --- a/examples/extended/gdml/src/g4rwPhysicsList.cc +++ b/examples/extended/gdml/src/g4rwPhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: g4rwPhysicsList.cc,v 1.2 2006/06/29 17:21:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/gdml/src/g4rwPrimaryGeneratorAction.cc b/examples/extended/gdml/src/g4rwPrimaryGeneratorAction.cc index efd569a976..fc52c8ea06 100644 --- a/examples/extended/gdml/src/g4rwPrimaryGeneratorAction.cc +++ b/examples/extended/gdml/src/g4rwPrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: g4rwPrimaryGeneratorAction.cc,v 1.4 2006/06/29 17:21:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "g4rwPrimaryGeneratorAction.hh" diff --git a/examples/extended/geometry/olap/include/G4GeoNav.hh b/examples/extended/geometry/olap/include/G4GeoNav.hh index 1ee0e499dc..fbdc4b40cc 100644 --- a/examples/extended/geometry/olap/include/G4GeoNav.hh +++ b/examples/extended/geometry/olap/include/G4GeoNav.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeoNav.hh,v 1.4 2006/06/29 17:21:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapDetConstr.hh b/examples/extended/geometry/olap/include/OlapDetConstr.hh index d62399d7af..ecf13351dd 100644 --- a/examples/extended/geometry/olap/include/OlapDetConstr.hh +++ b/examples/extended/geometry/olap/include/OlapDetConstr.hh @@ -25,7 +25,7 @@ // // // $Id: OlapDetConstr.hh,v 1.2 2006/06/29 17:22:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapEventAction.hh b/examples/extended/geometry/olap/include/OlapEventAction.hh index b9626740c5..4c81ca1a2c 100644 --- a/examples/extended/geometry/olap/include/OlapEventAction.hh +++ b/examples/extended/geometry/olap/include/OlapEventAction.hh @@ -25,7 +25,7 @@ // // // $Id: OlapEventAction.hh,v 1.3 2006/06/29 17:22:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapGenerator.hh b/examples/extended/geometry/olap/include/OlapGenerator.hh index 15bdf45ff0..c89db286d5 100644 --- a/examples/extended/geometry/olap/include/OlapGenerator.hh +++ b/examples/extended/geometry/olap/include/OlapGenerator.hh @@ -25,7 +25,7 @@ // // // $Id: OlapGenerator.hh,v 1.3 2006/06/29 17:22:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapLogManager.hh b/examples/extended/geometry/olap/include/OlapLogManager.hh index d5b9b0ee6e..7e46af8c0e 100644 --- a/examples/extended/geometry/olap/include/OlapLogManager.hh +++ b/examples/extended/geometry/olap/include/OlapLogManager.hh @@ -25,7 +25,7 @@ // // // $Id: OlapLogManager.hh,v 1.2 2006/06/29 17:22:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapManager.hh b/examples/extended/geometry/olap/include/OlapManager.hh index 2f8bd171a5..db3014d3ba 100644 --- a/examples/extended/geometry/olap/include/OlapManager.hh +++ b/examples/extended/geometry/olap/include/OlapManager.hh @@ -25,7 +25,7 @@ // // // $Id: OlapManager.hh,v 1.4 2006/06/29 17:22:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapManagerMessenger.hh b/examples/extended/geometry/olap/include/OlapManagerMessenger.hh index dda123084a..734cd83492 100644 --- a/examples/extended/geometry/olap/include/OlapManagerMessenger.hh +++ b/examples/extended/geometry/olap/include/OlapManagerMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: OlapManagerMessenger.hh,v 1.2 2006/06/29 17:22:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapNotify.hh b/examples/extended/geometry/olap/include/OlapNotify.hh index 5f2ee222d3..1a3c529567 100644 --- a/examples/extended/geometry/olap/include/OlapNotify.hh +++ b/examples/extended/geometry/olap/include/OlapNotify.hh @@ -25,7 +25,7 @@ // // // $Id: OlapNotify.hh,v 1.3 2006/06/29 17:22:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapPhysicsList.hh b/examples/extended/geometry/olap/include/OlapPhysicsList.hh index 6de0424bd7..37a7825bc7 100644 --- a/examples/extended/geometry/olap/include/OlapPhysicsList.hh +++ b/examples/extended/geometry/olap/include/OlapPhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: OlapPhysicsList.hh,v 1.2 2006/06/29 17:22:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapRunAction.hh b/examples/extended/geometry/olap/include/OlapRunAction.hh index 14b90c4d31..256c678cf1 100644 --- a/examples/extended/geometry/olap/include/OlapRunAction.hh +++ b/examples/extended/geometry/olap/include/OlapRunAction.hh @@ -25,7 +25,7 @@ // // // $Id: OlapRunAction.hh,v 1.3 2006/06/29 17:22:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/OlapSteppingAction.hh b/examples/extended/geometry/olap/include/OlapSteppingAction.hh index d5084581e0..7d6a0379d7 100644 --- a/examples/extended/geometry/olap/include/OlapSteppingAction.hh +++ b/examples/extended/geometry/olap/include/OlapSteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: OlapSteppingAction.hh,v 1.3 2006/06/29 17:22:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/RandomDetector.hh b/examples/extended/geometry/olap/include/RandomDetector.hh index 3203bd5de0..008796e0ac 100644 --- a/examples/extended/geometry/olap/include/RandomDetector.hh +++ b/examples/extended/geometry/olap/include/RandomDetector.hh @@ -25,7 +25,7 @@ // // // $Id: RandomDetector.hh,v 1.2 2006/06/29 17:22:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/SolidAnalyser.hh b/examples/extended/geometry/olap/include/SolidAnalyser.hh index 2fd7ad95c7..2e16480b77 100644 --- a/examples/extended/geometry/olap/include/SolidAnalyser.hh +++ b/examples/extended/geometry/olap/include/SolidAnalyser.hh @@ -25,7 +25,7 @@ // // // $Id: SolidAnalyser.hh,v 1.3 2006/06/29 17:22:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/include/tree.hh b/examples/extended/geometry/olap/include/tree.hh index 0e6673f22f..bafc9c575f 100644 --- a/examples/extended/geometry/olap/include/tree.hh +++ b/examples/extended/geometry/olap/include/tree.hh @@ -25,7 +25,7 @@ // // // $Id: tree.hh,v 1.4 2006/06/29 17:22:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/olapex.cc b/examples/extended/geometry/olap/olapex.cc index 0a5718db09..ade0f51d6e 100644 --- a/examples/extended/geometry/olap/olapex.cc +++ b/examples/extended/geometry/olap/olapex.cc @@ -25,7 +25,7 @@ // // // $Id: olapex.cc,v 1.3 2006/06/29 17:21:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/G4GeoNav.cc b/examples/extended/geometry/olap/src/G4GeoNav.cc index ac6dea6efd..d97dd9c74b 100644 --- a/examples/extended/geometry/olap/src/G4GeoNav.cc +++ b/examples/extended/geometry/olap/src/G4GeoNav.cc @@ -25,7 +25,7 @@ // // // $Id: G4GeoNav.cc,v 1.3 2006/06/29 17:22:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapDetConstr.cc b/examples/extended/geometry/olap/src/OlapDetConstr.cc index b920254605..11e1d2d00e 100644 --- a/examples/extended/geometry/olap/src/OlapDetConstr.cc +++ b/examples/extended/geometry/olap/src/OlapDetConstr.cc @@ -25,7 +25,7 @@ // // // $Id: OlapDetConstr.cc,v 1.4 2006/06/29 17:22:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapEventAction.cc b/examples/extended/geometry/olap/src/OlapEventAction.cc index 8c319a46e0..ba3de979a6 100644 --- a/examples/extended/geometry/olap/src/OlapEventAction.cc +++ b/examples/extended/geometry/olap/src/OlapEventAction.cc @@ -25,7 +25,7 @@ // // // $Id: OlapEventAction.cc,v 1.5 2006/06/29 17:22:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapGenerator.cc b/examples/extended/geometry/olap/src/OlapGenerator.cc index 10389a6b62..ac5917c287 100644 --- a/examples/extended/geometry/olap/src/OlapGenerator.cc +++ b/examples/extended/geometry/olap/src/OlapGenerator.cc @@ -25,7 +25,7 @@ // // // $Id: OlapGenerator.cc,v 1.4 2006/06/29 17:22:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapLogManager.cc b/examples/extended/geometry/olap/src/OlapLogManager.cc index f7fe40f925..f7b1460da3 100644 --- a/examples/extended/geometry/olap/src/OlapLogManager.cc +++ b/examples/extended/geometry/olap/src/OlapLogManager.cc @@ -25,7 +25,7 @@ // // // $Id: OlapLogManager.cc,v 1.3 2006/06/29 17:22:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapManager.cc b/examples/extended/geometry/olap/src/OlapManager.cc index 27635c5254..4fefdc4aad 100644 --- a/examples/extended/geometry/olap/src/OlapManager.cc +++ b/examples/extended/geometry/olap/src/OlapManager.cc @@ -25,7 +25,7 @@ // // // $Id: OlapManager.cc,v 1.3 2006/06/29 17:23:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapManagerMessenger.cc b/examples/extended/geometry/olap/src/OlapManagerMessenger.cc index 251db8522b..f2f7681617 100644 --- a/examples/extended/geometry/olap/src/OlapManagerMessenger.cc +++ b/examples/extended/geometry/olap/src/OlapManagerMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: OlapManagerMessenger.cc,v 1.3 2006/06/29 17:23:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapNotify.cc b/examples/extended/geometry/olap/src/OlapNotify.cc index 760b0cb898..30c2517c18 100644 --- a/examples/extended/geometry/olap/src/OlapNotify.cc +++ b/examples/extended/geometry/olap/src/OlapNotify.cc @@ -25,7 +25,7 @@ // // // $Id: OlapNotify.cc,v 1.2 2006/06/29 17:23:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapPhysicsList.cc b/examples/extended/geometry/olap/src/OlapPhysicsList.cc index 96fb4d6a9c..724aa00879 100644 --- a/examples/extended/geometry/olap/src/OlapPhysicsList.cc +++ b/examples/extended/geometry/olap/src/OlapPhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: OlapPhysicsList.cc,v 1.2 2006/06/29 17:23:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapRunAction.cc b/examples/extended/geometry/olap/src/OlapRunAction.cc index 0dc281ec9e..6afeefa2fc 100644 --- a/examples/extended/geometry/olap/src/OlapRunAction.cc +++ b/examples/extended/geometry/olap/src/OlapRunAction.cc @@ -25,7 +25,7 @@ // // // $Id: OlapRunAction.cc,v 1.5 2006/06/29 17:23:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/OlapSteppingAction.cc b/examples/extended/geometry/olap/src/OlapSteppingAction.cc index 83b6d8fd4c..ea033b5046 100644 --- a/examples/extended/geometry/olap/src/OlapSteppingAction.cc +++ b/examples/extended/geometry/olap/src/OlapSteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: OlapSteppingAction.cc,v 1.3 2006/06/29 17:23:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/RandomDetector.cc b/examples/extended/geometry/olap/src/RandomDetector.cc index 6276f9e34a..f5f53a703f 100644 --- a/examples/extended/geometry/olap/src/RandomDetector.cc +++ b/examples/extended/geometry/olap/src/RandomDetector.cc @@ -25,7 +25,7 @@ // // // $Id: RandomDetector.cc,v 1.5 2006/06/29 17:23:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/geometry/olap/src/SolidAnalyser.cc b/examples/extended/geometry/olap/src/SolidAnalyser.cc index 8f02e922cf..5ef54d7129 100644 --- a/examples/extended/geometry/olap/src/SolidAnalyser.cc +++ b/examples/extended/geometry/olap/src/SolidAnalyser.cc @@ -25,7 +25,7 @@ // // // $Id: SolidAnalyser.cc,v 1.6 2006/06/29 17:23:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/hadronic/Hadr01/GNUmakefile b/examples/extended/hadronic/Hadr01/GNUmakefile index f6319ee1da..50d6a16d78 100644 --- a/examples/extended/hadronic/Hadr01/GNUmakefile +++ b/examples/extended/hadronic/Hadr01/GNUmakefile @@ -1,5 +1,5 @@ # $Id: GNUmakefile,v 1.7 2006/10/31 15:05:33 vnivanch Exp $ -# GEANT4 tag $Name: geant4-08-02 $ +# GEANT4 tag $Name: geant4-09-00 $ # -------------------------------------------------------------- # GNUmakefile for examples module with AIDA interface # -------------------------------------------------------------- diff --git a/examples/extended/hadronic/Hadr01/History b/examples/extended/hadronic/Hadr01/History index 59e401fda2..605bfc1ff7 100644 --- a/examples/extended/hadronic/Hadr01/History +++ b/examples/extended/hadronic/Hadr01/History @@ -1,4 +1,4 @@ -$Id: History,v 1.15 2007/04/26 18:16:55 vnivanch Exp $ +$Id: History,v 1.19 2007/06/01 16:07:31 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,21 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +01-06-07 V.Ivant (exhadr01-V08-03-03) +- Physics List updated according to recent changes in hadronics and + physics_lists packages + +24-05-07 V.Ivant (exhadr01-V08-03-02) +- substitute autoptr by normal pointers in Histo to avoid crash + +21-05-07 V.Ivant (exhadr01-V08-03-01) +- Fix filling histogram on total energy deposit in the target + +16-05-07 V.Ivant (exhadr01-V08-03-00) +- Added histogram on total energy deposit in the target +- Use renamed EM builders G4EmStandardPhysics_option1 and + G4EmStandardPhysics_option2 + 26-04-07 V.Ivant (exhadr01-V08-02-01) - PhysicsList update according to physics_lists modification diff --git a/examples/extended/hadronic/Hadr01/hadr01.cc b/examples/extended/hadronic/Hadr01/hadr01.cc index 28e1f86819..0278dd3bef 100644 --- a/examples/extended/hadronic/Hadr01/hadr01.cc +++ b/examples/extended/hadronic/Hadr01/hadr01.cc @@ -25,7 +25,7 @@ // // // $Id: hadr01.cc,v 1.9 2006/11/24 16:48:57 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------- // GEANT4 hadr01 diff --git a/examples/extended/hadronic/Hadr01/hadr01.out b/examples/extended/hadronic/Hadr01/hadr01.out index a26aad249f..ddf945614b 100644 --- a/examples/extended/hadronic/Hadr01/hadr01.out +++ b/examples/extended/hadronic/Hadr01/hadr01.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -136,31 +136,32 @@ EventAction: Event # 90 started Run terminated. Run Summary Number of events processed : 100 - User=15.31s Real=17.65s Sys=1.91s + User=13.4s Real=14.4s Sys=0.63s RunAction: End of run actions are started HistoManager: End of run actions are started ======================================================== Beam particle proton Beam Energy(MeV) 3000 Number of events 100 -Average number of steps 316.8 -Average number of gamma 2.39 -Average number of e- 4.3 +Average energy deposit (MeV) 56.84 RMS(MeV) 39.72 +Average number of steps 258.6 +Average number of gamma 1.94 +Average number of e- 3.97 Average number of e+ 0.05 -Average number of neutrons 1.01 -Average number of protons 1.14 +Average number of neutrons 0.76 +Average number of protons 0.8 Average number of antiprotons 0 -Average number of pi+ & pi- 0.29 -Average number of pi0 0.19 +Average number of pi+ & pi- 0.27 +Average number of pi0 0.13 Average number of kaons 0 Average number of muons 0 Average number of deuterons+tritons 0.03 -Average number of He3+alpha 0.18 -Average number of ions 0.44 -Average number of forward neutrons 0.1 -Average number of reflected neutrons 0.05 -Average number of leaked neutrons 0.79 -Average number of proton leak 0.43 +Average number of He3+alpha 0.13 +Average number of ions 0.36 +Average number of forward neutrons 0.13 +Average number of reflected neutrons 0.03 +Average number of leaked neutrons 0.59 +Average number of proton leak 0.38 Average number of pion leak 0.26 ======================================================== diff --git a/examples/extended/hadronic/Hadr01/include/CheckVolumeSD.hh b/examples/extended/hadronic/Hadr01/include/CheckVolumeSD.hh index 30e79efea8..45c5c190f5 100755 --- a/examples/extended/hadronic/Hadr01/include/CheckVolumeSD.hh +++ b/examples/extended/hadronic/Hadr01/include/CheckVolumeSD.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: CheckVolumeSD.hh,v 1.3 2006/06/29 17:23:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/include/DetectorConstruction.hh b/examples/extended/hadronic/Hadr01/include/DetectorConstruction.hh index e31230748a..b6d45cd418 100644 --- a/examples/extended/hadronic/Hadr01/include/DetectorConstruction.hh +++ b/examples/extended/hadronic/Hadr01/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.4 2006/06/29 17:23:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/include/DetectorMessenger.hh b/examples/extended/hadronic/Hadr01/include/DetectorMessenger.hh index f615f554ff..7e3cf7c3a2 100644 --- a/examples/extended/hadronic/Hadr01/include/DetectorMessenger.hh +++ b/examples/extended/hadronic/Hadr01/include/DetectorMessenger.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: DetectorMessenger.hh,v 1.6 2006/11/15 14:58:09 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: DetectorMessenger.hh,v 1.7 2007/05/16 11:43:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // @@ -73,6 +73,7 @@ private: G4UIcmdWithAString* mat1Cmd; G4UIcmdWithADoubleAndUnit* rCmd; G4UIcmdWithADoubleAndUnit* lCmd; + G4UIcmdWithADoubleAndUnit* edepCmd; G4UIcmdWithAnInteger* binCmd; G4UIcmdWithAnInteger* nOfAbsCmd; G4UIcmdWithAnInteger* verbCmd; diff --git a/examples/extended/hadronic/Hadr01/include/EventAction.hh b/examples/extended/hadronic/Hadr01/include/EventAction.hh index f0da3acf47..fe18e6c7e7 100755 --- a/examples/extended/hadronic/Hadr01/include/EventAction.hh +++ b/examples/extended/hadronic/Hadr01/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.3 2006/06/29 17:23:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/include/EventActionMessenger.hh b/examples/extended/hadronic/Hadr01/include/EventActionMessenger.hh index 4ce719a8be..99b0e73fe5 100644 --- a/examples/extended/hadronic/Hadr01/include/EventActionMessenger.hh +++ b/examples/extended/hadronic/Hadr01/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.3 2006/06/29 17:23:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/include/Histo.hh b/examples/extended/hadronic/Hadr01/include/Histo.hh index 7d12414c80..ff71efcab6 100644 --- a/examples/extended/hadronic/Hadr01/include/Histo.hh +++ b/examples/extended/hadronic/Hadr01/include/Histo.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: Histo.hh,v 1.4 2006/08/11 14:38:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: Histo.hh,v 1.6 2007/05/24 13:52:31 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef Histo_h #define Histo_h 1 @@ -55,9 +55,10 @@ class HistoMessenger; namespace AIDA { - class ITree; - class ITuple; - class IHistogram1D; + class ITree; + class ITuple; + class IHistogram1D; + class IAnalysisFactory; } class Histo @@ -121,6 +122,7 @@ private: G4int defaultAct; std::vector histo; + AIDA::IAnalysisFactory* af; AIDA::ITuple* ntup; AIDA::ITree* tree; HistoMessenger* messenger; diff --git a/examples/extended/hadronic/Hadr01/include/HistoManager.hh b/examples/extended/hadronic/Hadr01/include/HistoManager.hh index 2c31d661e6..db597630f0 100644 --- a/examples/extended/hadronic/Hadr01/include/HistoManager.hh +++ b/examples/extended/hadronic/Hadr01/include/HistoManager.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.hh,v 1.7 2006/11/15 14:58:09 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: HistoManager.hh,v 1.8 2007/05/16 11:43:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -79,6 +79,8 @@ public: void BeginOfRun(); void EndOfRun(); + void BeginOfEvent(); + void EndOfEvent(); void Fill(G4int id, G4double x, G4double w); void ScoreNewTrack(const G4Track*); @@ -105,6 +107,8 @@ public: G4double CurrentKinEnergy() {return currentKinEnergy;}; const G4ParticleDefinition* CurrentParticle() {return currentDef;}; + void SetMaxEnergyDeposit(G4double val) {edepMax = val;}; + private: static HistoManager* fManager; @@ -115,6 +119,10 @@ private: const G4Material* material; G4Element* elm; + G4double edepMax; + G4double edepEvt; + G4double edepSum; + G4double edepSum2; G4double beamEnergy; G4double length; G4double absZ0; diff --git a/examples/extended/hadronic/Hadr01/include/HistoMessenger.hh b/examples/extended/hadronic/Hadr01/include/HistoMessenger.hh index 47b2c41961..0d3e403bbb 100644 --- a/examples/extended/hadronic/Hadr01/include/HistoMessenger.hh +++ b/examples/extended/hadronic/Hadr01/include/HistoMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.hh,v 1.5 2006/11/15 14:58:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/include/PhysicsList.hh b/examples/extended/hadronic/Hadr01/include/PhysicsList.hh index 4a05b024b5..0958944305 100755 --- a/examples/extended/hadronic/Hadr01/include/PhysicsList.hh +++ b/examples/extended/hadronic/Hadr01/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.5 2006/08/28 13:54:13 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/include/PhysicsListMessenger.hh b/examples/extended/hadronic/Hadr01/include/PhysicsListMessenger.hh index 268d94ef19..6cf37f247d 100755 --- a/examples/extended/hadronic/Hadr01/include/PhysicsListMessenger.hh +++ b/examples/extended/hadronic/Hadr01/include/PhysicsListMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsListMessenger.hh,v 1.3 2006/06/29 17:23:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ///////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/hadronic/Hadr01/include/PrimaryGeneratorAction.hh b/examples/extended/hadronic/Hadr01/include/PrimaryGeneratorAction.hh index 2a05ef187b..93a29f77bc 100644 --- a/examples/extended/hadronic/Hadr01/include/PrimaryGeneratorAction.hh +++ b/examples/extended/hadronic/Hadr01/include/PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: PrimaryGeneratorAction.hh,v 1.3 2006/06/29 17:23:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ///////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/hadronic/Hadr01/include/StackingAction.hh b/examples/extended/hadronic/Hadr01/include/StackingAction.hh index dd84fee543..172f48d138 100644 --- a/examples/extended/hadronic/Hadr01/include/StackingAction.hh +++ b/examples/extended/hadronic/Hadr01/include/StackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingAction.hh,v 1.3 2006/06/29 17:23:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/include/StackingMessenger.hh b/examples/extended/hadronic/Hadr01/include/StackingMessenger.hh index 9bb5dd2be8..1d5711bcb2 100644 --- a/examples/extended/hadronic/Hadr01/include/StackingMessenger.hh +++ b/examples/extended/hadronic/Hadr01/include/StackingMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingMessenger.hh,v 1.3 2006/06/29 17:23:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ///////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/hadronic/Hadr01/include/TargetSD.hh b/examples/extended/hadronic/Hadr01/include/TargetSD.hh index 2423eb649b..b5a657008e 100755 --- a/examples/extended/hadronic/Hadr01/include/TargetSD.hh +++ b/examples/extended/hadronic/Hadr01/include/TargetSD.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TargetSD.hh,v 1.4 2006/06/29 17:24:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/p_pb.in b/examples/extended/hadronic/Hadr01/p_pb.in index 83a11d44c8..c999f0e1ec 100644 --- a/examples/extended/hadronic/Hadr01/p_pb.in +++ b/examples/extended/hadronic/Hadr01/p_pb.in @@ -18,6 +18,7 @@ /run/initialize #/process/eLoss/MscStepLimit 0.2 false /testhadr/HistoName p_pb_20GeV +/testhadr/MaxEdep 10 GeV # /gun/particle proton /gun/energy 20. GeV diff --git a/examples/extended/hadronic/Hadr01/run.csh b/examples/extended/hadronic/Hadr01/run.csh index 907c1251c8..3e9ec7b0ef 100644 --- a/examples/extended/hadronic/Hadr01/run.csh +++ b/examples/extended/hadronic/Hadr01/run.csh @@ -1,6 +1,6 @@ #/bin/csh -setenv HISTODIR v20070415 +setenv HISTODIR 20070516 mkdir -p $HISTODIR setenv PHYSLIST LHEP @@ -27,8 +27,5 @@ $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out setenv PHYSLIST QBBC $G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out -setenv PHYSLIST QBBC_FTF -$G4MY/hadr01 p_pb.in >& $HISTODIR/$PHYSLIST.out - echo "Done!" # diff --git a/examples/extended/hadronic/Hadr01/src/CheckVolumeSD.cc b/examples/extended/hadronic/Hadr01/src/CheckVolumeSD.cc index 988f7452ed..3ea70e55ff 100755 --- a/examples/extended/hadronic/Hadr01/src/CheckVolumeSD.cc +++ b/examples/extended/hadronic/Hadr01/src/CheckVolumeSD.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: CheckVolumeSD.cc,v 1.3 2006/06/29 17:24:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/src/DetectorConstruction.cc b/examples/extended/hadronic/Hadr01/src/DetectorConstruction.cc index 8148474c41..6d0f0a0ae9 100644 --- a/examples/extended/hadronic/Hadr01/src/DetectorConstruction.cc +++ b/examples/extended/hadronic/Hadr01/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.6 2006/10/04 09:56:03 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/src/DetectorMessenger.cc b/examples/extended/hadronic/Hadr01/src/DetectorMessenger.cc index 80169eec84..f72bfec86d 100644 --- a/examples/extended/hadronic/Hadr01/src/DetectorMessenger.cc +++ b/examples/extended/hadronic/Hadr01/src/DetectorMessenger.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: DetectorMessenger.cc,v 1.6 2006/11/15 14:58:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: DetectorMessenger.cc,v 1.7 2007/05/16 11:43:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // @@ -93,6 +93,13 @@ DetectorMessenger::DetectorMessenger(DetectorConstruction * Det) nOfAbsCmd->SetParameterName("NZ",false); nOfAbsCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + edepCmd = new G4UIcmdWithADoubleAndUnit("/testhadr/MaxEdep",this); + edepCmd->SetGuidance("Set max energy in histogram"); + edepCmd->SetParameterName("edep",false); + edepCmd->SetUnitCategory("Energy"); + edepCmd->SetRange("edep>0"); + edepCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + updateCmd = new G4UIcmdWithoutParameter("/testhadr/Update",this); updateCmd->SetGuidance("Update geometry."); updateCmd->SetGuidance("This command MUST be applied before \"beamOn\" "); @@ -121,6 +128,7 @@ DetectorMessenger::~DetectorMessenger() delete testDir; delete beamCmd; delete verbCmd; + delete edepCmd; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -144,6 +152,8 @@ void DetectorMessenger::SetNewValue(G4UIcommand* command, G4String newValue) h->SetVerbose(verbCmd->GetNewIntValue(newValue)); else if (command == beamCmd) h->SetDefaultBeamPositionFlag(beamCmd->GetNewBoolValue(newValue)); + else if (command == edepCmd) + h->SetMaxEnergyDeposit(edepCmd->GetNewDoubleValue(newValue)); else if( command == updateCmd ) Detector->UpdateGeometry(); } diff --git a/examples/extended/hadronic/Hadr01/src/EventAction.cc b/examples/extended/hadronic/Hadr01/src/EventAction.cc index dc6c4bb99e..cecdd375eb 100755 --- a/examples/extended/hadronic/Hadr01/src/EventAction.cc +++ b/examples/extended/hadronic/Hadr01/src/EventAction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: EventAction.cc,v 1.3 2006/06/29 17:24:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: EventAction.cc,v 1.4 2007/05/16 11:43:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // @@ -88,8 +88,9 @@ void EventAction::BeginOfEventAction(const G4Event* evt) } // Initialize user actions - if(HistoManager::GetPointer()->GetVerbose() > 0 || - G4int(nEvt/printModulo)*printModulo == nEvt) + HistoManager* man = HistoManager::GetPointer(); + man->BeginOfEvent(); + if(man->GetVerbose() > 0 || G4int(nEvt/printModulo)*printModulo == nEvt) G4cout << "EventAction: Event # " << nEvt << " started" << G4endl; @@ -124,7 +125,9 @@ void EventAction::EndOfEventAction(const G4Event* evt) debugStarted = false; } - if(HistoManager::GetPointer()->GetVerbose() > 1) + HistoManager* man = HistoManager::GetPointer(); + man->EndOfEvent(); + if(man->GetVerbose() > 1) G4cout << "EventAction: Event ended" << G4endl; } diff --git a/examples/extended/hadronic/Hadr01/src/EventActionMessenger.cc b/examples/extended/hadronic/Hadr01/src/EventActionMessenger.cc index 9e03ec5385..ab4304ca42 100644 --- a/examples/extended/hadronic/Hadr01/src/EventActionMessenger.cc +++ b/examples/extended/hadronic/Hadr01/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.3 2006/06/29 17:24:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/src/Histo.cc b/examples/extended/hadronic/Hadr01/src/Histo.cc index b507bdf8d4..749b13dba5 100644 --- a/examples/extended/hadronic/Hadr01/src/Histo.cc +++ b/examples/extended/hadronic/Hadr01/src/Histo.cc @@ -39,13 +39,10 @@ #include "Histo.hh" #ifdef G4ANALYSIS_USE -#include // for the auto_ptr(T> #include #include "HistoMessenger.hh" #endif -//#include - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -65,6 +62,8 @@ Histo::Histo(G4int ver) #ifdef G4ANALYSIS_USE messenger = new HistoMessenger(this); + tree = 0; + af = 0; #endif } @@ -73,10 +72,8 @@ Histo::Histo(G4int ver) Histo::~Histo() { #ifdef G4ANALYSIS_USE - for(G4int i=0; i af( AIDA_createAnalysisFactory() ); + if(!af) af = AIDA_createAnalysisFactory(); if(verbose>0) G4cout<<"HIsto books analysis factory ......... "< tf( af->createTreeFactory() ); + AIDA::ITreeFactory* tf = af->createTreeFactory(); if(verbose>0) G4cout<<"Histo books tree factory ......... "<create(name, histType, false, true, option); G4cout << "Histo: tree store : " << tree->storeName() << G4endl; + delete tf; // Creating a histogram factory, whose histograms will be handled by the tree - std::auto_ptr< AIDA::IHistogramFactory > hf(af->createHistogramFactory( *tree )); + AIDA::IHistogramFactory* hf = af->createHistogramFactory( *tree ); // Creating an 1-dimensional histograms in the root directory of the tree for(G4int i=0; i0) G4cout<<"Histo books tuple factory for "< tpf( af->createTupleFactory( *tree ) ); + + AIDA::ITupleFactory* tpf = af->createTupleFactory( *tree ); ntup = tpf->create(tupleId, tupleName, tupleList); + delete tpf; } #endif } @@ -141,9 +144,8 @@ void Histo::save() G4cout << "Closing the tree..." << G4endl; tree->close(); G4cout << "Histograms and Ntuples are saved" << G4endl; - for(G4int i=0; ireset(); - } + delete tree; + tree = 0; #endif } @@ -152,9 +154,8 @@ void Histo::save() void Histo::reset() { #ifdef G4ANALYSIS_USE - for(G4int i=0; ireset(); - } + delete tree; + tree = 0; #endif } @@ -226,7 +227,7 @@ void Histo::fill(G4int i, G4double x, G4double w) << G4endl; #ifdef G4ANALYSIS_USE if(i>=0 && ifill((float)(x/unit[i]), (float)w); + histo[i]->fill(x/unit[i], w); } else { G4cout << "Histo::fill: WARNING! wrong histogram index " << i << G4endl; } diff --git a/examples/extended/hadronic/Hadr01/src/HistoManager.cc b/examples/extended/hadronic/Hadr01/src/HistoManager.cc index 86e9572159..b20c3d55e0 100644 --- a/examples/extended/hadronic/Hadr01/src/HistoManager.cc +++ b/examples/extended/hadronic/Hadr01/src/HistoManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HistoManager.cc,v 1.11 2006/11/15 14:58:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: HistoManager.cc,v 1.14 2007/05/24 13:52:31 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -89,8 +89,9 @@ HistoManager::HistoManager() verbose= 0; nSlices = 300; nBinsE = 100; - nHisto = 19; + nHisto = 22; length = 300.*mm; + edepMax = 1.0*GeV; beamFlag = true; material = 0; elm = 0; @@ -131,6 +132,8 @@ void HistoManager::bookHisto() histo->add1D("19","log10 Energy (MeV) of leaking charged pions",nBinsE,-4.,6.,1.0); histo->add1D("20","Log10 Energy (MeV) of pi+",nBinsE,-4.,6.,1.0); histo->add1D("21","Log10 Energy (MeV) of pi-",nBinsE,-4.,6.,1.0); + histo->add1D("22","Energy deposition (GeV) in the target", + nBinsE,0.0,edepMax,GeV); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -159,6 +162,9 @@ void HistoManager::BeginOfRun() n_neu_leak = 0; n_neu_back = 0; + edepSum = 0.0; + edepSum2 = 0.0; + bookHisto(); histo->book(); @@ -200,11 +206,19 @@ void HistoManager::EndOfRun() G4double xia = x*(G4double)n_alpha; G4double xio = x*(G4double)n_ions; + edepSum *= x; + edepSum2 *= x; + edepSum2 -= edepSum*edepSum; + if(edepSum2 > 0.0) edepSum2 = std::sqrt(edepSum2); + else edepSum2 = 0.0; + G4cout << "Beam particle " << primaryDef->GetParticleName() < 1) histo->print(0); histo->save(); - histo->reset(); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void HistoManager::BeginOfEvent() +{ + edepEvt = 0.0; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void HistoManager::EndOfEvent() +{ + edepSum += edepEvt; + edepSum2 += edepEvt*edepEvt; + histo->fill(21,edepEvt,1.0); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -327,24 +356,30 @@ void HistoManager::ScoreNewTrack(const G4Track* track) void HistoManager::AddTargetStep(const G4Step* step) { n_step++; - const G4Track* track = step->GetTrack(); - currentDef = track->GetDefinition(); - currentKinEnergy = track->GetKineticEnergy(); + G4double edep = step->GetTotalEnergyDeposit(); + if(edep >= DBL_MIN) { + const G4Track* track = step->GetTrack(); + currentDef = track->GetDefinition(); + currentKinEnergy = track->GetKineticEnergy(); - G4ThreeVector pos = - (step->GetPreStepPoint()->GetPosition() + - step->GetPostStepPoint()->GetPosition())*0.5; + G4ThreeVector pos = + (step->GetPreStepPoint()->GetPosition() + + step->GetPostStepPoint()->GetPosition())*0.5; - G4double z = pos.z() - absZ0; - histo->fill(0,z,step->GetTotalEnergyDeposit()); + G4double z = pos.z() - absZ0; - if(1 < verbose) - G4cout << "HistoManager::AddEnergy: e(keV)= " << step->GetTotalEnergyDeposit()/keV - << "; z(mm)= " << z/mm - << "; step(mm)= " << step->GetStepLength()/mm - << " by " << currentDef->GetParticleName() - << " E(MeV)= " << currentKinEnergy/MeV - << G4endl; + // scoring + edepEvt += edep; + histo->fill(0,z,edep); + + if(1 < verbose) + G4cout << "HistoManager::AddEnergy: e(keV)= " << edep/keV + << "; z(mm)= " << z/mm + << "; step(mm)= " << step->GetStepLength()/mm + << " by " << currentDef->GetParticleName() + << " E(MeV)= " << currentKinEnergy/MeV + << G4endl; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/hadronic/Hadr01/src/HistoMessenger.cc b/examples/extended/hadronic/Hadr01/src/HistoMessenger.cc index b795982e38..d547382ed7 100644 --- a/examples/extended/hadronic/Hadr01/src/HistoMessenger.cc +++ b/examples/extended/hadronic/Hadr01/src/HistoMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: HistoMessenger.cc,v 1.5 2006/06/29 17:24:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/src/PhysicsList.cc b/examples/extended/hadronic/Hadr01/src/PhysicsList.cc index 82e65e8e55..9a98c09396 100755 --- a/examples/extended/hadronic/Hadr01/src/PhysicsList.cc +++ b/examples/extended/hadronic/Hadr01/src/PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysicsList.cc,v 1.19 2007/04/26 18:16:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: PhysicsList.cc,v 1.21 2007/06/01 16:07:31 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // @@ -44,8 +44,8 @@ #include "PhysicsListMessenger.hh" #include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics72.hh" -#include "G4EmStandardPhysics71.hh" +#include "G4EmStandardPhysics_option2.hh" +#include "G4EmStandardPhysics_option1.hh" #include "G4EmStandardPhysics.hh" #include "G4HadronElasticPhysics.hh" #include "G4HadronQElasticPhysics.hh" @@ -58,16 +58,22 @@ #include "G4EmExtraPhysics.hh" #include "G4EmProcessOptions.hh" -#include "HadronPhysicsQGSP_BIC.hh" -#include "HadronPhysicsQGSP_BIC_HP.hh" #include "HadronPhysicsFTFP.hh" +#include "HadronPhysicsFTFC.hh" #include "HadronPhysicsLHEP.hh" -#include "HadronPhysicsQGSP_BERT_HP.hh" -#include "HadronPhysicsQGSP_BERT.hh" +#include "HadronPhysicsLHEP_BERT.hh" +#include "HadronPhysicsLHEP_EMV.hh" +#include "HadronPhysicsLHEP_PRECO_HP.hh" +#include "G4HadronInelasticQBBC.hh" #include "HadronPhysicsQGSC.hh" #include "HadronPhysicsQGSC_EFLOW.hh" #include "HadronPhysicsQGSP.hh" -#include "G4HadronInelasticQBBC.hh" +#include "HadronPhysicsQGSP_BERT.hh" +#include "HadronPhysicsQGSP_BERT_HP.hh" +#include "HadronPhysicsQGSP_BERT_TRV.hh" +#include "HadronPhysicsQGSP_BIC.hh" +#include "HadronPhysicsQGSP_BIC_HP.hh" + #include "G4HadronInelasticQLHEP.hh" #include "G4IonPhysics.hh" #include "G4HadronProcessStore.hh" @@ -98,7 +104,7 @@ PhysicsList::PhysicsList() : G4VModularPhysicsList() particleList = new G4DecayPhysics("decays"); // EM physics - emPhysicsList = new G4EmStandardPhysics("G4standard"); + emPhysicsList = new G4EmStandardPhysics(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... @@ -141,40 +147,99 @@ void PhysicsList::AddPhysicsList(const G4String& name) if (verboseLevel>0) G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" << G4endl; - if (name == "LHEP") { - - hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc")); - hadronPhys.push_back( new G4HadronElasticPhysics("LElastic", - verboseLevel,false)); - hadronPhys.push_back( new HadronPhysicsLHEP()); - hadronPhys.push_back( new G4IonPhysics("ion")); - - } else if (name == "G4standard_exp") { + if (name == "emstandard_opt2") { delete emPhysicsList; - emPhysicsList = new G4EmStandardPhysics72("standard"); + emPhysicsList = new G4EmStandardPhysics_option2(); - } else if (name == "G4standard_fast") { + } else if (name == "emstandard_opt1") { delete emPhysicsList; - emPhysicsList = new G4EmStandardPhysics71("standard"); + emPhysicsList = new G4EmStandardPhysics_option1(); - } else if (name == "FTFP_EMV") { + } else if (name == "FTFC") { - AddPhysicsList("G4standard_fast"); - AddPhysicsList("FTFP"); + hadronPhys.push_back( new HadronPhysicsFTFC("hadron",true)); + SetStandardList(false, false); dump = true; } else if (name == "FTFP") { + hadronPhys.push_back( new HadronPhysicsFTFP("hadron",true)); + SetStandardList(false, false); + dump = true; + + } else if (name == "FTFP_EMV") { + + AddPhysicsList("emstandard_opt1"); + AddPhysicsList("FTFP"); + dump = true; + + } else if (name == "LHEP") { + hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc")); - hadronPhys.push_back( new G4HadronElasticPhysics("elastic", + hadronPhys.push_back( new G4HadronElasticPhysics("LElastic", verboseLevel,false)); - hadronPhys.push_back( new HadronPhysicsFTFP("hadron")); + hadronPhys.push_back( new HadronPhysicsLHEP("hadron")); + hadronPhys.push_back( new G4IonPhysics("ion")); + + } else if (name == "LHEP_BERT") { + + hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc")); + hadronPhys.push_back( new G4HadronElasticPhysics("LElastic", + verboseLevel,false)); + hadronPhys.push_back( new HadronPhysicsLHEP_BERT("hadron")); hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); hadronPhys.push_back( new G4IonPhysics("ion")); - hadronPhys.push_back( new G4NeutronTrackingCut()); - dump = true; + + } else if (name == "LHEP_EMV") { + + AddPhysicsList("emstandard_opt1"); + hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc")); + hadronPhys.push_back( new G4HadronElasticPhysics("LElastic", + verboseLevel,false)); + hadronPhys.push_back( new HadronPhysicsLHEP_EMV("hadron")); + hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); + hadronPhys.push_back( new G4IonPhysics("ion")); + + } else if (name == "LHEP_PRECO_HP") { + + hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc")); + hadronPhys.push_back( new G4HadronElasticPhysics("LElastic", + verboseLevel,false)); + hadronPhys.push_back( new HadronPhysicsLHEP_PRECO_HP("hadron")); + hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); + hadronPhys.push_back( new G4IonPhysics("ion")); + + } else if (name == "QBBC") { + + SetStandardList(false,true); + hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, + false,false,false,false,true)); + + } else if (name == "QBBCG") { + + SetStandardList(false, false); + hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, + false,false,false,false,false)); + + } else if (name == "QBEC") { + + SetStandardList(false,true); + hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, + false,true,false,false,true)); + + } else if (name == "QBBC_HP") { + + SetStandardList(true,true); + hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, + false,false,false,true,true)); + + } else if (name == "QBEC_HP") { + + SetStandardList(true,true); + hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, + false,true,false,true,true)); } else if (name == "QGSC") { @@ -198,19 +263,80 @@ void PhysicsList::AddPhysicsList(const G4String& name) } else if (name == "QGSC_EMV") { - AddPhysicsList("G4standard_fast"); + AddPhysicsList("emstandard_opt1"); AddPhysicsList("QGSC"); dump = true; } else if (name == "QGSP") { - hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc")); - hadronPhys.push_back( new G4HadronElasticPhysics("elastic", - verboseLevel,false)); + SetStandardList(false, false); hadronPhys.push_back( new HadronPhysicsQGSP("hadron",true)); - hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); - hadronPhys.push_back( new G4IonPhysics("ion")); - hadronPhys.push_back( new G4NeutronTrackingCut()); + dump = true; + + } else if (name == "QGSP_BERT") { + + SetStandardList(false, false); + hadronPhys.push_back( new HadronPhysicsQGSP_BERT("hadron",true)); + dump = true; + + } else if (name == "QGSP_BERT_EMV") { + + AddPhysicsList("emstandard_opt1"); + AddPhysicsList("QGSP_BERT"); + dump = true; + + } else if (name == "QGSP_BERT_HP") { + + SetStandardList(true, false); + hadronPhys.push_back( new HadronPhysicsQGSP_BERT_HP("hadron",true)); + dump = true; + + } else if (name == "QGSP_BERT_NQE") { + + SetStandardList(false, false); + hadronPhys.push_back( new HadronPhysicsQGSP_BERT("hadron",false)); + dump = true; + + } else if (name == "QGSP_BERT_TRV") { + + SetStandardList(false, false); + hadronPhys.push_back( new HadronPhysicsQGSP_BERT_TRV("hadron",true)); + dump = true; + + } else if (name == "QGSP_BIC") { + + SetStandardList(false, false); + hadronPhys.push_back( new HadronPhysicsQGSP_BIC("hadron",true)); + dump = true; + + } else if (name == "QGSP_BIC_HP") { + + SetStandardList(true, false); + hadronPhys.push_back( new HadronPhysicsQGSP_BIC_HP("hadron",true)); + dump = true; + + } else if (name == "QGSP_EMV") { + + AddPhysicsList("emstandard_opt1"); + AddPhysicsList("QGSP"); + dump = true; + + } else if (name == "QGSP_EMV_NQE") { + + AddPhysicsList("emstandard_opt1"); + AddPhysicsList("QGSP_NQE"); + dump = true; + + } else if (name == "QGSP_EMX") { + + AddPhysicsList("emstandard_opt2"); + AddPhysicsList("QGSP"); + dump = true; + + } else if (name == "QGSP_NQE") { + + SetStandardList(false, false); + hadronPhys.push_back( new HadronPhysicsQGSP("hadron",false)); dump = true; } else if (name == "QGSP_QEL") { @@ -224,129 +350,6 @@ void PhysicsList::AddPhysicsList(const G4String& name) hadronPhys.push_back( new G4NeutronTrackingCut()); dump = true; - - } else if (name == "QGSP_NQE") { - - hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc")); - hadronPhys.push_back( new G4HadronElasticPhysics("elastic", - verboseLevel,false)); - hadronPhys.push_back( new HadronPhysicsQGSP("hadron",false)); - hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); - hadronPhys.push_back( new G4IonPhysics("ion")); - hadronPhys.push_back( new G4NeutronTrackingCut()); - dump = true; - - } else if (name == "QGSP_EMV_NQE") { - - AddPhysicsList("G4standard_fast"); - AddPhysicsList("QGSP_NQE"); - dump = true; - - } else if (name == "LHEP_EMV") { - - AddPhysicsList("G4standard_fast"); - AddPhysicsList("LHEP"); - dump = true; - - } else if (name == "QGSP_EMV") { - - AddPhysicsList("G4standard_fast"); - AddPhysicsList("QGSP"); - dump = true; - - } else if (name == "QGSP_EMX") { - - AddPhysicsList("G4standard_exp"); - AddPhysicsList("QGSP"); - dump = true; - - } else if (name == "QGSP_BERT_EMV") { - - AddPhysicsList("G4standard_fast"); - AddPhysicsList("QGSP_BERT"); - dump = true; - - } else if (name == "QGSP_BERT") { - - hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc")); - hadronPhys.push_back( new G4HadronElasticPhysics("elastic", - verboseLevel,false)); - hadronPhys.push_back( new HadronPhysicsQGSP_BERT("hadron",true)); - hadronPhys.push_back( new G4QStoppingPhysics("stopping")); - hadronPhys.push_back( new G4IonPhysics("ion")); - hadronPhys.push_back( new G4NeutronTrackingCut()); - dump = true; - - } else if (name == "QGSP_BERT_NQE") { - - hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc")); - hadronPhys.push_back( new G4HadronElasticPhysics("elastic", - verboseLevel,false)); - hadronPhys.push_back( new HadronPhysicsQGSP_BERT("hadron",false)); - hadronPhys.push_back( new G4QStoppingPhysics("stopping")); - hadronPhys.push_back( new G4IonPhysics("ion")); - hadronPhys.push_back( new G4NeutronTrackingCut()); - dump = true; - - } else if (name == "QGSP_BERT_HP") { - - hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc")); - hadronPhys.push_back( new G4HadronElasticPhysics("elastic", - verboseLevel,true)); - hadronPhys.push_back( new HadronPhysicsQGSP_BERT_HP("hadron",true)); - hadronPhys.push_back( new G4QStoppingPhysics("stopping")); - hadronPhys.push_back( new G4IonPhysics("ion")); - hadronPhys.push_back( new G4NeutronTrackingCut()); - dump = true; - - } else if (name == "QGSP_BIC") { - - SetStandardList(false); - hadronPhys.push_back( new HadronPhysicsQGSP_BIC("hadron",true)); - dump = true; - - } else if (name == "QGSP_BIC_HP") { - - SetStandardList(true); - hadronPhys.push_back( new HadronPhysicsQGSP_BIC_HP("hadron",true)); - dump = true; - - } else if (name == "QBBC") { - - SetStandardList(false); - hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, - false,false,false,false,true)); - - } else if (name == "QBBCG") { - - SetStandardList(false, true); - hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, - false,false,false,false,false)); - - } else if (name == "QBEC") { - - SetStandardList(false); - hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, - false,true,false,false,true)); - - } else if (name == "QBBC_HP") { - - SetStandardList(true); - hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, - false,false,false,true,true)); - - } else if (name == "QBEC_HP") { - - SetStandardList(true); - hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, - false,true,false,true,true)); - - } else if (name == "QBBC_FTF") { - - SetStandardList(false); - hadronPhys.push_back( new G4HadronInelasticQBBC("QBBC",verboseLevel, - true,false,false,false,true)); - } else { G4cout << "PhysicsList::AddPhysicsList: <" << name << ">" @@ -362,7 +365,7 @@ void PhysicsList::SetStandardList(G4bool flagHP, G4bool glauber) hadronPhys.push_back( new G4EmExtraPhysics("gamma_nuc")); hadronPhys.push_back( new G4HadronElasticPhysics("elastic",verboseLevel, flagHP,glauber)); - hadronPhys.push_back( new G4QStoppingPhysics("stopping")); + hadronPhys.push_back( new G4QStoppingPhysics("stopping",verboseLevel)); hadronPhys.push_back( new G4IonBinaryCascadePhysics("binary_ion")); hadronPhys.push_back( new G4NeutronTrackingCut()); } @@ -412,11 +415,17 @@ void PhysicsList::SetCutForPositron(G4double cut) void PhysicsList::List() { - G4cout << "### PhysicsLists available: LHEP LHEP_EMV QGSP QGSP_BERT QGSP_BERT_HP QGSP_BIC QGSP_BIC_HP" + G4cout << "### PhysicsLists available: FTFC FTFP FTFP_EMV LHEP LHEP_BERT LHEP_EMV" + << G4endl; + G4cout << " LHEP_PRECO_HP QBBC QBBCG QBEC QBBC_HP QBEC_HP" << G4endl; - G4cout << " QGSP_EMV_NQE QGSP_NQE QGSP_QEL QGSC QGSC_EMV QGSC_EFLOW FTFP FTFP_EMV" + G4cout << " QGSC QGSC_EFLOW QGSC_EMV QGSP QGSP_BERT QGSP_BER_EMV" << G4endl; - G4cout << " QGSP_EMV QGSP_EMX QBBC QBBCG QBEC QBBC_HP QBEC_HP QBBC_FTF" + G4cout << " QGSP_BERT_HP QGSP_BERT_NQE QGSP_BERT_TRV" + << G4endl; + G4cout << " QGSP_BIC QGSP_BIC_HP QGSP_EMV QGSP_EMV_NQE" + << G4endl; + G4cout << " QGSC_EMX QGSP_NQE QGSP_QEL" << G4endl; } diff --git a/examples/extended/hadronic/Hadr01/src/PhysicsListMessenger.cc b/examples/extended/hadronic/Hadr01/src/PhysicsListMessenger.cc index 53176fee4d..97be260326 100755 --- a/examples/extended/hadronic/Hadr01/src/PhysicsListMessenger.cc +++ b/examples/extended/hadronic/Hadr01/src/PhysicsListMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: PhysicsListMessenger.cc,v 1.4 2006/08/11 14:38:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ///////////////////////////////////////////////////////////////////////// diff --git a/examples/extended/hadronic/Hadr01/src/PrimaryGeneratorAction.cc b/examples/extended/hadronic/Hadr01/src/PrimaryGeneratorAction.cc index ba78b79c08..2a7fc70716 100644 --- a/examples/extended/hadronic/Hadr01/src/PrimaryGeneratorAction.cc +++ b/examples/extended/hadronic/Hadr01/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.4 2006/11/15 14:58:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/src/StackingAction.cc b/examples/extended/hadronic/Hadr01/src/StackingAction.cc index 648a9656ad..872cbceca4 100644 --- a/examples/extended/hadronic/Hadr01/src/StackingAction.cc +++ b/examples/extended/hadronic/Hadr01/src/StackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingAction.cc,v 1.5 2006/10/04 09:56:03 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/src/StackingMessenger.cc b/examples/extended/hadronic/Hadr01/src/StackingMessenger.cc index 2310bb07dd..c46d79d273 100644 --- a/examples/extended/hadronic/Hadr01/src/StackingMessenger.cc +++ b/examples/extended/hadronic/Hadr01/src/StackingMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingMessenger.cc,v 1.3 2006/06/29 17:24:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/hadronic/Hadr01/src/TargetSD.cc b/examples/extended/hadronic/Hadr01/src/TargetSD.cc index e7947ee499..9b46f0fdbc 100644 --- a/examples/extended/hadronic/Hadr01/src/TargetSD.cc +++ b/examples/extended/hadronic/Hadr01/src/TargetSD.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TargetSD.cc,v 1.4 2006/06/29 17:24:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///////////////////////////////////////////////////////////////////////// // diff --git a/examples/extended/medical/GammaTherapy/GammaTherapy.cc b/examples/extended/medical/GammaTherapy/GammaTherapy.cc index f8f12b6cbe..b7b70c3243 100644 --- a/examples/extended/medical/GammaTherapy/GammaTherapy.cc +++ b/examples/extended/medical/GammaTherapy/GammaTherapy.cc @@ -54,10 +54,6 @@ #include "RunAction.hh" #include "Histo.hh" -#include -#include -#include - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -96,25 +92,25 @@ int main(int argc,char** argv) { { visManager = new G4VisExecutive(); visManager->Initialize(); - G4UIsession * session = new G4UIterminal; + G4UIsession * session; #ifdef G4UI_USE_TCSH - session = new G4UIterminal(new G4UItcsh); + session = new G4UIterminal(new G4UItcsh); #else - session = new G4UIterminal(); + session = new G4UIterminal(); #endif - session->SessionStart(); - delete session; + session->SessionStart(); + delete session; } else if (argc>1) // Batch mode with 1 or more files { - if(verbose >0) G4cout << "UI interface is started" << G4endl; - G4String command = "/control/execute "; - G4String fileName = argv[1]; - UI->ApplyCommand(command+fileName); + if(verbose >0) G4cout << "UI interface is started" << G4endl; + G4String command = "/control/execute "; + G4String fileName = argv[1]; + UI->ApplyCommand(command+fileName); } // job termination - if(visManager) delete visManager; + delete visManager; delete runManager; return 0; diff --git a/examples/extended/medical/GammaTherapy/GammaTherapy.in b/examples/extended/medical/GammaTherapy/GammaTherapy.in index 9615458ef1..7bb287460f 100644 --- a/examples/extended/medical/GammaTherapy/GammaTherapy.in +++ b/examples/extended/medical/GammaTherapy/GammaTherapy.in @@ -9,13 +9,12 @@ /testem/verbose 0 # /testem/phys/setCuts 0.1 mm -#/testem/stepMax 1.0 mm -/process/eLoss/StepFunction 0.2 1. mm # -/testem/phys/addPhysics standard -#/testem/phys/addPhysics g4v52 +/testem/phys/addPhysics emstandard +#/testem/phys/addPhysics emstandard_opt2 #/testem/phys/addPhysics penelope -#/testem/phys/addPhysics lowenergy +#/testem/phys/addPhysics livermore +#/testem/phys/addPhysics step_limit # /testem/target1Material G4_Be /testem/target2Material G4_W @@ -24,6 +23,8 @@ # #/testem/histoName be_w_st.paw # +#/testem/stepMax 1.0 mm +# /gun/particle e- /gun/energy 50.0 MeV # diff --git a/examples/extended/medical/GammaTherapy/GammaTherapy.out b/examples/extended/medical/GammaTherapy/GammaTherapy.out index 1a313c9115..d60c2f3940 100644 --- a/examples/extended/medical/GammaTherapy/GammaTherapy.out +++ b/examples/extended/medical/GammaTherapy/GammaTherapy.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -73,15 +73,14 @@ UI interface is started /testem/verbose 0 # /testem/phys/setCuts 0.1 mm -#/testem/stepMax 1.0 mm -/process/eLoss/StepFunction 0.2 1. mm # -/testem/phys/addPhysics standard -### PhysicsList Add Physics emBuilderIsRegisted= 0 -PhysicsList::AddPhysicsList -#/testem/phys/addPhysics g4v52 +/testem/phys/addPhysics emstandard +### PhysicsList Add Physics emBuilderIsRegisted= 0 +PhysicsList::AddPhysicsList +#/testem/phys/addPhysics emstandard_opt2 #/testem/phys/addPhysics penelope -#/testem/phys/addPhysics lowenergy +#/testem/phys/addPhysics livermore +#/testem/phys/addPhysics step_limit # /testem/target1Material G4_Be New target1 material G4_Be @@ -92,6 +91,8 @@ New target2 material G4_W # #/testem/histoName be_w_st.paw # +#/testem/stepMax 1.0 mm +# /gun/particle e- /gun/energy 50.0 MeV # @@ -176,22 +177,22 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=296s Real=317.34s Sys=21.31s + User=271.56s Real=271.59s Sys=0.01s RunAction: End of run actions are started Histo: End of run actions are started ======================================================== Number of events 10000 -Average number of e- 13.59 -Average number of gamma 21.22 -Average number of e+ 0.7531 +Average number of e- 12.08 +Average number of gamma 21.08 +Average number of e+ 0.7662 Average number of neutrons 0 -Average number of steps in absorber 33.23 -Average number of e- steps in target 19.07 -Average number of g produced in the target 20.3 -Average number of e- produced in the target 7.163 -Average number of g produced in the phantom 0.5384 -Average number of e- produced in the phantom 2.829 -Total gamma fluence in front of phantom 8.611 MeV +Average number of steps in absorber 31.42 +Average number of e- steps in target 18.73 +Average number of g produced in the target 20.27 +Average number of e- produced in the target 7.184 +Average number of g produced in the phantom 0.5095 +Average number of e- produced in the phantom 2.731 +Total gamma fluence in front of phantom 8.556 MeV ======================================================== diff --git a/examples/extended/medical/GammaTherapy/History b/examples/extended/medical/GammaTherapy/History index 73b849aee3..ce6e559d8f 100644 --- a/examples/extended/medical/GammaTherapy/History +++ b/examples/extended/medical/GammaTherapy/History @@ -1,4 +1,4 @@ -$Id: History,v 1.21 2006/11/16 14:42:20 vnivanch Exp $ +$Id: History,v 1.24 2007/05/25 09:59:14 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,15 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +25-05-07 V.Ivant (gtherapy-V08-03-02) +- Fixed singleton GetPointer method + +24-05-07 V.Ivant (gtherapy-V08-03-01) +- substitute autoptr by normal pointers in Histo to avoid crash + +16 May 07: V.Ivant (gtherapy-V08-03-00) +- Use renamed EM Phys list components from physics_lists subdirectory; + 16 November 06: V.Ivant (gtherapy-V08-01-00) - Use Phys list components from physics_list subdirectory; - GNUmakefile - LDFLAGS -> LOADLIBS diff --git a/examples/extended/medical/GammaTherapy/be.in b/examples/extended/medical/GammaTherapy/be.in index ee1d7ec233..399f70453a 100644 --- a/examples/extended/medical/GammaTherapy/be.in +++ b/examples/extended/medical/GammaTherapy/be.in @@ -1,5 +1,5 @@ #================================================ -# Macro file for the Bremsstrahlung test +# Macro file for the thin Be target # 10.04.01 V.Ivanchneko #================================================ /control/verbose 2 @@ -8,14 +8,13 @@ /event/verbose 0 /testem/verbose 0 # -/testem/phys/addPhysics standard -#/testem/phys/addPhysics g4v52 -#/testem/phys/addPhysics modelP -#/testem/phys/addPhysics lowenergy -/testem/phys/addPhysics elastic -/testem/phys/addPhysics binary -/testem/phys/addPhysics binary_ion -/testem/phys/addPhysics gamma_nuc +/testem/phys/addPhysics emstandard +#/testem/phys/addPhysics emstandard_opt2 +#/testem/phys/addPhysics livermore +#/testem/phys/addPhysics elastic +#/testem/phys/addPhysics binary +#/testem/phys/addPhysics binary_ion +#/testem/phys/addPhysics gamma_nuc # /testem/target1Material G4_Be /testem/target2Material G4_He @@ -26,12 +25,11 @@ # # /testem/phys/setCuts 0.1 mm -/process/eLoss/StepFunction 0.2 1. mm # /gun/particle e- /gun/energy 50.0 MeV # /run/initialize -/testem/stepMax 0.5 mm +#/testem/stepMax 0.5 mm /run/beamOn 100000 # diff --git a/examples/extended/medical/GammaTherapy/be_w.in b/examples/extended/medical/GammaTherapy/be_w.in index 6e698f3e11..61861fcdf2 100644 --- a/examples/extended/medical/GammaTherapy/be_w.in +++ b/examples/extended/medical/GammaTherapy/be_w.in @@ -1,5 +1,5 @@ #================================================ -# Macro file for the Bremsstrahlung test +# Macro file for the thick BeW target # 10.04.01 V.Ivanchneko #================================================ /control/verbose 2 @@ -9,17 +9,14 @@ /testem/verbose 0 # /testem/phys/setCuts 0.1 mm -/process/eLoss/StepFunction 0.2 1. mm -/testem/stepMax 0.5 mm # -/testem/phys/addPhysics standard -#/testem/phys/addPhysics g4v52 -#/testem/phys/addPhysics modelP -#/testem/phys/addPhysics lowenergy -/testem/phys/addPhysics elastic -/testem/phys/addPhysics binary -/testem/phys/addPhysics binary_ion -/testem/phys/addPhysics gamma_nuc +/testem/phys/addPhysics emstandard +#/testem/phys/addPhysics emstandard_opt2 +#/testem/phys/addPhysics livermore +#/testem/phys/addPhysics elastic +#/testem/phys/addPhysics binary +#/testem/phys/addPhysics binary_ion +#/testem/phys/addPhysics gamma_nuc # /testem/target1Material G4_Be /testem/target2Material G4_W @@ -28,6 +25,8 @@ # #/testem/histoName be_w_st_n.paw # +#/testem/stepMax 0.5 mm +# /gun/particle e- /gun/energy 50.0 MeV # diff --git a/examples/extended/medical/GammaTherapy/cu_w.in b/examples/extended/medical/GammaTherapy/cu_w.in index cb1e21c3b6..8d6c1050a0 100644 --- a/examples/extended/medical/GammaTherapy/cu_w.in +++ b/examples/extended/medical/GammaTherapy/cu_w.in @@ -1,5 +1,5 @@ #================================================ -# Macro file for the Bremsstrahlung test +# Macro file for the thick CuW target # 10.04.01 V.Ivanchneko #================================================ /control/verbose 2 @@ -9,12 +9,9 @@ /testem/verbose 0 # /testem/phys/setCuts 0.1 mm -/testem/stepMax 0.5 mm -/process/eLoss/StepFunction 0.2 1. mm # -/testem/phys/addPhysics standard -#/testem/phys/addPhysics g4v52 -#/testem/phys/addPhysics modelP +/testem/phys/addPhysics emstandard +#/testem/phys/addPhysics emstandard_opt2 #/testem/phys/addPhysics lowenergy # /testem/target1Material G4_W @@ -24,6 +21,8 @@ # #/testem/histoName cu_w_st.paw # +#/testem/stepMax 0.5 mm +# /gun/particle e- /gun/energy 50.0 MeV # diff --git a/examples/extended/medical/GammaTherapy/include/EventActionMessenger.hh b/examples/extended/medical/GammaTherapy/include/EventActionMessenger.hh index 1c4a94279f..9007cea4f6 100644 --- a/examples/extended/medical/GammaTherapy/include/EventActionMessenger.hh +++ b/examples/extended/medical/GammaTherapy/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.2 2006/06/29 17:25:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/include/G4StepLimiterBuilder.hh b/examples/extended/medical/GammaTherapy/include/G4StepLimiterBuilder.hh index 30fb5685f8..adc2611e43 100644 --- a/examples/extended/medical/GammaTherapy/include/G4StepLimiterBuilder.hh +++ b/examples/extended/medical/GammaTherapy/include/G4StepLimiterBuilder.hh @@ -25,7 +25,7 @@ // // // $Id: G4StepLimiterBuilder.hh,v 1.2 2006/06/29 17:26:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/include/G4StepLimiterMessenger.hh b/examples/extended/medical/GammaTherapy/include/G4StepLimiterMessenger.hh index e6aa1b3693..77a708eacd 100644 --- a/examples/extended/medical/GammaTherapy/include/G4StepLimiterMessenger.hh +++ b/examples/extended/medical/GammaTherapy/include/G4StepLimiterMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4StepLimiterMessenger.hh,v 1.2 2006/06/29 17:26:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/include/G4StepLimiterPerRegion.hh b/examples/extended/medical/GammaTherapy/include/G4StepLimiterPerRegion.hh index 6b23a39bf0..84fbc4a354 100644 --- a/examples/extended/medical/GammaTherapy/include/G4StepLimiterPerRegion.hh +++ b/examples/extended/medical/GammaTherapy/include/G4StepLimiterPerRegion.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4StepLimiterPerRegion.hh,v 1.3 2006/06/29 17:26:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4StepLimiterPerRegion.hh,v 1.4 2007/05/16 16:27:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -46,8 +46,8 @@ class G4StepLimiterPerRegion : public G4VDiscreteProcess { public: - G4StepLimiterPerRegion(const G4String& processName = "UserMaxStep"); - ~G4StepLimiterPerRegion(); + G4StepLimiterPerRegion(const G4String& processName = "ElectronKiller"); + virtual ~G4StepLimiterPerRegion(); G4bool IsApplicable(const G4ParticleDefinition&); diff --git a/examples/extended/medical/GammaTherapy/include/Histo.hh b/examples/extended/medical/GammaTherapy/include/Histo.hh index b37e4e4a84..2064ad243c 100644 --- a/examples/extended/medical/GammaTherapy/include/Histo.hh +++ b/examples/extended/medical/GammaTherapy/include/Histo.hh @@ -51,14 +51,13 @@ #include "G4DataVector.hh" #include "G4Track.hh" - - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... namespace AIDA { - class ITree; - class ITuple; - class IHistogram1D; + class ITree; + class ITuple; + class IHistogram1D; + class IAnalysisFactory; } class Histo @@ -67,128 +66,136 @@ class Histo public: // With description - static Histo* GetPointer(); + static Histo* GetPointer(); - Histo(); + Histo(); - ~Histo(); + ~Histo(); - void BeginOfHisto(); + void BeginOfHisto(); // In this method histogramms are booked - void EndOfHisto(); + void EndOfHisto(); // In this method bookHisto method is called in which histogramms are filled public: // Without description + + void SetHistoName(const G4String& name) {histName = name;}; + void SetHistoType(const G4String& type) {histType = type;}; + void bookHisto(); + void SaveToTuple(const G4String&, G4double); + void SaveToTuple(const G4String&, G4double, G4double); + void SaveEvent(); - void SetHistoName(const G4String& name) {histName = name;}; - void SetHistoType(const G4String& type) {histType = type;}; - void bookHisto(); - void SaveToTuple(const G4String&, G4double); - void SaveToTuple(const G4String&, G4double, G4double); - void SaveEvent(); - G4double GetTrackLength() const {return trackLength;}; - void ResetTrackLength() {trackLength = 0.0, trackAbs = true;}; - void SetTrackOutAbsorber() {trackAbs = false;}; - G4bool GetTrackInAbsorber() const {return trackAbs;}; - void AddTrackLength(G4double x) {trackLength += x;}; - void AddDeltaElectron(const G4DynamicParticle*); - void AddPhoton(const G4DynamicParticle*); - void AddPhantomPhoton(const G4DynamicParticle*); - void AddTargetPhoton(const G4DynamicParticle*); - void AddPhantomElectron(const G4DynamicParticle*); - void AddTargetElectron(const G4DynamicParticle*); - void AddPositron(const G4DynamicParticle*) {n_posit++;}; - void AddStepInTarget() {n_step_target++;}; - void SetVerbose(G4int val) {verbose = val;}; - G4int GetVerbose() const {return verbose;}; - void SetHistoNumber(G4int val) {nHisto = val;}; - void SetNtuple(G4bool val) {nTuple = val;}; + G4double GetTrackLength() const {return trackLength;}; + void ResetTrackLength() {trackLength = 0.0, trackAbs = true;}; + void SetTrackOutAbsorber() {trackAbs = false;}; + G4bool GetTrackInAbsorber() const {return trackAbs;}; + void AddTrackLength(G4double x) {trackLength += x;}; - void SetNumberDivZ(G4int val) {nBinsZ = val; }; - G4int GetNumberDivZ() const {return nBinsZ;}; - void SetNumberDivR(G4int val) {nBinsR = val; }; - G4int GetNumberDivR() const {return nBinsR;}; - void SetNumberDivE(G4int val) {nBinsE = val; }; + void AddDeltaElectron(const G4DynamicParticle*); + void AddPhoton(const G4DynamicParticle*); + void AddPhantomPhoton(const G4DynamicParticle*); + void AddTargetPhoton(const G4DynamicParticle*); + void AddPhantomElectron(const G4DynamicParticle*); + void AddTargetElectron(const G4DynamicParticle*); + void AddPositron(const G4DynamicParticle*) {n_posit++;}; + void AddStepInTarget() {n_step_target++;}; - void SetFirstEventToDebug(G4int val) {nEvt1 = val;}; - G4int FirstEventToDebug() const {return nEvt1;}; - void SetLastEventToDebug(G4int val) {nEvt2 = val;}; - G4int LastEventToDebug() const {return nEvt2;}; + void SetVerbose(G4int val) {verbose = val;}; + G4int GetVerbose() const {return verbose;}; - void SetAbsorberZ(G4double val) {absorberZ = val;}; - void SetAbsorberR(G4double val) {absorberR = val;}; - void SetScoreZ(G4double val) {scoreZ = val;}; + void SetHistoNumber(G4int val) {nHisto = val;}; + void SetNtuple(G4bool val) {nTuple = val;}; - void SetMaxEnergy(G4double val) {maxEnergy = val;}; - G4double GetMaxEnergy() const {return maxEnergy;}; - void AddEvent() {n_evt++;}; - void AddStep() {n_step++;}; - void SetCheckVolume(G4VPhysicalVolume* v) {checkVolume = v;}; - void SetGasVolume(G4VPhysicalVolume* v) {gasVolume = v;}; - G4VPhysicalVolume* CheckVolume() const {return checkVolume;}; - G4VPhysicalVolume* GasVolume() const {return gasVolume;}; - void SetPhantom(G4VPhysicalVolume* v) {phantom = v;}; - void SetTarget1(G4VPhysicalVolume* v) {target1 = v;}; - void SetTarget2(G4VPhysicalVolume* v) {target2 = v;}; + void SetNumberDivZ(G4int val) {nBinsZ = val; }; + G4int GetNumberDivZ() const {return nBinsZ;}; + void SetNumberDivR(G4int val) {nBinsR = val; }; + G4int GetNumberDivR() const {return nBinsR;}; + void SetNumberDivE(G4int val) {nBinsE = val; }; - void AddStep(G4double e, G4double r1, G4double z1, G4double r2, G4double z2, + void SetFirstEventToDebug(G4int val) {nEvt1 = val;}; + G4int FirstEventToDebug() const {return nEvt1;}; + void SetLastEventToDebug(G4int val) {nEvt2 = val;}; + G4int LastEventToDebug() const {return nEvt2;}; + + void SetAbsorberZ(G4double val) {absorberZ = val;}; + void SetAbsorberR(G4double val) {absorberR = val;}; + void SetScoreZ(G4double val) {scoreZ = val;}; + + void SetMaxEnergy(G4double val) {maxEnergy = val;}; + G4double GetMaxEnergy() const {return maxEnergy;}; + + void AddEvent() {n_evt++;}; + void AddStep() {n_step++;}; + + void SetCheckVolume(G4VPhysicalVolume* v) {checkVolume = v;}; + void SetGasVolume(G4VPhysicalVolume* v) {gasVolume = v;}; + G4VPhysicalVolume* CheckVolume() const {return checkVolume;}; + G4VPhysicalVolume* GasVolume() const {return gasVolume;}; + + void SetPhantom(G4VPhysicalVolume* v) {phantom = v;}; + void SetTarget1(G4VPhysicalVolume* v) {target1 = v;}; + void SetTarget2(G4VPhysicalVolume* v) {target2 = v;}; + + void AddStep(G4double e, G4double r1, G4double z1, G4double r2, G4double z2, G4double r0, G4double z0); - void AddGamma(G4double e, G4double r); - void ScoreNewTrack(const G4Track* aTrack); + void AddGamma(G4double e, G4double r); + void ScoreNewTrack(const G4Track* aTrack); private: // MEMBERS - static Histo* fManager; + static Histo* fManager; - G4VPhysicalVolume* checkVolume; - G4VPhysicalVolume* gasVolume; - G4VPhysicalVolume* phantom; - G4VPhysicalVolume* target1; - G4VPhysicalVolume* target2; - G4String histName; - G4String histType; + G4VPhysicalVolume* checkVolume; + G4VPhysicalVolume* gasVolume; + G4VPhysicalVolume* phantom; + G4VPhysicalVolume* target1; + G4VPhysicalVolume* target2; + G4String histName; + G4String histType; - std::vector histo; - AIDA::ITuple* ntup; - AIDA::ITree* tree; - G4int nHisto; - G4int nHisto1; - G4int verbose; - G4int nBinsZ; - G4int nBinsR; - G4int nBinsE; - G4int nScoreBin; - G4int nEvt1; - G4int nEvt2; + std::vector histo; + AIDA::IAnalysisFactory* af; + AIDA::ITuple* ntup; + AIDA::ITree* tree; + G4int nHisto; + G4int nHisto1; + G4int verbose; + G4int nBinsZ; + G4int nBinsR; + G4int nBinsE; + G4int nScoreBin; + G4int nEvt1; + G4int nEvt2; - G4double absorberZ; - G4double stepZ; - G4double scoreZ; - G4double absorberR; - G4double stepR; - G4double maxEnergy; - G4double stepE; - G4double normZ; - G4double sumR; + G4double absorberZ; + G4double stepZ; + G4double scoreZ; + G4double absorberR; + G4double stepR; + G4double maxEnergy; + G4double stepE; + G4double normZ; + G4double sumR; - G4double trackLength; - G4bool trackAbs; // Track is in absorber - G4int n_evt; - G4int n_elec; - G4int n_posit; - G4int n_gam; - G4int n_step; - G4int n_gam_ph; - G4int n_gam_tar; - G4int n_e_tar; - G4int n_e_ph; - G4int n_step_target; - G4int n_neutron; - G4bool nTuple; - G4DataVector volumeR; - G4DataVector gammaE; + G4double trackLength; + G4bool trackAbs; // Track is in absorber + G4int n_evt; + G4int n_elec; + G4int n_posit; + G4int n_gam; + G4int n_step; + G4int n_gam_ph; + G4int n_gam_tar; + G4int n_e_tar; + G4int n_e_ph; + G4int n_step_target; + G4int n_neutron; + G4bool nTuple; + G4DataVector volumeR; + G4DataVector gammaE; }; diff --git a/examples/extended/medical/GammaTherapy/include/ParticlesBuilder.hh b/examples/extended/medical/GammaTherapy/include/ParticlesBuilder.hh index c5e96f6dc0..2a8d100bd0 100644 --- a/examples/extended/medical/GammaTherapy/include/ParticlesBuilder.hh +++ b/examples/extended/medical/GammaTherapy/include/ParticlesBuilder.hh @@ -25,7 +25,7 @@ // // // $Id: ParticlesBuilder.hh,v 1.2 2006/06/29 17:26:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/include/PhysListEmLivermore.hh b/examples/extended/medical/GammaTherapy/include/PhysListEmLivermore.hh index 5fc702c116..23d9583a35 100644 --- a/examples/extended/medical/GammaTherapy/include/PhysListEmLivermore.hh +++ b/examples/extended/medical/GammaTherapy/include/PhysListEmLivermore.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.hh,v 1.1 2006/11/16 14:42:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/include/PhysListEmPenelope.hh b/examples/extended/medical/GammaTherapy/include/PhysListEmPenelope.hh index cd85ac8a2a..957841f993 100644 --- a/examples/extended/medical/GammaTherapy/include/PhysListEmPenelope.hh +++ b/examples/extended/medical/GammaTherapy/include/PhysListEmPenelope.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.hh,v 1.3 2006/11/16 14:42:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/include/PhysicsList.hh b/examples/extended/medical/GammaTherapy/include/PhysicsList.hh index 8271b175cb..097966d3ba 100644 --- a/examples/extended/medical/GammaTherapy/include/PhysicsList.hh +++ b/examples/extended/medical/GammaTherapy/include/PhysicsList.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsList.hh,v 1.6 2006/11/16 14:42:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Modified: // diff --git a/examples/extended/medical/GammaTherapy/include/PhysicsListMessenger.hh b/examples/extended/medical/GammaTherapy/include/PhysicsListMessenger.hh index 82db9cf306..3a60f754b1 100644 --- a/examples/extended/medical/GammaTherapy/include/PhysicsListMessenger.hh +++ b/examples/extended/medical/GammaTherapy/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.3 2006/06/29 17:26:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/src/EventActionMessenger.cc b/examples/extended/medical/GammaTherapy/src/EventActionMessenger.cc index 21651608ff..088baadbae 100644 --- a/examples/extended/medical/GammaTherapy/src/EventActionMessenger.cc +++ b/examples/extended/medical/GammaTherapy/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.2 2006/06/29 17:27:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/src/G4StepLimiterBuilder.cc b/examples/extended/medical/GammaTherapy/src/G4StepLimiterBuilder.cc index f23db90d1f..d0bd965274 100644 --- a/examples/extended/medical/GammaTherapy/src/G4StepLimiterBuilder.cc +++ b/examples/extended/medical/GammaTherapy/src/G4StepLimiterBuilder.cc @@ -25,7 +25,7 @@ // // // $Id: G4StepLimiterBuilder.cc,v 1.3 2006/06/29 17:27:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/examples/extended/medical/GammaTherapy/src/G4StepLimiterMessenger.cc b/examples/extended/medical/GammaTherapy/src/G4StepLimiterMessenger.cc index c270d0090c..6166f6e042 100644 --- a/examples/extended/medical/GammaTherapy/src/G4StepLimiterMessenger.cc +++ b/examples/extended/medical/GammaTherapy/src/G4StepLimiterMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4StepLimiterMessenger.cc,v 1.2 2006/06/29 17:27:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/src/G4StepLimiterPerRegion.cc b/examples/extended/medical/GammaTherapy/src/G4StepLimiterPerRegion.cc index 8379e5591a..d7e77a150f 100644 --- a/examples/extended/medical/GammaTherapy/src/G4StepLimiterPerRegion.cc +++ b/examples/extended/medical/GammaTherapy/src/G4StepLimiterPerRegion.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4StepLimiterPerRegion.cc,v 1.3 2006/06/29 17:27:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4StepLimiterPerRegion.cc,v 1.4 2007/05/16 16:27:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -68,20 +68,21 @@ void G4StepLimiterPerRegion::SetMaxStep(G4double step) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4double G4StepLimiterPerRegion::PostStepGetPhysicalInteractionLength( - const G4Track&, + const G4Track& aTrack, G4double, G4ForceCondition* condition ) { // condition is set to "Not Forced" *condition = NotForced; ProposedStep = MaxChargedStep; - + if(aTrack.GetVolume() == gasVolume) ProposedStep = 0.0; return ProposedStep; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4VParticleChange* G4StepLimiterPerRegion::PostStepDoIt(const G4Track& aTrack, const G4Step&) +G4VParticleChange* G4StepLimiterPerRegion::PostStepDoIt(const G4Track& aTrack, + const G4Step&) { aParticleChange.Initialize(aTrack); if(aTrack.GetVolume() == gasVolume) diff --git a/examples/extended/medical/GammaTherapy/src/Histo.cc b/examples/extended/medical/GammaTherapy/src/Histo.cc index 75f5b4d450..51149a82d4 100644 --- a/examples/extended/medical/GammaTherapy/src/Histo.cc +++ b/examples/extended/medical/GammaTherapy/src/Histo.cc @@ -40,7 +40,6 @@ #include #ifdef G4ANALYSIS_USE -#include // for the auto_ptr(T> #include "AIDA/AIDA.h" #endif @@ -53,7 +52,8 @@ Histo* Histo::fManager = 0; Histo* Histo::GetPointer() { if(!fManager) { - fManager = new Histo(); + static Histo manager; + fManager = &manager; } return fManager; } @@ -77,6 +77,7 @@ Histo::Histo() scoreZ = 100.*mm; #ifdef G4ANALYSIS_USE + af = 0; tree = 0; ntup = 0; #endif @@ -85,7 +86,11 @@ Histo::Histo() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... Histo::~Histo() -{} +{ +#ifdef G4ANALYSIS_USE + delete af; +#endif +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -244,10 +249,10 @@ void Histo::bookHisto() #ifdef G4ANALYSIS_USE G4cout << "### Histo books " << nHisto << " histograms " << G4endl; // Creating the analysis factory - std::auto_ptr< AIDA::IAnalysisFactory > af( AIDA_createAnalysisFactory() ); + if(!af) af = AIDA_createAnalysisFactory(); // Creating the tree factory - std::auto_ptr< AIDA::ITreeFactory > tf( af->createTreeFactory() ); + AIDA::ITreeFactory* tf = af->createTreeFactory(); // Creating a tree mapped to a new hbook file. G4String tt = "hbook"; @@ -255,7 +260,8 @@ void Histo::bookHisto() if(histType == "root") { tt = "root"; nn = histName + ".root"; - } else if(histType == "xml" || histType == "XML" || histType == "aida" || histType == "AIDA") { + } else if(histType == "xml" || histType == "XML" + || histType == "aida" || histType == "AIDA") { tt = "xml"; nn = histName + ".aida"; } @@ -267,11 +273,11 @@ void Histo::bookHisto() G4cout << "Fail to open tree store " << nn << G4endl; return; } - + delete tf; histo.resize(nHisto1); // Creating a histogram factory, whose histograms will be handled by the tree - std::auto_ptr< AIDA::IHistogramFactory > hf(af->createHistogramFactory( *tree )); + AIDA::IHistogramFactory* hf = af->createHistogramFactory( *tree ); // Creating an 1-dimensional histograms in the root directory of the tree @@ -306,13 +312,15 @@ void Histo::bookHisto() "Gamma Energy Fluence (MeV/cm2) at radius(mm) in front of phantom",nBinsR,0.,absorberR/mm); // Creating a tuple factory, whose tuples will be handled by the tree - std::auto_ptr< AIDA::ITupleFactory > tpf( af->createTupleFactory( *tree ) ); + AIDA::ITupleFactory* tpf = af->createTupleFactory( *tree ); // If using Anaphe HBOOK implementation, there is a limitation on the // length of the variable names in a ntuple - if(nTuple) { + if(nTuple) ntup = tpf->create( "100", "Dose deposite","float r, z, e" ); - } + + delete hf; + delete tpf; #endif } diff --git a/examples/extended/medical/GammaTherapy/src/ParticlesBuilder.cc b/examples/extended/medical/GammaTherapy/src/ParticlesBuilder.cc index 0e3111b9b4..f0886ac40d 100644 --- a/examples/extended/medical/GammaTherapy/src/ParticlesBuilder.cc +++ b/examples/extended/medical/GammaTherapy/src/ParticlesBuilder.cc @@ -25,7 +25,7 @@ // // // $Id: ParticlesBuilder.cc,v 1.3 2006/06/29 17:27:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/examples/extended/medical/GammaTherapy/src/PhysListEmLivermore.cc b/examples/extended/medical/GammaTherapy/src/PhysListEmLivermore.cc index b734984fde..8ae68cd07a 100644 --- a/examples/extended/medical/GammaTherapy/src/PhysListEmLivermore.cc +++ b/examples/extended/medical/GammaTherapy/src/PhysListEmLivermore.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmLivermore.cc,v 1.1 2006/11/16 14:42:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/src/PhysListEmPenelope.cc b/examples/extended/medical/GammaTherapy/src/PhysListEmPenelope.cc index 9430059247..85b802e123 100644 --- a/examples/extended/medical/GammaTherapy/src/PhysListEmPenelope.cc +++ b/examples/extended/medical/GammaTherapy/src/PhysListEmPenelope.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPenelope.cc,v 1.3 2006/11/16 14:42:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/src/PhysicsList.cc b/examples/extended/medical/GammaTherapy/src/PhysicsList.cc index 84508bce91..4ab306f5ba 100644 --- a/examples/extended/medical/GammaTherapy/src/PhysicsList.cc +++ b/examples/extended/medical/GammaTherapy/src/PhysicsList.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: PhysicsList.cc,v 1.12 2006/12/13 15:42:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: PhysicsList.cc,v 1.14 2007/05/16 16:27:53 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -34,6 +34,7 @@ // // Modified: // 16.11.06 Use components from physics_lists subdirectory (V.Ivanchenko) +// 16.05.07 Use renamed EM components from physics_lists (V.Ivanchenko) // //---------------------------------------------------------------------------- // @@ -46,8 +47,8 @@ #include "ParticlesBuilder.hh" #include "G4EmStandardPhysics.hh" -#include "G4EmStandardPhysics71.hh" -#include "G4EmStandardPhysics72.hh" +#include "G4EmStandardPhysics_option1.hh" +#include "G4EmStandardPhysics_option2.hh" #include "PhysListEmLivermore.hh" #include "PhysListEmPenelope.hh" #include "G4StepLimiterBuilder.hh" @@ -109,7 +110,8 @@ void PhysicsList::ConstructProcess() { if(verbose > 0) G4cout << "### PhysicsList Construte Processes" << G4endl; - if(!emBuilderIsRegisted) AddPhysicsList("standard"); + if(!emBuilderIsRegisted) AddPhysicsList("emstandard"); + RegisterPhysics(new G4StepLimiterBuilder()); G4VModularPhysicsList::ConstructProcess(); // Define energy interval for loss processes @@ -132,22 +134,22 @@ void PhysicsList::AddPhysicsList(const G4String& name) << "> emBuilderIsRegisted= " << emBuilderIsRegisted << G4endl; } - if ((name == "standard") && !emBuilderIsRegisted) { + if ((name == "emstandard") && !emBuilderIsRegisted) { RegisterPhysics(new G4EmStandardPhysics()); emBuilderIsRegisted = true; G4cout << "PhysicsList::AddPhysicsList <" << name << ">" << G4endl; - } else if (name == "standard_emv" && !emBuilderIsRegisted) { - RegisterPhysics(new G4EmStandardPhysics71()); + } else if (name == "emstandard_opt1" && !emBuilderIsRegisted) { + RegisterPhysics(new G4EmStandardPhysics_option1()); emBuilderIsRegisted = true; G4cout << "PhysicsList::AddPhysicsList <" << name << ">" << G4endl; - } else if (name == "standard_emx" && !emBuilderIsRegisted) { - RegisterPhysics(new G4EmStandardPhysics72()); + } else if (name == "emstandard_opt2" && !emBuilderIsRegisted) { + RegisterPhysics(new G4EmStandardPhysics_option2()); emBuilderIsRegisted = true; G4cout << "PhysicsList::AddPhysicsList <" << name << ">" << G4endl; - } else if (name == "lowenergy" && !emBuilderIsRegisted) { + } else if (name == "livermore" && !emBuilderIsRegisted) { RegisterPhysics(new PhysListEmLivermore()); emBuilderIsRegisted = true; G4cout << "PhysicsList::AddPhysicsList <" << name << ">" << G4endl; @@ -162,10 +164,6 @@ void PhysicsList::AddPhysicsList(const G4String& name) emBuilderIsRegisted = true; G4cout << "PhysicsList::AddPhysicsList <" << name << ">" << G4endl; */ - } else if (name == "step_limit" && !stepLimiterIsRegisted && emBuilderIsRegisted) { - RegisterPhysics(new G4StepLimiterBuilder()); - stepLimiterIsRegisted = true; - G4cout << "PhysicsList::AddPhysicsList <" << name << ">" << G4endl; } else if (name == "decay" && !decayIsRegisted && emBuilderIsRegisted) { RegisterPhysics(new G4DecayPhysics()); diff --git a/examples/extended/medical/GammaTherapy/src/PhysicsListMessenger.cc b/examples/extended/medical/GammaTherapy/src/PhysicsListMessenger.cc index b4b8c39433..ca9d331878 100644 --- a/examples/extended/medical/GammaTherapy/src/PhysicsListMessenger.cc +++ b/examples/extended/medical/GammaTherapy/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.3 2006/06/29 17:28:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/GammaTherapy/vis.mac b/examples/extended/medical/GammaTherapy/vis.mac index 17c6f4bbc2..1c0fd4b68a 100644 --- a/examples/extended/medical/GammaTherapy/vis.mac +++ b/examples/extended/medical/GammaTherapy/vis.mac @@ -1,5 +1,5 @@ # -# Macro file for the initialization phase of "TestEm3.cc" +# Macro file for visualisation of thin Be target # # Sets some default verbose # and initializes the graphic. @@ -10,18 +10,16 @@ /testem/verbose 0 # /testem/phys/setCuts 0.1 mm -/testem/stepMax 1.0 mm -/process/eLoss/StepFunction 0.2 1. mm # -/testem/phys/addPhysics standard -#/testem/phys/addPhysics g4v52 +/testem/phys/addPhysics emstandard +#/testem/phys/addPhysics emstandard_opt2 #/testem/phys/addPhysics penelope -#/testem/phys/addPhysics lowenergy +#/testem/phys/addPhysics livermore # -/testem/target1Material Be -/testem/target2Material W -/testem/target1Z 9 mm -/testem/target2Z 6 mm +/testem/target1Material G4_Be +/testem/target2Material G4_He +/testem/target1Z 3 mm +/testem/target2Z 0.1 mm # /run/initialize # @@ -38,7 +36,7 @@ /vis/open OGLIX # # Draw scene -/vis/viewer/set/viewpointThetaPhi 90 0 deg +/vis/viewer/set/viewpointThetaPhi -90 0 deg /vis/viewer/zoom 1.4 /vis/viewer/flush # diff --git a/examples/extended/medical/fanoCavity/History b/examples/extended/medical/fanoCavity/History index 638364f079..01f439b0e1 100644 --- a/examples/extended/medical/fanoCavity/History +++ b/examples/extended/medical/fanoCavity/History @@ -1,4 +1,4 @@ -$Id: History,v 1.8 2007/03/19 13:08:41 maire Exp $ +$Id: History,v 1.10 2007/06/12 12:04:15 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,12 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +12-06-07 mma (fano-V08-03-01) +- emOptions : SetLinearLossLimit(1.e-6); SetSkin(2.); + +23-05-07 V.Ivanch (fano-V08-03-00) +- follow change of interface of G4VEmModel::SampleSecondaries + 19-03-07 mma (fano-V08-02-05) - add histo of theta distr before enter in cavity diff --git a/examples/extended/medical/fanoCavity/README b/examples/extended/medical/fanoCavity/README index 9cab413e07..cee7dcde56 100644 --- a/examples/extended/medical/fanoCavity/README +++ b/examples/extended/medical/fanoCavity/README @@ -1,4 +1,4 @@ -$Id: README,v 1.8 2007/03/19 13:08:41 maire Exp $ +$Id: README,v 1.9 2007/06/12 12:04:15 maire Exp $ ------------------------------------------------------------------- ========================================================= @@ -123,7 +123,11 @@ $Id: README,v 1.8 2007/03/19 13:08:41 maire Exp $ The finalRange of the step function is set to 10 um, which more on less correspond to a tracking cut in water of about 20 keV. See emOptions. - Once again, the above parameters can be controled via UI commands. + Once again, the above parameters can be controled via UI commands. + + - Multiple scattering : is switched in single Coulomb scattering mode near + boundaries. This is selected via EM options in PhysicsList, and can be + controled with UI commands. 5- HISTOGRAMS diff --git a/examples/extended/medical/fanoCavity/fanoCavity.cc b/examples/extended/medical/fanoCavity/fanoCavity.cc index fc93d9884f..7c2115fe5e 100644 --- a/examples/extended/medical/fanoCavity/fanoCavity.cc +++ b/examples/extended/medical/fanoCavity/fanoCavity.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: fanoCavity.cc,v 1.3 2007/01/30 16:02:10 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/fanoCavity.out b/examples/extended/medical/fanoCavity/fanoCavity.out index f04472c913..3b89a6ce34 100644 --- a/examples/extended/medical/fanoCavity/fanoCavity.out +++ b/examples/extended/medical/fanoCavity/fanoCavity.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -30,7 +30,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -100,8 +99,8 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. - LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -121,8 +120,8 @@ eIoni: tables are built for e+ msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. - LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 2 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 2 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -134,6 +133,8 @@ hIoni: tables are built for proton CSDA range table up to 1 GeV in 70 bins. Region -- appears in world volume + Root logical volume(s) : Chamber + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Water Water_vapor Production cuts : gamma 10 km e- 10 km e+ 10 km @@ -168,15 +169,15 @@ G4GeometryManager::ReportVoxelStats -- Voxel Statistics ---------------------------------------- Start Run processing. - ---> NbofEvents= 1000 NbOfelectr= 70423 Tkin= 586.033 keV (0.000 %) NbOfelec in cav= 4909 Dose/EnFluence= 30.351 cm2/g (0.000 %) + ---> NbofEvents= 1000 NbOfelectr= 70984 Tkin= 588.477 keV (0.000 %) NbOfelec in cav= 4728 Dose/EnFluence= 27.992 cm2/g (0.000 %) - ---> NbofEvents= 2000 NbOfelectr= 140560 Tkin= 587.773 keV (0.297 %) NbOfelec in cav= 9596 Dose/EnFluence= 30.633 cm2/g (0.930 %) + ---> NbofEvents= 2000 NbOfelectr= 141575 Tkin= 588.989 keV (0.087 %) NbOfelec in cav= 9601 Dose/EnFluence= 29.795 cm2/g (6.441 %) - ---> NbofEvents= 3000 NbOfelectr= 210966 Tkin= 587.676 keV (-0.016 %) NbOfelec in cav= 14212 Dose/EnFluence= 30.832 cm2/g (0.648 %) + ---> NbofEvents= 3000 NbOfelectr= 212837 Tkin= 588.952 keV (-0.006 %) NbOfelec in cav= 14224 Dose/EnFluence= 29.087 cm2/g (-2.375 %) Run terminated. Run Summary Number of events processed : 4000 - User=636.53s Real=826.15s Sys=189.57s + User=665.47s Real=665.52s Sys=0s ======================== run summary ====================== @@ -186,32 +187,32 @@ Run Summary ============================================================ - Process calls frequency ---> compt= 281426 Transportation= 77384 msc= 1138228 eIoni= 1844414 + Process calls frequency ---> compt= 283779 Transportation= 76764 msc= 1330017 eIoni= 1882531 Gamma crossSections in wall material : compt= 63.447 cm2/g --> total= 63.447 cm2/g - Mean energy of secondary e- = 587.7447 keV (--> range in wall material = 2.2089 mm ) - Mass_energy_transfer coef: 29.8325 cm2/g + Mean energy of secondary e- = 588.9356 keV (--> range in wall material = 2.2149 mm ) + Mass_energy_transfer coef: 29.8930 cm2/g - StoppingPower in wall = 1.9782 MeV*cm2/g - in cavity = 1.9782 MeV*cm2/g + StoppingPower in wall = 1.9774 MeV*cm2/g + in cavity = 1.9774 MeV*cm2/g Charged particle flow in cavity : - Enter --> nbParticles = 19031 Energy = 9.6724 GeV - Exit --> nbParticles = 19015 Energy = 9.6589 GeV + Enter --> nbParticles = 18964 Energy = 9.4797 GeV + Exit --> nbParticles = 18928 Energy = 9.4666 GeV - Total edep in cavity = 13.4511 MeV Total charged trackLength = 53.0512 m (mean value = 2.7876 mm ) - Total dose in cavity = 21.4081 MeV/mg - Dose/EnergyFluence = 30.2650 cm2/g + Total edep in cavity = 13.1454 MeV Total charged trackLength = 52.9837 m (mean value = 2.7939 mm ) + Total dose in cavity = 20.9215 MeV/mg + Dose/EnergyFluence = 29.5771 cm2/g - (Dose/EnergyFluence)/Mass_energy_transfer = 1.0145 + (Dose/EnergyFluence)/Mass_energy_transfer = 0.9894 - StepSize of ch. tracks in wall = 154.3774 um +- 137.3663 um (nbSteps/track = 10.7751) - StepSize of ch. tracks in cavity = 2.6495 mm +- 2.0211 mm (nbSteps/track = 1.0521) + StepSize of ch. tracks in wall = 149.5427 um +- 127.2593 um (nbSteps/track = 11.2424) + StepSize of ch. tracks in cavity = 579.6401 um +- 656.8654 um (nbSteps/track = 4.8201) --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 297718525, 1625708163 + Current couple of seeds = 423862883, 1083343246 ---------------------------------------- Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/extended/medical/fanoCavity/include/DetectorConstruction.hh b/examples/extended/medical/fanoCavity/include/DetectorConstruction.hh index ddeda3cd1c..0d8bb6a7b6 100644 --- a/examples/extended/medical/fanoCavity/include/DetectorConstruction.hh +++ b/examples/extended/medical/fanoCavity/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.1 2007/01/19 17:20:26 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/DetectorMessenger.hh b/examples/extended/medical/fanoCavity/include/DetectorMessenger.hh index d22af84bda..bff775a4d2 100644 --- a/examples/extended/medical/fanoCavity/include/DetectorMessenger.hh +++ b/examples/extended/medical/fanoCavity/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.1 2007/01/19 17:20:26 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/EventAction.hh b/examples/extended/medical/fanoCavity/include/EventAction.hh index fa17c07f23..1e7f47b341 100644 --- a/examples/extended/medical/fanoCavity/include/EventAction.hh +++ b/examples/extended/medical/fanoCavity/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.1 2007/01/19 17:20:26 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/EventActionMessenger.hh b/examples/extended/medical/fanoCavity/include/EventActionMessenger.hh index 70ce422db2..4b0b89b734 100644 --- a/examples/extended/medical/fanoCavity/include/EventActionMessenger.hh +++ b/examples/extended/medical/fanoCavity/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.1 2007/01/19 17:20:26 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/HistoManager.hh b/examples/extended/medical/fanoCavity/include/HistoManager.hh index b8f4a24feb..de9466c320 100644 --- a/examples/extended/medical/fanoCavity/include/HistoManager.hh +++ b/examples/extended/medical/fanoCavity/include/HistoManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.hh,v 1.2 2007/03/19 13:08:41 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/HistoMessenger.hh b/examples/extended/medical/fanoCavity/include/HistoMessenger.hh index c5e806afbc..d11213f9da 100644 --- a/examples/extended/medical/fanoCavity/include/HistoMessenger.hh +++ b/examples/extended/medical/fanoCavity/include/HistoMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.hh,v 1.1 2007/01/19 17:20:26 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/MyKleinNishinaCompton.hh b/examples/extended/medical/fanoCavity/include/MyKleinNishinaCompton.hh index de982ab43d..f889e63a2f 100644 --- a/examples/extended/medical/fanoCavity/include/MyKleinNishinaCompton.hh +++ b/examples/extended/medical/fanoCavity/include/MyKleinNishinaCompton.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: MyKleinNishinaCompton.hh,v 1.2 2007/01/30 16:02:10 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: MyKleinNishinaCompton.hh,v 1.3 2007/05/23 08:40:21 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -55,11 +55,11 @@ public: G4double cut, G4double emax); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); void SetCSFactor(G4double factor) {CrossSectionFactor = factor;}; diff --git a/examples/extended/medical/fanoCavity/include/MyMollerBhabhaModel.hh b/examples/extended/medical/fanoCavity/include/MyMollerBhabhaModel.hh index 742b73a09b..7839810fe0 100644 --- a/examples/extended/medical/fanoCavity/include/MyMollerBhabhaModel.hh +++ b/examples/extended/medical/fanoCavity/include/MyMollerBhabhaModel.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MyMollerBhabhaModel.hh,v 1.1 2007/01/19 17:20:26 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/examples/extended/medical/fanoCavity/include/PhysicsList.hh b/examples/extended/medical/fanoCavity/include/PhysicsList.hh index bdde655b8a..8b08cdfc82 100644 --- a/examples/extended/medical/fanoCavity/include/PhysicsList.hh +++ b/examples/extended/medical/fanoCavity/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.2 2007/01/30 16:02:10 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/medical/fanoCavity/include/PhysicsListMessenger.hh b/examples/extended/medical/fanoCavity/include/PhysicsListMessenger.hh index 9481e1f5eb..211d3762fb 100644 --- a/examples/extended/medical/fanoCavity/include/PhysicsListMessenger.hh +++ b/examples/extended/medical/fanoCavity/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.1 2007/01/19 17:20:26 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/PrimaryGeneratorAction.hh b/examples/extended/medical/fanoCavity/include/PrimaryGeneratorAction.hh index 76002dbc35..cd87ac2a9d 100644 --- a/examples/extended/medical/fanoCavity/include/PrimaryGeneratorAction.hh +++ b/examples/extended/medical/fanoCavity/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.1 2007/01/19 17:20:26 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/PrimaryGeneratorMessenger.hh b/examples/extended/medical/fanoCavity/include/PrimaryGeneratorMessenger.hh index 719863bbf6..4e5afa31f3 100644 --- a/examples/extended/medical/fanoCavity/include/PrimaryGeneratorMessenger.hh +++ b/examples/extended/medical/fanoCavity/include/PrimaryGeneratorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.hh,v 1.1 2007/01/19 17:20:26 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/ProcessesCount.hh b/examples/extended/medical/fanoCavity/include/ProcessesCount.hh index ea1e466987..a577a93955 100644 --- a/examples/extended/medical/fanoCavity/include/ProcessesCount.hh +++ b/examples/extended/medical/fanoCavity/include/ProcessesCount.hh @@ -25,7 +25,7 @@ // // // $Id: ProcessesCount.hh,v 1.1 2007/01/19 17:20:26 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/RunAction.hh b/examples/extended/medical/fanoCavity/include/RunAction.hh index de69bded94..c3330c8a20 100644 --- a/examples/extended/medical/fanoCavity/include/RunAction.hh +++ b/examples/extended/medical/fanoCavity/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.2 2007/02/06 11:47:39 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/StackingAction.hh b/examples/extended/medical/fanoCavity/include/StackingAction.hh index a391b58d9f..bb0c665e7e 100644 --- a/examples/extended/medical/fanoCavity/include/StackingAction.hh +++ b/examples/extended/medical/fanoCavity/include/StackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingAction.hh,v 1.1 2007/01/23 13:34:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/StackingMessenger.hh b/examples/extended/medical/fanoCavity/include/StackingMessenger.hh index 222af49110..4744e0dd5f 100644 --- a/examples/extended/medical/fanoCavity/include/StackingMessenger.hh +++ b/examples/extended/medical/fanoCavity/include/StackingMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingMessenger.hh,v 1.1 2007/01/23 13:34:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/StepMax.hh b/examples/extended/medical/fanoCavity/include/StepMax.hh index 3e46d5aa6b..934d123550 100644 --- a/examples/extended/medical/fanoCavity/include/StepMax.hh +++ b/examples/extended/medical/fanoCavity/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/StepMaxMessenger.hh b/examples/extended/medical/fanoCavity/include/StepMaxMessenger.hh index b49fe3be6c..24e1404b94 100644 --- a/examples/extended/medical/fanoCavity/include/StepMaxMessenger.hh +++ b/examples/extended/medical/fanoCavity/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/SteppingAction.hh b/examples/extended/medical/fanoCavity/include/SteppingAction.hh index 66c1047c6a..8495ef01bc 100644 --- a/examples/extended/medical/fanoCavity/include/SteppingAction.hh +++ b/examples/extended/medical/fanoCavity/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.2 2007/03/19 13:08:41 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/SteppingVerbose.hh b/examples/extended/medical/fanoCavity/include/SteppingVerbose.hh index c5d6d6c4ad..7682416ee4 100644 --- a/examples/extended/medical/fanoCavity/include/SteppingVerbose.hh +++ b/examples/extended/medical/fanoCavity/include/SteppingVerbose.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.hh,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/include/TrackingAction.hh b/examples/extended/medical/fanoCavity/include/TrackingAction.hh index d9f8130ec4..b01ab6171e 100644 --- a/examples/extended/medical/fanoCavity/include/TrackingAction.hh +++ b/examples/extended/medical/fanoCavity/include/TrackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.hh,v 1.2 2007/01/23 13:34:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/DetectorConstruction.cc b/examples/extended/medical/fanoCavity/src/DetectorConstruction.cc index 8210c715c4..4ab8197acb 100644 --- a/examples/extended/medical/fanoCavity/src/DetectorConstruction.cc +++ b/examples/extended/medical/fanoCavity/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/DetectorMessenger.cc b/examples/extended/medical/fanoCavity/src/DetectorMessenger.cc index 684aba2890..1961e97554 100644 --- a/examples/extended/medical/fanoCavity/src/DetectorMessenger.cc +++ b/examples/extended/medical/fanoCavity/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/EventAction.cc b/examples/extended/medical/fanoCavity/src/EventAction.cc index 82b35a7035..703f1f97e6 100644 --- a/examples/extended/medical/fanoCavity/src/EventAction.cc +++ b/examples/extended/medical/fanoCavity/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/EventActionMessenger.cc b/examples/extended/medical/fanoCavity/src/EventActionMessenger.cc index dfb9041dd4..d323a774b6 100644 --- a/examples/extended/medical/fanoCavity/src/EventActionMessenger.cc +++ b/examples/extended/medical/fanoCavity/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/HistoManager.cc b/examples/extended/medical/fanoCavity/src/HistoManager.cc index d4d3f914f4..87b7f6843e 100644 --- a/examples/extended/medical/fanoCavity/src/HistoManager.cc +++ b/examples/extended/medical/fanoCavity/src/HistoManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.cc,v 1.2 2007/03/19 13:08:41 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/HistoMessenger.cc b/examples/extended/medical/fanoCavity/src/HistoMessenger.cc index 234671c39d..e4b95e89e8 100644 --- a/examples/extended/medical/fanoCavity/src/HistoMessenger.cc +++ b/examples/extended/medical/fanoCavity/src/HistoMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.cc,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/MyKleinNishinaCompton.cc b/examples/extended/medical/fanoCavity/src/MyKleinNishinaCompton.cc index d3e07190c7..349c646714 100644 --- a/examples/extended/medical/fanoCavity/src/MyKleinNishinaCompton.cc +++ b/examples/extended/medical/fanoCavity/src/MyKleinNishinaCompton.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: MyKleinNishinaCompton.cc,v 1.2 2007/01/30 16:02:10 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: MyKleinNishinaCompton.cc,v 1.3 2007/05/23 08:40:21 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -73,7 +73,8 @@ G4double MyKleinNishinaCompton::CrossSectionPerVolume( } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* MyKleinNishinaCompton::SampleSecondaries( +void MyKleinNishinaCompton::SampleSecondaries( + std::vector* fvect, const G4MaterialCutsCouple*, const G4DynamicParticle* aDynamicGamma, G4double, @@ -136,8 +137,6 @@ std::vector* MyKleinNishinaCompton::SampleSecondaries( fParticleChange->SetProposedKineticEnergy(gamEnergy0); fParticleChange->ProposeMomentumDirection(gamDirection0); - std::vector* fvect = new std::vector; - // // kinematic of the scattered electron // @@ -154,7 +153,6 @@ std::vector* MyKleinNishinaCompton::SampleSecondaries( = new G4DynamicParticle(theElectron,eDirection,eKinEnergy); fvect->push_back(dp); } - return fvect; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/MyMollerBhabhaModel.cc b/examples/extended/medical/fanoCavity/src/MyMollerBhabhaModel.cc index c07e41366a..f4907de057 100644 --- a/examples/extended/medical/fanoCavity/src/MyMollerBhabhaModel.cc +++ b/examples/extended/medical/fanoCavity/src/MyMollerBhabhaModel.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: MyMollerBhabhaModel.cc,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/PhysicsList.cc b/examples/extended/medical/fanoCavity/src/PhysicsList.cc index 7fda2f3180..cade437c41 100644 --- a/examples/extended/medical/fanoCavity/src/PhysicsList.cc +++ b/examples/extended/medical/fanoCavity/src/PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: PhysicsList.cc,v 1.4 2007/03/02 11:08:41 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: PhysicsList.cc,v 1.5 2007/06/12 12:04:15 maire Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -155,6 +155,8 @@ void PhysicsList::ConstructEM() // G4EmProcessOptions emOptions; emOptions.SetStepFunction(0.2, 10*um); + emOptions.SetLinearLossLimit(1.e-6); + emOptions.SetSkin(2.); //single scattering at boundaries emOptions.SetBuildCSDARange(true); } diff --git a/examples/extended/medical/fanoCavity/src/PhysicsListMessenger.cc b/examples/extended/medical/fanoCavity/src/PhysicsListMessenger.cc index 15c5755649..e37b36b6b5 100644 --- a/examples/extended/medical/fanoCavity/src/PhysicsListMessenger.cc +++ b/examples/extended/medical/fanoCavity/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/PrimaryGeneratorAction.cc b/examples/extended/medical/fanoCavity/src/PrimaryGeneratorAction.cc index 96a8937e41..3e4822d6d9 100644 --- a/examples/extended/medical/fanoCavity/src/PrimaryGeneratorAction.cc +++ b/examples/extended/medical/fanoCavity/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/PrimaryGeneratorMessenger.cc b/examples/extended/medical/fanoCavity/src/PrimaryGeneratorMessenger.cc index ed0586b3e6..96f6ed5d13 100644 --- a/examples/extended/medical/fanoCavity/src/PrimaryGeneratorMessenger.cc +++ b/examples/extended/medical/fanoCavity/src/PrimaryGeneratorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorMessenger.cc,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/RunAction.cc b/examples/extended/medical/fanoCavity/src/RunAction.cc index 61f4841b11..0b88e4b2d3 100644 --- a/examples/extended/medical/fanoCavity/src/RunAction.cc +++ b/examples/extended/medical/fanoCavity/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.2 2007/01/23 13:34:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/StackingAction.cc b/examples/extended/medical/fanoCavity/src/StackingAction.cc index b14828158e..a783d4c502 100644 --- a/examples/extended/medical/fanoCavity/src/StackingAction.cc +++ b/examples/extended/medical/fanoCavity/src/StackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingAction.cc,v 1.2 2007/03/02 11:08:41 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/StackingMessenger.cc b/examples/extended/medical/fanoCavity/src/StackingMessenger.cc index 4539218760..2bfc018ba5 100644 --- a/examples/extended/medical/fanoCavity/src/StackingMessenger.cc +++ b/examples/extended/medical/fanoCavity/src/StackingMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StackingMessenger.cc,v 1.1 2007/01/23 13:34:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/StepMax.cc b/examples/extended/medical/fanoCavity/src/StepMax.cc index dc851aa1d7..c14c2c1763 100644 --- a/examples/extended/medical/fanoCavity/src/StepMax.cc +++ b/examples/extended/medical/fanoCavity/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/StepMaxMessenger.cc b/examples/extended/medical/fanoCavity/src/StepMaxMessenger.cc index dbe2a6e2a1..287194596a 100644 --- a/examples/extended/medical/fanoCavity/src/StepMaxMessenger.cc +++ b/examples/extended/medical/fanoCavity/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/SteppingAction.cc b/examples/extended/medical/fanoCavity/src/SteppingAction.cc index 3c14811891..e2b0b239d1 100644 --- a/examples/extended/medical/fanoCavity/src/SteppingAction.cc +++ b/examples/extended/medical/fanoCavity/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.2 2007/03/19 13:08:41 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/SteppingVerbose.cc b/examples/extended/medical/fanoCavity/src/SteppingVerbose.cc index 18acd613ef..c086ad1d79 100644 --- a/examples/extended/medical/fanoCavity/src/SteppingVerbose.cc +++ b/examples/extended/medical/fanoCavity/src/SteppingVerbose.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingVerbose.cc,v 1.1 2007/01/19 17:20:27 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/medical/fanoCavity/src/TrackingAction.cc b/examples/extended/medical/fanoCavity/src/TrackingAction.cc index fb61231236..1bea629309 100644 --- a/examples/extended/medical/fanoCavity/src/TrackingAction.cc +++ b/examples/extended/medical/fanoCavity/src/TrackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: TrackingAction.cc,v 1.3 2007/01/23 13:34:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/optical/LXe/LXe.out b/examples/extended/optical/LXe/LXe.out index 589449e1a2..6399519c64 100644 --- a/examples/extended/optical/LXe/LXe.out +++ b/examples/extended/optical/LXe/LXe.out @@ -1,5 +1,5 @@ ********************************************** - Geant4 version $Name: geant4-08-02 $ + Geant4 version $Name: geant4-09-00 $ (12-December-2003) Copyright : Geant4 Collaboration ********************************************** diff --git a/examples/extended/parallel/ExDiane/Brachy.cc b/examples/extended/parallel/ExDiane/Brachy.cc index 688311b8e7..ebe581ef1e 100644 --- a/examples/extended/parallel/ExDiane/Brachy.cc +++ b/examples/extended/parallel/ExDiane/Brachy.cc @@ -25,7 +25,7 @@ // // // $Id: Brachy.cc -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // GEANT 4 - ExDiane example diff --git a/examples/extended/parallel/ExDiane/include/BrachyAnalysisManager.hh b/examples/extended/parallel/ExDiane/include/BrachyAnalysisManager.hh index db09d2c728..732a4461c9 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyAnalysisManager.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyAnalysisManager.hh @@ -29,7 +29,7 @@ // // // $Id: BrachyAnalysisManager.hh,v 1.3 2006/06/29 17:30:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ********************************** // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstruction.hh b/examples/extended/parallel/ExDiane/include/BrachyDetectorConstruction.hh index 318fc61657..43ca94c91d 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstruction.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyDetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyDetectorConstruction.hh,v 1.3 2006/06/29 17:30:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // **************************************** // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionI.hh b/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionI.hh index fee6f0827d..4df0499362 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionI.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionI.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyDetectorConstructionI.hh,v 1.3 2006/06/29 17:31:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // **************************************** // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionIr.hh b/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionIr.hh index 2d141a6bb8..c0ebd923e4 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionIr.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionIr.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyDetectorConstructionIr.hh,v 1.3 2006/06/29 17:31:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // **************************************** // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionLeipzig.hh b/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionLeipzig.hh index 8f9afece10..69080ab390 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionLeipzig.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyDetectorConstructionLeipzig.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyDetectorConstructionLeipzig.hh,v 1.3 2006/06/29 17:31:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Author: Susanna Guatelli // diff --git a/examples/extended/parallel/ExDiane/include/BrachyDetectorMessenger.hh b/examples/extended/parallel/ExDiane/include/BrachyDetectorMessenger.hh index e7d8fe656d..43658ce70b 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyDetectorMessenger.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyDetectorMessenger.hh @@ -33,7 +33,7 @@ // ***************************************** // // $Id: BrachyDetectorMessenger.hh,v 1.3 2006/06/29 17:31:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // #ifndef BrachyDetectorMessenger_h diff --git a/examples/extended/parallel/ExDiane/include/BrachyEventAction.hh b/examples/extended/parallel/ExDiane/include/BrachyEventAction.hh index 480f9596f0..cc5d5e72a3 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyEventAction.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyEventAction.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyEventAction.hh,v 1.3 2006/06/29 17:31:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Code developed by: // S.Guatelli diff --git a/examples/extended/parallel/ExDiane/include/BrachyFactory.hh b/examples/extended/parallel/ExDiane/include/BrachyFactory.hh index 596d64a582..71f4a48e8c 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyFactory.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyFactory.hh @@ -26,7 +26,7 @@ // Code developed by: Susanna Guatelli // // $Id: BrachyFactory.hh,v 1.2 2006/06/29 17:31:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ********************************** // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyFactoryI.hh b/examples/extended/parallel/ExDiane/include/BrachyFactoryI.hh index 4257704e56..76a20c4e37 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyFactoryI.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyFactoryI.hh @@ -35,7 +35,7 @@ // // // $Id: BrachyFactoryI.hh,v 1.2 2006/06/29 17:32:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/parallel/ExDiane/include/BrachyFactoryIr.hh b/examples/extended/parallel/ExDiane/include/BrachyFactoryIr.hh index c217afefdb..e6feb395b2 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyFactoryIr.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyFactoryIr.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyFactoryIr.hh,v 1.2 2006/06/29 17:32:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ********************************** // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyFactoryLeipzig.hh b/examples/extended/parallel/ExDiane/include/BrachyFactoryLeipzig.hh index 8d062f3eb5..4b8ff37a00 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyFactoryLeipzig.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyFactoryLeipzig.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyFactoryLeipzig.hh,v 1.2 2006/06/29 17:32:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ********************************** // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyMaterial.hh b/examples/extended/parallel/ExDiane/include/BrachyMaterial.hh index 7fddf51eed..388675bf9b 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyMaterial.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyMaterial.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyMaterial.hh,v 1.2 2006/06/29 17:32:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ********************************** // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyPhantomHit.hh b/examples/extended/parallel/ExDiane/include/BrachyPhantomHit.hh index 4c81b007a9..fbe0c98cc1 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyPhantomHit.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyPhantomHit.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyPhantomHit.hh,v 1.3 2006/06/29 17:32:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ******************************** diff --git a/examples/extended/parallel/ExDiane/include/BrachyPhantomROGeometry.hh b/examples/extended/parallel/ExDiane/include/BrachyPhantomROGeometry.hh index 6a2c0065ea..0aade324e5 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyPhantomROGeometry.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyPhantomROGeometry.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyPhantomROGeometry.hh,v 1.3 2006/06/29 17:32:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ************************************ // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyPhantomSD.hh b/examples/extended/parallel/ExDiane/include/BrachyPhantomSD.hh index 8278fe66b2..6c5703dd45 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyPhantomSD.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyPhantomSD.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyPhantomSD.hh,v 1.2 2006/06/29 17:32:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ******************************** // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyPhysicsList.hh b/examples/extended/parallel/ExDiane/include/BrachyPhysicsList.hh index 3951e119f5..4092b121ef 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyPhysicsList.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyPhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyPhysicsList.hh,v 1.3 2006/06/29 17:32:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ********************************** // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorAction.hh b/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorAction.hh index fbe3fee7b8..3d4861632a 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorAction.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyPrimaryGeneratorAction.hh,v 1.2 2006/06/29 17:32:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ******************************************** // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionI.hh b/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionI.hh index 059a731756..597d49f125 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionI.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionI.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyPrimaryGeneratorActionI.hh,v 1.3 2006/06/29 17:32:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionIr.hh b/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionIr.hh index a881a83b8a..ae2c519ca1 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionIr.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyPrimaryGeneratorActionIr.hh @@ -26,7 +26,7 @@ //Author: Susanna Guatelli // // $Id: BrachyPrimaryGeneratorActionIr.hh,v 1.3 2006/06/29 17:32:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ************************************************* // * * diff --git a/examples/extended/parallel/ExDiane/include/BrachyRunAction.hh b/examples/extended/parallel/ExDiane/include/BrachyRunAction.hh index 44a7e6241f..fc37dfe20d 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyRunAction.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyRunAction.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyRunAction.hh,v 1.3 2006/06/29 17:32:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Author: Susanna Guatelli // diff --git a/examples/extended/parallel/ExDiane/include/BrachyRunMessenger.hh b/examples/extended/parallel/ExDiane/include/BrachyRunMessenger.hh index 9835e208ec..e53ca0eec9 100644 --- a/examples/extended/parallel/ExDiane/include/BrachyRunMessenger.hh +++ b/examples/extended/parallel/ExDiane/include/BrachyRunMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: BrachyRunMessenger.hh,v 1.3 2006/06/29 17:32:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Author: Susanna Guatelli // diff --git a/examples/extended/parallel/ExDiane/include/BrachySimulation.hh b/examples/extended/parallel/ExDiane/include/BrachySimulation.hh index f8fe4a15c1..339c59a3b8 100644 --- a/examples/extended/parallel/ExDiane/include/BrachySimulation.hh +++ b/examples/extended/parallel/ExDiane/include/BrachySimulation.hh @@ -25,7 +25,7 @@ // // // $Id: BrachySimulation.hh -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // GEANT 4 - Brachytherapy example diff --git a/examples/extended/parallel/ExDiane/src/BrachyAnalysisManager.cc b/examples/extended/parallel/ExDiane/src/BrachyAnalysisManager.cc index 79b4eeca46..50b5e63de5 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyAnalysisManager.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyAnalysisManager.cc @@ -33,7 +33,7 @@ // ******************************* // // $Id: BrachyAnalysisManager.cc,v 1.3 2006/06/29 17:32:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4ANALYSIS_USE #include diff --git a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstruction.cc b/examples/extended/parallel/ExDiane/src/BrachyDetectorConstruction.cc index 32b365b7d1..46cce6f76e 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstruction.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyDetectorConstruction.cc @@ -37,7 +37,7 @@ // **************************************** // // $Id: BrachyDetectorConstruction.cc,v 1.3 2006/06/29 17:32:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyPhantomROGeometry.hh" #include "BrachyPhantomSD.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionI.cc b/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionI.cc index 93490671ed..20ab10a985 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionI.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionI.cc @@ -37,7 +37,7 @@ // **************************************** // // $Id: BrachyDetectorConstructionI.cc,v 1.3 2006/06/29 17:32:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" #include "BrachyDetectorConstructionI.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionIr.cc b/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionIr.cc index 9559e554d1..0db80e64fe 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionIr.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionIr.cc @@ -37,7 +37,7 @@ // **************************************** // // $Id: BrachyDetectorConstructionIr.cc,v 1.3 2006/06/29 17:32:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" #include "BrachyDetectorConstructionIr.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionLeipzig.cc b/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionLeipzig.cc index 3731b00ef2..fea79e5854 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionLeipzig.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyDetectorConstructionLeipzig.cc @@ -38,7 +38,7 @@ // // // $Id: BrachyDetectorConstructionLeipzig.cc,v 1.3 2006/06/29 17:32:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyDetectorMessenger.cc b/examples/extended/parallel/ExDiane/src/BrachyDetectorMessenger.cc index 9a8c185ce1..cf109a4558 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyDetectorMessenger.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyDetectorMessenger.cc @@ -35,7 +35,7 @@ // // // $Id: BrachyDetectorMessenger.cc,v 1.3 2006/06/29 17:33:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/parallel/ExDiane/src/BrachyEventAction.cc b/examples/extended/parallel/ExDiane/src/BrachyEventAction.cc index 446ecedf2b..7e3b631cf9 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyEventAction.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyEventAction.cc @@ -33,7 +33,7 @@ // ******************************* // // $Id: BrachyEventAction.cc,v 1.3 2006/06/29 17:33:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyEventAction.hh" #include "G4Event.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyFactory.cc b/examples/extended/parallel/ExDiane/src/BrachyFactory.cc index ffceb67651..43c243c429 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyFactory.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyFactory.cc @@ -35,7 +35,7 @@ // ******************************* // // $Id: BrachyFactory.cc,v 1.3 2006/06/29 17:33:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include"BrachyFactory.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyFactoryI.cc b/examples/extended/parallel/ExDiane/src/BrachyFactoryI.cc index 21a1692047..f17c6303c6 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyFactoryI.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyFactoryI.cc @@ -33,7 +33,7 @@ // ******************************* // // $Id: BrachyFactoryI.cc,v 1.2 2006/06/29 17:33:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyFactoryI.hh" #include "BrachyPrimaryGeneratorActionI.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyFactoryIr.cc b/examples/extended/parallel/ExDiane/src/BrachyFactoryIr.cc index 43da1c83ef..66c9007e77 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyFactoryIr.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyFactoryIr.cc @@ -33,7 +33,7 @@ // ******************************* // // $Id: BrachyFactoryIr.cc,v 1.3 2006/06/29 17:33:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" #include "BrachyFactoryIr.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyFactoryLeipzig.cc b/examples/extended/parallel/ExDiane/src/BrachyFactoryLeipzig.cc index 590e2c2015..b106dfdc54 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyFactoryLeipzig.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyFactoryLeipzig.cc @@ -33,7 +33,7 @@ // ******************************* // // $Id: BrachyFactoryLeipzig.cc,v 1.3 2006/06/29 17:33:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyMaterial.cc b/examples/extended/parallel/ExDiane/src/BrachyMaterial.cc index ec50632d30..89ec59a567 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyMaterial.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyMaterial.cc @@ -33,7 +33,7 @@ // ******************************* // // $Id: BrachyMaterial.cc,v 1.3 2006/06/29 17:33:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4MaterialPropertiesTable.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyPhantomHit.cc b/examples/extended/parallel/ExDiane/src/BrachyPhantomHit.cc index 3e0dd4ffa5..f1c8de8b57 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyPhantomHit.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyPhantomHit.cc @@ -33,7 +33,7 @@ // ******************************** // // $Id: BrachyPhantomHit.cc,v 1.3 2006/06/29 17:33:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyPhantomHit.hh" #include "G4ios.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyPhantomROGeometry.cc b/examples/extended/parallel/ExDiane/src/BrachyPhantomROGeometry.cc index e8597c0a78..a47f0dd13c 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyPhantomROGeometry.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyPhantomROGeometry.cc @@ -33,7 +33,7 @@ // ************************************ // // $Id: BrachyPhantomROGeometry.cc,v 1.3 2006/06/29 17:33:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyPhantomROGeometry.hh" #include "BrachyDummySD.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyPhantomSD.cc b/examples/extended/parallel/ExDiane/src/BrachyPhantomSD.cc index e7cc8ac5c5..da633f302b 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyPhantomSD.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyPhantomSD.cc @@ -33,7 +33,7 @@ // ******************************** // // $Id: BrachyPhantomSD.cc,v 1.4 2006/06/29 17:33:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyPhantomSD.hh" #include "BrachyPhantomHit.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyPhysicsList.cc b/examples/extended/parallel/ExDiane/src/BrachyPhysicsList.cc index d81f96a71d..1cbd5eae33 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyPhysicsList.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyPhysicsList.cc @@ -33,7 +33,7 @@ // ********************************** // // $Id: BrachyPhysicsList.cc,v 1.3 2006/06/29 17:33:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyPhysicsList.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorAction.cc b/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorAction.cc index f4d115e7a3..bf8333c3de 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorAction.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorAction.cc @@ -38,7 +38,7 @@ // ******************************************** // // $Id: BrachyPrimaryGeneratorAction.cc,v 1.2 2006/06/29 17:33:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" #include "BrachyPrimaryGeneratorAction.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionI.cc b/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionI.cc index 3d095657ff..f632de6363 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionI.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionI.cc @@ -37,7 +37,7 @@ // ******************************************** // // $Id: BrachyPrimaryGeneratorActionI.cc,v 1.4 2006/06/29 17:33:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyPrimaryGeneratorActionI.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionIr.cc b/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionIr.cc index ec41905064..0b47989f64 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionIr.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyPrimaryGeneratorActionIr.cc @@ -37,7 +37,7 @@ // ******************************************** // // $Id: BrachyPrimaryGeneratorActionIr.cc,v 1.4 2006/06/29 17:33:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyPrimaryGeneratorActionIr.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyRunAction.cc b/examples/extended/parallel/ExDiane/src/BrachyRunAction.cc index 137b2ee2ad..118db59e60 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyRunAction.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyRunAction.cc @@ -39,7 +39,7 @@ // ******************************* // // $Id: BrachyRunAction.cc,v 1.3 2006/06/29 17:33:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "BrachyRunAction.hh" diff --git a/examples/extended/parallel/ExDiane/src/BrachyRunMessenger.cc b/examples/extended/parallel/ExDiane/src/BrachyRunMessenger.cc index 67ce7c7377..9b59e8cf8b 100644 --- a/examples/extended/parallel/ExDiane/src/BrachyRunMessenger.cc +++ b/examples/extended/parallel/ExDiane/src/BrachyRunMessenger.cc @@ -27,7 +27,7 @@ // S.Guatelli // // $Id: BrachyRunMessenger.cc,v 1.3 2006/06/29 17:33:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/examples/extended/parallel/ExDiane/src/BrachySimulation.cc b/examples/extended/parallel/ExDiane/src/BrachySimulation.cc index 2c75e90245..4cad8c4aee 100644 --- a/examples/extended/parallel/ExDiane/src/BrachySimulation.cc +++ b/examples/extended/parallel/ExDiane/src/BrachySimulation.cc @@ -25,7 +25,7 @@ // // // $Id: BrachySimulation.cc -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // GEANT 4 - Brachytherapy example diff --git a/examples/extended/parallel/ParN02/000README b/examples/extended/parallel/ParN02/000README index d11f4dae0d..ce6ec5033a 100644 --- a/examples/extended/parallel/ParN02/000README +++ b/examples/extended/parallel/ParN02/000README @@ -23,7 +23,7 @@ To run it: cd topc ./configure make - make test + make check [ Copy bin/topc-config to your path ] c. Verify that the Geant4 example installs: cd $G4INSTALL/examples/extended/parallel/ParN02 diff --git a/examples/extended/parallel/ParN02/AnnotatedFiles/G4HCofThisEvent.hh b/examples/extended/parallel/ParN02/AnnotatedFiles/G4HCofThisEvent.hh index e506178c60..638a65d8ab 100644 --- a/examples/extended/parallel/ParN02/AnnotatedFiles/G4HCofThisEvent.hh +++ b/examples/extended/parallel/ParN02/AnnotatedFiles/G4HCofThisEvent.hh @@ -25,7 +25,7 @@ // // // $Id: G4HCofThisEvent.hh,v 1.3 2006/06/29 17:33:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4HCofThisEvent_h diff --git a/examples/extended/parallel/ParN02/AnnotatedFiles/G4THitsCollection.hh b/examples/extended/parallel/ParN02/AnnotatedFiles/G4THitsCollection.hh index a68ba369b4..8e568daa54 100644 --- a/examples/extended/parallel/ParN02/AnnotatedFiles/G4THitsCollection.hh +++ b/examples/extended/parallel/ParN02/AnnotatedFiles/G4THitsCollection.hh @@ -25,7 +25,7 @@ // // // $Id: G4THitsCollection.hh,v 1.3 2006/06/29 17:33:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4THitsCollection_h diff --git a/examples/extended/parallel/ParN02/AnnotatedFiles/G4VHitsCollection.hh b/examples/extended/parallel/ParN02/AnnotatedFiles/G4VHitsCollection.hh index b83dcd703d..a3dfc24197 100644 --- a/examples/extended/parallel/ParN02/AnnotatedFiles/G4VHitsCollection.hh +++ b/examples/extended/parallel/ParN02/AnnotatedFiles/G4VHitsCollection.hh @@ -25,7 +25,7 @@ // // // $Id: G4VHitsCollection.hh,v 1.3 2006/06/29 17:34:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VHitsCollection_h diff --git a/examples/extended/parallel/ParN02/ParGNUmakefile b/examples/extended/parallel/ParN02/ParGNUmakefile index 3a7d62bd87..e919b9518d 100644 --- a/examples/extended/parallel/ParN02/ParGNUmakefile +++ b/examples/extended/parallel/ParN02/ParGNUmakefile @@ -1,4 +1,4 @@ -# $Id: ParGNUmakefile,v 1.5 2005/12/02 07:51:43 cooperma Exp $ +# $Id: ParGNUmakefile,v 1.6 2007/05/25 17:27:20 cooperma Exp $ # -------------------------------------------------------------- #This file should be included in GNUmakefile of local directory. @@ -51,8 +51,8 @@ EXECUTABLE=${G4BIN}/$$G4SYSTEM/${PARTARGET} G4DEBUG = 1 -TOPC_LIBS = `topc-config ${MEM_MODEL} --libs` -TOPC_CFLAGS = -DG4USE_TOPC `topc-config ${MEM_MODEL} --cflags` +TOPC_LIBS = $(shell topc-config ${MEM_MODEL} --libs) +TOPC_CFLAGS = -DG4USE_TOPC $(shell topc-config ${MEM_MODEL} --cflags) # optionally add: -DTOPC_DEBUG to TOPC_CFLAGS for debugging details. TOPC_OPTIONS = --TOPC-verbose diff --git a/examples/extended/parallel/ParN02/ParN02.cc b/examples/extended/parallel/ParN02/ParN02.cc index 789dd1a260..d54dc5fd5b 100644 --- a/examples/extended/parallel/ParN02/ParN02.cc +++ b/examples/extended/parallel/ParN02/ParN02.cc @@ -25,7 +25,7 @@ // // // $Id: ParN02.cc,v 1.5 2006/07/05 12:45:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/ParTopC.icc b/examples/extended/parallel/ParN02/ParTopC.icc index 2a8731ab83..4cf8c47251 100644 --- a/examples/extended/parallel/ParN02/ParTopC.icc +++ b/examples/extended/parallel/ParN02/ParTopC.icc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ParTopC.icc,v 1.2 2006/06/29 17:33:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN02/include/ExN02ChamberParameterisation.hh b/examples/extended/parallel/ParN02/include/ExN02ChamberParameterisation.hh index 101e16c00d..b33c9950df 100644 --- a/examples/extended/parallel/ParN02/include/ExN02ChamberParameterisation.hh +++ b/examples/extended/parallel/ParN02/include/ExN02ChamberParameterisation.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02ChamberParameterisation.hh,v 1.4 2006/06/29 17:34:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A parameterisation that describes a series of boxes along Z diff --git a/examples/extended/parallel/ParN02/include/ExN02DetectorConstruction.hh b/examples/extended/parallel/ParN02/include/ExN02DetectorConstruction.hh index b9837ad02c..3ca530ddc7 100644 --- a/examples/extended/parallel/ParN02/include/ExN02DetectorConstruction.hh +++ b/examples/extended/parallel/ParN02/include/ExN02DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02DetectorConstruction.hh,v 1.2 2006/06/29 17:34:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02DetectorMessenger.hh b/examples/extended/parallel/ParN02/include/ExN02DetectorMessenger.hh index 10a1d5f5cd..10f46dfe21 100644 --- a/examples/extended/parallel/ParN02/include/ExN02DetectorMessenger.hh +++ b/examples/extended/parallel/ParN02/include/ExN02DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02DetectorMessenger.hh,v 1.3 2006/06/29 17:34:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02EventAction.hh b/examples/extended/parallel/ParN02/include/ExN02EventAction.hh index 47113581ee..12134f4027 100644 --- a/examples/extended/parallel/ParN02/include/ExN02EventAction.hh +++ b/examples/extended/parallel/ParN02/include/ExN02EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02EventAction.hh,v 1.2 2006/06/29 17:34:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02MagneticField.hh b/examples/extended/parallel/ParN02/include/ExN02MagneticField.hh index 306da32139..978d75b124 100644 --- a/examples/extended/parallel/ParN02/include/ExN02MagneticField.hh +++ b/examples/extended/parallel/ParN02/include/ExN02MagneticField.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02MagneticField.hh,v 1.2 2006/06/29 17:34:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A class for control of the Magnetic Field of the detector. diff --git a/examples/extended/parallel/ParN02/include/ExN02PhysicsList.hh b/examples/extended/parallel/ParN02/include/ExN02PhysicsList.hh index 038a9c692e..2c03dfa2e3 100644 --- a/examples/extended/parallel/ParN02/include/ExN02PhysicsList.hh +++ b/examples/extended/parallel/ParN02/include/ExN02PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02PhysicsList.hh,v 1.2 2006/06/29 17:34:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02PrimaryGeneratorAction.hh b/examples/extended/parallel/ParN02/include/ExN02PrimaryGeneratorAction.hh index ecb2d357d9..f4f8515837 100644 --- a/examples/extended/parallel/ParN02/include/ExN02PrimaryGeneratorAction.hh +++ b/examples/extended/parallel/ParN02/include/ExN02PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02PrimaryGeneratorAction.hh,v 1.2 2006/06/29 17:34:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02RunAction.hh b/examples/extended/parallel/ParN02/include/ExN02RunAction.hh index 01af20a894..73f17c4021 100644 --- a/examples/extended/parallel/ParN02/include/ExN02RunAction.hh +++ b/examples/extended/parallel/ParN02/include/ExN02RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02RunAction.hh,v 1.3 2006/07/05 12:46:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02SteppingAction.hh b/examples/extended/parallel/ParN02/include/ExN02SteppingAction.hh index d5100d7f2b..fbd7c3eb40 100644 --- a/examples/extended/parallel/ParN02/include/ExN02SteppingAction.hh +++ b/examples/extended/parallel/ParN02/include/ExN02SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02SteppingAction.hh,v 1.2 2006/06/29 17:34:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ExN02SteppingVerbose.hh b/examples/extended/parallel/ParN02/include/ExN02SteppingVerbose.hh index 1c4569a8a6..c44916d95a 100644 --- a/examples/extended/parallel/ParN02/include/ExN02SteppingVerbose.hh +++ b/examples/extended/parallel/ParN02/include/ExN02SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02SteppingVerbose.hh,v 1.2 2006/06/29 17:34:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/parallel/ParN02/include/ExN02TrackerSD.hh b/examples/extended/parallel/ParN02/include/ExN02TrackerSD.hh index de3557821a..819f2e6345 100644 --- a/examples/extended/parallel/ParN02/include/ExN02TrackerSD.hh +++ b/examples/extended/parallel/ParN02/include/ExN02TrackerSD.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02TrackerSD.hh,v 1.2 2006/06/29 17:34:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/include/ParRunManager.hh b/examples/extended/parallel/ParN02/include/ParRunManager.hh index 0af6ee4829..d3cd2aea80 100644 --- a/examples/extended/parallel/ParN02/include/ParRunManager.hh +++ b/examples/extended/parallel/ParN02/include/ParRunManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ParRunManager.hh,v 1.3 2006/06/29 17:34:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN02/src/ExN02ChamberParameterisation.cc b/examples/extended/parallel/ParN02/src/ExN02ChamberParameterisation.cc index 8504b5dc7b..b9222be352 100644 --- a/examples/extended/parallel/ParN02/src/ExN02ChamberParameterisation.cc +++ b/examples/extended/parallel/ParN02/src/ExN02ChamberParameterisation.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02ChamberParameterisation.cc,v 1.3 2006/06/29 17:34:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02DetectorConstruction.cc b/examples/extended/parallel/ParN02/src/ExN02DetectorConstruction.cc index bb3f589035..e642e525f5 100644 --- a/examples/extended/parallel/ParN02/src/ExN02DetectorConstruction.cc +++ b/examples/extended/parallel/ParN02/src/ExN02DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02DetectorConstruction.cc,v 1.3 2006/06/29 17:34:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02DetectorMessenger.cc b/examples/extended/parallel/ParN02/src/ExN02DetectorMessenger.cc index 955848cff3..41623cd13a 100644 --- a/examples/extended/parallel/ParN02/src/ExN02DetectorMessenger.cc +++ b/examples/extended/parallel/ParN02/src/ExN02DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02DetectorMessenger.cc,v 1.4 2006/06/29 17:34:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02EventAction.cc b/examples/extended/parallel/ParN02/src/ExN02EventAction.cc index 4f512457a5..bab9ed10bd 100644 --- a/examples/extended/parallel/ParN02/src/ExN02EventAction.cc +++ b/examples/extended/parallel/ParN02/src/ExN02EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02EventAction.cc,v 1.2 2006/06/29 17:34:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02MagneticField.cc b/examples/extended/parallel/ParN02/src/ExN02MagneticField.cc index 4c676a938c..ebcb895844 100644 --- a/examples/extended/parallel/ParN02/src/ExN02MagneticField.cc +++ b/examples/extended/parallel/ParN02/src/ExN02MagneticField.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02MagneticField.cc,v 1.2 2006/06/29 17:34:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // User Field class implementation. // diff --git a/examples/extended/parallel/ParN02/src/ExN02PhysicsList.cc b/examples/extended/parallel/ParN02/src/ExN02PhysicsList.cc index 51d2164564..0009c8052b 100644 --- a/examples/extended/parallel/ParN02/src/ExN02PhysicsList.cc +++ b/examples/extended/parallel/ParN02/src/ExN02PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02PhysicsList.cc,v 1.4 2006/06/29 17:34:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02PrimaryGeneratorAction.cc b/examples/extended/parallel/ParN02/src/ExN02PrimaryGeneratorAction.cc index e9d6938e0f..89704fd0de 100644 --- a/examples/extended/parallel/ParN02/src/ExN02PrimaryGeneratorAction.cc +++ b/examples/extended/parallel/ParN02/src/ExN02PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02PrimaryGeneratorAction.cc,v 1.2 2006/06/29 17:34:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02RunAction.cc b/examples/extended/parallel/ParN02/src/ExN02RunAction.cc index 049e846b78..1880eb2842 100644 --- a/examples/extended/parallel/ParN02/src/ExN02RunAction.cc +++ b/examples/extended/parallel/ParN02/src/ExN02RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02RunAction.cc,v 1.3 2006/07/05 12:46:00 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02SteppingAction.cc b/examples/extended/parallel/ParN02/src/ExN02SteppingAction.cc index 06bba0e954..76bd55951d 100644 --- a/examples/extended/parallel/ParN02/src/ExN02SteppingAction.cc +++ b/examples/extended/parallel/ParN02/src/ExN02SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02SteppingAction.cc,v 1.2 2006/06/29 17:35:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02SteppingVerbose.cc b/examples/extended/parallel/ParN02/src/ExN02SteppingVerbose.cc index e977fe7f19..818c4cdbe9 100644 --- a/examples/extended/parallel/ParN02/src/ExN02SteppingVerbose.cc +++ b/examples/extended/parallel/ParN02/src/ExN02SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02SteppingVerbose.cc,v 1.4 2006/06/29 17:35:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02TrackerHit.cc b/examples/extended/parallel/ParN02/src/ExN02TrackerHit.cc index e43c8e0b05..ae107aec3a 100644 --- a/examples/extended/parallel/ParN02/src/ExN02TrackerHit.cc +++ b/examples/extended/parallel/ParN02/src/ExN02TrackerHit.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02TrackerHit.cc,v 1.3 2006/06/29 17:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN02/src/ExN02TrackerSD.cc b/examples/extended/parallel/ParN02/src/ExN02TrackerSD.cc index 5b6cdcc0c7..9ace199947 100644 --- a/examples/extended/parallel/ParN02/src/ExN02TrackerSD.cc +++ b/examples/extended/parallel/ParN02/src/ExN02TrackerSD.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02TrackerSD.cc,v 1.3 2006/06/29 17:35:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN04/000README b/examples/extended/parallel/ParN04/000README index 06b5b08f98..27c08ff008 100644 --- a/examples/extended/parallel/ParN04/000README +++ b/examples/extended/parallel/ParN04/000README @@ -23,7 +23,7 @@ To run it: cd topc ./configure make - make test + make check [ Copy bin/topc-config to your path ] c. Verify that the Geant4 example installs: cd $G4INSTALL/examples/extended/parallel/ParN04 diff --git a/examples/extended/parallel/ParN04/AnnotatedFiles/G4HCofThisEvent.hh b/examples/extended/parallel/ParN04/AnnotatedFiles/G4HCofThisEvent.hh index 29c3cd4bbe..b410987142 100644 --- a/examples/extended/parallel/ParN04/AnnotatedFiles/G4HCofThisEvent.hh +++ b/examples/extended/parallel/ParN04/AnnotatedFiles/G4HCofThisEvent.hh @@ -25,7 +25,7 @@ // // // $Id: G4HCofThisEvent.hh,v 1.3 2006/06/29 17:35:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4HCofThisEvent_h diff --git a/examples/extended/parallel/ParN04/AnnotatedFiles/G4THitsCollection.hh b/examples/extended/parallel/ParN04/AnnotatedFiles/G4THitsCollection.hh index d65c7a5e6c..43d2892114 100644 --- a/examples/extended/parallel/ParN04/AnnotatedFiles/G4THitsCollection.hh +++ b/examples/extended/parallel/ParN04/AnnotatedFiles/G4THitsCollection.hh @@ -25,7 +25,7 @@ // // // $Id: G4THitsCollection.hh,v 1.3 2006/06/29 17:35:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4THitsCollection_h diff --git a/examples/extended/parallel/ParN04/AnnotatedFiles/G4VHitsCollection.hh b/examples/extended/parallel/ParN04/AnnotatedFiles/G4VHitsCollection.hh index 164a0a44aa..03ec119fb6 100644 --- a/examples/extended/parallel/ParN04/AnnotatedFiles/G4VHitsCollection.hh +++ b/examples/extended/parallel/ParN04/AnnotatedFiles/G4VHitsCollection.hh @@ -25,7 +25,7 @@ // // // $Id: G4VHitsCollection.hh,v 1.3 2006/06/29 17:35:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VHitsCollection_h diff --git a/examples/extended/parallel/ParN04/ParGNUmakefile b/examples/extended/parallel/ParN04/ParGNUmakefile index ff4182f70a..00bd0db78e 100644 --- a/examples/extended/parallel/ParN04/ParGNUmakefile +++ b/examples/extended/parallel/ParN04/ParGNUmakefile @@ -1,4 +1,4 @@ -# $Id: ParGNUmakefile,v 1.6 2005/12/02 07:51:43 cooperma Exp $ +# $Id: ParGNUmakefile,v 1.7 2007/05/25 17:25:51 cooperma Exp $ # -------------------------------------------------------------- #This file should be included in GNUmakefile of local directory. @@ -52,8 +52,8 @@ EXECUTABLE=${G4BIN}/$$G4SYSTEM/${PARTARGET} G4DEBUG = 1 -TOPC_LIBS = `topc-config ${MEM_MODEL} --libs` -TOPC_CFLAGS = -DG4USE_TOPC `topc-config ${MEM_MODEL} --cflags` +TOPC_LIBS = $(shell topc-config ${MEM_MODEL} --libs) +TOPC_CFLAGS = -DG4USE_TOPC $(shell topc-config ${MEM_MODEL} --cflags) # optionally add: -DTOPC_DEBUG to TOPC_CFLAGS for debugging details. TOPC_OPTIONS = --TOPC-verbose diff --git a/examples/extended/parallel/ParN04/ParN04.cc b/examples/extended/parallel/ParN04/ParN04.cc index 9cea2d7073..f33ba855c4 100644 --- a/examples/extended/parallel/ParN04/ParN04.cc +++ b/examples/extended/parallel/ParN04/ParN04.cc @@ -25,7 +25,7 @@ // // // $Id: ParN04.cc,v 1.6 2006/07/05 13:07:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/parallel/ParN04/ParTopC.icc b/examples/extended/parallel/ParN04/ParTopC.icc index 035532e9ce..e654b24104 100644 --- a/examples/extended/parallel/ParN04/ParTopC.icc +++ b/examples/extended/parallel/ParN04/ParTopC.icc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ParTopC.icc,v 1.2 2006/06/29 17:35:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN04/include/ExN04EMPhysics.hh b/examples/extended/parallel/ParN04/include/ExN04EMPhysics.hh index a29d8f8da3..e486732b8b 100644 --- a/examples/extended/parallel/ParN04/include/ExN04EMPhysics.hh +++ b/examples/extended/parallel/ParN04/include/ExN04EMPhysics.hh @@ -25,7 +25,7 @@ // // // $Id: ExN04EMPhysics.hh,v 1.2 2006/06/29 17:36:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/examples/extended/parallel/ParN04/include/ExN04RunAction.hh b/examples/extended/parallel/ParN04/include/ExN04RunAction.hh index 6d4d2d6faf..a39121d36e 100644 --- a/examples/extended/parallel/ParN04/include/ExN04RunAction.hh +++ b/examples/extended/parallel/ParN04/include/ExN04RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN04RunAction.hh,v 1.3 2006/07/05 13:07:55 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN04/include/ExN04SteppingVerbose.hh b/examples/extended/parallel/ParN04/include/ExN04SteppingVerbose.hh index 9d6c4e9319..ef8785c59d 100644 --- a/examples/extended/parallel/ParN04/include/ExN04SteppingVerbose.hh +++ b/examples/extended/parallel/ParN04/include/ExN04SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: ExN04SteppingVerbose.hh,v 1.2 2006/06/29 17:36:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/parallel/ParN04/include/ParRunManager.hh b/examples/extended/parallel/ParN04/include/ParRunManager.hh index 6d001782d8..6831ac33df 100644 --- a/examples/extended/parallel/ParN04/include/ParRunManager.hh +++ b/examples/extended/parallel/ParN04/include/ParRunManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ParRunManager.hh,v 1.4 2006/06/29 17:36:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // Parallel Library for Geant4 diff --git a/examples/extended/parallel/ParN04/src/ExN04RunAction.cc b/examples/extended/parallel/ParN04/src/ExN04RunAction.cc index c33c19f0f8..095207e5b6 100644 --- a/examples/extended/parallel/ParN04/src/ExN04RunAction.cc +++ b/examples/extended/parallel/ParN04/src/ExN04RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN04RunAction.cc,v 1.3 2006/07/05 13:07:56 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parallel/ParN04/src/ExN04SteppingVerbose.cc b/examples/extended/parallel/ParN04/src/ExN04SteppingVerbose.cc index 506c096cf1..71f936ce04 100644 --- a/examples/extended/parallel/ParN04/src/ExN04SteppingVerbose.cc +++ b/examples/extended/parallel/ParN04/src/ExN04SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: ExN04SteppingVerbose.cc,v 1.2 2006/06/29 17:37:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/parameterisations/gflash/History b/examples/extended/parameterisations/gflash/History index c5cb8e6b9d..6e8f018481 100644 --- a/examples/extended/parameterisations/gflash/History +++ b/examples/extended/parameterisations/gflash/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 2005/12/01 18:27:45 gcosmo Exp $ +$Id: History,v 1.4 2007/05/18 15:22:01 mverderi Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,9 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May 18, 2007, M. Verderi (exgflash-V08-03-00) +- ExGflashPhysicsList.cc : the fast simulation process is now a discrete process + Dec 1st, 2005 G.Cosmo (exgflash-V07-01-00) --------------------- - Adapted to new gflash redesign. Coworks with "gflash-V07-01-02". diff --git a/examples/extended/parameterisations/gflash/src/ExGflashPhysicsList.cc b/examples/extended/parameterisations/gflash/src/ExGflashPhysicsList.cc index 5da3bcbaee..7786e66a3c 100644 --- a/examples/extended/parameterisations/gflash/src/ExGflashPhysicsList.cc +++ b/examples/extended/parameterisations/gflash/src/ExGflashPhysicsList.cc @@ -128,17 +128,6 @@ void ExGflashPhysicsList::ConstructProcess() void ExGflashPhysicsList::AddTransportation() { G4VUserPhysicsList::AddTransportation(); - - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - // G4ParticleDefinition* particle = theParticleIterator->value(); - //G4ProcessManager* pmanager = particle->GetProcessManager(); -// pmanager->AddDiscreteProcess(new MaxTimeCuts()); -// pmanager->AddDiscreteProcess(new MinEkineCuts()); - // pmanager->AddDiscreteProcess(new ExN05MinEkineCuts()); - - /// pmanager->AddDiscreteProcess(new MinRangeCuts()); - } } #include "G4ComptonScattering.hh" @@ -318,10 +307,8 @@ void ExGflashPhysicsList::AddParameterisation() G4ParticleDefinition* particle = theParticleIterator->value(); // std::cout<<"--- particle "<GetParticleName()<GetProcessManager(); - // both postStep and alongStep action are required: because - // of the use of ghost volumes. If no ghost, the postStep - // is sufficient. - pmanager->AddProcess(theFastSimulationManagerProcess, -1, 1, 1); + // The fast simulation process becomes a discrete process only since 9.0: + pmanager->AddDiscreteProcess(theFastSimulationManagerProcess); } } diff --git a/examples/extended/persistency/P01/exampleP01.cc b/examples/extended/persistency/P01/exampleP01.cc index 4b4d3a59ea..4666194009 100644 --- a/examples/extended/persistency/P01/exampleP01.cc +++ b/examples/extended/persistency/P01/exampleP01.cc @@ -25,7 +25,7 @@ // // // $Id: exampleP01.cc,v 1.2 2006/06/29 17:38:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/include/ExP01ChamberParameterisation.hh b/examples/extended/persistency/P01/include/ExP01ChamberParameterisation.hh index c5c79603b8..54202bc150 100644 --- a/examples/extended/persistency/P01/include/ExP01ChamberParameterisation.hh +++ b/examples/extended/persistency/P01/include/ExP01ChamberParameterisation.hh @@ -25,7 +25,7 @@ // // // $Id: ExP01ChamberParameterisation.hh,v 1.2 2006/06/29 17:38:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A parameterisation that describes a series of boxes along Z diff --git a/examples/extended/persistency/P01/include/ExP01DetectorConstruction.hh b/examples/extended/persistency/P01/include/ExP01DetectorConstruction.hh index b06498fd2d..7807eeb279 100644 --- a/examples/extended/persistency/P01/include/ExP01DetectorConstruction.hh +++ b/examples/extended/persistency/P01/include/ExP01DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: ExP01DetectorConstruction.hh,v 1.2 2006/06/29 17:38:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/include/ExP01DetectorMessenger.hh b/examples/extended/persistency/P01/include/ExP01DetectorMessenger.hh index 0344ced019..00c7a1bbbf 100644 --- a/examples/extended/persistency/P01/include/ExP01DetectorMessenger.hh +++ b/examples/extended/persistency/P01/include/ExP01DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: ExP01DetectorMessenger.hh,v 1.2 2006/06/29 17:38:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/include/ExP01EventAction.hh b/examples/extended/persistency/P01/include/ExP01EventAction.hh index ea4e07d284..9125f649a0 100644 --- a/examples/extended/persistency/P01/include/ExP01EventAction.hh +++ b/examples/extended/persistency/P01/include/ExP01EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExP01EventAction.hh,v 1.2 2006/06/29 17:38:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/include/ExP01MagneticField.hh b/examples/extended/persistency/P01/include/ExP01MagneticField.hh index 9b761e94f5..d9814b0c96 100644 --- a/examples/extended/persistency/P01/include/ExP01MagneticField.hh +++ b/examples/extended/persistency/P01/include/ExP01MagneticField.hh @@ -25,7 +25,7 @@ // // // $Id: ExP01MagneticField.hh,v 1.2 2006/06/29 17:38:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A class for control of the Magnetic Field of the detector. diff --git a/examples/extended/persistency/P01/include/ExP01PhysicsList.hh b/examples/extended/persistency/P01/include/ExP01PhysicsList.hh index 1bfaac4cbb..3f93230353 100644 --- a/examples/extended/persistency/P01/include/ExP01PhysicsList.hh +++ b/examples/extended/persistency/P01/include/ExP01PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: ExP01PhysicsList.hh,v 1.2 2006/06/29 17:38:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/include/ExP01PrimaryGeneratorAction.hh b/examples/extended/persistency/P01/include/ExP01PrimaryGeneratorAction.hh index 18f2c17c4a..8195a384e8 100644 --- a/examples/extended/persistency/P01/include/ExP01PrimaryGeneratorAction.hh +++ b/examples/extended/persistency/P01/include/ExP01PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExP01PrimaryGeneratorAction.hh,v 1.2 2006/06/29 17:38:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/include/ExP01RunAction.hh b/examples/extended/persistency/P01/include/ExP01RunAction.hh index c9a7f26b79..59dd730ad7 100644 --- a/examples/extended/persistency/P01/include/ExP01RunAction.hh +++ b/examples/extended/persistency/P01/include/ExP01RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExP01RunAction.hh,v 1.2 2006/06/29 17:39:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/include/ExP01SteppingAction.hh b/examples/extended/persistency/P01/include/ExP01SteppingAction.hh index 866beece9c..b1db255442 100644 --- a/examples/extended/persistency/P01/include/ExP01SteppingAction.hh +++ b/examples/extended/persistency/P01/include/ExP01SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExP01SteppingAction.hh,v 1.2 2006/06/29 17:39:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/include/ExP01SteppingVerbose.hh b/examples/extended/persistency/P01/include/ExP01SteppingVerbose.hh index 3f65f1052d..b4c311b7c6 100644 --- a/examples/extended/persistency/P01/include/ExP01SteppingVerbose.hh +++ b/examples/extended/persistency/P01/include/ExP01SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: ExP01SteppingVerbose.hh,v 1.2 2006/06/29 17:39:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/persistency/P01/include/ExP01TrackerHit.hh b/examples/extended/persistency/P01/include/ExP01TrackerHit.hh index e285515b41..14079df990 100644 --- a/examples/extended/persistency/P01/include/ExP01TrackerHit.hh +++ b/examples/extended/persistency/P01/include/ExP01TrackerHit.hh @@ -25,7 +25,7 @@ // // // $Id: ExP01TrackerHit.hh,v 1.2 2006/06/29 17:39:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/include/ExP01TrackerSD.hh b/examples/extended/persistency/P01/include/ExP01TrackerSD.hh index 2a762b15f0..d854a84c70 100644 --- a/examples/extended/persistency/P01/include/ExP01TrackerSD.hh +++ b/examples/extended/persistency/P01/include/ExP01TrackerSD.hh @@ -25,7 +25,7 @@ // // // $Id: ExP01TrackerSD.hh,v 1.2 2006/06/29 17:39:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/src/ExP01ChamberParameterisation.cc b/examples/extended/persistency/P01/src/ExP01ChamberParameterisation.cc index b705ed30d7..b2ee638b0e 100644 --- a/examples/extended/persistency/P01/src/ExP01ChamberParameterisation.cc +++ b/examples/extended/persistency/P01/src/ExP01ChamberParameterisation.cc @@ -25,7 +25,7 @@ // // // $Id: ExP01ChamberParameterisation.cc,v 1.2 2006/06/29 17:39:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/src/ExP01DetectorConstruction.cc b/examples/extended/persistency/P01/src/ExP01DetectorConstruction.cc index c4ebba5c8e..9855b2b6d9 100644 --- a/examples/extended/persistency/P01/src/ExP01DetectorConstruction.cc +++ b/examples/extended/persistency/P01/src/ExP01DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: ExP01DetectorConstruction.cc,v 1.2 2006/06/29 17:39:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/src/ExP01DetectorMessenger.cc b/examples/extended/persistency/P01/src/ExP01DetectorMessenger.cc index a5bfc2e101..1832fe4869 100644 --- a/examples/extended/persistency/P01/src/ExP01DetectorMessenger.cc +++ b/examples/extended/persistency/P01/src/ExP01DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: ExP01DetectorMessenger.cc,v 1.2 2006/06/29 17:39:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/src/ExP01EventAction.cc b/examples/extended/persistency/P01/src/ExP01EventAction.cc index b11450b0ef..120a5f17ae 100644 --- a/examples/extended/persistency/P01/src/ExP01EventAction.cc +++ b/examples/extended/persistency/P01/src/ExP01EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExP01EventAction.cc,v 1.2 2006/06/29 17:39:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/src/ExP01MagneticField.cc b/examples/extended/persistency/P01/src/ExP01MagneticField.cc index a987923d49..5b336b6c55 100644 --- a/examples/extended/persistency/P01/src/ExP01MagneticField.cc +++ b/examples/extended/persistency/P01/src/ExP01MagneticField.cc @@ -25,7 +25,7 @@ // // // $Id: ExP01MagneticField.cc,v 1.2 2006/06/29 17:39:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // User Field class implementation. // diff --git a/examples/extended/persistency/P01/src/ExP01PhysicsList.cc b/examples/extended/persistency/P01/src/ExP01PhysicsList.cc index aa20046c49..47feca123e 100644 --- a/examples/extended/persistency/P01/src/ExP01PhysicsList.cc +++ b/examples/extended/persistency/P01/src/ExP01PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: ExP01PhysicsList.cc,v 1.2 2006/06/29 17:39:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/src/ExP01PrimaryGeneratorAction.cc b/examples/extended/persistency/P01/src/ExP01PrimaryGeneratorAction.cc index 6dd364a88d..a96c7d63e5 100644 --- a/examples/extended/persistency/P01/src/ExP01PrimaryGeneratorAction.cc +++ b/examples/extended/persistency/P01/src/ExP01PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExP01PrimaryGeneratorAction.cc,v 1.2 2006/06/29 17:39:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/src/ExP01RunAction.cc b/examples/extended/persistency/P01/src/ExP01RunAction.cc index e028cbd766..286a095f5f 100644 --- a/examples/extended/persistency/P01/src/ExP01RunAction.cc +++ b/examples/extended/persistency/P01/src/ExP01RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExP01RunAction.cc,v 1.2 2006/06/29 17:39:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/src/ExP01SteppingAction.cc b/examples/extended/persistency/P01/src/ExP01SteppingAction.cc index 30e499b498..1834e9df92 100644 --- a/examples/extended/persistency/P01/src/ExP01SteppingAction.cc +++ b/examples/extended/persistency/P01/src/ExP01SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExP01SteppingAction.cc,v 1.2 2006/06/29 17:39:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/src/ExP01SteppingVerbose.cc b/examples/extended/persistency/P01/src/ExP01SteppingVerbose.cc index e9fe0eab58..336f1df573 100644 --- a/examples/extended/persistency/P01/src/ExP01SteppingVerbose.cc +++ b/examples/extended/persistency/P01/src/ExP01SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: ExP01SteppingVerbose.cc,v 1.2 2006/06/29 17:39:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/src/ExP01TrackerHit.cc b/examples/extended/persistency/P01/src/ExP01TrackerHit.cc index ae31ac30f3..b9701e8e17 100644 --- a/examples/extended/persistency/P01/src/ExP01TrackerHit.cc +++ b/examples/extended/persistency/P01/src/ExP01TrackerHit.cc @@ -25,7 +25,7 @@ // // // $Id: ExP01TrackerHit.cc,v 1.2 2006/06/29 17:39:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/persistency/P01/src/ExP01TrackerSD.cc b/examples/extended/persistency/P01/src/ExP01TrackerSD.cc index 229d269948..edff50c460 100644 --- a/examples/extended/persistency/P01/src/ExP01TrackerSD.cc +++ b/examples/extended/persistency/P01/src/ExP01TrackerSD.cc @@ -25,7 +25,7 @@ // // // $Id: ExP01TrackerSD.cc,v 1.2 2006/06/29 17:39:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/DetectorConstruction.hh b/examples/extended/polarisation/Pol01/include/DetectorConstruction.hh index 056f228bbf..f76e2c0080 100644 --- a/examples/extended/polarisation/Pol01/include/DetectorConstruction.hh +++ b/examples/extended/polarisation/Pol01/include/DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.hh,v 1.2 2006/10/02 16:25:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/DetectorMessenger.hh b/examples/extended/polarisation/Pol01/include/DetectorMessenger.hh index 235d3a1e5d..09060b1bf8 100644 --- a/examples/extended/polarisation/Pol01/include/DetectorMessenger.hh +++ b/examples/extended/polarisation/Pol01/include/DetectorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.hh,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/EventAction.hh b/examples/extended/polarisation/Pol01/include/EventAction.hh index 3ede24fe71..793eb26597 100644 --- a/examples/extended/polarisation/Pol01/include/EventAction.hh +++ b/examples/extended/polarisation/Pol01/include/EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.hh,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/EventActionMessenger.hh b/examples/extended/polarisation/Pol01/include/EventActionMessenger.hh index 527e64e06b..9be41799e8 100644 --- a/examples/extended/polarisation/Pol01/include/EventActionMessenger.hh +++ b/examples/extended/polarisation/Pol01/include/EventActionMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.hh,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/HistoManager.hh b/examples/extended/polarisation/Pol01/include/HistoManager.hh index bb05cfbc28..8463d0a722 100644 --- a/examples/extended/polarisation/Pol01/include/HistoManager.hh +++ b/examples/extended/polarisation/Pol01/include/HistoManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.hh,v 1.2 2006/11/17 11:44:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/HistoMessenger.hh b/examples/extended/polarisation/Pol01/include/HistoMessenger.hh index f419fa4520..970d0af118 100644 --- a/examples/extended/polarisation/Pol01/include/HistoMessenger.hh +++ b/examples/extended/polarisation/Pol01/include/HistoMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.hh,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/PhysListEmPolarized.hh b/examples/extended/polarisation/Pol01/include/PhysListEmPolarized.hh index 3763508c24..916673bc17 100644 --- a/examples/extended/polarisation/Pol01/include/PhysListEmPolarized.hh +++ b/examples/extended/polarisation/Pol01/include/PhysListEmPolarized.hh @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPolarized.hh,v 1.1 2006/10/02 16:25:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/PhysListEmStandard.hh b/examples/extended/polarisation/Pol01/include/PhysListEmStandard.hh index 1e497f92d0..9984b27d2c 100644 --- a/examples/extended/polarisation/Pol01/include/PhysListEmStandard.hh +++ b/examples/extended/polarisation/Pol01/include/PhysListEmStandard.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandard.hh,v 1.2 2006/10/02 16:25:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/PhysicsList.hh b/examples/extended/polarisation/Pol01/include/PhysicsList.hh index 5cd67a0386..eb5271b67b 100644 --- a/examples/extended/polarisation/Pol01/include/PhysicsList.hh +++ b/examples/extended/polarisation/Pol01/include/PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.hh,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/examples/extended/polarisation/Pol01/include/PhysicsListMessenger.hh b/examples/extended/polarisation/Pol01/include/PhysicsListMessenger.hh index 9931222c97..e1695abbc5 100644 --- a/examples/extended/polarisation/Pol01/include/PhysicsListMessenger.hh +++ b/examples/extended/polarisation/Pol01/include/PhysicsListMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.hh,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/PrimaryGeneratorAction.hh b/examples/extended/polarisation/Pol01/include/PrimaryGeneratorAction.hh index 47aa456fa0..cb11b44686 100644 --- a/examples/extended/polarisation/Pol01/include/PrimaryGeneratorAction.hh +++ b/examples/extended/polarisation/Pol01/include/PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.hh,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/ProcessesCount.hh b/examples/extended/polarisation/Pol01/include/ProcessesCount.hh index 55ab0c066c..d2966ff80e 100644 --- a/examples/extended/polarisation/Pol01/include/ProcessesCount.hh +++ b/examples/extended/polarisation/Pol01/include/ProcessesCount.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ProcessesCount.hh,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/RunAction.hh b/examples/extended/polarisation/Pol01/include/RunAction.hh index fcd097aadf..607c118758 100644 --- a/examples/extended/polarisation/Pol01/include/RunAction.hh +++ b/examples/extended/polarisation/Pol01/include/RunAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.hh,v 1.2 2006/11/17 11:44:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/StepMax.hh b/examples/extended/polarisation/Pol01/include/StepMax.hh index b8587b826d..cf040fcb9b 100644 --- a/examples/extended/polarisation/Pol01/include/StepMax.hh +++ b/examples/extended/polarisation/Pol01/include/StepMax.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.hh,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/StepMaxMessenger.hh b/examples/extended/polarisation/Pol01/include/StepMaxMessenger.hh index 628a69ba76..e842550955 100644 --- a/examples/extended/polarisation/Pol01/include/StepMaxMessenger.hh +++ b/examples/extended/polarisation/Pol01/include/StepMaxMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.hh,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/include/SteppingAction.hh b/examples/extended/polarisation/Pol01/include/SteppingAction.hh index e00e8bfebb..88fef82a45 100644 --- a/examples/extended/polarisation/Pol01/include/SteppingAction.hh +++ b/examples/extended/polarisation/Pol01/include/SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.hh,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/pol01.cc b/examples/extended/polarisation/Pol01/pol01.cc index 719c03ddaf..ec0e705dbf 100644 --- a/examples/extended/polarisation/Pol01/pol01.cc +++ b/examples/extended/polarisation/Pol01/pol01.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: pol01.cc,v 1.2 2006/10/02 16:25:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/pol01.out b/examples/extended/polarisation/Pol01/pol01.out index a61f73f88d..5aac988b29 100644 --- a/examples/extended/polarisation/Pol01/pol01.out +++ b/examples/extended/polarisation/Pol01/pol01.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-02-patch-01-ref (23-February-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -56,7 +56,8 @@ pol-conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 G msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + LateralDisplacementFlag= 1 Skin= 0 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 pol-eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -90,6 +91,8 @@ annih- 1 building pol-annih ... Region -- appears in world volume + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : G4_Galactic G4_Fe Production cuts : gamma 100 um e- 100 um e+ 100 um @@ -125,39 +128,39 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10000 - User=13.81s Real=14s Sys=0.15s + User=8.28s Real=8.29s Sys=0s The run consists of 10000 gamma of 10 MeV through 1.75 mm of G4_Fe (density: 7.874 g/cm3 ) --------- Ranlux engine status --------- Initial seed = 9876 - float_seed_table[] = 0.0882227 0.188414 0.551392 0.0514817 0.1189 0.521576 0.105935 0.0694836 0.788726 0.829893 0.491317 0.403854 0.62452 0.67214 0.215777 0.8801 0.878136 0.897669 0.370625 0.722121 0.309446 0.670147 0.00798136 0.226157 - i_lag = 21, j_lag = 7 - carry = 0, count24 = 9 + float_seed_table[] = 0.139354 0.233997 0.30628 0.234571 0.528728 0.486909 0.44629 0.624286 0.989632 0.512979 0.443912 0.421656 0.908938 0.853481 0.956444 0.268544 0.552436 0.126792 0.623712 0.589204 0.314177 0.36294 0.916958 0.574645 + i_lag = 22, j_lag = 8 + carry = 5.96046e-08, count24 = 4 luxury = 3 nskip = 199 ---------------------------------------- Process calls frequency ---> - Transportation = 31232 - pol-compt = 267 - msc = 5511 - pol-eBrem = 425 - pol-eIoni = 711 - pol-conv = 232 - pol-annihil = 73 - phot = 182 + Transportation = 31038 + pol-compt = 248 + msc = 3373 + pol-eBrem = 308 + phot = 160 + pol-eIoni = 597 + pol-conv = 200 + pol-annihil = 59 Gamma: -Mean Number per Event :1.0136 -Mean Energy :9.5339 MeV +- 2.005 MeV -Mean Polarization :-0.95902 +- 0.1957 +Mean Number per Event :1.0064 +Mean Energy :9.6278 MeV +- 1.7931 MeV +Mean Polarization :-0.96771 +- 0.17774 Electron: -Mean Number per Event :0.0321 -Mean Energy :4.9425 MeV +- 2.5229 MeV -Mean Polarization :-0.69971 +- 0.2972 +Mean Number per Event :0.0313 +Mean Energy :5.1737 MeV +- 2.4785 MeV +Mean Polarization :-0.7229 +- 0.29023 Positron: -Mean Number per Event :0.0159 -Mean Energy :4.2614 MeV +- 1.8987 MeV -Mean Polarization :-0.64095 +- 0.28579 +Mean Number per Event :0.0142 +Mean Energy :4.3329 MeV +- 2.0504 MeV +Mean Polarization :-0.60168 +- 0.31459 # UserDetectorConstruction deleted. UserPhysicsList deleted. diff --git a/examples/extended/polarisation/Pol01/src/DetectorConstruction.cc b/examples/extended/polarisation/Pol01/src/DetectorConstruction.cc index 6ad572044f..998162f898 100644 --- a/examples/extended/polarisation/Pol01/src/DetectorConstruction.cc +++ b/examples/extended/polarisation/Pol01/src/DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorConstruction.cc,v 1.2 2006/10/02 16:25:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/DetectorMessenger.cc b/examples/extended/polarisation/Pol01/src/DetectorMessenger.cc index 96da5be2e8..ed60a6beb0 100644 --- a/examples/extended/polarisation/Pol01/src/DetectorMessenger.cc +++ b/examples/extended/polarisation/Pol01/src/DetectorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: DetectorMessenger.cc,v 1.2 2006/10/02 16:25:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/EventAction.cc b/examples/extended/polarisation/Pol01/src/EventAction.cc index 4c8b516660..c779546bda 100644 --- a/examples/extended/polarisation/Pol01/src/EventAction.cc +++ b/examples/extended/polarisation/Pol01/src/EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventAction.cc,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/EventActionMessenger.cc b/examples/extended/polarisation/Pol01/src/EventActionMessenger.cc index 195fdbb6cc..77b07af5b6 100644 --- a/examples/extended/polarisation/Pol01/src/EventActionMessenger.cc +++ b/examples/extended/polarisation/Pol01/src/EventActionMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: EventActionMessenger.cc,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/HistoManager.cc b/examples/extended/polarisation/Pol01/src/HistoManager.cc index 1ab3c64704..d4f90e69b8 100644 --- a/examples/extended/polarisation/Pol01/src/HistoManager.cc +++ b/examples/extended/polarisation/Pol01/src/HistoManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoManager.cc,v 1.3 2006/11/17 11:44:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/HistoMessenger.cc b/examples/extended/polarisation/Pol01/src/HistoMessenger.cc index 67294d57bc..02a5f9c32b 100644 --- a/examples/extended/polarisation/Pol01/src/HistoMessenger.cc +++ b/examples/extended/polarisation/Pol01/src/HistoMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HistoMessenger.cc,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/PhysListEmPolarized.cc b/examples/extended/polarisation/Pol01/src/PhysListEmPolarized.cc index 95f3e56fe1..0005b6d704 100644 --- a/examples/extended/polarisation/Pol01/src/PhysListEmPolarized.cc +++ b/examples/extended/polarisation/Pol01/src/PhysListEmPolarized.cc @@ -25,7 +25,7 @@ // // // $Id: PhysListEmPolarized.cc,v 1.1 2006/10/02 16:25:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/PhysListEmStandard.cc b/examples/extended/polarisation/Pol01/src/PhysListEmStandard.cc index 04fa17d3cc..5e396af8d1 100644 --- a/examples/extended/polarisation/Pol01/src/PhysListEmStandard.cc +++ b/examples/extended/polarisation/Pol01/src/PhysListEmStandard.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysListEmStandard.cc,v 1.2 2006/10/02 16:25:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/PhysicsList.cc b/examples/extended/polarisation/Pol01/src/PhysicsList.cc index d4caefe93f..628d1fe6a0 100644 --- a/examples/extended/polarisation/Pol01/src/PhysicsList.cc +++ b/examples/extended/polarisation/Pol01/src/PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: PhysicsList.cc,v 1.2 2006/10/02 16:25:55 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/PhysicsListMessenger.cc b/examples/extended/polarisation/Pol01/src/PhysicsListMessenger.cc index 74ff123329..0fe5e3da29 100644 --- a/examples/extended/polarisation/Pol01/src/PhysicsListMessenger.cc +++ b/examples/extended/polarisation/Pol01/src/PhysicsListMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PhysicsListMessenger.cc,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/PrimaryGeneratorAction.cc b/examples/extended/polarisation/Pol01/src/PrimaryGeneratorAction.cc index f898c64443..d6d094199d 100644 --- a/examples/extended/polarisation/Pol01/src/PrimaryGeneratorAction.cc +++ b/examples/extended/polarisation/Pol01/src/PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: PrimaryGeneratorAction.cc,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/RunAction.cc b/examples/extended/polarisation/Pol01/src/RunAction.cc index 6ca61337b3..059bee8576 100644 --- a/examples/extended/polarisation/Pol01/src/RunAction.cc +++ b/examples/extended/polarisation/Pol01/src/RunAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RunAction.cc,v 1.3 2006/11/17 11:44:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/StepMax.cc b/examples/extended/polarisation/Pol01/src/StepMax.cc index 9678badc3b..525e3c1262 100644 --- a/examples/extended/polarisation/Pol01/src/StepMax.cc +++ b/examples/extended/polarisation/Pol01/src/StepMax.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMax.cc,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/StepMaxMessenger.cc b/examples/extended/polarisation/Pol01/src/StepMaxMessenger.cc index 9b36f208d8..58200cb8fb 100644 --- a/examples/extended/polarisation/Pol01/src/StepMaxMessenger.cc +++ b/examples/extended/polarisation/Pol01/src/StepMaxMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: StepMaxMessenger.cc,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/polarisation/Pol01/src/SteppingAction.cc b/examples/extended/polarisation/Pol01/src/SteppingAction.cc index 7c850e079b..eb4f5a7136 100644 --- a/examples/extended/polarisation/Pol01/src/SteppingAction.cc +++ b/examples/extended/polarisation/Pol01/src/SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SteppingAction.cc,v 1.1 2006/10/02 13:48:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/radioactivedecay/exrdm/exrdm.out b/examples/extended/radioactivedecay/exrdm/exrdm.out index 9e87b5909e..7b6bf57b4f 100644 --- a/examples/extended/radioactivedecay/exrdm/exrdm.out +++ b/examples/extended/radioactivedecay/exrdm/exrdm.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version $Name: geant4-08-02 $ (27-July-2004) + Geant4 version $Name: geant4-09-00 $ (27-July-2004) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 diff --git a/examples/extended/runAndEvent/RE01/RE01.cc b/examples/extended/runAndEvent/RE01/RE01.cc index 196f928761..4e6a557f0e 100644 --- a/examples/extended/runAndEvent/RE01/RE01.cc +++ b/examples/extended/runAndEvent/RE01/RE01.cc @@ -25,7 +25,7 @@ // // // $Id: RE01.cc,v 1.3 2006/06/29 17:42:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/extended/runAndEvent/RE01/include/RE01BosonPhysics.hh b/examples/extended/runAndEvent/RE01/include/RE01BosonPhysics.hh index 2aa84b9251..acedb319e2 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01BosonPhysics.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01BosonPhysics.hh @@ -25,7 +25,7 @@ // // // $Id: RE01BosonPhysics.hh,v 1.2 2006/06/29 17:42:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE01BosonPhysics_h diff --git a/examples/extended/runAndEvent/RE01/include/RE01CalorimeterHit.hh b/examples/extended/runAndEvent/RE01/include/RE01CalorimeterHit.hh index f94a0cc320..bc9fbdc0ff 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01CalorimeterHit.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01CalorimeterHit.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01CalorimeterHit.hh,v 1.3 2006/06/29 17:42:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01CalorimeterParametrisation.hh b/examples/extended/runAndEvent/RE01/include/RE01CalorimeterParametrisation.hh index aeaae9d1f6..f1619e1047 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01CalorimeterParametrisation.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01CalorimeterParametrisation.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01CalorimeterParametrisation.hh,v 1.2 2006/06/29 17:42:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01CalorimeterROGeometry.hh b/examples/extended/runAndEvent/RE01/include/RE01CalorimeterROGeometry.hh index 342ce749a9..500c392021 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01CalorimeterROGeometry.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01CalorimeterROGeometry.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01CalorimeterROGeometry.hh,v 1.2 2006/06/29 17:42:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01CalorimeterSD.hh b/examples/extended/runAndEvent/RE01/include/RE01CalorimeterSD.hh index 21b317c444..78d8702e5b 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01CalorimeterSD.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01CalorimeterSD.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01CalorimeterSD.hh,v 1.2 2006/06/29 17:42:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01DecayPhysics.hh b/examples/extended/runAndEvent/RE01/include/RE01DecayPhysics.hh index e37fc9ad27..d51199b8fc 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01DecayPhysics.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01DecayPhysics.hh @@ -25,7 +25,7 @@ // // // $Id: RE01DecayPhysics.hh,v 1.2 2006/06/29 17:42:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/runAndEvent/RE01/include/RE01DetectorConstruction.hh b/examples/extended/runAndEvent/RE01/include/RE01DetectorConstruction.hh index 639c4b4930..4a01ee956a 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01DetectorConstruction.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01DetectorConstruction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01DetectorConstruction.hh,v 1.2 2006/06/29 17:42:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01DetectorParameterDef.hh b/examples/extended/runAndEvent/RE01/include/RE01DetectorParameterDef.hh index 53162a84b7..e5ad07f81e 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01DetectorParameterDef.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01DetectorParameterDef.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01DetectorParameterDef.hh,v 1.2 2006/06/29 17:42:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // G4double expHall_x; diff --git a/examples/extended/runAndEvent/RE01/include/RE01DummySD.hh b/examples/extended/runAndEvent/RE01/include/RE01DummySD.hh index c1cbd6c86d..2615aa9231 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01DummySD.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01DummySD.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01DummySD.hh,v 1.2 2006/06/29 17:42:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/runAndEvent/RE01/include/RE01EventAction.hh b/examples/extended/runAndEvent/RE01/include/RE01EventAction.hh index b3e03d9282..1d45a613d9 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01EventAction.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01EventAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01EventAction.hh,v 1.2 2006/06/29 17:42:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01Field.hh b/examples/extended/runAndEvent/RE01/include/RE01Field.hh index 60a686abbe..f634ca4398 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01Field.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01Field.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01Field.hh,v 1.2 2006/06/29 17:42:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01HadronPhysics.hh b/examples/extended/runAndEvent/RE01/include/RE01HadronPhysics.hh index 5b45a6bdcf..ef27133a3f 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01HadronPhysics.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01HadronPhysics.hh @@ -25,7 +25,7 @@ // // // $Id: RE01HadronPhysics.hh,v 1.2 2006/06/29 17:42:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE01HadronPhysics_h diff --git a/examples/extended/runAndEvent/RE01/include/RE01IonPhysics.hh b/examples/extended/runAndEvent/RE01/include/RE01IonPhysics.hh index 3a9261acec..3f31d62f62 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01IonPhysics.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01IonPhysics.hh @@ -25,7 +25,7 @@ // // // $Id: RE01IonPhysics.hh,v 1.2 2006/06/29 17:42:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE01IonPhysics_h diff --git a/examples/extended/runAndEvent/RE01/include/RE01LeptonPhysics.hh b/examples/extended/runAndEvent/RE01/include/RE01LeptonPhysics.hh index 5407942163..0ab035a4c4 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01LeptonPhysics.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01LeptonPhysics.hh @@ -25,7 +25,7 @@ // // // $Id: RE01LeptonPhysics.hh,v 1.2 2006/06/29 17:42:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/runAndEvent/RE01/include/RE01PhysicsList.hh b/examples/extended/runAndEvent/RE01/include/RE01PhysicsList.hh index 574fad77e5..522c62fba7 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01PhysicsList.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: RE01PhysicsList.hh,v 1.2 2006/06/29 17:43:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/runAndEvent/RE01/include/RE01PrimaryGeneratorAction.hh b/examples/extended/runAndEvent/RE01/include/RE01PrimaryGeneratorAction.hh index 3fc9da0bc2..0a7ca790a2 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01PrimaryGeneratorAction.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01PrimaryGeneratorAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01PrimaryGeneratorAction.hh,v 1.2 2006/06/29 17:43:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01PrimaryGeneratorMessenger.hh b/examples/extended/runAndEvent/RE01/include/RE01PrimaryGeneratorMessenger.hh index ad1c967eab..2479b85d90 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01PrimaryGeneratorMessenger.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01PrimaryGeneratorMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01PrimaryGeneratorMessenger.hh,v 1.2 2006/06/29 17:43:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01RegionInformation.hh b/examples/extended/runAndEvent/RE01/include/RE01RegionInformation.hh index 847e78d1fd..a86ca70007 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01RegionInformation.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01RegionInformation.hh @@ -25,7 +25,7 @@ // // // $Id: RE01RegionInformation.hh,v 1.2 2006/06/29 17:43:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE01RegionInformation_H diff --git a/examples/extended/runAndEvent/RE01/include/RE01RunAction.hh b/examples/extended/runAndEvent/RE01/include/RE01RunAction.hh index 4d720040dc..3693b1398b 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01RunAction.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: RE01RunAction.hh,v 1.2 2006/06/29 17:43:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE01RunAction_h diff --git a/examples/extended/runAndEvent/RE01/include/RE01StackingAction.hh b/examples/extended/runAndEvent/RE01/include/RE01StackingAction.hh index c1f46bb83b..ede53023f7 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01StackingAction.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01StackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01StackingAction.hh,v 1.2 2006/06/29 17:43:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01SteppingAction.hh b/examples/extended/runAndEvent/RE01/include/RE01SteppingAction.hh index 5cbad1f2e2..b9d044e334 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01SteppingAction.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01SteppingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01SteppingAction.hh,v 1.2 2006/06/29 17:43:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01TrackInformation.hh b/examples/extended/runAndEvent/RE01/include/RE01TrackInformation.hh index 3c9a4a0aad..4c545d9911 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01TrackInformation.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01TrackInformation.hh @@ -25,7 +25,7 @@ // // // $Id: RE01TrackInformation.hh,v 1.2 2006/06/29 17:43:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE01TrackInformation_h diff --git a/examples/extended/runAndEvent/RE01/include/RE01TrackerHit.hh b/examples/extended/runAndEvent/RE01/include/RE01TrackerHit.hh index a1fecc0a03..4942acb894 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01TrackerHit.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01TrackerHit.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01TrackerHit.hh,v 1.3 2006/06/29 17:43:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01TrackerParametrisation.hh b/examples/extended/runAndEvent/RE01/include/RE01TrackerParametrisation.hh index bf9f0b1545..bc2991b111 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01TrackerParametrisation.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01TrackerParametrisation.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01TrackerParametrisation.hh,v 1.2 2006/06/29 17:43:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01TrackerSD.hh b/examples/extended/runAndEvent/RE01/include/RE01TrackerSD.hh index fb21a404ce..ea60d5de29 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01TrackerSD.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01TrackerSD.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01TrackerSD.hh,v 1.2 2006/06/29 17:43:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/include/RE01TrackingAction.hh b/examples/extended/runAndEvent/RE01/include/RE01TrackingAction.hh index 735b436f5e..c4b41633a7 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01TrackingAction.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01TrackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01TrackingAction.hh,v 1.2 2006/06/29 17:43:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE01TrackingAction_h diff --git a/examples/extended/runAndEvent/RE01/include/RE01Trajectory.hh b/examples/extended/runAndEvent/RE01/include/RE01Trajectory.hh index 0d0d9e839b..a1e5339575 100644 --- a/examples/extended/runAndEvent/RE01/include/RE01Trajectory.hh +++ b/examples/extended/runAndEvent/RE01/include/RE01Trajectory.hh @@ -25,7 +25,7 @@ // // // $Id: RE01Trajectory.hh,v 1.3 2006/06/29 17:43:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE01Trajectory_h diff --git a/examples/extended/runAndEvent/RE01/src/RE01BosonPhysics.cc b/examples/extended/runAndEvent/RE01/src/RE01BosonPhysics.cc index 82d6806224..3c1472d94b 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01BosonPhysics.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01BosonPhysics.cc @@ -25,7 +25,7 @@ // // // $Id: RE01BosonPhysics.cc,v 1.2 2006/06/29 17:43:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/extended/runAndEvent/RE01/src/RE01CalorimeterHit.cc b/examples/extended/runAndEvent/RE01/src/RE01CalorimeterHit.cc index 516a413b53..0dd998ace2 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01CalorimeterHit.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01CalorimeterHit.cc @@ -25,7 +25,7 @@ // // // $Id: RE01CalorimeterHit.cc,v 1.5 2006/11/14 07:07:38 perl Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01CalorimeterParametrisation.cc b/examples/extended/runAndEvent/RE01/src/RE01CalorimeterParametrisation.cc index 4b36c8842d..77b1ee0121 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01CalorimeterParametrisation.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01CalorimeterParametrisation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01CalorimeterParametrisation.cc,v 1.2 2006/06/29 17:43:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01CalorimeterROGeometry.cc b/examples/extended/runAndEvent/RE01/src/RE01CalorimeterROGeometry.cc index 3abd8fd524..0e60e56806 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01CalorimeterROGeometry.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01CalorimeterROGeometry.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01CalorimeterROGeometry.cc,v 1.2 2006/06/29 17:43:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE01CalorimeterROGeometry.hh" diff --git a/examples/extended/runAndEvent/RE01/src/RE01CalorimeterSD.cc b/examples/extended/runAndEvent/RE01/src/RE01CalorimeterSD.cc index b1828f30fe..03efd1ab61 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01CalorimeterSD.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01CalorimeterSD.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01CalorimeterSD.cc,v 1.3 2006/11/18 02:42:27 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01DecayPhysics.cc b/examples/extended/runAndEvent/RE01/src/RE01DecayPhysics.cc index 5c25e3f76f..baef176b05 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01DecayPhysics.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01DecayPhysics.cc @@ -25,7 +25,7 @@ // // // $Id: RE01DecayPhysics.cc,v 1.2 2006/06/29 17:43:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE01DecayPhysics.hh" diff --git a/examples/extended/runAndEvent/RE01/src/RE01DetectorConstruction.cc b/examples/extended/runAndEvent/RE01/src/RE01DetectorConstruction.cc index 873441404c..4bbf884bdf 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01DetectorConstruction.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01DetectorConstruction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01DetectorConstruction.cc,v 1.3 2006/06/29 17:43:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01DetectorParameterDef.icc b/examples/extended/runAndEvent/RE01/src/RE01DetectorParameterDef.icc index b204747ecf..3f0c1849b9 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01DetectorParameterDef.icc +++ b/examples/extended/runAndEvent/RE01/src/RE01DetectorParameterDef.icc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01DetectorParameterDef.icc,v 1.2 2006/06/29 17:43:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01DummySD.cc b/examples/extended/runAndEvent/RE01/src/RE01DummySD.cc index 1978debf87..126627f5f2 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01DummySD.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01DummySD.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01DummySD.cc,v 1.2 2006/06/29 17:43:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Dummy sensitive used only to flag sensitivity diff --git a/examples/extended/runAndEvent/RE01/src/RE01EventAction.cc b/examples/extended/runAndEvent/RE01/src/RE01EventAction.cc index ef4744a90d..30a03bf13e 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01EventAction.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01EventAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01EventAction.cc,v 1.2 2006/06/29 17:43:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01Field.cc b/examples/extended/runAndEvent/RE01/src/RE01Field.cc index 0818503ecb..45c2e1819f 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01Field.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01Field.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01Field.cc,v 1.3 2006/06/29 17:43:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01HadronPhysics.cc b/examples/extended/runAndEvent/RE01/src/RE01HadronPhysics.cc index 43670bb055..b58a6e3ece 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01HadronPhysics.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01HadronPhysics.cc @@ -25,7 +25,7 @@ // // // $Id: RE01HadronPhysics.cc,v 1.2 2006/06/29 17:44:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE01HadronPhysics.hh" diff --git a/examples/extended/runAndEvent/RE01/src/RE01IonPhysics.cc b/examples/extended/runAndEvent/RE01/src/RE01IonPhysics.cc index 2c70c4963f..1b8ba41313 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01IonPhysics.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01IonPhysics.cc @@ -25,7 +25,7 @@ // // // $Id: RE01IonPhysics.cc,v 1.2 2006/06/29 17:44:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE01IonPhysics.hh" diff --git a/examples/extended/runAndEvent/RE01/src/RE01LeptonPhysics.cc b/examples/extended/runAndEvent/RE01/src/RE01LeptonPhysics.cc index 2f6bffcf6d..f98ed82cde 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01LeptonPhysics.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01LeptonPhysics.cc @@ -25,7 +25,7 @@ // // // $Id: RE01LeptonPhysics.cc,v 1.2 2006/06/29 17:44:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE01LeptonPhysics.hh" diff --git a/examples/extended/runAndEvent/RE01/src/RE01PhysicsList.cc b/examples/extended/runAndEvent/RE01/src/RE01PhysicsList.cc index bda9b00de5..daa5dc0de9 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01PhysicsList.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: RE01PhysicsList.cc,v 1.2 2006/06/29 17:44:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE01PhysicsList.hh" diff --git a/examples/extended/runAndEvent/RE01/src/RE01PrimaryGeneratorAction.cc b/examples/extended/runAndEvent/RE01/src/RE01PrimaryGeneratorAction.cc index 5ea401abfb..4509183858 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01PrimaryGeneratorAction.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01PrimaryGeneratorAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01PrimaryGeneratorAction.cc,v 1.2 2006/06/29 17:44:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01PrimaryGeneratorMessenger.cc b/examples/extended/runAndEvent/RE01/src/RE01PrimaryGeneratorMessenger.cc index baf48fbeac..af13e36d31 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01PrimaryGeneratorMessenger.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01PrimaryGeneratorMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01PrimaryGeneratorMessenger.cc,v 1.2 2006/06/29 17:44:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01RegionInformation.cc b/examples/extended/runAndEvent/RE01/src/RE01RegionInformation.cc index c4bff8b2e2..7fa88c53c4 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01RegionInformation.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01RegionInformation.cc @@ -25,7 +25,7 @@ // // // $Id: RE01RegionInformation.cc,v 1.2 2006/06/29 17:44:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE01RegionInformation.hh" diff --git a/examples/extended/runAndEvent/RE01/src/RE01RunAction.cc b/examples/extended/runAndEvent/RE01/src/RE01RunAction.cc index 8f2a2906ed..c378e9de70 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01RunAction.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: RE01RunAction.cc,v 1.2 2006/06/29 17:44:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE01RunAction.hh" diff --git a/examples/extended/runAndEvent/RE01/src/RE01StackingAction.cc b/examples/extended/runAndEvent/RE01/src/RE01StackingAction.cc index 8a3ec4243e..c215403d34 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01StackingAction.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01StackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01StackingAction.cc,v 1.2 2006/06/29 17:44:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01SteppingAction.cc b/examples/extended/runAndEvent/RE01/src/RE01SteppingAction.cc index 4fb769cdaf..ee6239c14f 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01SteppingAction.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01SteppingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01SteppingAction.cc,v 1.2 2006/06/29 17:44:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01TrackInformation.cc b/examples/extended/runAndEvent/RE01/src/RE01TrackInformation.cc index 1aba564506..0bb12f9c5d 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01TrackInformation.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01TrackInformation.cc @@ -25,7 +25,7 @@ // // // $Id: RE01TrackInformation.cc,v 1.2 2006/06/29 17:44:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE01TrackInformation.hh" diff --git a/examples/extended/runAndEvent/RE01/src/RE01TrackerHit.cc b/examples/extended/runAndEvent/RE01/src/RE01TrackerHit.cc index 0ab64901f5..0e7d387d04 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01TrackerHit.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01TrackerHit.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01TrackerHit.cc,v 1.5 2006/11/14 07:07:38 perl Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01TrackerParametrisation.cc b/examples/extended/runAndEvent/RE01/src/RE01TrackerParametrisation.cc index cd6e1109c5..339f5a4dc6 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01TrackerParametrisation.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01TrackerParametrisation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01TrackerParametrisation.cc,v 1.2 2006/06/29 17:44:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01TrackerSD.cc b/examples/extended/runAndEvent/RE01/src/RE01TrackerSD.cc index a370819da3..b7e6831795 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01TrackerSD.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01TrackerSD.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01TrackerSD.cc,v 1.2 2006/06/29 17:44:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01TrackingAction.cc b/examples/extended/runAndEvent/RE01/src/RE01TrackingAction.cc index 4cf04978e5..8c04c4f724 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01TrackingAction.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01TrackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: RE01TrackingAction.cc,v 1.2 2006/06/29 17:44:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE01/src/RE01Trajectory.cc b/examples/extended/runAndEvent/RE01/src/RE01Trajectory.cc index 6f5aa6bc0b..4b4479ffc1 100644 --- a/examples/extended/runAndEvent/RE01/src/RE01Trajectory.cc +++ b/examples/extended/runAndEvent/RE01/src/RE01Trajectory.cc @@ -25,7 +25,7 @@ // // // $Id: RE01Trajectory.cc,v 1.3 2006/06/29 17:44:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // diff --git a/examples/extended/runAndEvent/RE02/History b/examples/extended/runAndEvent/RE02/History index 2bc4ae3e45..d22153b426 100644 --- a/examples/extended/runAndEvent/RE02/History +++ b/examples/extended/runAndEvent/RE02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 2007/01/30 03:23:47 asaim Exp $ +$Id: History,v 1.4 2007/05/18 18:16:28 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,9 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May 18, 07 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) - Fix missing null pointer protection in ComputeMaterial() method. diff --git a/examples/extended/runAndEvent/RE02/exampleRE02.cc b/examples/extended/runAndEvent/RE02/exampleRE02.cc index 2d2c76d0cb..6e9cec0363 100644 --- a/examples/extended/runAndEvent/RE02/exampleRE02.cc +++ b/examples/extended/runAndEvent/RE02/exampleRE02.cc @@ -25,7 +25,7 @@ // // // $Id: exampleRE02.cc,v 1.3 2006/11/18 01:37:22 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/examples/extended/runAndEvent/RE02/include/RE02DetectorConstruction.hh b/examples/extended/runAndEvent/RE02/include/RE02DetectorConstruction.hh index 6410470247..b53a790617 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02DetectorConstruction.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: RE02DetectorConstruction.hh,v 1.3 2006/11/18 01:37:23 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE02DetectorConstruction_h diff --git a/examples/extended/runAndEvent/RE02/include/RE02EventAction.hh b/examples/extended/runAndEvent/RE02/include/RE02EventAction.hh index 5cb6c70fe4..7790db40f3 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02EventAction.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: RE02EventAction.hh,v 1.3 2006/11/18 01:37:23 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE02EventAction_h diff --git a/examples/extended/runAndEvent/RE02/include/RE02NestedPhantomParameterisation.hh b/examples/extended/runAndEvent/RE02/include/RE02NestedPhantomParameterisation.hh index 735f574e7d..7a94212817 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02NestedPhantomParameterisation.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02NestedPhantomParameterisation.hh @@ -25,7 +25,7 @@ // // // $Id: RE02NestedPhantomParameterisation.hh,v 1.2 2006/12/13 15:42:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VNestedParameterisation // diff --git a/examples/extended/runAndEvent/RE02/include/RE02PSCellFlux.hh b/examples/extended/runAndEvent/RE02/include/RE02PSCellFlux.hh index 879eefe96a..2747e57650 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02PSCellFlux.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02PSCellFlux.hh @@ -25,7 +25,7 @@ // // // $Id: RE02PSCellFlux.hh,v 1.2 2006/12/13 15:42:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE02PSCellFlux_h diff --git a/examples/extended/runAndEvent/RE02/include/RE02PSEnergyDeposit.hh b/examples/extended/runAndEvent/RE02/include/RE02PSEnergyDeposit.hh index 3ede22cf86..4a7795b4a7 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02PSEnergyDeposit.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02PSEnergyDeposit.hh @@ -25,7 +25,7 @@ // // // $Id: RE02PSEnergyDeposit.hh,v 1.2 2006/12/13 15:42:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE02PSEnergyDeposit_h diff --git a/examples/extended/runAndEvent/RE02/include/RE02PSFlatSurfaceCurrent.hh b/examples/extended/runAndEvent/RE02/include/RE02PSFlatSurfaceCurrent.hh index d835973675..83437d5069 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02PSFlatSurfaceCurrent.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02PSFlatSurfaceCurrent.hh @@ -25,7 +25,7 @@ // // // $Id: RE02PSFlatSurfaceCurrent.hh,v 1.2 2006/12/13 15:42:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE02PSFlatSurfaceCurrent_h diff --git a/examples/extended/runAndEvent/RE02/include/RE02PSFlatSurfaceFlux.hh b/examples/extended/runAndEvent/RE02/include/RE02PSFlatSurfaceFlux.hh index 36940966f8..51d7f8f191 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02PSFlatSurfaceFlux.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02PSFlatSurfaceFlux.hh @@ -25,7 +25,7 @@ // // // $Id: RE02PSFlatSurfaceFlux.hh,v 1.2 2006/12/13 15:42:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE02PSFlatSurfaceFlux_h diff --git a/examples/extended/runAndEvent/RE02/include/RE02PSNofStep.hh b/examples/extended/runAndEvent/RE02/include/RE02PSNofStep.hh index bfb9cdbb48..3859e1921b 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02PSNofStep.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02PSNofStep.hh @@ -25,7 +25,7 @@ // // // $Id: RE02PSNofStep.hh,v 1.2 2006/12/13 15:42:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE02PSNofStep_h diff --git a/examples/extended/runAndEvent/RE02/include/RE02PSPassageCellFlux.hh b/examples/extended/runAndEvent/RE02/include/RE02PSPassageCellFlux.hh index 9aabe8b47c..6b84b2220d 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02PSPassageCellFlux.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02PSPassageCellFlux.hh @@ -25,7 +25,7 @@ // // // $Id: RE02PSPassageCellFlux.hh,v 1.2 2006/12/13 15:43:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE02PSPassageCellFlux_h diff --git a/examples/extended/runAndEvent/RE02/include/RE02PrimaryGeneratorAction.hh b/examples/extended/runAndEvent/RE02/include/RE02PrimaryGeneratorAction.hh index 3796992d34..1cd2826f4b 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02PrimaryGeneratorAction.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: RE02PrimaryGeneratorAction.hh,v 1.3 2006/11/18 01:37:23 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE02PrimaryGeneratorAction_h diff --git a/examples/extended/runAndEvent/RE02/include/RE02Run.hh b/examples/extended/runAndEvent/RE02/include/RE02Run.hh index 0151dd9c1a..6186cdef24 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02Run.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02Run.hh @@ -25,7 +25,7 @@ // // // $Id: RE02Run.hh,v 1.3 2006/11/18 01:37:23 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------- // (Purpose) diff --git a/examples/extended/runAndEvent/RE02/include/RE02RunAction.hh b/examples/extended/runAndEvent/RE02/include/RE02RunAction.hh index c1bbf1f285..05d6bc5197 100644 --- a/examples/extended/runAndEvent/RE02/include/RE02RunAction.hh +++ b/examples/extended/runAndEvent/RE02/include/RE02RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: RE02RunAction.hh,v 1.3 2006/11/18 01:37:23 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef RE02RunAction_h diff --git a/examples/extended/runAndEvent/RE02/src/RE02DetectorConstruction.cc b/examples/extended/runAndEvent/RE02/src/RE02DetectorConstruction.cc index 23a088d3dc..f4d87ba585 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02DetectorConstruction.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: RE02DetectorConstruction.cc,v 1.3 2006/11/18 01:37:23 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE02DetectorConstruction.hh" diff --git a/examples/extended/runAndEvent/RE02/src/RE02EventAction.cc b/examples/extended/runAndEvent/RE02/src/RE02EventAction.cc index f6a9003cfa..03f6ea33ab 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02EventAction.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: RE02EventAction.cc,v 1.3 2006/11/18 01:37:24 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE02EventAction.hh" diff --git a/examples/extended/runAndEvent/RE02/src/RE02PSCellFlux.cc b/examples/extended/runAndEvent/RE02/src/RE02PSCellFlux.cc index 650cb58334..c931e057e8 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02PSCellFlux.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02PSCellFlux.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE02PSCellFlux.cc,v 1.2 2006/12/13 15:43:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: RE02PSCellFlux.cc,v 1.3 2007/05/18 18:16:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // RE02PSCellFlux #include "RE02PSCellFlux.hh" @@ -69,5 +69,5 @@ G4int RE02PSCellFlux::GetIndex(G4Step* aStep) G4int iy = touchable->GetReplicaNumber(2); G4int iz = touchable->GetReplicaNumber(0); - return iy*fNx*fNy+ix*fNz+iz; + return iy*fNx*fNz+ix*fNz+iz; } diff --git a/examples/extended/runAndEvent/RE02/src/RE02PSEnergyDeposit.cc b/examples/extended/runAndEvent/RE02/src/RE02PSEnergyDeposit.cc index 1db7e17abc..4a1e94d71c 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02PSEnergyDeposit.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02PSEnergyDeposit.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE02PSEnergyDeposit.cc,v 1.2 2006/12/13 15:43:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: RE02PSEnergyDeposit.cc,v 1.3 2007/05/18 18:16:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // RE02PSEnergyDeposit #include "RE02PSEnergyDeposit.hh" @@ -68,5 +68,5 @@ G4int RE02PSEnergyDeposit::GetIndex(G4Step* aStep) G4int ix = touchable->GetReplicaNumber(1); G4int iy = touchable->GetReplicaNumber(2); G4int iz = touchable->GetReplicaNumber(0); - return iy*fNx*fNy+ix*fNz+iz; + return iy*fNx*fNz+ix*fNz+iz; } diff --git a/examples/extended/runAndEvent/RE02/src/RE02PSFlatSurfaceCurrent.cc b/examples/extended/runAndEvent/RE02/src/RE02PSFlatSurfaceCurrent.cc index 165d614c14..03d8c384ec 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02PSFlatSurfaceCurrent.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02PSFlatSurfaceCurrent.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE02PSFlatSurfaceCurrent.cc,v 1.2 2006/12/13 15:43:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: RE02PSFlatSurfaceCurrent.cc,v 1.3 2007/05/18 18:16:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // RE02PSFlatSurfaceCurrent #include "RE02PSFlatSurfaceCurrent.hh" @@ -70,5 +70,5 @@ G4int RE02PSFlatSurfaceCurrent::GetIndex(G4Step* aStep) G4int iy = touchable->GetReplicaNumber(2); G4int iz = touchable->GetReplicaNumber(0); - return iy*fNx*fNy+ix*fNz+iz; + return iy*fNx*fNz+ix*fNz+iz; } diff --git a/examples/extended/runAndEvent/RE02/src/RE02PSFlatSurfaceFlux.cc b/examples/extended/runAndEvent/RE02/src/RE02PSFlatSurfaceFlux.cc index 6b3958147e..1552124f6a 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02PSFlatSurfaceFlux.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02PSFlatSurfaceFlux.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE02PSFlatSurfaceFlux.cc,v 1.2 2006/12/13 15:43:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: RE02PSFlatSurfaceFlux.cc,v 1.3 2007/05/18 18:16:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // RE02PSFlatSurfaceFlux #include "RE02PSFlatSurfaceFlux.hh" @@ -70,5 +70,5 @@ G4int RE02PSFlatSurfaceFlux::GetIndex(G4Step* aStep) G4int iy = touchable->GetReplicaNumber(2); G4int iz = touchable->GetReplicaNumber(0); - return iy*fNx*fNy+ix*fNz+iz; + return iy*fNx*fNz+ix*fNz+iz; } diff --git a/examples/extended/runAndEvent/RE02/src/RE02PSNofStep.cc b/examples/extended/runAndEvent/RE02/src/RE02PSNofStep.cc index 4af02a9ab0..6fea7f0f27 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02PSNofStep.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02PSNofStep.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE02PSNofStep.cc,v 1.2 2006/12/13 15:43:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: RE02PSNofStep.cc,v 1.3 2007/05/18 18:16:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // RE02PSNofStep #include "RE02PSNofStep.hh" @@ -69,5 +69,5 @@ G4int RE02PSNofStep::GetIndex(G4Step* aStep) G4int iy = touchable->GetReplicaNumber(2); G4int iz = touchable->GetReplicaNumber(0); - return iy*fNx*fNy+ix*fNz+iz; + return iy*fNx*fNz+ix*fNz+iz; } diff --git a/examples/extended/runAndEvent/RE02/src/RE02PSPassageCellFlux.cc b/examples/extended/runAndEvent/RE02/src/RE02PSPassageCellFlux.cc index c450fb6ab6..070c3fa9d8 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02PSPassageCellFlux.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02PSPassageCellFlux.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: RE02PSPassageCellFlux.cc,v 1.2 2006/12/13 15:43:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: RE02PSPassageCellFlux.cc,v 1.3 2007/05/18 18:16:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // RE02PSPassageCellFlux #include "RE02PSPassageCellFlux.hh" @@ -69,5 +69,5 @@ G4int RE02PSPassageCellFlux::GetIndex(G4Step* aStep) G4int iy = touchable->GetReplicaNumber(2); G4int iz = touchable->GetReplicaNumber(0); - return iy*fNx*fNy+ix*fNz+iz; + return iy*fNx*fNz+ix*fNz+iz; } diff --git a/examples/extended/runAndEvent/RE02/src/RE02PrimaryGeneratorAction.cc b/examples/extended/runAndEvent/RE02/src/RE02PrimaryGeneratorAction.cc index 8de320babf..7aed336bf6 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02PrimaryGeneratorAction.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: RE02PrimaryGeneratorAction.cc,v 1.3 2006/11/18 01:37:24 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE02PrimaryGeneratorAction.hh" diff --git a/examples/extended/runAndEvent/RE02/src/RE02Run.cc b/examples/extended/runAndEvent/RE02/src/RE02Run.cc index 94ea96d093..eb4775a4ff 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02Run.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02Run.cc @@ -25,7 +25,7 @@ // // // $Id: RE02Run.cc,v 1.3 2006/11/18 01:37:24 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //===================================================================== diff --git a/examples/extended/runAndEvent/RE02/src/RE02RunAction.cc b/examples/extended/runAndEvent/RE02/src/RE02RunAction.cc index 8e120e1552..0b95ca11c1 100644 --- a/examples/extended/runAndEvent/RE02/src/RE02RunAction.cc +++ b/examples/extended/runAndEvent/RE02/src/RE02RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: RE02RunAction.cc,v 1.3 2006/11/18 01:37:24 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "RE02RunAction.hh" #include "RE02Run.hh" diff --git a/examples/extended/visualization/perspective/include/PerspectiveVisAction.hh b/examples/extended/visualization/perspective/include/PerspectiveVisAction.hh index 153bd319ad..b081d04163 100644 --- a/examples/extended/visualization/perspective/include/PerspectiveVisAction.hh +++ b/examples/extended/visualization/perspective/include/PerspectiveVisAction.hh @@ -25,7 +25,7 @@ // // // $Id: PerspectiveVisAction.hh,v 1.2 2006/06/29 17:45:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef PERSPECTIVEVISACTION_HH #define PERSPECTIVEVISACTION_HH diff --git a/examples/extended/visualization/perspective/include/PerspectiveVisActionMessenger.hh b/examples/extended/visualization/perspective/include/PerspectiveVisActionMessenger.hh index 49afff798a..d58971efa9 100644 --- a/examples/extended/visualization/perspective/include/PerspectiveVisActionMessenger.hh +++ b/examples/extended/visualization/perspective/include/PerspectiveVisActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: PerspectiveVisActionMessenger.hh,v 1.2 2006/06/29 17:45:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef PERSPECTIVEVISACTIONMESSENGER_HH #define PERSPECTIVEVISACTIONMESSENGER_HH diff --git a/examples/extended/visualization/perspective/perspective.cc b/examples/extended/visualization/perspective/perspective.cc index 60b346353d..3611d4014d 100644 --- a/examples/extended/visualization/perspective/perspective.cc +++ b/examples/extended/visualization/perspective/perspective.cc @@ -25,7 +25,7 @@ // // // $Id: perspective.cc,v 1.2 2006/06/29 17:45:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "globals.hh" #include "G4VisExecutive.hh" diff --git a/examples/extended/visualization/perspective/src/PerspectiveVisAction.cc b/examples/extended/visualization/perspective/src/PerspectiveVisAction.cc index a8248fa97d..20f5da139f 100644 --- a/examples/extended/visualization/perspective/src/PerspectiveVisAction.cc +++ b/examples/extended/visualization/perspective/src/PerspectiveVisAction.cc @@ -25,7 +25,7 @@ // // // $Id: PerspectiveVisAction.cc,v 1.2 2006/06/29 17:45:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "PerspectiveVisAction.hh" diff --git a/examples/extended/visualization/perspective/src/PerspectiveVisActionMessenger.cc b/examples/extended/visualization/perspective/src/PerspectiveVisActionMessenger.cc index 5703649fa5..e1194a750b 100644 --- a/examples/extended/visualization/perspective/src/PerspectiveVisActionMessenger.cc +++ b/examples/extended/visualization/perspective/src/PerspectiveVisActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: PerspectiveVisActionMessenger.cc,v 1.3 2006/11/06 20:07:36 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "PerspectiveVisActionMessenger.hh" diff --git a/examples/extended/visualization/standalone/include/StandaloneVisAction.hh b/examples/extended/visualization/standalone/include/StandaloneVisAction.hh index e9052e55e4..27900b5c80 100644 --- a/examples/extended/visualization/standalone/include/StandaloneVisAction.hh +++ b/examples/extended/visualization/standalone/include/StandaloneVisAction.hh @@ -25,7 +25,7 @@ // // // $Id: StandaloneVisAction.hh,v 1.2 2006/06/29 17:45:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef STANDALONEVISACTION_HH #define STANDALONEVISACTION_HH diff --git a/examples/extended/visualization/standalone/src/StandaloneVisAction.cc b/examples/extended/visualization/standalone/src/StandaloneVisAction.cc index d999cccb7c..55de463e2f 100644 --- a/examples/extended/visualization/standalone/src/StandaloneVisAction.cc +++ b/examples/extended/visualization/standalone/src/StandaloneVisAction.cc @@ -25,7 +25,7 @@ // // // $Id: StandaloneVisAction.cc,v 1.2 2006/06/29 17:45:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "StandaloneVisAction.hh" diff --git a/examples/extended/visualization/standalone/standalone.cc b/examples/extended/visualization/standalone/standalone.cc index 7eeeaf5b52..1796a62eef 100644 --- a/examples/extended/visualization/standalone/standalone.cc +++ b/examples/extended/visualization/standalone/standalone.cc @@ -25,7 +25,7 @@ // // // $Id: standalone.cc,v 1.2 2006/06/29 17:45:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "globals.hh" #include "G4VisExecutive.hh" diff --git a/examples/extended/visualization/userVisAction/include/UVA_ChamberParameterisation.hh b/examples/extended/visualization/userVisAction/include/UVA_ChamberParameterisation.hh index b4da178cd5..28373a74c3 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_ChamberParameterisation.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_ChamberParameterisation.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_ChamberParameterisation.hh,v 1.2 2006/06/29 17:46:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A parameterisation that describes a series of boxes along Z diff --git a/examples/extended/visualization/userVisAction/include/UVA_DetectorConstruction.hh b/examples/extended/visualization/userVisAction/include/UVA_DetectorConstruction.hh index 44014228ae..ebd11e2b00 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_DetectorConstruction.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_DetectorConstruction.hh,v 1.2 2006/06/29 17:46:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/include/UVA_DetectorMessenger.hh b/examples/extended/visualization/userVisAction/include/UVA_DetectorMessenger.hh index accdefebc2..ec9e332be2 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_DetectorMessenger.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_DetectorMessenger.hh,v 1.2 2006/06/29 17:46:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/include/UVA_EventAction.hh b/examples/extended/visualization/userVisAction/include/UVA_EventAction.hh index 4da3bbfc48..0f2aaa17ce 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_EventAction.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_EventAction.hh,v 1.2 2006/06/29 17:46:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/include/UVA_MagneticField.hh b/examples/extended/visualization/userVisAction/include/UVA_MagneticField.hh index 04b9ff396c..ff744b887e 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_MagneticField.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_MagneticField.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_MagneticField.hh,v 1.2 2006/06/29 17:46:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A class for control of the Magnetic Field of the detector. diff --git a/examples/extended/visualization/userVisAction/include/UVA_PhysicsList.hh b/examples/extended/visualization/userVisAction/include/UVA_PhysicsList.hh index 9f4ba0e506..162a2d8db3 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_PhysicsList.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_PhysicsList.hh,v 1.2 2006/06/29 17:46:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/include/UVA_PrimaryGeneratorAction.hh b/examples/extended/visualization/userVisAction/include/UVA_PrimaryGeneratorAction.hh index 73a26b18a9..2242c69b01 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_PrimaryGeneratorAction.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_PrimaryGeneratorAction.hh,v 1.2 2006/06/29 17:46:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/include/UVA_RunAction.hh b/examples/extended/visualization/userVisAction/include/UVA_RunAction.hh index 3bbd60b515..596b95b7f4 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_RunAction.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_RunAction.hh,v 1.2 2006/06/29 17:46:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/include/UVA_SteppingAction.hh b/examples/extended/visualization/userVisAction/include/UVA_SteppingAction.hh index 3fb3e27182..b100b2eea9 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_SteppingAction.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_SteppingAction.hh,v 1.2 2006/06/29 17:46:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/include/UVA_SteppingVerbose.hh b/examples/extended/visualization/userVisAction/include/UVA_SteppingVerbose.hh index 5e06c9b939..b711f60221 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_SteppingVerbose.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_SteppingVerbose.hh,v 1.2 2006/06/29 17:46:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/extended/visualization/userVisAction/include/UVA_TrackerHit.hh b/examples/extended/visualization/userVisAction/include/UVA_TrackerHit.hh index 69a7f07480..d4d79514a9 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_TrackerHit.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_TrackerHit.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_TrackerHit.hh,v 1.2 2006/06/29 17:46:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/include/UVA_TrackerSD.hh b/examples/extended/visualization/userVisAction/include/UVA_TrackerSD.hh index dc53b3621a..0f5fac0d54 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_TrackerSD.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_TrackerSD.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_TrackerSD.hh,v 1.2 2006/06/29 17:46:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/include/UVA_VisAction.hh b/examples/extended/visualization/userVisAction/include/UVA_VisAction.hh index e2d75cd105..0dd50908a8 100644 --- a/examples/extended/visualization/userVisAction/include/UVA_VisAction.hh +++ b/examples/extended/visualization/userVisAction/include/UVA_VisAction.hh @@ -25,7 +25,7 @@ // // // $Id: UVA_VisAction.hh,v 1.2 2006/06/29 17:46:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef UVA_VISACTION_HH #define UVA_VISACTION_HH diff --git a/examples/extended/visualization/userVisAction/src/UVA_ChamberParameterisation.cc b/examples/extended/visualization/userVisAction/src/UVA_ChamberParameterisation.cc index f4c32301ef..58132a7beb 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_ChamberParameterisation.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_ChamberParameterisation.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_ChamberParameterisation.cc,v 1.2 2006/06/29 17:46:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/src/UVA_DetectorConstruction.cc b/examples/extended/visualization/userVisAction/src/UVA_DetectorConstruction.cc index 0fe37d6626..394712c82c 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_DetectorConstruction.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_DetectorConstruction.cc,v 1.2 2006/06/29 17:46:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/src/UVA_DetectorMessenger.cc b/examples/extended/visualization/userVisAction/src/UVA_DetectorMessenger.cc index 974ac5f8a8..aba0a485d2 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_DetectorMessenger.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_DetectorMessenger.cc,v 1.2 2006/06/29 17:46:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/src/UVA_EventAction.cc b/examples/extended/visualization/userVisAction/src/UVA_EventAction.cc index dbf562fe07..5ad8ce8325 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_EventAction.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_EventAction.cc,v 1.2 2006/06/29 17:46:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/src/UVA_MagneticField.cc b/examples/extended/visualization/userVisAction/src/UVA_MagneticField.cc index d80d183c09..1a7a2c9bd2 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_MagneticField.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_MagneticField.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_MagneticField.cc,v 1.2 2006/06/29 17:46:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // User Field class implementation. // diff --git a/examples/extended/visualization/userVisAction/src/UVA_PhysicsList.cc b/examples/extended/visualization/userVisAction/src/UVA_PhysicsList.cc index 0bdc13072c..3c467a21d8 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_PhysicsList.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_PhysicsList.cc,v 1.2 2006/06/29 17:46:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/src/UVA_PrimaryGeneratorAction.cc b/examples/extended/visualization/userVisAction/src/UVA_PrimaryGeneratorAction.cc index be1515c4c2..031ce40620 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_PrimaryGeneratorAction.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_PrimaryGeneratorAction.cc,v 1.3 2006/11/06 20:11:51 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/src/UVA_RunAction.cc b/examples/extended/visualization/userVisAction/src/UVA_RunAction.cc index a383aaf3aa..2ae03cd9b9 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_RunAction.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_RunAction.cc,v 1.2 2006/06/29 17:46:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/src/UVA_SteppingAction.cc b/examples/extended/visualization/userVisAction/src/UVA_SteppingAction.cc index 37cf998372..c75d3f38e0 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_SteppingAction.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_SteppingAction.cc,v 1.2 2006/06/29 17:46:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/src/UVA_SteppingVerbose.cc b/examples/extended/visualization/userVisAction/src/UVA_SteppingVerbose.cc index 66a8164012..ac7d85b52a 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_SteppingVerbose.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_SteppingVerbose.cc,v 1.2 2006/06/29 17:47:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/src/UVA_TrackerHit.cc b/examples/extended/visualization/userVisAction/src/UVA_TrackerHit.cc index 8508df31a3..3c303eeb62 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_TrackerHit.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_TrackerHit.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_TrackerHit.cc,v 1.2 2006/06/29 17:47:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/src/UVA_TrackerSD.cc b/examples/extended/visualization/userVisAction/src/UVA_TrackerSD.cc index 9c0f70e6de..451390da68 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_TrackerSD.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_TrackerSD.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_TrackerSD.cc,v 1.2 2006/06/29 17:47:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/extended/visualization/userVisAction/src/UVA_VisAction.cc b/examples/extended/visualization/userVisAction/src/UVA_VisAction.cc index 4dc4025416..6ca66b5fca 100644 --- a/examples/extended/visualization/userVisAction/src/UVA_VisAction.cc +++ b/examples/extended/visualization/userVisAction/src/UVA_VisAction.cc @@ -25,7 +25,7 @@ // // // $Id: UVA_VisAction.cc,v 1.3 2006/06/29 17:47:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "UVA_VisAction.hh" diff --git a/examples/extended/visualization/userVisAction/userVisAction.cc b/examples/extended/visualization/userVisAction/userVisAction.cc index 85a3636162..62850a48c6 100644 --- a/examples/extended/visualization/userVisAction/userVisAction.cc +++ b/examples/extended/visualization/userVisAction/userVisAction.cc @@ -25,7 +25,7 @@ // // // $Id: userVisAction.cc,v 1.2 2006/06/29 17:46:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N01/exampleN01.cc b/examples/novice/N01/exampleN01.cc index 1a5e63941c..f76a974267 100644 --- a/examples/novice/N01/exampleN01.cc +++ b/examples/novice/N01/exampleN01.cc @@ -25,7 +25,7 @@ // // // $Id: exampleN01.cc,v 1.6 2006/06/29 17:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N01/exampleN01.out b/examples/novice/N01/exampleN01.out index 05f7b47dfa..8822475301 100644 --- a/examples/novice/N01/exampleN01.out +++ b/examples/novice/N01/exampleN01.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -222,5 +222,5 @@ Terminate current event processing. Run terminated. Run Summary Number of events processed : 3 - User=0.05s Real=0.08s Sys=0.03s + User=0.03s Real=0.08s Sys=0.04s G4 kernel has come to Quit state. diff --git a/examples/novice/N01/include/ExN01DetectorConstruction.hh b/examples/novice/N01/include/ExN01DetectorConstruction.hh index 027a726a42..60ba99e94c 100644 --- a/examples/novice/N01/include/ExN01DetectorConstruction.hh +++ b/examples/novice/N01/include/ExN01DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN01DetectorConstruction.hh,v 1.6 2006/06/29 17:47:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN01DetectorConstruction_H diff --git a/examples/novice/N01/include/ExN01PhysicsList.hh b/examples/novice/N01/include/ExN01PhysicsList.hh index f5153b99a5..331f074f6d 100644 --- a/examples/novice/N01/include/ExN01PhysicsList.hh +++ b/examples/novice/N01/include/ExN01PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: ExN01PhysicsList.hh,v 1.6 2006/06/29 17:47:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh b/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh index e578672b68..ba33d62577 100644 --- a/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh +++ b/examples/novice/N01/include/ExN01PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN01PrimaryGeneratorAction.hh,v 1.5 2006/06/29 17:47:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN01PrimaryGeneratorAction_h diff --git a/examples/novice/N01/src/ExN01DetectorConstruction.cc b/examples/novice/N01/src/ExN01DetectorConstruction.cc index 94361c8a40..fcda1419c1 100644 --- a/examples/novice/N01/src/ExN01DetectorConstruction.cc +++ b/examples/novice/N01/src/ExN01DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN01DetectorConstruction.cc,v 1.9 2006/06/29 17:47:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN01DetectorConstruction.hh" diff --git a/examples/novice/N01/src/ExN01PhysicsList.cc b/examples/novice/N01/src/ExN01PhysicsList.cc index 72acc6c752..6b2938caf5 100644 --- a/examples/novice/N01/src/ExN01PhysicsList.cc +++ b/examples/novice/N01/src/ExN01PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: ExN01PhysicsList.cc,v 1.6 2006/06/29 17:47:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc b/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc index ed793ee25b..d4b0fcb417 100644 --- a/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc +++ b/examples/novice/N01/src/ExN01PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN01PrimaryGeneratorAction.cc,v 1.6 2006/06/29 17:47:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN01PrimaryGeneratorAction.hh" diff --git a/examples/novice/N02/History b/examples/novice/N02/History index b484cc35af..4403e69454 100644 --- a/examples/novice/N02/History +++ b/examples/novice/N02/History @@ -1,4 +1,4 @@ -$Id: History,v 1.49 2006/12/12 11:57:07 gcosmo Exp $ +$Id: History,v 1.50 2007/05/11 14:36:24 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -14,7 +14,10 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- - + +11-05-07 G.Cosmo (exampleN02-V08-03-00) +- Show usage of G4GeometryTolerance tuned for the geometry topology. + 12-12-06 G.Cosmo (exampleN02-V08-01-01) - Commented out drawing of hits in vis.mac. diff --git a/examples/novice/N02/exampleN02.cc b/examples/novice/N02/exampleN02.cc index 9a31f0bbfd..dd0630a93b 100644 --- a/examples/novice/N02/exampleN02.cc +++ b/examples/novice/N02/exampleN02.cc @@ -25,7 +25,7 @@ // // // $Id: exampleN02.cc,v 1.12 2006/06/29 17:47:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/exampleN02.out b/examples/novice/N02/exampleN02.out index 34821083e0..38dc4493bd 100644 --- a/examples/novice/N02/exampleN02.out +++ b/examples/novice/N02/exampleN02.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -14,7 +14,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -54,6 +53,7 @@ The materials defined are : ---> Element: XenonGas ( ) Z = 54.0 N = 131.3 A = 131.29 g/mole ElmMassFraction: 100.00 % ElmAbundance 100.00 % +Computed tolerance = 5.82e-08 mm Target is 5 cm of Lead There are 5 chambers in the tracker region. The chambers are 200 mm of XenonGas The distance between chamber is 80 cm @@ -74,7 +74,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -87,7 +87,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -100,7 +100,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -109,7 +109,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -130,7 +130,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -177,7 +177,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -192,7 +192,7 @@ hIoni: tables are built for pi- Index : 0 used in the geometry : Yes recalculation needed : No Material : Air Range cuts : gamma 1 cm e- 1 cm e+ 1 cm - Energy thresholds : gamma 990 eV e- 8.07135 keV e+ 8.07135 keV + Energy thresholds : gamma 990 eV e- 16.8647 keV e+ 16.8647 keV Region(s) which use this couple : DefaultRegionForTheWorld @@ -220,1771 +220,1809 @@ Index : 2 used in the geometry : Yes recalculation needed : No Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm -2.91 m 200 MeV 0 eV 0 fm 0 fm World initStep - 1 -31.1 um -1.23 um -2.86 m 200 MeV 8.92 keV 4.79 cm 4.79 cm World eIoni - 2 -662 um -76.2 um -2.65 m 200 MeV 52.9 keV 21.4 cm 26.2 cm World eIoni - 3 -886 um 71.4 um -2.45 m 200 MeV 40.8 keV 19.8 cm 46 cm World Transportation - 4 -871 um 93.5 um -2.45 m 167 MeV 1.49 MeV 1.17 mm 46.1 cm Target eBrem - 5 -840 um 152 um -2.45 m 133 MeV 1.59 MeV 1.25 mm 46.2 cm Target eBrem - 6 -840 um 153 um -2.45 m 92.8 MeV 4.99 keV 8.38 um 46.2 cm Target eBrem - 7 -836 um 162 um -2.45 m 83.8 MeV 194 keV 152 um 46.3 cm Target eBrem - 8 -829 um 174 um -2.45 m 78.2 MeV 230 keV 169 um 46.3 cm Target eBrem - 9 -778 um 216 um -2.45 m 47 MeV 1.14 MeV 726 um 46.3 cm Target eBrem - 10 -822 um 320 um -2.45 m 45.6 MeV 1.15 MeV 1.03 mm 46.5 cm Target eBrem - 11 -866 um 293 um -2.44 m 26 MeV 1.68 MeV 522 um 46.5 cm Target eBrem - 12 -901 um 688 um -2.44 m 15.6 MeV 2.42 MeV 1.84 mm 46.7 cm Target eBrem - 13 -788 um 480 um -2.44 m 5.8 MeV 814 keV 660 um 46.8 cm Target eBrem - 14 -345 um 657 um -2.44 m 3.92 MeV 1.01 MeV 843 um 46.8 cm Target eBrem - 15 -442 um 1.04 mm -2.44 m 3.02 MeV 432 keV 461 um 46.9 cm Target eBrem - 16 -995 um 1.58 mm -2.44 m 1.19 MeV 1.83 MeV 1.76 mm 47.1 cm Target eIoni - 17 -1.04 mm 1.51 mm -2.44 m 0 eV 1.19 MeV 896 um 47.1 cm Target eIoni - 18 -1.04 mm 1.51 mm -2.44 m 0 eV 0 eV 0 fm 47.1 cm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 17, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.04 mm 1.51 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -9.78 mm 1.6 cm -2.45 m 511 keV 0 eV 1.88 cm 1.88 cm Target Transportation - 2 -50.2 cm 83 cm -2.91 m 511 keV 0 eV 1.06 m 1.08 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 16, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.04 mm 1.51 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -252 um 198 um -2.44 m 0 eV 88 keV 1.7 mm 1.7 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 16 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -252 um 198 um -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -250 um 184 um -2.44 m 0 eV 423 keV 242 um 242 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 15, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -442 um 1.04 mm -2.44 m 468 keV 0 eV 0 fm 0 fm Target initStep - 1 1.86 mm 2.91 mm -2.44 m 221 keV 0 eV 6.96 mm 6.96 mm Target compt - 2 3.72 mm 2.17 mm -2.44 m 136 keV 0 eV 2.23 mm 9.19 mm Target compt - 3 3.65 mm 2.19 mm -2.44 m 0 eV 88 keV 91.5 um 9.28 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.65 mm 2.19 mm -2.44 m 47.8 keV 0 eV 0 fm 0 fm Target initStep - 1 3.65 mm 2.19 mm -2.44 m 0 eV 47.8 keV 8.35 um 8.35 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.72 mm 2.17 mm -2.44 m 85.5 keV 0 eV 0 fm 0 fm Target initStep - 1 3.72 mm 2.17 mm -2.44 m 0 eV 85.5 keV 21.5 um 21.5 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 15 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.86 mm 2.91 mm -2.44 m 247 keV 0 eV 0 fm 0 fm Target initStep - 1 1.86 mm 2.91 mm -2.44 m 0 eV 247 keV 112 um 112 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 14, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -345 um 657 um -2.44 m 873 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.85 mm 1.84 cm -2.45 m 531 keV 0 eV 1.82 cm 1.82 cm Target compt - 2 -5.64 mm 2.28 cm -2.44 m 203 keV 0 eV 6.37 mm 2.46 cm Target compt - 3 -5.03 mm 2.28 cm -2.44 m 0 eV 88 keV 618 um 2.52 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.03 mm 2.28 cm -2.44 m 115 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.03 mm 2.28 cm -2.44 m 0 eV 115 keV 34.5 um 34.5 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.64 mm 2.28 cm -2.44 m 329 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.65 mm 2.28 cm -2.44 m 0 eV 329 keV 170 um 170 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 14 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.85 mm 1.84 cm -2.45 m 341 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.85 mm 1.84 cm -2.45 m 0 eV 341 keV 180 um 180 um Target eIoni + 1 -126 um -4.99 um -2.81 m 200 MeV 20.4 keV 10 cm 10 cm World eIoni + 2 -721 um -52.6 um -2.45 m 200 MeV 95.5 keV 36 cm 46 cm World Transportation + 3 -734 um -55.5 um -2.45 m 147 MeV 3.62 MeV 681 um 46.1 cm Target eBrem + 4 -732 um -53.2 um -2.45 m 127 MeV 340 keV 204 um 46.1 cm Target eBrem + 5 -753 um 7.26 um -2.45 m 120 MeV 2.1 MeV 1.27 mm 46.2 cm Target eBrem + 6 -740 um 3.26 um -2.45 m 29.6 MeV 571 keV 376 um 46.3 cm Target eBrem + 7 -765 um -62.9 um -2.45 m 27.2 MeV 716 keV 565 um 46.3 cm Target eBrem + 8 -511 um -430 um -2.45 m 25.1 MeV 1.53 MeV 1.3 mm 46.4 cm Target eBrem + 9 -1.07 mm -1.48 mm -2.44 m 19 MeV 4.59 MeV 3.26 mm 46.8 cm Target eBrem + 10 -1.19 mm -1.64 mm -2.44 m 14.4 MeV 411 keV 431 um 46.8 cm Target eBrem + 11 -1.19 mm -1.7 mm -2.44 m 6.87 MeV 507 keV 160 um 46.8 cm Target eBrem + 12 48.1 um -1.54 mm -2.44 m 3.95 MeV 2.92 MeV 2.52 mm 47.1 cm Target eIoni + 13 -543 um -969 um -2.44 m 1.72 MeV 2.23 MeV 1.98 mm 47.3 cm Target eIoni + 14 -868 um -1.13 mm -2.44 m 103 keV 1.61 MeV 1.28 mm 47.4 cm Target eIoni + 15 -868 um -1.13 mm -2.44 m 0 eV 103 keV 26.8 um 47.4 cm Target eIoni + 16 -868 um -1.13 mm -2.44 m 0 eV 0 eV 0 fm 47.4 cm Target annihil ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -788 um 480 um -2.44 m 8.97 MeV 0 eV 0 fm 0 fm Target initStep - 1 5.68 mm -5.75 mm -2.43 m 0 eV 88 keV 1.95 cm 1.95 cm Target phot + 0 -868 um -1.13 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.23 cm -5.83 mm -2.44 m 0 eV 88 keV 1.28 cm 1.28 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 13 +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 13 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.68 mm -5.75 mm -2.43 m 8.89 MeV 0 eV 0 fm 0 fm Target initStep - 1 5.72 mm -4.91 mm -2.42 m 5.33 MeV 3.56 MeV 2.83 mm 2.83 mm Target eIoni - 2 5.07 mm -4.79 mm -2.42 m 1.06 MeV 2 MeV 944 um 3.77 mm Target eBrem - 3 5.17 mm -4.67 mm -2.42 m 22.9 keV 546 keV 473 um 4.24 mm Target eBrem - 4 5.17 mm -4.67 mm -2.42 m 0 eV 22.9 keV 2.54 um 4.25 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 25 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.17 mm -4.67 mm -2.42 m 492 keV 0 eV 0 fm 0 fm Target initStep - 1 1.91 cm -1.61 cm -2.41 m 226 keV 0 eV 2.06 cm 2.06 cm Target compt - 2 2.05 cm -1.53 cm -2.42 m 0 eV 88 keV 2.73 mm 2.33 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 27 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.05 cm -1.53 cm -2.42 m 138 keV 0 eV 0 fm 0 fm Target initStep - 1 2.05 cm -1.53 cm -2.42 m 0 eV 138 keV 46.3 um 46.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 27 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.91 cm -1.61 cm -2.41 m 265 keV 0 eV 0 fm 0 fm Target initStep - 1 1.91 cm -1.61 cm -2.41 m 0 eV 265 keV 125 um 125 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 26, Parent ID = 25 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.07 mm -4.79 mm -2.42 m 2.26 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.21 cm -6.5 mm -2.43 m 631 keV 0 eV 1.06 cm 1.06 cm Target compt - 2 1.16 cm -7.21 mm -2.43 m 0 eV 88 keV 1.34 mm 1.2 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 26 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.16 cm -7.21 mm -2.43 m 543 keV 0 eV 0 fm 0 fm Target initStep - 1 1.16 cm -7.22 mm -2.43 m 0 eV 543 keV 339 um 339 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 26 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.21 cm -6.5 mm -2.43 m 1.63 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.23 cm -6.53 mm -2.43 m 414 keV 1.22 MeV 1.22 mm 1.22 mm Target eIoni - 2 1.23 cm -6.54 mm -2.43 m 0 eV 414 keV 235 um 1.45 mm Target eIoni + 0 -1.23 cm -5.83 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.23 cm -5.84 mm -2.44 m 0 eV 423 keV 242 um 242 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -901 um 688 um -2.44 m 8.02 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.37 mm -2.33 mm -2.43 m 0 eV 0 eV 1.04 cm 1.04 cm Target conv + 0 -868 um -1.13 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 3.31 mm 583 um -2.44 m 0 eV 88 keV 4.68 mm 4.68 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 33, Parent ID = 12 +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 12 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.37 mm -2.33 mm -2.43 m 673 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.34 mm -2.29 mm -2.43 m 201 keV 472 keV 414 um 414 um Target eBrem - 2 -1.35 mm -2.28 mm -2.43 m 0 eV 201 keV 79 um 493 um Target eIoni - 3 -1.35 mm -2.28 mm -2.43 m 0 eV 0 eV 0 fm 493 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 35, Parent ID = 33 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.35 mm -2.28 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.43 mm -779 um -2.43 m 0 eV 88 keV 2.5 mm 2.5 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 35 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.43 mm -779 um -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.43 mm -766 um -2.43 m 0 eV 423 keV 242 um 242 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 33 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.35 mm -2.28 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 5.97 mm -1.24 cm -2.44 m 0 eV 88 keV 1.69 cm 1.69 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 34 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.97 mm -1.24 cm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 5.97 mm -1.24 cm -2.44 m 0 eV 423 keV 242 um 242 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 12 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.37 mm -2.33 mm -2.43 m 6.33 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.37 mm -2.33 mm -2.43 m 5.33 MeV 51.1 keV 46.9 um 46.9 um Target eBrem - 2 -1.39 mm -3.46 mm -2.43 m 2.7 MeV 2.63 MeV 2.24 mm 2.29 mm Target eIoni - 3 -1.1 mm -3.04 mm -2.43 m 1.06 MeV 1.64 MeV 1.65 mm 3.94 mm Target eIoni - 4 -1.06 mm -3.03 mm -2.43 m 0 eV 1.06 MeV 774 um 4.71 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 38, Parent ID = 32 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.37 mm -2.33 mm -2.43 m 948 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.49 mm -3.65 mm -2.43 m 212 keV 0 eV 6.07 mm 6.07 mm Target compt - 2 -1.36 mm -2.92 mm -2.43 m 0 eV 88 keV 1.12 mm 7.19 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 38 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.36 mm -2.92 mm -2.43 m 124 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.36 mm -2.92 mm -2.43 m 0 eV 124 keV 38.8 um 38.8 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 38 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.49 mm -3.65 mm -2.43 m 736 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.49 mm -3.66 mm -2.43 m 0 eV 736 keV 501 um 501 um Target eIoni + 0 3.31 mm 583 um -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 3.32 mm 589 um -2.44 m 0 eV 423 keV 242 um 242 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -866 um 293 um -2.44 m 17.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.82 mm -2.87 mm -2.42 m 0 eV 0 eV 2.04 cm 2.04 cm Target conv + 0 -1.19 mm -1.7 mm -2.44 m 7.07 MeV 0 eV 0 fm 0 fm Target initStep + 1 946 um -5.97 mm -2.42 m 0 eV 0 eV 2.42 cm 2.42 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 42, Parent ID = 11 +* G4Track Information: Particle = e+, Track ID = 17, Parent ID = 11 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.82 mm -2.87 mm -2.42 m 14 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.13 mm -3.26 mm -2.42 m 9.36 MeV 3.64 MeV 2.02 mm 2.02 mm Target eBrem - 2 -1 mm -3.21 mm -2.42 m 8.32 MeV 563 keV 450 um 2.47 mm Target eBrem - 3 -1.33 mm -2.61 mm -2.42 m 4.86 MeV 3.46 MeV 1.52 mm 3.98 mm Target eBrem - 4 -2.13 mm -2.34 mm -2.42 m 3.12 MeV 1.74 MeV 1.73 mm 5.72 mm Target eBrem - 5 -2.43 mm -2.2 mm -2.42 m 1.15 MeV 1.97 MeV 1.78 mm 7.5 mm Target eIoni - 6 -2.38 mm -2.22 mm -2.42 m 0 eV 1.15 MeV 866 um 8.37 mm Target eIoni - 7 -2.38 mm -2.22 mm -2.42 m 0 eV 0 eV 0 fm 8.37 mm Target annihil + 0 946 um -5.97 mm -2.42 m 5.02 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.57 mm -5.23 mm -2.42 m 2.87 MeV 2.15 MeV 2.19 mm 2.19 mm Target eIoni + 2 1.33 mm -5.09 mm -2.42 m 715 keV 1.06 MeV 1.03 mm 3.23 mm Target eBrem + 3 1.32 mm -5.14 mm -2.42 m 0 eV 715 keV 486 um 3.71 mm Target eIoni + 4 1.32 mm -5.14 mm -2.42 m 0 eV 0 eV 0 fm 3.71 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 46, Parent ID = 42 +* G4Track Information: Particle = gamma, Track ID = 20, Parent ID = 17 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.38 mm -2.22 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.52 mm -2.42 mm -2.43 m 402 keV 0 eV 3.9 mm 3.9 mm Target compt - 2 -124 um -3.21 mm -2.43 m 0 eV 88 keV 1.94 mm 5.84 mm Target phot + 0 1.32 mm -5.14 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.84 mm 6.04 mm -2.42 m 0 eV 88 keV 1.48 cm 1.48 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 46 +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 20 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -124 um -3.21 mm -2.43 m 314 keV 0 eV 0 fm 0 fm Target initStep - 1 -114 um -3.21 mm -2.43 m 0 eV 314 keV 159 um 159 um Target eIoni + 0 -7.84 mm 6.04 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.85 mm 6.05 mm -2.42 m 0 eV 423 keV 242 um 242 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 46 +* G4Track Information: Particle = gamma, Track ID = 19, Parent ID = 17 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.52 mm -2.42 mm -2.43 m 109 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.52 mm -2.42 mm -2.43 m 0 eV 109 keV 31.8 um 31.8 um Target eIoni + 0 1.32 mm -5.14 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 5.18 mm -9.86 mm -2.42 m 0 eV 88 keV 6.22 mm 6.22 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 45, Parent ID = 42 +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 19 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.38 mm -2.22 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.47 mm -2.2 mm -2.42 m 0 eV 88 keV 398 um 398 um Target phot + 0 5.18 mm -9.86 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 5.19 mm -9.87 mm -2.42 m 0 eV 423 keV 242 um 242 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 45 +* G4Track Information: Particle = gamma, Track ID = 18, Parent ID = 17 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.47 mm -2.2 mm -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.46 mm -2.2 mm -2.42 m 0 eV 423 keV 242 um 242 um Target eIoni + 0 1.33 mm -5.09 mm -2.42 m 1.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 4.29 mm -1.01 cm -2.42 m 419 keV 0 eV 6.83 mm 6.83 mm Target compt + 2 3.21 mm -1.06 cm -2.42 m 0 eV 88 keV 1.51 mm 8.33 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 44, Parent ID = 42 +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 18 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1 mm -3.21 mm -2.42 m 471 keV 0 eV 0 fm 0 fm Target initStep - 1 -814 um -3.18 mm -2.42 m 347 keV 0 eV 1.79 mm 1.79 mm Target compt - 2 -2.34 mm -2.97 mm -2.42 m 0 eV 88 keV 2.14 mm 3.92 mm Target phot + 0 3.21 mm -1.06 cm -2.42 m 331 keV 0 eV 0 fm 0 fm Target initStep + 1 3.2 mm -1.06 cm -2.42 m 0 eV 331 keV 172 um 172 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 44 +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 18 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.34 mm -2.97 mm -2.42 m 259 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.35 mm -2.97 mm -2.42 m 0 eV 259 keV 121 um 121 um Target eIoni + 0 4.29 mm -1.01 cm -2.42 m 684 keV 0 eV 0 fm 0 fm Target initStep + 1 4.36 mm -1.01 cm -2.42 m 397 keV 287 keV 184 um 184 um Target eBrem + 2 4.37 mm -1.01 cm -2.42 m 0 eV 397 keV 222 um 406 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 44 +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 11 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -814 um -3.18 mm -2.42 m 124 keV 0 eV 0 fm 0 fm Target initStep - 1 -812 um -3.18 mm -2.42 m 0 eV 124 keV 38.9 um 38.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 43, Parent ID = 42 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.13 mm -3.26 mm -2.42 m 1.01 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.47 mm -3.33 mm -2.42 m 970 keV 0 eV 4.54 mm 4.54 mm Target compt - 2 5.95 mm -3.76 mm -2.42 m 572 keV 0 eV 6.26 mm 1.08 cm Target compt - 3 6.1 mm -3.78 mm -2.42 m 352 keV 0 eV 149 um 1.09 cm Target compt - 4 6.54 mm -3.1 mm -2.42 m 0 eV 88 keV 873 um 1.18 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.54 mm -3.1 mm -2.42 m 264 keV 0 eV 0 fm 0 fm Target initStep - 1 6.55 mm -3.1 mm -2.42 m 0 eV 264 keV 124 um 124 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 6.1 mm -3.78 mm -2.42 m 220 keV 0 eV 0 fm 0 fm Target initStep - 1 6.1 mm -3.78 mm -2.42 m 0 eV 220 keV 94.9 um 94.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 5.95 mm -3.76 mm -2.42 m 398 keV 0 eV 0 fm 0 fm Target initStep - 1 5.95 mm -3.75 mm -2.42 m 0 eV 398 keV 222 um 222 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 43 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.47 mm -3.33 mm -2.42 m 36.5 keV 0 eV 0 fm 0 fm Target initStep - 1 1.47 mm -3.33 mm -2.42 m 0 eV 36.5 keV 5.4 um 5.4 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 11 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.82 mm -2.87 mm -2.42 m 2.82 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.85 mm -2.95 mm -2.42 m 1.85 MeV 185 keV 156 um 156 um Target eBrem - 2 -2.07 mm -3.18 mm -2.42 m 395 keV 1.45 MeV 1.33 mm 1.49 mm Target eIoni - 3 -2.07 mm -3.17 mm -2.42 m 0 eV 395 keV 220 um 1.71 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 56, Parent ID = 41 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.85 mm -2.95 mm -2.42 m 789 keV 0 eV 0 fm 0 fm Target initStep - 1 2.62 mm -2.01 cm -2.43 m 0 eV 88 keV 1.87 cm 1.87 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 56 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.62 mm -2.01 cm -2.43 m 701 keV 0 eV 0 fm 0 fm Target initStep - 1 2.63 mm -2.01 cm -2.43 m 0 eV 701 keV 471 um 471 um Target eIoni + 0 946 um -5.97 mm -2.42 m 1.03 MeV 0 eV 0 fm 0 fm Target initStep + 1 962 um -5.98 mm -2.42 m 0 eV 1.03 MeV 751 um 751 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 10, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -822 um 320 um -2.45 m 304 keV 0 eV 0 fm 0 fm Target initStep - 1 -863 um 330 um -2.45 m 0 eV 88 keV 349 um 349 um Target phot + 0 -1.19 mm -1.64 mm -2.44 m 4.14 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.71 mm -2.66 mm -2.44 m 0 eV 0 eV 4.01 mm 4.01 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 10 +* G4Track Information: Particle = e+, Track ID = 26, Parent ID = 10 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -863 um 330 um -2.45 m 216 keV 0 eV 0 fm 0 fm Target initStep - 1 -863 um 332 um -2.45 m 0 eV 216 keV 92.5 um 92.5 um Target eIoni + 0 -1.71 mm -2.66 mm -2.44 m 1.35 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.71 mm -2.64 mm -2.44 m 748 keV 56.9 keV 67.8 um 67.8 um Target eBrem + 2 -1.71 mm -2.58 mm -2.44 m 0 eV 748 keV 514 um 582 um Target eIoni + 3 -1.71 mm -2.58 mm -2.44 m 0 eV 0 eV 0 fm 582 um Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 29, Parent ID = 26 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.71 mm -2.58 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.94 mm -6.87 mm -2.43 m 494 keV 0 eV 8.65 mm 8.65 mm Target compt + 2 -1.3 cm -1.11 cm -2.43 m 190 keV 0 eV 8.1 mm 1.68 cm Target compt + 3 -1.23 cm -1.1 cm -2.43 m 0 eV 88 keV 784 um 1.75 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 29 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.23 cm -1.1 cm -2.43 m 102 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.23 cm -1.1 cm -2.43 m 0 eV 102 keV 28.6 um 28.6 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 29 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.3 cm -1.11 cm -2.43 m 303 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.3 cm -1.11 cm -2.43 m 0 eV 303 keV 152 um 152 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 29 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -6.94 mm -6.87 mm -2.43 m 17.5 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.94 mm -6.87 mm -2.43 m 0 eV 17.5 keV 1.66 um 1.66 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 28, Parent ID = 26 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.71 mm -2.58 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -364 um -1.49 mm -2.44 m 371 keV 0 eV 2.22 mm 2.22 mm Target compt + 2 2.17 mm -3.87 mm -2.45 m 371 keV 0 eV 1.07 cm 1.29 cm Target Transportation + 3 11.8 cm -11.3 cm -2.91 m 371 keV 0 eV 48.7 cm 50 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 28 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -364 um -1.49 mm -2.44 m 140 keV 0 eV 0 fm 0 fm Target initStep + 1 -362 um -1.49 mm -2.44 m 0 eV 140 keV 47.3 um 47.3 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 26 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.71 mm -2.64 mm -2.44 m 547 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.17 mm -60 um -2.44 m 413 keV 0 eV 3.06 mm 3.06 mm Target compt + 2 -313 um 3.33 mm -2.44 m 0 eV 88 keV 3.63 mm 6.68 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 27 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -313 um 3.33 mm -2.44 m 325 keV 0 eV 0 fm 0 fm Target initStep + 1 -315 um 3.34 mm -2.44 m 0 eV 325 keV 168 um 168 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 27 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.17 mm -60 um -2.44 m 134 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.17 mm -59.4 um -2.44 m 0 eV 134 keV 44.3 um 44.3 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 10 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.71 mm -2.66 mm -2.44 m 1.77 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.6 mm -2.65 mm -2.44 m 1.46 MeV 309 keV 261 um 261 um Target eBrem + 2 -1.67 mm -2.83 mm -2.44 m 460 keV 494 keV 374 um 635 um Target eBrem + 3 -1.67 mm -2.83 mm -2.44 m 0 eV 460 keV 272 um 907 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 36, Parent ID = 25 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.67 mm -2.83 mm -2.44 m 503 keV 0 eV 0 fm 0 fm Target initStep + 1 1.61 mm -6.38 mm -2.44 m 217 keV 0 eV 4.95 mm 4.95 mm Target compt + 2 1.3 mm -6.43 mm -2.44 m 0 eV 88 keV 1.42 mm 6.37 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 36 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.3 mm -6.43 mm -2.44 m 129 keV 0 eV 0 fm 0 fm Target initStep + 1 1.3 mm -6.42 mm -2.44 m 0 eV 129 keV 41.7 um 41.7 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 36 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.61 mm -6.38 mm -2.44 m 286 keV 0 eV 0 fm 0 fm Target initStep + 1 1.62 mm -6.38 mm -2.44 m 0 eV 286 keV 140 um 140 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 9, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -778 um 216 um -2.45 m 30 MeV 0 eV 0 fm 0 fm Target initStep - 1 -651 um 359 um -2.44 m 0 eV 0 eV 3.84 mm 3.84 mm Target conv + 0 -1.07 mm -1.48 mm -2.44 m 1.51 MeV 0 eV 0 fm 0 fm Target initStep + 1 -6.79 mm -7.52 mm -2.42 m 229 keV 0 eV 1.99 cm 1.99 cm Target compt + 2 -6.07 mm -7.05 mm -2.43 m 0 eV 88 keV 1.1 mm 2.1 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 60, Parent ID = 9 +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 9 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -651 um 359 um -2.44 m 12.7 MeV 0 eV 0 fm 0 fm Target initStep - 1 -484 um 223 um -2.44 m 4.18 MeV 951 keV 803 um 803 um Target eBrem - 2 -580 um 898 um -2.44 m 1.93 MeV 2.25 MeV 1.71 mm 2.51 mm Target eBrem - 3 -660 um 1.33 mm -2.44 m 433 keV 1.49 MeV 1.38 mm 3.9 mm Target eIoni - 4 -661 um 1.33 mm -2.44 m 432 keV 1.31 keV 1.47 um 3.9 mm Target eBrem - 5 -679 um 1.34 mm -2.44 m 0 eV 432 keV 248 um 4.15 mm Target eIoni - 6 -679 um 1.34 mm -2.44 m 0 eV 0 eV 0 fm 4.15 mm Target annihil + 0 -6.07 mm -7.05 mm -2.43 m 141 keV 0 eV 0 fm 0 fm Target initStep + 1 -6.07 mm -7.05 mm -2.43 m 0 eV 141 keV 48.1 um 48.1 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 63, Parent ID = 60 +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 9 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -679 um 1.34 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -611 um 1.44 mm -2.44 m 422 keV 0 eV 540 um 540 um Target compt - 2 -525 um 1.49 mm -2.44 m 0 eV 88 keV 136 um 677 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 63 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -525 um 1.49 mm -2.44 m 334 keV 0 eV 0 fm 0 fm Target initStep - 1 -520 um 1.5 mm -2.44 m 0 eV 334 keV 175 um 175 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 63 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -611 um 1.44 mm -2.44 m 88.7 keV 0 eV 0 fm 0 fm Target initStep - 1 -612 um 1.43 mm -2.44 m 0 eV 88.7 keV 22.9 um 22.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 62, Parent ID = 60 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -679 um 1.34 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.81 mm -214 um -2.45 m 511 keV 0 eV 9.06 mm 9.06 mm Target Transportation - 2 -6.09 cm -8.11 cm -2.91 m 511 keV 0 eV 47.1 cm 48 cm OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 61, Parent ID = 60 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -484 um 223 um -2.44 m 7.59 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.42 mm -1.75 mm -2.42 m 0 eV 0 eV 2.23 cm 2.23 cm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 67, Parent ID = 61 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.42 mm -1.75 mm -2.42 m 4.93 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.44 mm -1.74 mm -2.42 m 4.51 MeV 84 keV 88.9 um 88.9 um Target eBrem - 2 -2.86 mm -1.88 mm -2.42 m 2.9 MeV 906 keV 802 um 890 um Target eBrem - 3 -3.42 mm -1.6 mm -2.42 m 979 keV 1.92 MeV 1.72 mm 2.61 mm Target eIoni - 4 -3.49 mm -1.64 mm -2.42 m 0 eV 979 keV 716 um 3.33 mm Target eIoni - 5 -3.49 mm -1.64 mm -2.42 m 0 eV 0 eV 0 fm 3.33 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 71, Parent ID = 67 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.49 mm -1.64 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 66.9 um -5.52 mm -2.41 m 0 eV 88 keV 1.23 cm 1.23 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 71 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 66.9 um -5.52 mm -2.41 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 78.7 um -5.52 mm -2.41 m 0 eV 423 keV 242 um 242 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 70, Parent ID = 67 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.49 mm -1.64 mm -2.42 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.7 mm -1.42 mm -2.42 m 297 keV 0 eV 708 um 708 um Target compt - 2 -3.85 mm -2.81 mm -2.42 m 0 eV 88 keV 1.7 mm 2.41 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 70 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.85 mm -2.81 mm -2.42 m 209 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.85 mm -2.82 mm -2.42 m 0 eV 209 keV 87.8 um 87.8 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 70 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.7 mm -1.42 mm -2.42 m 214 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.7 mm -1.42 mm -2.42 m 0 eV 214 keV 90.8 um 90.8 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 69, Parent ID = 67 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.86 mm -1.88 mm -2.42 m 713 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.3 mm -5.22 mm -2.42 m 661 keV 0 eV 5.5 mm 5.5 mm Target compt - 2 -6.58 mm -6.67 mm -2.41 m 407 keV 0 eV 3.89 mm 9.39 mm Target compt - 3 -7.1 mm -7.27 mm -2.41 m 0 eV 88 keV 795 um 1.02 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 77, Parent ID = 69 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.1 mm -7.27 mm -2.41 m 319 keV 0 eV 0 fm 0 fm Target initStep - 1 -7.09 mm -7.28 mm -2.41 m 0 eV 319 keV 163 um 163 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 76, Parent ID = 69 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -6.58 mm -6.67 mm -2.41 m 254 keV 0 eV 0 fm 0 fm Target initStep - 1 -6.57 mm -6.67 mm -2.41 m 0 eV 254 keV 117 um 117 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 69 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.3 mm -5.22 mm -2.42 m 51.7 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.3 mm -5.22 mm -2.42 m 0 eV 51.7 keV 9.48 um 9.48 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 67 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.44 mm -1.74 mm -2.42 m 332 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.45 mm -1.72 mm -2.42 m 235 keV 0 eV 135 um 135 um Target compt - 2 -3.1 mm -1.32 mm -2.42 m 0 eV 88 keV 796 um 931 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.1 mm -1.32 mm -2.42 m 147 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.1 mm -1.32 mm -2.42 m 0 eV 147 keV 51 um 51 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 68 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.45 mm -1.72 mm -2.42 m 96.9 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.45 mm -1.72 mm -2.42 m 0 eV 96.9 keV 26.3 um 26.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 61 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.42 mm -1.75 mm -2.42 m 1.64 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.54 mm -1.92 mm -2.42 m 124 keV 1.52 MeV 1.22 mm 1.22 mm Target eIoni - 2 -2.55 mm -1.92 mm -2.42 m 0 eV 124 keV 39.1 um 1.26 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 9 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -651 um 359 um -2.44 m 16.3 MeV 0 eV 0 fm 0 fm Target initStep - 1 -576 um 410 um -2.44 m 15.4 MeV 511 keV 440 um 440 um Target eBrem - 2 -577 um 411 um -2.44 m 7.73 MeV 12.9 keV 14 um 454 um Target eBrem - 3 -750 um 434 um -2.44 m 5.62 MeV 667 keV 457 um 911 um Target eBrem - 4 -1.03 mm 939 um -2.44 m 3.78 MeV 1.18 MeV 846 um 1.76 mm Target eBrem - 5 -1.5 mm 885 um -2.44 m 896 keV 746 keV 687 um 2.44 mm Target eBrem - 6 -1.54 mm 865 um -2.44 m 0 eV 896 keV 637 um 3.08 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 84, Parent ID = 59 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.5 mm 885 um -2.44 m 2.13 MeV 0 eV 0 fm 0 fm Target initStep - 1 -3.25 mm 890 um -2.44 m 445 keV 0 eV 1.78 mm 1.78 mm Target compt - 2 -3.81 mm -1.77 cm -2.43 m 0 eV 88 keV 2.1 cm 2.28 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 84 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.81 mm -1.77 cm -2.43 m 357 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.8 mm -1.77 cm -2.43 m 0 eV 357 keV 192 um 192 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 84 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.25 mm 890 um -2.44 m 1.69 MeV 0 eV 0 fm 0 fm Target initStep - 1 -3.32 mm 976 um -2.44 m 1.1 MeV 137 keV 141 um 141 um Target eBrem - 2 -3.35 mm 1.01 mm -2.44 m 0 eV 1.1 MeV 813 um 954 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 85 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.32 mm 976 um -2.44 m 450 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.05 mm 5.32 mm -2.45 m 299 keV 0 eV 7.99 mm 7.99 mm Target compt - 2 -5.48 mm 7.43 mm -2.45 m 0 eV 88 keV 2.2 mm 1.02 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 87 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.48 mm 7.43 mm -2.45 m 211 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.48 mm 7.43 mm -2.45 m 0 eV 211 keV 88.7 um 88.7 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 87 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.05 mm 5.32 mm -2.45 m 151 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.05 mm 5.32 mm -2.45 m 0 eV 151 keV 53.3 um 53.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 83, Parent ID = 59 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.03 mm 939 um -2.44 m 660 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.29 mm 2.77 mm -2.44 m 0 eV 88 keV 2.91 mm 2.91 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 83 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.29 mm 2.77 mm -2.44 m 572 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.31 mm 2.78 mm -2.44 m 0 eV 572 keV 363 um 363 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 82, Parent ID = 59 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -750 um 434 um -2.44 m 1.45 MeV 0 eV 0 fm 0 fm Target initStep - 1 -963 um 504 um -2.44 m 255 keV 0 eV 505 um 505 um Target compt - 2 -2.13 mm -673 um -2.44 m 0 eV 88 keV 3.11 mm 3.61 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 82 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.13 mm -673 um -2.44 m 167 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.13 mm -673 um -2.44 m 0 eV 167 keV 62.3 um 62.3 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 82 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -963 um 504 um -2.44 m 1.19 MeV 0 eV 0 fm 0 fm Target initStep - 1 -986 um 518 um -2.44 m 0 eV 1.19 MeV 892 um 892 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 81, Parent ID = 59 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -577 um 411 um -2.44 m 7.63 MeV 0 eV 0 fm 0 fm Target initStep - 1 -519 um 1.55 mm -2.43 m 1.23 MeV 0 eV 8.69 mm 8.69 mm Target compt - 2 -1.75 cm 4.95 mm -2.42 m 1.14 MeV 0 eV 2.26 cm 3.13 cm Target compt - 3 -2.5 cm 5.23 mm -2.41 m 1.14 MeV 0 eV 1.23 cm 4.36 cm Target Transportation - 4 -3.22 cm 5.5 mm -2.4 m 1.14 MeV 0 eV 1.18 cm 5.54 cm World Transportation - 5 -2.4 m 9.42 cm 69.7 cm 1.14 MeV 0 eV 3.9 m 3.95 m Tracker Transportation - 6 -2.91 m 11.3 cm 1.36 m 1.14 MeV 0 eV 84 cm 4.79 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 81 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.75 cm 4.95 mm -2.42 m 83.2 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.75 cm 4.95 mm -2.42 m 0 eV 83.2 keV 20.6 um 20.6 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 81 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -519 um 1.55 mm -2.43 m 6.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 -472 um 1.53 mm -2.43 m 5.83 MeV 223 keV 167 um 167 um Target eBrem - 2 829 um 1.8 mm -2.43 m 3.29 MeV 2.54 MeV 2.33 mm 2.5 mm Target eIoni - 3 801 um 2.14 mm -2.43 m 2.23 MeV 528 keV 435 um 2.93 mm Target eBrem - 4 641 um 2.02 mm -2.43 m 614 keV 1.61 MeV 1.5 mm 4.43 mm Target eIoni - 5 664 um 2.03 mm -2.43 m 0 eV 614 keV 398 um 4.82 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 96, Parent ID = 93 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 801 um 2.14 mm -2.43 m 532 keV 0 eV 0 fm 0 fm Target initStep - 1 671 um 2.12 mm -2.43 m 0 eV 88 keV 133 um 133 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 96 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 671 um 2.12 mm -2.43 m 444 keV 0 eV 0 fm 0 fm Target initStep - 1 657 um 2.11 mm -2.43 m 0 eV 444 keV 259 um 259 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 95, Parent ID = 93 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -472 um 1.53 mm -2.43 m 351 keV 0 eV 0 fm 0 fm Target initStep - 1 2.6 mm 1.76 mm -2.43 m 0 eV 88 keV 6.76 mm 6.76 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 95 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.6 mm 1.76 mm -2.43 m 263 keV 0 eV 0 fm 0 fm Target initStep - 1 2.6 mm 1.77 mm -2.43 m 0 eV 263 keV 124 um 124 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 80, Parent ID = 59 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -576 um 410 um -2.44 m 377 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.01 mm 1.71 mm -2.43 m 0 eV 88 keV 1.48 cm 1.48 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 80 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.01 mm 1.71 mm -2.43 m 289 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.01 mm 1.7 mm -2.43 m 0 eV 289 keV 141 um 141 um Target eIoni + 0 -6.79 mm -7.52 mm -2.42 m 1.28 MeV 0 eV 0 fm 0 fm Target initStep + 1 -6.88 mm -7.53 mm -2.42 m 1.12 MeV 156 keV 144 um 144 um Target eBrem + 2 -6.91 mm -7.58 mm -2.42 m 0 eV 1.12 MeV 830 um 973 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -829 um 174 um -2.45 m 5.42 MeV 0 eV 0 fm 0 fm Target initStep - 1 -161 um 3.02 mm -2.4 m 5.42 MeV 0 eV 4.73 cm 4.73 cm Target Transportation - 2 1.11 cm 5.12 cm -1.6 m 5.42 MeV 0 eV 80.2 cm 84.9 cm Tracker Transportation - 3 1.4 cm 6.32 cm -1.4 m 5.42 MeV 0 eV 20 cm 1.05 m Chamber Transportation - 4 2.24 cm 9.94 cm -80 cm 5.42 MeV 0 eV 60.1 cm 1.65 m Tracker Transportation - 5 2.53 cm 11.1 cm -60 cm 5.42 MeV 0 eV 20 cm 1.85 m Chamber Transportation - 6 3.37 cm 14.8 cm 0 fm 5.42 MeV 0 eV 60.1 cm 2.45 m Tracker Transportation - 7 3.66 cm 16 cm 20 cm 5.42 MeV 0 eV 20 cm 2.65 m Chamber Transportation - 8 4.51 cm 19.6 cm 80 cm 5.42 MeV 0 eV 60.1 cm 3.25 m Tracker Transportation - 9 4.79 cm 20.8 cm 1 m 5.42 MeV 0 eV 20 cm 3.45 m Chamber Transportation - 10 5.64 cm 24.4 cm 1.6 m 5.42 MeV 0 eV 60.1 cm 4.05 m Tracker Transportation - 11 5.92 cm 25.6 cm 1.8 m 5.42 MeV 0 eV 20 cm 4.26 m Chamber Transportation - 12 6.77 cm 29.2 cm 2.4 m 5.42 MeV 0 eV 60.1 cm 4.86 m Tracker Transportation - 13 7.49 cm 32.3 cm 2.91 m 5.42 MeV 0 eV 51.1 cm 5.37 m OutOfWorld Transportation + 0 -511 um -430 um -2.45 m 600 keV 0 eV 0 fm 0 fm Target initStep + 1 -505 um -435 um -2.45 m 554 keV 0 eV 121 um 121 um Target compt + 2 -375 um -615 um -2.45 m 300 keV 0 eV 521 um 641 um Target compt + 3 -956 um -1.88 mm -2.45 m 0 eV 88 keV 1.39 mm 2.03 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -956 um -1.88 mm -2.45 m 212 keV 0 eV 0 fm 0 fm Target initStep + 1 -957 um -1.87 mm -2.45 m 0 eV 212 keV 89.9 um 89.9 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -375 um -615 um -2.45 m 254 keV 0 eV 0 fm 0 fm Target initStep + 1 -372 um -614 um -2.45 m 0 eV 254 keV 117 um 117 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 8 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -505 um -435 um -2.45 m 45.6 keV 0 eV 0 fm 0 fm Target initStep + 1 -505 um -435 um -2.45 m 0 eV 45.6 keV 7.75 um 7.75 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -836 um 162 um -2.45 m 8.83 MeV 0 eV 0 fm 0 fm Target initStep - 1 -704 um 286 um -2.45 m 0 eV 0 eV 2.03 mm 2.03 mm Target conv - -********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 101, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -704 um 286 um -2.45 m 2.34 MeV 0 eV 0 fm 0 fm Target initStep - 1 -575 um 309 um -2.45 m 0 eV 354 keV 252 um 252 um Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 103, Parent ID = 101 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -575 um 309 um -2.45 m 1.35 MeV 0 eV 0 fm 0 fm Target initStep - 1 17.9 um 477 um -2.44 m 980 keV 0 eV 798 um 798 um Target compt - 2 3.06 mm 1.94 mm -2.44 m 578 keV 0 eV 3.42 mm 4.22 mm Target compt - 3 3.45 mm 3.65 mm -2.44 m 0 eV 88 keV 1.86 mm 6.08 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 103 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.45 mm 3.65 mm -2.44 m 490 keV 0 eV 0 fm 0 fm Target initStep - 1 3.45 mm 3.67 mm -2.44 m 0 eV 490 keV 295 um 295 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 103 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.06 mm 1.94 mm -2.44 m 403 keV 0 eV 0 fm 0 fm Target initStep - 1 3.07 mm 1.93 mm -2.44 m 0 eV 403 keV 226 um 226 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 104, Parent ID = 103 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 17.9 um 477 um -2.44 m 368 keV 0 eV 0 fm 0 fm Target initStep - 1 20.2 um 475 um -2.44 m 0 eV 368 keV 200 um 200 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 102, Parent ID = 101 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -575 um 309 um -2.45 m 1.66 MeV 0 eV 0 fm 0 fm Target initStep - 1 841 um 5.73 mm -2.45 m 465 keV 0 eV 5.65 mm 5.65 mm Target compt - 2 -8.47 mm 1.12 cm -2.44 m 0 eV 88 keV 1.15 cm 1.72 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 102 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.47 mm 1.12 cm -2.44 m 377 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.48 mm 1.12 cm -2.44 m 0 eV 377 keV 206 um 206 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 107, Parent ID = 102 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 841 um 5.73 mm -2.45 m 1.19 MeV 0 eV 0 fm 0 fm Target initStep - 1 876 um 5.79 mm -2.45 m 0 eV 1.19 MeV 890 um 890 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 7 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -704 um 286 um -2.45 m 5.47 MeV 0 eV 0 fm 0 fm Target initStep - 1 -811 um 1.33 mm -2.44 m 2.03 MeV 3.44 MeV 2.27 mm 2.27 mm Target eIoni - 2 -945 um 1.68 mm -2.44 m 547 keV 1.49 MeV 1.42 mm 3.68 mm Target eIoni - 3 -955 um 1.67 mm -2.44 m 0 eV 547 keV 342 um 4.03 mm Target eIoni + 0 -765 um -62.9 um -2.45 m 1.61 MeV 0 eV 0 fm 0 fm Target initStep + 1 83.1 nm -1.06 cm -2.4 m 1.61 MeV 0 eV 4.81 cm 4.81 cm Target Transportation + 2 1.31 cm -19 cm -1.6 m 1.61 MeV 0 eV 82 cm 86.8 cm Tracker Transportation + 3 1.63 cm -23.5 cm -1.4 m 1.61 MeV 0 eV 20.5 cm 1.07 m Chamber Transportation + 4 2.61 cm -37 cm -80 cm 1.61 MeV 0 eV 61.5 cm 1.69 m Tracker Transportation + 5 2.94 cm -41.5 cm -60 cm 1.61 MeV 0 eV 20.5 cm 1.89 m Chamber Transportation + 6 3.92 cm -54.9 cm 0 fm 1.61 MeV 0 eV 61.5 cm 2.51 m Tracker Transportation + 7 4.24 cm -59.4 cm 20 cm 1.61 MeV 0 eV 20.5 cm 2.71 m Chamber Transportation + 8 5.22 cm -72.9 cm 80 cm 1.61 MeV 0 eV 61.5 cm 3.33 m Tracker Transportation + 9 5.55 cm -77.4 cm 1 m 1.61 MeV 0 eV 20.5 cm 3.53 m Chamber Transportation + 10 6.53 cm -90.9 cm 1.6 m 1.61 MeV 0 eV 61.5 cm 4.15 m Tracker Transportation + 11 6.85 cm -95.4 cm 1.8 m 1.61 MeV 0 eV 20.5 cm 4.35 m Chamber Transportation + 12 7.83 cm -1.09 m 2.4 m 1.61 MeV 0 eV 61.5 cm 4.97 m Tracker Transportation + 13 8.66 cm -1.2 m 2.91 m 1.61 MeV 0 eV 52.3 cm 5.49 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -840 um 153 um -2.45 m 40.6 MeV 0 eV 0 fm 0 fm Target initStep - 1 -608 um 1.29 mm -2.43 m 867 keV 0 eV 1.34 cm 1.34 cm Target compt - 2 -735 um 1.34 mm -2.43 m 593 keV 0 eV 151 um 1.36 cm Target compt - 3 -8.05 mm 4.31 mm -2.44 m 0 eV 88 keV 8.36 mm 2.19 cm Target phot + 0 -740 um 3.26 um -2.45 m 90.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 -632 um -70.2 um -2.44 m 0 eV 0 eV 4.25 mm 4.25 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 6 +* G4Track Information: Particle = e+, Track ID = 45, Parent ID = 6 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -8.05 mm 4.31 mm -2.44 m 505 keV 0 eV 0 fm 0 fm Target initStep - 1 -8.07 mm 4.31 mm -2.44 m 0 eV 505 keV 307 um 307 um Target eIoni + 0 -632 um -70.2 um -2.44 m 40.2 MeV 0 eV 0 fm 0 fm Target initStep + 1 -41.4 um -134 um -2.44 m 31 MeV 3.35 MeV 2.7 mm 2.7 mm Target eBrem + 2 426 um 366 um -2.44 m 25.5 MeV 1.79 MeV 1.59 mm 4.29 mm Target eBrem + 3 1.69 mm 344 um -2.44 m 6.91 MeV 1.94 MeV 1.65 mm 5.93 mm Target eBrem + 4 3.28 mm 985 um -2.44 m 4 MeV 2.9 MeV 2.52 mm 8.46 mm Target eIoni + 5 3.63 mm 1.41 mm -2.44 m 2.12 MeV 1.34 MeV 1.05 mm 9.5 mm Target eBrem + 6 4.04 mm 1.51 mm -2.44 m 310 keV 1.81 MeV 1.47 mm 1.1 cm Target eIoni + 7 4.03 mm 1.5 mm -2.44 m 0 eV 310 keV 153 um 1.11 cm Target eIoni + 8 4.03 mm 1.5 mm -2.44 m 0 eV 0 eV 0 fm 1.11 cm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 6 +* G4Track Information: Particle = gamma, Track ID = 51, Parent ID = 45 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -735 um 1.34 mm -2.43 m 275 keV 0 eV 0 fm 0 fm Target initStep - 1 -738 um 1.34 mm -2.43 m 0 eV 275 keV 132 um 132 um Target eIoni + 0 4.03 mm 1.5 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 4.01 mm 1.48 mm -2.44 m 451 keV 0 eV 30.8 um 30.8 um Target compt + 2 2.71 mm 998 um -2.44 m 0 eV 88 keV 1.4 mm 1.43 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 6 +* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 51 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -608 um 1.29 mm -2.43 m 39.7 MeV 0 eV 0 fm 0 fm Target initStep - 1 -606 um 1.3 mm -2.43 m 36.9 MeV 159 keV 137 um 137 um Target eBrem - 2 -949 um 1.7 mm -2.43 m 13 MeV 3.11 MeV 2.23 mm 2.37 mm Target eBrem - 3 -996 um 1.68 mm -2.43 m 12.2 MeV 349 keV 305 um 2.68 mm Target eBrem - 4 -1.01 mm 1.55 mm -2.43 m 11.1 MeV 773 keV 395 um 3.07 mm Target eBrem - 5 -493 um 911 um -2.43 m 8.15 MeV 2.62 MeV 1.91 mm 4.98 mm Target eBrem - 6 227 um 1.72 mm -2.43 m 5.33 MeV 1.92 MeV 1.44 mm 6.42 mm Target eBrem - 7 395 um 1.82 mm -2.43 m 4.45 MeV 310 keV 214 um 6.64 mm Target eBrem - 8 750 um 2.32 mm -2.43 m 3.07 MeV 1.05 MeV 859 um 7.49 mm Target eBrem - 9 1.01 mm 2.59 mm -2.43 m 1.17 MeV 1.9 MeV 824 um 8.32 mm Target eBrem - 10 1.02 mm 2.53 mm -2.43 m 0 eV 1.17 MeV 868 um 9.19 mm Target eIoni + 0 2.71 mm 998 um -2.44 m 363 keV 0 eV 0 fm 0 fm Target initStep + 1 2.7 mm 1.01 mm -2.44 m 0 eV 363 keV 196 um 196 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 119, Parent ID = 109 +* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 51 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 750 um 2.32 mm -2.43 m 330 keV 0 eV 0 fm 0 fm Target initStep - 1 1.29 mm 2.92 mm -2.43 m 0 eV 88 keV 830 um 830 um Target phot + 0 4.01 mm 1.48 mm -2.44 m 59.9 keV 0 eV 0 fm 0 fm Target initStep + 1 4.01 mm 1.48 mm -2.44 m 0 eV 59.9 keV 12.1 um 12.1 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 120, Parent ID = 119 +* G4Track Information: Particle = gamma, Track ID = 50, Parent ID = 45 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.29 mm 2.92 mm -2.43 m 242 keV 0 eV 0 fm 0 fm Target initStep - 1 1.3 mm 2.91 mm -2.43 m 0 eV 242 keV 109 um 109 um Target eIoni + 0 4.03 mm 1.5 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 1.25 cm 5.86 mm -2.44 m 400 keV 0 eV 1.01 cm 1.01 cm Target compt + 2 1.44 cm 5.5 mm -2.44 m 0 eV 88 keV 1.92 mm 1.21 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 109 +* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 50 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 395 um 1.82 mm -2.43 m 564 keV 0 eV 0 fm 0 fm Target initStep - 1 -2 mm 1.52 cm -2.43 m 0 eV 88 keV 1.36 cm 1.36 cm Target phot + 0 1.44 cm 5.5 mm -2.44 m 312 keV 0 eV 0 fm 0 fm Target initStep + 1 1.44 cm 5.5 mm -2.44 m 0 eV 312 keV 158 um 158 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 121, Parent ID = 118 +* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 50 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2 mm 1.52 cm -2.43 m 476 keV 0 eV 0 fm 0 fm Target initStep - 1 -2 mm 1.52 cm -2.43 m 0 eV 476 keV 285 um 285 um Target eIoni + 0 1.25 cm 5.86 mm -2.44 m 111 keV 0 eV 0 fm 0 fm Target initStep + 1 1.25 cm 5.86 mm -2.44 m 0 eV 111 keV 32.6 um 32.6 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 117, Parent ID = 109 +* G4Track Information: Particle = gamma, Track ID = 49, Parent ID = 45 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 227 um 1.72 mm -2.43 m 902 keV 0 eV 0 fm 0 fm Target initStep - 1 2.5 cm 1.71 cm -2.42 m 902 keV 0 eV 3.23 cm 3.23 cm Target Transportation - 2 5.29 cm 3.45 cm -2.4 m 902 keV 0 eV 3.63 cm 6.86 cm World Transportation - 3 2.4 m 1.49 m -1.09 m 902 keV 0 eV 3.06 m 3.13 m Tracker Transportation - 4 2.91 m 1.81 m -80.8 cm 902 keV 0 eV 66.4 cm 3.79 m OutOfWorld Transportation + 0 3.63 mm 1.41 mm -2.44 m 541 keV 0 eV 0 fm 0 fm Target initStep + 1 4.53 mm 9.7 mm -2.44 m 0 eV 88 keV 9.67 mm 9.67 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 116, Parent ID = 109 +* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 49 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -493 um 911 um -2.43 m 347 keV 0 eV 0 fm 0 fm Target initStep - 1 982 um 1.75 mm -2.43 m 187 keV 0 eV 1.72 mm 1.72 mm Target compt - 2 1.04 mm 1.23 mm -2.43 m 0 eV 88 keV 625 um 2.34 mm Target phot + 0 4.53 mm 9.7 mm -2.44 m 453 keV 0 eV 0 fm 0 fm Target initStep + 1 4.53 mm 9.71 mm -2.44 m 0 eV 453 keV 266 um 266 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 116 +* G4Track Information: Particle = gamma, Track ID = 48, Parent ID = 45 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.04 mm 1.23 mm -2.43 m 99.4 keV 0 eV 0 fm 0 fm Target initStep - 1 1.04 mm 1.23 mm -2.43 m 0 eV 99.4 keV 27.3 um 27.3 um Target eIoni + 0 1.69 mm 344 um -2.44 m 16.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 4.57 mm 1.65 mm -2.44 m 0 eV 0 eV 3.5 mm 3.5 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 122, Parent ID = 116 +* G4Track Information: Particle = e+, Track ID = 58, Parent ID = 48 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 982 um 1.75 mm -2.43 m 160 keV 0 eV 0 fm 0 fm Target initStep - 1 984 um 1.75 mm -2.43 m 0 eV 160 keV 58 um 58 um Target eIoni + 0 4.57 mm 1.65 mm -2.44 m 3.28 MeV 0 eV 0 fm 0 fm Target initStep + 1 5.12 mm 1.99 mm -2.44 m 1.18 MeV 1.45 MeV 1.11 mm 1.11 mm Target eBrem + 2 5.11 mm 2.1 mm -2.44 m 0 eV 1.18 MeV 890 um 2 mm Target eIoni + 3 5.11 mm 2.1 mm -2.44 m 0 eV 0 eV 0 fm 2 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 115, Parent ID = 109 +* G4Track Information: Particle = gamma, Track ID = 61, Parent ID = 58 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.01 mm 1.55 mm -2.43 m 304 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.11 mm 1.44 mm -2.43 m 0 eV 88 keV 510 um 510 um Target phot + 0 5.11 mm 2.1 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 3.31 mm 2.58 mm -2.44 m 0 eV 88 keV 1.86 mm 1.86 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 124, Parent ID = 115 +* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 61 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.11 mm 1.44 mm -2.43 m 216 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.11 mm 1.45 mm -2.43 m 0 eV 216 keV 92.3 um 92.3 um Target eIoni + 0 3.31 mm 2.58 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 3.3 mm 2.59 mm -2.44 m 0 eV 423 keV 242 um 242 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 114, Parent ID = 109 +* G4Track Information: Particle = gamma, Track ID = 60, Parent ID = 58 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -996 um 1.68 mm -2.43 m 422 keV 0 eV 0 fm 0 fm Target initStep - 1 -964 um 1.55 mm -2.43 m 0 eV 88 keV 1.11 mm 1.11 mm Target phot + 0 5.11 mm 2.1 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 7.8 mm 1.37 mm -2.44 m 480 keV 0 eV 2.8 mm 2.8 mm Target compt + 2 1.76 cm -4.1 mm -2.43 m 0 eV 88 keV 1.15 cm 1.43 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 114 +* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 60 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -964 um 1.55 mm -2.43 m 334 keV 0 eV 0 fm 0 fm Target initStep - 1 -970 um 1.56 mm -2.43 m 0 eV 334 keV 175 um 175 um Target eIoni + 0 1.76 cm -4.1 mm -2.43 m 392 keV 0 eV 0 fm 0 fm Target initStep + 1 1.76 cm -4.11 mm -2.43 m 0 eV 392 keV 218 um 218 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 113, Parent ID = 109 +* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 60 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -949 um 1.7 mm -2.43 m 20.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.43 mm 2.03 mm -2.43 m 0 eV 0 eV 2.36 mm 2.36 mm Target conv + 0 7.8 mm 1.37 mm -2.44 m 31 keV 0 eV 0 fm 0 fm Target initStep + 1 7.8 mm 1.37 mm -2.44 m 0 eV 31 keV 4.11 um 4.11 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 127, Parent ID = 113 +* G4Track Information: Particle = gamma, Track ID = 59, Parent ID = 58 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.43 mm 2.03 mm -2.43 m 3.91 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.73 mm 1.3 mm -2.43 m 1.98 MeV 1.93 MeV 1.97 mm 1.97 mm Target eIoni - 2 -1.73 mm 1.46 mm -2.43 m 611 keV 1.37 MeV 1.41 mm 3.38 mm Target eIoni - 3 -1.7 mm 1.49 mm -2.43 m 0 eV 611 keV 396 um 3.77 mm Target eIoni - 4 -1.7 mm 1.49 mm -2.43 m 0 eV 0 eV 0 fm 3.77 mm Target annihil + 0 5.12 mm 1.99 mm -2.44 m 649 keV 0 eV 0 fm 0 fm Target initStep + 1 5.17 mm 2.73 mm -2.44 m 0 eV 88 keV 737 um 737 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 129, Parent ID = 127 +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 59 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.7 mm 1.49 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 4.35 mm 2.53 mm -2.43 m 0 eV 88 keV 6.14 mm 6.14 mm Target phot + 0 5.17 mm 2.73 mm -2.44 m 561 keV 0 eV 0 fm 0 fm Target initStep + 1 5.17 mm 2.75 mm -2.44 m 0 eV 561 keV 354 um 354 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 129 +* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 48 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 4.35 mm 2.53 mm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 4.35 mm 2.55 mm -2.43 m 0 eV 423 keV 242 um 242 um Target eIoni + 0 4.57 mm 1.65 mm -2.44 m 12.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 6.17 mm 3.28 mm -2.44 m 5.72 MeV 5.48 MeV 2.7 mm 2.7 mm Target eBrem + 2 6.77 mm 3.88 mm -2.44 m 3.09 MeV 1.95 MeV 1.12 mm 3.82 mm Target eBrem + 3 6.36 mm 3.59 mm -2.44 m 592 keV 2.5 MeV 1.76 mm 5.59 mm Target eIoni + 4 6.35 mm 3.6 mm -2.44 m 0 eV 592 keV 379 um 5.97 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 128, Parent ID = 127 +* G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 57 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.7 mm 1.49 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.2 cm -295 um -2.43 m 0 eV 88 keV 1.04 cm 1.04 cm Target phot + 0 6.77 mm 3.88 mm -2.44 m 678 keV 0 eV 0 fm 0 fm Target initStep + 1 8.79 mm 3.97 mm -2.44 m 0 eV 88 keV 6.27 mm 6.27 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 128 +* G4Track Information: Particle = e-, Track ID = 68, Parent ID = 67 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.2 cm -295 um -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.2 cm -292 um -2.43 m 0 eV 423 keV 242 um 242 um Target eIoni + 0 8.79 mm 3.97 mm -2.44 m 590 keV 0 eV 0 fm 0 fm Target initStep + 1 8.81 mm 3.97 mm -2.44 m 0 eV 590 keV 378 um 378 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 113 +* G4Track Information: Particle = gamma, Track ID = 66, Parent ID = 57 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.43 mm 2.03 mm -2.43 m 15.9 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.56 mm 3.34 mm -2.43 m 11.9 MeV 3.69 MeV 2.54 mm 2.54 mm Target eBrem - 2 -1.71 mm 5.04 mm -2.43 m 8.78 MeV 2.75 MeV 2.12 mm 4.66 mm Target eBrem - 3 -3.58 mm 5.74 mm -2.43 m 4.79 MeV 3.99 MeV 2.81 mm 7.47 mm Target eIoni - 4 -4.28 mm 6.14 mm -2.43 m 2.56 MeV 2.23 MeV 2.14 mm 9.61 mm Target eIoni - 5 -3.82 mm 6.34 mm -2.43 m 410 keV 2.15 MeV 1.61 mm 1.12 cm Target eIoni - 6 -3.82 mm 6.35 mm -2.43 m 0 eV 410 keV 232 um 1.15 cm Target eIoni + 0 6.17 mm 3.28 mm -2.44 m 1.2 MeV 0 eV 0 fm 0 fm Target initStep + 1 6.45 mm 6.59 mm -2.44 m 1.14 MeV 0 eV 3.34 mm 3.34 mm Target compt + 2 6.64 mm 1.31 cm -2.44 m 219 keV 0 eV 6.53 mm 9.86 mm Target compt + 3 6.66 mm 1.28 cm -2.44 m 0 eV 88 keV 372 um 1.02 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 133, Parent ID = 126 +* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 66 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.71 mm 5.04 mm -2.43 m 362 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.48 cm 9.53 mm -2.44 m 0 eV 88 keV 2.04 cm 2.04 cm Target phot + 0 6.66 mm 1.28 cm -2.44 m 131 keV 0 eV 0 fm 0 fm Target initStep + 1 6.66 mm 1.28 cm -2.44 m 0 eV 131 keV 42.7 um 42.7 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 133 +* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 66 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.48 cm 9.53 mm -2.44 m 274 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.48 cm 9.52 mm -2.44 m 0 eV 274 keV 131 um 131 um Target eIoni + 0 6.64 mm 1.31 cm -2.44 m 919 keV 0 eV 0 fm 0 fm Target initStep + 1 6.71 mm 1.31 cm -2.44 m 258 keV 293 keV 284 um 284 um Target eBrem + 2 6.72 mm 1.31 cm -2.44 m 0 eV 258 keV 120 um 404 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 132, Parent ID = 126 +* G4Track Information: Particle = gamma, Track ID = 72, Parent ID = 70 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.56 mm 3.34 mm -2.43 m 328 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.59 mm 3.64 mm -2.43 m 0 eV 88 keV 524 um 524 um Target phot + 0 6.71 mm 1.31 cm -2.44 m 369 keV 0 eV 0 fm 0 fm Target initStep + 1 8.03 mm 1.39 cm -2.44 m 0 eV 88 keV 1.95 mm 1.95 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 135, Parent ID = 132 +* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 72 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.59 mm 3.64 mm -2.43 m 240 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.59 mm 3.64 mm -2.43 m 0 eV 240 keV 108 um 108 um Target eIoni + 0 8.03 mm 1.39 cm -2.44 m 281 keV 0 eV 0 fm 0 fm Target initStep + 1 8.03 mm 1.39 cm -2.44 m 0 eV 281 keV 136 um 136 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 112, Parent ID = 109 +* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 66 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -606 um 1.3 mm -2.43 m 2.67 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.82 mm 2.84 mm -2.4 m 2.67 MeV 0 eV 3.41 cm 3.41 cm Target Transportation - 2 -3.02 cm 3.9 cm -1.6 m 2.67 MeV 0 eV 80.1 cm 83.5 cm Tracker Transportation - 3 -3.73 cm 4.8 cm -1.4 m 2.67 MeV 0 eV 20 cm 1.04 m Chamber Transportation - 4 -5.86 cm 7.51 cm -80 cm 2.67 MeV 0 eV 60.1 cm 1.64 m Tracker Transportation - 5 -6.58 cm 8.41 cm -60 cm 2.67 MeV 0 eV 20 cm 1.84 m Chamber Transportation - 6 -8.71 cm 11.1 cm -0.114 fm 2.67 MeV 0 eV 60.1 cm 2.44 m Tracker Transportation - 7 -9.42 cm 12 cm 20 cm 2.67 MeV 0 eV 20 cm 2.64 m Chamber Transportation - 8 -11.5 cm 14.7 cm 80 cm 2.67 MeV 0 eV 60.1 cm 3.24 m Tracker Transportation - 9 -12.3 cm 15.6 cm 1 m 2.67 MeV 0 eV 20 cm 3.44 m Chamber Transportation - 10 -14.4 cm 18.3 cm 1.6 m 2.67 MeV 0 eV 60.1 cm 4.04 m Tracker Transportation - 11 -15.1 cm 19.2 cm 1.8 m 2.67 MeV 0 eV 20 cm 4.24 m Chamber Transportation - 12 -17.2 cm 21.9 cm 2.4 m 2.67 MeV 0 eV 60.1 cm 4.84 m Tracker Transportation - 13 -19 cm 24.3 cm 2.91 m 2.67 MeV 0 eV 51.1 cm 5.35 m OutOfWorld Transportation + 0 6.45 mm 6.59 mm -2.44 m 63.5 keV 0 eV 0 fm 0 fm Target initStep + 1 6.45 mm 6.59 mm -2.44 m 0 eV 63.5 keV 13.2 um 13.2 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 47, Parent ID = 45 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 426 um 366 um -2.44 m 3.69 MeV 0 eV 0 fm 0 fm Target initStep + 1 807 um 397 um -2.44 m 443 keV 0 eV 639 um 639 um Target compt + 2 9.4 mm 6.62 mm -2.45 m 408 keV 0 eV 1.27 cm 1.33 cm Target compt + 3 1.02 cm 8.34 mm -2.45 m 0 eV 88 keV 2.88 mm 1.62 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 76, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.02 cm 8.34 mm -2.45 m 320 keV 0 eV 0 fm 0 fm Target initStep + 1 1.02 cm 8.34 mm -2.45 m 0 eV 320 keV 164 um 164 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 9.4 mm 6.62 mm -2.45 m 35.4 keV 0 eV 0 fm 0 fm Target initStep + 1 9.4 mm 6.62 mm -2.45 m 0 eV 35.4 keV 5.12 um 5.12 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 47 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 807 um 397 um -2.44 m 3.25 MeV 0 eV 0 fm 0 fm Target initStep + 1 485 um 490 um -2.44 m 1.54 MeV 1.71 MeV 1.43 mm 1.43 mm Target eBrem + 2 247 um 495 um -2.44 m 235 keV 1.3 MeV 1.1 mm 2.53 mm Target eBrem + 3 244 um 495 um -2.44 m 0 eV 235 keV 105 um 2.64 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 46, Parent ID = 45 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -41.4 um -134 um -2.44 m 5.81 MeV 0 eV 0 fm 0 fm Target initStep + 1 1e+03 um 1.28 mm -2.44 m 382 keV 0 eV 2.94 mm 2.94 mm Target compt + 2 -8.31 mm -412 um -2.44 m 0 eV 88 keV 9.69 mm 1.26 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 46 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -8.31 mm -412 um -2.44 m 294 keV 0 eV 0 fm 0 fm Target initStep + 1 -8.31 mm -416 um -2.44 m 0 eV 294 keV 145 um 145 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 77, Parent ID = 46 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1e+03 um 1.28 mm -2.44 m 5.43 MeV 0 eV 0 fm 0 fm Target initStep + 1 368 um 2.02 mm -2.44 m 2.49 MeV 2.94 MeV 2.26 mm 2.26 mm Target eIoni + 2 -99.7 um 1.96 mm -2.44 m 887 keV 1.6 MeV 1.59 mm 3.85 mm Target eIoni + 3 -79 um 1.95 mm -2.44 m 0 eV 887 keV 630 um 4.47 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 6 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -632 um -70.2 um -2.44 m 48.9 MeV 0 eV 0 fm 0 fm Target initStep + 1 -631 um -70.5 um -2.44 m 47.1 MeV 26 keV 23.8 um 23.8 um Target eBrem + 2 -49.2 um -94.3 um -2.44 m 23.9 MeV 4.23 MeV 2.97 mm 2.99 mm Target eBrem + 3 214 um 786 um -2.44 m 22 MeV 1.24 MeV 937 um 3.93 mm Target eBrem + 4 943 um 2.56 mm -2.44 m 14.2 MeV 3.98 MeV 2.28 mm 6.21 mm Target eBrem + 5 1.09 mm 3.16 mm -2.44 m 11.1 MeV 748 keV 629 um 6.84 mm Target eBrem + 6 1.59 mm 3.72 mm -2.44 m 9.66 MeV 1.09 MeV 891 um 7.73 mm Target eBrem + 7 2.67 mm 4.17 mm -2.44 m 6.18 MeV 1.69 MeV 1.49 mm 9.22 mm Target eBrem + 8 2.13 mm 4.47 mm -2.44 m 3.38 MeV 2.79 MeV 2.39 mm 1.16 cm Target eIoni + 9 2.16 mm 4.76 mm -2.44 m 2.29 MeV 513 keV 392 um 1.2 cm Target eBrem + 10 2 mm 5.1 mm -2.44 m 303 keV 867 keV 807 um 1.28 cm Target eBrem + 11 1.99 mm 5.1 mm -2.44 m 0 eV 303 keV 152 um 1.3 cm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 44 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2 mm 5.1 mm -2.44 m 1.12 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.21 mm 5.87 mm -2.44 m 344 keV 0 eV 1.25 mm 1.25 mm Target compt + 2 -3.7 mm -3.05 mm -2.44 m 0 eV 88 keV 1.11 cm 1.23 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 87 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -3.7 mm -3.05 mm -2.44 m 256 keV 0 eV 0 fm 0 fm Target initStep + 1 -3.7 mm -3.06 mm -2.44 m 0 eV 256 keV 119 um 119 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 87 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.21 mm 5.87 mm -2.44 m 778 keV 0 eV 0 fm 0 fm Target initStep + 1 1.2 mm 5.9 mm -2.44 m 0 eV 778 keV 536 um 536 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 86, Parent ID = 44 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.16 mm 4.76 mm -2.44 m 577 keV 0 eV 0 fm 0 fm Target initStep + 1 3.12 mm 1 cm -2.44 m 0 eV 88 keV 7.27 mm 7.27 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 86 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.12 mm 1 cm -2.44 m 489 keV 0 eV 0 fm 0 fm Target initStep + 1 3.12 mm 1 cm -2.44 m 0 eV 489 keV 295 um 295 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 85, Parent ID = 44 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.67 mm 4.17 mm -2.44 m 1.79 MeV 0 eV 0 fm 0 fm Target initStep + 1 6.07 mm 3.29 mm -2.45 m 734 keV 0 eV 9.3 mm 9.3 mm Target compt + 2 7.36 mm 5.04 mm -2.45 m 734 keV 0 eV 2.52 mm 1.18 cm Target Transportation + 3 47.4 cm 63.7 cm -2.91 m 734 keV 0 eV 91.1 cm 92.2 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 85 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.07 mm 3.29 mm -2.45 m 1.05 MeV 0 eV 0 fm 0 fm Target initStep + 1 6.08 mm 3.26 mm -2.45 m 0 eV 1.05 MeV 770 um 770 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 84, Parent ID = 44 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.59 mm 3.72 mm -2.44 m 348 keV 0 eV 0 fm 0 fm Target initStep + 1 3.26 mm 6.85 mm -2.44 m 0 eV 88 keV 3.86 mm 3.86 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 84 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.26 mm 6.85 mm -2.44 m 260 keV 0 eV 0 fm 0 fm Target initStep + 1 3.26 mm 6.85 mm -2.44 m 0 eV 260 keV 121 um 121 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 83, Parent ID = 44 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.09 mm 3.16 mm -2.44 m 2.38 MeV 0 eV 0 fm 0 fm Target initStep + 1 6.93 mm 2.5 cm -2.45 m 2.38 MeV 0 eV 2.39 cm 2.39 cm Target Transportation + 2 35.8 cm 1.34 m -2.91 m 2.38 MeV 0 eV 1.44 m 1.46 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 82, Parent ID = 44 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 943 um 2.56 mm -2.44 m 3.76 MeV 0 eV 0 fm 0 fm Target initStep + 1 885 um 5.79 mm -2.44 m 1.93 MeV 0 eV 3.23 mm 3.23 mm Target compt + 2 8.39 mm 2.5 cm -2.43 m 1.93 MeV 0 eV 2.21 cm 2.53 cm Target Transportation + 3 3.8 cm 10.1 cm -2.4 m 1.93 MeV 0 eV 8.71 cm 11.2 cm World Transportation + 4 93.6 cm 2.4 m -1.45 m 1.93 MeV 0 eV 2.64 m 2.76 m Tracker Transportation + 5 1.14 m 2.91 m -1.24 m 1.93 MeV 0 eV 58.6 cm 3.34 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 82 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 885 um 5.79 mm -2.44 m 1.83 MeV 0 eV 0 fm 0 fm Target initStep + 1 862 um 5.87 mm -2.44 m 1.58 MeV 254 keV 238 um 238 um Target eBrem + 2 721 um 5.74 mm -2.44 m 1.08 MeV 499 keV 477 um 715 um Target eBrem + 3 695 um 5.8 mm -2.44 m 0 eV 1.08 MeV 795 um 1.51 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 81, Parent ID = 44 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 214 um 786 um -2.44 m 721 keV 0 eV 0 fm 0 fm Target initStep + 1 9.38 mm 2.5 cm -2.44 m 721 keV 0 eV 2.63 cm 2.63 cm Target Transportation + 2 7.74 cm 20.5 cm -2.4 m 721 keV 0 eV 19.5 cm 22.2 cm World Transportation + 3 90.8 cm 2.4 m -1.97 m 721 keV 0 eV 2.39 m 2.61 m Tracker Transportation + 4 1.1 m 2.91 m -1.87 m 721 keV 0 eV 55.5 cm 3.16 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 80, Parent ID = 44 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -49.2 um -94.3 um -2.44 m 18.9 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.61 mm 2.34 cm -2.44 m 0 eV 0 eV 2.37 cm 2.37 cm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 95, Parent ID = 80 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.61 mm 2.34 cm -2.44 m 12.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.62 mm 2.38 cm -2.44 m 11.9 MeV 435 keV 403 um 403 um Target msc + 2 2.63 mm 2.38 cm -2.44 m 7.71 MeV 55.6 keV 49.6 um 452 um Target eBrem + 3 2.68 mm 2.42 cm -2.44 m 7.34 MeV 373 keV 403 um 855 um Target msc + 4 2.74 mm 2.43 cm -2.44 m 6.79 MeV 176 keV 134 um 989 um Target eBrem + 5 3.02 mm 2.44 cm -2.44 m 6.21 MeV 581 keV 403 um 1.39 mm Target msc + 6 3.34 mm 2.42 cm -2.44 m 5.73 MeV 483 keV 403 um 1.79 mm Target msc + 7 3.7 mm 2.43 cm -2.44 m 5.13 MeV 594 keV 403 um 2.2 mm Target msc + 8 4.01 mm 2.45 cm -2.44 m 4.71 MeV 427 keV 403 um 2.6 mm Target msc + 9 4.34 mm 2.45 cm -2.44 m 4.13 MeV 577 keV 403 um 3 mm Target msc + 10 4.7 mm 2.45 cm -2.44 m 3.67 MeV 459 keV 403 um 3.4 mm Target msc + 11 4.97 mm 2.43 cm -2.44 m 3.14 MeV 531 keV 403 um 3.81 mm Target msc + 12 5.22 mm 2.45 cm -2.44 m 2.77 MeV 374 keV 403 um 4.21 mm Target msc + 13 5.29 mm 2.48 cm -2.44 m 2.25 MeV 517 keV 403 um 4.61 mm Target msc + 14 5.4 mm 2.5 cm -2.44 m 1.78 MeV 467 keV 403 um 5.01 mm Target msc + 15 5.58 mm 2.49 cm -2.44 m 1.44 MeV 344 keV 403 um 5.42 mm Target msc + 16 5.62 mm 2.5 cm -2.44 m 1.33 MeV 107 keV 122 um 5.54 mm Target Transportation + 17 -14.3 cm 8.86 cm -2.6 m 1.25 MeV 34 keV 23 cm 23.6 cm World eIoni + 18 -27.2 cm 24.8 cm -2.8 m 1.18 MeV 43.5 keV 28.7 cm 52.3 cm World eBrem + 19 -34.5 cm 33.9 cm -2.91 m 1.14 MeV 39.1 keV 16.1 cm 68.5 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 99, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -27.2 cm 24.8 cm -2.8 m 22.1 keV 0 eV 0 fm 0 fm World initStep + 1 -33.5 cm 42.6 cm -2.91 m 22.1 keV 0 eV 21.7 cm 21.7 cm OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -14.3 cm 8.86 cm -2.6 m 50.7 keV 0 eV 0 fm 0 fm World initStep + 1 -15.1 cm 9.22 cm -2.6 m 44 keV 6.7 keV 9.46 mm 9.46 mm World eIoni + 2 -15.7 cm 9.7 cm -2.6 m 38.5 keV 5.5 keV 7.74 mm 1.72 cm World eIoni + 3 -16.1 cm 9.94 cm -2.61 m 34.1 keV 4.41 keV 6.41 mm 2.36 cm World eIoni + 4 -15.8 cm 9.98 cm -2.61 m 30.5 keV 3.59 keV 5.48 mm 2.91 cm World eIoni + 5 -15.8 cm 10.4 cm -2.61 m 17.3 keV 13.2 keV 4.76 mm 3.39 cm World eIoni + 6 -15.6 cm 10.5 cm -2.61 m 11.7 keV 5.53 keV 2.65 mm 3.65 cm World eIoni + 7 -15.6 cm 10.7 cm -2.61 m 7.97 keV 3.77 keV 1.93 mm 3.84 cm World eIoni + 8 -15.5 cm 10.7 cm -2.61 m 955 eV 7.01 keV 1.38 mm 3.98 cm World eIoni + 9 -15.5 cm 10.7 cm -2.61 m 0 eV 955 eV 54.6 um 3.99 cm World eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 97, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.74 mm 2.43 cm -2.44 m 369 keV 0 eV 0 fm 0 fm Target initStep + 1 3.72 mm 2.5 cm -2.44 m 369 keV 0 eV 1.45 mm 1.45 mm Target Transportation + 2 5.44 cm 6.11 cm -2.4 m 369 keV 0 eV 7.5 cm 7.64 cm World Transportation + 3 2.4 m 1.73 m -46.6 cm 369 keV 0 eV 3.47 m 3.55 m Tracker Transportation + 4 2.91 m 2.1 m -4.55 cm 369 keV 0 eV 75.4 cm 4.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 96, Parent ID = 95 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.63 mm 2.38 cm -2.44 m 4.17 MeV 0 eV 0 fm 0 fm Target initStep + 1 3.02 mm 2.5 cm -2.44 m 4.17 MeV 0 eV 1.24 mm 1.24 mm Target Transportation + 2 16.8 cm 53.1 cm -2.4 m 4.17 MeV 0 eV 53.4 cm 53.5 cm World Transportation + 3 77.8 cm 2.4 m -2.24 m 4.17 MeV 0 eV 1.97 m 2.51 m Tracker Transportation + 4 94.4 cm 2.91 m -2.2 m 4.17 MeV 0 eV 53.8 cm 3.05 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 80 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.61 mm 2.34 cm -2.44 m 5.51 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.6 mm 2.38 cm -2.44 m 5.03 MeV 484 keV 403 um 403 um Target msc + 2 2.76 mm 2.41 cm -2.44 m 4.56 MeV 463 keV 403 um 805 um Target msc + 3 2.97 mm 2.43 cm -2.44 m 4.13 MeV 434 keV 403 um 1.21 mm Target msc + 4 3.11 mm 2.46 cm -2.44 m 3.75 MeV 377 keV 403 um 1.61 mm Target msc + 5 3.23 mm 2.49 cm -2.44 m 3.32 MeV 433 keV 403 um 2.01 mm Target msc + 6 3.11 mm 2.5 cm -2.44 m 3.07 MeV 245 keV 179 um 2.19 mm Target Transportation + 7 3.11 mm 2.5 cm -2.44 m 3.07 MeV 0 eV 0 fm 2.19 mm World Transportation + 8 3.07 mm 2.5 cm -2.44 m 3.02 MeV 57.6 keV 48.7 um 2.24 mm Target msc + 9 3.03 mm 2.5 cm -2.44 m 2.98 MeV 36.3 keV 48.7 um 2.29 mm Target msc + 10 3 mm 2.5 cm -2.44 m 2.95 MeV 28.4 keV 48.7 um 2.34 mm Target msc + 11 2.97 mm 2.49 cm -2.44 m 2.91 MeV 38.8 keV 48.7 um 2.39 mm Target msc + 12 2.93 mm 2.49 cm -2.44 m 2.84 MeV 77.2 keV 48.7 um 2.44 mm Target msc + 13 2.92 mm 2.49 cm -2.44 m 2.79 MeV 47.3 keV 48.7 um 2.48 mm Target msc + 14 2.9 mm 2.49 cm -2.44 m 2.74 MeV 48.1 keV 48.7 um 2.53 mm Target msc + 15 2.87 mm 2.49 cm -2.44 m 2.71 MeV 35.6 keV 48.7 um 2.58 mm Target msc + 16 2.82 mm 2.49 cm -2.44 m 2.63 MeV 71.8 keV 48.7 um 2.63 mm Target msc + 17 2.78 mm 2.49 cm -2.44 m 2.58 MeV 57 keV 48.7 um 2.68 mm Target msc + 18 2.74 mm 2.49 cm -2.44 m 2.51 MeV 63 keV 48.7 um 2.73 mm Target msc + 19 2.7 mm 2.49 cm -2.44 m 2.46 MeV 55.7 keV 48.7 um 2.78 mm Target msc + 20 2.69 mm 2.49 cm -2.44 m 2.41 MeV 49.4 keV 48.7 um 2.83 mm Target msc + 21 2.66 mm 2.49 cm -2.44 m 2.32 MeV 90.3 keV 48.7 um 2.87 mm Target msc + 22 2.68 mm 2.49 cm -2.44 m 2.27 MeV 45.9 keV 48.7 um 2.92 mm Target msc + 23 2.71 mm 2.49 cm -2.44 m 2.23 MeV 45.5 keV 48.7 um 2.97 mm Target msc + 24 2.74 mm 2.49 cm -2.44 m 2.18 MeV 50.6 keV 48.7 um 3.02 mm Target msc + 25 2.76 mm 2.5 cm -2.44 m 2.1 MeV 78.5 keV 48.7 um 3.07 mm Target msc + 26 2.77 mm 2.5 cm -2.44 m 2.04 MeV 61 keV 48.7 um 3.12 mm Target msc + 27 2.78 mm 2.5 cm -2.44 m 2.03 MeV 3.87 keV 10.7 um 3.13 mm Target Transportation + 28 1.19 cm 6.87 cm -2.4 m 2.02 MeV 15.6 keV 6.22 cm 6.54 cm World Transportation + 29 3.23 cm 57.3 cm -1.96 m 1.86 MeV 104 keV 68.3 cm 74.8 cm Tracker eIoni + 30 -26.4 cm 1.22 m -1.45 m 1.05 MeV 156 keV 89.5 cm 1.64 m Tracker eIoni + 31 -46.1 cm 1.44 m -60.9 cm 884 keV 170 keV 95.4 cm 2.6 m Tracker eIoni + 32 -52.8 cm 2.03 m -18.3 cm 742 keV 142 keV 76.3 cm 3.36 m Tracker eIoni + 33 -39.5 cm 2.15 m 34.9 cm 627 keV 115 keV 60.6 cm 3.97 m Tracker eIoni + 34 -34.4 cm 2.4 m 60.5 cm 549 keV 78 keV 39.1 cm 4.36 m Tracker Transportation + 35 -48.9 cm 2.73 m 73.7 cm 471 keV 77.9 keV 40.1 cm 4.76 m World eIoni + 36 -44.1 cm 2.91 m 83.5 cm 423 keV 48.3 keV 22.9 cm 4.99 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 94 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -26.4 cm 1.22 m -1.45 m 651 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -54 cm 1.59 m -1.3 m 530 keV 121 keV 50.7 cm 50.7 cm Tracker eIoni + 2 -87.8 cm 1.73 m -1.3 m 448 keV 82.4 keV 38.2 cm 88.9 cm Tracker eIoni + 3 -97.7 cm 1.85 m -1.06 m 385 keV 63.3 keV 30 cm 1.19 m Tracker eIoni + 4 -98.6 cm 1.9 m -83.8 cm 336 keV 48.6 keV 23.9 cm 1.43 m Tracker eIoni + 5 -96.3 cm 2.03 m -70.3 cm 290 keV 46.1 keV 19.5 cm 1.62 m Tracker eIoni + 6 -97.7 cm 2.03 m -55.5 cm 226 keV 63.6 keV 15.6 cm 1.78 m Tracker eIoni + 7 -88.1 cm 2 m -55.7 cm 202 keV 24 keV 10.6 cm 1.89 m Tracker eIoni + 8 -81.6 cm 2 m -50.6 cm 186 keV 16.6 keV 8.8 cm 1.97 m Tracker eIoni + 9 -76.7 cm 1.97 m -47.3 cm 169 keV 16.4 keV 7.69 cm 2.05 m Tracker eIoni + 10 -72.7 cm 1.92 m -48 cm 151 keV 18.1 keV 6.62 cm 2.12 m Tracker eIoni + 11 -68.5 cm 1.9 m -49.4 cm 138 keV 13.7 keV 5.5 cm 2.17 m Tracker eIoni + 12 -65.5 cm 1.88 m -52.1 cm 123 keV 14.6 keV 4.71 cm 2.22 m Tracker eIoni + 13 -62 cm 1.87 m -52.7 cm 102 keV 20.8 keV 3.9 cm 2.26 m Tracker eIoni + 14 -59.7 cm 1.86 m -51.7 cm 93.1 keV 9.14 keV 2.88 cm 2.29 m Tracker eIoni + 15 -58.8 cm 1.84 m -50 cm 80.1 keV 12.9 keV 2.48 cm 2.31 m Tracker eIoni + 16 -57.2 cm 1.83 m -49.8 cm 72.8 keV 7.36 keV 1.93 cm 2.33 m Tracker eIoni + 17 -55.9 cm 1.83 m -50.1 cm 65.7 keV 7.09 keV 1.66 cm 2.35 m Tracker eIoni + 18 -55 cm 1.82 m -50.4 cm 55.7 keV 9.94 keV 1.41 cm 2.36 m Tracker eIoni + 19 -54.1 cm 1.82 m -50.9 cm 48.4 keV 7.31 keV 1.1 cm 2.37 m Tracker eIoni + 20 -54 cm 1.83 m -50.8 cm 43 keV 5.43 keV 8.86 mm 2.38 m Tracker eIoni + 21 -54.2 cm 1.83 m -50.6 cm 38.6 keV 4.38 keV 7.49 mm 2.39 m Tracker eIoni + 22 -54.3 cm 1.84 m -50.4 cm 34.1 keV 4.56 keV 6.44 mm 2.4 m Tracker eIoni + 23 -54.6 cm 1.84 m -50.8 cm 27.4 keV 6.63 keV 5.48 mm 2.4 m Tracker eIoni + 24 -54.8 cm 1.84 m -51 cm 23 keV 4.38 keV 4.21 mm 2.4 m Tracker eIoni + 25 -55.1 cm 1.84 m -51.2 cm 16.1 keV 6.91 keV 3.48 mm 2.41 m Tracker eIoni + 26 -55.2 cm 1.84 m -51.4 cm 10.3 keV 5.88 keV 2.49 mm 2.41 m Tracker eIoni + 27 -55.2 cm 1.84 m -51.4 cm 2.35 keV 7.91 keV 1.73 mm 2.41 m Tracker eIoni + 28 -55.2 cm 1.84 m -51.4 cm 0 eV 2.35 keV 201 um 2.41 m Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 94 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.23 cm 57.3 cm -1.96 m 51.6 keV 0 eV 0 fm 0 fm Tracker initStep + 1 4.04 cm 56.9 cm -1.96 m 45.3 keV 6.26 keV 9.72 mm 9.72 mm Tracker eIoni + 2 4.44 cm 56.7 cm -1.97 m 36.5 keV 8.82 keV 8.07 mm 1.78 cm Tracker eIoni + 3 4.83 cm 57 cm -1.97 m 31.8 keV 4.67 keV 5.98 mm 2.38 cm Tracker eIoni + 4 4.89 cm 56.9 cm -1.97 m 23 keV 8.79 keV 5 mm 2.88 cm Tracker eIoni + 5 4.76 cm 56.9 cm -1.98 m 20.3 keV 2.72 keV 3.48 mm 3.22 cm Tracker eIoni + 6 4.59 cm 56.9 cm -1.98 m 14.6 keV 5.68 keV 3.06 mm 3.53 cm Tracker eIoni + 7 4.44 cm 56.8 cm -1.98 m 10.8 keV 3.79 keV 2.3 mm 3.76 cm Tracker eIoni + 8 4.29 cm 56.8 cm -1.98 m 7 keV 3.83 keV 1.82 mm 3.94 cm Tracker eIoni + 9 4.28 cm 56.8 cm -1.98 m 2.14 keV 4.86 keV 1.19 mm 4.06 cm Tracker eIoni + 10 4.28 cm 56.9 cm -1.98 m 0 eV 2.14 keV 174 um 4.08 cm Tracker eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 79, Parent ID = 44 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -631 um -70.5 um -2.44 m 1.84 MeV 0 eV 0 fm 0 fm Target initStep + 1 -69.9 um -760 um -2.42 m 0 eV 88 keV 1.9 cm 1.9 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 102, Parent ID = 79 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -69.9 um -760 um -2.42 m 1.75 MeV 0 eV 0 fm 0 fm Target initStep + 1 -8.96 um -926 um -2.42 m 60.8 keV 360 keV 308 um 308 um Target eBrem + 2 -8.3 um -926 um -2.42 m 0 eV 60.8 keV 12.4 um 321 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 103, Parent ID = 102 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -8.96 um -926 um -2.42 m 1.33 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.43 mm -6.8 mm -2.43 m 558 keV 0 eV 1.2 cm 1.2 cm Target compt + 2 -1.72 cm -6.76 mm -2.44 m 192 keV 0 eV 1.74 cm 2.94 cm Target compt + 3 -1.64 cm -6.38 mm -2.44 m 0 eV 88 keV 922 um 3.04 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 103 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.64 cm -6.38 mm -2.44 m 104 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.64 cm -6.38 mm -2.44 m 0 eV 104 keV 29.3 um 29.3 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 103 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.72 cm -6.76 mm -2.44 m 367 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.73 cm -6.76 mm -2.44 m 0 eV 367 keV 199 um 199 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 104, Parent ID = 103 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -1.43 mm -6.8 mm -2.43 m 770 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.42 mm -6.82 mm -2.43 m 0 eV 770 keV 530 um 530 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -840 um 152 um -2.45 m 32 MeV 0 eV 0 fm 0 fm Target initStep - 1 -786 um 369 um -2.44 m 0 eV 0 eV 2.73 mm 2.73 mm Target conv + 0 -753 um 7.26 um -2.45 m 4.46 MeV 0 eV 0 fm 0 fm Target initStep + 1 -716 um -50.9 um -2.44 m 0 eV 0 eV 4.61 mm 4.61 mm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 137, Parent ID = 5 +* G4Track Information: Particle = e+, Track ID = 108, Parent ID = 5 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -786 um 369 um -2.44 m 17.4 MeV 0 eV 0 fm 0 fm Target initStep - 1 -399 um 528 um -2.44 m 16 MeV 1.46 MeV 1.29 mm 1.29 mm Target msc - 2 -152 um 666 um -2.44 m 13.3 MeV 711 keV 621 um 1.91 mm Target eBrem - 3 752 um 1.08 mm -2.44 m 10.8 MeV 2.53 MeV 1.29 mm 3.19 mm Target msc - 4 1.02 mm 1.16 mm -2.44 m 10.5 MeV 331 keV 293 um 3.48 mm Target eBrem - 5 2 mm 1.83 mm -2.44 m 8.78 MeV 1.71 MeV 1.29 mm 4.77 mm Target msc - 6 1.88 mm 2.24 mm -2.44 m 3.87 MeV 647 keV 469 um 5.24 mm Target eBrem - 7 1.19 mm 2.44 mm -2.44 m 2.55 MeV 1.32 MeV 1.29 mm 6.53 mm Target msc - 8 900 um 2.69 mm -2.44 m 0 eV 1.24 MeV 528 um 7.05 mm Target annihil + 0 -716 um -50.9 um -2.44 m 887 keV 0 eV 0 fm 0 fm Target initStep + 1 -740 um -72.4 um -2.44 m 0 eV 887 keV 635 um 635 um Target eIoni + 2 -740 um -72.4 um -2.44 m 0 eV 0 eV 0 fm 635 um Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 141, Parent ID = 137 +* G4Track Information: Particle = gamma, Track ID = 110, Parent ID = 108 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 900 um 2.69 mm -2.44 m 1.95 MeV 0 eV 0 fm 0 fm Target initStep - 1 -5.65 mm 1.29 mm -2.45 m 580 keV 0 eV 7.66 mm 7.66 mm Target compt - 2 -5.22 mm 1.03 mm -2.45 m 580 keV 0 eV 3.1 mm 1.08 cm Target Transportation - 3 5.81 cm -3.75 cm -2.91 m 580 keV 0 eV 46.6 cm 47.7 cm OutOfWorld Transportation + 0 -740 um -72.4 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 4.99 mm -1.24 cm -2.44 m 0 eV 88 keV 1.42 cm 1.42 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 141 +* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 110 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.65 mm 1.29 mm -2.45 m 1.38 MeV 0 eV 0 fm 0 fm Target initStep - 1 -5.77 mm 1.38 mm -2.45 m 208 keV 1.17 MeV 1.04 mm 1.04 mm Target eIoni - 2 -5.77 mm 1.39 mm -2.45 m 0 eV 208 keV 86.7 um 1.13 mm Target eIoni + 0 4.99 mm -1.24 cm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 4.99 mm -1.24 cm -2.44 m 0 eV 423 keV 242 um 242 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 140, Parent ID = 137 +* G4Track Information: Particle = gamma, Track ID = 109, Parent ID = 108 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 900 um 2.69 mm -2.44 m 372 keV 0 eV 0 fm 0 fm Target initStep - 1 1.67 mm 2.61 mm -2.44 m 158 keV 0 eV 820 um 820 um Target compt - 2 1.47 mm 2.75 mm -2.44 m 0 eV 88 keV 250 um 1.07 mm Target phot + 0 -740 um -72.4 um -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 -831 um 125 um -2.44 m 221 keV 0 eV 227 um 227 um Target compt + 2 566 um 381 um -2.44 m 0 eV 88 keV 1.49 mm 1.72 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 140 +* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 109 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.47 mm 2.75 mm -2.44 m 69.5 keV 0 eV 0 fm 0 fm Target initStep - 1 1.46 mm 2.75 mm -2.44 m 0 eV 69.5 keV 15.4 um 15.4 um Target eIoni + 0 566 um 381 um -2.44 m 133 keV 0 eV 0 fm 0 fm Target initStep + 1 568 um 382 um -2.44 m 0 eV 133 keV 43.4 um 43.4 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 143, Parent ID = 140 +* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 109 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.67 mm 2.61 mm -2.44 m 215 keV 0 eV 0 fm 0 fm Target initStep - 1 1.68 mm 2.61 mm -2.44 m 0 eV 215 keV 91.3 um 91.3 um Target eIoni + 0 -831 um 125 um -2.44 m 290 keV 0 eV 0 fm 0 fm Target initStep + 1 -838 um 131 um -2.44 m 0 eV 290 keV 143 um 143 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 139, Parent ID = 137 +* G4Track Information: Particle = e-, Track ID = 107, Parent ID = 5 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.88 mm 2.24 mm -2.44 m 4.26 MeV 0 eV 0 fm 0 fm Target initStep - 1 1.86 mm 2.36 mm -2.44 m 0 eV 0 eV 141 um 141 um Target conv + 0 -716 um -50.9 um -2.44 m 2.55 MeV 0 eV 0 fm 0 fm Target initStep + 1 -361 um 211 um -2.44 m 237 keV 986 keV 959 um 959 um Target eBrem + 2 -360 um 214 um -2.44 m 0 eV 237 keV 106 um 1.06 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 146, Parent ID = 139 +* G4Track Information: Particle = gamma, Track ID = 114, Parent ID = 107 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.86 mm 2.36 mm -2.44 m 1.6 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.11 mm 2.46 mm -2.44 m 269 keV 1.33 MeV 1.21 mm 1.21 mm Target eIoni - 2 2.12 mm 2.47 mm -2.44 m 0 eV 269 keV 124 um 1.33 mm Target eIoni - 3 2.12 mm 2.47 mm -2.44 m 0 eV 0 eV 0 fm 1.33 mm Target annihil - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 148, Parent ID = 146 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.12 mm 2.47 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 9.93 mm 1.56 mm -2.44 m 0 eV 88 keV 1 cm 1 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 149, Parent ID = 148 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 9.93 mm 1.56 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 9.95 mm 1.56 mm -2.44 m 0 eV 423 keV 242 um 242 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 147, Parent ID = 146 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.12 mm 2.47 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.09 mm 3.19 mm -2.45 m 0 eV 88 keV 7.98 mm 7.98 mm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 150, Parent ID = 147 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -4.09 mm 3.19 mm -2.45 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -4.1 mm 3.19 mm -2.45 m 0 eV 423 keV 242 um 242 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 139 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.86 mm 2.36 mm -2.44 m 1.65 MeV 0 eV 0 fm 0 fm Target initStep - 1 2 mm 2.5 mm -2.44 m 1.1 MeV 548 keV 510 um 510 um Target eBrem - 2 1.97 mm 2.54 mm -2.44 m 0 eV 1.1 MeV 810 um 1.32 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 138, Parent ID = 137 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -152 um 666 um -2.44 m 1.93 MeV 0 eV 0 fm 0 fm Target initStep - 1 2.52 mm 4.57 mm -2.44 m 1.52 MeV 0 eV 6.69 mm 6.69 mm Target compt - 2 3.57 mm 1.34 cm -2.43 m 0 eV 88 keV 1.13 cm 1.8 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 152, Parent ID = 138 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 3.57 mm 1.34 cm -2.43 m 1.44 MeV 0 eV 0 fm 0 fm Target initStep - 1 3.43 mm 1.35 cm -2.43 m 260 keV 1.18 MeV 1.09 mm 1.09 mm Target eIoni - 2 3.43 mm 1.34 cm -2.43 m 0 eV 260 keV 121 um 1.21 mm Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 151, Parent ID = 138 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 2.52 mm 4.57 mm -2.44 m 403 keV 0 eV 0 fm 0 fm Target initStep - 1 2.53 mm 4.57 mm -2.44 m 0 eV 403 keV 227 um 227 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 136, Parent ID = 5 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -786 um 369 um -2.44 m 13.6 MeV 0 eV 0 fm 0 fm Target initStep - 1 -1.22 mm 417 um -2.44 m 11.7 MeV 1.86 MeV 1.29 mm 1.29 mm Target msc - 2 -1.76 mm 75.8 um -2.44 m 9.15 MeV 1 MeV 804 um 2.09 mm Target eBrem - 3 -2 mm -148 um -2.44 m 6.1 MeV 3.06 MeV 1.29 mm 3.38 mm Target msc - 4 -1.47 mm -8.73 um -2.44 m 4.83 MeV 784 keV 783 um 4.16 mm Target eBrem - 5 -773 um -95.3 um -2.44 m 2.49 MeV 1.87 MeV 1.13 mm 5.29 mm Target eBrem - 6 -581 um -3.88 um -2.44 m 0 eV 2.49 MeV 1.29 mm 6.58 mm Target msc - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 155, Parent ID = 136 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -773 um -95.3 um -2.44 m 462 keV 0 eV 0 fm 0 fm Target initStep - 1 -766 um -94.5 um -2.44 m 0 eV 88 keV 7.37 um 7.37 um Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 156, Parent ID = 155 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -766 um -94.5 um -2.44 m 374 keV 0 eV 0 fm 0 fm Target initStep - 1 -754 um -99.4 um -2.44 m 0 eV 374 keV 205 um 205 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 154, Parent ID = 136 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.47 mm -8.73 um -2.44 m 483 keV 0 eV 0 fm 0 fm Target initStep - 1 809 um 948 nm -2.44 m 446 keV 0 eV 2.32 mm 2.32 mm Target compt - 2 7.64 mm -390 um -2.44 m 419 keV 0 eV 7.04 mm 9.36 mm Target compt - 3 1.07 cm 16.7 um -2.44 m 168 keV 0 eV 3.66 mm 1.3 cm Target compt - 4 1.06 cm -26.7 um -2.44 m 0 eV 88 keV 75.7 um 1.31 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 160, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.06 cm -26.7 um -2.44 m 79.6 keV 0 eV 0 fm 0 fm Target initStep - 1 1.06 cm -27.6 um -2.44 m 0 eV 79.6 keV 19.1 um 19.1 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 159, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 1.07 cm 16.7 um -2.44 m 251 keV 0 eV 0 fm 0 fm Target initStep - 1 1.07 cm 18.6 um -2.44 m 0 eV 251 keV 115 um 115 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 158, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.64 mm -390 um -2.44 m 27.2 keV 0 eV 0 fm 0 fm Target initStep - 1 7.64 mm -390 um -2.44 m 0 eV 27.2 keV 3.35 um 3.35 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 157, Parent ID = 154 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 809 um 948 nm -2.44 m 37.1 keV 0 eV 0 fm 0 fm Target initStep - 1 809 um 1 um -2.44 m 0 eV 37.1 keV 5.54 um 5.54 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 153, Parent ID = 136 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.76 mm 75.8 um -2.44 m 1.54 MeV 0 eV 0 fm 0 fm Target initStep - 1 -2.95 mm -181 um -2.44 m 1.49 MeV 0 eV 2 mm 2 mm Target compt - 2 -5.81 mm -1.01 mm -2.44 m 340 keV 0 eV 6.19 mm 8.19 mm Target compt - 3 -7.63 mm -2.35 mm -2.44 m 147 keV 0 eV 2.82 mm 1.1 cm Target compt - 4 -7.36 mm -2.03 mm -2.44 m 0 eV 88 keV 534 um 1.15 cm Target phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 164, Parent ID = 153 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.36 mm -2.03 mm -2.44 m 58.6 keV 0 eV 0 fm 0 fm Target initStep - 1 -7.36 mm -2.03 mm -2.44 m 0 eV 58.6 keV 11.7 um 11.7 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 163, Parent ID = 153 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -7.63 mm -2.35 mm -2.44 m 193 keV 0 eV 0 fm 0 fm Target initStep - 1 -7.64 mm -2.35 mm -2.44 m 0 eV 193 keV 77.9 um 77.9 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 162, Parent ID = 153 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.81 mm -1.01 mm -2.44 m 1.15 MeV 0 eV 0 fm 0 fm Target initStep - 1 -5.83 mm -841 um -2.44 m 482 keV 669 keV 634 um 634 um Target eBrem - 2 -5.85 mm -838 um -2.44 m 0 eV 482 keV 289 um 923 um Target eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 161, Parent ID = 153 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.95 mm -181 um -2.44 m 53.1 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.95 mm -181 um -2.44 m 0 eV 53.1 keV 9.91 um 9.91 um Target eIoni + 0 -361 um 211 um -2.44 m 1.32 MeV 0 eV 0 fm 0 fm Target initStep + 1 -4.41 mm -5.15 mm -2.45 m 1.32 MeV 0 eV 9.63 mm 9.63 mm Target Transportation + 2 -27.5 cm -36.3 cm -2.91 m 1.32 MeV 0 eV 64.2 cm 65.2 cm OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = gamma, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -871 um 93.5 um -2.45 m 31.3 MeV 0 eV 0 fm 0 fm Target initStep - 1 -920 um 425 um -2.44 m 0 eV 0 eV 6.72 mm 6.72 mm Target conv + 0 -732 um -53.2 um -2.45 m 19.5 MeV 0 eV 0 fm 0 fm Target initStep + 1 -567 um 93.2 um -2.42 m 0 eV 0 eV 3.01 cm 3.01 cm Target conv ********************************************************************************************************* -* G4Track Information: Particle = e+, Track ID = 166, Parent ID = 4 +* G4Track Information: Particle = e+, Track ID = 116, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -920 um 425 um -2.44 m 14.8 MeV 0 eV 0 fm 0 fm Target initStep - 1 -921 um 466 um -2.44 m 13.6 MeV 956 keV 184 um 184 um Target eBrem - 2 -1.54 mm -63.6 um -2.44 m 11.4 MeV 2.16 MeV 1.97 mm 2.15 mm Target msc - 3 -1.88 mm -1.25 mm -2.44 m 9.49 MeV 1.51 MeV 1.35 mm 3.5 mm Target eBrem - 4 -1.89 mm -2.33 mm -2.44 m 7.09 MeV 1.89 MeV 1.77 mm 5.27 mm Target eBrem - 5 -1.89 mm -2.57 mm -2.44 m 3.78 MeV 463 keV 399 um 5.67 mm Target eBrem - 6 -1.9 mm -2.59 mm -2.44 m 3.26 MeV 54.2 keV 45.1 um 5.72 mm Target eBrem - 7 -2.24 mm -2.61 mm -2.44 m 1.71 MeV 831 keV 734 um 6.45 mm Target eBrem - 8 -1.94 mm -2.52 mm -2.44 m 206 keV 1.5 MeV 1.28 mm 7.73 mm Target eIoni - 9 -1.94 mm -2.52 mm -2.44 m 0 eV 206 keV 82.2 um 7.81 mm Target eIoni - 10 -1.94 mm -2.52 mm -2.44 m 0 eV 0 eV 0 fm 7.81 mm Target annihil + 0 -567 um 93.2 um -2.42 m 9.36 MeV 0 eV 0 fm 0 fm Target initStep + 1 -813 um 392 um -2.42 m 6.2 MeV 1.18 MeV 947 um 947 um Target eBrem + 2 -1 mm 359 um -2.42 m 5.03 MeV 349 keV 296 um 1.24 mm Target eBrem + 3 -1.02 mm 790 um -2.42 m 3.71 MeV 786 keV 822 um 2.06 mm Target eBrem + 4 -1.11 mm 900 um -2.42 m 2.15 MeV 915 keV 890 um 2.95 mm Target eBrem + 5 -949 um 832 um -2.42 m 1.77 MeV 389 keV 342 um 3.3 mm Target eBrem + 6 -1.17 mm 792 um -2.42 m 0 eV 643 keV 352 um 3.65 mm Target annihil ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 174, Parent ID = 166 +* G4Track Information: Particle = gamma, Track ID = 122, Parent ID = 116 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.94 mm -2.52 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.6 mm -3.73 mm -2.44 m 0 eV 88 keV 1.25 mm 1.25 mm Target phot + 0 -1.17 mm 792 um -2.42 m 1.32 MeV 0 eV 0 fm 0 fm Target initStep + 1 -2.19 mm -2.5 cm -2.41 m 1.32 MeV 0 eV 2.68 cm 2.68 cm Target Transportation + 2 -3.46 mm -5.69 cm -2.4 m 1.32 MeV 0 eV 3.32 cm 6.01 cm World Transportation + 3 -9.64 cm -2.4 m -1.73 m 1.32 MeV 0 eV 2.44 m 2.5 m Tracker Transportation + 4 -11.7 cm -2.91 m -1.58 m 1.32 MeV 0 eV 53.1 cm 3.03 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 175, Parent ID = 174 +* G4Track Information: Particle = gamma, Track ID = 121, Parent ID = 116 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.6 mm -3.73 mm -2.44 m 423 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.6 mm -3.74 mm -2.44 m 0 eV 423 keV 242 um 242 um Target eIoni + 0 -1.17 mm 792 um -2.42 m 825 keV 0 eV 0 fm 0 fm Target initStep + 1 1.08 mm 96.6 um -2.42 m 233 keV 0 eV 3.21 mm 3.21 mm Target compt + 2 166 um 1.06 mm -2.42 m 0 eV 88 keV 1.33 mm 4.55 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 173, Parent ID = 166 +* G4Track Information: Particle = e-, Track ID = 124, Parent ID = 121 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.94 mm -2.52 mm -2.44 m 511 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.64 mm 3.34 mm -2.44 m 211 keV 0 eV 6.12 mm 6.12 mm Target compt - 2 -3.59 mm 3.28 mm -2.44 m 0 eV 88 keV 155 um 6.28 mm Target phot + 0 166 um 1.06 mm -2.42 m 145 keV 0 eV 0 fm 0 fm Target initStep + 1 169 um 1.06 mm -2.42 m 0 eV 145 keV 49.8 um 49.8 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 177, Parent ID = 173 +* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 121 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.59 mm 3.28 mm -2.44 m 123 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.6 mm 3.28 mm -2.44 m 0 eV 123 keV 38.3 um 38.3 um Target eIoni + 0 1.08 mm 96.6 um -2.42 m 593 keV 0 eV 0 fm 0 fm Target initStep + 1 1.1 mm 87.3 um -2.42 m 0 eV 593 keV 380 um 380 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 176, Parent ID = 173 +* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 116 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.64 mm 3.34 mm -2.44 m 300 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.64 mm 3.35 mm -2.44 m 0 eV 300 keV 150 um 150 um Target eIoni + 0 -1.11 mm 900 um -2.42 m 644 keV 0 eV 0 fm 0 fm Target initStep + 1 -931 um 804 um -2.42 m 196 keV 0 eV 203 um 203 um Target compt + 2 -1.05 mm 1.04 mm -2.42 m 0 eV 88 keV 267 um 470 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 172, Parent ID = 166 +* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 120 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.24 mm -2.61 mm -2.44 m 720 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.3 mm 446 um -2.45 m 530 keV 0 eV 6.82 mm 6.82 mm Target compt - 2 -1.84 mm 3.71 mm -2.45 m 435 keV 0 eV 3.63 mm 1.04 cm Target compt - 3 -2.04 mm 4.29 mm -2.45 m 0 eV 88 keV 630 um 1.11 cm Target phot + 0 -1.05 mm 1.04 mm -2.42 m 108 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.05 mm 1.04 mm -2.42 m 0 eV 108 keV 31.4 um 31.4 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 180, Parent ID = 172 +* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 120 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -2.04 mm 4.29 mm -2.45 m 347 keV 0 eV 0 fm 0 fm Target initStep - 1 -2.04 mm 4.3 mm -2.45 m 0 eV 347 keV 184 um 184 um Target eIoni + 0 -931 um 804 um -2.42 m 448 keV 0 eV 0 fm 0 fm Target initStep + 1 -917 um 794 um -2.42 m 0 eV 448 keV 262 um 262 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 179, Parent ID = 172 +* G4Track Information: Particle = gamma, Track ID = 119, Parent ID = 116 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.84 mm 3.71 mm -2.45 m 95.5 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.84 mm 3.71 mm -2.45 m 0 eV 95.5 keV 25.7 um 25.7 um Target eIoni + 0 -1.02 mm 790 um -2.42 m 535 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.27 mm 2.22 mm -2.42 m 190 keV 0 eV 1.49 mm 1.49 mm Target compt + 2 -706 um 1.35 mm -2.42 m 0 eV 88 keV 1.62 mm 3.1 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 178, Parent ID = 172 +* G4Track Information: Particle = e-, Track ID = 128, Parent ID = 119 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.3 mm 446 um -2.45 m 190 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.3 mm 445 um -2.45 m 0 eV 190 keV 75.8 um 75.8 um Target eIoni + 0 -706 um 1.35 mm -2.42 m 102 keV 0 eV 0 fm 0 fm Target initStep + 1 -706 um 1.35 mm -2.42 m 0 eV 102 keV 28.3 um 28.3 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 171, Parent ID = 166 +* G4Track Information: Particle = e-, Track ID = 127, Parent ID = 119 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.9 mm -2.59 mm -2.44 m 460 keV 0 eV 0 fm 0 fm Target initStep - 1 -413 um -7.84 mm -2.45 m 0 eV 88 keV 7.79 mm 7.79 mm Target phot + 0 -1.27 mm 2.22 mm -2.42 m 345 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.27 mm 2.23 mm -2.42 m 0 eV 345 keV 183 um 183 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 181, Parent ID = 171 +* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 116 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -413 um -7.84 mm -2.45 m 372 keV 0 eV 0 fm 0 fm Target initStep - 1 -404 um -7.85 mm -2.45 m 0 eV 372 keV 203 um 203 um Target eIoni + 0 -1 mm 359 um -2.42 m 820 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.74 mm 3.95 mm -2.41 m 196 keV 0 eV 1.29 cm 1.29 cm Target compt + 2 -7.59 mm 3.84 mm -2.41 m 0 eV 88 keV 389 um 1.33 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 170, Parent ID = 166 +* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 118 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.89 mm -2.57 mm -2.44 m 2.85 MeV 0 eV 0 fm 0 fm Target initStep - 1 -5.95 mm -4.73 mm -2.45 m 254 keV 0 eV 7.7 mm 7.7 mm Target compt - 2 -5.92 mm -4.55 mm -2.45 m 234 keV 0 eV 1.74 mm 9.45 mm Target compt - 3 -5.91 mm -4.48 mm -2.45 m 0 eV 88 keV 119 um 9.57 mm Target phot + 0 -7.59 mm 3.84 mm -2.41 m 108 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.59 mm 3.84 mm -2.41 m 0 eV 108 keV 31.2 um 31.2 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 184, Parent ID = 170 +* G4Track Information: Particle = e-, Track ID = 129, Parent ID = 118 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.91 mm -4.48 mm -2.45 m 146 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.91 mm -4.47 mm -2.45 m 0 eV 146 keV 50.8 um 50.8 um Target eIoni + 0 -7.74 mm 3.95 mm -2.41 m 624 keV 0 eV 0 fm 0 fm Target initStep + 1 -7.76 mm 3.96 mm -2.41 m 0 eV 624 keV 406 um 406 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 183, Parent ID = 170 +* G4Track Information: Particle = gamma, Track ID = 117, Parent ID = 116 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.92 mm -4.55 mm -2.45 m 19.1 keV 0 eV 0 fm 0 fm Target initStep - 1 -5.92 mm -4.55 mm -2.45 m 0 eV 19.1 keV 1.9 um 1.9 um Target eIoni + 0 -813 um 392 um -2.42 m 1.97 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.91 cm -514 um -2.41 m 277 keV 0 eV 2.04 cm 2.04 cm Target compt + 2 -1.86 cm -894 um -2.41 m 0 eV 88 keV 664 um 2.1 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 182, Parent ID = 170 +* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 117 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -5.95 mm -4.73 mm -2.45 m 2.59 MeV 0 eV 0 fm 0 fm Target initStep - 1 -6.34 mm -5.07 mm -2.45 m 705 keV 1.89 MeV 1.62 mm 1.62 mm Target eIoni - 2 -6.34 mm -5.05 mm -2.45 m 0 eV 705 keV 474 um 2.09 mm Target eIoni + 0 -1.86 cm -894 um -2.41 m 189 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.86 cm -896 um -2.41 m 0 eV 189 keV 75.4 um 75.4 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 169, Parent ID = 166 +* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 117 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.89 mm -2.33 mm -2.44 m 508 keV 0 eV 0 fm 0 fm Target initStep - 1 576 um -4.74 mm -2.45 m 0 eV 88 keV 6.17 mm 6.17 mm Target phot + 0 -1.91 cm -514 um -2.41 m 1.7 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.92 cm -420 um -2.41 m 1.16 MeV 157 keV 186 um 186 um Target eBrem + 2 -1.93 cm -406 um -2.41 m 0 eV 1.16 MeV 845 um 1.03 mm Target eBrem ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 185, Parent ID = 169 +* G4Track Information: Particle = gamma, Track ID = 133, Parent ID = 131 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 576 um -4.74 mm -2.45 m 420 keV 0 eV 0 fm 0 fm Target initStep - 1 591 um -4.74 mm -2.45 m 0 eV 420 keV 240 um 240 um Target eIoni + 0 -1.92 cm -420 um -2.41 m 383 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.96 cm -183 um -2.41 m 0 eV 88 keV 472 um 472 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 168, Parent ID = 166 +* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 133 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.88 mm -1.25 mm -2.44 m 405 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.83 mm -1.43 mm -2.44 m 168 keV 0 eV 234 um 234 um Target compt - 2 -1.48 mm -933 um -2.44 m 0 eV 88 keV 965 um 1.2 mm Target phot + 0 -1.96 cm -183 um -2.41 m 295 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.96 cm -174 um -2.41 m 0 eV 295 keV 146 um 146 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 187, Parent ID = 168 +* G4Track Information: Particle = e-, Track ID = 115, Parent ID = 4 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.48 mm -933 um -2.44 m 79.7 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.48 mm -933 um -2.44 m 0 eV 79.7 keV 19.1 um 19.1 um Target eIoni + 0 -567 um 93.2 um -2.42 m 9.1 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.03 mm -332 um -2.42 m 6.85 MeV 1.4 MeV 1.32 mm 1.32 mm Target eBrem + 2 -1.41 mm -835 um -2.42 m 4.84 MeV 1.34 MeV 765 um 2.08 mm Target eBrem + 3 -1.18 mm -1.01 mm -2.42 m 3.95 MeV 545 keV 502 um 2.58 mm Target eBrem + 4 -1.16 mm -908 um -2.42 m 2.27 MeV 118 keV 113 um 2.7 mm Target eBrem + 5 -1.16 mm -808 um -2.42 m 1.41 MeV 148 keV 117 um 2.81 mm Target eBrem + 6 -1.28 mm -820 um -2.42 m 35.2 keV 1.37 MeV 1.07 mm 3.88 mm Target eIoni + 7 -1.28 mm -820 um -2.42 m 0 eV 35.2 keV 5.07 um 3.89 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 186, Parent ID = 168 +* G4Track Information: Particle = gamma, Track ID = 139, Parent ID = 115 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.83 mm -1.43 mm -2.44 m 238 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.83 mm -1.43 mm -2.44 m 0 eV 238 keV 106 um 106 um Target eIoni + 0 -1.16 mm -808 um -2.42 m 718 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.97 mm 1.33 cm -2.43 m 0 eV 88 keV 1.64 cm 1.64 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 167, Parent ID = 166 +* G4Track Information: Particle = e-, Track ID = 140, Parent ID = 139 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -921 um 466 um -2.44 m 297 keV 0 eV 0 fm 0 fm Target initStep - 1 -918 um 445 um -2.44 m 0 eV 88 keV 354 um 354 um Target phot + 0 -4.97 mm 1.33 cm -2.43 m 630 keV 0 eV 0 fm 0 fm Target initStep + 1 -4.98 mm 1.33 cm -2.43 m 0 eV 630 keV 411 um 411 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 188, Parent ID = 167 +* G4Track Information: Particle = gamma, Track ID = 138, Parent ID = 115 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -918 um 445 um -2.44 m 209 keV 0 eV 0 fm 0 fm Target initStep - 1 -921 um 443 um -2.44 m 0 eV 209 keV 87.8 um 87.8 um Target eIoni + 0 -1.16 mm -908 um -2.42 m 1.56 MeV 0 eV 0 fm 0 fm Target initStep + 1 -1.66 mm 1.83 cm -2.41 m 1.31 MeV 0 eV 2.2 cm 2.2 cm Target compt + 2 -2.39 mm 2.5 cm -2.41 m 1.31 MeV 0 eV 6.83 mm 2.89 cm Target Transportation + 3 -6.36 mm 6.15 cm -2.4 m 1.31 MeV 0 eV 3.72 cm 6.61 cm World Transportation + 4 -26.1 cm 2.4 m -2 m 1.31 MeV 0 eV 2.39 m 2.45 m Tracker Transportation + 5 -31.7 cm 2.91 m -1.92 m 1.31 MeV 0 eV 52 cm 2.97 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 165, Parent ID = 4 +* G4Track Information: Particle = e-, Track ID = 141, Parent ID = 138 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -920 um 425 um -2.44 m 15.5 MeV 0 eV 0 fm 0 fm Target initStep - 1 -182 um 176 um -2.44 m 12.1 MeV 3.36 MeV 1.97 mm 1.97 mm Target msc - 2 -497 um -602 um -2.44 m 9.23 MeV 2.89 MeV 1.97 mm 3.94 mm Target msc - 3 -642 um -98.2 um -2.44 m 8.05 MeV 741 keV 645 um 4.59 mm Target eBrem - 4 -621 um 25.4 um -2.44 m 7.01 MeV 273 keV 165 um 4.75 mm Target eBrem - 5 210 um 772 um -2.44 m 4.28 MeV 2.3 MeV 1.42 mm 6.17 mm Target eBrem - 6 552 um 261 um -2.44 m 2.27 MeV 1.13 MeV 878 um 7.05 mm Target eBrem - 7 336 um -30.5 um -2.44 m 480 keV 1.79 MeV 1.51 mm 8.56 mm Target eIoni - 8 331 um -42.2 um -2.44 m 0 eV 480 keV 288 um 8.85 mm Target eIoni + 0 -1.66 mm 1.83 cm -2.41 m 248 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.66 mm 1.83 cm -2.41 m 0 eV 248 keV 113 um 113 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 192, Parent ID = 165 +* G4Track Information: Particle = gamma, Track ID = 137, Parent ID = 115 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 552 um 261 um -2.44 m 886 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.33 mm 888 um -2.44 m 762 keV 0 eV 2.01 mm 2.01 mm Target compt - 2 -3.19 mm 895 um -2.44 m 0 eV 88 keV 1.88 mm 3.89 mm Target phot + 0 -1.18 mm -1.01 mm -2.42 m 342 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.67 mm 2.44 mm -2.42 m 0 eV 88 keV 3.75 mm 3.75 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 194, Parent ID = 192 +* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 137 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -3.19 mm 895 um -2.44 m 674 keV 0 eV 0 fm 0 fm Target initStep - 1 -3.22 mm 884 um -2.44 m 0 eV 674 keV 448 um 448 um Target eIoni + 0 -1.67 mm 2.44 mm -2.42 m 254 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.67 mm 2.45 mm -2.42 m 0 eV 254 keV 117 um 117 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 193, Parent ID = 192 +* G4Track Information: Particle = gamma, Track ID = 136, Parent ID = 115 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.33 mm 888 um -2.44 m 124 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.33 mm 890 um -2.44 m 0 eV 124 keV 38.9 um 38.9 um Target eIoni + 0 -1.41 mm -835 um -2.42 m 669 keV 0 eV 0 fm 0 fm Target initStep + 1 -727 um -6.08 mm -2.42 m 558 keV 0 eV 8.26 mm 8.26 mm Target compt + 2 1.47 mm -9.49 mm -2.43 m 0 eV 88 keV 4.46 mm 1.27 cm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 191, Parent ID = 165 +* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 136 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 210 um 772 um -2.44 m 428 keV 0 eV 0 fm 0 fm Target initStep - 1 7.43 mm -1.87 mm -2.44 m 0 eV 88 keV 8.1 mm 8.1 mm Target phot + 0 1.47 mm -9.49 mm -2.43 m 470 keV 0 eV 0 fm 0 fm Target initStep + 1 1.47 mm -9.51 mm -2.43 m 0 eV 470 keV 280 um 280 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 195, Parent ID = 191 +* G4Track Information: Particle = e-, Track ID = 143, Parent ID = 136 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 7.43 mm -1.87 mm -2.44 m 340 keV 0 eV 0 fm 0 fm Target initStep - 1 7.44 mm -1.87 mm -2.44 m 0 eV 340 keV 179 um 179 um Target eIoni + 0 -727 um -6.08 mm -2.42 m 111 keV 0 eV 0 fm 0 fm Target initStep + 1 -728 um -6.08 mm -2.42 m 0 eV 111 keV 32.9 um 32.9 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 190, Parent ID = 165 +* G4Track Information: Particle = gamma, Track ID = 135, Parent ID = 115 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -621 um 25.4 um -2.44 m 770 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.69 mm 1.41 cm -2.44 m 300 keV 0 eV 1.49 cm 1.49 cm Target compt - 2 -1.21 mm 1.44 cm -2.44 m 0 eV 88 keV 1.08 mm 1.6 cm Target phot + 0 -1.03 mm -332 um -2.42 m 854 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.45 mm -1.27 mm -2.42 m 822 keV 0 eV 1.38 mm 1.38 mm Target compt + 2 -5.36 mm -2.41 cm -2.4 m 822 keV 0 eV 2.89 cm 3.02 cm Target Transportation + 3 -41.1 cm -2.4 m -61.8 cm 822 keV 0 eV 3 m 3.03 m Tracker Transportation + 4 -49.8 cm -2.91 m -23.5 cm 822 keV 0 eV 64.3 cm 3.67 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 197, Parent ID = 190 +* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 135 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.21 mm 1.44 cm -2.44 m 212 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.21 mm 1.44 cm -2.44 m 0 eV 212 keV 89.7 um 89.7 um Target eIoni + 0 -1.45 mm -1.27 mm -2.42 m 32.4 keV 0 eV 0 fm 0 fm Target initStep + 1 -1.45 mm -1.27 mm -2.42 m 0 eV 32.4 keV 4.43 um 4.43 um Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 196, Parent ID = 190 +* G4Track Information: Particle = gamma, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -1.69 mm 1.41 cm -2.44 m 470 keV 0 eV 0 fm 0 fm Target initStep - 1 -1.7 mm 1.41 cm -2.44 m 0 eV 470 keV 280 um 280 um Target eIoni + 0 -734 um -55.5 um -2.45 m 49.6 MeV 0 eV 0 fm 0 fm Target initStep + 1 -740 um -44.6 um -2.44 m 0 eV 88 keV 6.62 mm 6.62 mm Target phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 189, Parent ID = 165 +* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 3 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -642 um -98.2 um -2.44 m 442 keV 0 eV 0 fm 0 fm Target initStep - 1 -240 um 1.27 mm -2.44 m 0 eV 88 keV 1.71 mm 1.71 mm Target phot + 0 -740 um -44.6 um -2.44 m 49.5 MeV 0 eV 0 fm 0 fm Target initStep + 1 -772 um -446 um -2.44 m 42.7 MeV 4.43 MeV 2.61 mm 2.61 mm Target eBrem + 2 -729 um -512 um -2.44 m 40.7 MeV 294 keV 230 um 2.84 mm Target eBrem + 3 -631 um -619 um -2.44 m 39.4 MeV 616 keV 507 um 3.35 mm Target eBrem + 4 -590 um -663 um -2.44 m 8.95 MeV 217 keV 182 um 3.53 mm Target eBrem + 5 -579 um -686 um -2.44 m 7.48 MeV 73.6 keV 45.7 um 3.58 mm Target eBrem + 6 306 um -2.12 mm -2.44 m 4.32 MeV 3.17 MeV 2.57 mm 6.14 mm Target eBrem + 7 738 um -1.33 mm -2.44 m 1.51 MeV 2.35 MeV 2.04 mm 8.18 mm Target eBrem + 8 664 um -1.14 mm -2.44 m 255 keV 1.25 MeV 1.14 mm 9.32 mm Target eIoni + 9 664 um -1.14 mm -2.44 m 0 eV 255 keV 118 um 9.44 mm Target eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 198, Parent ID = 189 +* G4Track Information: Particle = gamma, Track ID = 152, Parent ID = 146 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -240 um 1.27 mm -2.44 m 354 keV 0 eV 0 fm 0 fm Target initStep - 1 -234 um 1.29 mm -2.44 m 0 eV 354 keV 190 um 190 um Target eIoni + 0 738 um -1.33 mm -2.44 m 461 keV 0 eV 0 fm 0 fm Target initStep + 1 749 um -1.29 mm -2.44 m 194 keV 0 eV 45.8 um 45.8 um Target compt + 2 513 um -1.21 mm -2.44 m 0 eV 88 keV 519 um 565 um Target phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 154, Parent ID = 152 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -662 um -76.2 um -2.65 m 9.3 keV 0 eV 0 fm 0 fm World initStep - 1 202 um 667 um -2.65 m 3.33 keV 5.97 keV 1.6 mm 1.6 mm World eIoni - 2 288 um 792 um -2.65 m 0 eV 3.33 keV 351 um 1.95 mm World eIoni + 0 513 um -1.21 mm -2.44 m 106 keV 0 eV 0 fm 0 fm Target initStep + 1 511 um -1.2 mm -2.44 m 0 eV 106 keV 30.5 um 30.5 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 153, Parent ID = 152 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 749 um -1.29 mm -2.44 m 266 keV 0 eV 0 fm 0 fm Target initStep + 1 752 um -1.29 mm -2.44 m 0 eV 266 keV 126 um 126 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 151, Parent ID = 146 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -579 um -686 um -2.44 m 1.39 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.34 mm -4.38 mm -2.43 m 792 keV 0 eV 9.09 mm 9.09 mm Target compt + 2 6.15 mm -1.49 cm -2.43 m 0 eV 88 keV 1.17 cm 2.08 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 156, Parent ID = 151 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.15 mm -1.49 cm -2.43 m 704 keV 0 eV 0 fm 0 fm Target initStep + 1 6.16 mm -1.49 cm -2.43 m 0 eV 704 keV 474 um 474 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 155, Parent ID = 151 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.34 mm -4.38 mm -2.43 m 601 keV 0 eV 0 fm 0 fm Target initStep + 1 2.34 mm -4.38 mm -2.43 m 0 eV 601 keV 387 um 387 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 150, Parent ID = 146 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -590 um -663 um -2.44 m 30.3 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.9 mm -2.86 mm -2.43 m 0 eV 0 eV 9.16 mm 9.16 mm Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 158, Parent ID = 150 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.9 mm -2.86 mm -2.43 m 24.4 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.04 mm -3.08 mm -2.43 m 23.4 MeV 677 keV 575 um 575 um Target eBrem + 2 2.09 mm -3.16 mm -2.43 m 20.9 MeV 410 keV 273 um 848 um Target eBrem + 3 2.15 mm -3.19 mm -2.43 m 18.5 MeV 149 keV 140 um 988 um Target eBrem + 4 3.43 mm -1.73 mm -2.43 m 7.71 MeV 4.92 MeV 4.14 mm 5.12 mm Target eBrem + 5 5.11 mm -1.98 mm -2.43 m 4.51 MeV 3.19 MeV 2.65 mm 7.78 mm Target eIoni + 6 6.17 mm -1.5 mm -2.43 m 1.96 MeV 2.55 MeV 2.1 mm 9.87 mm Target eIoni + 7 6.51 mm -1.4 mm -2.43 m 744 keV 1.22 MeV 829 um 1.07 cm Target eBrem + 8 6.52 mm -1.28 mm -2.43 m 204 keV 540 keV 374 um 1.11 cm Target eBrem + 9 6.52 mm -1.28 mm -2.43 m 0 eV 204 keV 81.1 um 1.12 cm Target eIoni + 10 6.52 mm -1.28 mm -2.43 m 0 eV 0 eV 0 fm 1.12 cm Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 164, Parent ID = 158 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.52 mm -1.28 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 7.91 mm -1.78 mm -2.43 m 201 keV 0 eV 1.67 mm 1.67 mm Target compt + 2 7.89 mm -1.78 mm -2.43 m 0 eV 88 keV 25.3 um 1.7 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 166, Parent ID = 164 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 7.89 mm -1.78 mm -2.43 m 113 keV 0 eV 0 fm 0 fm Target initStep + 1 7.89 mm -1.79 mm -2.43 m 0 eV 113 keV 33.8 um 33.8 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 165, Parent ID = 164 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 7.91 mm -1.78 mm -2.43 m 310 keV 0 eV 0 fm 0 fm Target initStep + 1 7.92 mm -1.78 mm -2.43 m 0 eV 310 keV 156 um 156 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 163, Parent ID = 158 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.52 mm -1.28 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 3.13 mm -52.5 um -2.42 m 0 eV 88 keV 4.1 mm 4.1 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 167, Parent ID = 163 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.13 mm -52.5 um -2.42 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 3.12 mm -54.9 um -2.42 m 0 eV 423 keV 242 um 242 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 162, Parent ID = 158 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.43 mm -1.73 mm -2.43 m 5.84 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.04 cm -1.88 mm -2.4 m 5.84 MeV 0 eV 2.76 cm 2.76 cm Target Transportation + 2 21.9 cm -6.28 mm -1.6 m 5.84 MeV 0 eV 82.7 cm 85.4 cm Tracker Transportation + 3 24 cm -6.72 mm -1.52 m 5.84 MeV 0 eV 8.41 cm 93.8 cm Chamber Transportation + 4 42.7 cm -1.07 cm -80 cm 5.84 MeV 0 eV 74.3 cm 1.68 m Tracker Transportation + 5 47.9 cm -1.18 cm -60 cm 5.84 MeV 0 eV 20.7 cm 1.89 m Chamber Transportation + 6 63.6 cm -1.51 cm 0 fm 5.84 MeV 0 eV 62 cm 2.51 m Tracker Transportation + 7 68.8 cm -1.62 cm 20 cm 5.84 MeV 0 eV 20.7 cm 2.71 m Chamber Transportation + 8 84.4 cm -1.95 cm 80 cm 5.84 MeV 0 eV 62 cm 3.33 m Tracker Transportation + 9 89.6 cm -2.06 cm 1 m 5.84 MeV 0 eV 20.7 cm 3.54 m Chamber Transportation + 10 1.05 m -2.39 cm 1.6 m 5.84 MeV 0 eV 62 cm 4.16 m Tracker Transportation + 11 1.1 m -2.5 cm 1.8 m 5.84 MeV 0 eV 20.7 cm 4.37 m Chamber Transportation + 12 1.26 m -2.83 cm 2.4 m 5.84 MeV 0 eV 62 cm 4.99 m Tracker Transportation + 13 1.39 m -3.11 cm 2.91 m 5.84 MeV 0 eV 52.7 cm 5.51 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 161, Parent ID = 158 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.15 mm -3.19 mm -2.43 m 2.24 MeV 0 eV 0 fm 0 fm Target initStep + 1 2.28 mm -3.24 mm -2.43 m 0 eV 0 eV 366 um 366 um Target conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 169, Parent ID = 161 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.28 mm -3.24 mm -2.43 m 811 keV 0 eV 0 fm 0 fm Target initStep + 1 2.31 mm -3.27 mm -2.43 m 0 eV 811 keV 569 um 569 um Target eIoni + 2 2.31 mm -3.27 mm -2.43 m 0 eV 0 eV 0 fm 569 um Target annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 171, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.31 mm -3.27 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 4.39 mm -1.76 cm -2.43 m 0 eV 88 keV 1.47 cm 1.47 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 172, Parent ID = 171 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 4.39 mm -1.76 cm -2.43 m 423 keV 0 eV 0 fm 0 fm Target initStep + 1 4.39 mm -1.76 cm -2.43 m 0 eV 423 keV 242 um 242 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 170, Parent ID = 169 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.31 mm -3.27 mm -2.43 m 511 keV 0 eV 0 fm 0 fm Target initStep + 1 2.02 mm -1.27 mm -2.43 m 306 keV 0 eV 2.05 mm 2.05 mm Target compt + 2 1.82 mm 98.3 um -2.43 m 0 eV 88 keV 2.83 mm 4.88 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 174, Parent ID = 170 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.82 mm 98.3 um -2.43 m 218 keV 0 eV 0 fm 0 fm Target initStep + 1 1.82 mm 103 um -2.43 m 0 eV 218 keV 93.4 um 93.4 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 173, Parent ID = 170 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.02 mm -1.27 mm -2.43 m 205 keV 0 eV 0 fm 0 fm Target initStep + 1 2.02 mm -1.27 mm -2.43 m 0 eV 205 keV 85.2 um 85.2 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 168, Parent ID = 161 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.28 mm -3.24 mm -2.43 m 412 keV 0 eV 0 fm 0 fm Target initStep + 1 2.29 mm -3.24 mm -2.43 m 0 eV 412 keV 233 um 233 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 160, Parent ID = 158 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.09 mm -3.16 mm -2.43 m 2.12 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.36 cm -1.34 cm -2.41 m 282 keV 0 eV 2.57 cm 2.57 cm Target compt + 2 1.31 cm -1.34 cm -2.41 m 0 eV 88 keV 442 um 2.62 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 176, Parent ID = 160 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.31 cm -1.34 cm -2.41 m 194 keV 0 eV 0 fm 0 fm Target initStep + 1 1.31 cm -1.34 cm -2.41 m 0 eV 194 keV 78.2 um 78.2 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 175, Parent ID = 160 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.36 cm -1.34 cm -2.41 m 1.84 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.36 cm -1.34 cm -2.41 m 1.18 MeV 105 keV 97.1 um 97.1 um Target eBrem + 2 1.35 cm -1.32 cm -2.41 m 153 keV 1.02 MeV 526 um 623 um Target eBrem + 3 1.35 cm -1.32 cm -2.41 m 0 eV 153 keV 54.4 um 677 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 177, Parent ID = 175 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.36 cm -1.34 cm -2.41 m 556 keV 0 eV 0 fm 0 fm Target initStep + 1 1.39 cm -1.3 cm -2.41 m 0 eV 88 keV 1.13 mm 1.13 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 178, Parent ID = 177 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.39 cm -1.3 cm -2.41 m 468 keV 0 eV 0 fm 0 fm Target initStep + 1 1.39 cm -1.3 cm -2.41 m 0 eV 468 keV 279 um 279 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 159, Parent ID = 158 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.04 mm -3.08 mm -2.43 m 332 keV 0 eV 0 fm 0 fm Target initStep + 1 2.29 mm -3.4 mm -2.43 m 0 eV 88 keV 932 um 932 um Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 179, Parent ID = 159 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.29 mm -3.4 mm -2.43 m 244 keV 0 eV 0 fm 0 fm Target initStep + 1 2.29 mm -3.4 mm -2.43 m 0 eV 244 keV 110 um 110 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 157, Parent ID = 150 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.9 mm -2.86 mm -2.43 m 4.84 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.9 mm -2.86 mm -2.43 m 3.98 MeV 11.5 keV 4.07 um 4.07 um Target eBrem + 2 1.3 mm -3.32 mm -2.43 m 635 keV 3.34 MeV 1.97 mm 1.98 mm Target eIoni + 3 1.3 mm -3.33 mm -2.43 m 0 eV 635 keV 415 um 2.39 mm Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 180, Parent ID = 157 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.9 mm -2.86 mm -2.43 m 851 keV 0 eV 0 fm 0 fm Target initStep + 1 2.53 mm -3.41 mm -2.43 m 0 eV 88 keV 2.94 mm 2.94 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 181, Parent ID = 180 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 2.53 mm -3.41 mm -2.43 m 763 keV 0 eV 0 fm 0 fm Target initStep + 1 2.51 mm -3.42 mm -2.43 m 0 eV 763 keV 524 um 524 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 149, Parent ID = 146 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -631 um -619 um -2.44 m 671 keV 0 eV 0 fm 0 fm Target initStep + 1 7.9 mm -8.13 mm -2.41 m 0 eV 88 keV 3.44 cm 3.44 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 182, Parent ID = 149 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 7.9 mm -8.13 mm -2.41 m 583 keV 0 eV 0 fm 0 fm Target initStep + 1 7.88 mm -8.13 mm -2.41 m 0 eV 583 keV 372 um 372 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 148, Parent ID = 146 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -729 um -512 um -2.44 m 1.73 MeV 0 eV 0 fm 0 fm Target initStep + 1 -360 um -1.06 mm -2.44 m 1.27 MeV 0 eV 1.89 mm 1.89 mm Target compt + 2 3.39 mm 261 um -2.43 m 295 keV 0 eV 9.95 mm 1.18 cm Target compt + 3 6.53 mm 3.29 mm -2.43 m 190 keV 0 eV 5.79 mm 1.76 cm Target compt + 4 6.84 mm 4.55 mm -2.43 m 0 eV 88 keV 1.74 mm 1.94 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 186, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.84 mm 4.55 mm -2.43 m 102 keV 0 eV 0 fm 0 fm Target initStep + 1 6.84 mm 4.55 mm -2.43 m 0 eV 102 keV 28.3 um 28.3 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 185, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 6.53 mm 3.29 mm -2.43 m 106 keV 0 eV 0 fm 0 fm Target initStep + 1 6.53 mm 3.29 mm -2.43 m 0 eV 106 keV 30.3 um 30.3 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 184, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 3.39 mm 261 um -2.43 m 979 keV 0 eV 0 fm 0 fm Target initStep + 1 3.4 mm 262 um -2.43 m 0 eV 979 keV 708 um 708 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 183, Parent ID = 148 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -360 um -1.06 mm -2.44 m 460 keV 0 eV 0 fm 0 fm Target initStep + 1 -363 um -1.08 mm -2.44 m 0 eV 460 keV 272 um 272 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 147, Parent ID = 146 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -772 um -446 um -2.44 m 2.34 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.06 mm -3.24 mm -2.43 m 1.09 MeV 0 eV 1.08 cm 1.08 cm Target compt + 2 -9.13 mm -2.35 cm -2.41 m 224 keV 0 eV 3.04 cm 4.11 cm Target compt + 3 -9.55 mm -2.15 cm -2.41 m 0 eV 88 keV 2.27 mm 4.34 cm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 189, Parent ID = 147 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -9.55 mm -2.15 cm -2.41 m 136 keV 0 eV 0 fm 0 fm Target initStep + 1 -9.55 mm -2.15 cm -2.41 m 0 eV 136 keV 45.2 um 45.2 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 188, Parent ID = 147 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 -9.13 mm -2.35 cm -2.41 m 862 keV 0 eV 0 fm 0 fm Target initStep + 1 -9.14 mm -2.35 cm -2.41 m 0 eV 862 keV 608 um 608 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 187, Parent ID = 147 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.06 mm -3.24 mm -2.43 m 1.25 MeV 0 eV 0 fm 0 fm Target initStep + 1 1.07 mm -3.24 mm -2.43 m 653 keV 13.5 keV 20.1 um 20.1 um Target eBrem + 2 1.12 mm -3.2 mm -2.43 m 464 keV 190 keV 168 um 188 um Target eBrem + 3 1.11 mm -3.19 mm -2.43 m 0 eV 464 keV 275 um 463 um Target eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 190, Parent ID = 187 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1.07 mm -3.24 mm -2.43 m 583 keV 0 eV 0 fm 0 fm Target initStep + 1 8.72 mm -7.72 mm -2.43 m 0 eV 88 keV 9.61 mm 9.61 mm Target phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 191, Parent ID = 190 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 8.72 mm -7.72 mm -2.43 m 495 keV 0 eV 0 fm 0 fm Target initStep + 1 8.74 mm -7.73 mm -2.43 m 0 eV 495 keV 300 um 300 um Target eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -31.1 um -1.23 um -2.86 m 10.3 keV 0 eV 0 fm 0 fm World initStep - 1 748 um 1.06 mm -2.86 m 3.77 keV 6.5 keV 1.74 mm 1.74 mm World eIoni - 2 831 um 1.14 mm -2.86 m 0 eV 3.77 keV 430 um 2.17 mm World eIoni + 0 -126 um -4.99 um -2.81 m 21.5 keV 0 eV 0 fm 0 fm World initStep + 1 2.72 mm -688 um -2.81 m 18.4 keV 3.09 keV 3.24 mm 3.24 mm World eIoni + 2 3.15 mm -160 um -2.81 m 14.4 keV 3.97 keV 2.8 mm 6.04 mm World eIoni + 3 4.26 mm 1.41 mm -2.81 m 9.48 keV 4.91 keV 2.27 mm 8.31 mm World eIoni + 4 4.14 mm 2.64 mm -2.81 m 6.02 keV 3.46 keV 1.63 mm 9.94 mm World eIoni + 5 4.32 mm 3.01 mm -2.81 m 0 eV 6.02 keV 945 um 1.09 cm World eIoni >>> Event 0 0 trajectories stored in this event. ### Run 1 start. @@ -1995,127 +2033,138 @@ Step# X Y Z KineE dEStep StepLeng TrakLeng Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm -2.91 m 1 TeV 0 eV 0 fm 0 fm World initStep - 1 0 fm 0 fm -2.45 m 1e+03 GeV 105 keV 46 cm 46 cm World Transportation - 2 -32.2 nm -28.5 nm -2.4 m 1e+03 GeV 76.4 MeV 5 cm 51 cm Target Transportation - 3 -46.2 um 3.09 um -1.6 m 1e+03 GeV 198 keV 80 cm 1.31 m Tracker Transportation - 4 -56.3 um 3.72 um -1.43 m 1e+03 GeV 144 keV 17 cm 1.48 m Chamber muIoni - 5 -58 um 3.81 um -1.4 m 1e+03 GeV 19.5 keV 3.04 cm 1.51 m Chamber Transportation - 6 -93 um 5.27 um -80 cm 1e+03 GeV 139 keV 60 cm 2.11 m Tracker Transportation - 7 -105 um 5.59 um -60 cm 1e+03 GeV 170 keV 20 cm 2.31 m Chamber Transportation - 8 -120 um 5.83 um -34.3 cm 1e+03 GeV 58.1 keV 25.7 cm 2.57 m Tracker muIoni - 9 -124 um 5.92 um -26.1 cm 1e+03 GeV 19.8 keV 8.24 cm 2.65 m Tracker muIoni - 10 -139 um 6.17 um 0 fm 1e+03 GeV 75.6 keV 26.1 cm 2.91 m Tracker Transportation - 11 -151 um 6.44 um 20 cm 1e+03 GeV 181 keV 20 cm 3.11 m Chamber Transportation - 12 -183 um 6.72 um 76.5 cm 1e+03 GeV 151 keV 56.5 cm 3.67 m Tracker muIoni - 13 -185 um 6.75 um 80 cm 1e+03 GeV 8.6 keV 3.55 cm 3.71 m Tracker Transportation - 14 -196 um 6.88 um 1 m 1e+03 GeV 165 keV 20 cm 3.91 m Chamber Transportation - 15 -228 um 7.12 um 1.56 m 1e+03 GeV 148 keV 56.4 cm 4.47 m Tracker muIoni - 16 -230 um 7.16 um 1.6 m 1e+03 GeV 8.68 keV 3.59 cm 4.51 m Tracker Transportation - 17 -236 um 7.27 um 1.71 m 1e+03 GeV 112 keV 10.5 cm 4.62 m Chamber muIoni - 18 -241 um 7.45 um 1.8 m 1e+03 GeV 76.1 keV 9.49 cm 4.71 m Chamber Transportation - 19 -274 um 8.61 um 2.4 m 1e+03 GeV 154 keV 60 cm 5.31 m Tracker Transportation - 20 -302 um 9.37 um 2.9 m 1e+03 GeV 130 keV 50 cm 5.81 m World muIoni - 21 -303 um 9.39 um 2.91 m 1e+03 GeV 1.91 keV 9.57 mm 5.82 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -302 um 9.37 um 2.9 m 8.57 keV 0 eV 0 fm 0 fm World initStep - 1 322 um 895 um 2.9 m 187 eV 8.38 keV 1.49 mm 1.49 mm World eIoni - 2 324 um 896 um 2.9 m 0 eV 187 eV 12.6 um 1.5 mm World eIoni + 1 -18.2 nm 79 nm -2.65 m 1e+03 GeV 90.6 keV 26.5 cm 26.5 cm World muIoni + 2 32.9 nm 61.9 nm -2.45 m 1e+03 GeV 47.9 keV 19.5 cm 46 cm World Transportation + 3 43.3 nm 47.5 nm -2.4 m 1e+03 GeV 73.9 MeV 5 cm 51 cm Target Transportation + 4 49.3 um 95.8 um -1.6 m 1e+03 GeV 202 keV 80 cm 1.31 m Tracker Transportation + 5 57.4 um 111 um -1.47 m 1e+03 GeV 139 keV 13 cm 1.44 m Chamber muIoni + 6 61.8 um 120 um -1.4 m 1e+03 GeV 40.7 keV 7.02 cm 1.51 m Chamber Transportation + 7 99.1 um 192 um -80 cm 1e+03 GeV 151 keV 60 cm 2.11 m Tracker Transportation + 8 112 um 216 um -60 cm 1e+03 GeV 185 keV 20 cm 2.31 m Chamber Transportation + 9 149 um 287 um -0.114 fm 1e+03 GeV 134 keV 60 cm 2.91 m Tracker Transportation + 10 149 um 288 um 684 um 1e+03 GeV 97.5 eV 684 um 2.91 m Chamber muIoni + 11 162 um 311 um 20 cm 1e+03 GeV 169 keV 19.9 cm 3.11 m Chamber Transportation + 12 176 um 339 um 43.6 cm 1e+03 GeV 47.7 keV 23.6 cm 3.35 m Tracker muIoni + 13 198 um 382 um 80 cm 1e+03 GeV 70.3 keV 36.4 cm 3.71 m Tracker Transportation + 14 210 um 406 um 1 m 1e+03 GeV 168 keV 20 cm 3.91 m Chamber Transportation + 15 235 um 455 um 1.42 m 1e+03 GeV 113 keV 42.1 cm 4.33 m Tracker muIoni + 16 246 um 476 um 1.6 m 1e+03 GeV 62.4 keV 17.9 cm 4.51 m Tracker Transportation + 17 259 um 500 um 1.8 m 1e+03 GeV 137 keV 20 cm 4.71 m Chamber Transportation + 18 278 um 537 um 2.12 m 1e+03 GeV 75.1 keV 32.2 cm 5.03 m Tracker muIoni + 19 295 um 570 um 2.4 m 1e+03 GeV 85.7 keV 27.8 cm 5.31 m Tracker Transportation + 20 326 um 629 um 2.91 m 1e+03 GeV 111 keV 51 cm 5.82 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -236 um 7.27 um 1.71 m 46.9 keV 0 eV 0 fm 0 fm Chamber initStep - 1 1.76 mm 1.34 mm 1.7 m 20.5 keV 26.4 keV 4.35 mm 4.35 mm Chamber eIoni - 2 983 um 1.76 mm 1.7 m 2.35 keV 18.1 keV 2.08 mm 6.43 mm Chamber eIoni - 3 974 um 1.75 mm 1.7 m 0 eV 2.35 keV 129 um 6.56 mm Chamber eIoni + 0 278 um 537 um 2.12 m 19.3 keV 0 eV 0 fm 0 fm Tracker initStep + 1 2.09 mm 2.39 mm 2.12 m 15 keV 4.29 keV 2.92 mm 2.92 mm Tracker eIoni + 2 2.3 mm 4.27 mm 2.12 m 11.9 keV 3.09 keV 2.35 mm 5.27 mm Tracker eIoni + 3 690 um 4.1 mm 2.12 m 3.95 keV 7.97 keV 1.96 mm 7.23 mm Tracker eIoni + 4 503 um 4.06 mm 2.12 m 0 eV 3.95 keV 464 um 7.69 mm Tracker eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -228 um 7.12 um 1.56 m 78.4 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.86 cm 283 um 1.56 m 71.1 keV 7.29 keV 1.94 cm 1.94 cm Tracker eIoni - 2 -3.41 cm 1.06 mm 1.57 m 62.3 keV 8.81 keV 1.67 cm 3.61 cm Tracker eIoni - 3 -4.28 cm 9.98 mm 1.56 m 55.2 keV 7.12 keV 1.34 cm 4.95 cm Tracker eIoni - 4 -4.8 cm 1.61 cm 1.56 m 49.6 keV 5.55 keV 1.12 cm 6.06 cm Tracker eIoni - 5 -4.92 cm 2.4 cm 1.55 m 43.3 keV 6.32 keV 9.44 mm 7.01 cm Tracker eIoni - 6 -4.94 cm 2.68 cm 1.55 m 33.6 keV 9.75 keV 7.77 mm 7.78 cm Tracker eIoni - 7 -4.7 cm 2.77 cm 1.54 m 28.3 keV 5.23 keV 5.46 mm 8.33 cm Tracker eIoni - 8 -4.82 cm 2.96 cm 1.54 m 21.4 keV 6.97 keV 4.42 mm 8.77 cm Tracker eIoni - 9 -4.93 cm 3.15 cm 1.54 m 18.5 keV 2.91 keV 3.24 mm 9.1 cm Tracker eIoni - 10 -5.08 cm 3.26 cm 1.54 m 14.6 keV 3.84 keV 2.81 mm 9.38 cm Tracker eIoni - 11 -4.92 cm 3.37 cm 1.54 m 10.5 keV 4.17 keV 2.3 mm 9.61 cm Tracker eIoni - 12 -4.91 cm 3.49 cm 1.54 m 6.98 keV 3.47 keV 1.76 mm 9.78 cm Tracker eIoni - 13 -4.87 cm 3.52 cm 1.54 m 0 eV 6.98 keV 1.19 mm 9.9 cm Tracker eIoni + 0 235 um 455 um 1.42 m 231 keV 0 eV 0 fm 0 fm Tracker initStep + 1 -7.84 cm 2.95 mm 1.48 m 203 keV 28.2 keV 10.9 cm 10.9 cm Tracker eIoni + 2 -11.9 cm 1.57 cm 1.55 m 185 keV 17.6 keV 8.81 cm 19.7 cm Tracker eIoni + 3 -16.8 cm 1.64 cm 1.6 m 159 keV 26.1 keV 7.54 cm 27.2 cm Tracker Transportation + 4 -16.8 cm 1.64 cm 1.6 m 159 keV 0 eV 0 fm 27.2 cm Chamber Transportation + 5 -16 cm -1.89 cm 1.56 m 144 keV 14.5 keV 5.94 cm 33.2 cm Tracker eIoni + 6 -14.2 cm -6.38 cm 1.55 m 127 keV 17.3 keV 5.1 cm 38.3 cm Tracker eIoni + 7 -14.7 cm -9.86 cm 1.54 m 113 keV 13.7 keV 4.12 cm 42.4 cm Tracker eIoni + 8 -15.3 cm -11.9 cm 1.51 m 103 keV 10.3 keV 3.43 cm 45.8 cm Tracker eIoni + 9 -15.7 cm -13.5 cm 1.49 m 84.6 keV 18.6 keV 2.92 cm 48.8 cm Tracker eIoni + 10 -16.8 cm -14.5 cm 1.48 m 73.9 keV 10.7 keV 2.12 cm 50.9 cm Tracker eIoni + 11 -16.7 cm -14.9 cm 1.46 m 62.4 keV 11.4 keV 1.7 cm 52.6 cm Tracker eIoni + 12 -17.3 cm -15.8 cm 1.45 m 58.1 keV 4.31 keV 1.3 cm 53.9 cm Tracker eIoni + 13 -17.5 cm -16.8 cm 1.45 m 52.8 keV 5.28 keV 1.17 cm 55 cm Tracker eIoni + 14 -18 cm -17.7 cm 1.45 m 45.6 keV 7.25 keV 1.01 cm 56.1 cm Tracker eIoni + 15 -18.8 cm -17.7 cm 1.46 m 39.1 keV 6.53 keV 8.14 mm 56.9 cm Tracker eIoni + 16 -19.3 cm -17.4 cm 1.46 m 37.2 keV 1.91 keV 6.53 mm 57.5 cm Tracker eIoni + 17 -19.8 cm -17.2 cm 1.45 m 30.8 keV 6.38 keV 6.13 mm 58.1 cm Tracker eIoni + 18 -20 cm -16.8 cm 1.46 m 20.2 keV 10.6 keV 4.81 mm 58.6 cm Tracker eIoni + 19 -20.2 cm -16.6 cm 1.46 m 16.9 keV 3.28 keV 3.05 mm 58.9 cm Tracker eIoni + 20 -20.2 cm -16.5 cm 1.46 m 13.1 keV 3.87 keV 2.6 mm 59.2 cm Tracker eIoni + 21 -20.1 cm -16.5 cm 1.46 m 10.6 keV 2.45 keV 2.1 mm 59.4 cm Tracker eIoni + 22 -20.1 cm -16.5 cm 1.46 m 8.05 keV 2.58 keV 1.79 mm 59.6 cm Tracker eIoni + 23 -20 cm -16.5 cm 1.46 m 4.68 keV 3.37 keV 1.39 mm 59.7 cm Tracker eIoni + 24 -20 cm -16.6 cm 1.46 m 0 eV 4.68 keV 618 um 59.8 cm Tracker eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -183 um 6.72 um 76.5 cm 13.4 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -1.6 mm -722 um 76.4 cm 9.84 keV 3.61 keV 2.15 mm 2.15 mm Tracker eIoni - 2 -2.53 mm -1.27 mm 76.3 cm 4.78 keV 5.06 keV 1.67 mm 3.83 mm Tracker eIoni - 3 -2.68 mm -1.38 mm 76.3 cm 0 eV 4.78 keV 640 um 4.47 mm Tracker eIoni + 0 176 um 339 um 43.6 cm 36.1 keV 0 eV 0 fm 0 fm Tracker initStep + 1 504 um 5 mm 43.9 cm 30.9 keV 5.22 keV 5.91 mm 5.91 mm Tracker eIoni + 2 572 um 9.26 mm 44 cm 27.2 keV 3.65 keV 4.83 mm 1.07 cm Tracker eIoni + 3 2.99 mm 1.17 cm 44.2 cm 21.5 keV 5.74 keV 4.18 mm 1.49 cm Tracker eIoni + 4 4.45 mm 1.37 cm 44.3 cm 15.9 keV 5.64 keV 3.25 mm 1.82 cm Tracker eIoni + 5 5.37 mm 1.46 cm 44.2 cm 4.63 keV 11.2 keV 2.45 mm 2.06 cm Tracker eIoni + 6 5.35 mm 1.48 cm 44.2 cm 0 eV 4.63 keV 607 um 2.12 cm Tracker eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -124 um 5.92 um -26.1 cm 15.3 keV 0 eV 0 fm 0 fm Tracker initStep - 1 -789 um 1.51 mm -25.9 cm 9.11 keV 6.23 keV 2.39 mm 2.39 mm Tracker eIoni - 2 -561 um 2.36 mm -25.9 cm 2.54 keV 6.57 keV 1.57 mm 3.96 mm Tracker eIoni - 3 -610 um 2.3 mm -25.9 cm 0 eV 2.54 keV 226 um 4.19 mm Tracker eIoni + 0 149 um 288 um 684 um 125 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -1.78 mm 2.9 mm 2.21 mm 124 keV 1.95 keV 4.01 mm 4.01 mm Chamber msc + 2 -3.67 mm 5.87 mm 2.86 mm 116 keV 7.4 keV 4.01 mm 8.02 mm Chamber msc + 3 -4.9 mm 8.74 mm 1.21 mm 115 keV 856 eV 4.01 mm 1.2 cm Chamber msc + 4 -5.13 mm 7.97 mm 0.00333 fm 113 keV 2.25 keV 1.64 mm 1.37 cm Chamber Transportation + 5 -1.53 mm -1.6 cm -2.13 cm 96.2 keV 16.8 keV 3.41 cm 4.77 cm Tracker eIoni + 6 2.02 mm -3.78 cm -3.26 cm 80.6 keV 15.6 keV 2.61 cm 7.38 cm Tracker eIoni + 7 1.35 cm -4.48 cm -4.53 cm 62.9 keV 17.7 keV 1.95 cm 9.33 cm Tracker eIoni + 8 1.52 cm -5.21 cm -3.54 cm 52.7 keV 10.2 keV 1.31 cm 10.6 cm Tracker eIoni + 9 1.35 cm -5.23 cm -2.61 cm 46.5 keV 6.26 keV 1.01 cm 11.7 cm Tracker eIoni + 10 1.05 cm -5.46 cm -1.92 cm 43.4 keV 3.09 keV 8.36 mm 12.5 cm Tracker eIoni + 11 5.94 mm -4.97 cm -1.68 cm 38.4 keV 4.93 keV 7.59 mm 13.2 cm Tracker eIoni + 12 -31.2 um -4.97 cm -1.64 cm 34.2 keV 4.24 keV 6.4 mm 13.9 cm Tracker eIoni + 13 -3.25 mm -5.33 cm -1.82 cm 28.6 keV 5.63 keV 5.51 mm 14.4 cm Tracker eIoni + 14 -3.96 mm -5.69 cm -2.01 cm 25.5 keV 3.03 keV 4.42 mm 14.9 cm Tracker eIoni + 15 -6.32 mm -5.81 cm -2.24 cm 21.4 keV 4.1 keV 3.88 mm 15.3 cm Tracker eIoni + 16 -6.32 mm -6.1 cm -2.19 cm 17.7 keV 3.77 keV 3.24 mm 15.6 cm Tracker eIoni + 17 -6.09 mm -6.34 cm -2.18 cm 8.83 keV 8.85 keV 2.7 mm 15.9 cm Tracker eIoni + 18 -6.94 mm -6.41 cm -2.2 cm 872 eV 7.95 keV 1.53 mm 16 cm Tracker eIoni + 19 -6.95 mm -6.41 cm -2.2 cm 0 eV 872 eV 48.8 um 16 cm Tracker eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -120 um 5.83 um -34.3 cm 28.5 keV 0 eV 0 fm 0 fm Tracker initStep - 1 379 um -3.99 mm -34.4 cm 24.6 keV 3.88 keV 4.45 mm 4.45 mm Tracker eIoni - 2 -281 um -6.82 mm -34.2 cm 20.7 keV 3.96 keV 3.75 mm 8.2 mm Tracker eIoni - 3 -1.16 mm -8.88 mm -34 cm 15.7 keV 4.94 keV 3.13 mm 1.13 cm Tracker eIoni - 4 -520 um -1.09 cm -34 cm 12.4 keV 3.31 keV 2.44 mm 1.38 cm Tracker eIoni - 5 238 um -1.21 cm -33.9 cm 5.9 keV 6.53 keV 2.02 mm 1.58 cm Tracker eIoni - 6 11.6 um -1.24 cm -33.9 cm 0 eV 5.9 keV 914 um 1.67 cm Tracker eIoni + 0 57.4 um 111 um -1.47 m 49.1 keV 0 eV 0 fm 0 fm Chamber initStep + 1 -275 um -1.41 mm -1.47 m 41.9 keV 7.16 keV 4.57 mm 4.57 mm Chamber eIoni + 2 -1.73 mm -3.07 mm -1.47 m 35.4 keV 6.55 keV 3.86 mm 8.43 mm Chamber eIoni + 3 -1.96 mm -4.17 mm -1.47 m 22.3 keV 13.1 keV 3.27 mm 1.17 cm Chamber eIoni + 4 -1.59 mm -5.09 mm -1.47 m 11.8 keV 10.5 keV 2.22 mm 1.39 cm Chamber eIoni + 5 -1.62 mm -5.46 mm -1.47 m 3.74 keV 8.07 keV 1.33 mm 1.52 cm Chamber eIoni + 6 -1.61 mm -5.46 mm -1.47 m 0 eV 3.74 keV 249 um 1.55 cm Chamber eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 -56.3 um 3.72 um -1.43 m 335 keV 0 eV 0 fm 0 fm Chamber initStep - 1 1.49 cm 2.86 cm -1.42 m 284 keV 51.2 keV 6.92 cm 6.92 cm Chamber msc - 2 1.2 cm 4.99 cm -1.4 m 240 keV 43.7 keV 5.51 cm 12.4 cm Chamber eIoni - 3 1.31 cm 4.88 cm -1.4 m 238 keV 2.02 keV 4.38 mm 12.9 cm Chamber Transportation - 4 4.25 cm 1.05 mm -1.3 m 196 keV 42.1 keV 12 cm 24.9 cm Tracker eIoni - 5 3.83 cm -3.1 cm -1.22 m 167 keV 29.1 keV 8.74 cm 33.6 cm Tracker eIoni - 6 -1.14 mm 1.8 cm -1.24 m 134 keV 32.5 keV 6.74 cm 40.3 cm Tracker eIoni - 7 -3.34 cm 4.49 cm -1.25 m 121 keV 13.5 keV 4.72 cm 45.1 cm Tracker eIoni - 8 -4.48 cm 7.41 cm -1.27 m 105 keV 15.5 keV 3.95 cm 49 cm Tracker eIoni - 9 -3.45 cm 5.3 cm -1.29 m 92.9 keV 12.2 keV 3.15 cm 52.2 cm Tracker eIoni - 10 -2.45 cm 4.68 cm -1.31 m 75.3 keV 17.6 keV 2.57 cm 54.7 cm Tracker eIoni - 11 -1.33 cm 4.1 cm -1.32 m 61.8 keV 13.5 keV 1.82 cm 56.6 cm Tracker eIoni - 12 -1.82 cm 3.21 cm -1.33 m 54.6 keV 7.21 keV 1.33 cm 57.9 cm Tracker eIoni - 13 -2.19 cm 2.91 cm -1.34 m 45.9 keV 8.67 keV 1.1 cm 59 cm Tracker eIoni - 14 -2.36 cm 2.62 cm -1.35 m 40.6 keV 5.35 keV 8.46 mm 59.8 cm Tracker eIoni - 15 -2.85 cm 2.22 cm -1.35 m 35 keV 5.55 keV 7.04 mm 60.5 cm Tracker eIoni - 16 -3.35 cm 2.06 cm -1.35 m 24.3 keV 10.7 keV 5.78 mm 61.1 cm Tracker eIoni - 17 -3.59 cm 2.29 cm -1.35 m 18.4 keV 5.91 keV 3.7 mm 61.5 cm Tracker eIoni - 18 -3.73 cm 2.34 cm -1.35 m 13.8 keV 4.6 keV 2.8 mm 61.8 cm Tracker eIoni - 19 -3.75 cm 2.48 cm -1.35 m 8.73 keV 5.07 keV 2.2 mm 62 cm Tracker eIoni - 20 -3.76 cm 2.49 cm -1.35 m 347 eV 8.38 keV 1.51 mm 62.1 cm Tracker eIoni - 21 -3.76 cm 2.49 cm -1.35 m 0 eV 347 eV 18.7 um 62.1 cm Tracker eIoni + 0 -18.2 nm 79 nm -2.65 m 62.2 keV 0 eV 0 fm 0 fm World initStep + 1 -5.69 mm -8.29 mm -2.64 m 53 keV 9.17 keV 1.29 cm 1.29 cm World eIoni + 2 -1.29 cm -7.61 mm -2.63 m 47.1 keV 5.94 keV 1.01 cm 2.31 cm World eIoni + 3 -1.99 cm -7.25 mm -2.63 m 35.9 keV 11.1 keV 8.51 mm 3.16 cm World eIoni + 4 -2.42 cm -1.06 cm -2.63 m 31.2 keV 4.72 keV 5.87 mm 3.74 cm World eIoni + 5 -2.6 cm -1.47 cm -2.63 m 25.3 keV 5.91 keV 4.89 mm 4.23 cm World eIoni + 6 -2.45 cm -1.77 cm -2.63 m 19.9 keV 5.36 keV 3.83 mm 4.62 cm World eIoni + 7 -2.34 cm -1.9 cm -2.62 m 15.1 keV 4.86 keV 3.01 mm 4.92 cm World eIoni + 8 -2.49 cm -1.87 cm -2.62 m 11.4 keV 3.69 keV 2.36 mm 5.15 cm World eIoni + 9 -2.47 cm -1.79 cm -2.62 m 7.1 keV 4.28 keV 1.89 mm 5.34 cm World eIoni + 10 -2.49 cm -1.82 cm -2.63 m 1.26 keV 5.85 keV 1.22 mm 5.46 cm World eIoni + 11 -2.49 cm -1.82 cm -2.63 m 0 eV 1.26 keV 78.8 um 5.47 cm World eIoni >>> Event 0 0 trajectories stored in this event. ### Run 2 start. diff --git a/examples/novice/N02/include/ExN02ChamberParameterisation.hh b/examples/novice/N02/include/ExN02ChamberParameterisation.hh index b5729e9cfc..b2b831c55e 100644 --- a/examples/novice/N02/include/ExN02ChamberParameterisation.hh +++ b/examples/novice/N02/include/ExN02ChamberParameterisation.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02ChamberParameterisation.hh,v 1.10 2006/06/29 17:47:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A parameterisation that describes a series of boxes along Z diff --git a/examples/novice/N02/include/ExN02DetectorConstruction.hh b/examples/novice/N02/include/ExN02DetectorConstruction.hh index b1c04077b7..c19968a645 100644 --- a/examples/novice/N02/include/ExN02DetectorConstruction.hh +++ b/examples/novice/N02/include/ExN02DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02DetectorConstruction.hh,v 1.8 2006/06/29 17:47:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02DetectorMessenger.hh b/examples/novice/N02/include/ExN02DetectorMessenger.hh index 275a4d120a..a401abecb7 100644 --- a/examples/novice/N02/include/ExN02DetectorMessenger.hh +++ b/examples/novice/N02/include/ExN02DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02DetectorMessenger.hh,v 1.8 2006/06/29 17:47:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02EventAction.hh b/examples/novice/N02/include/ExN02EventAction.hh index 15d8d39f8b..5eb319e9e2 100644 --- a/examples/novice/N02/include/ExN02EventAction.hh +++ b/examples/novice/N02/include/ExN02EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02EventAction.hh,v 1.8 2006/06/29 17:47:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02MagneticField.hh b/examples/novice/N02/include/ExN02MagneticField.hh index f5c76ef9df..4f81fa9c19 100644 --- a/examples/novice/N02/include/ExN02MagneticField.hh +++ b/examples/novice/N02/include/ExN02MagneticField.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02MagneticField.hh,v 1.7 2006/06/29 17:47:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A class for control of the Magnetic Field of the detector. diff --git a/examples/novice/N02/include/ExN02PhysicsList.hh b/examples/novice/N02/include/ExN02PhysicsList.hh index 22e317c397..0fe00da30f 100644 --- a/examples/novice/N02/include/ExN02PhysicsList.hh +++ b/examples/novice/N02/include/ExN02PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02PhysicsList.hh,v 1.11 2006/06/29 17:47:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh b/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh index bd88895947..ab32770091 100644 --- a/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh +++ b/examples/novice/N02/include/ExN02PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02PrimaryGeneratorAction.hh,v 1.7 2006/06/29 17:47:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02RunAction.hh b/examples/novice/N02/include/ExN02RunAction.hh index a8cecc6d90..5ac50df6d0 100644 --- a/examples/novice/N02/include/ExN02RunAction.hh +++ b/examples/novice/N02/include/ExN02RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02RunAction.hh,v 1.8 2006/06/29 17:47:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02SteppingAction.hh b/examples/novice/N02/include/ExN02SteppingAction.hh index 5c56846919..1f61b25ab9 100644 --- a/examples/novice/N02/include/ExN02SteppingAction.hh +++ b/examples/novice/N02/include/ExN02SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02SteppingAction.hh,v 1.8 2006/06/29 17:47:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02SteppingVerbose.hh b/examples/novice/N02/include/ExN02SteppingVerbose.hh index ef239e09f6..9bbd021da1 100644 --- a/examples/novice/N02/include/ExN02SteppingVerbose.hh +++ b/examples/novice/N02/include/ExN02SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02SteppingVerbose.hh,v 1.8 2006/06/29 17:47:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/novice/N02/include/ExN02TrackerHit.hh b/examples/novice/N02/include/ExN02TrackerHit.hh index baf69a83a6..d25228a276 100644 --- a/examples/novice/N02/include/ExN02TrackerHit.hh +++ b/examples/novice/N02/include/ExN02TrackerHit.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02TrackerHit.hh,v 1.8 2006/06/29 17:47:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/include/ExN02TrackerSD.hh b/examples/novice/N02/include/ExN02TrackerSD.hh index bb8fe4a4c3..3562aeef66 100644 --- a/examples/novice/N02/include/ExN02TrackerSD.hh +++ b/examples/novice/N02/include/ExN02TrackerSD.hh @@ -25,7 +25,7 @@ // // // $Id: ExN02TrackerSD.hh,v 1.7 2006/06/29 17:47:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02ChamberParameterisation.cc b/examples/novice/N02/src/ExN02ChamberParameterisation.cc index 97b8620221..72c3166976 100644 --- a/examples/novice/N02/src/ExN02ChamberParameterisation.cc +++ b/examples/novice/N02/src/ExN02ChamberParameterisation.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02ChamberParameterisation.cc,v 1.9 2006/06/29 17:47:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02DetectorConstruction.cc b/examples/novice/N02/src/ExN02DetectorConstruction.cc index 72362b1488..0119ff7b02 100644 --- a/examples/novice/N02/src/ExN02DetectorConstruction.cc +++ b/examples/novice/N02/src/ExN02DetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN02DetectorConstruction.cc,v 1.18 2006/06/29 17:48:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN02DetectorConstruction.cc,v 1.19 2007/05/11 14:35:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -42,6 +42,8 @@ #include "G4PVPlacement.hh" #include "G4PVParameterised.hh" #include "G4SDManager.hh" +#include "G4GeometryTolerance.hh" +#include "G4GeometryManager.hh" #include "G4UserLimits.hh" @@ -129,9 +131,14 @@ G4VPhysicalVolume* ExN02DetectorConstruction::Construct() //------------------------------ G4double HalfWorldLength = 0.5*fWorldLength; - - solidWorld= new G4Box("world",HalfWorldLength,HalfWorldLength,HalfWorldLength); - logicWorld= new G4LogicalVolume( solidWorld, Air, "World", 0, 0, 0); + + G4GeometryManager::GetInstance()->SetWorldMaximumExtent(fWorldLength); + G4cout << "Computed tolerance = " + << G4GeometryTolerance::GetInstance()->GetSurfaceTolerance()/mm + << " mm" << G4endl; + + solidWorld= new G4Box("world",HalfWorldLength,HalfWorldLength,HalfWorldLength); + logicWorld= new G4LogicalVolume( solidWorld, Air, "World", 0, 0, 0); // Must place the World Physical volume unrotated at (0,0,0). // diff --git a/examples/novice/N02/src/ExN02DetectorMessenger.cc b/examples/novice/N02/src/ExN02DetectorMessenger.cc index a807c93418..0d694d8fb9 100644 --- a/examples/novice/N02/src/ExN02DetectorMessenger.cc +++ b/examples/novice/N02/src/ExN02DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02DetectorMessenger.cc,v 1.11 2006/06/29 17:48:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02EventAction.cc b/examples/novice/N02/src/ExN02EventAction.cc index d54bcad7c5..574d205a23 100644 --- a/examples/novice/N02/src/ExN02EventAction.cc +++ b/examples/novice/N02/src/ExN02EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02EventAction.cc,v 1.11 2006/06/29 17:48:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02MagneticField.cc b/examples/novice/N02/src/ExN02MagneticField.cc index e9a1342d3f..12766a78b8 100644 --- a/examples/novice/N02/src/ExN02MagneticField.cc +++ b/examples/novice/N02/src/ExN02MagneticField.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02MagneticField.cc,v 1.8 2006/06/29 17:48:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // User Field class implementation. // diff --git a/examples/novice/N02/src/ExN02PhysicsList.cc b/examples/novice/N02/src/ExN02PhysicsList.cc index b0a584e446..c6e9e0e034 100644 --- a/examples/novice/N02/src/ExN02PhysicsList.cc +++ b/examples/novice/N02/src/ExN02PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02PhysicsList.cc,v 1.22 2006/06/29 17:48:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc b/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc index 506faffe3a..9e75ebaf2b 100644 --- a/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc +++ b/examples/novice/N02/src/ExN02PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02PrimaryGeneratorAction.cc,v 1.7 2006/06/29 17:48:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02RunAction.cc b/examples/novice/N02/src/ExN02RunAction.cc index 6ef7556910..66531ee4f1 100644 --- a/examples/novice/N02/src/ExN02RunAction.cc +++ b/examples/novice/N02/src/ExN02RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02RunAction.cc,v 1.9 2006/06/29 17:48:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02SteppingAction.cc b/examples/novice/N02/src/ExN02SteppingAction.cc index 08e3274be6..fa22ff3a4a 100644 --- a/examples/novice/N02/src/ExN02SteppingAction.cc +++ b/examples/novice/N02/src/ExN02SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02SteppingAction.cc,v 1.9 2006/06/29 17:48:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02SteppingVerbose.cc b/examples/novice/N02/src/ExN02SteppingVerbose.cc index d85df44e8f..fd430bf176 100644 --- a/examples/novice/N02/src/ExN02SteppingVerbose.cc +++ b/examples/novice/N02/src/ExN02SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02SteppingVerbose.cc,v 1.12 2006/06/29 17:48:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02TrackerHit.cc b/examples/novice/N02/src/ExN02TrackerHit.cc index 54bd84851d..9dc7d83a52 100644 --- a/examples/novice/N02/src/ExN02TrackerHit.cc +++ b/examples/novice/N02/src/ExN02TrackerHit.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02TrackerHit.cc,v 1.10 2006/06/29 17:48:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N02/src/ExN02TrackerSD.cc b/examples/novice/N02/src/ExN02TrackerSD.cc index aad92023b0..ceead7c980 100644 --- a/examples/novice/N02/src/ExN02TrackerSD.cc +++ b/examples/novice/N02/src/ExN02TrackerSD.cc @@ -25,7 +25,7 @@ // // // $Id: ExN02TrackerSD.cc,v 1.9 2006/06/29 17:48:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/History b/examples/novice/N03/History index cba29f775c..016787ce01 100644 --- a/examples/novice/N03/History +++ b/examples/novice/N03/History @@ -1,4 +1,4 @@ -$Id: History,v 1.111 2006/10/26 14:58:59 allison Exp $ +$Id: History,v 1.113 2007/06/13 10:36:39 maire Exp $ -------------------------------------------------- ========================================================= @@ -15,6 +15,12 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +13-06-07 mma (exampleN03-V08-03-01) +- more verbose in rndmSeed.mac + +21-05-07 John Allison (exampleN03-V08-03-00) +- Changed visTutor/exN03Vis12.loop and 13: follows change to /vis/ogl/printEPS. + 26-10-06 John Allison (exampleN03-V08-01-04) - Migrate to new trajectory modeling commands: o vis.mac: Add new trajectory commands and helpful comments. diff --git a/examples/novice/N03/exampleN03.cc b/examples/novice/N03/exampleN03.cc index 6fefc72902..d89668383f 100644 --- a/examples/novice/N03/exampleN03.cc +++ b/examples/novice/N03/exampleN03.cc @@ -25,7 +25,7 @@ // // // $Id: exampleN03.cc,v 1.30 2006/10/26 14:58:24 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/exampleN03.out b/examples/novice/N03/exampleN03.out index 84585c765b..c85ed99138 100644 --- a/examples/novice/N03/exampleN03.out +++ b/examples/novice/N03/exampleN03.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -69,7 +69,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -114,7 +113,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -127,7 +126,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -140,7 +139,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -149,7 +148,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -170,7 +169,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -217,7 +216,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -261,16 +260,16 @@ Index : 2 used in the geometry : Yes recalculation needed : No Current couple of seeds = 9876, 54321 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 268.00612 MeV total track length: 19.083114 cm - Gap: total energy: 23.591628 MeV total track length: 11.752229 cm + Absorber: total energy: 264.2675 MeV total track length: 18.045359 cm + Gap: total energy: 15.152322 MeV total track length: 6.8321887 cm --------------------End of Run------------------------------ - mean Energy in Absorber : 268.00612 MeV +- 0 eV - mean Energy in Gap : 23.591628 MeV +- 0 eV + mean Energy in Absorber : 264.2675 MeV +- 0 eV + mean Energy in Gap : 15.152322 MeV +- 0 eV - mean trackLength in Absorber : 19.083114 cm +- 0 fm - mean trackLength in Gap : 11.752229 cm +- 0 fm + mean trackLength in Absorber : 18.045359 cm +- 0 fm + mean trackLength in Gap : 6.8321887 cm +- 0 fm ------------------------------------------------------------ Transportation, msc, hIoni, eIoni @@ -294,7 +293,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -307,7 +306,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -320,7 +319,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -329,7 +328,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -350,7 +349,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -397,7 +396,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -412,19 +411,19 @@ hIoni: tables are built for pi- --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 889551171, 717724786 + Current couple of seeds = 1253212525, 646045331 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 275.15533 MeV total track length: 19.398203 cm - Gap: total energy: 16.593489 MeV total track length: 8.6559137 cm + Absorber: total energy: 284.30379 MeV total track length: 19.961055 cm + Gap: total energy: 16.718213 MeV total track length: 7.8970321 cm --------------------End of Run------------------------------ - mean Energy in Absorber : 275.15533 MeV +- 0 eV - mean Energy in Gap : 16.593489 MeV +- 0 eV + mean Energy in Absorber : 284.30379 MeV +- 0 eV + mean Energy in Gap : 16.718213 MeV +- 0 eV - mean trackLength in Absorber : 19.398203 cm +- 0 fm - mean trackLength in Gap : 8.6559137 cm +- 0 fm + mean trackLength in Absorber : 19.961055 cm +- 0 fm + mean trackLength in Gap : 7.8970321 cm +- 0 fm ------------------------------------------------------------ @@ -448,7 +447,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -461,7 +460,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -474,7 +473,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -483,7 +482,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -504,7 +503,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -551,7 +550,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -566,18 +565,18 @@ hIoni: tables are built for pi- --------- Ranecu engine status --------- Initial seed (index) = 0 - Current couple of seeds = 809191624, 1207602374 + Current couple of seeds = 881683015, 1721671407 ---------------------------------------- ---> End of event: 0 - Absorber: total energy: 291.88848 MeV total track length: 69.61889 cm - Gap: total energy: 66.027538 MeV total track length: 1.8251736 m + Absorber: total energy: 386.07202 MeV total track length: 91.831752 cm + Gap: total energy: 86.0874 MeV total track length: 2.4638487 m --------------------End of Run------------------------------ - mean Energy in Absorber : 291.88848 MeV +- 0 eV - mean Energy in Gap : 66.027538 MeV +- 0 eV + mean Energy in Absorber : 386.07202 MeV +- 0 eV + mean Energy in Gap : 86.0874 MeV +- 0 eV - mean trackLength in Absorber : 69.61889 cm +- 0 fm - mean trackLength in Gap : 1.8251736 m +- 0 fm + mean trackLength in Absorber : 91.831752 cm +- 0 fm + mean trackLength in Gap : 2.4638487 m +- 0 fm ------------------------------------------------------------ diff --git a/examples/novice/N03/include/ExN03DetectorConstruction.hh b/examples/novice/N03/include/ExN03DetectorConstruction.hh index ca0552a849..1726543f66 100644 --- a/examples/novice/N03/include/ExN03DetectorConstruction.hh +++ b/examples/novice/N03/include/ExN03DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03DetectorConstruction.hh,v 1.7 2006/06/29 17:48:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/include/ExN03DetectorMessenger.hh b/examples/novice/N03/include/ExN03DetectorMessenger.hh index 5531eb53e0..dcb00d96b1 100644 --- a/examples/novice/N03/include/ExN03DetectorMessenger.hh +++ b/examples/novice/N03/include/ExN03DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03DetectorMessenger.hh,v 1.7 2006/06/29 17:48:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/include/ExN03EventAction.hh b/examples/novice/N03/include/ExN03EventAction.hh index 7ec698e2a7..f628fd7723 100644 --- a/examples/novice/N03/include/ExN03EventAction.hh +++ b/examples/novice/N03/include/ExN03EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03EventAction.hh,v 1.11 2006/10/26 14:30:05 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/include/ExN03EventActionMessenger.hh b/examples/novice/N03/include/ExN03EventActionMessenger.hh index 064bfef3b7..455cfba77c 100644 --- a/examples/novice/N03/include/ExN03EventActionMessenger.hh +++ b/examples/novice/N03/include/ExN03EventActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03EventActionMessenger.hh,v 1.9 2006/10/26 14:28:00 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/include/ExN03PhysicsList.hh b/examples/novice/N03/include/ExN03PhysicsList.hh index 4d579de520..c23cca433f 100644 --- a/examples/novice/N03/include/ExN03PhysicsList.hh +++ b/examples/novice/N03/include/ExN03PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03PhysicsList.hh,v 1.12 2006/06/29 17:48:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh b/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh index 470cb27fcf..f7462ae5d9 100644 --- a/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh +++ b/examples/novice/N03/include/ExN03PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03PrimaryGeneratorAction.hh,v 1.7 2006/06/29 17:48:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh b/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh index f32332146d..fd3a5a3f1e 100644 --- a/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh +++ b/examples/novice/N03/include/ExN03PrimaryGeneratorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03PrimaryGeneratorMessenger.hh,v 1.7 2006/06/29 17:48:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/include/ExN03RunAction.hh b/examples/novice/N03/include/ExN03RunAction.hh index 320ab2fb29..b6f6a6185e 100644 --- a/examples/novice/N03/include/ExN03RunAction.hh +++ b/examples/novice/N03/include/ExN03RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03RunAction.hh,v 1.10 2006/06/29 17:48:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/include/ExN03SteppingAction.hh b/examples/novice/N03/include/ExN03SteppingAction.hh index 52ab95d9a7..dc193c41ba 100644 --- a/examples/novice/N03/include/ExN03SteppingAction.hh +++ b/examples/novice/N03/include/ExN03SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03SteppingAction.hh,v 1.9 2006/06/29 17:48:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/include/ExN03SteppingVerbose.hh b/examples/novice/N03/include/ExN03SteppingVerbose.hh index 4bd01ef4cb..54cf40f8f1 100644 --- a/examples/novice/N03/include/ExN03SteppingVerbose.hh +++ b/examples/novice/N03/include/ExN03SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: ExN03SteppingVerbose.hh,v 1.9 2006/06/29 17:48:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/rndmSeed.mac b/examples/novice/N03/rndmSeed.mac index 163a6791c0..8b48e1d646 100644 --- a/examples/novice/N03/rndmSeed.mac +++ b/examples/novice/N03/rndmSeed.mac @@ -1,4 +1,4 @@ -# $Id: rndmSeed.mac,v 1.1 2003/01/27 17:55:47 maire Exp $ +# $Id: rndmSeed.mac,v 1.2 2007/06/13 10:36:39 maire Exp $ # # This macro illustrates how to save and reset the random number seed # @@ -23,12 +23,12 @@ # /run/beamOn 4 # -# restart run 2 +# run3 : restart run 2 # /random/resetEngineFrom currentRun.rndm /run/beamOn 4 # -# restart run 1 +# run4 : restart run 1 # /random/resetEngineFrom run1.rndm /run/beamOn diff --git a/examples/novice/N03/src/ExN03DetectorConstruction.cc b/examples/novice/N03/src/ExN03DetectorConstruction.cc index fcf8da7a56..7b3c061d13 100644 --- a/examples/novice/N03/src/ExN03DetectorConstruction.cc +++ b/examples/novice/N03/src/ExN03DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03DetectorConstruction.cc,v 1.23 2006/06/29 17:48:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/src/ExN03DetectorMessenger.cc b/examples/novice/N03/src/ExN03DetectorMessenger.cc index 443e593308..0fcabc8fa5 100644 --- a/examples/novice/N03/src/ExN03DetectorMessenger.cc +++ b/examples/novice/N03/src/ExN03DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03DetectorMessenger.cc,v 1.10 2006/06/29 17:48:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/src/ExN03EventAction.cc b/examples/novice/N03/src/ExN03EventAction.cc index 3eb5104eb6..83ceaa87ba 100644 --- a/examples/novice/N03/src/ExN03EventAction.cc +++ b/examples/novice/N03/src/ExN03EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03EventAction.cc,v 1.28 2006/10/26 14:30:05 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/src/ExN03EventActionMessenger.cc b/examples/novice/N03/src/ExN03EventActionMessenger.cc index c89cb91f9b..2be7fd2859 100644 --- a/examples/novice/N03/src/ExN03EventActionMessenger.cc +++ b/examples/novice/N03/src/ExN03EventActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03EventActionMessenger.cc,v 1.12 2006/10/26 14:28:00 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/src/ExN03PhysicsList.cc b/examples/novice/N03/src/ExN03PhysicsList.cc index 4afa408e9f..b50b4404df 100644 --- a/examples/novice/N03/src/ExN03PhysicsList.cc +++ b/examples/novice/N03/src/ExN03PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03PhysicsList.cc,v 1.20 2006/06/29 17:49:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc b/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc index cb45059a1b..3fb6141de3 100644 --- a/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc +++ b/examples/novice/N03/src/ExN03PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03PrimaryGeneratorAction.cc,v 1.8 2006/06/29 17:49:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc b/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc index 46d497efd8..d05cf66163 100644 --- a/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc +++ b/examples/novice/N03/src/ExN03PrimaryGeneratorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03PrimaryGeneratorMessenger.cc,v 1.9 2006/06/29 17:49:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/src/ExN03RunAction.cc b/examples/novice/N03/src/ExN03RunAction.cc index 30caa10263..787ce5a71c 100644 --- a/examples/novice/N03/src/ExN03RunAction.cc +++ b/examples/novice/N03/src/ExN03RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03RunAction.cc,v 1.18 2006/06/29 17:49:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/src/ExN03SteppingAction.cc b/examples/novice/N03/src/ExN03SteppingAction.cc index f75d1560d4..70f309dc15 100644 --- a/examples/novice/N03/src/ExN03SteppingAction.cc +++ b/examples/novice/N03/src/ExN03SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03SteppingAction.cc,v 1.15 2006/06/29 17:49:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N03/src/ExN03SteppingVerbose.cc b/examples/novice/N03/src/ExN03SteppingVerbose.cc index 6915e05853..fe05f7ef06 100644 --- a/examples/novice/N03/src/ExN03SteppingVerbose.cc +++ b/examples/novice/N03/src/ExN03SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: ExN03SteppingVerbose.cc,v 1.13 2006/06/29 17:49:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N03/vis.mac b/examples/novice/N03/vis.mac index f8c05f9861..99ee35058b 100644 --- a/examples/novice/N03/vis.mac +++ b/examples/novice/N03/vis.mac @@ -1,3 +1,4 @@ +# $Id: vis.mac,v 1.6 2007/06/13 10:36:39 maire Exp $ # # Macro file for the initialization phase of "exampleN03.cc" # when running in interactive mode @@ -17,7 +18,7 @@ # # Use this open statement to get an .eps and .prim files # suitable for viewing in DAWN. -/vis/open DAWNFILE +###/vis/open DAWNFILE # # Use this open statement instead for OpenGL in immediate mode. /vis/open OGLIX diff --git a/examples/novice/N03/visTutor/exN03Vis12.loop b/examples/novice/N03/visTutor/exN03Vis12.loop index e8f2ee11f4..c03f1d6536 100644 --- a/examples/novice/N03/visTutor/exN03Vis12.loop +++ b/examples/novice/N03/visTutor/exN03Vis12.loop @@ -1,4 +1,4 @@ # exN03Vis12.loop /vis/ogl/set/startTime {startTime} ns {timeRange} ns # Print eps file -#/vis/oglx/printEPS +#/vis/ogl/printEPS diff --git a/examples/novice/N03/visTutor/exN03Vis13.loop b/examples/novice/N03/visTutor/exN03Vis13.loop index 5b1ce9c5d6..486e966db4 100644 --- a/examples/novice/N03/visTutor/exN03Vis13.loop +++ b/examples/novice/N03/visTutor/exN03Vis13.loop @@ -4,4 +4,4 @@ # Force refresh here (since auto-refresh switched off in main mac). /vis/viewer/refresh # Print eps file -#/vis/oglx/printEPS +#/vis/ogl/printEPS diff --git a/examples/novice/N04/History b/examples/novice/N04/History index a8caf9ca66..484334c3e9 100644 --- a/examples/novice/N04/History +++ b/examples/novice/N04/History @@ -1,4 +1,4 @@ -$Id: History,v 1.57 2006/12/12 11:59:13 gcosmo Exp $ +$Id: History,v 1.58 2007/06/14 10:06:20 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,9 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +14-06-07 G.Cosmo (exampleN04-V08-03-00) +- Delete materials and elements when quitting application. + 12-12-06 G.Cosmo (exampleN04-V08-01-08) - Commented out drawing of hits in vis.mac. diff --git a/examples/novice/N04/exampleN04.EMtest.out b/examples/novice/N04/exampleN04.EMtest.out index 29fdefba04..5e4c029ecc 100644 --- a/examples/novice/N04/exampleN04.EMtest.out +++ b/examples/novice/N04/exampleN04.EMtest.out @@ -1,13 +1,13 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -<<< Geant4 Physics List engine packaging library: PACK 5.2 +<<< Geant4 Physics List engine packaging library: PACK 5.3 <<< Geant4 Physics List simulation engine: QGSP 3.3 Visualization Manager instantiating... @@ -18,7 +18,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -60,7 +59,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -73,7 +72,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -86,7 +85,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -95,7 +94,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 0 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -107,14 +106,14 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 @@ -130,7 +129,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 0 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -179,7 +178,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 0 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -192,24 +191,24 @@ hIoni: tables are built for pi- Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 0 - 27 hits are stored in ExN04TrackerHitsCollection. - 4 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.2807564 (GeV) + 6 hits are stored in ExN04TrackerHitsCollection. + 5 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 0.23087518 (GeV) 1 hits are stored in ExN04MuonHitsCollection. ### Run 1 start. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 0 5 hits are stored in ExN04TrackerHitsCollection. - 14 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 3.6472252 (GeV) + 45 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 31.077301 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 1 - 45 hits are stored in ExN04TrackerHitsCollection. - 27 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 7.1095229 (GeV) + 5 hits are stored in ExN04TrackerHitsCollection. + 28 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 15.454959 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/novice/N04/exampleN04.cc b/examples/novice/N04/exampleN04.cc index c69228a8af..7f0352b8b5 100644 --- a/examples/novice/N04/exampleN04.cc +++ b/examples/novice/N04/exampleN04.cc @@ -25,7 +25,7 @@ // // // $Id: exampleN04.cc,v 1.14 2006/12/08 09:34:14 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/examples/novice/N04/exampleN04.out b/examples/novice/N04/exampleN04.out index 9ef57d484a..31567ab3c4 100644 --- a/examples/novice/N04/exampleN04.out +++ b/examples/novice/N04/exampleN04.out @@ -1,13 +1,13 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 ************************************************************* -<<< Geant4 Physics List engine packaging library: PACK 5.2 +<<< Geant4 Physics List engine packaging library: PACK 5.3 <<< Geant4 Physics List simulation engine: QGSP 3.3 Visualization Manager instantiating... @@ -18,7 +18,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -63,7 +62,7 @@ conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV f msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -76,7 +75,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -89,7 +88,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -98,7 +97,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 0 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -110,14 +109,14 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 ionIoni: tables are built for GenericIon dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Scaling relation is used from proton dE/dx and range. Delta cross sections and sampling from BetheBloch model for scaled energy > 2 MeV - Parametrisation from BraggIon for protons below. + Parametrisation from BraggIon for protons below. NuclearStopping 1 Stopping Power data for 8 ion/material pairs are used. Step function: finalRange(mm)= 0.1, dRoverRange= 0.1, integral: 1 @@ -133,7 +132,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 0 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -182,7 +181,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.2 Step limitation 0 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 0 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -236,9 +235,9 @@ Start Run processing. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 0 - 71 hits are stored in ExN04TrackerHitsCollection. - 34 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.54371478 (GeV) + 70 hits are stored in ExN04TrackerHitsCollection. + 38 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 0.64504905 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Stage 0->1 : 0 hits found in the muon chamber. ++++++++ event aborted @@ -250,14 +249,14 @@ Stage 0->1 : 0 hits found in the muon chamber. Stage 0->1 : 1 hits found in the muon chamber. Stage 1->2 : 1 isolated muon found. >>> Event 2 - 41 hits are stored in ExN04TrackerHitsCollection. - 37 hits are stored in ExN04CalorimeterHitsCollection. - Total energy deposition in calorimeter : 0.68554679 (GeV) + 42 hits are stored in ExN04TrackerHitsCollection. + 25 hits are stored in ExN04CalorimeterHitsCollection. + Total energy deposition in calorimeter : 0.55887322 (GeV) 1 hits are stored in ExN04MuonHitsCollection. Run terminated. Run Summary Number of events processed : 3 - User=61.95s Real=62.66s Sys=0.49s + User=10.12s Real=10.7s Sys=0.23s Graphics systems deleted. Visualization Manager deleting... G4 kernel has come to Quit state. diff --git a/examples/novice/N04/include/ExN04CalorimeterROGeometry.hh b/examples/novice/N04/include/ExN04CalorimeterROGeometry.hh index 38a6a1de4e..c77d3906d8 100644 --- a/examples/novice/N04/include/ExN04CalorimeterROGeometry.hh +++ b/examples/novice/N04/include/ExN04CalorimeterROGeometry.hh @@ -28,6 +28,8 @@ #include "G4VReadOutGeometry.hh" +class G4Material; + class ExN04CalorimeterROGeometry : public G4VReadOutGeometry { public: @@ -37,6 +39,7 @@ public: private: G4VPhysicalVolume* Build(); + G4Material* dummyMat; #include "ExN04DetectorParameterDef.hh" diff --git a/examples/novice/N04/include/ExN04DetectorConstruction.hh b/examples/novice/N04/include/ExN04DetectorConstruction.hh index 62f0f25f65..693a4bd76d 100644 --- a/examples/novice/N04/include/ExN04DetectorConstruction.hh +++ b/examples/novice/N04/include/ExN04DetectorConstruction.hh @@ -32,6 +32,7 @@ class G4VPhysicalVolume; class G4Material; +class G4Element; class ExN04DetectorConstruction : public G4VUserDetectorConstruction { @@ -53,6 +54,10 @@ class ExN04DetectorConstruction : public G4VUserDetectorConstruction G4Material* Scinti; G4Material* Lead; + G4Element* H; + G4Element* C; + G4Element* N; + G4Element* O; }; #endif diff --git a/examples/novice/N04/include/ExN04RunAction.hh b/examples/novice/N04/include/ExN04RunAction.hh index 88684ffcb8..62bbd0ead5 100644 --- a/examples/novice/N04/include/ExN04RunAction.hh +++ b/examples/novice/N04/include/ExN04RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN04RunAction.hh,v 1.5 2006/06/29 17:49:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N04/include/ExN04SteppingVerbose.hh b/examples/novice/N04/include/ExN04SteppingVerbose.hh index f32113578e..32d9f379de 100644 --- a/examples/novice/N04/include/ExN04SteppingVerbose.hh +++ b/examples/novice/N04/include/ExN04SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: ExN04SteppingVerbose.hh,v 1.2 2006/06/29 17:50:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This class manages the verbose outputs in G4SteppingManager. // It inherits from G4SteppingVerbose. diff --git a/examples/novice/N04/src/ExN04CalorimeterROGeometry.cc b/examples/novice/N04/src/ExN04CalorimeterROGeometry.cc index 9122027f3e..99c4644f5a 100644 --- a/examples/novice/N04/src/ExN04CalorimeterROGeometry.cc +++ b/examples/novice/N04/src/ExN04CalorimeterROGeometry.cc @@ -45,13 +45,14 @@ ExN04CalorimeterROGeometry::ExN04CalorimeterROGeometry() ExN04CalorimeterROGeometry::ExN04CalorimeterROGeometry(G4String aString) - : G4VReadOutGeometry(aString) + : G4VReadOutGeometry(aString), dummyMat(0) { #include "ExN04DetectorParameterDef.icc" } ExN04CalorimeterROGeometry::~ExN04CalorimeterROGeometry() { + delete dummyMat; } G4VPhysicalVolume* ExN04CalorimeterROGeometry::Build() @@ -59,7 +60,7 @@ G4VPhysicalVolume* ExN04CalorimeterROGeometry::Build() // A dummy material is used to fill the volumes of the readout geometry. // ( It will be allowed to set a NULL pointer in volumes of such virtual // division in future, since this material is irrelevant for tracking.) - G4Material* dummyMat = new G4Material(name="dummyMat", 1., 1.*g/mole, 1.*g/cm3); + dummyMat = new G4Material(name="dummyMat", 1., 1.*g/mole, 1.*g/cm3); //Builds the ReadOut World: G4Box *ROWorldBox = new G4Box("ROWorldBox", expHall_x, expHall_y, expHall_z); diff --git a/examples/novice/N04/src/ExN04DetectorConstruction.cc b/examples/novice/N04/src/ExN04DetectorConstruction.cc index a07cf7b404..648df250eb 100644 --- a/examples/novice/N04/src/ExN04DetectorConstruction.cc +++ b/examples/novice/N04/src/ExN04DetectorConstruction.cc @@ -60,7 +60,18 @@ ExN04DetectorConstruction::ExN04DetectorConstruction() } ExN04DetectorConstruction::~ExN04DetectorConstruction() -{;} +{ + delete Scinti; + delete Silicon; + delete Ar; + delete Lead; + delete Air; + + delete O; + delete N; + delete C; + delete H; +} void ExN04DetectorConstruction::DefineMaterials() { @@ -71,10 +82,10 @@ void ExN04DetectorConstruction::DefineMaterials() G4double a, z, density; G4int nel; - G4Element* H = new G4Element("Hydrogen", "H", z=1., a= 1.01*g/mole); - G4Element* C = new G4Element("Carbon", "C", z=6., a= 12.01*g/mole); - G4Element* N = new G4Element("Nitrogen", "N", z=7., a= 14.01*g/mole); - G4Element* O = new G4Element("Oxygen", "O", z=8., a= 16.00*g/mole); + H = new G4Element("Hydrogen", "H", z=1., a= 1.01*g/mole); + C = new G4Element("Carbon", "C", z=6., a= 12.01*g/mole); + N = new G4Element("Nitrogen", "N", z=7., a= 14.01*g/mole); + O = new G4Element("Oxygen", "O", z=8., a= 16.00*g/mole); Air = new G4Material("Air", density= 1.29*mg/cm3, nel=2); Air->AddElement(N, 70.*perCent); diff --git a/examples/novice/N04/src/ExN04RunAction.cc b/examples/novice/N04/src/ExN04RunAction.cc index 76ec943c1d..5d46b8396c 100644 --- a/examples/novice/N04/src/ExN04RunAction.cc +++ b/examples/novice/N04/src/ExN04RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN04RunAction.cc,v 1.5 2006/06/29 17:51:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N04/src/ExN04SteppingVerbose.cc b/examples/novice/N04/src/ExN04SteppingVerbose.cc index 0917201154..4ec0de246e 100644 --- a/examples/novice/N04/src/ExN04SteppingVerbose.cc +++ b/examples/novice/N04/src/ExN04SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: ExN04SteppingVerbose.cc,v 1.4 2006/06/29 17:51:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N05/History b/examples/novice/N05/History index 33894696ec..85761714e3 100644 --- a/examples/novice/N05/History +++ b/examples/novice/N05/History @@ -1,4 +1,4 @@ -$Id: History,v 1.43 2006/11/18 03:41:51 asaim Exp $ +$Id: History,v 1.46 2007/05/18 15:24:48 mverderi Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,13 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +18th May M. Verderi (exampleN05-V08-03-00) +- remove exampleN05.ref + +11th May 2007 M. Verderi (HEAD) +- migrate to parallel geometry scheme +- add vis.mac + 17th November 2006 Makoto Asai (exampleN05-V08-01-01) - Fix a bug in ExN05CalorimeterSD.cc which was originated from ExN04CalorimeterSD.cc diff --git a/examples/novice/N05/exampleN05.cc b/examples/novice/N05/exampleN05.cc index c7ab7f29b4..43fab1c0d8 100644 --- a/examples/novice/N05/exampleN05.cc +++ b/examples/novice/N05/exampleN05.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleN05.cc,v 1.15 2006/11/03 17:58:49 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: exampleN05.cc,v 1.16 2007/05/11 14:29:16 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- @@ -109,11 +109,9 @@ int main(int argc, char** argv) G4UserSteppingAction* stepping_action = new ExN05SteppingAction; runManager->SetUserAction(stepping_action); - // Inizialize Run manager - // - runManager->Initialize(); - // -- needed for command /param/showSetup: G4RunManagerKernel::GetRunManagerKernel()->RunInitialization(); + // Initialize Run manager + runManager->Initialize(); //---------------- // Visualization: diff --git a/examples/novice/N05/exampleN05.out b/examples/novice/N05/exampleN05.out index 7d4da3fda8..a80bf0ae81 100644 --- a/examples/novice/N05/exampleN05.out +++ b/examples/novice/N05/exampleN05.out @@ -1,7 +1,7 @@ RunManager construction starting.... ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -14,7 +14,9 @@ Declaring region... ... region declared. Setting it the ghostLogical volume... ... succes. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release +############################################################################# + G4VUserPhysicsList::AddTransportation() --- G4CoupledTransportation is used +############################################################################# Instantiating Visualization Manager....... Visualization Manager instantiating... Visualization Manager initialising... @@ -24,7 +26,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -64,7 +65,7 @@ phot: Total cross sections from Sandia parametrisation. msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -77,7 +78,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -90,7 +91,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -107,11 +108,11 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 msc: Model variant of multiple scattering for GenericIon LateralDisplacementFlag= 0 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.2 Step limit type 1 hIoni: tables are built for anti_proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -131,7 +132,7 @@ muIoni: tables are built for mu+ msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muBrems: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -179,10 +180,8 @@ hIoni: tables are built for pi- msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 ### Run 0 start. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 @@ -190,236 +189,190 @@ G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next ma Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.000748 51.7 86.1 1e+03 0.0199 100 100 WorldPhysical eIoni - 2 0.000477 60 100 1e+03 0.00449 16.2 117 DriftChamberPhysical CoupledTransportation - 3 -0.0143 540 900 1e+03 0.0309 933 1.05e+03 WorldPhysical CoupledTransportation - 4 -0.0432 600 1e+03 1e+03 0.0235 117 1.17e+03 Crystal CoupledTransportation - 5 -0.0432 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000748 51.7 86.1 0.00126 0 0 0 WorldPhysical initStep - 1 0.0092 51.6 86.2 0 0.00126 0.079 0.079 WorldPhysical eIoni ->>> Event 0 - 13 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999199676485463 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 60 100 1e+03 0.0215 117 117 DriftChamberPhysical CoupledTransportation - 2 0.103 540 900 1e+03 0.0286 933 1.05e+03 WorldPhysical CoupledTransportation - 3 0.105 547 911 1e+03 0.00255 12.6 1.06e+03 WorldPhysical eIoni - 4 0.106 555 925 1e+03 0.00348 16.4 1.08e+03 WorldPhysical eIoni - 5 0.109 600 1e+03 1e+03 0.0168 87.6 1.17e+03 Crystal CoupledTransportation - 6 0.109 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.106 555 925 0.012 0 0 0 WorldPhysical initStep - 1 0.432 557 924 0.00804 0.00399 2.08 2.08 WorldPhysical eIoni - 2 0.631 557 924 0.00563 0.00123 0.404 2.48 WorldPhysical eIoni - 3 0.557 557 924 0 0.00563 0.897 3.38 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.631 557 924 0.00118 0 0 0 WorldPhysical initStep - 1 0.657 557 924 0 0.00118 0.0724 0.0724 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.105 547 911 0.00147 0 0 0 WorldPhysical initStep - 1 0.106 547 911 0 0.00147 0.0992 0.0992 WorldPhysical eIoni ->>> Event 1 - 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999135852019584 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 60 100 1e+03 0.0251 117 117 DriftChamberPhysical CoupledTransportation - 2 -0.0864 353 589 1e+03 0.0177 570 687 DriftChamberPhysical eIoni - 3 -0.0862 540 900 1e+03 0.0106 363 1.05e+03 WorldPhysical CoupledTransportation - 4 -0.0819 576 960 1e+03 0.0126 70.5 1.12e+03 WorldPhysical eIoni - 5 -0.0752 588 981 1e+03 0.00373 23.6 1.14e+03 WorldPhysical eIoni - 6 -0.0697 600 1e+03 1e+03 0.00392 22.5 1.17e+03 Crystal CoupledTransportation - 7 -0.0697 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0752 588 981 0.00517 0 0 0 WorldPhysical initStep - 1 -0.186 588 981 0.00341 0.000437 0.121 0.121 WorldPhysical eIoni - 2 -0.312 588 981 0 0.00341 0.374 0.495 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.186 588 981 0.00132 0 0 0 WorldPhysical initStep - 1 -0.179 588 981 0 0.00132 0.0848 0.0848 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0819 576 960 0.00189 0 0 0 WorldPhysical initStep - 1 -0.116 576 960 0 0.00189 0.143 0.143 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0864 353 589 0.00147 0 0 0 DriftChamberPhysical initStep - 1 -0.0714 353 589 0.00128 0.000186 0.0536 0.0536 DriftChamberPhysical msc - 2 0.0533 354 589 0 0.00128 0.442 0.496 DriftChamberPhysical eIoni ->>> Event 2 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999917774325586 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00604 24.4 40.6 1e+03 0.0115 47.4 47.4 WorldPhysical eIoni - 2 0.0101 60 100 1e+03 0.0163 69.3 117 DriftChamberPhysical CoupledTransportation - 3 -0.102 540 900 1e+03 0.0321 933 1.05e+03 WorldPhysical CoupledTransportation - 4 -0.12 567 945 1e+03 0.0116 53 1.1e+03 WorldPhysical eIoni - 5 -0.141 600 1e+03 1e+03 0.0149 63.6 1.17e+03 Crystal CoupledTransportation - 6 -0.141 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.12 567 945 0.00267 0 0 0 WorldPhysical initStep - 1 -0.17 567 946 0 0.00267 0.248 0.248 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00604 24.4 40.6 0.00197 0 0 0 WorldPhysical initStep - 1 -0.0583 24.4 40.6 0 0.00197 0.152 0.152 WorldPhysical eIoni ->>> Event 3 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999089227511838 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00101 8.85 14.8 1e+03 0.00444 17.2 17.2 WorldPhysical eIoni - 2 -0.00128 15.7 26.2 1e+03 0.00279 13.4 30.6 WorldPhysical eIoni - 3 -0.00162 18.9 31.5 1e+03 0.000698 6.1 36.7 WorldPhysical eIoni - 4 -0.00505 36.3 60.6 1e+03 0.00586 33.9 70.6 WorldPhysical eIoni - 5 -0.0119 54.7 91.3 1e+03 0.00928 35.8 106 WorldPhysical eIoni - 6 -0.0125 60 100 1e+03 0.00177 10.2 117 DriftChamberPhysical CoupledTransportation - 7 -0.0101 88.9 148 1e+03 0.00193 56.2 173 DriftChamberPhysical eIoni - 8 0.0137 191 319 1e+03 0.00629 199 372 DriftChamberPhysical eIoni - 9 0.0519 540 900 1e+03 0.0208 678 1.05e+03 WorldPhysical CoupledTransportation - 10 0.0505 600 1e+03 1e+03 0.0308 117 1.17e+03 Crystal CoupledTransportation - 11 0.0505 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0137 191 319 0.00145 0 0 0 DriftChamberPhysical initStep - 1 0.0209 191 319 0.00128 0.000166 0.0521 0.0521 DriftChamberPhysical msc - 2 -0.0382 191 318 0 0.00128 0.442 0.494 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0101 88.9 148 0.0013 0 0 0 DriftChamberPhysical initStep - 1 -0.0456 88.9 148 0.0012 0.000104 0.0437 0.0437 DriftChamberPhysical msc - 2 -0.266 89.1 148 0 0.0012 0.399 0.443 DriftChamberPhysical eIoni + 1 -0.000733 51.7 86.1 1e+03 0.0261 100 100 WorldPhysical eIoni + 2 -0.000658 60 100 1e+03 0.00295 16.2 117 DriftChamberPhysical CoupledTransportation + 3 -0.0434 196 327 1e+03 0.00777 264 381 DriftChamberPhysical eIoni + 4 -0.144 540 900 1e+03 0.0217 669 1.05e+03 WorldPhysical CoupledTransportation + 5 -0.148 553 921 1e+03 0.00478 24.8 1.07e+03 WorldPhysical eIoni + 6 -0.151 557 929 1e+03 0.00288 8.96 1.08e+03 WorldPhysical eIoni + 7 -0.188 599 998 1e+03 0.0162 80.7 1.16e+03 WorldPhysical eIoni + 8 -0.189 600 1e+03 1e+03 0.000157 2.09 1.17e+03 Crystal CoupledTransportation + 9 -0.189 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0119 54.7 91.3 0.0026 0 0 0 WorldPhysical initStep - 1 -0.114 54.7 91.3 0 0.0026 0.237 0.237 WorldPhysical eIoni + 0 -0.188 599 998 0.00158 0 0 0 WorldPhysical initStep + 1 -0.15 599 998 0 0.00158 0.11 0.11 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00505 36.3 60.6 0.00159 0 0 0 WorldPhysical initStep - 1 -0.0251 36.4 60.5 0 0.00159 0.11 0.11 WorldPhysical eIoni + 0 -0.151 557 929 0.00763 0 0 0 WorldPhysical initStep + 1 0.438 557 929 0 0.00763 1.39 1.39 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00162 18.9 31.5 0.00315 0 0 0 WorldPhysical initStep - 1 0.141 18.9 31.5 0 0.00315 0.325 0.325 WorldPhysical eIoni + 0 -0.148 553 921 0.00117 0 0 0 WorldPhysical initStep + 1 -0.173 553 921 0 0.00117 0.0719 0.0719 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00128 15.7 26.2 0.00111 0 0 0 WorldPhysical initStep - 1 -0.0158 15.7 26.2 0 0.00111 0.0672 0.0672 WorldPhysical eIoni + 0 -0.0434 196 327 0.00471 0 0 0 DriftChamberPhysical initStep + 1 0.454 196 326 0.00449 0.000223 0.783 0.783 DriftChamberPhysical msc + 2 1.92 197 325 0.00305 0.00144 2.09 2.87 DriftChamberPhysical eIoni + 3 2.67 198 325 0 0.00305 1.51 4.38 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00101 8.85 14.8 0.00202 0 0 0 WorldPhysical initStep - 1 -0.0527 8.82 14.8 0 0.00202 0.158 0.158 WorldPhysical eIoni ->>> Event 4 + 0 -0.000733 51.7 86.1 0.00135 0 0 0 WorldPhysical initStep + 1 -0.0345 51.7 86.1 0 0.00135 0.0878 0.0878 WorldPhysical eIoni +>>> Event 0 12 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999902062622636 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9999010337796921 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0.0069 28.2 47.1 1e+03 0.0148 54.9 54.9 WorldPhysical eIoni + 2 0.0219 60 100 1e+03 0.0129 61.7 117 DriftChamberPhysical CoupledTransportation + 3 0.0837 363 605 1e+03 0.0214 589 706 DriftChamberPhysical eIoni + 4 0.134 540 900 1e+03 0.00953 344 1.05e+03 WorldPhysical CoupledTransportation + 5 0.135 547 911 1e+03 0.00569 13.2 1.06e+03 WorldPhysical eIoni + 6 0.151 579 965 1e+03 0.013 62.2 1.12e+03 WorldPhysical eIoni + 7 0.166 600 1e+03 1e+03 0.0105 41.3 1.17e+03 Crystal CoupledTransportation + 8 0.166 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.151 579 965 0.00505 0 0 0 WorldPhysical initStep + 1 0.149 579 965 0 0.00505 0.733 0.733 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.135 547 911 0.00326 0 0 0 WorldPhysical initStep + 1 -0.0363 547 911 0.00105 0.00221 0.259 0.259 WorldPhysical eIoni + 2 -0.025 547 911 0 0.00105 0.0622 0.321 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0837 363 605 0.00114 0 0 0 DriftChamberPhysical initStep + 1 0.0908 363 605 0.00113 1.75e-05 0.0341 0.0341 DriftChamberPhysical msc + 2 0.0834 363 605 0 0.00113 0.367 0.401 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0069 28.2 47.1 0.00122 0 0 0 WorldPhysical initStep + 1 -0.000618 28.3 47.1 0 0.00122 0.0762 0.0762 WorldPhysical eIoni +>>> Event 1 + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999015737586623 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0.00904 36.6 61 1e+03 0.0125 71.2 71.2 WorldPhysical eIoni + 2 0.00136 60 100 1e+03 0.0125 45.4 117 DriftChamberPhysical CoupledTransportation + 3 -0.0997 540 900 1e+03 0.0311 933 1.05e+03 WorldPhysical CoupledTransportation + 4 -0.147 587 978 1e+03 0.0223 91.3 1.14e+03 WorldPhysical eIoni + 5 -0.156 600 1e+03 1e+03 0.00483 25.3 1.17e+03 Crystal CoupledTransportation + 6 -0.156 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.147 587 978 0.00389 0 0 0 WorldPhysical initStep + 1 -0.17 587 978 0 0.00389 0.465 0.465 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.00904 36.6 61 0.00958 0 0 0 WorldPhysical initStep + 1 0.503 37.8 61.5 0.00596 0.00363 1.72 1.72 WorldPhysical eIoni + 2 0.888 37.8 61.7 0 0.00596 0.988 2.71 WorldPhysical eIoni +>>> Event 2 + 11 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999033013096728 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 60 100 1e+03 0.0315 117 117 DriftChamberPhysical CoupledTransportation + 2 0.15 540 900 1e+03 0.0285 933 1.05e+03 WorldPhysical CoupledTransportation + 3 0.165 600 1e+03 1e+03 0.024 117 1.17e+03 Crystal CoupledTransportation + 4 0.165 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom +>>> Event 3 + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999159444074164 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 60 100 1e+03 0.0235 117 117 DriftChamberPhysical CoupledTransportation + 2 0.0923 540 900 1e+03 0.0314 933 1.05e+03 WorldPhysical CoupledTransportation + 3 0.0865 591 985 1e+03 0.0216 99.6 1.15e+03 WorldPhysical eIoni + 4 0.0874 600 1e+03 1e+03 0.00408 17 1.17e+03 Crystal CoupledTransportation + 5 0.0874 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0865 591 985 0.00246 0 0 0 WorldPhysical initStep + 1 0.00866 591 985 0 0.00246 0.216 0.216 WorldPhysical eIoni +>>> Event 4 + 14 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999169090696226 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -431,137 +384,165 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00156 5.64 18.8 1e+03 0.003 19.6 19.6 WorldPhysical eIoni - 2 0.00906 30 100 1e+03 0.0172 84.8 104 DriftChamberPhysical CoupledTransportation - 3 0.0374 104 345 1e+03 0.00817 256 360 DriftChamberPhysical eIoni - 4 0.0658 270 900 1e+03 0.0216 579 940 WorldPhysical CoupledTransportation - 5 0.0622 300 1e+03 1e+03 0.0195 104 1.04e+03 Crystal CoupledTransportation - 6 0.0622 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + 1 0.0134 24 80 1e+03 0.027 83.6 83.6 WorldPhysical eIoni + 2 0.015 30 100 1e+03 0.00336 20.8 104 DriftChamberPhysical CoupledTransportation + 3 0.0568 175 583 1e+03 0.0137 504 609 DriftChamberPhysical eIoni + 4 0.0443 246 817 1e+03 0.00736 244 853 DriftChamberPhysical eIoni + 5 0.0352 271 900 1e+03 0.00247 87 940 WorldPhysical CoupledTransportation + 6 0.0255 286 951 1e+03 0.00792 53.3 993 WorldPhysical eIoni + 7 0.0247 290 966 1e+03 0.00363 15.6 1.01e+03 WorldPhysical eIoni + 8 0.0198 296 986 1e+03 0.00282 21 1.03e+03 WorldPhysical eIoni + 9 0.0169 301 1e+03 1e+03 0.00349 14.6 1.04e+03 Crystal CoupledTransportation + 10 0.0169 301 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0374 104 345 0.00155 0 0 0 DriftChamberPhysical initStep - 1 -0.0186 104 345 0.00155 0 0.0596 0.0596 DriftChamberPhysical msc - 2 -0.402 103 345 0 0.00155 0.586 0.646 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00156 5.64 18.8 0.00175 0 0 0 WorldPhysical initStep - 1 0.00348 5.59 18.8 0 0.00175 0.128 0.128 WorldPhysical eIoni ->>> Event 0 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999272152111663 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00372 9.88 32.9 1e+03 0.00915 34.4 34.4 WorldPhysical eIoni - 2 0.00456 30 100 1e+03 0.0143 70 104 DriftChamberPhysical CoupledTransportation - 3 0.046 270 900 1e+03 0.0264 835 940 WorldPhysical CoupledTransportation - 4 0.0633 298 994 1e+03 0.0198 98.1 1.04e+03 WorldPhysical eIoni - 5 0.0655 300 1e+03 1e+03 0.000885 6.35 1.04e+03 Crystal CoupledTransportation - 6 0.0655 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0633 298 994 0.00135 0 0 0 WorldPhysical initStep - 1 0.0311 298 994 0 0.00135 0.0876 0.0876 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00372 9.88 32.9 0.00128 0 0 0 WorldPhysical initStep - 1 0.0335 9.86 32.9 0 0.00128 0.0809 0.0809 WorldPhysical eIoni ->>> Event 1 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999926814220212 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 30 100 1e+03 0.0215 104 104 DriftChamberPhysical CoupledTransportation - 2 -0.105 243 811 1e+03 0.0276 742 846 DriftChamberPhysical eIoni - 3 -0.123 270 900 1e+03 0.00327 93.3 940 WorldPhysical CoupledTransportation - 4 -0.125 274 914 1e+03 0.00225 14.7 954 WorldPhysical eIoni - 5 -0.126 276 920 1e+03 0.000854 5.92 960 WorldPhysical eIoni - 6 -0.144 297 989 1e+03 0.0167 72.1 1.03e+03 WorldPhysical eIoni - 7 -0.144 297 989 1e+03 7.4e-05 0.317 1.03e+03 WorldPhysical eIoni - 8 -0.146 300 1e+03 1e+03 0.00221 11.4 1.04e+03 Crystal CoupledTransportation - 9 -0.146 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + 0 0.0198 296 986 0.00114 0 0 0 WorldPhysical initStep + 1 0.0221 296 986 0 0.00114 0.0689 0.0689 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.144 297 989 0.00122 0 0 0 WorldPhysical initStep - 1 -0.116 297 989 0 0.00122 0.0761 0.0761 WorldPhysical eIoni + 0 0.0247 290 966 0.00409 0 0 0 WorldPhysical initStep + 1 0.206 291 966 0 0.00409 0.509 0.509 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.144 297 989 0.00161 0 0 0 WorldPhysical initStep - 1 -0.191 297 989 0 0.00161 0.112 0.112 WorldPhysical eIoni + 0 0.0255 286 951 0.00207 0 0 0 WorldPhysical initStep + 1 -0.0443 286 951 0 0.00207 0.165 0.165 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.126 276 920 0.00383 0 0 0 WorldPhysical initStep - 1 -0.21 276 920 0.00196 0.000868 0.158 0.158 WorldPhysical eIoni - 2 -0.214 276 920 0 0.00196 0.151 0.31 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.21 276 920 0.001 0 0 0 WorldPhysical initStep - 1 -0.199 276 920 0 0.001 0.0581 0.0581 WorldPhysical eIoni + 0 0.0443 246 817 0.00282 0 0 0 DriftChamberPhysical initStep + 1 0.13 245 817 0.00278 3.66e-05 0.174 0.174 DriftChamberPhysical msc + 2 0.425 244 816 0.000603 0.00218 1.39 1.56 DriftChamberPhysical eIoni + 3 0.451 244 816 0 0.000603 0.162 1.72 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.125 274 914 0.00173 0 0 0 WorldPhysical initStep - 1 -0.0824 274 914 0 0.00173 0.126 0.126 WorldPhysical eIoni + 0 0.0568 175 583 0.0373 0 0 0 DriftChamberPhysical initStep + 1 30.8 178 591 0.0311 0.00505 32.5 32.5 DriftChamberPhysical eIoni + 2 43.5 184 605 0.0286 0.00246 20.1 52.6 DriftChamberPhysical eIoni + 3 48.3 187 615 0.0256 0.00188 10.9 63.5 DriftChamberPhysical eIoni + 4 62.1 183 627 0.0217 0.00392 18.9 82.4 DriftChamberPhysical eIoni + 5 73.5 189 633 0.0182 0.00344 14.4 96.8 DriftChamberPhysical eIoni + 6 82.5 190 638 0.0157 0.00254 10.9 108 DriftChamberPhysical eIoni + 7 90.9 190 639 0.0148 0.000903 8.57 116 DriftChamberPhysical eIoni + 8 98.5 190 640 0.0131 0.00163 7.88 124 DriftChamberPhysical eIoni + 9 104 191 643 0.0105 0.0026 6.64 131 DriftChamberPhysical eIoni + 10 107 194 646 0.00953 0.00101 4.93 136 DriftChamberPhysical eIoni + 11 110 196 648 0.0075 0.00203 4.34 140 DriftChamberPhysical eIoni + 12 112 198 649 0.00585 0.00165 3.31 143 DriftChamberPhysical eIoni + 13 115 199 649 0.00398 0.00187 2.61 146 DriftChamberPhysical eIoni + 14 116 199 649 0.00243 0.00155 1.89 148 DriftChamberPhysical eIoni + 15 117 200 649 0 0.00243 1.19 149 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 48.3 187 615 0.00114 0 0 0 DriftChamberPhysical initStep + 1 48.3 187 615 0.000992 0.000151 0.0341 0.0341 DriftChamberPhysical msc + 2 48.3 187 615 0 0.000992 0.305 0.339 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 30.8 178 591 0.0012 0 0 0 DriftChamberPhysical initStep + 1 30.8 178 591 0.00111 8.18e-05 0.0372 0.0372 DriftChamberPhysical msc + 2 30.9 177 591 0 0.00111 0.361 0.398 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.105 243 811 0.00138 0 0 0 DriftChamberPhysical initStep - 1 -0.0808 243 811 0.00133 4.95e-05 0.0479 0.0479 DriftChamberPhysical msc - 2 -0.0138 244 810 0 0.00133 0.468 0.516 DriftChamberPhysical eIoni ->>> Event 2 + 0 0.0134 24 80 0.00157 0 0 0 WorldPhysical initStep + 1 -0.0187 24 80 0 0.00157 0.108 0.108 WorldPhysical eIoni +>>> Event 0 + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9998792540044728 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 -1.77e-05 0.322 1.07 1e+03 0.000154 1.12 1.12 WorldPhysical eIoni + 2 -0.00572 30 100 1e+03 0.0146 103 104 DriftChamberPhysical CoupledTransportation + 3 0.0177 106 354 1e+03 0.00757 265 370 DriftChamberPhysical eIoni + 4 0.024 191 637 1e+03 0.0122 296 665 DriftChamberPhysical eIoni + 5 0.02 270 900 1e+03 0.00933 274 940 WorldPhysical CoupledTransportation + 6 0.0213 276 919 1e+03 0.00709 19.9 959 WorldPhysical eIoni + 7 0.0333 291 969 1e+03 0.0158 52.2 1.01e+03 WorldPhysical eIoni + 8 0.0401 300 1e+03 1e+03 0.00611 32.4 1.04e+03 Crystal CoupledTransportation + 9 0.0401 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0333 291 969 0.00199 0 0 0 WorldPhysical initStep + 1 0.0568 291 969 0 0.00199 0.154 0.154 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0213 276 919 0.00287 0 0 0 WorldPhysical initStep + 1 0.00646 276 919 0 0.00287 0.28 0.28 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.024 191 637 0.00138 0 0 0 DriftChamberPhysical initStep + 1 0.0668 191 637 0.00124 0.000144 0.048 0.048 DriftChamberPhysical msc + 2 0.356 191 637 0 0.00124 0.419 0.467 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0177 106 354 0.00797 0 0 0 DriftChamberPhysical initStep + 1 2.27 109 353 0.0051 0.00287 3.52 3.52 DriftChamberPhysical eIoni + 2 3.74 110 352 0.00251 0.00259 2.31 5.83 DriftChamberPhysical eIoni + 3 4.61 110 352 0 0.00251 1.23 7.05 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.77e-05 0.322 1.07 0.00148 0 0 0 WorldPhysical initStep + 1 0.0399 0.328 1.07 0 0.00148 0.0999 0.0999 WorldPhysical eIoni +>>> Event 1 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999158433995401 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9999115291241477 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -571,43 +552,308 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.000911 3.83 12.8 1e+03 0.00325 13.3 13.3 WorldPhysical eIoni - 2 0.00478 30 100 1e+03 0.0213 91.1 104 DriftChamberPhysical CoupledTransportation - 3 0.289 209 697 1e+03 0.0177 623 728 DriftChamberPhysical eIoni - 4 0.399 270 900 1e+03 0.00723 212 940 WorldPhysical CoupledTransportation - 5 0.406 275 918 1e+03 0.00371 18.8 958 WorldPhysical eIoni - 6 0.434 300 1e+03 1e+03 0.0174 85.7 1.04e+03 Crystal CoupledTransportation - 7 0.434 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + 1 0.0152 27.5 91.6 990 0.0196 95.6 95.6 WorldPhysical eBrem + 2 0.0182 30 100 990 0.00172 8.77 104 DriftChamberPhysical CoupledTransportation + 3 0.297 260 867 990 0.0238 801 905 DriftChamberPhysical eIoni + 4 0.31 270 900 990 0.00119 34.4 940 WorldPhysical CoupledTransportation + 5 0.314 272 908 990 0.00254 8.04 948 WorldPhysical eIoni + 6 0.367 300 1e+03 990 0.0163 96.4 1.04e+03 Crystal CoupledTransportation + 7 0.367 300 1e+03 0 990 0 1.04e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.406 275 918 0.00895 0 0 0 WorldPhysical initStep - 1 1.61 275 918 0.0038 0.00515 1.62 1.62 WorldPhysical eIoni - 2 1.76 275 918 0 0.0038 0.449 2.07 WorldPhysical eIoni + 0 0.314 272 908 0.00167 0 0 0 WorldPhysical initStep + 1 0.288 272 908 0 0.00167 0.119 0.119 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.289 209 697 0.0014 0 0 0 DriftChamberPhysical initStep - 1 0.298 209 697 0.00115 0.000252 0.049 0.049 DriftChamberPhysical msc - 2 0.319 209 697 0 0.00115 0.376 0.425 DriftChamberPhysical eIoni + 0 0.297 260 867 0.00134 0 0 0 DriftChamberPhysical initStep + 1 0.265 260 867 0.00127 6.63e-05 0.0456 0.0456 DriftChamberPhysical msc + 2 0.0558 260 867 0 0.00127 0.436 0.481 DriftChamberPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000911 3.83 12.8 0.00794 0 0 0 WorldPhysical initStep - 1 0.152 4.4 11.9 0.00392 0.00402 1.44 1.44 WorldPhysical eIoni - 2 -0.0204 4.3 11.9 0 0.00392 0.472 1.91 WorldPhysical eIoni ->>> Event 3 + 0 0.0152 27.5 91.6 10.1 0 0 0 WorldPhysical initStep + 1 0.0118 30 100 10.1 0 8.77 8.77 DriftChamberPhysical CoupledTransportation + 2 -0.314 270 900 10.1 0 835 844 WorldPhysical CoupledTransportation + 3 -0.355 300 1e+03 10.1 0 104 948 Crystal CoupledTransportation + 4 -0.355 300 1e+03 10.1 0 0.229 949 Crystal CoupledTransportation + 5 -0.395 329 1.1e+03 0 0 101 1.05e+03 Crystal conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.395 329 1.1e+03 1.81 0 0 0 Crystal initStep + 1 -0.389 329 1.1e+03 1.79 0.0262 0.0661 0.0661 Crystal msc + 2 -0.417 329 1.1e+03 1.75 0.0357 0.0947 0.161 Crystal msc + 3 -0.375 329 1.1e+03 1.71 0.0378 0.0947 0.256 Crystal msc + 4 -0.326 329 1.1e+03 1.67 0.0419 0.0947 0.35 Crystal msc + 5 -0.329 329 1.1e+03 1.48 0.188 0.0947 0.445 Crystal msc + 6 -0.358 329 1.1e+03 1.46 0.0246 0.0947 0.54 Crystal msc + 7 -0.333 330 1.1e+03 1.43 0.034 0.0947 0.635 Crystal msc + 8 -0.325 330 1.1e+03 1.38 0.0402 0.0947 0.729 Crystal msc + 9 -0.284 330 1.1e+03 1.35 0.0342 0.0947 0.824 Crystal msc + 10 -0.289 330 1.1e+03 1.32 0.0331 0.0947 0.919 Crystal msc + 11 -0.364 330 1.1e+03 1.28 0.0397 0.0947 1.01 Crystal msc + 12 -0.4 330 1.1e+03 1.23 0.0475 0.0947 1.11 Crystal msc + 13 -0.425 330 1.1e+03 1.19 0.0403 0.0947 1.2 Crystal msc + 14 -0.362 330 1.1e+03 1.14 0.0461 0.0947 1.3 Crystal msc + 15 -0.307 330 1.1e+03 1.09 0.0518 0.0947 1.39 Crystal msc + 16 -0.247 330 1.1e+03 1.04 0.0501 0.0947 1.49 Crystal msc + 17 -0.161 330 1.1e+03 0.996 0.0462 0.0947 1.58 Crystal msc + 18 -0.0798 330 1.1e+03 0.964 0.0317 0.0947 1.68 Crystal msc + 19 -0.0203 330 1.1e+03 0.933 0.0316 0.0947 1.77 Crystal msc + 20 6.21e-16 330 1.1e+03 0.926 0.00711 0.034 1.81 Crystal CoupledTransportation + 21 0.0112 330 1.1e+03 0.914 0.0115 0.0301 1.84 Crystal msc + 22 0.029 330 1.1e+03 0.895 0.0196 0.0301 1.87 Crystal msc + 23 0.0454 330 1.1e+03 0.881 0.0134 0.0301 1.9 Crystal msc + 24 0.074 330 1.1e+03 0.865 0.0162 0.0301 1.93 Crystal msc + 25 0.102 330 1.1e+03 0.852 0.0132 0.0301 1.96 Crystal msc + 26 0.127 330 1.1e+03 0.83 0.0217 0.0301 1.99 Crystal msc + 27 0.154 330 1.1e+03 0.82 0.00988 0.0301 2.02 Crystal msc + 28 0.172 330 1.1e+03 0.815 0.00506 0.0301 2.05 Crystal msc + 29 0.2 330 1.1e+03 0.797 0.0183 0.0301 2.08 Crystal msc + 30 0.231 330 1.1e+03 0.786 0.0111 0.0339 2.11 Crystal msc + 31 0.263 330 1.1e+03 0.767 0.0189 0.0397 2.15 Crystal msc + 32 0.302 330 1.1e+03 0.75 0.0164 0.0457 2.2 Crystal msc + 33 0.349 330 1.1e+03 0.721 0.0294 0.0519 2.25 Crystal msc + 34 0.398 330 1.1e+03 0.71 0.0111 0.0597 2.31 Crystal msc + 35 0.389 330 1.1e+03 0.637 0.073 0.069 2.38 Crystal msc + 36 0.374 330 1.1e+03 0.61 0.0264 0.0783 2.45 Crystal msc + 37 0.372 330 1.1e+03 0.587 0.0235 0.0783 2.53 Crystal msc + 38 0.326 330 1.1e+03 0.555 0.0318 0.0783 2.61 Crystal msc + 39 0.274 330 1.1e+03 0.524 0.0315 0.0783 2.69 Crystal msc + 40 0.218 330 1.1e+03 0.469 0.0547 0.0783 2.77 Crystal msc + 41 0.22 330 1.1e+03 0.392 0.0775 0.0783 2.85 Crystal msc + 42 0.28 330 1.1e+03 0.342 0.0493 0.0783 2.92 Crystal msc + 43 0.321 330 1.1e+03 0.303 0.0389 0.0783 3 Crystal msc + 44 0.373 330 1.1e+03 0.262 0.0416 0.0783 3.08 Crystal msc + 45 0.327 330 1.1e+03 0.216 0.0461 0.0783 3.16 Crystal msc + 46 0.336 330 1.1e+03 0 0.216 0.193 3.35 Crystal eIoni + 47 0.336 330 1.1e+03 0 0 0 3.35 Crystal annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.336 330 1.1e+03 0.511 0 0 0 Crystal initStep + 1 4.92 330 1.09e+03 0 0.0332 11.6 11.6 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 8 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 4.92 330 1.09e+03 0.478 0 0 0 Crystal initStep + 1 4.92 330 1.09e+03 0.477 0.00124 0.0128 0.0128 Crystal msc + 2 4.93 330 1.09e+03 0 0.477 0.637 0.65 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.336 330 1.1e+03 0.511 0 0 0 Crystal initStep + 1 -1.22e-15 330 1.1e+03 0.511 0 0.855 0.855 Crystal CoupledTransportation + 2 -0.37 330 1.1e+03 0 0.0332 0.939 1.79 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.37 330 1.1e+03 0.478 0 0 0 Crystal initStep + 1 -0.373 330 1.1e+03 0.473 0.00526 0.0128 0.0128 Crystal msc + 2 -0.415 330 1.1e+03 0.426 0.0465 0.0919 0.105 Crystal msc + 3 -0.446 330 1.1e+03 0.212 0.214 0.0919 0.197 Crystal msc + 4 -0.445 330 1.1e+03 0 0.212 0.197 0.394 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.395 329 1.1e+03 7.28 0 0 0 Crystal initStep + 1 -0.48 329 1.1e+03 6.99 0.292 0.592 0.592 Crystal msc + 2 -0.391 330 1.1e+03 6.28 0.708 0.592 1.18 Crystal msc + 3 -0.562 330 1.1e+03 5.96 0.32 0.592 1.77 Crystal msc + 4 -0.383 330 1.1e+03 5.71 0.25 0.592 2.37 Crystal msc + 5 -0.173 329 1.1e+03 5.45 0.261 0.592 2.96 Crystal msc + 6 1.61e-15 329 1.1e+03 5.26 0.191 0.459 3.42 Crystal CoupledTransportation + 7 0.0669 329 1.1e+03 5.14 0.063 0.223 3.64 Crystal eBrem + 8 0.0381 329 1.1e+03 4.95 0.188 0.31 3.95 Crystal msc + 9 1.53e-16 329 1.1e+03 4.86 0.09 0.19 4.14 Crystal CoupledTransportation + 10 1.53e-16 329 1.1e+03 4.86 0 0 4.14 Crystal CoupledTransportation + 11 0.0102 329 1.1e+03 4.72 0.143 0.267 4.41 Crystal msc + 12 0.239 329 1.1e+03 4.6 0.119 0.267 4.67 Crystal msc + 13 0.396 329 1.1e+03 4.47 0.128 0.267 4.94 Crystal msc + 14 0.518 330 1.1e+03 4.35 0.117 0.267 5.21 Crystal msc + 15 0.623 330 1.1e+03 4.25 0.106 0.267 5.47 Crystal msc + 16 0.653 330 1.1e+03 3.12 0.0283 0.0836 5.56 Crystal eBrem + 17 0.695 330 1.1e+03 2.25 0.118 0.245 5.8 Crystal eBrem + 18 0.882 330 1.1e+03 2.15 0.0972 0.267 6.07 Crystal msc + 19 0.993 330 1.1e+03 2.06 0.0983 0.267 6.34 Crystal msc + 20 0.909 330 1.1e+03 1.9 0.159 0.267 6.6 Crystal msc + 21 0.715 330 1.1e+03 1.7 0.193 0.267 6.87 Crystal msc + 22 0.685 330 1.1e+03 1.39 0.316 0.267 7.14 Crystal msc + 23 0.694 330 1.1e+03 1.28 0.106 0.267 7.41 Crystal msc + 24 0.56 330 1.1e+03 0.962 0.32 0.267 7.67 Crystal msc + 25 0.641 331 1.1e+03 0.857 0.105 0.267 7.94 Crystal msc + 26 0.682 331 1.1e+03 0.716 0.141 0.267 8.21 Crystal msc + 27 0.616 331 1.1e+03 0.566 0.149 0.267 8.47 Crystal msc + 28 0.51 331 1.1e+03 0.39 0.176 0.267 8.74 Crystal msc + 29 0.427 331 1.1e+03 0.235 0.155 0.267 9.01 Crystal msc + 30 0.392 331 1.1e+03 0.0642 0.171 0.136 9.14 Crystal eBrem + 31 0.392 331 1.1e+03 0 0.0642 0.0284 9.17 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 13, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.695 330 1.1e+03 0.753 0 0 0 Crystal initStep + 1 12 350 1.1e+03 0.753 0 23 23 Crystal CoupledTransportation + 2 18.2 361 1.1e+03 0.561 0 12.4 35.4 Crystal compt + 3 46.5 372 1.11e+03 0.302 0 31.2 66.6 Crystal compt + 4 49.2 371 1.1e+03 0.243 0 5.26 71.8 Crystal compt + 5 50 372 1.1e+03 0.243 0 1.68 73.5 Crystal CoupledTransportation + 6 58.6 385 1.09e+03 0 0.0332 18.7 92.2 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 13 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 58.6 385 1.09e+03 0.21 0 0 0 Crystal initStep + 1 58.6 385 1.09e+03 0.208 0.00216 0.00386 0.00386 Crystal msc + 2 58.6 385 1.09e+03 0 0.208 0.19 0.194 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 13 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 49.2 371 1.1e+03 0.0588 0 0 0 Crystal initStep + 1 49.2 371 1.1e+03 0.0585 0.000234 0.000493 0.000493 Crystal msc + 2 49.2 371 1.1e+03 0 0.0585 0.0245 0.025 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 13 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 46.5 372 1.11e+03 0.259 0 0 0 Crystal initStep + 1 46.6 372 1.11e+03 0.258 0.000524 0.00531 0.00531 Crystal msc + 2 46.6 372 1.11e+03 0 0.258 0.265 0.27 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 13 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 18.2 361 1.1e+03 0.193 0 0 0 Crystal initStep + 1 18.2 361 1.1e+03 0.192 0.000556 0.00338 0.00338 Crystal msc + 2 18.2 361 1.1e+03 0 0.192 0.168 0.172 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 12, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.653 330 1.1e+03 1.1 0 0 0 Crystal initStep + 1 7.67 347 1.08e+03 0.67 0 24.7 24.7 Crystal compt + 2 22.1 347 1.04e+03 0.64 0 47.8 72.5 Crystal compt + 3 28.1 344 1.03e+03 0.295 0 14.4 86.9 Crystal compt + 4 23.2 350 1.02e+03 0.295 0 9.04 95.9 Crystal CoupledTransportation + 5 22.2 351 1.02e+03 0.289 0 1.86 97.8 Crystal compt + 6 17.4 363 1.02e+03 0.151 0 13.7 112 Crystal compt + 7 15.9 361 1.02e+03 0 0.0332 2.8 114 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 12 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 15.9 361 1.02e+03 0.118 0 0 0 Crystal initStep + 1 15.9 361 1.02e+03 0.117 0.000276 0.00155 0.00155 Crystal msc + 2 15.9 361 1.02e+03 0 0.117 0.077 0.0785 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 12 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 17.4 363 1.02e+03 0.138 0 0 0 Crystal initStep + 1 17.4 363 1.02e+03 0.138 0.000255 0.002 0.002 Crystal msc + 2 17.4 363 1.02e+03 0 0.138 0.0998 0.102 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 12 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 22.2 351 1.02e+03 0.00612 0 0 0 Crystal initStep + 1 22.2 351 1.02e+03 0.00612 0 1.24e-05 1.24e-05 Crystal msc + 2 22.2 351 1.02e+03 0 0.00612 0.000622 0.000635 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 12 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 28.1 344 1.03e+03 0.345 0 0 0 Crystal initStep + 1 28.1 344 1.03e+03 0.336 0.00973 0.00813 0.00813 Crystal msc + 2 28.1 344 1.03e+03 0 0.336 0.39 0.398 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 12 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 22.1 347 1.04e+03 0.0302 0 0 0 Crystal initStep + 1 22.1 347 1.04e+03 0.03 0.000179 0.000162 0.000162 Crystal msc + 2 22.1 347 1.04e+03 0 0.03 0.008 0.00817 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 12 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 7.67 347 1.08e+03 0.426 0 0 0 Crystal initStep + 1 7.67 347 1.08e+03 0.417 0.00921 0.0109 0.0109 Crystal msc + 2 7.67 347 1.08e+03 0 0.417 0.529 0.54 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 11, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0669 329 1.1e+03 0.0626 0 0 0 Crystal initStep + 1 0.103 329 1.1e+03 0 0.0332 0.314 0.314 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 11 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.103 329 1.1e+03 0.0294 0 0 0 Crystal initStep + 1 0.103 329 1.1e+03 0.0293 0.000128 0.000155 0.000155 Crystal msc + 2 0.103 329 1.1e+03 0 0.0293 0.0077 0.00785 Crystal eIoni +>>> Event 2 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999110607242855 (GeV) + Total energy deposition in EM calorimeter crytals : 0.999931738278647 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -617,49 +863,91 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00319 14.6 48.5 1e+03 0.0122 50.7 50.7 WorldPhysical eIoni - 2 -0.000778 30 100 1e+03 0.0102 53.7 104 DriftChamberPhysical CoupledTransportation - 3 -0.0409 270 900 1e+03 0.0278 835 940 WorldPhysical CoupledTransportation - 4 -0.0403 270 901 1e+03 7.76e-05 1.42 941 WorldPhysical eIoni - 5 -0.0344 274 914 1e+03 0.00203 13.3 954 WorldPhysical eIoni - 6 -0.00362 295 985 1e+03 0.0168 73.9 1.03e+03 WorldPhysical eIoni - 7 0.00745 300 1e+03 1e+03 0.00374 15.7 1.04e+03 Crystal CoupledTransportation - 8 0.00745 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + 1 0 30 100 1e+03 0.0199 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.115 270 900 1e+03 0.0309 835 940 WorldPhysical CoupledTransportation + 3 -0.151 298 994 1e+03 0.015 98.4 1.04e+03 WorldPhysical eIoni + 4 -0.155 300 1e+03 1e+03 0.000745 6 1.04e+03 Crystal CoupledTransportation + 5 -0.155 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.151 298 994 0.0169 0 0 0 WorldPhysical initStep + 1 1.09 298 994 0.0152 0.00178 1.44 1.44 WorldPhysical msc + 2 2.4 298 994 0.0135 0.00165 1.44 2.87 WorldPhysical msc + 3 2.62 297 994 0.0107 0.000451 0.269 3.14 WorldPhysical eIoni + 4 3.49 296 995 0.00642 0.00424 1.88 5.03 WorldPhysical eIoni + 5 2.91 296 995 0.00329 0.00313 1.11 6.14 WorldPhysical eIoni + 6 2.98 296 995 0 0.00329 0.35 6.49 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 2.62 297 994 0.0024 0 0 0 WorldPhysical initStep + 1 2.62 297 994 0 0.0024 0.209 0.209 WorldPhysical eIoni +>>> Event 3 + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999916604558161 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0.000296 24.2 80.6 1e+03 0.021 84.1 84.1 WorldPhysical eIoni + 2 0.00219 30 100 1e+03 0.00745 20.3 104 DriftChamberPhysical CoupledTransportation + 3 0.00667 45.3 151 1e+03 0.00219 53.3 158 DriftChamberPhysical eIoni + 4 0.0175 74.4 248 1e+03 0.00304 101 259 DriftChamberPhysical eIoni + 5 0.071 223 744 1e+03 0.0175 518 777 DriftChamberPhysical eIoni + 6 0.0945 270 900 1e+03 0.00546 163 940 WorldPhysical CoupledTransportation + 7 0.1 300 1e+03 1e+03 0.0218 104 1.04e+03 Crystal CoupledTransportation + 8 0.1 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00362 295 985 0.0013 0 0 0 WorldPhysical initStep - 1 -0.0266 295 985 0 0.0013 0.0831 0.0831 WorldPhysical eIoni + 0 0.071 223 744 0.00198 0 0 0 DriftChamberPhysical initStep + 1 0.131 223 744 0.00188 9.29e-05 0.0939 0.0939 DriftChamberPhysical msc + 2 0.637 224 744 0 0.00188 0.801 0.895 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0344 274 914 0.00155 0 0 0 WorldPhysical initStep - 1 -0.0761 274 914 0 0.00155 0.107 0.107 WorldPhysical eIoni + 0 0.0175 74.4 248 0.00255 0 0 0 DriftChamberPhysical initStep + 1 0.11 74.5 248 0.00248 6.78e-05 0.149 0.149 DriftChamberPhysical msc + 2 0.499 75.6 248 0.000682 0.0018 1.21 1.36 DriftChamberPhysical eIoni + 3 0.548 75.7 248 0 0.000682 0.188 1.55 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0403 270 901 0.00108 0 0 0 WorldPhysical initStep - 1 -0.0624 270 901 0 0.00108 0.0643 0.0643 WorldPhysical eIoni + 0 0.00667 45.3 151 0.00127 0 0 0 DriftChamberPhysical initStep + 1 -0.0218 45.3 151 0.00111 0.000157 0.0423 0.0423 DriftChamberPhysical msc + 2 -0.132 45.5 151 0 0.00111 0.36 0.403 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00319 14.6 48.5 0.00179 0 0 0 WorldPhysical initStep - 1 0.0536 14.6 48.6 0 0.00179 0.132 0.132 WorldPhysical eIoni + 0 0.000296 24.2 80.6 0.00111 0 0 0 WorldPhysical initStep + 1 -0.0254 24.2 80.6 0 0.00111 0.0667 0.0667 WorldPhysical eIoni >>> Event 4 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999213408313555 (GeV) + 6 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999914684685843 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -671,44 +959,51 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -30 100 1e+03 0.0214 104 104 DriftChamberPhysical CoupledTransportation - 2 -0.0101 -51.8 173 1e+03 0.00179 76 180 DriftChamberPhysical eIoni - 3 -0.0188 -75.3 251 1e+03 0.00332 81.8 262 DriftChamberPhysical eIoni - 4 -0.0491 -250 833 1e+03 0.0208 608 870 DriftChamberPhysical eIoni - 5 -0.0609 -270 900 1e+03 0.00291 69.9 940 WorldPhysical CoupledTransportation - 6 -0.0772 -300 1e+03 1e+03 0.0236 104 1.04e+03 Crystal CoupledTransportation - 7 -0.0772 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + 1 0 -30 100 1e+03 0.0206 104 104 DriftChamberPhysical CoupledTransportation + 2 0.00951 -69.1 230 1e+03 0.00604 136 241 DriftChamberPhysical eIoni + 3 0.0603 -270 900 1e+03 0.0219 699 940 WorldPhysical CoupledTransportation + 4 0.0577 -280 932 1e+03 0.00747 33.2 973 WorldPhysical eIoni + 5 0.0463 -292 973 1e+03 0.00746 42.7 1.02e+03 WorldPhysical eIoni + 6 0.0397 -300 1e+03 1e+03 0.00564 28.5 1.04e+03 Crystal CoupledTransportation + 7 0.0397 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0491 -250 833 0.00117 0 0 0 DriftChamberPhysical initStep - 1 -0.0162 -250 833 0.00115 1.42e-05 0.0353 0.0353 DriftChamberPhysical msc - 2 0.218 -250 833 0 0.00115 0.378 0.413 DriftChamberPhysical eIoni + 0 0.0463 -292 973 0.0011 0 0 0 WorldPhysical initStep + 1 0.0716 -292 973 0 0.0011 0.0657 0.0657 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0188 -75.3 251 0.00424 0 0 0 DriftChamberPhysical initStep - 1 0.263 -74.8 251 0.00295 0.00129 0.561 0.561 DriftChamberPhysical msc - 2 1.22 -74.3 252 0.00094 0.00201 1.47 2.03 DriftChamberPhysical eIoni - 3 1.4 -74.3 252 0 0.00094 0.284 2.31 DriftChamberPhysical eIoni + 0 0.0577 -280 932 0.00431 0 0 0 WorldPhysical initStep + 1 0.258 -280 932 0.00205 0.000615 0.276 0.276 WorldPhysical eIoni + 2 0.301 -280 932 0 0.00205 0.162 0.438 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.258 -280 932 0.00165 0 0 0 WorldPhysical initStep + 1 0.225 -280 932 0 0.00165 0.117 0.117 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0101 -51.8 173 0.00105 0 0 0 DriftChamberPhysical initStep - 1 -0.0331 -51.8 173 0.00103 1.44e-05 0.0296 0.0296 DriftChamberPhysical msc - 2 -0.158 -51.6 173 0 0.00103 0.323 0.353 DriftChamberPhysical eIoni + 0 0.00951 -69.1 230 0.00427 0 0 0 DriftChamberPhysical initStep + 1 -0.332 -68.7 230 0.00399 0.000276 0.571 0.571 DriftChamberPhysical msc + 2 -0.471 -66.9 230 0.0018 0.00219 1.89 2.46 DriftChamberPhysical eIoni + 3 -0.652 -66.6 230 0 0.0018 0.75 3.21 DriftChamberPhysical eIoni >>> Event 0 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999196801328259 (GeV) + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999211894740589 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -718,22 +1013,34 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.0131 -24.5 81.8 1e+03 0.0159 85.5 85.5 WorldPhysical eIoni - 2 -0.0141 -30 100 1e+03 0.005 19 104 DriftChamberPhysical CoupledTransportation - 3 -0.0117 -270 900 1e+03 0.0239 835 940 WorldPhysical CoupledTransportation - 4 -0.0174 -300 1e+03 1e+03 0.0239 104 1.04e+03 Crystal CoupledTransportation - 5 -0.0174 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + 1 0 -30 100 1e+03 0.0206 104 104 DriftChamberPhysical CoupledTransportation + 2 0.00614 -42.8 143 1e+03 0.00112 44.5 149 DriftChamberPhysical eIoni + 3 0.0631 -186 620 1e+03 0.0156 499 647 DriftChamberPhysical eIoni + 4 0.111 -270 900 1e+03 0.0115 292 940 WorldPhysical CoupledTransportation + 5 0.138 -300 1e+03 1e+03 0.0234 104 1.04e+03 Crystal CoupledTransportation + 6 0.138 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0631 -186 620 0.00246 0 0 0 DriftChamberPhysical initStep + 1 0.157 -186 620 0.00246 4.36e-06 0.139 0.139 DriftChamberPhysical msc + 2 0.749 -187 620 0.000153 0.0023 1.2 1.34 DriftChamberPhysical eIoni + 3 0.745 -187 620 0 0.000153 0.058 1.4 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0131 -24.5 81.8 0.001 0 0 0 WorldPhysical initStep - 1 0.00624 -24.6 81.8 0 0.001 0.0582 0.0582 WorldPhysical eIoni + 0 0.00614 -42.8 143 0.002 0 0 0 DriftChamberPhysical initStep + 1 -0.0762 -42.7 143 0.00186 0.000133 0.0963 0.0963 DriftChamberPhysical msc + 2 -0.581 -42.5 143 0 0.00186 0.789 0.885 DriftChamberPhysical eIoni >>> Event 1 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999302998137048 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999234249825512 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -743,51 +1050,49 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -30 100 1e+03 0.0234 104 104 DriftChamberPhysical CoupledTransportation - 2 0.0271 -100 334 1e+03 0.00806 244 348 DriftChamberPhysical eIoni - 3 0.0747 -197 657 1e+03 0.0118 337 686 DriftChamberPhysical eIoni - 4 0.105 -270 900 1e+03 0.00794 254 940 WorldPhysical CoupledTransportation - 5 0.107 -275 917 1e+03 0.00412 18.1 958 WorldPhysical eIoni - 6 0.126 -296 987 1e+03 0.0152 73.2 1.03e+03 WorldPhysical eIoni - 7 0.129 -300 1e+03 1e+03 0.0043 13.1 1.04e+03 Crystal CoupledTransportation - 8 0.129 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.126 -296 987 0.00122 0 0 0 WorldPhysical initStep - 1 0.0983 -296 987 0 0.00122 0.0756 0.0756 WorldPhysical eIoni + 1 -0.00245 -8.63 28.8 1e+03 0.00648 30.1 30.1 WorldPhysical eIoni + 2 0.00533 -30 100 1e+03 0.0158 74.3 104 DriftChamberPhysical CoupledTransportation + 3 0.025 -270 900 1e+03 0.0292 835 940 WorldPhysical CoupledTransportation + 4 0.0244 -273 910 1e+03 0.00244 10.9 951 WorldPhysical eIoni + 5 0.0167 -292 974 1e+03 0.0133 66.7 1.02e+03 WorldPhysical eIoni + 6 0.017 -300 1e+03 1e+03 0.00879 26.9 1.04e+03 Crystal CoupledTransportation + 7 0.017 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.107 -275 917 0.00105 0 0 0 WorldPhysical initStep - 1 0.126 -275 917 0 0.00105 0.0617 0.0617 WorldPhysical eIoni + 0 0.0167 -292 974 0.00296 0 0 0 WorldPhysical initStep + 1 0.00824 -292 974 0.00131 0.000442 0.0536 0.0536 WorldPhysical eIoni + 2 -0.0143 -292 974 0 0.00131 0.0839 0.137 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.00824 -292 974 0.00121 0 0 0 WorldPhysical initStep + 1 0.0192 -292 974 0 0.00121 0.0749 0.0749 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0747 -197 657 0.00138 0 0 0 DriftChamberPhysical initStep - 1 0.0283 -197 657 0.00128 9.72e-05 0.0479 0.0479 DriftChamberPhysical msc - 2 -0.238 -197 657 0 0.00128 0.442 0.489 DriftChamberPhysical eIoni + 0 0.0244 -273 910 0.00294 0 0 0 WorldPhysical initStep + 1 0.133 -273 910 0 0.00294 0.291 0.291 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0271 -100 334 0.00144 0 0 0 DriftChamberPhysical initStep - 1 -0.000486 -100 334 0.00137 7.02e-05 0.0513 0.0513 DriftChamberPhysical msc - 2 -0.115 -99.8 334 0 0.00137 0.487 0.538 DriftChamberPhysical eIoni + 0 -0.00245 -8.63 28.8 0.00174 0 0 0 WorldPhysical initStep + 1 0.0114 -8.68 28.8 0 0.00174 0.127 0.127 WorldPhysical eIoni >>> Event 2 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999200593687813 (GeV) + 6 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999162814876604 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -797,40 +1102,22 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 3.98e-06 -0.287 0.957 1e+03 0.000153 0.999 0.999 WorldPhysical eIoni - 2 -0.00393 -23.3 77.7 1e+03 0.0184 80.1 81.1 WorldPhysical eIoni - 3 -0.00375 -30 100 1e+03 0.00599 23.3 104 DriftChamberPhysical CoupledTransportation - 4 -0.0822 -270 900 1e+03 0.0264 835 940 WorldPhysical CoupledTransportation - 5 -0.0796 -277 925 1e+03 0.00597 25.8 965 WorldPhysical eIoni - 6 -0.079 -300 1e+03 1e+03 0.015 78.6 1.04e+03 Crystal CoupledTransportation - 7 -0.079 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0796 -277 925 0.00457 0 0 0 WorldPhysical initStep - 1 -0.196 -277 925 0 0.00457 0.619 0.619 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00393 -23.3 77.7 0.0038 0 0 0 WorldPhysical initStep - 1 0.0784 -23.5 77.6 0 0.0038 0.449 0.449 WorldPhysical eIoni + 1 0.000166 -1.34 4.46 1e+03 0.000964 4.65 4.65 WorldPhysical eIoni + 2 -0.000846 -30 100 1e+03 0.0233 99.7 104 DriftChamberPhysical CoupledTransportation + 3 0.0331 -270 900 1e+03 0.027 835 940 WorldPhysical CoupledTransportation + 4 0.0474 -300 1e+03 1e+03 0.0235 104 1.04e+03 Crystal CoupledTransportation + 5 0.0474 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.98e-06 -0.287 0.957 0.00215 0 0 0 WorldPhysical initStep - 1 -0.0448 -0.344 0.943 0 0.00215 0.176 0.176 WorldPhysical eIoni + 0 0.000166 -1.34 4.46 0.006 0 0 0 WorldPhysical initStep + 1 0.428 -1.27 4.51 0 0.006 1 1 WorldPhysical eIoni >>> Event 3 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999174895367391 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999192513496675 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -840,53 +1127,116 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.000695 -19.1 63.6 1e+03 0.0128 66.4 66.4 WorldPhysical eIoni - 2 0.00293 -30 100 1e+03 0.00948 38 104 DriftChamberPhysical CoupledTransportation - 3 0.00521 -82.7 276 1e+03 0.00627 183 288 DriftChamberPhysical eIoni - 4 0.0255 -270 900 1e+03 0.0188 652 940 WorldPhysical CoupledTransportation - 5 0.0259 -271 904 1e+03 0.000976 4.09 944 WorldPhysical eIoni - 6 0.0268 -274 912 1e+03 0.00296 8.54 952 WorldPhysical eIoni - 7 0.0361 -300 1e+03 1e+03 0.021 91.8 1.04e+03 Crystal CoupledTransportation - 8 0.0361 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + 1 -0.0109 -26.1 87.2 1e+03 0.0176 91 91 WorldPhysical eIoni + 2 -0.00974 -30 100 1e+03 0.0022 13.4 104 DriftChamberPhysical CoupledTransportation + 3 -0.0369 -237 791 1e+03 0.0266 721 826 DriftChamberPhysical eIoni + 4 -0.00587 -270 900 1e+03 0.00388 114 940 WorldPhysical CoupledTransportation + 5 -0.00111 -276 920 1e+03 0.00293 20.6 960 WorldPhysical eIoni + 6 0.00946 -285 950 1e+03 0.00523 32 992 WorldPhysical eIoni + 7 0.0113 -286 954 1e+03 0.00114 3.78 996 WorldPhysical eIoni + 8 0.0275 -300 1e+03 1e+03 0.00934 48 1.04e+03 Crystal CoupledTransportation + 9 0.0275 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0113 -286 954 0.0501 0 0 0 WorldPhysical initStep + 1 7.72 -284 956 0.0431 0.00394 8.74 8.74 WorldPhysical eIoni + 2 15.5 -286 957 0.0371 0.00593 8.85 17.6 WorldPhysical eIoni + 3 21.3 -289 959 0.0277 0.00946 7.12 24.7 WorldPhysical eIoni + 4 17.7 -291 960 0.0241 0.00357 4.8 29.5 WorldPhysical eIoni + 5 17.4 -292 960 0.0187 0.000951 1.16 30.7 WorldPhysical eIoni + 6 17.4 -292 960 0.0169 9.87e-05 0.115 30.8 WorldPhysical eIoni + 7 19.4 -293 960 0.0133 0.00367 2.8 33.6 WorldPhysical eIoni + 8 19.8 -294 960 0.0094 0.00287 1.29 34.9 WorldPhysical eIoni + 9 20.3 -295 959 0.00491 0.00449 1.69 36.6 WorldPhysical eIoni + 10 20.4 -296 959 0 0.00491 0.698 37.3 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 19.8 -294 960 0.00101 0 0 0 WorldPhysical initStep + 1 19.8 -294 960 0 0.00101 0.0588 0.0588 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 17.4 -292 960 0.00167 0 0 0 WorldPhysical initStep + 1 17.4 -292 960 0 0.00167 0.12 0.12 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 17.4 -292 960 0.00445 0 0 0 WorldPhysical initStep + 1 17.2 -292 960 0 0.00445 0.593 0.593 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 7.72 -284 956 0.00311 0 0 0 WorldPhysical initStep + 1 7.72 -284 956 0 0.00311 0.318 0.318 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0268 -274 912 0.00138 0 0 0 WorldPhysical initStep - 1 0.00928 -274 912 0 0.00138 0.0901 0.0901 WorldPhysical eIoni + 0 0.00946 -285 950 0.0015 0 0 0 WorldPhysical initStep + 1 -0.000151 -285 950 0 0.0015 0.101 0.101 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0259 -271 904 0.00181 0 0 0 WorldPhysical initStep - 1 0.0539 -271 904 0 0.00181 0.134 0.134 WorldPhysical eIoni + 0 -0.00111 -276 920 0.0043 0 0 0 WorldPhysical initStep + 1 0.15 -276 920 0 0.0043 0.556 0.556 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00521 -82.7 276 0.00194 0 0 0 DriftChamberPhysical initStep - 1 -0.0217 -82.8 276 0.00164 0.000297 0.0897 0.0897 DriftChamberPhysical msc - 2 -0.232 -83.2 276 0 0.00164 0.644 0.734 DriftChamberPhysical eIoni + 0 -0.0369 -237 791 0.0153 0 0 0 DriftChamberPhysical initStep + 1 -6.83 -234 794 0.0141 0.00113 8.25 8.25 DriftChamberPhysical eIoni + 2 -11.3 -229 797 0.0125 0.00164 7.39 15.6 DriftChamberPhysical eIoni + 3 -15.8 -225 797 0.0112 0.00133 6.15 21.8 DriftChamberPhysical eIoni + 4 -16.4 -225 797 0.00962 0.000282 1.02 22.8 DriftChamberPhysical eIoni + 5 -19.3 -221 797 0.00819 0.00143 4.39 27.2 DriftChamberPhysical eIoni + 6 -22.7 -221 798 0.0058 0.00239 3.64 30.8 DriftChamberPhysical eIoni + 7 -25 -220 799 0.00431 0.00149 2.59 33.4 DriftChamberPhysical eIoni + 8 -26.8 -220 798 0.00161 0.0027 2.02 35.4 DriftChamberPhysical eIoni + 9 -27 -220 798 0 0.00161 0.624 36.1 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -16.4 -225 797 0.00126 0 0 0 DriftChamberPhysical initStep + 1 -16.4 -225 797 0.00122 4.42e-05 0.0419 0.0419 DriftChamberPhysical msc + 2 -16.3 -224 798 0 0.00122 0.408 0.45 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000695 -19.1 63.6 0.0175 0 0 0 WorldPhysical initStep - 1 0.905 -17.1 64.9 0.0125 0.00494 2.88 2.88 WorldPhysical eIoni - 2 0.891 -15.4 64.5 0.00673 0.0058 2.14 5.02 WorldPhysical eIoni - 3 1.23 -14.9 65 0.000519 0.00621 1.2 6.22 WorldPhysical eIoni - 4 1.22 -14.9 65 0 0.000519 0.027 6.25 WorldPhysical eIoni + 0 -0.0109 -26.1 87.2 0.00115 0 0 0 WorldPhysical initStep + 1 -0.0296 -26.1 87.2 0 0.00115 0.07 0.07 WorldPhysical eIoni >>> Event 4 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999050849605132 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9998587685583498 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -898,48 +1248,43 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -60 100 1e+03 0.0246 117 117 DriftChamberPhysical CoupledTransportation - 2 0.00677 -469 781 1e+03 0.0262 795 911 DriftChamberPhysical eIoni - 3 0.0231 -540 900 1e+03 0.00434 138 1.05e+03 WorldPhysical CoupledTransportation - 4 0.0359 -600 1e+03 1e+03 0.0242 117 1.17e+03 Crystal CoupledTransportation - 5 0.0359 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + 1 0.0101 -34 56.7 1e+03 0.0136 66.1 66.1 WorldPhysical eIoni + 2 0.00905 -54.1 90.2 1e+03 0.00994 39.1 105 WorldPhysical eIoni + 3 0.00683 -60 100 1e+03 0.00269 11.4 117 DriftChamberPhysical CoupledTransportation + 4 -0.0858 -290 484 1e+03 0.0161 448 564 DriftChamberPhysical eIoni + 5 -0.198 -540 900 1e+03 0.0199 485 1.05e+03 WorldPhysical CoupledTransportation + 6 -0.212 -600 1e+03 1e+03 0.0259 117 1.17e+03 Crystal CoupledTransportation + 7 -0.212 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0858 -290 484 0.00105 0 0 0 DriftChamberPhysical initStep + 1 -0.0922 -290 484 0.00093 0.00012 0.0296 0.0296 DriftChamberPhysical msc + 2 -0.175 -290 484 0 0.00093 0.28 0.309 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.00905 -54.1 90.2 0.0129 0 0 0 WorldPhysical initStep + 1 -0.0821 -55.7 89.2 0.00899 0.00393 2.2 2.2 WorldPhysical eIoni + 2 -0.514 -56.5 88.4 0.00465 0.00434 1.63 3.83 WorldPhysical eIoni + 3 -0.766 -56.6 88.3 0 0.00465 0.639 4.47 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00677 -469 781 0.00126 0 0 0 DriftChamberPhysical initStep - 1 0.047 -469 781 0.00125 5.86e-06 0.0416 0.0416 DriftChamberPhysical msc - 2 0.325 -469 782 0 0.00125 0.424 0.466 DriftChamberPhysical eIoni + 0 0.0101 -34 56.7 0.0044 0 0 0 WorldPhysical initStep + 1 0.101 -33.8 56.9 0 0.0044 0.579 0.579 WorldPhysical eIoni >>> Event 0 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999193164699218 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -60 100 1e+03 0.0263 117 117 DriftChamberPhysical CoupledTransportation - 2 0.0796 -540 900 1e+03 0.0298 933 1.05e+03 WorldPhysical CoupledTransportation - 3 0.0877 -565 941 1e+03 0.00871 48 1.1e+03 WorldPhysical eIoni - 4 0.0952 -600 1e+03 1e+03 0.0141 68.6 1.17e+03 Crystal CoupledTransportation - 5 0.0952 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0877 -565 941 0.00365 0 0 0 WorldPhysical initStep - 1 -0.0897 -565 941 0 0.00365 0.421 0.421 WorldPhysical eIoni ->>> Event 1 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999174363824943 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9998935297155903 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -949,87 +1294,84 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00123 -9.38 15.6 1e+03 0.00379 18.2 18.2 WorldPhysical eIoni - 2 0.000606 -39.3 65.5 1e+03 0.012 58.1 76.3 WorldPhysical eIoni - 3 0.000419 -42 70 1e+03 0.00266 5.34 81.7 WorldPhysical eIoni - 4 -0.00278 -60 100 1e+03 0.00626 34.9 117 DriftChamberPhysical CoupledTransportation - 5 -0.0109 -87.8 146 1e+03 0.00154 54.1 171 DriftChamberPhysical eIoni - 6 -0.182 -540 900 1e+03 0.0298 879 1.05e+03 WorldPhysical CoupledTransportation - 7 -0.198 -559 931 1e+03 0.00778 36.5 1.09e+03 WorldPhysical eIoni - 8 -0.217 -580 967 1e+03 0.00851 41.1 1.13e+03 WorldPhysical eIoni - 9 -0.22 -582 971 1e+03 0.000748 4.76 1.13e+03 WorldPhysical eIoni - 10 -0.238 -600 1e+03 1e+03 0.0077 34.2 1.17e+03 Crystal CoupledTransportation - 11 -0.238 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.22 -582 971 0.00241 0 0 0 WorldPhysical initStep - 1 -0.309 -583 971 0 0.00241 0.21 0.21 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.217 -580 967 0.00566 0 0 0 WorldPhysical initStep - 1 0.176 -580 967 0 0.00566 0.905 0.905 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.198 -559 931 0.00132 0 0 0 WorldPhysical initStep - 1 -0.216 -559 931 0 0.00132 0.0844 0.0844 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0109 -87.8 146 0.00309 0 0 0 DriftChamberPhysical initStep - 1 0.0217 -87.6 146 0.00307 1.92e-05 0.215 0.215 DriftChamberPhysical msc - 2 -0.424 -86.9 148 0.00106 0.00201 1.52 1.73 DriftChamberPhysical eIoni - 3 -0.399 -87.1 148 0 0.00106 0.334 2.07 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000419 -42 70 0.00115 0 0 0 WorldPhysical initStep - 1 0.0259 -42 70 0 0.00115 0.0699 0.0699 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000606 -39.3 65.5 0.00186 0 0 0 WorldPhysical initStep - 1 0.054 -39.3 65.4 0 0.00186 0.14 0.14 WorldPhysical eIoni + 1 0 -60 100 1e+03 0.0227 117 117 DriftChamberPhysical CoupledTransportation + 2 -0.111 -540 900 1e+03 0.0293 933 1.05e+03 WorldPhysical CoupledTransportation + 3 -0.127 -570 950 1e+03 0.0106 58.1 1.11e+03 WorldPhysical eIoni + 4 -0.134 -600 1e+03 1e+03 0.0106 58.6 1.17e+03 Crystal CoupledTransportation + 5 -0.134 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00123 -9.38 15.6 0.00795 0 0 0 WorldPhysical initStep - 1 -0.0103 -9.41 15.6 0.00619 5.69e-05 0.0299 0.0299 WorldPhysical eIoni - 2 -0.214 -9.83 15.6 0 0.00619 1.05 1.08 WorldPhysical eIoni + 0 -0.127 -570 950 0.00119 0 0 0 WorldPhysical initStep + 1 -0.142 -570 950 0 0.00119 0.073 0.073 WorldPhysical eIoni +>>> Event 1 + 12 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999255963219885 (GeV) + 0 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0 (GeV) ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0103 -9.41 15.6 0.0017 0 0 0 WorldPhysical initStep - 1 -0.022 -9.41 15.6 0 0.0017 0.123 0.123 WorldPhysical eIoni + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 -60 100 1e+03 0.0181 117 117 DriftChamberPhysical CoupledTransportation + 2 -0.0359 -224 374 1e+03 0.0106 320 436 DriftChamberPhysical eIoni + 3 -0.0324 -540 900 1e+03 0.019 613 1.05e+03 WorldPhysical CoupledTransportation + 4 -0.032 -548 913 1e+03 0.00178 15.7 1.07e+03 WorldPhysical eIoni + 5 -0.0311 -600 1e+03 1e+03 0.0137 101 1.17e+03 Crystal CoupledTransportation + 6 -0.0311 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.032 -548 913 0.0011 0 0 0 WorldPhysical initStep + 1 -0.0256 -548 913 0 0.0011 0.0662 0.0662 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0359 -224 374 0.026 0 0 0 DriftChamberPhysical initStep + 1 -1.08 -213 389 0.0233 0.00267 19.5 19.5 DriftChamberPhysical eIoni + 2 0.25 -209 397 0.0198 0.00131 9.13 28.6 DriftChamberPhysical eIoni + 3 -2.63 -206 409 0.0171 0.00274 12.4 41 DriftChamberPhysical eIoni + 4 -3.22 -209 418 0.0153 0.00174 9.84 50.8 DriftChamberPhysical eIoni + 5 -1.9 -212 425 0.0115 0.00388 8.31 59.1 DriftChamberPhysical eIoni + 6 -2.2 -214 430 0.00992 0.00154 5.5 64.6 DriftChamberPhysical eIoni + 7 -4.58 -212 430 0.00735 0.000768 3 67.6 DriftChamberPhysical eIoni + 8 -5.41 -210 433 0.00614 0.00121 3.25 70.9 DriftChamberPhysical eIoni + 9 -6.43 -208 434 0.00465 0.00149 2.72 73.6 DriftChamberPhysical eIoni + 10 -7.19 -207 436 0.00301 0.00164 2.15 75.7 DriftChamberPhysical eIoni + 11 -7.05 -206 436 0 0.00301 1.49 77.2 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -4.58 -212 430 0.00181 0 0 0 DriftChamberPhysical initStep + 1 -4.62 -212 430 0.00173 7.4e-05 0.0775 0.0775 DriftChamberPhysical msc + 2 -4.54 -212 430 0 0.00173 0.703 0.78 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.25 -209 397 0.00217 0 0 0 DriftChamberPhysical initStep + 1 0.357 -209 397 0.00211 5.86e-05 0.109 0.109 DriftChamberPhysical msc + 2 1.01 -209 397 0 0.00211 0.967 1.08 DriftChamberPhysical eIoni >>> Event 2 - 13 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9998957615510874 (GeV) + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.999909705868702 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -1039,41 +1381,22 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.000373 -28.7 47.9 1e+03 0.0116 55.8 55.8 WorldPhysical eIoni - 2 -0.00859 -60 100 1e+03 0.0129 60.8 117 DriftChamberPhysical CoupledTransportation - 3 -0.288 -540 900 1e+03 0.03 933 1.05e+03 WorldPhysical CoupledTransportation - 4 -0.302 -576 961 1e+03 0.0161 71.1 1.12e+03 WorldPhysical eIoni - 5 -0.312 -596 993 1e+03 0.00877 37.7 1.16e+03 WorldPhysical eIoni - 6 -0.314 -600 1e+03 1e+03 0.00102 7.82 1.17e+03 Crystal CoupledTransportation - 7 -0.314 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.312 -596 993 0.00105 0 0 0 WorldPhysical initStep - 1 -0.334 -596 993 0 0.00105 0.0619 0.0619 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.302 -576 961 0.00895 0 0 0 WorldPhysical initStep - 1 0.00604 -577 961 0.00464 0.00431 1.62 1.62 WorldPhysical eIoni - 2 -0.0788 -578 961 0 0.00464 0.636 2.26 WorldPhysical eIoni + 1 -0.00909 -51.6 86.1 1e+03 0.0206 100 100 WorldPhysical eIoni + 2 -0.0136 -60 100 1e+03 0.00281 16.2 117 DriftChamberPhysical CoupledTransportation + 3 -0.265 -540 900 1e+03 0.0283 933 1.05e+03 WorldPhysical CoupledTransportation + 4 -0.302 -600 1e+03 1e+03 0.0205 117 1.17e+03 Crystal CoupledTransportation + 5 -0.302 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000373 -28.7 47.9 0.00247 0 0 0 WorldPhysical initStep - 1 0.0843 -28.7 47.9 0 0.00247 0.218 0.218 WorldPhysical eIoni + 0 -0.00909 -51.6 86.1 0.00103 0 0 0 WorldPhysical initStep + 1 -0.0308 -51.6 86.1 0 0.00103 0.0601 0.0601 WorldPhysical eIoni >>> Event 3 14 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999071805679818 (GeV) + Total energy deposition in EM calorimeter crytals : 0.9999267141426049 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) @@ -1083,43 +1406,41 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.0215 -57.9 96.6 1e+03 0.0258 113 113 WorldPhysical eIoni - 2 0.0217 -60 100 1e+03 0.000605 3.98 117 DriftChamberPhysical CoupledTransportation - 3 0.0218 -220 367 1e+03 0.01 311 427 DriftChamberPhysical eIoni - 4 0.0336 -539 900 1e+03 0.0212 622 1.05e+03 WorldPhysical CoupledTransportation - 5 0.0322 -597 996 1e+03 0.0206 112 1.16e+03 WorldPhysical eIoni - 6 0.0324 -599 1e+03 1e+03 0.000826 4.24 1.17e+03 Crystal CoupledTransportation - 7 0.0324 -599 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom + 1 0 -60 100 1e+03 0.0318 117 117 DriftChamberPhysical CoupledTransportation + 2 0.176 -526 876 1e+03 0.0277 905 1.02e+03 DriftChamberPhysical eIoni + 3 0.18 -540 900 1e+03 0.00066 27.7 1.05e+03 WorldPhysical CoupledTransportation + 4 0.182 -565 941 1e+03 0.00819 48.4 1.1e+03 WorldPhysical eIoni + 5 0.183 -575 958 1e+03 0.00429 19.3 1.12e+03 WorldPhysical eIoni + 6 0.179 -600 1e+03 1e+03 0.0106 48.9 1.17e+03 Crystal CoupledTransportation + 7 0.179 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0322 -597 996 0.00178 0 0 0 WorldPhysical initStep - 1 0.0168 -597 996 0 0.00178 0.132 0.132 WorldPhysical eIoni + 0 0.183 -575 958 0.00138 0 0 0 WorldPhysical initStep + 1 0.196 -575 958 0 0.00138 0.0904 0.0904 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0218 -220 367 0.00481 0 0 0 DriftChamberPhysical initStep - 1 -0.183 -220 366 0.00431 0.000495 0.847 0.847 DriftChamberPhysical msc - 2 -0.314 -222 365 0.00245 0.00186 2.02 2.87 DriftChamberPhysical eIoni - 3 -0.373 -223 365 0.000253 0.0022 1.2 4.06 DriftChamberPhysical eIoni - 4 -0.365 -223 365 0 0.000253 0.0757 4.14 DriftChamberPhysical eIoni + 0 0.182 -565 941 0.00103 0 0 0 WorldPhysical initStep + 1 0.159 -565 941 0 0.00103 0.0605 0.0605 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0215 -57.9 96.6 0.00387 0 0 0 WorldPhysical initStep - 1 0.222 -58 96.6 0 0.00387 0.463 0.463 WorldPhysical eIoni + 0 0.176 -526 876 0.00131 0 0 0 DriftChamberPhysical initStep + 1 0.199 -526 876 0.0013 1.07e-05 0.0442 0.0442 DriftChamberPhysical msc + 2 0.426 -526 876 0 0.0013 0.451 0.495 DriftChamberPhysical eIoni >>> Event 4 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999105245444132 (GeV) + 9 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.9999131222312778 (GeV) 0 hits are stored in HAD ExN05CalorimeterHitsCollection. Total energy deposition in HAD calorimeter towers : 0 (GeV) number of event = 5 @@ -1131,1892 +1452,1575 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00215 13.2 22 1e+03 0.00417 25.7 25.7 WorldPhysical hIoni - 2 -0.0135 60 100 1e+03 0.0106 91 117 DriftChamberPhysical CoupledTransportation - 3 -0.0991 265 442 1e+03 0.00843 398 515 DriftChamberPhysical hIoni - 4 -0.26 540 900 1e+03 0.0114 534 1.05e+03 WorldPhysical CoupledTransportation - 5 -0.275 589 982 1e+03 0.0171 95.9 1.15e+03 WorldPhysical hIoni - 6 -0.285 600 1e+03 1e+03 0.00262 20.7 1.17e+03 Crystal CoupledTransportation - 7 -0.285 600 1e+03 1e+03 0.00039 0.00246 1.17e+03 Crystal CoupledTransportation - 8 -0.177 608 1.01e+03 978 8.55 16.3 1.18e+03 Crystal hIoni - 9 -0.0668 619 1.03e+03 963 10.1 19.6 1.2e+03 Crystal hIoni - 10 1.36e-15 622 1.03e+03 960 3.36 5.14 1.21e+03 Crystal CoupledTransportation - 11 0.323 629 1.05e+03 948 6.59 13.3 1.22e+03 Crystal hIoni - 12 0.8 636 1.06e+03 940 7.16 13.5 1.23e+03 Crystal hIoni - 13 1.18 650 1.08e+03 927 12.7 26.2 1.26e+03 Crystal CoupledTransportation - 14 1.55 663 1.1e+03 914 11.7 24.3 1.28e+03 Crystal hIoni - 15 1.9 670 1.11e+03 905 6.74 13.7 1.3e+03 Crystal hIoni - 16 1.95 672 1.11e+03 902 1.8 3.28 1.3e+03 Crystal hIoni - 17 2.08 678 1.12e+03 893 5.66 10.7 1.31e+03 Crystal hIoni - 18 2.26 682 1.13e+03 887 3.51 7.58 1.32e+03 Crystal hIoni - 19 2.47 685 1.14e+03 882 3.05 6.67 1.33e+03 Crystal hIoni - 20 2.89 699 1.16e+03 870 12 24 1.35e+03 Crystal hIoni - 21 2.97 700 1.16e+03 868 1.46 2.45 1.35e+03 Crystal CoupledTransportation - 22 3.53 710 1.17e+03 856 10.4 18.6 1.37e+03 Crystal hIoni - 23 3.62 713 1.18e+03 853 2.51 5.05 1.38e+03 Crystal hIoni - 24 4.13 724 1.2e+03 839 10.9 21.6 1.4e+03 Crystal hIoni - 25 4.3 727 1.2e+03 836 2.67 5.33 1.4e+03 Crystal hIoni - 26 5.12 743 1.23e+03 820 15 29.6 1.43e+03 Crystal hIoni - 27 5.4 746 1.23e+03 804 3 6.12 1.44e+03 Crystal hIoni - 28 5.7 750 1.24e+03 801 3.23 7.22 1.45e+03 Crystal CoupledTransportation - 29 9.29 800 1.32e+03 751 49.5 96.8 1.54e+03 Crystal CoupledTransportation - 30 9.81 807 1.33e+03 742 8.55 15.7 1.56e+03 Crystal hIoni - 31 9.9 811 1.34e+03 737 3.63 6.82 1.57e+03 Crystal hIoni - 32 9.92 812 1.34e+03 733 2.45 2.78 1.57e+03 Crystal hIoni - 33 9.89 814 1.35e+03 729 2.46 5.49 1.57e+03 Crystal hIoni - 34 9.88 815 1.35e+03 728 0.352 0.738 1.57e+03 Crystal hIoni - 35 8.95 837 1.39e+03 701 25 47.2 1.62e+03 Crystal hIoni - 36 8.92 837 1.39e+03 700 0.505 0.592 1.62e+03 Crystal hIoni - 37 8.54 840 1.4e+03 694 4.1 6.78 1.63e+03 Crystal hIoni - 38 8.13 842 1.4e+03 692 2.32 4.88 1.63e+03 WorldPhysical CoupledTransportation - 39 -1.25 894 1.5e+03 692 0.0168 113 1.75e+03 HadCaloPhysical CoupledTransportation - 40 -5.96 919 1.55e+03 692 0.00841 56.4 1.8e+03 Tower CoupledTransportation - 41 -11.6 950 1.61e+03 613 78.3 67.8 1.87e+03 Tower CoupledTransportation - 42 -28.1 994 1.7e+03 481 133 98.4 1.97e+03 Tower hIoni - 43 -47.2 1.02e+03 1.76e+03 395 85.8 75.5 2.05e+03 Tower hIoni - 44 -50 1.03e+03 1.77e+03 381 13.4 12.5 2.06e+03 Tower CoupledTransportation - 45 -62.9 1.05e+03 1.83e+03 318 63.4 58.3 2.12e+03 Tower hIoni - 46 -64.4 1.05e+03 1.83e+03 310 7.75 6.33 2.12e+03 Tower CoupledTransportation - 47 -74.4 1.07e+03 1.88e+03 253 57.3 46 2.17e+03 Tower hIoni - 48 -79.3 1.08e+03 1.91e+03 212 40.3 36.1 2.2e+03 Tower hIoni - 49 -82.1 1.09e+03 1.93e+03 178 34.4 29.3 2.23e+03 Tower hIoni - 50 -84.2 1.1e+03 1.96e+03 149 29.5 23.6 2.26e+03 Tower hIoni - 51 -86 1.11e+03 1.97e+03 122 26.2 18.8 2.28e+03 Tower hIoni - 52 -88.8 1.12e+03 1.99e+03 103 19.1 14.7 2.29e+03 Tower hIoni - 53 -90 1.12e+03 2e+03 83.4 19.8 11.8 2.3e+03 Tower hIoni - 54 -89.9 1.12e+03 2e+03 71 12.4 9.06 2.31e+03 Tower hIoni - 55 -90 1.13e+03 2.01e+03 59.3 11.7 7.43 2.32e+03 Tower hIoni - 56 -90 1.13e+03 2.02e+03 48.8 10.5 5.98 2.33e+03 Tower hIoni - 57 -89.6 1.14e+03 2.02e+03 38.9 9.93 4.78 2.33e+03 Tower hIoni - 58 -89.4 1.14e+03 2.02e+03 31 7.85 3.75 2.33e+03 Tower hIoni - 59 -88.7 1.14e+03 2.02e+03 23.5 7.56 3.02 2.34e+03 Tower hIoni - 60 -88.4 1.14e+03 2.03e+03 15.3 8.15 2.39 2.34e+03 Tower hIoni - 61 -88.8 1.14e+03 2.03e+03 7.21 8.12 1.7 2.34e+03 Tower hIoni - 62 -88.9 1.14e+03 2.03e+03 0 7.21 0.608 2.34e+03 Tower hIoni - 63 -88.9 1.14e+03 2.03e+03 0 0 0 2.34e+03 Tower Decay + 1 0.00287 15.9 26.5 1e+03 0.00423 30.9 30.9 WorldPhysical hIoni + 2 -0.0124 60 100 1e+03 0.0132 85.7 117 DriftChamberPhysical CoupledTransportation + 3 -0.00984 146 244 1e+03 0.00409 168 284 DriftChamberPhysical hIoni + 4 -0.0215 263 438 1e+03 0.00566 227 511 DriftChamberPhysical hIoni + 5 -0.0331 540 900 1e+03 0.0127 538 1.05e+03 WorldPhysical CoupledTransportation + 6 -0.0361 563 938 1e+03 0.0085 44.2 1.09e+03 WorldPhysical hIoni + 7 -0.0359 570 950 1e+03 0.00495 14.5 1.11e+03 WorldPhysical hIoni + 8 -0.038 597 994 1e+03 0.00947 51.4 1.16e+03 WorldPhysical hIoni + 9 -0.0389 600 1e+03 1e+03 0.000782 6.43 1.17e+03 Crystal CoupledTransportation + 10 -0.0436 625 1.04e+03 974 24.2 48.2 1.21e+03 Crystal hIoni + 11 -0.452 633 1.05e+03 964 7.6 16 1.23e+03 Crystal hIoni + 12 -0.745 638 1.06e+03 959 4.08 8.12 1.24e+03 Crystal hIoni + 13 -0.997 647 1.08e+03 947 9.98 18.3 1.26e+03 Crystal hIoni + 14 -1.12 650 1.08e+03 945 2.31 4.88 1.26e+03 Crystal CoupledTransportation + 15 -1.27 657 1.09e+03 937 6.7 13 1.27e+03 Crystal hIoni + 16 -1.43 676 1.12e+03 917 19.1 36.6 1.31e+03 Crystal hIoni + 17 -1.87 696 1.15e+03 897 18.7 37.4 1.35e+03 Crystal hIoni + 18 -1.84 699 1.16e+03 892 2.78 4.67 1.35e+03 Crystal hIoni + 19 -1.83 700 1.16e+03 891 1.14 2.28 1.36e+03 Crystal CoupledTransportation + 20 -1.04 728 1.2e+03 854 28.1 51.4 1.41e+03 Crystal hIoni + 21 -1.66 750 1.24e+03 833 20.4 40.8 1.45e+03 Crystal CoupledTransportation + 22 -1.87 752 1.24e+03 830 2.16 4.17 1.45e+03 Crystal hIoni + 23 -3.04 762 1.26e+03 819 9.95 19.9 1.47e+03 Crystal hIoni + 24 -3.17 764 1.26e+03 817 1.32 2.82 1.47e+03 Crystal hIoni + 25 -4.27 774 1.28e+03 805 9.66 18.7 1.49e+03 Crystal hIoni + 26 -6.05 787 1.3e+03 790 13.5 26.4 1.52e+03 Crystal hIoni + 27 -6.28 789 1.3e+03 784 1.83 3.8 1.52e+03 Crystal hIoni + 28 -7.78 800 1.32e+03 772 12.2 22.3 1.55e+03 Crystal CoupledTransportation + 29 -9.86 821 1.36e+03 750 21 41.4 1.59e+03 Crystal hIoni + 30 -9.87 821 1.36e+03 749 0.116 0.291 1.59e+03 Crystal hIoni + 31 -9.98 822 1.36e+03 747 0.881 2.01 1.59e+03 Crystal hIoni + 32 -10.6 827 1.37e+03 742 4.2 9.12 1.6e+03 Crystal hIoni + 33 -10.8 829 1.37e+03 720 2.75 4.86 1.6e+03 Crystal hIoni + 34 -11.7 842 1.39e+03 708 11.5 24.8 1.63e+03 Crystal hIoni + 35 -11.9 847 1.4e+03 704 4.12 8.18 1.64e+03 WorldPhysical CoupledTransportation + 36 -12.3 853 1.41e+03 704 0.000965 12.6 1.65e+03 WorldPhysical hIoni + 37 -14.2 887 1.46e+03 704 0.00669 61.4 1.71e+03 WorldPhysical hIoni + 38 -15.6 911 1.5e+03 704 0.00601 44.9 1.76e+03 HadCaloPhysical CoupledTransportation + 39 -17.4 943 1.55e+03 704 0.00783 59.5 1.81e+03 Tower CoupledTransportation + 40 -17.8 950 1.56e+03 690 13.7 13 1.83e+03 Tower CoupledTransportation + 41 -21.7 1.01e+03 1.65e+03 555 135 112 1.94e+03 Tower hIoni + 42 -27.1 1.05e+03 1.71e+03 458 98 68.9 2.01e+03 Tower CoupledTransportation + 43 -29 1.08e+03 1.77e+03 369 88.4 71.5 2.08e+03 Tower hIoni + 44 -29.1 1.11e+03 1.82e+03 308 60.8 56.2 2.14e+03 Tower hIoni + 45 -31.6 1.13e+03 1.87e+03 243 64.9 45.7 2.18e+03 Tower hIoni + 46 -34.1 1.14e+03 1.9e+03 202 41.9 34.5 2.22e+03 Tower hIoni + 47 -34 1.15e+03 1.91e+03 184 18.1 16.6 2.23e+03 HadCaloPhysical CoupledTransportation + 48 -23.7 1.25e+03 2.15e+03 183 0.0392 263 2.5e+03 WorldPhysical CoupledTransportation + 49 -22 1.27e+03 2.19e+03 183 0.00757 43.8 2.54e+03 WorldPhysical hIoni + 50 -19.5 1.29e+03 2.26e+03 183 0.00987 66.6 2.61e+03 WorldPhysical hIoni + 51 -10.3 1.38e+03 2.47e+03 183 0.0372 231 2.84e+03 WorldPhysical hIoni + 52 -8.4 1.4e+03 2.52e+03 183 0.00595 49.6 2.89e+03 WorldPhysical hIoni + 53 -6.26 1.42e+03 2.57e+03 183 0.0133 56 2.94e+03 WorldPhysical hIoni + 54 -6.1 1.42e+03 2.57e+03 183 0.000575 4.08 2.95e+03 WorldPhysical hIoni + 55 -5.18 1.43e+03 2.59e+03 183 0.00306 24.2 2.97e+03 WorldPhysical hIoni + 56 -4.69 1.44e+03 2.61e+03 183 0.00215 12.9 2.98e+03 WorldPhysical hIoni + 57 -4.55 1.44e+03 2.61e+03 183 0.000618 3.78 2.99e+03 WorldPhysical hIoni + 58 -2.62 1.46e+03 2.66e+03 183 0.00861 50.9 3.04e+03 WorldPhysical hIoni + 59 1.11 1.49e+03 2.75e+03 183 0.0209 98 3.14e+03 WorldPhysical hIoni + 60 1.74 1.5e+03 2.76e+03 183 0.00218 16.6 3.15e+03 WorldPhysical hIoni + 61 4.91 1.53e+03 2.84e+03 183 0.0142 81.4 3.23e+03 WorldPhysical hIoni + 62 5.21 1.54e+03 2.84e+03 183 0.00124 7.78 3.24e+03 WorldPhysical hIoni + 63 11 1.59e+03 2.98e+03 183 0.0193 146 3.39e+03 WorldPhysical hIoni + 64 13.5 1.61e+03 3.04e+03 183 0.0165 62.1 3.45e+03 WorldPhysical hIoni + 65 15.1 1.63e+03 3.07e+03 183 0.00612 39.8 3.49e+03 WorldPhysical hIoni + 66 16.1 1.64e+03 3.1e+03 183 0.00961 26.1 3.52e+03 WorldPhysical hIoni + 67 17.1 1.65e+03 3.12e+03 183 0.00332 24.2 3.54e+03 WorldPhysical hIoni + 68 21 1.69e+03 3.21e+03 183 0.0132 100 3.64e+03 WorldPhysical hIoni + 69 25.3 1.73e+03 3.31e+03 183 0.0142 109 3.75e+03 WorldPhysical hIoni + 70 27.2 1.75e+03 3.36e+03 183 0.0126 48.5 3.8e+03 WorldPhysical hIoni + 71 29.9 1.77e+03 3.42e+03 183 0.00796 68.9 3.87e+03 WorldPhysical hIoni + 72 30 1.77e+03 3.42e+03 183 0.000855 2.09 3.87e+03 WorldPhysical hIoni + 73 36.5 1.84e+03 3.58e+03 183 0.0261 171 4.04e+03 WorldPhysical hIoni + 74 39.1 1.86e+03 3.64e+03 183 0.00972 66.8 4.11e+03 WorldPhysical hIoni + 75 40.5 1.88e+03 3.68e+03 183 0.00758 36.4 4.14e+03 WorldPhysical hIoni + 76 45.3 1.93e+03 3.79e+03 183 0.0178 124 4.27e+03 WorldPhysical hIoni + 77 49.8 1.97e+03 3.9e+03 183 0.0157 117 4.38e+03 WorldPhysical hIoni + 78 52.6 2e+03 3.96e+03 183 0.0116 71.6 4.46e+03 WorldPhysical hIoni + 79 53.1 2e+03 3.98e+03 183 0.00183 12.7 4.47e+03 WorldPhysical hIoni + 80 54.1 2.01e+03 4e+03 183 0.00529 25.6 4.49e+03 OutOfWorld CoupledTransportation ********************************************************************************************************* -* G4Track Information: Particle = mu-, Track ID = 31, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -88.9 1.14e+03 2.03e+03 4.12 0 0 0 Tower initStep - 1 -88.7 1.14e+03 2.03e+03 0 4.12 0.28 0.28 Tower muIoni - 2 -88.7 1.14e+03 2.03e+03 0 0 0 0.28 Tower Decay + 0 53.1 2e+03 3.98e+03 0.00233 0 0 0 WorldPhysical initStep + 1 53 2e+03 3.98e+03 0 0.00233 0.199 0.199 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 31 +* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -88.7 1.14e+03 2.03e+03 19.2 0 0 0 Tower initStep - 1 -87.9 1.14e+03 2.03e+03 17 1.72 1.68 1.68 Tower eBrem - 2 -86.4 1.14e+03 2.03e+03 11.8 3.85 3.08 4.76 Tower eBrem - 3 -85.7 1.14e+03 2.03e+03 9.81 1.33 1.28 6.04 Tower eBrem - 4 -85.6 1.14e+03 2.03e+03 8.07 0.789 0.688 6.73 Tower eBrem - 5 -85.2 1.14e+03 2.03e+03 3.84 1.09 0.551 7.28 Tower eBrem - 6 -84.4 1.14e+03 2.03e+03 0.826 2.46 1.94 9.22 Tower eBrem - 7 -84.5 1.14e+03 2.03e+03 0 0.826 0.619 9.84 Tower eIoni + 0 52.6 2e+03 3.96e+03 0.0204 0 0 0 WorldPhysical initStep + 1 50.4 2e+03 3.97e+03 0.0159 0.00449 3.35 3.35 WorldPhysical eIoni + 2 49.9 2e+03 3.97e+03 0.0102 0.00463 2.45 5.81 WorldPhysical eIoni + 3 49.1 1.99e+03 3.97e+03 0.00534 0.00487 1.81 7.62 WorldPhysical eIoni + 4 49.1 1.99e+03 3.97e+03 0 0.00534 0.816 8.43 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 40, Parent ID = 34 +* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 57 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -84.4 1.14e+03 2.03e+03 0.549 0 0 0 Tower initStep - 1 -84.3 1.14e+03 2.04e+03 0.297 0 5.77 5.77 Tower compt - 2 -86.5 1.14e+03 2.05e+03 0.249 0 10.1 15.9 Tower compt - 3 -94.4 1.11e+03 2.04e+03 0.247 0 22.5 38.4 Tower compt - 4 -95.8 1.11e+03 2.04e+03 0.134 0 4.37 42.8 Tower compt - 5 -96.4 1.11e+03 2.04e+03 0.111 0 2.24 45 Tower compt - 6 -94.9 1.11e+03 2.04e+03 0.11 0 1.83 46.8 Tower compt - 7 -93.4 1.12e+03 2.04e+03 0 0.00711 2.76 49.6 Tower phot + 0 49.9 2e+03 3.97e+03 0.00104 0 0 0 WorldPhysical initStep + 1 49.8 2e+03 3.97e+03 0 0.00104 0.0608 0.0608 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 40 +* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -93.4 1.12e+03 2.04e+03 0.103 0 0 0 Tower initStep - 1 -93.4 1.12e+03 2.04e+03 0.102 0.00121 0.00057 0.00057 Tower msc - 2 -93.4 1.12e+03 2.04e+03 0 0.102 0.0279 0.0285 Tower eIoni + 0 49.8 1.97e+03 3.9e+03 0.00116 0 0 0 WorldPhysical initStep + 1 49.8 1.97e+03 3.9e+03 0 0.00116 0.0711 0.0711 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 40 +* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -94.9 1.11e+03 2.04e+03 0.00132 0 0 0 Tower initStep - 1 -94.9 1.11e+03 2.04e+03 0.000966 0.000359 1e-06 1e-06 Tower msc - 2 -94.9 1.11e+03 2.04e+03 0 0.000966 1.79e-05 1.89e-05 Tower eIoni + 0 45.3 1.93e+03 3.79e+03 0.00434 0 0 0 WorldPhysical initStep + 1 45.1 1.93e+03 3.79e+03 0 0.00434 0.566 0.566 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 40 +* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -96.4 1.11e+03 2.04e+03 0.0228 0 0 0 Tower initStep - 1 -96.4 1.11e+03 2.04e+03 0.0223 0.000445 4.45e-05 4.45e-05 Tower msc - 2 -96.4 1.11e+03 2.04e+03 0 0.0223 0.00215 0.0022 Tower eIoni + 0 40.5 1.88e+03 3.68e+03 0.00115 0 0 0 WorldPhysical initStep + 1 40.5 1.88e+03 3.68e+03 0 0.00115 0.07 0.07 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 40 +* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -95.8 1.11e+03 2.04e+03 0.113 0 0 0 Tower initStep - 1 -95.8 1.11e+03 2.04e+03 0.112 0.00117 0.000666 0.000666 Tower msc - 2 -95.8 1.11e+03 2.04e+03 0 0.112 0.0328 0.0334 Tower eIoni + 0 39.1 1.86e+03 3.64e+03 0.00171 0 0 0 WorldPhysical initStep + 1 39 1.86e+03 3.64e+03 0 0.00171 0.124 0.124 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 40 +* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -94.4 1.11e+03 2.04e+03 0.0017 0 0 0 Tower initStep - 1 -94.4 1.11e+03 2.04e+03 0.00169 1.61e-05 1e-06 1e-06 Tower msc - 2 -94.4 1.11e+03 2.04e+03 0 0.00169 3.76e-05 3.86e-05 Tower eIoni + 0 36.5 1.84e+03 3.58e+03 0.00139 0 0 0 WorldPhysical initStep + 1 36.4 1.84e+03 3.58e+03 0 0.00139 0.0916 0.0916 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 40 +* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -86.5 1.14e+03 2.05e+03 0.0485 0 0 0 Tower initStep - 1 -86.5 1.14e+03 2.05e+03 0.0485 3.47e-05 0.000161 0.000161 Tower msc - 2 -86.5 1.14e+03 2.05e+03 0 0.0485 0.00803 0.0082 Tower eIoni + 0 30 1.77e+03 3.42e+03 0.00111 0 0 0 WorldPhysical initStep + 1 30 1.77e+03 3.42e+03 0 0.00111 0.0671 0.0671 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 40 +* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -84.3 1.14e+03 2.04e+03 0.252 0 0 0 Tower initStep - 1 -84.3 1.14e+03 2.04e+03 0.249 0.00272 0.00237 0.00237 Tower msc - 2 -84.3 1.14e+03 2.04e+03 0 0.249 0.117 0.119 Tower eIoni + 0 29.9 1.77e+03 3.42e+03 0.00153 0 0 0 WorldPhysical initStep + 1 30 1.77e+03 3.42e+03 0 0.00153 0.105 0.105 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 39, Parent ID = 34 +* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -85.2 1.14e+03 2.03e+03 3.15 0 0 0 Tower initStep - 1 -66.8 1.14e+03 2.05e+03 0.597 0 22.8 22.8 Tower compt - 2 -68 1.13e+03 2.06e+03 0.189 0 13.5 36.3 Tower compt - 3 -64 1.14e+03 2.05e+03 0.151 0 7.11 43.4 Tower compt - 4 -64 1.15e+03 2.07e+03 0 0.00711 18 61.4 Tower phot + 0 27.2 1.75e+03 3.36e+03 0.00115 0 0 0 WorldPhysical initStep + 1 27.2 1.75e+03 3.36e+03 0 0.00115 0.07 0.07 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 39 +* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -64 1.15e+03 2.07e+03 0.144 0 0 0 Tower initStep - 1 -64 1.15e+03 2.07e+03 0.142 0.00159 0.000987 0.000987 Tower msc - 2 -64 1.15e+03 2.07e+03 0 0.142 0.0485 0.0494 Tower eIoni + 0 25.3 1.73e+03 3.31e+03 0.00315 0 0 0 WorldPhysical initStep + 1 25.4 1.73e+03 3.31e+03 0 0.00315 0.325 0.325 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 39 +* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -64 1.14e+03 2.05e+03 0.0387 0 0 0 Tower initStep - 1 -64 1.14e+03 2.05e+03 0.0386 0.000142 0.00011 0.00011 Tower msc - 2 -64 1.14e+03 2.05e+03 0 0.0386 0.00545 0.00556 Tower eIoni + 0 21 1.69e+03 3.21e+03 0.00635 0 0 0 WorldPhysical initStep + 1 20.4 1.69e+03 3.21e+03 0.000776 0.00558 1.09 1.09 WorldPhysical eIoni + 2 20.4 1.69e+03 3.21e+03 0 0.000776 0.0421 1.14 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 39 +* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -68 1.13e+03 2.06e+03 0.408 0 0 0 Tower initStep - 1 -68 1.13e+03 2.06e+03 0.404 0.0038 0.00482 0.00482 Tower msc - 2 -68 1.13e+03 2.06e+03 0 0.404 0.238 0.243 Tower eIoni + 0 17.1 1.65e+03 3.12e+03 0.00114 0 0 0 WorldPhysical initStep + 1 17.1 1.65e+03 3.12e+03 0 0.00114 0.0696 0.0696 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 39 +* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -66.8 1.14e+03 2.05e+03 2.55 0 0 0 Tower initStep - 1 -66.7 1.14e+03 2.05e+03 2.52 0.0322 0.0461 0.0461 Tower msc - 2 -65.7 1.14e+03 2.05e+03 0.405 2.11 1.69 1.73 Tower eIoni - 3 -65.7 1.14e+03 2.05e+03 0 0.405 0.238 1.97 Tower eIoni + 0 16.1 1.64e+03 3.1e+03 0.00326 0 0 0 WorldPhysical initStep + 1 16.1 1.64e+03 3.1e+03 0.00055 0.00271 0.301 0.301 WorldPhysical eIoni + 2 16.1 1.64e+03 3.1e+03 0 0.00055 0.0287 0.33 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 38, Parent ID = 34 +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -85.6 1.14e+03 2.03e+03 0.946 0 0 0 Tower initStep - 1 -81.2 1.13e+03 2.04e+03 0.219 0 9.9 9.9 Tower compt - 2 -80.6 1.14e+03 2.04e+03 0.144 0 3.02 12.9 Tower compt - 3 -72.9 1.13e+03 2.04e+03 0.0942 0 8.68 21.6 Tower compt - 4 -73.2 1.13e+03 2.04e+03 0 0.00711 0.228 21.8 Tower phot + 0 15.1 1.63e+03 3.07e+03 0.00632 0 0 0 WorldPhysical initStep + 1 15.1 1.63e+03 3.07e+03 0 0.00632 1.08 1.08 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 38 +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -73.2 1.13e+03 2.04e+03 0.0871 0 0 0 Tower initStep - 1 -73.2 1.13e+03 2.04e+03 0.0861 0.000948 0.000434 0.000434 Tower msc - 2 -73.2 1.13e+03 2.04e+03 0 0.0861 0.0213 0.0217 Tower eIoni + 0 13.5 1.61e+03 3.04e+03 0.00133 0 0 0 WorldPhysical initStep + 1 13.5 1.61e+03 3.04e+03 0 0.00133 0.0855 0.0855 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 38 +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -72.9 1.13e+03 2.04e+03 0.0497 0 0 0 Tower initStep - 1 -72.9 1.13e+03 2.04e+03 0.0495 0.000282 0.000168 0.000168 Tower msc - 2 -72.9 1.13e+03 2.04e+03 0 0.0495 0.0083 0.00847 Tower eIoni + 0 5.21 1.54e+03 2.84e+03 0.00789 0 0 0 WorldPhysical initStep + 1 4.38 1.54e+03 2.84e+03 0.00294 0.00495 1.43 1.43 WorldPhysical eIoni + 2 4.33 1.53e+03 2.84e+03 0 0.00294 0.29 1.72 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 38 +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -80.6 1.14e+03 2.04e+03 0.0749 0 0 0 Tower initStep - 1 -80.6 1.14e+03 2.04e+03 0.0741 0.000749 0.000336 0.000336 Tower msc - 2 -80.6 1.14e+03 2.04e+03 0 0.0741 0.0165 0.0169 Tower eIoni + 0 4.91 1.53e+03 2.84e+03 0.00126 0 0 0 WorldPhysical initStep + 1 4.93 1.53e+03 2.84e+03 0 0.00126 0.0793 0.0793 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 38 +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -81.2 1.13e+03 2.04e+03 0.727 0 0 0 Tower initStep - 1 -81.2 1.13e+03 2.04e+03 0.72 0.00675 0.0105 0.0105 Tower msc - 2 -81.3 1.13e+03 2.04e+03 0 0.72 0.52 0.531 Tower eIoni + 0 1.74 1.5e+03 2.76e+03 0.00102 0 0 0 WorldPhysical initStep + 1 1.72 1.5e+03 2.76e+03 0 0.00102 0.0591 0.0591 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 37, Parent ID = 34 +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -85.7 1.14e+03 2.03e+03 0.636 0 0 0 Tower initStep - 1 -85.7 1.14e+03 2.03e+03 0.334 0 0.382 0.382 Tower compt - 2 -101 1.09e+03 2.04e+03 0.257 0 52.5 52.9 Tower compt - 3 -94.9 1.08e+03 2.06e+03 0.249 0 15.8 68.7 Tower compt - 4 -88 1.08e+03 2.06e+03 0.151 0 10.4 79.1 Tower compt - 5 -81.9 1.08e+03 2.05e+03 0.103 0 14.8 93.9 Tower compt - 6 -82.2 1.08e+03 2.05e+03 0 0.00711 0.347 94.2 Tower phot + 0 1.11 1.49e+03 2.75e+03 0.00221 0 0 0 WorldPhysical initStep + 1 1.04 1.49e+03 2.75e+03 0 0.00221 0.183 0.183 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 37 +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -82.2 1.08e+03 2.05e+03 0.0961 0 0 0 Tower initStep - 1 -82.2 1.08e+03 2.05e+03 0.0954 0.000789 0.00051 0.00051 Tower msc - 2 -82.2 1.08e+03 2.05e+03 0 0.0954 0.0252 0.0257 Tower eIoni + 0 -2.62 1.46e+03 2.66e+03 0.00147 0 0 0 WorldPhysical initStep + 1 -2.62 1.46e+03 2.66e+03 0 0.00147 0.0987 0.0987 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 37 +* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -81.9 1.08e+03 2.05e+03 0.0476 0 0 0 Tower initStep - 1 -81.9 1.08e+03 2.05e+03 0.0468 0.000855 0.000156 0.000156 Tower msc - 2 -81.9 1.08e+03 2.05e+03 0 0.0468 0.00758 0.00773 Tower eIoni + 0 -4.55 1.44e+03 2.61e+03 0.0016 0 0 0 WorldPhysical initStep + 1 -4.58 1.44e+03 2.61e+03 0 0.0016 0.111 0.111 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 37 +* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -88 1.08e+03 2.06e+03 0.0981 0 0 0 Tower initStep - 1 -88 1.08e+03 2.06e+03 0.0972 0.000938 0.000527 0.000527 Tower msc - 2 -88 1.08e+03 2.06e+03 0 0.0972 0.0259 0.0265 Tower eIoni + 0 -4.69 1.44e+03 2.61e+03 0.00184 0 0 0 WorldPhysical initStep + 1 -4.75 1.44e+03 2.61e+03 0 0.00184 0.138 0.138 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 37 +* G4Track Information: Particle = e-, Track ID = 35, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -94.9 1.08e+03 2.06e+03 0.00791 0 0 0 Tower initStep - 1 -94.9 1.08e+03 2.06e+03 0.0079 1.08e-05 7.59e-06 7.59e-06 Tower msc - 2 -94.9 1.08e+03 2.06e+03 0 0.0079 0.000379 0.000387 Tower eIoni + 0 -5.18 1.43e+03 2.59e+03 0.011 0 0 0 WorldPhysical initStep + 1 -4.8 1.43e+03 2.59e+03 0.00689 0.00409 1.93 1.93 WorldPhysical eIoni + 2 -4.87 1.43e+03 2.59e+03 0.00182 0.00507 1.23 3.16 WorldPhysical eIoni + 3 -4.9 1.43e+03 2.59e+03 0 0.00182 0.135 3.3 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 37 +* G4Track Information: Particle = e-, Track ID = 34, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -101 1.09e+03 2.04e+03 0.0767 0 0 0 Tower initStep - 1 -101 1.09e+03 2.04e+03 0.0753 0.00133 0.000349 0.000349 Tower msc - 2 -101 1.09e+03 2.04e+03 0 0.0753 0.017 0.0173 Tower eIoni + 0 -6.26 1.42e+03 2.57e+03 0.00264 0 0 0 WorldPhysical initStep + 1 -6.18 1.42e+03 2.57e+03 0 0.00264 0.244 0.244 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 37 +* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -85.7 1.14e+03 2.03e+03 0.303 0 0 0 Tower initStep - 1 -85.7 1.14e+03 2.03e+03 0.298 0.00464 0.00314 0.00314 Tower msc - 2 -85.6 1.14e+03 2.03e+03 0 0.298 0.153 0.157 Tower eIoni + 0 -8.4 1.4e+03 2.52e+03 0.00213 0 0 0 WorldPhysical initStep + 1 -8.39 1.4e+03 2.52e+03 0 0.00213 0.173 0.173 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 36, Parent ID = 34 +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -86.4 1.14e+03 2.03e+03 1.34 0 0 0 Tower initStep - 1 -86.4 1.14e+03 2.03e+03 0.331 0 0.0644 0.0644 Tower compt - 2 -82.5 1.15e+03 2.03e+03 0.289 0 6.06 6.12 Tower compt - 3 -82.3 1.15e+03 2.03e+03 0.228 0 3.14 9.26 Tower compt - 4 -78.4 1.15e+03 2.03e+03 0.228 0 4.46 13.7 HadCaloPhysical CoupledTransportation - 5 138 1.25e+03 2.1e+03 0.228 0 248 262 WorldPhysical CoupledTransportation - 6 246 1.3e+03 2.14e+03 0.228 0 4.43e+03 4.7e+03 WorldPhysical CoupledTransportation - 7 4e+03 3.04e+03 3.35e+03 0.228 0 4.31e+03 9.01e+03 OutOfWorld CoupledTransportation + 0 -10.3 1.38e+03 2.47e+03 0.00483 0 0 0 WorldPhysical initStep + 1 -10.2 1.38e+03 2.47e+03 0 0.00483 0.679 0.679 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 36 +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -82.3 1.15e+03 2.03e+03 0.0607 0 0 0 Tower initStep - 1 -82.3 1.15e+03 2.03e+03 0.0603 0.000374 0.000236 0.000236 Tower msc - 2 -82.3 1.15e+03 2.03e+03 0 0.0603 0.0117 0.0119 Tower eIoni + 0 -22 1.27e+03 2.19e+03 0.00154 0 0 0 WorldPhysical initStep + 1 -22 1.27e+03 2.19e+03 0.00153 9.9e-06 0.00292 0.00292 WorldPhysical msc + 2 -22 1.27e+03 2.19e+03 0 0.00153 0.104 0.107 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 36 +* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -82.5 1.15e+03 2.03e+03 0.042 0 0 0 Tower initStep - 1 -82.5 1.15e+03 2.03e+03 0.0414 0.000536 0.000126 0.000126 Tower msc - 2 -82.5 1.15e+03 2.03e+03 0 0.0414 0.00616 0.00629 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 36 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -86.4 1.14e+03 2.03e+03 1.01 0 0 0 Tower initStep - 1 -86.4 1.14e+03 2.03e+03 1 0.0124 0.0159 0.0159 Tower msc - 2 -86.2 1.14e+03 2.03e+03 0.29 0.3 0.367 0.383 Tower eBrem - 3 -86.2 1.14e+03 2.03e+03 0 0.29 0.148 0.53 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 65, Parent ID = 62 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -86.2 1.14e+03 2.03e+03 0.41 0 0 0 Tower initStep - 1 -53.5 1.13e+03 2.02e+03 0.329 0 34.1 34.1 Tower compt - 2 -50 1.13e+03 2.02e+03 0.329 0 6.86 41 Tower CoupledTransportation - 3 -45.9 1.13e+03 2.01e+03 0.292 0 8.01 49 Tower compt - 4 -45.6 1.13e+03 2.01e+03 0.195 0 1.6 50.6 Tower compt - 5 -35.1 1.14e+03 2.01e+03 0 0.00711 13.6 64.2 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 65 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -35.1 1.14e+03 2.01e+03 0.188 0 0 0 Tower initStep - 1 -35.1 1.14e+03 2.01e+03 0.186 0.00168 0.00152 0.00152 Tower msc - 2 -35.1 1.14e+03 2.01e+03 0 0.186 0.0748 0.0763 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 68, Parent ID = 65 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -45.6 1.13e+03 2.01e+03 0.0971 0 0 0 Tower initStep - 1 -45.6 1.13e+03 2.01e+03 0.0962 0.000892 0.000518 0.000518 Tower msc - 2 -45.6 1.13e+03 2.01e+03 0 0.0962 0.0255 0.026 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 67, Parent ID = 65 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -45.9 1.13e+03 2.01e+03 0.0366 0 0 0 Tower initStep - 1 -45.9 1.13e+03 2.01e+03 0.0353 0.00132 9.99e-05 9.99e-05 Tower msc - 2 -45.9 1.13e+03 2.01e+03 0 0.0353 0.00469 0.00479 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 65 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -53.5 1.13e+03 2.02e+03 0.0807 0 0 0 Tower initStep - 1 -53.5 1.13e+03 2.02e+03 0.0799 0.000798 0.00038 0.00038 Tower msc - 2 -53.5 1.13e+03 2.02e+03 0 0.0799 0.0187 0.0191 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 35, Parent ID = 34 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -87.9 1.14e+03 2.03e+03 0.491 0 0 0 Tower initStep - 1 -70.3 1.14e+03 2.06e+03 0.272 0 37.8 37.8 Tower compt - 2 -71 1.13e+03 2.06e+03 0.25 0 1.26 39.1 Tower compt - 3 -72 1.13e+03 2.06e+03 0.184 0 1.89 41 Tower compt - 4 -66.7 1.13e+03 2.06e+03 0.126 0 7.91 48.9 Tower compt - 5 -65.9 1.13e+03 2.06e+03 0.12 0 3.83 52.7 Tower compt - 6 -56.6 1.12e+03 2.08e+03 0.0958 0 16.1 68.8 Tower compt - 7 -55.5 1.12e+03 2.07e+03 0.0911 0 1.65 70.4 Tower compt - 8 -55.4 1.12e+03 2.07e+03 0 0.00711 1.89 72.3 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 77, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -55.4 1.12e+03 2.07e+03 0.084 0 0 0 Tower initStep - 1 -55.4 1.12e+03 2.07e+03 0.0827 0.00133 0.000408 0.000408 Tower msc - 2 -55.3 1.12e+03 2.07e+03 0 0.0827 0.0198 0.0203 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 76, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -55.5 1.12e+03 2.07e+03 0.00463 0 0 0 Tower initStep - 1 -55.5 1.12e+03 2.07e+03 0.00463 0 3.27e-06 3.27e-06 Tower msc - 2 -55.5 1.12e+03 2.07e+03 0 0.00463 0.000163 0.000167 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -56.6 1.12e+03 2.08e+03 0.024 0 0 0 Tower initStep - 1 -56.6 1.12e+03 2.08e+03 0.0238 0.000137 4.85e-05 4.85e-05 Tower msc - 2 -56.6 1.12e+03 2.08e+03 0 0.0238 0.0024 0.00245 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -65.9 1.13e+03 2.06e+03 0.00635 0 0 0 Tower initStep - 1 -65.9 1.13e+03 2.06e+03 0.00635 0 5.34e-06 5.34e-06 Tower msc - 2 -65.9 1.13e+03 2.06e+03 0 0.00635 0.000267 0.000272 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -66.7 1.13e+03 2.06e+03 0.0578 0 0 0 Tower initStep - 1 -66.7 1.13e+03 2.06e+03 0.0565 0.00132 0.000218 0.000218 Tower msc - 2 -66.7 1.13e+03 2.06e+03 0 0.0565 0.0105 0.0107 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -72 1.13e+03 2.06e+03 0.0656 0 0 0 Tower initStep - 1 -72 1.13e+03 2.06e+03 0.065 0.000533 0.000268 0.000268 Tower msc - 2 -72 1.13e+03 2.06e+03 0 0.065 0.0132 0.0135 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -71 1.13e+03 2.06e+03 0.0227 0 0 0 Tower initStep - 1 -71 1.13e+03 2.06e+03 0.0226 4.25e-05 4.42e-05 4.42e-05 Tower msc - 2 -71 1.13e+03 2.06e+03 0 0.0226 0.0022 0.00225 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -70.3 1.14e+03 2.06e+03 0.219 0 0 0 Tower initStep - 1 -70.3 1.14e+03 2.06e+03 0.217 0.00199 0.00192 0.00192 Tower msc - 2 -70.3 1.14e+03 2.06e+03 0 0.217 0.0947 0.0966 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = anti_nu_e, Track ID = 33, Parent ID = 31 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -88.7 1.14e+03 2.03e+03 34.4 0 0 0 Tower initStep - 1 -150 1.07e+03 2.17e+03 34.4 0 174 174 Tower CoupledTransportation - 2 -166 1.05e+03 2.21e+03 34.4 0 46.2 220 Tower CoupledTransportation - 3 -250 950 2.41e+03 34.4 0 237 457 Tower CoupledTransportation - 4 -250 950 2.41e+03 34.4 0 0.493 457 Tower CoupledTransportation - 5 -267 930 2.45e+03 34.4 0 47.5 505 HadCaloPhysical CoupledTransportation - 6 -288 905 2.5e+03 34.4 0 59.8 565 WorldPhysical CoupledTransportation - 7 -309 880 2.55e+03 34.4 0 1.8e+03 2.36e+03 WorldPhysical CoupledTransportation - 8 -922 149 4e+03 34.4 0 1.74e+03 4.1e+03 OutOfWorld CoupledTransportation - -********************************************************************************************************* -* G4Track Information: Particle = nu_mu, Track ID = 32, Parent ID = 31 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -88.7 1.14e+03 2.03e+03 51 0 0 0 Tower initStep - 1 -86.5 1.15e+03 2.01e+03 51 0 16.1 16.1 HadCaloPhysical CoupledTransportation - 2 -57.8 1.25e+03 1.82e+03 51 0 216 232 WorldPhysical CoupledTransportation - 3 -43.4 1.3e+03 1.73e+03 51 0 5.94e+03 6.18e+03 WorldPhysical CoupledTransportation - 4 732 4e+03 -3.39e+03 51 0 5.84e+03 1.2e+04 OutOfWorld CoupledTransportation - -********************************************************************************************************* -* G4Track Information: Particle = anti_nu_mu, Track ID = 30, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -88.9 1.14e+03 2.03e+03 29.8 0 0 0 Tower initStep - 1 -150 1.07e+03 2.03e+03 29.8 0 96.6 96.6 Tower CoupledTransportation - 2 -164 1.05e+03 2.03e+03 29.8 0 22.9 119 Tower CoupledTransportation - 3 -246 950 2.04e+03 29.8 0 129 249 Tower CoupledTransportation - 4 -250 946 2.04e+03 29.8 0 5.66 255 Tower CoupledTransportation - 5 -328 850 2.05e+03 29.8 0 124 378 Tower CoupledTransportation - 6 -350 824 2.05e+03 29.8 0 34.2 413 Tower CoupledTransportation - 7 -410 750 2.05e+03 29.8 0 95.2 508 Tower CoupledTransportation - 8 -450 702 2.05e+03 29.8 0 62.8 570 Tower CoupledTransportation - 9 -492 650 2.06e+03 29.8 0 66.7 637 Tower CoupledTransportation - 10 -550 579 2.06e+03 29.8 0 91.3 728 Tower CoupledTransportation - 11 -574 550 2.06e+03 29.8 0 38.1 767 Tower CoupledTransportation - 12 -650 457 2.07e+03 29.8 0 120 886 Tower CoupledTransportation - 13 -656 450 2.07e+03 29.8 0 9.55 896 Tower CoupledTransportation - 14 -738 350 2.08e+03 29.8 0 129 1.03e+03 Tower CoupledTransportation - 15 -750 335 2.08e+03 29.8 0 19 1.04e+03 Tower CoupledTransportation - 16 -820 250 2.08e+03 29.8 0 110 1.15e+03 Tower CoupledTransportation - 17 -850 213 2.08e+03 29.8 0 47.5 1.2e+03 Tower CoupledTransportation - 18 -902 150 2.09e+03 29.8 0 81.9 1.28e+03 Tower CoupledTransportation - 19 -950 91.2 2.09e+03 29.8 0 76.1 1.36e+03 Tower CoupledTransportation - 20 -984 50 2.09e+03 29.8 0 53.3 1.41e+03 Tower CoupledTransportation - 21 -1.05e+03 -30.9 2.1e+03 29.8 0 105 1.52e+03 Tower CoupledTransportation - 22 -1.07e+03 -50 2.1e+03 29.8 0 24.8 1.54e+03 Tower CoupledTransportation - 23 -1.15e+03 -150 2.1e+03 29.8 0 129 1.67e+03 Tower CoupledTransportation - 24 -1.15e+03 -153 2.1e+03 29.8 0 3.79 1.68e+03 HadCaloPhysical CoupledTransportation - 25 -1.25e+03 -275 2.11e+03 29.8 0 158 1.83e+03 WorldPhysical CoupledTransportation - 26 -1.3e+03 -336 2.12e+03 29.8 0 4.34e+03 6.18e+03 WorldPhysical CoupledTransportation - 27 -4e+03 -3.63e+03 2.31e+03 29.8 0 4.26e+03 1.04e+04 OutOfWorld CoupledTransportation + 0 -14.2 887 1.46e+03 0.00158 0 0 0 WorldPhysical initStep + 1 -14.2 887 1.46e+03 0.00138 0.000195 0.0031 0.0031 WorldPhysical msc + 2 -14.2 887 1.46e+03 0 0.00138 0.0905 0.0936 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 29, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 8.54 840 1.4e+03 1.93 0 0 0 Crystal initStep - 1 8.58 840 1.4e+03 1.9 0.0208 0.069 0.069 Crystal msc - 2 8.49 841 1.4e+03 0.904 1 2.05 2.12 Crystal eIoni - 3 8.24 841 1.4e+03 0.21 0.694 1.34 3.46 Crystal eIoni - 4 8.22 841 1.4e+03 0 0.21 0.193 3.65 Crystal eIoni + 0 -12.3 853 1.41e+03 0.0011 0 0 0 WorldPhysical initStep + 1 -12.3 853 1.41e+03 0.00109 1.61e-05 0.00165 0.00165 WorldPhysical msc + 2 -12.3 853 1.41e+03 0 0.00109 0.0648 0.0665 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 28, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 8.92 837 1.39e+03 0.848 0 0 0 Crystal initStep - 1 8.91 837 1.39e+03 0.833 0.0143 0.0269 0.0269 Crystal msc - 2 8.85 837 1.39e+03 0.45 0.231 0.448 0.475 Crystal eBrem - 3 8.88 837 1.39e+03 0 0.45 0.589 1.06 Crystal eIoni + 0 -11.7 842 1.39e+03 0.899 0 0 0 Crystal initStep + 1 -11.6 842 1.39e+03 0.89 0.00871 0.0289 0.0289 Crystal msc + 2 -11.7 842 1.39e+03 0.637 0.0983 0.224 0.253 Crystal eBrem + 3 -11.8 842 1.39e+03 0 0.637 0.937 1.19 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 78, Parent ID = 28 +* G4Track Information: Particle = gamma, Track ID = 60, Parent ID = 28 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 8.85 837 1.39e+03 0.152 0 0 0 Crystal initStep - 1 8.99 837 1.39e+03 0.101 0 0.395 0.395 Crystal compt - 2 9.25 837 1.39e+03 0 0.0332 0.691 1.09 Crystal phot + 0 -11.7 842 1.39e+03 0.155 0 0 0 Crystal initStep + 1 -12.8 842 1.39e+03 0 0.0332 1.15 1.15 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 80, Parent ID = 78 +* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 60 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.25 837 1.39e+03 0.0682 0 0 0 Crystal initStep - 1 9.25 837 1.39e+03 0.0679 0.000279 0.000631 0.000631 Crystal msc - 2 9.25 837 1.39e+03 0 0.0679 0.0313 0.032 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 78 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 8.99 837 1.39e+03 0.0509 0 0 0 Crystal initStep - 1 8.99 837 1.39e+03 0.0507 0.000163 0.000386 0.000386 Crystal msc - 2 8.99 837 1.39e+03 0 0.0507 0.0192 0.0196 Crystal eIoni + 0 -12.8 842 1.39e+03 0.121 0 0 0 Crystal initStep + 1 -12.8 842 1.39e+03 0.121 0.000459 0.00163 0.00163 Crystal msc + 2 -12.8 842 1.39e+03 0 0.121 0.0808 0.0824 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 27, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 8.95 837 1.39e+03 1.67 0 0 0 Crystal initStep - 1 8.95 837 1.39e+03 1.65 0.0288 0.0591 0.0591 Crystal msc - 2 9.37 837 1.39e+03 1.04 0.382 0.896 0.955 Crystal eBrem - 3 9.12 837 1.39e+03 0.189 0.855 1.48 2.44 Crystal eIoni - 4 9.12 837 1.39e+03 0 0.189 0.164 2.6 Crystal eIoni + 0 -10.8 829 1.37e+03 19 0 0 0 Crystal initStep + 1 -10.8 829 1.37e+03 18.8 0.0916 0.197 0.197 Crystal eBrem + 2 -10.9 830 1.37e+03 17.9 0.192 0.359 0.556 Crystal eIoni + 3 -11.3 830 1.37e+03 15.9 1.65 2.34 2.9 Crystal eBrem + 4 -11.5 830 1.38e+03 14.9 0.909 1.73 4.62 Crystal eBrem + 5 -12.9 830 1.38e+03 12.6 1.3 2.81 7.43 Crystal eIoni + 6 -13 830 1.38e+03 11.5 0.0315 0.0663 7.5 Crystal eIoni + 7 -13.6 831 1.38e+03 11.1 0.313 0.737 8.23 Crystal eBrem + 8 -14.3 830 1.38e+03 10.5 0.468 0.891 9.12 Crystal eBrem + 9 -15.4 831 1.38e+03 9.79 0.635 1.36 10.5 Crystal eBrem + 10 -16.5 830 1.38e+03 8.7 0.993 1.57 12 Crystal eBrem + 11 -16.6 830 1.38e+03 8.33 0.0789 0.155 12.2 Crystal eBrem + 12 -18.3 830 1.38e+03 6.8 1.38 2.35 14.5 Crystal eBrem + 13 -19.3 830 1.38e+03 4.27 0.665 1.2 15.7 Crystal eBrem + 14 -19.9 830 1.38e+03 2.9 0.442 0.801 16.5 Crystal eBrem + 15 -20.2 830 1.38e+03 2.72 0.115 0.306 16.9 Crystal eBrem + 16 -20.7 830 1.38e+03 1.9 0.25 0.667 17.5 Crystal eBrem + 17 -20.9 830 1.38e+03 0.939 0.957 2.04 19.6 Crystal eIoni + 18 -21 829 1.38e+03 0.271 0.668 1.38 20.9 Crystal eIoni + 19 -20.9 830 1.38e+03 0.0743 0.197 0.157 21.1 Crystal eBrem + 20 -20.9 830 1.38e+03 0 0.0743 0.0364 21.1 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 81, Parent ID = 27 +* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 27 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.37 837 1.39e+03 0.219 0 0 0 Crystal initStep - 1 12.5 832 1.37e+03 0 0.0332 20.1 20.1 Crystal phot + 0 -20.7 830 1.38e+03 0.57 0 0 0 Crystal initStep + 1 -22 830 1.38e+03 0.291 0 1.65 1.65 Crystal compt + 2 -24.7 830 1.38e+03 0 0.0332 4.01 5.66 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 81 +* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 77 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 12.5 832 1.37e+03 0.186 0 0 0 Crystal initStep - 1 12.5 832 1.37e+03 0.185 0.00097 0.00321 0.00321 Crystal msc - 2 12.5 832 1.37e+03 0 0.185 0.159 0.163 Crystal eIoni + 0 -24.7 830 1.38e+03 0.258 0 0 0 Crystal initStep + 1 -24.7 830 1.38e+03 0.255 0.00245 0.00528 0.00528 Crystal msc + 2 -24.7 830 1.38e+03 0 0.255 0.26 0.265 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 77 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -22 830 1.38e+03 0.279 0 0 0 Crystal initStep + 1 -22 830 1.38e+03 0.277 0.00188 0.00594 0.00594 Crystal msc + 2 -22.1 830 1.38e+03 0 0.277 0.294 0.3 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -20.2 830 1.38e+03 0.0694 0 0 0 Crystal initStep + 1 -20.8 830 1.38e+03 0 0.0332 0.546 0.546 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 80, Parent ID = 76 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -20.8 830 1.38e+03 0.0362 0 0 0 Crystal initStep + 1 -20.8 830 1.38e+03 0.0362 2.26e-05 0.000219 0.000219 Crystal msc + 2 -20.8 830 1.38e+03 0 0.0362 0.011 0.0112 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 75, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -19.9 830 1.38e+03 0.933 0 0 0 Crystal initStep + 1 -50 822 1.38e+03 0.933 0 31.2 31.2 Crystal CoupledTransportation + 2 -100 809 1.39e+03 0.933 0 51.9 83.1 Crystal CoupledTransportation + 3 -107 807 1.39e+03 0.335 0 6.76 89.9 Crystal compt + 4 -108 805 1.38e+03 0 0.0332 15.5 105 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 75 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -108 805 1.38e+03 0.302 0 0 0 Crystal initStep + 1 -108 805 1.38e+03 0.299 0.00318 0.00667 0.00667 Crystal msc + 2 -108 805 1.38e+03 0 0.299 0.329 0.335 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 75 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -107 807 1.39e+03 0.598 0 0 0 Crystal initStep + 1 -107 807 1.39e+03 0.589 0.00918 0.0173 0.0173 Crystal msc + 2 -107 807 1.39e+03 0 0.589 0.847 0.864 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 74, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -19.3 830 1.38e+03 1.86 0 0 0 Crystal initStep + 1 -50 823 1.38e+03 1.86 0 31.5 31.5 Crystal CoupledTransportation + 2 -64.3 820 1.38e+03 0.303 0 14.7 46.2 Crystal compt + 3 -64.1 819 1.38e+03 0.229 0 0.499 46.7 Crystal compt + 4 -64.2 821 1.38e+03 0 0.0332 3.8 50.5 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 74 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -64.2 821 1.38e+03 0.196 0 0 0 Crystal initStep + 1 -64.2 821 1.38e+03 0.194 0.00168 0.00346 0.00346 Crystal msc + 2 -64.2 821 1.38e+03 0 0.194 0.171 0.174 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 74 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -64.1 819 1.38e+03 0.0747 0 0 0 Crystal initStep + 1 -64.1 819 1.38e+03 0.0725 0.00217 0.000733 0.000733 Crystal msc + 2 -64.1 819 1.38e+03 0 0.0725 0.0349 0.0357 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 74 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -64.3 820 1.38e+03 1.56 0 0 0 Crystal initStep + 1 -64.4 820 1.38e+03 1.52 0.0318 0.0545 0.0545 Crystal msc + 2 -64.9 820 1.38e+03 0.55 0.974 1.83 1.89 Crystal eIoni + 3 -64.9 820 1.38e+03 0 0.55 0.773 2.66 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 73, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -18.3 830 1.38e+03 0.156 0 0 0 Crystal initStep + 1 -20.4 830 1.38e+03 0 0.0332 2.2 2.2 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 73 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -20.4 830 1.38e+03 0.123 0 0 0 Crystal initStep + 1 -20.4 830 1.38e+03 0.121 0.00211 0.00165 0.00165 Crystal msc + 2 -20.4 830 1.38e+03 0 0.121 0.0804 0.082 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 72, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -16.6 830 1.38e+03 0.286 0 0 0 Crystal initStep + 1 -20.4 830 1.38e+03 0.225 0 4.67 4.67 Crystal compt + 2 -23.3 830 1.38e+03 0 0.0332 3.24 7.91 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 72 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -23.3 830 1.38e+03 0.192 0 0 0 Crystal initStep + 1 -23.3 830 1.38e+03 0.189 0.00268 0.00335 0.00335 Crystal msc + 2 -23.3 830 1.38e+03 0 0.189 0.164 0.168 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 87, Parent ID = 72 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -20.4 830 1.38e+03 0.0612 0 0 0 Crystal initStep + 1 -20.4 830 1.38e+03 0.06 0.00117 0.000526 0.000526 Crystal msc + 2 -20.4 830 1.38e+03 0 0.06 0.0255 0.026 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 71, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -16.5 830 1.38e+03 0.102 0 0 0 Crystal initStep + 1 -17.2 830 1.38e+03 0.0936 0 0.948 0.948 Crystal compt + 2 -17.6 830 1.38e+03 0 0.0332 1.16 2.11 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 71 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -17.6 830 1.38e+03 0.0605 0 0 0 Crystal initStep + 1 -17.6 830 1.38e+03 0.0603 0.000111 0.000516 0.000516 Crystal msc + 2 -17.6 830 1.38e+03 0 0.0603 0.0257 0.0262 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 71 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -17.2 830 1.38e+03 0.00811 0 0 0 Crystal initStep + 1 -17.2 830 1.38e+03 0.00811 0 1.92e-05 1.92e-05 Crystal msc + 2 -17.2 830 1.38e+03 0 0.00811 0.000959 0.000978 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 70, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -15.4 831 1.38e+03 0.115 0 0 0 Crystal initStep + 1 -16.2 830 1.38e+03 0.111 0 0.879 0.879 Crystal compt + 2 -16.7 830 1.38e+03 0 0.0332 0.54 1.42 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 70 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -16.7 830 1.38e+03 0.0775 0 0 0 Crystal initStep + 1 -16.7 830 1.38e+03 0.0775 8.05e-05 0.000779 0.000779 Crystal msc + 2 -16.7 830 1.38e+03 0 0.0775 0.0389 0.0396 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 70 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -16.2 830 1.38e+03 0.0044 0 0 0 Crystal initStep + 1 -16.2 830 1.38e+03 0.00439 1.57e-05 7.66e-06 7.66e-06 Crystal msc + 2 -16.2 830 1.38e+03 0 0.00439 0.000381 0.000389 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 69, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -14.3 830 1.38e+03 0.106 0 0 0 Crystal initStep + 1 -14.4 830 1.38e+03 0 0.0332 0.24 0.24 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 69 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -14.4 830 1.38e+03 0.0728 0 0 0 Crystal initStep + 1 -14.4 830 1.38e+03 0.0722 0.000621 0.000705 0.000705 Crystal msc + 2 -14.4 830 1.38e+03 0 0.0722 0.0347 0.0355 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -13.6 831 1.38e+03 0.0509 0 0 0 Crystal initStep + 1 -13.6 831 1.38e+03 0 0.0332 0.0217 0.0217 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 68 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -13.6 831 1.38e+03 0.0177 0 0 0 Crystal initStep + 1 -13.6 831 1.38e+03 0.0171 0.000634 6.7e-05 6.7e-05 Crystal msc + 2 -13.6 831 1.38e+03 0 0.0171 0.00315 0.00322 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 67, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -13 830 1.38e+03 1.1 0 0 0 Crystal initStep + 1 -13 830 1.38e+03 1.09 0.00871 0.0366 0.0366 Crystal msc + 2 -12.8 831 1.38e+03 0.539 0.462 1.07 1.11 Crystal eBrem + 3 -12.8 831 1.38e+03 0 0.539 0.753 1.86 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 95, Parent ID = 67 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -12.8 831 1.38e+03 0.0873 0 0 0 Crystal initStep + 1 -13.2 831 1.38e+03 0 0.0332 0.421 0.421 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 95 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -13.2 831 1.38e+03 0.0542 0 0 0 Crystal initStep + 1 -13.2 831 1.38e+03 0.0539 0.000276 0.00043 0.00043 Crystal msc + 2 -13.2 831 1.38e+03 0 0.0539 0.0213 0.0218 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -12.9 830 1.38e+03 0.949 0 0 0 Crystal initStep + 1 -12.9 830 1.38e+03 0.934 0.0149 0.0308 0.0308 Crystal msc + 2 -12.7 831 1.38e+03 0.53 0.354 0.708 0.739 Crystal eBrem + 3 -12.7 831 1.38e+03 0 0.53 0.735 1.47 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 97, Parent ID = 66 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -12.7 831 1.38e+03 0.0497 0 0 0 Crystal initStep + 1 -12.7 831 1.38e+03 0 0.0332 0.00942 0.00942 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 97 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -12.7 831 1.38e+03 0.0166 0 0 0 Crystal initStep + 1 -12.7 831 1.38e+03 0.0157 0.000882 6e-05 6e-05 Crystal msc + 2 -12.7 831 1.38e+03 0 0.0157 0.00274 0.0028 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 65, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -11.5 830 1.38e+03 0.0879 0 0 0 Crystal initStep + 1 -11.5 830 1.38e+03 0 0.0332 0.075 0.075 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 65 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -11.5 830 1.38e+03 0.0548 0 0 0 Crystal initStep + 1 -11.5 830 1.38e+03 0.0546 0.0002 0.000438 0.000438 Crystal msc + 2 -11.5 830 1.38e+03 0 0.0546 0.0218 0.0222 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 64, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -11.3 830 1.37e+03 0.39 0 0 0 Crystal initStep + 1 -14.6 830 1.39e+03 0.332 0 12.4 12.4 Crystal compt + 2 -15.3 833 1.39e+03 0.284 0 3.48 15.9 Crystal compt + 3 -32.6 839 1.4e+03 0.284 0 21.4 37.3 WorldPhysical CoupledTransportation + 4 -191 900 1.5e+03 0.284 0 197 234 HadCaloPhysical CoupledTransportation + 5 -270 931 1.55e+03 0.284 0 98.6 333 Tower CoupledTransportation + 6 -274 932 1.55e+03 0 0.00711 4.76 338 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 102, Parent ID = 64 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -274 932 1.55e+03 0.277 0 0 0 Tower initStep + 1 -274 932 1.55e+03 0.273 0.00426 0.00276 0.00276 Tower msc + 2 -274 932 1.55e+03 0 0.273 0.135 0.137 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 64 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -15.3 833 1.39e+03 0.048 0 0 0 Crystal initStep + 1 -15.3 833 1.39e+03 0.0479 7.97e-05 0.00035 0.00035 Crystal msc + 2 -15.3 833 1.39e+03 0 0.0479 0.0175 0.0178 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 100, Parent ID = 64 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -14.6 830 1.39e+03 0.0579 0 0 0 Crystal initStep + 1 -14.6 830 1.39e+03 0.0578 2.38e-05 0.00048 0.00048 Crystal msc + 2 -14.6 830 1.39e+03 0 0.0578 0.024 0.0245 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -10.9 830 1.37e+03 0.715 0 0 0 Crystal initStep + 1 -10.9 830 1.37e+03 0.707 0.00799 0.0217 0.0217 Crystal msc + 2 -10.8 830 1.37e+03 0.597 0.061 0.149 0.171 Crystal eBrem + 3 -10.8 830 1.37e+03 0 0.597 0.861 1.03 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 103, Parent ID = 63 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -10.8 830 1.37e+03 0.0489 0 0 0 Crystal initStep + 1 -10.8 830 1.37e+03 0 0.0332 0.0611 0.0611 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 104, Parent ID = 103 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -10.8 830 1.37e+03 0.0158 0 0 0 Crystal initStep + 1 -10.8 830 1.37e+03 0.0157 1.6e-05 5.5e-05 5.5e-05 Crystal msc + 2 -10.8 830 1.37e+03 0 0.0157 0.00275 0.0028 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 62, Parent ID = 27 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -10.8 829 1.37e+03 0.0889 0 0 0 Crystal initStep + 1 -10.9 830 1.37e+03 0 0.0332 0.193 0.193 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 62 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -10.9 830 1.37e+03 0.0558 0 0 0 Crystal initStep + 1 -10.9 830 1.37e+03 0.0552 0.000553 0.000452 0.000452 Crystal msc + 2 -10.9 830 1.37e+03 0 0.0552 0.0222 0.0227 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 26, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.88 815 1.35e+03 0.85 0 0 0 Crystal initStep - 1 9.89 815 1.35e+03 0.829 0.0213 0.027 0.027 Crystal msc - 2 9.69 815 1.35e+03 0.153 0.676 1.25 1.28 Crystal eIoni - 3 9.69 815 1.35e+03 0 0.153 0.117 1.39 Crystal eIoni + 0 -10.6 827 1.37e+03 0.708 0 0 0 Crystal initStep + 1 -10.6 827 1.37e+03 0.695 0.0129 0.0215 0.0215 Crystal msc + 2 -10.6 827 1.37e+03 0.191 0.504 1.05 1.07 Crystal eIoni + 3 -10.7 827 1.37e+03 0 0.191 0.167 1.24 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 25, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.89 814 1.35e+03 1.11 0 0 0 Crystal initStep - 1 9.88 814 1.35e+03 1.1 0.0131 0.0372 0.0372 Crystal msc - 2 9.72 815 1.35e+03 0.348 0.752 1.53 1.57 Crystal eIoni - 3 9.69 815 1.35e+03 0 0.348 0.411 1.98 Crystal eIoni + 0 -9.98 822 1.36e+03 1.07 0 0 0 Crystal initStep + 1 -9.97 822 1.36e+03 1.06 0.0101 0.0353 0.0353 Crystal msc + 2 -9.93 823 1.36e+03 0 1.06 1.49 1.53 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 24, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.92 812 1.34e+03 1.8 0 0 0 Crystal initStep - 1 9.88 812 1.34e+03 1.77 0.0316 0.064 0.064 Crystal msc - 2 8.98 812 1.34e+03 0.87 0.899 1.97 2.04 Crystal eIoni - 3 9.25 812 1.34e+03 0.192 0.332 0.799 2.84 Crystal eBrem - 4 9.25 812 1.34e+03 0 0.192 0.169 3 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 83, Parent ID = 24 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.25 812 1.34e+03 0.345 0 0 0 Crystal initStep - 1 10.8 800 1.35e+03 0.345 0 16 16 Crystal CoupledTransportation - 2 11.5 794 1.36e+03 0 0.0332 7.96 24 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 83 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 11.5 794 1.36e+03 0.312 0 0 0 Crystal initStep - 1 11.5 794 1.36e+03 0.308 0.00397 0.00699 0.00699 Crystal msc - 2 11.5 794 1.36e+03 0.0568 0.18 0.279 0.286 Crystal eBrem - 3 11.5 794 1.36e+03 0 0.0568 0.0233 0.31 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 85, Parent ID = 84 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 11.5 794 1.36e+03 0.0715 0 0 0 Crystal initStep - 1 11.8 794 1.36e+03 0 0.0332 0.413 0.413 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 85 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 11.8 794 1.36e+03 0.0383 0 0 0 Crystal initStep - 1 11.8 794 1.36e+03 0.0382 0.000177 0.000241 0.000241 Crystal msc - 2 11.8 794 1.36e+03 0 0.0382 0.0119 0.0122 Crystal eIoni + 0 -9.87 821 1.36e+03 1.1 0 0 0 Crystal initStep + 1 -9.86 821 1.36e+03 1.08 0.0233 0.0368 0.0368 Crystal msc + 2 -10.1 821 1.36e+03 0.328 0.75 1.51 1.55 Crystal eIoni + 3 -10.1 821 1.36e+03 0 0.328 0.377 1.93 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 23, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.9 811 1.34e+03 0.87 0 0 0 Crystal initStep - 1 9.89 811 1.34e+03 0.858 0.0122 0.0278 0.0278 Crystal msc - 2 9.85 810 1.34e+03 0.722 0.0644 0.131 0.159 Crystal eBrem - 3 9.93 810 1.34e+03 0.131 0.591 1.09 1.25 Crystal eIoni - 4 9.94 810 1.34e+03 0 0.131 0.0922 1.34 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 87, Parent ID = 23 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.85 810 1.34e+03 0.0718 0 0 0 Crystal initStep - 1 10.5 811 1.34e+03 0 0.0332 0.991 0.991 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 87 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 10.5 811 1.34e+03 0.0387 0 0 0 Crystal initStep - 1 10.5 811 1.34e+03 0.0385 0.000137 0.000244 0.000244 Crystal msc - 2 10.5 811 1.34e+03 0 0.0385 0.0121 0.0124 Crystal eIoni + 0 -9.86 821 1.36e+03 0.83 0 0 0 Crystal initStep + 1 -9.87 821 1.36e+03 0.807 0.023 0.0262 0.0262 Crystal msc + 2 -9.94 821 1.36e+03 0.0911 0.716 1.22 1.25 Crystal eIoni + 3 -9.94 821 1.36e+03 0 0.0911 0.051 1.3 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 22, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.81 807 1.33e+03 1.03 0 0 0 Crystal initStep - 1 9.82 807 1.33e+03 1.01 0.0198 0.034 0.034 Crystal msc - 2 9.83 807 1.33e+03 0 1.01 1.45 1.49 Crystal eIoni + 0 -6.28 789 1.3e+03 4.08 0 0 0 Crystal initStep + 1 -6.2 789 1.3e+03 3.89 0.19 0.196 0.196 Crystal msc + 2 -5.14 790 1.3e+03 2.5 1.39 1.55 1.75 Crystal msc + 3 -4.65 791 1.3e+03 1.71 0.793 1.55 3.3 Crystal msc + 4 -3.83 791 1.3e+03 0.753 0.956 1.94 5.24 Crystal eIoni + 5 -3.93 791 1.3e+03 0.123 0.629 1.14 6.38 Crystal eIoni + 6 -3.93 791 1.3e+03 0 0.123 0.0834 6.46 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 21, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.4 746 1.23e+03 12.6 0 0 0 Crystal initStep - 1 5.39 746 1.23e+03 11.4 0.0234 0.0567 0.0567 Crystal eIoni - 2 5.38 746 1.23e+03 9.67 0.0733 0.115 0.171 Crystal eBrem - 3 4.46 748 1.23e+03 8.56 1.11 2.17 2.34 Crystal msc - 4 4.77 749 1.23e+03 7.52 1.04 2.17 4.51 Crystal msc - 5 4.85 750 1.23e+03 7.22 0.301 0.638 5.15 Crystal CoupledTransportation - 6 4.86 751 1.23e+03 6.96 0.26 0.581 5.73 Crystal msc - 7 4.81 751 1.23e+03 6.66 0.299 0.581 6.31 Crystal msc - 8 4.53 751 1.23e+03 6.3 0.366 0.581 6.89 Crystal msc - 9 4.5 752 1.23e+03 6.02 0.279 0.581 7.47 Crystal msc - 10 4.5 752 1.23e+03 5.95 0.022 0.0509 7.53 Crystal eBrem - 11 4.47 752 1.23e+03 5.54 0.297 0.486 8.01 Crystal eBrem - 12 4.44 752 1.23e+03 4.27 0.303 0.426 8.44 Crystal eBrem - 13 4.76 753 1.23e+03 3.97 0.307 0.581 9.02 Crystal msc - 14 5.26 753 1.23e+03 3.61 0.351 0.581 9.6 Crystal msc - 15 5.73 752 1.23e+03 3.36 0.252 0.581 10.2 Crystal msc - 16 6.2 753 1.23e+03 2.99 0.368 0.581 10.8 Crystal msc - 17 6.54 753 1.23e+03 2.75 0.249 0.581 11.3 Crystal msc - 18 6.39 753 1.23e+03 2.5 0.242 0.581 11.9 Crystal msc - 19 5.9 754 1.23e+03 2.27 0.237 0.581 12.5 Crystal msc - 20 5.63 753 1.23e+03 2.02 0.245 0.581 13.1 Crystal msc - 21 5.27 753 1.23e+03 1.76 0.266 0.581 13.7 Crystal msc - 22 5.58 753 1.23e+03 1.49 0.263 0.581 14.2 Crystal msc - 23 5.53 753 1.23e+03 1.04 0.453 0.876 15.1 Crystal eBrem - 24 5.66 752 1.23e+03 0.418 0.584 0.782 15.9 Crystal eBrem - 25 5.63 752 1.23e+03 0 0.418 0.532 16.4 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 94, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.66 752 1.23e+03 0.0389 0 0 0 Crystal initStep - 1 5.59 752 1.23e+03 0 0.0332 0.0964 0.0964 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 95, Parent ID = 94 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.59 752 1.23e+03 0.00575 0 0 0 Crystal initStep - 1 5.59 752 1.23e+03 0.00572 2.92e-05 1.14e-05 1.14e-05 Crystal msc - 2 5.59 752 1.23e+03 0 0.00572 0.000565 0.000576 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 93, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.44 752 1.23e+03 0.964 0 0 0 Crystal initStep - 1 5.04 755 1.22e+03 0.696 0 6.34 6.34 Crystal compt - 2 9.35 774 1.21e+03 0.567 0 23.1 29.4 Crystal compt - 3 21.5 784 1.21e+03 0.464 0 17.5 46.9 Crystal compt - 4 23.9 800 1.2e+03 0.464 0 18.7 65.6 Crystal CoupledTransportation - 5 27.3 822 1.18e+03 0 0.0332 25.8 91.4 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 93 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 27.3 822 1.18e+03 0.431 0 0 0 Crystal initStep - 1 27.3 822 1.18e+03 0.425 0.00583 0.0111 0.0111 Crystal msc - 2 27.4 822 1.18e+03 0.175 0.141 0.211 0.223 Crystal eBrem - 3 27.4 822 1.18e+03 0 0.175 0.146 0.368 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 100, Parent ID = 99 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 27.4 822 1.18e+03 0.109 0 0 0 Crystal initStep - 1 27.5 822 1.18e+03 0 0.0332 0.445 0.445 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 100 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 27.5 822 1.18e+03 0.0762 0 0 0 Crystal initStep - 1 27.5 822 1.18e+03 0.0753 0.000868 0.000757 0.000757 Crystal msc - 2 27.5 822 1.18e+03 0 0.0753 0.0372 0.0379 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 98, Parent ID = 93 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 21.5 784 1.21e+03 0.103 0 0 0 Crystal initStep - 1 21.5 784 1.21e+03 0.102 0.000495 0.00124 0.00124 Crystal msc - 2 21.5 784 1.21e+03 0 0.102 0.0613 0.0625 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 93 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.35 774 1.21e+03 0.129 0 0 0 Crystal initStep - 1 9.35 774 1.21e+03 0.128 0.00125 0.00179 0.00179 Crystal msc - 2 9.34 774 1.21e+03 0 0.128 0.0879 0.0897 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 93 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.04 755 1.22e+03 0.268 0 0 0 Crystal initStep - 1 5.04 755 1.22e+03 0.264 0.00401 0.0056 0.0056 Crystal msc - 2 5.04 755 1.22e+03 0 0.264 0.274 0.279 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 92, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.47 752 1.23e+03 0.111 0 0 0 Crystal initStep - 1 5.13 752 1.23e+03 0 0.0332 3.32 3.32 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 102, Parent ID = 92 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.13 752 1.23e+03 0.0776 0 0 0 Crystal initStep - 1 5.13 752 1.23e+03 0.0767 0.000976 0.00078 0.00078 Crystal msc - 2 5.13 752 1.23e+03 0 0.0767 0.0382 0.039 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 91, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.5 752 1.23e+03 0.0503 0 0 0 Crystal initStep - 1 4.57 752 1.23e+03 0 0.0332 0.253 0.253 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 103, Parent ID = 91 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.57 752 1.23e+03 0.0171 0 0 0 Crystal initStep - 1 4.57 752 1.23e+03 0.0171 0 6.33e-05 6.33e-05 Crystal msc - 2 4.57 752 1.23e+03 0 0.0171 0.00317 0.00323 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 90, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.38 746 1.23e+03 1.68 0 0 0 Crystal initStep - 1 5.37 746 1.23e+03 0.972 0 0.112 0.112 Crystal compt - 2 7.36 750 1.23e+03 0.972 0 4.26 4.37 Crystal CoupledTransportation - 3 22.8 777 1.24e+03 0.809 0 33 37.4 Crystal compt - 4 32.1 794 1.26e+03 0.789 0 25.9 63.3 Crystal compt - 5 34.2 800 1.27e+03 0.789 0 8.6 71.9 Crystal CoupledTransportation - 6 44.6 832 1.29e+03 0 0.0332 42.8 115 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 107, Parent ID = 90 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 44.6 832 1.29e+03 0.756 0 0 0 Crystal initStep - 1 44.6 832 1.29e+03 0.693 0.0626 0.0233 0.0233 Crystal msc - 2 44.8 832 1.29e+03 0.0548 0.638 1.04 1.07 Crystal eIoni - 3 44.8 832 1.29e+03 0 0.0548 0.022 1.09 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 106, Parent ID = 90 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 32.1 794 1.26e+03 0.0201 0 0 0 Crystal initStep - 1 32.1 794 1.26e+03 0.0201 2.37e-05 8.2e-05 8.2e-05 Crystal msc - 2 32.1 794 1.26e+03 0 0.0201 0.00409 0.00418 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 105, Parent ID = 90 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 22.8 777 1.24e+03 0.163 0 0 0 Crystal initStep - 1 22.8 777 1.24e+03 0.162 0.00123 0.00261 0.00261 Crystal msc - 2 22.8 778 1.24e+03 0 0.162 0.129 0.131 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 104, Parent ID = 90 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.37 746 1.23e+03 0.711 0 0 0 Crystal initStep - 1 5.36 746 1.23e+03 0.701 0.0102 0.0216 0.0216 Crystal msc - 2 5.28 747 1.23e+03 0 0.701 1.06 1.08 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.39 746 1.23e+03 1.17 0 0 0 Crystal initStep - 1 5.41 746 1.23e+03 1.15 0.0176 0.0395 0.0395 Crystal msc - 2 5.43 747 1.23e+03 0.325 0.776 1.54 1.58 Crystal eBrem - 3 5.4 747 1.23e+03 0 0.325 0.371 1.95 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 108, Parent ID = 89 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.43 747 1.23e+03 0.0543 0 0 0 Crystal initStep - 1 5.66 747 1.23e+03 0 0.0332 0.43 0.43 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 108 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.66 747 1.23e+03 0.0211 0 0 0 Crystal initStep - 1 5.66 747 1.23e+03 0.0209 0.000197 8.92e-05 8.92e-05 Crystal msc - 2 5.66 747 1.23e+03 0 0.0209 0.00439 0.00448 Crystal eIoni + 0 -6.05 787 1.3e+03 1.16 0 0 0 Crystal initStep + 1 -6.03 787 1.3e+03 1.15 0.018 0.0392 0.0392 Crystal msc + 2 -6.21 787 1.3e+03 0.428 0.718 1.57 1.61 Crystal eIoni + 3 -6.24 787 1.3e+03 0 0.428 0.549 2.16 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 20, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.12 743 1.23e+03 1.14 0 0 0 Crystal initStep - 1 5.11 743 1.23e+03 1.12 0.019 0.0383 0.0383 Crystal msc - 2 5.44 743 1.23e+03 0.41 0.712 1.55 1.59 Crystal eIoni - 3 5.42 743 1.23e+03 0 0.41 0.517 2.1 Crystal eIoni + 0 -4.27 774 1.28e+03 2.53 0 0 0 Crystal initStep + 1 -4.28 774 1.28e+03 2.5 0.0283 0.0927 0.0927 Crystal msc + 2 -3.67 774 1.28e+03 1.99 0.518 1.07 1.16 Crystal msc + 3 -3.64 774 1.28e+03 1.49 0.024 0.0779 1.24 Crystal eBrem + 4 -4.28 774 1.28e+03 0.749 0.743 1.81 3.05 Crystal eIoni + 5 -4.13 774 1.28e+03 0.0332 0.716 1.14 4.19 Crystal eIoni + 6 -4.13 774 1.28e+03 0 0.0332 0.0095 4.2 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 106, Parent ID = 20 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -3.64 774 1.28e+03 0.469 0 0 0 Crystal initStep + 1 -3.97 774 1.28e+03 0.183 0 0.426 0.426 Crystal compt + 2 -1.14 774 1.28e+03 0.133 0 2.84 3.26 Crystal compt + 3 -1.32 775 1.28e+03 0 0.0332 1.4 4.66 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 106 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.32 775 1.28e+03 0.1 0 0 0 Crystal initStep + 1 -1.32 775 1.28e+03 0.1 8.3e-05 0.00118 0.00118 Crystal msc + 2 -1.32 775 1.28e+03 0 0.1 0.0591 0.0603 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 106 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.14 774 1.28e+03 0.0498 0 0 0 Crystal initStep + 1 -1.14 774 1.28e+03 0.0497 0.000103 0.000372 0.000372 Crystal msc + 2 -1.14 774 1.28e+03 0 0.0497 0.0185 0.0189 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 107, Parent ID = 106 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -3.97 774 1.28e+03 0.286 0 0 0 Crystal initStep + 1 -3.97 774 1.28e+03 0.281 0.00472 0.00617 0.00617 Crystal msc + 2 -4 774 1.28e+03 0 0.281 0.301 0.307 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 19, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.3 727 1.2e+03 0.754 0 0 0 Crystal initStep - 1 4.29 727 1.2e+03 0.745 0.0094 0.0232 0.0232 Crystal msc - 2 4.21 727 1.2e+03 0 0.745 1.13 1.15 Crystal eIoni + 0 -3.17 764 1.26e+03 0.737 0 0 0 Crystal initStep + 1 -3.16 764 1.26e+03 0.726 0.0105 0.0226 0.0226 Crystal msc + 2 -2.95 764 1.26e+03 0.212 0.514 1.1 1.12 Crystal eIoni + 3 -2.94 764 1.26e+03 0 0.212 0.197 1.32 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 18, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.13 724 1.2e+03 2.62 0 0 0 Crystal initStep - 1 4.12 724 1.2e+03 2.59 0.0349 0.0969 0.0969 Crystal msc - 2 4.06 724 1.2e+03 2.55 0.0351 0.0969 0.194 Crystal msc - 3 4.02 724 1.2e+03 2.51 0.0419 0.0969 0.291 Crystal msc - 4 4 724 1.2e+03 2.46 0.0456 0.0969 0.388 Crystal msc - 5 3.98 724 1.2e+03 2.4 0.0622 0.0969 0.484 Crystal msc - 6 4 724 1.2e+03 2.35 0.047 0.0969 0.581 Crystal msc - 7 4.01 724 1.2e+03 2.32 0.0343 0.0969 0.678 Crystal msc - 8 4.06 724 1.2e+03 2.29 0.0344 0.0969 0.775 Crystal msc - 9 4.08 724 1.2e+03 2.24 0.047 0.0969 0.872 Crystal msc - 10 4.14 724 1.2e+03 2.2 0.0357 0.0969 0.969 Crystal msc - 11 4.15 724 1.2e+03 2.17 0.035 0.0969 1.07 Crystal msc - 12 3.44 724 1.2e+03 1.15 1.01 2.18 3.25 Crystal eIoni - 13 3.52 724 1.2e+03 0.914 0.195 0.474 3.72 Crystal eBrem - 14 3.33 724 1.2e+03 0.2 0.715 1.35 5.07 Crystal eIoni - 15 3.32 724 1.2e+03 0 0.2 0.179 5.25 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 110, Parent ID = 18 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.52 724 1.2e+03 0.0441 0 0 0 Crystal initStep - 1 3.44 724 1.2e+03 0 0.0332 0.325 0.325 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 110 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.44 724 1.2e+03 0.011 0 0 0 Crystal initStep - 1 3.44 724 1.2e+03 0.0104 0.000538 3.09e-05 3.09e-05 Crystal msc - 2 3.44 724 1.2e+03 0 0.0104 0.00142 0.00145 Crystal eIoni + 0 -3.04 762 1.26e+03 0.775 0 0 0 Crystal initStep + 1 -3.02 762 1.26e+03 0.765 0.00975 0.024 0.024 Crystal msc + 2 -2.81 762 1.26e+03 0.167 0.598 1.16 1.18 Crystal eIoni + 3 -2.8 762 1.26e+03 0 0.167 0.135 1.32 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 17, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.62 713 1.18e+03 0.947 0 0 0 Crystal initStep - 1 3.62 713 1.18e+03 0.934 0.0122 0.0307 0.0307 Crystal msc - 2 3.98 713 1.18e+03 0.459 0.431 0.699 0.73 Crystal eBrem - 3 4.02 713 1.18e+03 0 0.459 0.606 1.34 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 112, Parent ID = 17 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.98 713 1.18e+03 0.0442 0 0 0 Crystal initStep - 1 4.01 713 1.18e+03 0 0.0332 0.0478 0.0478 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 112 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.01 713 1.18e+03 0.011 0 0 0 Crystal initStep - 1 4.01 713 1.18e+03 0.011 1.33e-05 3.12e-05 3.12e-05 Crystal msc - 2 4.01 713 1.18e+03 0 0.011 0.00156 0.00159 Crystal eIoni + 0 -1.87 752 1.24e+03 1.56 0 0 0 Crystal initStep + 1 -1.84 752 1.24e+03 1.53 0.0269 0.0545 0.0545 Crystal msc + 2 -1.85 752 1.24e+03 1.35 0.183 0.457 0.511 Crystal msc + 3 -1.75 753 1.24e+03 1.14 0.207 0.457 0.968 Crystal msc + 4 -1.71 753 1.24e+03 0.953 0.186 0.457 1.42 Crystal msc + 5 -1.78 753 1.24e+03 0.79 0.163 0.457 1.88 Crystal msc + 6 -1.89 753 1.24e+03 0 0.79 1.2 3.08 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 16, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.53 710 1.17e+03 1.51 0 0 0 Crystal initStep - 1 3.55 710 1.17e+03 1.49 0.018 0.0527 0.0527 Crystal msc - 2 3.36 709 1.17e+03 0.174 1.32 1.81 1.87 Crystal eIoni - 3 3.36 709 1.17e+03 0 0.174 0.145 2.01 Crystal eIoni + 0 -1.04 728 1.2e+03 8.76 0 0 0 Crystal initStep + 1 -1.17 729 1.2e+03 8.33 0.435 0.888 0.888 Crystal msc + 2 -1.19 729 1.21e+03 7.94 0.332 0.675 1.56 Crystal eBrem + 3 -1.52 730 1.21e+03 7.51 0.434 0.888 2.45 Crystal msc + 4 -1.66 730 1.21e+03 7.06 0.446 0.888 3.34 Crystal msc + 5 -1.73 730 1.21e+03 5.54 0.257 0.328 3.67 Crystal eBrem + 6 -1.53 730 1.21e+03 5.2 0.34 0.888 4.55 Crystal msc + 7 -1.36 729 1.2e+03 4.72 0.48 0.888 5.44 Crystal msc + 8 -1.63 729 1.2e+03 4.3 0.423 0.888 6.33 Crystal msc + 9 -2.01 728 1.2e+03 3.84 0.453 0.888 7.22 Crystal msc + 10 -2.18 728 1.2e+03 3.44 0.401 0.888 8.11 Crystal msc + 11 -2.94 728 1.2e+03 2.86 0.586 0.888 9 Crystal msc + 12 -2.97 728 1.2e+03 2.69 0.0152 0.0315 9.03 Crystal eBrem + 13 -3.67 728 1.2e+03 2.24 0.454 0.888 9.91 Crystal msc + 14 -4.05 728 1.2e+03 1.73 0.504 0.888 10.8 Crystal msc + 15 -3.86 728 1.2e+03 1.34 0.394 0.888 11.7 Crystal msc + 16 -4.01 728 1.2e+03 0.749 0.592 1.23 12.9 Crystal eBrem + 17 -4.09 728 1.2e+03 0.171 0.578 1.14 14.1 Crystal eIoni + 18 -4.09 728 1.2e+03 0 0.171 0.141 14.2 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 112, Parent ID = 16 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -2.97 728 1.2e+03 0.149 0 0 0 Crystal initStep + 1 -7.29 726 1.2e+03 0 0.0332 4.67 4.67 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 112 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -7.29 726 1.2e+03 0.116 0 0 0 Crystal initStep + 1 -7.29 726 1.2e+03 0.111 0.00501 0.00151 0.00151 Crystal msc + 2 -7.28 726 1.2e+03 0 0.111 0.0701 0.0716 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 111, Parent ID = 16 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.73 730 1.21e+03 1.26 0 0 0 Crystal initStep + 1 -0.999 735 1.16e+03 0.914 0 50.5 50.5 Crystal compt + 2 -1.33e-15 735 1.15e+03 0.914 0 1.92 52.4 Crystal CoupledTransportation + 3 15.5 743 1.13e+03 0.266 0 29.7 82.1 Crystal compt + 4 17.4 742 1.13e+03 0 0.0332 3.12 85.2 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 116, Parent ID = 111 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 17.4 742 1.13e+03 0.232 0 0 0 Crystal initStep + 1 17.4 742 1.13e+03 0.23 0.00225 0.00452 0.00452 Crystal msc + 2 17.4 742 1.13e+03 0 0.23 0.223 0.227 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 115, Parent ID = 111 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 15.5 743 1.13e+03 0.649 0 0 0 Crystal initStep + 1 15.5 743 1.13e+03 0.634 0.0149 0.0192 0.0192 Crystal msc + 2 15.6 743 1.13e+03 0 0.634 0.93 0.95 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 114, Parent ID = 111 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.999 735 1.16e+03 0.35 0 0 0 Crystal initStep + 1 -1 735 1.16e+03 0.347 0.00253 0.00828 0.00828 Crystal msc + 2 -1.04 735 1.16e+03 0 0.347 0.41 0.418 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 110, Parent ID = 16 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.19 729 1.21e+03 0.0561 0 0 0 Crystal initStep + 1 -1.18 729 1.21e+03 0 0.0332 0.061 0.061 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 117, Parent ID = 110 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.18 729 1.21e+03 0.023 0 0 0 Crystal initStep + 1 -1.18 729 1.21e+03 0.023 0 0.000103 0.000103 Crystal msc + 2 -1.18 729 1.21e+03 0 0.023 0.00514 0.00525 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 15, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.89 699 1.16e+03 0.96 0 0 0 Crystal initStep - 1 2.92 699 1.16e+03 0.937 0.0231 0.0312 0.0312 Crystal msc - 2 2.94 699 1.16e+03 0.926 0.0108 0.0312 0.0625 Crystal msc - 3 2.96 699 1.16e+03 0.898 0.028 0.0312 0.0937 Crystal msc - 4 2.98 699 1.16e+03 0.883 0.0148 0.0312 0.125 Crystal msc - 5 3 699 1.16e+03 0.868 0.0153 0.0312 0.156 Crystal msc - 6 3.02 699 1.16e+03 0.854 0.0137 0.0312 0.187 Crystal msc - 7 3.05 699 1.16e+03 0.846 0.0085 0.0312 0.219 Crystal msc - 8 3.08 699 1.16e+03 0.831 0.0147 0.0312 0.25 Crystal msc - 9 3.11 699 1.16e+03 0.818 0.0133 0.0312 0.281 Crystal msc - 10 3.13 699 1.16e+03 0.804 0.0138 0.0312 0.312 Crystal msc - 11 3.16 699 1.16e+03 0.79 0.0142 0.0312 0.344 Crystal msc - 12 3.3 699 1.16e+03 0 0.79 1.2 1.54 Crystal eIoni + 0 -1.84 699 1.16e+03 2.96 0 0 0 Crystal initStep + 1 -1.78 699 1.16e+03 2.9 0.0565 0.116 0.116 Crystal msc + 2 -1.58 699 1.16e+03 2.78 0.125 0.29 0.406 Crystal msc + 3 -1.35 699 1.16e+03 2.67 0.114 0.29 0.697 Crystal msc + 4 -1.32 699 1.16e+03 1.07 0.019 0.037 0.733 Crystal eBrem + 5 -1.13 698 1.16e+03 0.93 0.14 0.327 1.06 Crystal msc + 6 -1.04 699 1.16e+03 0.815 0.116 0.327 1.39 Crystal msc + 7 -0.861 698 1.16e+03 0.564 0.25 0.327 1.71 Crystal msc + 8 -0.879 698 1.16e+03 0.394 0.17 0.327 2.04 Crystal msc + 9 -0.902 698 1.16e+03 0 0.394 0.489 2.53 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 15 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.47 685 1.14e+03 1.69 0 0 0 Crystal initStep - 1 2.46 685 1.14e+03 1.65 0.0372 0.0596 0.0596 Crystal msc - 2 2.47 685 1.14e+03 1.61 0.0375 0.0596 0.119 Crystal msc - 3 2.49 685 1.14e+03 1.58 0.0268 0.0596 0.179 Crystal msc - 4 2.53 685 1.14e+03 1.56 0.0283 0.0596 0.238 Crystal msc - 5 2.57 685 1.14e+03 1.53 0.023 0.0596 0.298 Crystal msc - 6 2.61 685 1.14e+03 1.51 0.0204 0.0596 0.358 Crystal msc - 7 2.64 685 1.14e+03 1.49 0.0226 0.0596 0.417 Crystal msc - 8 2.64 685 1.14e+03 1.47 0.0236 0.0596 0.477 Crystal msc - 9 2.09 685 1.14e+03 0.568 0.898 1.8 2.27 Crystal eIoni - 10 2.03 685 1.14e+03 0.0841 0.435 0.794 3.07 Crystal eBrem - 11 2.03 685 1.14e+03 0 0.0841 0.0447 3.11 Crystal eIoni + 0 -1.32 699 1.16e+03 1.58 0 0 0 Crystal initStep + 1 6.66e-16 700 1.16e+03 1.58 0 2.01 2.01 Crystal CoupledTransportation + 2 0.422 700 1.16e+03 1.58 0 0.642 2.66 Crystal CoupledTransportation + 3 3.66 703 1.15e+03 0 0 4.93 7.58 Crystal conv ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 114, Parent ID = 14 +* G4Track Information: Particle = e+, Track ID = 120, Parent ID = 118 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.03 685 1.14e+03 0.0491 0 0 0 Crystal initStep - 1 2.14 685 1.14e+03 0 0.0332 0.133 0.133 Crystal phot + 0 3.66 703 1.15e+03 0.187 0 0 0 Crystal initStep + 1 3.66 703 1.15e+03 0.186 0.000515 0.00308 0.00308 Crystal msc + 2 3.66 703 1.15e+03 0 0.186 0.153 0.156 Crystal eIoni + 3 3.66 703 1.15e+03 0 0 0 0.156 Crystal annihil ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 115, Parent ID = 114 +* G4Track Information: Particle = gamma, Track ID = 122, Parent ID = 120 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.14 685 1.14e+03 0.0159 0 0 0 Crystal initStep - 1 2.14 685 1.14e+03 0.0159 4.32e-05 5.61e-05 5.61e-05 Crystal msc - 2 2.14 685 1.14e+03 0 0.0159 0.00279 0.00285 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.26 682 1.13e+03 2.58 0 0 0 Crystal initStep - 1 2.22 682 1.13e+03 2.55 0.0379 0.095 0.095 Crystal msc - 2 2.15 682 1.13e+03 2.5 0.0456 0.095 0.19 Crystal msc - 3 2.08 682 1.13e+03 2.4 0.0999 0.095 0.285 Crystal msc - 4 2.01 682 1.13e+03 2.35 0.05 0.095 0.38 Crystal msc - 5 1.94 682 1.13e+03 2.3 0.0527 0.095 0.475 Crystal msc - 6 1.9 682 1.13e+03 2.27 0.0322 0.095 0.57 Crystal msc - 7 1.88 682 1.13e+03 2.22 0.0455 0.095 0.665 Crystal msc - 8 1.9 682 1.13e+03 2.18 0.04 0.095 0.76 Crystal msc - 9 1.89 682 1.13e+03 2.14 0.0378 0.095 0.855 Crystal msc - 10 1.88 682 1.13e+03 2.1 0.0406 0.095 0.95 Crystal msc - 11 1.96 682 1.13e+03 2.06 0.0395 0.095 1.05 Crystal msc - 12 2.05 682 1.13e+03 2.03 0.037 0.095 1.14 Crystal msc - 13 2.14 682 1.13e+03 1.91 0.116 0.095 1.24 Crystal msc - 14 2.15 682 1.13e+03 1.87 0.0435 0.095 1.33 Crystal msc - 15 2.15 682 1.13e+03 1.82 0.044 0.095 1.43 Crystal msc - 16 2.16 682 1.13e+03 1.39 0.0141 0.0514 1.48 Crystal eBrem - 17 2.14 682 1.13e+03 1.35 0.0359 0.095 1.57 Crystal msc - 18 2.14 682 1.13e+03 1.32 0.0372 0.095 1.67 Crystal msc - 19 2.08 682 1.13e+03 1.27 0.0467 0.095 1.76 Crystal msc - 20 2.05 682 1.13e+03 1.22 0.0508 0.095 1.86 Crystal msc - 21 2.07 683 1.13e+03 1.18 0.0414 0.095 1.95 Crystal msc - 22 2.07 683 1.13e+03 1.14 0.0415 0.095 2.05 Crystal msc - 23 2.25 683 1.13e+03 0.111 1.02 1.56 3.61 Crystal eIoni - 24 2.26 683 1.13e+03 0 0.111 0.0704 3.68 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 116, Parent ID = 13 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.16 682 1.13e+03 0.42 0 0 0 Crystal initStep - 1 4.44e-16 680 1.13e+03 0.42 0 3.27 3.27 Crystal CoupledTransportation - 2 -0.913 680 1.13e+03 0 0.0332 1.38 4.65 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 117, Parent ID = 116 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.913 680 1.13e+03 0.387 0 0 0 Crystal initStep - 1 -0.91 680 1.13e+03 0.382 0.00489 0.00953 0.00953 Crystal msc - 2 -0.906 680 1.13e+03 0 0.382 0.468 0.478 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.08 678 1.12e+03 3.46 0 0 0 Crystal initStep - 1 2.12 678 1.12e+03 3.38 0.0734 0.148 0.148 Crystal msc - 2 2.17 678 1.12e+03 3.32 0.0599 0.148 0.296 Crystal msc - 3 2.25 678 1.12e+03 3.27 0.056 0.148 0.444 Crystal msc - 4 2.34 678 1.12e+03 3.21 0.0604 0.148 0.592 Crystal msc - 5 2.4 678 1.12e+03 3.13 0.0779 0.148 0.74 Crystal msc - 6 2.49 678 1.12e+03 3.04 0.0868 0.148 0.888 Crystal msc - 7 2.53 678 1.12e+03 2.98 0.0582 0.148 1.04 Crystal msc - 8 2.52 678 1.12e+03 2.93 0.0514 0.148 1.18 Crystal msc - 9 2.51 678 1.12e+03 2.86 0.0732 0.148 1.33 Crystal msc - 10 2.51 678 1.12e+03 2.66 0.0295 0.0714 1.4 Crystal eBrem - 11 2.5 678 1.12e+03 2.59 0.0671 0.148 1.55 Crystal msc - 12 2.51 678 1.12e+03 2.49 0.104 0.148 1.7 Crystal msc - 13 2.57 678 1.12e+03 2.4 0.0849 0.148 1.85 Crystal msc - 14 2.62 678 1.13e+03 2.31 0.0973 0.148 1.99 Crystal msc - 15 2.7 679 1.13e+03 2.25 0.0593 0.148 2.14 Crystal msc - 16 2.76 679 1.13e+03 2.18 0.064 0.148 2.29 Crystal msc - 17 2.9 679 1.13e+03 2.12 0.0601 0.148 2.44 Crystal msc - 18 3.04 679 1.13e+03 2.05 0.0764 0.148 2.59 Crystal msc - 19 3.16 679 1.12e+03 1.98 0.0638 0.148 2.73 Crystal msc - 20 3.29 679 1.12e+03 1.89 0.0947 0.148 2.88 Crystal msc - 21 3.43 679 1.12e+03 1.83 0.0575 0.148 3.03 Crystal msc - 22 3.57 679 1.12e+03 1.77 0.0599 0.148 3.18 Crystal msc - 23 3.72 679 1.13e+03 1.06 0.713 0.637 3.82 Crystal eIoni - 24 4.07 679 1.13e+03 0.566 0.493 1.07 4.89 Crystal eBrem - 25 3.93 679 1.13e+03 0.0391 0.38 0.556 5.44 Crystal eBrem - 26 3.93 679 1.13e+03 0 0.0391 0.0124 5.45 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 119, Parent ID = 12 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.93 679 1.13e+03 0.147 0 0 0 Crystal initStep - 1 4.4 679 1.13e+03 0 0.0332 0.713 0.713 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 120, Parent ID = 119 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.4 679 1.13e+03 0.114 0 0 0 Crystal initStep - 1 4.4 679 1.13e+03 0.113 0.000997 0.00147 0.00147 Crystal msc - 2 4.4 679 1.13e+03 0 0.113 0.0726 0.0741 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 12 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.51 678 1.12e+03 0.17 0 0 0 Crystal initStep - 1 3.07 680 1.13e+03 0 0.0332 2.28 2.28 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 121, Parent ID = 118 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.07 680 1.13e+03 0.137 0 0 0 Crystal initStep - 1 3.07 680 1.13e+03 0.136 0.000849 0.00199 0.00199 Crystal msc - 2 3.07 680 1.13e+03 0 0.136 0.0983 0.1 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.95 672 1.11e+03 1.02 0 0 0 Crystal initStep - 1 1.94 672 1.11e+03 1 0.0212 0.0338 0.0338 Crystal msc - 2 1.93 672 1.11e+03 0.873 0.0885 0.178 0.212 Crystal eBrem - 3 1.84 672 1.11e+03 0 0.873 1.3 1.52 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 122, Parent ID = 11 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.93 672 1.11e+03 0.0424 0 0 0 Crystal initStep - 1 1.92 672 1.11e+03 0 0.0332 0.0189 0.0189 Crystal phot + 0 3.66 703 1.15e+03 0.511 0 0 0 Crystal initStep + 1 -1.78e-15 701 1.16e+03 0.511 0 4.14 4.14 Crystal CoupledTransportation + 2 -1.44 700 1.16e+03 0.511 0 1.62 5.76 Crystal CoupledTransportation + 3 -17.3 692 1.16e+03 0 0.0332 18 23.8 Crystal phot ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 123, Parent ID = 122 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.92 672 1.11e+03 0.00921 0 0 0 Crystal initStep - 1 1.92 672 1.11e+03 0.00921 0 2.35e-05 2.35e-05 Crystal msc - 2 1.92 672 1.11e+03 0 0.00921 0.00117 0.0012 Crystal eIoni + 0 -17.3 692 1.16e+03 0.478 0 0 0 Crystal initStep + 1 -17.4 692 1.16e+03 0.474 0.0037 0.0128 0.0128 Crystal msc + 2 -17.4 692 1.16e+03 0 0.474 0.633 0.646 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 121, Parent ID = 120 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.9 670 1.11e+03 2.32 0 0 0 Crystal initStep - 1 1.86 670 1.11e+03 2.28 0.0337 0.0843 0.0843 Crystal msc - 2 1.79 670 1.11e+03 2.26 0.0285 0.0843 0.169 Crystal msc - 3 1.72 670 1.11e+03 2.22 0.034 0.0843 0.253 Crystal msc - 4 1.64 670 1.11e+03 2.18 0.0367 0.0843 0.337 Crystal msc - 5 1.57 670 1.11e+03 2.16 0.0268 0.0843 0.421 Crystal msc - 6 1.51 670 1.11e+03 2.12 0.0395 0.0843 0.506 Crystal msc - 7 1.47 670 1.11e+03 2.09 0.0306 0.0843 0.59 Crystal msc - 8 1.46 670 1.11e+03 2.05 0.0341 0.0843 0.674 Crystal msc - 9 1.47 670 1.11e+03 2.02 0.0373 0.0843 0.758 Crystal msc - 10 1.52 670 1.11e+03 1.99 0.0242 0.0843 0.843 Crystal msc - 11 1.51 670 1.11e+03 1.96 0.0298 0.0843 0.927 Crystal msc - 12 1.51 670 1.11e+03 1.49 0.015 0.0301 0.957 Crystal eBrem - 13 1.53 670 1.11e+03 1.45 0.0368 0.0843 1.04 Crystal msc - 14 1.55 670 1.11e+03 1.42 0.0325 0.0843 1.13 Crystal msc - 15 1.55 670 1.11e+03 1.39 0.0289 0.0843 1.21 Crystal msc - 16 1.55 670 1.11e+03 1.35 0.0382 0.0843 1.29 Crystal msc - 17 1.56 670 1.11e+03 1.32 0.0333 0.0843 1.38 Crystal msc - 18 1.54 670 1.11e+03 1.26 0.0641 0.0843 1.46 Crystal msc - 19 1.52 670 1.11e+03 1.22 0.0339 0.0843 1.55 Crystal msc - 20 1.49 670 1.11e+03 1.18 0.0387 0.0843 1.63 Crystal msc - 21 1.52 670 1.11e+03 1.15 0.0379 0.0843 1.72 Crystal msc - 22 1.5 670 1.11e+03 1.11 0.0335 0.0843 1.8 Crystal msc - 23 1.46 669 1.11e+03 1.07 0.0445 0.0843 1.88 Crystal msc - 24 1.42 669 1.11e+03 1.01 0.0559 0.0843 1.97 Crystal msc - 25 1.38 670 1.11e+03 0.97 0.0419 0.0843 2.05 Crystal msc - 26 1.31 670 1.11e+03 0.921 0.0489 0.0843 2.14 Crystal msc - 27 1.34 670 1.11e+03 0.89 0.0313 0.0843 2.22 Crystal msc - 28 1.31 670 1.11e+03 0.855 0.0352 0.0843 2.31 Crystal msc - 29 1.31 670 1.11e+03 0.824 0.0309 0.0843 2.39 Crystal msc - 30 1.24 670 1.11e+03 0.762 0.0623 0.0843 2.47 Crystal msc - 31 1.11 669 1.11e+03 0.346 0.416 0.528 3 Crystal eBrem - 32 1.08 669 1.11e+03 0 0.346 0.407 3.41 Crystal eIoni + 0 3.66 703 1.15e+03 0.511 0 0 0 Crystal initStep + 1 16.7 709 1.15e+03 0.373 0 14.8 14.8 Crystal compt + 2 25.2 706 1.15e+03 0.177 0 11.8 26.5 Crystal compt + 3 25.2 706 1.15e+03 0 0.0332 0.427 26.9 Crystal phot ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 124, Parent ID = 10 +* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 121 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.51 670 1.11e+03 0.457 0 0 0 Crystal initStep - 1 2.14 669 1.11e+03 0.365 0 1.76 1.76 Crystal compt - 2 18.7 660 1.11e+03 0 0.0332 18.8 20.6 Crystal phot + 0 25.2 706 1.15e+03 0.144 0 0 0 Crystal initStep + 1 25.2 706 1.15e+03 0.141 0.00324 0.00214 0.00214 Crystal msc + 2 25.2 706 1.15e+03 0 0.141 0.103 0.105 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 124 +* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 121 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 18.7 660 1.11e+03 0.332 0 0 0 Crystal initStep - 1 18.7 660 1.11e+03 0.328 0.00413 0.00766 0.00766 Crystal msc - 2 18.7 660 1.11e+03 0 0.328 0.376 0.383 Crystal eIoni + 0 25.2 706 1.15e+03 0.196 0 0 0 Crystal initStep + 1 25.2 706 1.15e+03 0.191 0.00434 0.00346 0.00346 Crystal msc + 2 25.2 706 1.15e+03 0 0.191 0.167 0.171 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 124 +* G4Track Information: Particle = e-, Track ID = 124, Parent ID = 121 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.14 669 1.11e+03 0.0918 0 0 0 Crystal initStep - 1 2.14 669 1.11e+03 0.0915 0.000313 0.00103 0.00103 Crystal msc - 2 2.14 669 1.11e+03 0 0.0915 0.0514 0.0524 Crystal eIoni + 0 16.7 709 1.15e+03 0.138 0 0 0 Crystal initStep + 1 16.7 709 1.15e+03 0.138 0.000105 0.00201 0.00201 Crystal msc + 2 16.7 709 1.15e+03 0 0.138 0.1 0.102 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 119, Parent ID = 118 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.55 663 1.1e+03 0.788 0 0 0 Crystal initStep - 1 1.56 663 1.1e+03 0.783 0.00472 0.0245 0.0245 Crystal msc - 2 1.63 663 1.1e+03 0.675 0.0437 0.0902 0.115 Crystal eBrem - 3 1.7 663 1.1e+03 0 0.675 1.01 1.12 Crystal eIoni + 0 3.66 703 1.15e+03 0.367 0 0 0 Crystal initStep + 1 3.67 703 1.15e+03 0.366 0.00142 0.00886 0.00886 Crystal msc + 2 3.7 703 1.15e+03 0 0.366 0.44 0.449 Crystal eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 127, Parent ID = 9 +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.63 663 1.1e+03 0.0646 0 0 0 Crystal initStep - 1 1.66 663 1.1e+03 0 0.0332 0.266 0.266 Crystal phot + 0 -1.87 696 1.15e+03 0.77 0 0 0 Crystal initStep + 1 -1.88 696 1.15e+03 0.762 0.00762 0.0238 0.0238 Crystal msc + 2 -1.78 696 1.16e+03 0.0452 0.717 1.16 1.18 Crystal eIoni + 3 -1.78 696 1.16e+03 0 0.0452 0.0159 1.2 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.43 676 1.12e+03 1.54 0 0 0 Crystal initStep + 1 -1.41 676 1.12e+03 1.51 0.0317 0.0539 0.0539 Crystal msc + 2 -1.19 677 1.12e+03 1.33 0.181 0.347 0.401 Crystal msc + 3 -0.965 677 1.12e+03 1.19 0.136 0.347 0.748 Crystal msc + 4 -0.805 677 1.12e+03 1.06 0.129 0.347 1.1 Crystal msc + 5 -0.639 677 1.12e+03 0.874 0.115 0.263 1.36 Crystal eBrem + 6 -0.495 676 1.12e+03 0.725 0.149 0.347 1.7 Crystal msc + 7 -0.492 676 1.12e+03 0.614 0.111 0.347 2.05 Crystal msc + 8 -0.457 676 1.12e+03 0.467 0.147 0.347 2.4 Crystal msc + 9 -0.569 677 1.12e+03 0.286 0.182 0.347 2.75 Crystal msc + 10 -0.576 677 1.12e+03 0 0.286 0.308 3.05 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 127, Parent ID = 13 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.639 677 1.12e+03 0.0719 0 0 0 Crystal initStep + 1 -0.475 677 1.12e+03 0 0.0332 0.182 0.182 Crystal phot ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 128, Parent ID = 127 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.66 663 1.1e+03 0.0314 0 0 0 Crystal initStep - 1 1.66 663 1.1e+03 0.0302 0.00128 0.000172 0.000172 Crystal msc - 2 1.66 663 1.1e+03 0 0.0302 0.00807 0.00825 Crystal eIoni + 0 -0.475 677 1.12e+03 0.0387 0 0 0 Crystal initStep + 1 -0.475 677 1.12e+03 0.0386 9.13e-05 0.000244 0.000244 Crystal msc + 2 -0.474 677 1.12e+03 0 0.0386 0.0122 0.0124 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.27 657 1.09e+03 1 0 0 0 Crystal initStep + 1 -1.29 657 1.09e+03 0.995 0.00845 0.0329 0.0329 Crystal msc + 2 -1.2 657 1.09e+03 0.896 0.0565 0.143 0.176 Crystal eBrem + 3 -1.16 657 1.09e+03 0.734 0.162 0.32 0.496 Crystal msc + 4 -1.13 657 1.09e+03 0.597 0.137 0.32 0.816 Crystal msc + 5 -1.19 657 1.09e+03 0 0.597 0.862 1.68 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 129, Parent ID = 12 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.2 657 1.09e+03 0.0425 0 0 0 Crystal initStep + 1 -1.1 657 1.09e+03 0 0.0332 0.122 0.122 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 130, Parent ID = 129 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -1.1 657 1.09e+03 0.00938 0 0 0 Crystal initStep + 1 -1.1 657 1.09e+03 0.00938 0 2.41e-05 2.41e-05 Crystal msc + 2 -1.1 657 1.09e+03 0 0.00938 0.00121 0.00123 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.997 647 1.08e+03 1.29 0 0 0 Crystal initStep + 1 -0.971 647 1.08e+03 1.27 0.0179 0.044 0.044 Crystal msc + 2 -0.803 647 1.08e+03 1.17 0.0943 0.242 0.286 Crystal msc + 3 -0.719 648 1.08e+03 0.897 0.276 0.242 0.528 Crystal msc + 4 -0.608 648 1.08e+03 0.82 0.0773 0.242 0.77 Crystal msc + 5 -0.763 648 1.08e+03 0.717 0.103 0.242 1.01 Crystal msc + 6 -0.791 648 1.08e+03 0.601 0.115 0.242 1.25 Crystal msc + 7 -0.809 648 1.08e+03 0.497 0.104 0.242 1.5 Crystal msc + 8 -0.676 648 1.08e+03 0.353 0.144 0.242 1.74 Crystal msc + 9 -0.648 648 1.08e+03 0 0.353 0.42 2.16 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.745 638 1.06e+03 0.799 0 0 0 Crystal initStep + 1 -0.747 638 1.06e+03 0.794 0.00544 0.025 0.025 Crystal msc + 2 -0.738 638 1.06e+03 0.716 0.078 0.184 0.209 Crystal msc + 3 -0.747 638 1.06e+03 0.645 0.0705 0.184 0.392 Crystal msc + 4 -0.637 638 1.06e+03 0.567 0.0776 0.184 0.576 Crystal msc + 5 -0.536 638 1.06e+03 0.491 0.0765 0.184 0.759 Crystal msc + 6 -0.507 638 1.06e+03 0.399 0.0922 0.184 0.943 Crystal msc + 7 -0.524 638 1.06e+03 0.189 0.21 0.184 1.13 Crystal msc + 8 -0.54 638 1.06e+03 0 0.189 0.165 1.29 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.452 633 1.05e+03 3.1 0 0 0 Crystal initStep + 1 -0.445 633 1.05e+03 3.05 0.0489 0.125 0.125 Crystal msc + 2 -0.421 633 1.06e+03 2.99 0.0532 0.125 0.25 Crystal msc + 3 -0.365 634 1.06e+03 2.92 0.078 0.125 0.374 Crystal msc + 4 -0.297 634 1.06e+03 2.87 0.0408 0.125 0.499 Crystal msc + 5 -0.256 634 1.06e+03 2.8 0.0711 0.125 0.624 Crystal msc + 6 -0.227 634 1.06e+03 2.75 0.0514 0.125 0.749 Crystal msc + 7 -0.171 634 1.06e+03 2.71 0.0393 0.125 0.874 Crystal msc + 8 -0.159 634 1.06e+03 2.67 0.0442 0.125 0.999 Crystal msc + 9 -0.0856 634 1.06e+03 2.62 0.045 0.125 1.12 Crystal msc + 10 -0.0067 634 1.06e+03 2.58 0.0469 0.125 1.25 Crystal msc + 11 8.47e-16 634 1.06e+03 2.56 0.0188 0.0478 1.3 Crystal CoupledTransportation + 12 0.00438 634 1.06e+03 2.51 0.0437 0.0937 1.39 Crystal msc + 13 0.00174 634 1.06e+03 2.48 0.0356 0.0937 1.48 Crystal msc + 14 -3.43e-16 634 1.06e+03 2.47 0.0104 0.0211 1.5 Crystal CoupledTransportation + 15 -0.000924 634 1.06e+03 2.07 0.129 0.0481 1.55 Crystal eBrem + 16 -3.32e-16 634 1.06e+03 2.07 0.00137 0.0102 1.56 Crystal CoupledTransportation + 17 0.0128 634 1.06e+03 2.03 0.0375 0.0746 1.64 Crystal msc + 18 0.0388 634 1.06e+03 1.98 0.0529 0.0746 1.71 Crystal msc + 19 0.0249 634 1.06e+03 1.95 0.0287 0.0746 1.79 Crystal msc + 20 0.0301 634 1.06e+03 1.92 0.0349 0.0746 1.86 Crystal msc + 21 0.0251 634 1.06e+03 1.88 0.0337 0.0746 1.94 Crystal msc + 22 0.049 634 1.06e+03 1.86 0.0227 0.0746 2.01 Crystal msc + 23 0.0551 634 1.06e+03 1.84 0.0232 0.0746 2.09 Crystal msc + 24 0.0624 634 1.06e+03 1.71 0.13 0.0746 2.16 Crystal msc + 25 0.0667 634 1.06e+03 1.68 0.0296 0.0746 2.23 Crystal msc + 26 0.105 634 1.06e+03 1.64 0.0365 0.0746 2.31 Crystal msc + 27 0.131 634 1.06e+03 1.61 0.0344 0.0746 2.38 Crystal msc + 28 0.114 634 1.06e+03 1.56 0.048 0.0746 2.46 Crystal msc + 29 0.114 633 1.06e+03 1.53 0.031 0.0746 2.53 Crystal msc + 30 0.121 633 1.06e+03 1.5 0.0272 0.0746 2.61 Crystal msc + 31 0.133 633 1.06e+03 1.47 0.0304 0.0746 2.68 Crystal msc + 32 0.112 633 1.06e+03 1.43 0.0343 0.0746 2.76 Crystal msc + 33 0.132 633 1.06e+03 1.41 0.0292 0.0746 2.83 Crystal msc + 34 0.134 633 1.06e+03 1.19 0.000114 0.00469 2.84 Crystal eBrem + 35 0.149 633 1.06e+03 1.16 0.0286 0.0746 2.91 Crystal msc + 36 0.108 633 1.06e+03 1.14 0.0156 0.0746 2.99 Crystal msc + 37 0.0982 633 1.06e+03 1.12 0.0199 0.0746 3.06 Crystal msc + 38 0.0579 633 1.06e+03 1.07 0.0517 0.0746 3.13 Crystal msc + 39 0.0289 633 1.06e+03 1.04 0.0286 0.0746 3.21 Crystal msc + 40 0.00292 633 1.06e+03 1.01 0.0328 0.0746 3.28 Crystal msc + 41 3.78e-07 633 1.06e+03 0.962 0.0492 0.0746 3.36 Crystal msc + 42 0.00084 633 1.06e+03 0.921 0.0411 0.0746 3.43 Crystal msc + 43 0.0467 633 1.06e+03 0.813 0.107 0.0746 3.51 Crystal msc + 44 0.091 633 1.06e+03 0.623 0.0268 0.0521 3.56 Crystal eBrem + 45 0.12 633 1.06e+03 0.589 0.0345 0.0746 3.63 Crystal msc + 46 0.176 633 1.06e+03 0.546 0.0424 0.0746 3.71 Crystal msc + 47 0.233 633 1.06e+03 0.513 0.033 0.0746 3.78 Crystal msc + 48 0.262 633 1.06e+03 0.475 0.0381 0.0746 3.86 Crystal msc + 49 0.283 633 1.06e+03 0.448 0.0272 0.0746 3.93 Crystal msc + 50 0.314 633 1.06e+03 0.402 0.0465 0.0746 4.01 Crystal msc + 51 0.283 633 1.06e+03 0.372 0.03 0.0746 4.08 Crystal msc + 52 0.257 633 1.06e+03 0.243 0.129 0.0746 4.16 Crystal msc + 53 0.261 633 1.06e+03 0.188 0.0547 0.0746 4.23 Crystal msc + 54 0.254 633 1.06e+03 0 0.188 0.163 4.39 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 133, Parent ID = 9 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.091 633 1.06e+03 0.163 0 0 0 Crystal initStep + 1 5.95 638 1.06e+03 0 0.0332 9.52 9.52 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 133 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 5.95 638 1.06e+03 0.13 0 0 0 Crystal initStep + 1 5.95 638 1.06e+03 0.127 0.00318 0.00182 0.00182 Crystal msc + 2 5.95 638 1.06e+03 0 0.127 0.0872 0.089 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 132, Parent ID = 9 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.134 633 1.06e+03 0.217 0 0 0 Crystal initStep + 1 1.48 632 1.06e+03 0.126 0 2.12 2.12 Crystal compt + 2 1.35 632 1.06e+03 0 0.0332 0.146 2.27 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 136, Parent ID = 132 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 1.35 632 1.06e+03 0.0933 0 0 0 Crystal initStep + 1 1.35 632 1.06e+03 0.0728 0.0206 0.00106 0.00106 Crystal msc + 2 1.35 632 1.06e+03 0 0.0728 0.0352 0.0362 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 135, Parent ID = 132 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 1.48 632 1.06e+03 0.0907 0 0 0 Crystal initStep + 1 1.48 632 1.06e+03 0.0905 0.0002 0.00101 0.00101 Crystal msc + 2 1.49 632 1.06e+03 0 0.0905 0.0505 0.0515 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 131, Parent ID = 9 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.000924 634 1.06e+03 0.267 0 0 0 Crystal initStep + 1 -3.32e-16 634 1.06e+03 0.267 0 0.00621 0.00621 Crystal CoupledTransportation + 2 2.29 639 1.07e+03 0.218 0 15.4 15.4 Crystal compt + 3 3.95 642 1.07e+03 0 0.0332 3.08 18.5 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 138, Parent ID = 131 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 3.95 642 1.07e+03 0.185 0 0 0 Crystal initStep + 1 3.95 642 1.07e+03 0.183 0.00179 0.00317 0.00317 Crystal msc + 2 3.95 642 1.07e+03 0 0.183 0.156 0.159 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 137, Parent ID = 131 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 2.29 639 1.07e+03 0.0493 0 0 0 Crystal initStep + 1 2.29 639 1.07e+03 0.0485 0.000819 0.000366 0.000366 Crystal msc + 2 2.29 639 1.07e+03 0 0.0485 0.0178 0.0182 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.8 636 1.06e+03 1.54 0 0 0 Crystal initStep - 1 0.815 636 1.06e+03 1.52 0.0222 0.0538 0.0538 Crystal msc - 2 0.814 636 1.06e+03 1.48 0.04 0.0538 0.108 Crystal msc - 3 0.799 636 1.06e+03 1.45 0.0257 0.0538 0.161 Crystal msc - 4 0.808 636 1.06e+03 1.43 0.021 0.0538 0.215 Crystal msc - 5 0.795 636 1.06e+03 1.41 0.0149 0.0538 0.269 Crystal msc - 6 0.772 636 1.06e+03 1.39 0.0263 0.0538 0.323 Crystal msc - 7 0.758 636 1.06e+03 1.37 0.0201 0.0538 0.377 Crystal msc - 8 0.744 636 1.06e+03 1.35 0.0152 0.0538 0.43 Crystal msc - 9 0.738 636 1.06e+03 1.34 0.016 0.0538 0.484 Crystal msc - 10 0.749 636 1.06e+03 1.32 0.0195 0.0538 0.538 Crystal msc - 11 0.788 636 1.06e+03 1.3 0.0182 0.0538 0.592 Crystal msc - 12 0.799 636 1.06e+03 1.28 0.0229 0.0538 0.645 Crystal msc - 13 0.836 636 1.06e+03 1.25 0.0259 0.0538 0.699 Crystal msc - 14 0.849 636 1.06e+03 1.21 0.039 0.0538 0.753 Crystal msc - 15 0.851 636 1.06e+03 1.19 0.022 0.0538 0.807 Crystal msc - 16 0.825 636 1.06e+03 1.13 0.0597 0.0538 0.861 Crystal msc - 17 0.823 636 1.06e+03 1.1 0.0244 0.0538 0.914 Crystal msc - 18 0.826 636 1.06e+03 1.07 0.0317 0.0538 0.968 Crystal msc - 19 0.801 636 1.06e+03 1.06 0.0167 0.0538 1.02 Crystal msc - 20 0.789 636 1.06e+03 1.04 0.0188 0.0538 1.08 Crystal msc - 21 0.796 636 1.06e+03 1.01 0.0257 0.0538 1.13 Crystal msc - 22 0.822 636 1.06e+03 0.985 0.0269 0.0538 1.18 Crystal msc - 23 0.855 636 1.06e+03 0.959 0.0262 0.0538 1.24 Crystal msc - 24 0.875 636 1.06e+03 0.939 0.0193 0.0538 1.29 Crystal msc - 25 0.914 636 1.06e+03 0.92 0.0191 0.0538 1.34 Crystal msc - 26 0.938 636 1.06e+03 0.901 0.0187 0.0538 1.4 Crystal msc - 27 0.935 635 1.06e+03 0.866 0.0358 0.0538 1.45 Crystal msc - 28 0.943 635 1.06e+03 0.84 0.0256 0.0538 1.51 Crystal msc - 29 0.965 635 1.06e+03 0.821 0.019 0.0538 1.56 Crystal msc - 30 0.984 635 1.06e+03 0.808 0.0135 0.0538 1.61 Crystal msc - 31 1.03 635 1.06e+03 0.789 0.0189 0.0538 1.67 Crystal msc - 32 1.02 635 1.06e+03 0.765 0.0238 0.0538 1.72 Crystal msc - 33 1.03 635 1.06e+03 0.74 0.0248 0.0538 1.78 Crystal msc - 34 1.02 635 1.06e+03 0.673 0.0672 0.0538 1.83 Crystal msc - 35 1 635 1.06e+03 0.64 0.0335 0.0538 1.88 Crystal msc - 36 0.824 636 1.06e+03 0.212 0.428 0.732 2.61 Crystal eBrem - 37 0.82 636 1.06e+03 0 0.212 0.196 2.81 Crystal eIoni + 0 -0.0436 625 1.04e+03 1.25 0 0 0 Crystal initStep + 1 -0.0592 625 1.04e+03 1.22 0.0227 0.0424 0.0424 Crystal msc + 2 -0.0692 625 1.04e+03 1.21 0.0182 0.0424 0.0848 Crystal msc + 3 -0.0904 625 1.04e+03 1.19 0.0156 0.0424 0.127 Crystal msc + 4 -0.102 625 1.04e+03 1.18 0.0123 0.0424 0.17 Crystal msc + 5 -0.108 625 1.04e+03 1.16 0.0191 0.0424 0.212 Crystal msc + 6 -0.112 625 1.04e+03 1.14 0.0234 0.0424 0.255 Crystal msc + 7 -0.102 625 1.04e+03 1.1 0.0308 0.0424 0.297 Crystal msc + 8 -0.0773 625 1.04e+03 1.09 0.0131 0.0424 0.339 Crystal msc + 9 -0.0497 625 1.04e+03 1.07 0.0211 0.0424 0.382 Crystal msc + 10 -0.0362 625 1.04e+03 1.05 0.0156 0.0424 0.424 Crystal msc + 11 -0.0195 625 1.04e+03 1.04 0.0177 0.0424 0.467 Crystal msc + 12 -9.82e-16 625 1.04e+03 1.03 0.0109 0.035 0.502 Crystal CoupledTransportation + 13 0.00654 625 1.04e+03 1.01 0.0147 0.0338 0.536 Crystal msc + 14 0.033 624 1.04e+03 0.999 0.0127 0.0338 0.569 Crystal msc + 15 0.056 624 1.04e+03 0.981 0.0181 0.0338 0.603 Crystal msc + 16 0.0789 624 1.04e+03 0.962 0.0191 0.0338 0.637 Crystal msc + 17 0.0865 624 1.04e+03 0.946 0.0152 0.0338 0.671 Crystal msc + 18 0.0921 624 1.04e+03 0.94 0.0067 0.0338 0.705 Crystal msc + 19 0.118 624 1.04e+03 0.934 0.00599 0.0338 0.738 Crystal msc + 20 0.135 624 1.04e+03 0.913 0.021 0.0338 0.772 Crystal msc + 21 0.143 624 1.04e+03 0.9 0.0126 0.0338 0.806 Crystal msc + 22 0.136 624 1.04e+03 0.89 0.0103 0.0338 0.84 Crystal msc + 23 0.132 624 1.04e+03 0.874 0.0161 0.0338 0.874 Crystal msc + 24 0.148 624 1.04e+03 0.857 0.0167 0.0338 0.908 Crystal msc + 25 0.173 624 1.04e+03 0.839 0.0179 0.0338 0.941 Crystal msc + 26 0.203 624 1.04e+03 0.826 0.0134 0.0338 0.975 Crystal msc + 27 0.232 624 1.04e+03 0.811 0.0152 0.0338 1.01 Crystal msc + 28 0.268 624 1.04e+03 0.787 0.0234 0.0404 1.05 Crystal msc + 29 0.3 624 1.04e+03 0.761 0.0259 0.0458 1.1 Crystal msc + 30 0.327 624 1.04e+03 0.737 0.0245 0.053 1.15 Crystal msc + 31 0.347 624 1.04e+03 0.718 0.0193 0.0588 1.21 Crystal msc + 32 0.389 624 1.04e+03 0.689 0.029 0.0638 1.27 Crystal msc + 33 0.381 624 1.04e+03 0.635 0.0534 0.0673 1.34 Crystal msc + 34 0.404 624 1.04e+03 0.602 0.0336 0.0768 1.42 Crystal msc + 35 0.418 624 1.04e+03 0.563 0.0384 0.0768 1.49 Crystal msc + 36 0.48 624 1.04e+03 0.543 0.0205 0.0783 1.57 Crystal msc + 37 0.488 624 1.04e+03 0.507 0.036 0.0816 1.65 Crystal msc + 38 0.52 624 1.04e+03 0.453 0.0539 0.0965 1.75 Crystal msc + 39 0.575 624 1.04e+03 0.401 0.0519 0.0965 1.84 Crystal msc + 40 0.574 624 1.04e+03 0.344 0.057 0.105 1.95 Crystal msc + 41 0.556 624 1.04e+03 0 0.344 0.403 2.35 Crystal eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.323 629 1.05e+03 4.79 0 0 0 Crystal initStep - 1 0.223 629 1.05e+03 4.68 0.11 0.26 0.26 Crystal msc - 2 0.151 629 1.05e+03 4.58 0.105 0.26 0.519 Crystal msc - 3 0.0755 629 1.05e+03 4.46 0.118 0.26 0.779 Crystal msc - 4 0.116 629 1.05e+03 4.35 0.11 0.26 1.04 Crystal msc - 5 0.0309 629 1.05e+03 4.03 0.313 0.26 1.3 Crystal msc - 6 0.034 629 1.05e+03 3.94 0.0982 0.26 1.56 Crystal msc - 7 8.12e-16 629 1.05e+03 3.85 0.0863 0.206 1.76 Crystal CoupledTransportation - 8 -0.00809 629 1.05e+03 3.77 0.0798 0.177 1.94 Crystal msc - 9 -0.0418 629 1.05e+03 3.68 0.095 0.177 2.12 Crystal msc - 10 -0.111 629 1.05e+03 3.6 0.0743 0.177 2.29 Crystal msc - 11 -0.207 629 1.05e+03 3.52 0.0839 0.177 2.47 Crystal msc - 12 -0.301 629 1.05e+03 3.44 0.0735 0.177 2.65 Crystal msc - 13 -0.353 630 1.05e+03 3.38 0.061 0.177 2.83 Crystal msc - 14 -0.435 630 1.05e+03 3.31 0.0727 0.177 3 Crystal msc - 15 -0.514 630 1.05e+03 3.24 0.0692 0.177 3.18 Crystal msc - 16 -0.65 630 1.05e+03 3.16 0.0762 0.177 3.36 Crystal msc - 17 -0.663 630 1.05e+03 3.1 0.0665 0.177 3.54 Crystal msc - 18 -0.663 630 1.05e+03 3.03 0.0638 0.177 3.71 Crystal msc - 19 -0.601 630 1.05e+03 2.97 0.0618 0.177 3.89 Crystal msc - 20 -0.6 630 1.05e+03 2.85 0.122 0.177 4.07 Crystal msc - 21 -0.53 630 1.05e+03 2.78 0.0663 0.177 4.24 Crystal msc - 22 -0.449 630 1.05e+03 2.69 0.0978 0.177 4.42 Crystal msc - 23 -0.38 630 1.05e+03 2.61 0.0717 0.177 4.6 Crystal msc - 24 -0.422 630 1.05e+03 2.56 0.0529 0.177 4.78 Crystal msc - 25 -0.456 630 1.05e+03 2.46 0.0405 0.0909 4.87 Crystal eBrem - 26 -0.429 630 1.05e+03 2.38 0.0821 0.177 5.04 Crystal msc - 27 -0.349 630 1.05e+03 2.3 0.0771 0.177 5.22 Crystal msc - 28 -0.346 630 1.05e+03 2.02 0.00259 0.00522 5.23 Crystal eBrem - 29 -0.252 630 1.05e+03 1.95 0.0681 0.177 5.4 Crystal msc - 30 -0.119 630 1.05e+03 1.87 0.0839 0.177 5.58 Crystal msc - 31 1.43e-15 630 1.05e+03 1.81 0.0631 0.148 5.73 Crystal CoupledTransportation - 32 0.0496 630 1.05e+03 1.66 0.15 0.0643 5.79 Crystal msc - 33 0.0901 630 1.05e+03 1.63 0.0235 0.0643 5.86 Crystal msc - 34 0.139 630 1.05e+03 1.59 0.0442 0.0643 5.92 Crystal msc - 35 0.194 630 1.05e+03 1.56 0.0238 0.0643 5.99 Crystal msc - 36 0.237 630 1.05e+03 1.53 0.0362 0.0643 6.05 Crystal msc - 37 0.278 630 1.05e+03 1.51 0.022 0.0643 6.12 Crystal msc - 38 0.304 630 1.05e+03 1.48 0.0248 0.0643 6.18 Crystal msc - 39 0.305 630 1.05e+03 1.46 0.0192 0.0643 6.24 Crystal msc - 40 0.273 630 1.05e+03 1.43 0.0322 0.0643 6.31 Crystal msc - 41 0.264 630 1.05e+03 1.4 0.0247 0.0643 6.37 Crystal msc - 42 0.223 630 1.05e+03 1.38 0.0267 0.0643 6.44 Crystal msc - 43 0.166 630 1.05e+03 1.24 0.139 0.0643 6.5 Crystal msc - 44 0.108 630 1.05e+03 1.21 0.0252 0.0643 6.57 Crystal msc - 45 0.0678 630 1.05e+03 1.19 0.026 0.0643 6.63 Crystal msc - 46 0.0197 630 1.05e+03 1.16 0.0302 0.0643 6.69 Crystal msc - 47 -1.5e-15 630 1.05e+03 1.15 0.00946 0.0214 6.72 Crystal CoupledTransportation - 48 -0.0374 630 1.05e+03 1.13 0.0201 0.0386 6.75 Crystal msc - 49 -0.0707 630 1.05e+03 1.12 0.0128 0.0386 6.79 Crystal msc - 50 -0.104 630 1.05e+03 1.1 0.0135 0.0386 6.83 Crystal msc - 51 -0.137 630 1.05e+03 0.956 0.0126 0.0351 6.87 Crystal eBrem - 52 -0.172 630 1.05e+03 0.94 0.0158 0.0386 6.9 Crystal msc - 53 -0.208 630 1.05e+03 0.925 0.015 0.0386 6.94 Crystal msc - 54 -0.241 630 1.05e+03 0.911 0.0146 0.0386 6.98 Crystal msc - 55 -0.263 630 1.05e+03 0.89 0.0204 0.0386 7.02 Crystal msc - 56 -0.288 630 1.05e+03 0.878 0.0128 0.0386 7.06 Crystal msc - 57 -0.312 630 1.05e+03 0.863 0.0146 0.0386 7.1 Crystal msc - 58 -0.333 630 1.05e+03 0.838 0.025 0.0386 7.14 Crystal msc - 59 -0.333 630 1.05e+03 0.819 0.0189 0.0386 7.17 Crystal msc - 60 -0.335 630 1.05e+03 0.802 0.0169 0.0386 7.21 Crystal msc - 61 -0.306 630 1.05e+03 0.782 0.0204 0.0386 7.25 Crystal msc - 62 -0.288 630 1.05e+03 0.765 0.0165 0.0386 7.29 Crystal msc - 63 -0.276 630 1.05e+03 0.706 0.0594 0.0386 7.33 Crystal msc - 64 -0.259 630 1.05e+03 0.693 0.0127 0.0386 7.37 Crystal msc - 65 -0.249 630 1.05e+03 0.661 0.032 0.0386 7.41 Crystal msc - 66 -0.25 630 1.05e+03 0.649 0.0119 0.0386 7.45 Crystal msc - 67 -0.237 630 1.05e+03 0.633 0.016 0.0386 7.48 Crystal msc - 68 -0.239 630 1.05e+03 0.618 0.0148 0.0386 7.52 Crystal msc - 69 -0.263 630 1.05e+03 0.599 0.0196 0.0386 7.56 Crystal msc - 70 -0.284 630 1.05e+03 0.583 0.0154 0.0386 7.6 Crystal msc - 71 -0.305 629 1.05e+03 0.482 0.102 0.0386 7.64 Crystal msc - 72 -0.307 629 1.05e+03 0.461 0.0213 0.0386 7.68 Crystal msc - 73 -0.289 629 1.05e+03 0.445 0.0152 0.0386 7.72 Crystal msc - 74 -0.26 629 1.05e+03 0.369 0.0767 0.0386 7.75 Crystal msc - 75 -0.243 630 1.05e+03 0.346 0.023 0.0386 7.79 Crystal msc - 76 -0.237 630 1.05e+03 0.328 0.0177 0.0386 7.83 Crystal msc - 77 -0.237 630 1.05e+03 0.307 0.0214 0.0386 7.87 Crystal msc - 78 -0.26 630 1.05e+03 0.286 0.0201 0.0386 7.91 Crystal msc - 79 -0.287 630 1.05e+03 0.263 0.023 0.0386 7.95 Crystal msc - 80 -0.272 630 1.05e+03 0.246 0.017 0.0386 7.99 Crystal msc - 81 -0.282 630 1.05e+03 0.219 0.0273 0.0386 8.02 Crystal msc - 82 -0.298 630 1.05e+03 0 0.219 0.207 8.23 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 131, Parent ID = 7 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.137 630 1.05e+03 0.133 0 0 0 Crystal initStep - 1 -3.42 627 1.05e+03 0 0.0332 4.69 4.69 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 131 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -3.42 627 1.05e+03 0.1 0 0 0 Crystal initStep - 1 -3.42 627 1.05e+03 0.0986 0.0016 0.00119 0.00119 Crystal msc - 2 -3.42 627 1.05e+03 0 0.0986 0.0578 0.059 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 130, Parent ID = 7 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.346 630 1.05e+03 0.279 0 0 0 Crystal initStep - 1 1.11e-15 631 1.05e+03 0.279 0 0.723 0.723 Crystal CoupledTransportation - 2 3.73 636 1.06e+03 0 0.0332 7.8 8.52 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 130 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.73 636 1.06e+03 0.246 0 0 0 Crystal initStep - 1 3.73 636 1.06e+03 0.243 0.00226 0.0049 0.0049 Crystal msc - 2 3.73 636 1.06e+03 0 0.243 0.242 0.247 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 129, Parent ID = 7 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.456 630 1.05e+03 0.0604 0 0 0 Crystal initStep - 1 -0.171 630 1.05e+03 0 0.0332 0.65 0.65 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 129 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.171 630 1.05e+03 0.0272 0 0 0 Crystal initStep - 1 -0.171 630 1.05e+03 0.0271 0.00014 0.000136 0.000136 Crystal msc - 2 -0.171 630 1.05e+03 0 0.0271 0.00675 0.00689 Crystal eIoni + 0 -0.038 597 994 0.00119 0 0 0 WorldPhysical initStep + 1 -0.0364 597 994 0.00113 6.42e-05 0.0019 0.0019 WorldPhysical msc + 2 -0.0113 597 994 0 0.00113 0.0684 0.0703 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0668 619 1.03e+03 5.4 0 0 0 Crystal initStep - 1 -0.246 619 1.03e+03 5.21 0.19 0.324 0.324 Crystal msc - 2 -0.482 619 1.03e+03 5.08 0.136 0.324 0.649 Crystal msc - 3 -0.664 619 1.03e+03 4.91 0.167 0.324 0.973 Crystal msc - 4 -0.923 619 1.03e+03 4.68 0.233 0.324 1.3 Crystal msc - 5 -1.22 619 1.03e+03 4.54 0.134 0.324 1.62 Crystal msc - 6 -1.47 619 1.03e+03 4.38 0.164 0.324 1.95 Crystal msc - 7 -1.75 619 1.03e+03 4.24 0.142 0.324 2.27 Crystal msc - 8 -1.99 619 1.03e+03 4.1 0.137 0.324 2.6 Crystal msc - 9 -2.24 619 1.03e+03 3.97 0.13 0.324 2.92 Crystal msc - 10 -2.51 619 1.03e+03 3.75 0.221 0.324 3.24 Crystal msc - 11 -2.69 619 1.03e+03 3.61 0.136 0.324 3.57 Crystal msc - 12 -2.76 619 1.03e+03 3.45 0.161 0.324 3.89 Crystal msc - 13 -2.92 619 1.03e+03 3.32 0.135 0.324 4.22 Crystal msc - 14 -2.88 619 1.03e+03 3.18 0.142 0.324 4.54 Crystal msc - 15 -2.85 619 1.03e+03 3.03 0.0291 0.0487 4.59 Crystal eBrem - 16 -2.72 619 1.03e+03 2.91 0.128 0.324 4.92 Crystal msc - 17 -2.67 619 1.03e+03 2.78 0.13 0.324 5.24 Crystal msc - 18 -2.64 618 1.03e+03 2.53 0.249 0.324 5.56 Crystal msc - 19 -2.42 618 1.03e+03 2.39 0.136 0.324 5.89 Crystal msc - 20 -2.26 618 1.03e+03 2.26 0.132 0.324 6.21 Crystal msc - 21 -1.97 618 1.03e+03 2.1 0.161 0.324 6.54 Crystal msc - 22 -1.88 618 1.03e+03 1.94 0.159 0.324 6.86 Crystal msc - 23 -1.64 618 1.03e+03 1.75 0.184 0.324 7.19 Crystal msc - 24 -1.69 618 1.03e+03 1.62 0.135 0.324 7.51 Crystal msc - 25 -1.76 618 1.03e+03 1.46 0.162 0.324 7.84 Crystal msc - 26 -2.01 618 1.03e+03 1.32 0.14 0.324 8.16 Crystal msc - 27 -2.14 618 1.03e+03 1.08 0.241 0.324 8.49 Crystal msc - 28 -2.23 618 1.03e+03 0.942 0.135 0.324 8.81 Crystal msc - 29 -2.09 618 1.03e+03 0.15 0.791 1.38 10.2 Crystal eIoni - 30 -2.09 618 1.03e+03 0 0.15 0.115 10.3 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 135, Parent ID = 6 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.85 619 1.03e+03 0.113 0 0 0 Crystal initStep - 1 -1.62 619 1.03e+03 0 0.0332 1.86 1.86 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 136, Parent ID = 135 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.62 619 1.03e+03 0.08 0 0 0 Crystal initStep - 1 -1.62 619 1.03e+03 0.0792 0.000878 0.000819 0.000819 Crystal msc - 2 -1.62 619 1.03e+03 0 0.0792 0.0402 0.041 Crystal eIoni + 0 -0.0359 570 950 0.00259 0 0 0 WorldPhysical initStep + 1 -0.0403 570 950 0.00259 0 0.00719 0.00719 WorldPhysical msc + 2 -0.0619 570 950 0 0.00259 0.236 0.243 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.177 608 1.01e+03 13 0 0 0 Crystal initStep - 1 -1.01 609 1.02e+03 11.7 1.22 2.3 2.3 Crystal msc - 2 -1.2 610 1.02e+03 10.1 0.474 0.97 3.27 Crystal eBrem - 3 -2.75 610 1.02e+03 8.67 1.46 2.3 5.58 Crystal msc - 4 -3.96 610 1.02e+03 7.35 0.989 1.99 7.57 Crystal eBrem - 5 -2.84 610 1.02e+03 6.39 0.966 1.42 8.98 Crystal eIoni - 6 -0.991 610 1.02e+03 5.21 1.18 2.3 11.3 Crystal msc - 7 -0.619 611 1.02e+03 4.59 0.488 0.942 12.2 Crystal eBrem - 8 -0.528 611 1.02e+03 4.42 0.0974 0.255 12.5 Crystal eBrem - 9 -0.14 612 1.02e+03 3.88 0.444 0.926 13.4 Crystal eBrem - 10 1.72e-15 613 1.02e+03 3.44 0.438 0.983 14.4 Crystal CoupledTransportation - 11 0.124 613 1.02e+03 3.37 0.0743 0.147 14.5 Crystal msc - 12 0.265 613 1.02e+03 3.3 0.0691 0.147 14.7 Crystal msc - 13 0.387 613 1.02e+03 3.24 0.0555 0.147 14.8 Crystal msc - 14 0.503 613 1.02e+03 3.19 0.0551 0.147 15 Crystal msc - 15 0.627 613 1.02e+03 3.12 0.0622 0.147 15.1 Crystal msc - 16 0.765 613 1.02e+03 3.07 0.0582 0.147 15.3 Crystal msc - 17 0.89 613 1.02e+03 3.01 0.0544 0.147 15.4 Crystal msc - 18 1.03 613 1.02e+03 2.94 0.0707 0.147 15.6 Crystal msc - 19 1.16 613 1.02e+03 2.89 0.0548 0.147 15.7 Crystal msc - 20 1.26 613 1.02e+03 2.84 0.048 0.102 15.8 Crystal eBrem - 21 1.39 613 1.02e+03 2.78 0.0609 0.147 16 Crystal msc - 22 1.49 613 1.02e+03 2.71 0.0717 0.147 16.1 Crystal msc - 23 1.53 613 1.02e+03 2.62 0.0903 0.147 16.3 Crystal msc - 24 1.49 613 1.02e+03 2.55 0.0632 0.147 16.4 Crystal msc - 25 1.5 613 1.02e+03 2.48 0.0685 0.147 16.5 Crystal msc - 26 1.54 613 1.02e+03 2.42 0.059 0.147 16.7 Crystal msc - 27 1.6 613 1.02e+03 2.26 0.16 0.147 16.8 Crystal msc - 28 1.68 613 1.02e+03 2.21 0.0521 0.147 17 Crystal msc - 29 1.78 613 1.02e+03 2.15 0.0639 0.147 17.1 Crystal msc - 30 1.82 613 1.02e+03 2.1 0.0502 0.147 17.3 Crystal msc - 31 1.82 614 1.02e+03 2.04 0.056 0.147 17.4 Crystal msc - 32 1.77 614 1.02e+03 1.98 0.0629 0.147 17.6 Crystal msc - 33 1.78 614 1.02e+03 1.92 0.0614 0.147 17.7 Crystal msc - 34 1.67 614 1.02e+03 1.86 0.0593 0.147 17.9 Crystal msc - 35 1.62 614 1.02e+03 1.8 0.0563 0.147 18 Crystal msc - 36 1.53 614 1.02e+03 1.74 0.0582 0.147 18.2 Crystal msc - 37 1.45 614 1.02e+03 1.68 0.0634 0.147 18.3 Crystal msc - 38 1.43 614 1.02e+03 1.62 0.0596 0.147 18.5 Crystal msc - 39 1.37 614 1.02e+03 1.56 0.0608 0.147 18.6 Crystal msc - 40 1.35 614 1.02e+03 1.55 0.00721 0.0273 18.6 Crystal eIoni - 41 1.25 614 1.02e+03 1.42 0.0434 0.113 18.7 Crystal eBrem - 42 1.18 614 1.02e+03 1.35 0.0691 0.147 18.9 Crystal msc - 43 1.16 614 1.02e+03 1.28 0.0729 0.147 19 Crystal msc - 44 1.05 614 1.02e+03 1.21 0.0663 0.147 19.2 Crystal msc - 45 0.929 614 1.02e+03 1.14 0.0675 0.147 19.3 Crystal msc - 46 0.945 614 1.02e+03 1.07 0.0707 0.147 19.5 Crystal msc - 47 0.864 614 1.02e+03 0.959 0.114 0.147 19.6 Crystal msc - 48 0.884 614 1.02e+03 0.898 0.0608 0.147 19.8 Crystal msc - 49 0.874 614 1.02e+03 0.815 0.0275 0.0642 19.8 Crystal eBrem - 50 0.835 614 1.02e+03 0.735 0.0793 0.147 20 Crystal msc - 51 0.78 614 1.02e+03 0.665 0.0705 0.147 20.1 Crystal msc - 52 0.694 615 1.02e+03 0.592 0.0733 0.147 20.3 Crystal msc - 53 0.602 615 1.02e+03 0.535 0.0571 0.147 20.4 Crystal msc - 54 0.557 615 1.02e+03 0.447 0.0871 0.147 20.6 Crystal msc - 55 0.634 615 1.02e+03 0.353 0.0942 0.147 20.7 Crystal msc - 56 0.675 615 1.02e+03 0 0.353 0.42 21.1 Crystal eIoni + 0 -0.0361 563 938 0.00843 0 0 0 WorldPhysical initStep + 1 -0.824 563 938 0 0.00843 1.54 1.54 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 143, Parent ID = 5 +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.874 614 1.02e+03 0.056 0 0 0 Crystal initStep - 1 0.882 614 1.02e+03 0 0.0332 0.0319 0.0319 Crystal phot + 0 -0.0215 263 438 0.00132 0 0 0 DriftChamberPhysical initStep + 1 -0.063 263 438 0.00124 7.8e-05 0.0445 0.0445 DriftChamberPhysical msc + 2 -0.352 263 438 0 0.00124 0.419 0.464 DriftChamberPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 143 +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.882 614 1.02e+03 0.0228 0 0 0 Crystal initStep - 1 0.882 614 1.02e+03 0.0224 0.000365 0.000102 0.000102 Crystal msc - 2 0.882 614 1.02e+03 0 0.0224 0.00495 0.00505 Crystal eIoni + 0 -0.00984 146 244 0.00921 0 0 0 DriftChamberPhysical initStep + 1 -0.994 150 243 0.00692 0.00229 4.17 4.17 DriftChamberPhysical eIoni + 2 -1.37 153 241 0.00508 0.00185 3.06 7.23 DriftChamberPhysical eIoni + 3 -2.21 155 241 0.00286 0.00222 2.3 9.53 DriftChamberPhysical eIoni + 4 -2.29 156 242 0.00137 0.00149 1.43 11 DriftChamberPhysical eIoni + 5 -2.02 156 242 0 0.00137 0.492 11.4 DriftChamberPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 142, Parent ID = 5 +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.25 614 1.02e+03 0.0903 0 0 0 Crystal initStep - 1 0.786 614 1.02e+03 0 0.0332 0.589 0.589 Crystal phot + 0 0.00287 15.9 26.5 0.0861 0 0 0 WorldPhysical initStep + 1 5.31 13.9 30.8 0.0831 0.00197 7.26 7.26 WorldPhysical eIoni + 2 8.21 12.9 32.2 0.0678 0.00168 3.41 10.7 WorldPhysical eIoni + 3 17.5 7.22 45.1 0.0559 0.0119 18.1 28.7 WorldPhysical eIoni + 4 17.5 6.72 45.8 0.0543 0.000405 0.872 29.6 WorldPhysical eIoni + 5 17.2 -1.45 54.3 0.0474 0.00689 12.7 42.3 WorldPhysical eIoni + 6 19.9 -3.2 54.2 0.045 0.00141 3.35 45.6 WorldPhysical eIoni + 7 22.5 -8.51 54.2 0.0369 0.00453 6.19 51.8 WorldPhysical eIoni + 8 24 -14.6 55.8 0.0336 0.00326 7.05 58.8 WorldPhysical eIoni + 9 24 -15.3 55.9 0.028 0.00022 0.666 59.5 WorldPhysical eIoni + 10 25.8 -17.3 59.4 0.0255 0.00252 4.87 64.4 WorldPhysical eIoni + 11 23.1 -16.3 62.1 0.0163 0.00917 4.32 68.7 WorldPhysical eIoni + 12 23 -16.4 62.2 0.0163 3.84e-05 0.204 68.9 WorldPhysical eIoni + 13 22.3 -17.9 63.9 0.0124 0.00385 2.69 71.6 WorldPhysical eIoni + 14 21.5 -19 63.1 0.00349 0.00791 1.78 73.4 WorldPhysical eIoni + 15 21.5 -19.1 63.1 0 0.00349 0.39 73.8 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 142 +* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.786 614 1.02e+03 0.0571 0 0 0 Crystal initStep - 1 0.786 614 1.02e+03 0.0562 0.000906 0.000471 0.000471 Crystal msc - 2 0.788 614 1.02e+03 0 0.0562 0.0229 0.0234 Crystal eIoni + 0 21.5 -19 63.1 0.00104 0 0 0 WorldPhysical initStep + 1 21.5 -18.9 63.1 0 0.00104 0.061 0.061 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 141, Parent ID = 5 +* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.14 612 1.02e+03 0.0946 0 0 0 Crystal initStep - 1 -0.0324 613 1.02e+03 0 0.0332 0.892 0.892 Crystal phot + 0 24 -15.3 55.9 0.00536 0 0 0 WorldPhysical initStep + 1 23.9 -15.5 55.6 0 0.00536 0.82 0.82 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 141 +* G4Track Information: Particle = e-, Track ID = 143, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0324 613 1.02e+03 0.0614 0 0 0 Crystal initStep - 1 -0.0328 613 1.02e+03 0.0614 5.76e-05 0.000529 0.000529 Crystal msc - 2 -0.0337 613 1.02e+03 0 0.0614 0.0264 0.0269 Crystal eIoni + 0 22.5 -8.51 54.2 0.00357 0 0 0 WorldPhysical initStep + 1 22.4 -8.54 54.4 0 0.00357 0.404 0.404 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 140, Parent ID = 5 +* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.528 611 1.02e+03 0.0718 0 0 0 Crystal initStep - 1 -0.395 612 1.02e+03 0 0.0332 0.946 0.946 Crystal phot + 0 19.9 -3.2 54.2 0.00105 0 0 0 WorldPhysical initStep + 1 19.9 -3.18 54.2 0 0.00105 0.0616 0.0616 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 141, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 17.5 6.72 45.8 0.00118 0 0 0 WorldPhysical initStep + 1 17.5 6.7 45.8 0 0.00118 0.0728 0.0728 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 140, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 8.21 12.9 32.2 0.0136 0 0 0 WorldPhysical initStep + 1 8.3 13.2 33.5 0.00917 0.00274 1.46 1.46 WorldPhysical eIoni + 2 8.41 13.1 33.5 0.00759 0.000321 0.214 1.67 WorldPhysical eIoni + 3 9.34 12.9 33.4 0.00307 0.00452 1.38 3.05 WorldPhysical eIoni + 4 9.43 12.8 33.5 0 0.00307 0.312 3.36 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 147, Parent ID = 140 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.395 612 1.02e+03 0.0386 0 0 0 Crystal initStep - 1 -0.395 612 1.02e+03 0.0386 2.18e-05 0.000243 0.000243 Crystal msc - 2 -0.396 612 1.02e+03 0 0.0386 0.0121 0.0124 Crystal eIoni + 0 8.41 13.1 33.5 0.00126 0 0 0 WorldPhysical initStep + 1 8.41 13 33.5 0 0.00126 0.0794 0.0794 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 139, Parent ID = 5 +* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 140 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.619 611 1.02e+03 0.135 0 0 0 Crystal initStep - 1 -0.151 613 1.02e+03 0 0.0332 2.31 2.31 Crystal phot + 0 8.3 13.2 33.5 0.00166 0 0 0 WorldPhysical initStep + 1 8.33 13.3 33.5 0 0.00166 0.118 0.118 WorldPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 139 +* G4Track Information: Particle = e-, Track ID = 139, Parent ID = 2 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.151 613 1.02e+03 0.102 0 0 0 Crystal initStep - 1 -0.152 613 1.02e+03 0.1 0.00122 0.00121 0.00121 Crystal msc - 2 -0.157 613 1.02e+03 0 0.1 0.0594 0.0606 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 138, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -3.96 610 1.02e+03 0.329 0 0 0 Crystal initStep - 1 -1.78e-15 608 1.01e+03 0.329 0 6.61 6.61 Crystal CoupledTransportation - 2 2.14 607 1.01e+03 0.194 0 3.56 10.2 Crystal compt - 3 1.78e-15 614 1.01e+03 0.194 0 7.73 17.9 Crystal CoupledTransportation - 4 -1.23 618 1.01e+03 0.131 0 4.46 22.4 Crystal compt - 5 -2.38 616 1.01e+03 0.103 0 1.84 24.2 Crystal compt - 6 -0.941 616 1e+03 0 0.0332 1.83 26 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 152, Parent ID = 138 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.941 616 1e+03 0.0701 0 0 0 Crystal initStep - 1 -0.94 616 1e+03 0.0675 0.00265 0.000662 0.000662 Crystal msc - 2 -0.939 616 1e+03 0 0.0675 0.031 0.0317 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 151, Parent ID = 138 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.38 616 1.01e+03 0.0275 0 0 0 Crystal initStep - 1 -2.38 616 1.01e+03 0.0272 0.000306 0.000139 0.000139 Crystal msc - 2 -2.38 616 1.01e+03 0 0.0272 0.00683 0.00697 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 150, Parent ID = 138 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.23 618 1.01e+03 0.0636 0 0 0 Crystal initStep - 1 -1.23 618 1.01e+03 0.0635 8.04e-05 0.000559 0.000559 Crystal msc - 2 -1.23 618 1.01e+03 0 0.0635 0.0279 0.0284 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 149, Parent ID = 138 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.14 607 1.01e+03 0.135 0 0 0 Crystal initStep - 1 2.14 607 1.01e+03 0.133 0.00158 0.00193 0.00193 Crystal msc - 2 2.14 607 1.01e+03 0 0.133 0.0946 0.0965 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 137, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.2 610 1.02e+03 1.14 0 0 0 Crystal initStep - 1 -29.3 643 1.06e+03 0.345 0 60.7 60.7 Crystal compt - 2 -35.4 640 1.06e+03 0.303 0 7.03 67.7 Crystal compt - 3 -49.7 637 1.03e+03 0 0.0332 27.6 95.3 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 155, Parent ID = 137 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -49.7 637 1.03e+03 0.27 0 0 0 Crystal initStep - 1 -49.7 637 1.03e+03 0.264 0.00617 0.00566 0.00566 Crystal msc - 2 -49.7 637 1.03e+03 0 0.264 0.273 0.279 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 154, Parent ID = 137 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -35.4 640 1.06e+03 0.0422 0 0 0 Crystal initStep - 1 -35.4 640 1.06e+03 0.0418 0.000355 0.000283 0.000283 Crystal msc - 2 -35.4 640 1.06e+03 0 0.0418 0.0139 0.0142 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 153, Parent ID = 137 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -29.3 643 1.06e+03 0.793 0 0 0 Crystal initStep - 1 -29.3 643 1.06e+03 0.699 0.0943 0.0247 0.0247 Crystal msc - 2 -29.2 643 1.06e+03 0.113 0.586 1.05 1.08 Crystal eIoni - 3 -29.2 643 1.06e+03 0 0.113 0.0721 1.15 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.275 589 982 0.00158 0 0 0 WorldPhysical initStep - 1 -0.273 589 982 0.00152 6.83e-05 0.00314 0.00314 WorldPhysical msc - 2 -0.256 589 982 0 0.00152 0.103 0.106 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0991 265 442 0.00175 0 0 0 DriftChamberPhysical initStep - 1 -0.0285 265 442 0.0016 0.000151 0.0732 0.0732 DriftChamberPhysical msc - 2 0.388 265 442 0 0.0016 0.614 0.687 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00215 13.2 22 0.00183 0 0 0 WorldPhysical initStep - 1 0.0535 13.2 22 0 0.00183 0.137 0.137 WorldPhysical eIoni + 0 5.31 13.9 30.8 0.00108 0 0 0 WorldPhysical initStep + 1 5.3 13.9 30.8 0 0.00108 0.0646 0.0646 WorldPhysical eIoni >>> Event 0 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.3081443986234383 (GeV) - 5 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7148424589981518 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 60 100 1e+03 0.0153 117 117 DriftChamberPhysical CoupledTransportation - 2 -0.0599 269 449 1e+03 0.011 407 524 DriftChamberPhysical hIoni - 3 -0.108 540 900 1e+03 0.0112 526 1.05e+03 WorldPhysical CoupledTransportation - 4 -0.116 570 950 1e+03 0.0185 117 1.17e+03 WorldPhysical CoupledTransportation - 5 -0.116 570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0599 269 449 0.00559 0 0 0 DriftChamberPhysical initStep - 1 -0.898 270 449 0.00454 0.00105 1.37 1.37 DriftChamberPhysical msc - 2 -2.69 271 448 0.00247 0.00207 2.11 3.48 DriftChamberPhysical eIoni - 3 -3.02 271 447 0.00184 0.000634 0.627 4.1 DriftChamberPhysical eIoni - 4 -3.33 271 447 0 0.00184 0.771 4.88 DriftChamberPhysical eIoni ->>> Event 1 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.3599778578712936 (GeV) - 8 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.5799643265704177 (GeV) + Total energy deposition in EM calorimeter crytals : 0.2957190263561839 (GeV) + 4 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.5205553980331402 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -3024,82 +3028,54 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.000266 3.54 5.9 1e+03 0.00155 6.88 6.88 WorldPhysical hIoni - 2 -0.00382 60 100 1e+03 0.014 110 117 DriftChamberPhysical CoupledTransportation - 3 -0.118 540 900 1e+03 0.0202 933 1.05e+03 WorldPhysical CoupledTransportation - 4 -0.12 544 906 1e+03 0.00167 6.83 1.06e+03 WorldPhysical hIoni - 5 -0.121 562 937 1e+03 0.00502 36 1.09e+03 WorldPhysical hIoni - 6 -0.125 570 950 1e+03 0.00243 22.5 1.11e+03 WorldPhysical hIoni - 7 -0.125 570 950 0 1e+03 0 1.11e+03 WorldPhysical G4FSMP_parallelGeom + 1 6.89e-06 0.32 0.534 1e+03 0.000126 0.622 0.622 WorldPhysical hIoni + 2 0.0155 56.6 94.3 1e+03 0.0208 109 110 WorldPhysical hIoni + 3 0.0165 60 100 1e+03 0.000701 6.6 117 DriftChamberPhysical CoupledTransportation + 4 0.0946 263 438 1e+03 0.00748 394 511 DriftChamberPhysical hIoni + 5 0.146 448 745 1e+03 0.00956 359 870 DriftChamberPhysical hIoni + 6 0.172 541 900 1e+03 0.00349 180 1.05e+03 WorldPhysical CoupledTransportation + 7 0.183 571 950 1e+03 0.0156 117 1.17e+03 WorldPhysical CoupledTransportation + 8 0.183 571 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.125 570 950 0.00158 0 0 0 WorldPhysical initStep - 1 -0.122 570 950 0.00156 1.82e-05 0.00311 0.00311 WorldPhysical msc - 2 -0.122 570 950 0.00148 8.3e-05 0.00311 0.00622 WorldPhysical msc - 3 -0.119 570 950 0.00148 0 0.00311 0.00932 WorldPhysical msc - 4 -0.119 570 950 0.00148 0 0.00311 0.0124 WorldPhysical msc - 5 -0.119 570 950 0.00144 4.01e-05 0.00311 0.0155 WorldPhysical msc - 6 -0.116 570 950 0.00137 6.77e-05 0.00311 0.0186 WorldPhysical msc - 7 -0.114 570 950 0.0013 6.81e-05 0.00311 0.0218 WorldPhysical msc - 8 -0.111 570 950 0.0013 0 0.00311 0.0249 WorldPhysical msc - 9 -0.109 570 950 0.00126 4.22e-05 0.00311 0.028 WorldPhysical msc - 10 -0.106 570 950 0.00126 0 0.00311 0.0311 WorldPhysical msc - 11 -0.104 570 950 0.00125 1.22e-05 0.00311 0.0342 WorldPhysical msc - 12 -0.101 570 950 0.00125 0 0.00311 0.0373 WorldPhysical msc - 13 -0.0981 570 950 0.00121 3.42e-05 0.00311 0.0404 WorldPhysical msc - 14 -0.0952 570 950 0.00117 4.01e-05 0.00311 0.0435 WorldPhysical msc - 15 -0.0922 570 950 0.00117 0 0.00311 0.0466 WorldPhysical msc - 16 -0.0897 570 950 0.00117 0 0.00311 0.0497 WorldPhysical msc - 17 -0.0876 570 950 0.00108 9e-05 0.00311 0.0528 WorldPhysical msc - 18 -0.0869 570 950 0.001 7.88e-05 0.00311 0.0559 WorldPhysical msc - 19 -0.0869 570 950 0.001 0 0.00311 0.059 WorldPhysical msc - 20 -0.0872 570 950 0.001 0 0.00311 0.0622 WorldPhysical msc - 21 -0.0883 570 950 0.000842 0.000162 0.00311 0.0653 WorldPhysical msc - 22 -0.0903 570 950 0.000815 2.69e-05 0.00311 0.0684 WorldPhysical msc - 23 -0.0912 570 950 0.000758 5.69e-05 0.00311 0.0715 WorldPhysical msc - 24 -0.0924 570 950 0.000758 0 0.00311 0.0746 WorldPhysical msc - 25 -0.0938 570 950 0.000758 0 0.00311 0.0777 WorldPhysical msc - 26 -0.0956 570 950 0.000714 4.37e-05 0.00311 0.0808 WorldPhysical msc - 27 -0.0982 570 950 0.000714 0 0.00311 0.0839 WorldPhysical msc - 28 -0.1 570 950 0.000506 0.000208 0.00311 0.087 WorldPhysical msc - 29 -0.1 570 950 0.000446 6.06e-05 0.00311 0.0901 WorldPhysical msc - 30 -0.101 570 950 0.00043 1.52e-05 0.00311 0.0932 WorldPhysical msc - 31 -0.103 570 950 0.000281 0.00015 0.00311 0.0963 WorldPhysical msc - 32 -0.107 570 950 0 0.000281 0.016 0.112 WorldPhysical eIoni + 0 0.146 448 745 0.00115 0 0 0 DriftChamberPhysical initStep + 1 0.171 448 745 0.00101 0.000143 0.0344 0.0344 DriftChamberPhysical msc + 2 0.239 448 745 0 0.00101 0.311 0.345 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.121 562 937 0.00446 0 0 0 WorldPhysical initStep - 1 0.0587 562 937 0 0.00446 0.593 0.593 WorldPhysical eIoni + 0 0.0946 263 438 0.00317 0 0 0 DriftChamberPhysical initStep + 1 -0.131 263 438 0.00295 0.000224 0.238 0.238 DriftChamberPhysical msc + 2 -1.15 263 437 0.00138 0.00157 1.47 1.7 DriftChamberPhysical eIoni + 3 -1 263 437 0 0.00138 0.497 2.2 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.12 544 906 0.00217 0 0 0 WorldPhysical initStep - 1 -0.193 543 906 0 0.00217 0.178 0.178 WorldPhysical eIoni + 0 0.0155 56.6 94.3 0.00185 0 0 0 WorldPhysical initStep + 1 0.0352 56.7 94.3 0 0.00185 0.139 0.139 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000266 3.54 5.9 0.00736 0 0 0 WorldPhysical initStep - 1 0.415 2.74 5.85 0.0027 0.00466 1.33 1.33 WorldPhysical eIoni - 2 0.471 2.71 5.76 0 0.0027 0.253 1.59 WorldPhysical eIoni ->>> Event 2 + 0 6.89e-06 0.32 0.534 0.00299 0 0 0 WorldPhysical initStep + 1 0.116 0.275 0.569 0 0.00299 0.3 0.3 WorldPhysical eIoni +>>> Event 1 4 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.09999396132123736 (GeV) + Total energy deposition in EM calorimeter crytals : 0.1599892973883606 (GeV) 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7799528983056516 (GeV) + Total energy deposition in HAD calorimeter towers : 0.8399438112888934 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -3107,79 +3083,186 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00211 13.8 23 1e+03 0.00324 26.8 26.8 WorldPhysical hIoni - 2 -0.00477 36.3 60.5 1e+03 0.00554 43.7 70.6 WorldPhysical hIoni - 3 -0.00674 40.5 67.5 1e+03 0.000712 8.17 78.7 WorldPhysical hIoni - 4 -0.00941 45.1 75.1 1e+03 0.00107 8.86 87.6 WorldPhysical hIoni - 5 -0.0172 60 100 1e+03 0.0041 29 117 DriftChamberPhysical CoupledTransportation - 6 -0.245 540 900 1e+03 0.0203 933 1.05e+03 WorldPhysical CoupledTransportation - 7 -0.253 554 923 1e+03 0.00312 26.5 1.08e+03 WorldPhysical hIoni - 8 -0.255 556 927 1e+03 0.000883 5.06 1.08e+03 WorldPhysical hIoni - 9 -0.261 570 950 1e+03 0.0138 85.1 1.17e+03 WorldPhysical CoupledTransportation - 10 -0.261 570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom + 1 -0.00185 13.3 22.1 1e+03 0.0063 25.8 25.8 WorldPhysical hIoni + 2 0.0229 60 100 1e+03 0.0163 90.8 117 DriftChamberPhysical CoupledTransportation + 3 0.128 174 290 1e+03 0.00617 221 338 DriftChamberPhysical hIoni + 4 0.234 292 486 1e+03 0.00497 229 567 DriftChamberPhysical hIoni + 5 0.428 500 834 1e+03 0.00827 406 973 DriftChamberPhysical hIoni + 6 0.455 540 900 1e+03 0.00193 76.6 1.05e+03 WorldPhysical CoupledTransportation + 7 0.479 567 945 1e+03 0.00844 53.1 1.1e+03 WorldPhysical hIoni + 8 0.481 570 950 1e+03 0.00403 30.8 1.13e+03 WorldPhysical hIoni + 9 0.481 570 950 0 1e+03 0 1.13e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.255 556 927 0.00135 0 0 0 WorldPhysical initStep - 1 -0.22 556 927 0 0.00135 0.0874 0.0874 WorldPhysical eIoni + 0 0.481 570 950 0.00109 0 0 0 WorldPhysical initStep + 1 0.479 570 950 0.00109 0 0.00163 0.00163 WorldPhysical msc + 2 0.479 570 950 0.00109 0 0.00163 0.00325 WorldPhysical msc + 3 0.477 570 950 0.00109 0 0.00163 0.00488 WorldPhysical msc + 4 0.476 570 950 0.00109 0 0.00163 0.0065 WorldPhysical msc + 5 0.474 570 950 0.00109 0 0.00163 0.00813 WorldPhysical msc + 6 0.473 570 950 0.00109 0 0.00163 0.00975 WorldPhysical msc + 7 0.472 570 950 0.00109 0 0.00163 0.0114 WorldPhysical msc + 8 0.47 570 950 0.00109 0 0.00163 0.013 WorldPhysical msc + 9 0.469 570 950 0.00109 0 0.00163 0.0146 WorldPhysical msc + 10 0.467 570 950 0.00104 4.91e-05 0.00163 0.0163 WorldPhysical msc + 11 0.466 570 950 0.00102 1.58e-05 0.00163 0.0179 WorldPhysical msc + 12 0.464 570 950 0.00102 0 0.00163 0.0195 WorldPhysical msc + 13 0.463 570 950 0.00101 1.33e-05 0.00163 0.0211 WorldPhysical msc + 14 0.462 570 950 0.000962 4.86e-05 0.00163 0.0228 WorldPhysical msc + 15 0.462 570 950 0.000951 1.07e-05 0.00163 0.0244 WorldPhysical msc + 16 0.462 570 950 0.000951 0 0.00163 0.026 WorldPhysical msc + 17 0.461 570 950 0.000951 0 0.00163 0.0276 WorldPhysical msc + 18 0.462 570 950 0.000852 9.93e-05 0.00163 0.0293 WorldPhysical msc + 19 0.463 570 950 0.000852 0 0.00163 0.0309 WorldPhysical msc + 20 0.463 570 950 0.000852 0 0.00168 0.0326 WorldPhysical msc + 21 0.464 570 950 0.000852 0 0.00189 0.0344 WorldPhysical msc + 22 0.465 570 950 0.000852 0 0.0021 0.0365 WorldPhysical msc + 23 0.465 570 950 0.000781 7.14e-05 0.00233 0.0389 WorldPhysical msc + 24 0.464 570 950 0.000776 4.69e-06 0.00261 0.0415 WorldPhysical msc + 25 0.463 570 950 0.000675 0.000101 0.00306 0.0445 WorldPhysical msc + 26 0.464 570 950 0.000636 3.95e-05 0.00342 0.048 WorldPhysical msc + 27 0.466 570 950 0.000636 0 0.00397 0.0519 WorldPhysical msc + 28 0.468 570 950 0.000636 0 0.00423 0.0562 WorldPhysical msc + 29 0.468 570 950 0.000607 2.87e-05 0.00484 0.061 WorldPhysical msc + 30 0.471 570 950 0.000583 2.41e-05 0.00539 0.0664 WorldPhysical msc + 31 0.472 570 950 0.000496 8.7e-05 0.00606 0.0724 WorldPhysical msc + 32 0.469 570 950 0.000406 9.05e-05 0.00606 0.0785 WorldPhysical msc + 33 0.467 570 950 0.000339 6.69e-05 0.00606 0.0846 WorldPhysical msc + 34 0.468 570 950 0.000339 0 0.00606 0.0906 WorldPhysical msc + 35 0.465 570 950 0 0.000339 0.0184 0.109 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.253 554 923 0.00843 0 0 0 WorldPhysical initStep - 1 -0.49 554 923 0.00671 0.000476 0.293 0.293 WorldPhysical eIoni - 2 -1.14 553 923 0.00118 0.00553 1.19 1.48 WorldPhysical eIoni - 3 -1.17 553 923 0 0.00118 0.0724 1.56 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.49 554 923 0.00124 0 0 0 WorldPhysical initStep - 1 -0.51 554 923 0 0.00124 0.0778 0.0778 WorldPhysical eIoni + 0 0.479 567 945 0.00258 0 0 0 WorldPhysical initStep + 1 0.579 567 946 0 0.00258 0.234 0.234 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00941 45.1 75.1 0.00259 0 0 0 WorldPhysical initStep - 1 0.051 45 75.1 0 0.00259 0.236 0.236 WorldPhysical eIoni + 0 0.428 500 834 0.00449 0 0 0 DriftChamberPhysical initStep + 1 0.932 500 834 0.00394 0.000546 0.664 0.664 DriftChamberPhysical msc + 2 2.58 500 835 0.00209 0.00186 1.87 2.54 DriftChamberPhysical eIoni + 3 3.1 500 835 0 0.00209 0.945 3.48 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00674 40.5 67.5 0.00209 0 0 0 WorldPhysical initStep - 1 -0.000619 40.4 67.5 0 0.00209 0.168 0.168 WorldPhysical eIoni + 0 0.234 292 486 0.00103 0 0 0 DriftChamberPhysical initStep + 1 0.241 292 486 0.000941 8.42e-05 0.0286 0.0286 DriftChamberPhysical msc + 2 0.305 292 486 0 0.000941 0.284 0.313 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00477 36.3 60.5 0.00133 0 0 0 WorldPhysical initStep - 1 0.0205 36.3 60.5 0 0.00133 0.0853 0.0853 WorldPhysical eIoni + 0 0.128 174 290 0.0011 0 0 0 DriftChamberPhysical initStep + 1 0.159 174 290 0.00108 1.51e-05 0.0318 0.0318 DriftChamberPhysical msc + 2 0.388 174 290 0 0.00108 0.347 0.379 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00211 13.8 23 0.00173 0 0 0 WorldPhysical initStep - 1 -0.0523 13.8 23 0 0.00173 0.126 0.126 WorldPhysical eIoni ->>> Event 3 - 5 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.1599887640821617 (GeV) - 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7599466293902679 (GeV) + 0 -0.00185 13.3 22.1 0.107 0 0 0 WorldPhysical initStep + 1 -17.1 15 28.4 0.0936 0.0109 18.9 18.9 WorldPhysical eIoni + 2 -20.5 16.2 38.5 0.088 0.00436 11 29.8 WorldPhysical eIoni + 3 -32.7 19.8 48.3 0.072 0.0132 16.7 46.6 WorldPhysical eIoni + 4 -33.4 19.7 49.3 0.0702 2.92e-05 1.22 47.8 WorldPhysical eIoni + 5 -35.3 15.1 66.5 0.0605 0.00973 19.1 66.9 WorldPhysical eIoni + 6 -36.2 13.7 67.7 0.05 0.00077 2.15 69.1 WorldPhysical eIoni + 7 -38.8 3.89 69.6 0.0413 0.0087 11.1 80.1 WorldPhysical eIoni + 8 -39.5 -3.76 69.3 0.0352 0.00612 8.31 88.4 WorldPhysical eIoni + 9 -35.5 -7.44 71.2 0.0299 0.0029 6.26 94.7 WorldPhysical eIoni + 10 -36 -6.73 73 0.0287 0.00118 2.07 96.8 WorldPhysical eIoni + 11 -37.6 -3.85 76.2 0.0241 0.0046 5.03 102 WorldPhysical eIoni + 12 -38.7 -0.864 78 0.0189 0.00524 4.05 106 WorldPhysical eIoni + 13 -39.3 0.513 77.3 0.0147 0.00169 1.81 108 WorldPhysical eIoni + 14 -40.9 0.965 76.1 0.00997 0.00474 2.46 110 WorldPhysical eIoni + 15 -41.8 0.017 75.6 0.00734 0.00264 1.77 112 WorldPhysical eIoni + 16 -41.6 0.561 75.5 0 0.00734 1.33 113 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -39.3 0.513 77.3 0.00248 0 0 0 WorldPhysical initStep + 1 -39.3 0.55 77.4 0 0.00248 0.218 0.218 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -35.5 -7.44 71.2 0.00243 0 0 0 WorldPhysical initStep + 1 -35.5 -7.5 71.3 0 0.00243 0.213 0.213 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -36.2 13.7 67.7 0.00968 0 0 0 WorldPhysical initStep + 1 -35.6 13.5 68.2 0.00512 0.00262 0.817 0.817 WorldPhysical eIoni + 2 -35.4 13.6 68.4 0 0.00512 0.752 1.57 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 12 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -35.6 13.5 68.2 0.00194 0 0 0 WorldPhysical initStep + 1 -35.7 13.5 68.2 0 0.00194 0.149 0.149 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -33.4 19.7 49.3 0.00169 0 0 0 WorldPhysical initStep + 1 -33.4 19.8 49.3 0 0.00169 0.122 0.122 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -32.7 19.8 48.3 0.0028 0 0 0 WorldPhysical initStep + 1 -32.7 19.9 48.3 0 0.0028 0.268 0.268 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -20.5 16.2 38.5 0.00123 0 0 0 WorldPhysical initStep + 1 -20.6 16.2 38.4 0 0.00123 0.0767 0.0767 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -17.1 15 28.4 0.00222 0 0 0 WorldPhysical initStep + 1 -17 15 28.4 0 0.00222 0.184 0.184 WorldPhysical eIoni +>>> Event 2 + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2399583746250777 (GeV) + 11 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.7198751238752329 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -3187,61 +3270,124 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 5.12e-06 0.296 0.493 1e+03 6.57e-05 0.575 0.575 WorldPhysical hIoni - 2 0.000883 6.29 10.5 1e+03 0.00158 11.7 12.2 WorldPhysical hIoni - 3 0.00504 60 100 1e+03 0.016 104 117 DriftChamberPhysical CoupledTransportation - 4 0.00641 64.6 108 1e+03 0.000275 8.99 126 DriftChamberPhysical hIoni - 5 0.156 540 900 1e+03 0.0218 924 1.05e+03 WorldPhysical CoupledTransportation - 6 0.157 544 907 1e+03 0.00209 8.07 1.06e+03 WorldPhysical hIoni - 7 0.157 545 909 1e+03 0.000173 2.15 1.06e+03 WorldPhysical hIoni - 8 0.163 570 950 1e+03 0.0171 106 1.17e+03 WorldPhysical CoupledTransportation - 9 0.163 570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.157 545 909 0.00305 0 0 0 WorldPhysical initStep - 1 0.267 545 909 0 0.00305 0.309 0.309 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.157 544 907 0.00441 0 0 0 WorldPhysical initStep - 1 0.0524 544 907 0 0.00441 0.583 0.583 WorldPhysical eIoni + 1 0 60 100 1e+03 0.0159 117 117 DriftChamberPhysical CoupledTransportation + 2 -0.0269 185 308 1e+03 0.00575 243 360 DriftChamberPhysical hIoni + 3 -0.0335 272 454 1e+03 0.00311 170 529 DriftChamberPhysical hIoni + 4 -0.087 540 900 1e+03 0.0132 520 1.05e+03 WorldPhysical CoupledTransportation + 5 -0.0971 570 950 1e+03 0.0108 70.9 1.12e+03 WorldPhysical hIoni + 6 -0.0971 570 950 0 1e+03 0 1.12e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00641 64.6 108 0.00145 0 0 0 DriftChamberPhysical initStep - 1 -0.0103 64.6 108 0.00131 0.000141 0.0522 0.0522 DriftChamberPhysical msc - 2 -0.148 64.3 108 0 0.00131 0.456 0.508 DriftChamberPhysical eIoni + 0 -0.0971 570 950 0.00129 0 0 0 WorldPhysical initStep + 1 -0.0992 570 950 0.000961 0.000327 0.00219 0.00219 WorldPhysical msc + 2 -0.101 570 950 0.000885 7.59e-05 0.00219 0.00438 WorldPhysical msc + 3 -0.101 570 950 0.000813 7.18e-05 0.00219 0.00658 WorldPhysical msc + 4 -0.102 570 950 0.000811 1.67e-06 0.00219 0.00877 WorldPhysical msc + 5 -0.104 570 950 0.000723 8.85e-05 0.00219 0.011 WorldPhysical msc + 6 -0.105 570 950 0.000723 0 0.00219 0.0132 WorldPhysical msc + 7 -0.105 570 950 0.000723 0 0.00219 0.0153 WorldPhysical msc + 8 -0.105 570 950 0.000678 4.44e-05 0.00219 0.0175 WorldPhysical msc + 9 -0.105 570 950 0.000601 7.73e-05 0.00219 0.0197 WorldPhysical msc + 10 -0.107 570 950 0.00053 7.08e-05 0.00219 0.0219 WorldPhysical msc + 11 -0.109 570 950 0.00051 2.01e-05 0.00219 0.0241 WorldPhysical msc + 12 -0.111 570 950 0.000466 4.41e-05 0.00219 0.0263 WorldPhysical msc + 13 -0.109 570 950 0.000466 0 0.00219 0.0285 WorldPhysical msc + 14 -0.108 570 950 0.000405 6.1e-05 0.00219 0.0307 WorldPhysical msc + 15 -0.106 570 950 0.000379 2.65e-05 0.00219 0.0329 WorldPhysical msc + 16 -0.105 570 950 0.000338 4.06e-05 0.00219 0.0351 WorldPhysical msc + 17 -0.104 570 950 0.000241 9.67e-05 0.00219 0.0373 WorldPhysical msc + 18 -0.103 570 950 0.000174 6.72e-05 0.00219 0.0395 WorldPhysical msc + 19 -0.105 570 950 4.75e-05 0.000127 0.00219 0.0417 WorldPhysical msc + 20 -0.106 570 950 0 4.75e-05 0.00637 0.048 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000883 6.29 10.5 0.00113 0 0 0 WorldPhysical initStep - 1 0.0193 6.31 10.5 0 0.00113 0.0682 0.0682 WorldPhysical eIoni + 0 -0.0335 272 454 0.00833 0 0 0 DriftChamberPhysical initStep + 1 3.02 271 456 0.00614 0.00219 3.71 3.71 DriftChamberPhysical eIoni + 2 5.36 271 455 0.00448 0.00166 2.72 6.43 DriftChamberPhysical eIoni + 3 6.49 270 453 0.00247 0.002 2.08 8.51 DriftChamberPhysical eIoni + 4 6.86 271 452 0 0.00247 1.21 9.72 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 5.12e-06 0.296 0.493 0.00205 0 0 0 WorldPhysical initStep - 1 -0.033 0.245 0.527 0 0.00205 0.163 0.163 WorldPhysical eIoni + 0 -0.0269 185 308 0.0157 0 0 0 DriftChamberPhysical initStep + 1 -6.93 182 312 0.0145 0.00114 8.57 8.57 DriftChamberPhysical eIoni + 2 -14.5 183 312 0.0128 0.0017 7.7 16.3 DriftChamberPhysical eIoni + 3 -20.5 184 312 0.0111 0.00174 6.4 22.7 DriftChamberPhysical eIoni + 4 -24 184 308 0.00885 0.00225 5.28 27.9 DriftChamberPhysical eIoni + 5 -26.5 181 307 0.00698 0.00187 3.98 31.9 DriftChamberPhysical eIoni + 6 -27.9 179 306 0.00582 0.00116 3.08 35 DriftChamberPhysical eIoni + 7 -28.8 177 306 0.0038 0.00202 2.6 37.6 DriftChamberPhysical eIoni + 8 -29 175 306 0.00261 0.00119 1.82 39.4 DriftChamberPhysical eIoni + 9 -28.9 174 305 0.00065 0.00196 1.29 40.7 DriftChamberPhysical eIoni + 10 -29 174 305 0 0.00065 0.177 40.9 DriftChamberPhysical eIoni +>>> Event 3 + 5 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.09999259711680071 (GeV) + 8 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.8599363352044861 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0.00208 16.7 27.9 1e+03 0.0045 32.5 32.5 WorldPhysical hIoni + 2 0.0036 20.7 34.5 1e+03 0.00189 7.77 40.3 WorldPhysical hIoni + 3 0.0272 60 100 1e+03 0.00779 76.3 117 DriftChamberPhysical CoupledTransportation + 4 -0.584 540 900 1e+03 0.022 933 1.05e+03 WorldPhysical CoupledTransportation + 5 -0.588 545 907 1e+03 0.000989 7.95 1.06e+03 WorldPhysical hIoni + 6 -0.61 569 948 1e+03 0.0065 48.3 1.11e+03 WorldPhysical hIoni + 7 -0.612 570 950 1e+03 0.0144 60.4 1.17e+03 WorldPhysical CoupledTransportation + 8 -0.612 570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.61 569 948 0.000995 0 0 0 WorldPhysical initStep + 1 -0.603 569 948 0 0.000995 0.0575 0.0575 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.588 545 907 0.00216 0 0 0 WorldPhysical initStep + 1 -0.514 545 907 0 0.00216 0.177 0.177 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0036 20.7 34.5 0.00122 0 0 0 WorldPhysical initStep + 1 -0.0208 20.7 34.5 0 0.00122 0.076 0.076 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.00208 16.7 27.9 0.00247 0 0 0 WorldPhysical initStep + 1 -0.0596 16.8 27.8 0 0.00247 0.217 0.217 WorldPhysical eIoni >>> Event 4 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.3199772404329589 (GeV) - 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.6799516359200378 (GeV) + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2199857146747894 (GeV) + 10 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.6199597413562249 (GeV) number of event = 5 ### Run 5 start. @@ -3251,159 +3397,120 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 9.19e-05 3.75 12.5 1e+03 0.0019 13.1 13.1 WorldPhysical hIoni - 2 7.92e-05 3.91 13 1e+03 2.95e-05 0.549 13.6 WorldPhysical hIoni - 3 0.00198 14.2 47.2 1e+03 0.00457 35.7 49.3 WorldPhysical hIoni - 4 0.0129 30 100 1e+03 0.00773 55.1 104 DriftChamberPhysical CoupledTransportation - 5 0.076 113 378 1e+03 0.00645 291 395 DriftChamberPhysical hIoni - 6 0.209 270 900 1e+03 0.0126 545 940 WorldPhysical CoupledTransportation - 7 0.222 285 950 1e+03 0.0152 104 1.04e+03 WorldPhysical CoupledTransportation - 8 0.222 285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom + 1 0 30 100 1e+03 0.0124 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.0819 118 392 1e+03 0.00709 305 409 DriftChamberPhysical hIoni + 3 -0.185 265 883 1e+03 0.0119 513 922 DriftChamberPhysical hIoni + 4 -0.188 270 900 1e+03 0.000526 17.5 940 WorldPhysical CoupledTransportation + 5 -0.198 285 950 1e+03 0.0115 104 1.04e+03 WorldPhysical CoupledTransportation + 6 -0.198 285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.185 265 883 0.00162 0 0 0 DriftChamberPhysical initStep + 1 -0.249 265 883 0.00153 8.68e-05 0.0652 0.0652 DriftChamberPhysical msc + 2 -0.651 265 883 0 0.00153 0.579 0.645 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.0819 118 392 0.00234 0 0 0 DriftChamberPhysical initStep + 1 -0.0134 118 392 0.0022 0.000141 0.125 0.125 DriftChamberPhysical msc + 2 0.605 118 392 0 0.0022 1.03 1.16 DriftChamberPhysical eIoni +>>> Event 0 + 0 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0 (GeV) + 11 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9999526895247572 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0.00045 3.25 10.8 1e+03 0.00158 11.3 11.3 WorldPhysical hIoni + 2 -0.00153 8.67 28.9 1e+03 0.00342 18.9 30.2 WorldPhysical hIoni + 3 -0.0115 30 100 1e+03 0.00767 74.2 104 DriftChamberPhysical CoupledTransportation + 4 -0.0755 136 455 1e+03 0.00834 371 475 DriftChamberPhysical hIoni + 5 -0.163 254 847 1e+03 0.0104 409 884 DriftChamberPhysical hIoni + 6 -0.173 270 900 1e+03 0.00111 55.8 940 WorldPhysical CoupledTransportation + 7 -0.184 285 950 1e+03 0.0171 104 1.04e+03 WorldPhysical CoupledTransportation + 8 -0.184 285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.076 113 378 0.00638 0 0 0 DriftChamberPhysical initStep - 1 2.14 113 379 0.00538 0.001 2.26 2.26 DriftChamberPhysical msc - 2 4.31 112 380 0.00403 0.00135 2.42 4.68 DriftChamberPhysical eIoni - 3 5.22 114 381 0.00137 0.00266 1.91 6.59 DriftChamberPhysical eIoni - 4 5.34 114 381 0 0.00137 0.491 7.08 DriftChamberPhysical eIoni + 0 -0.163 254 847 0.00437 0 0 0 DriftChamberPhysical initStep + 1 -0.0732 253 847 0.00404 0.000327 0.61 0.61 DriftChamberPhysical msc + 2 0.307 252 847 0.00211 0.00193 1.91 2.52 DriftChamberPhysical eIoni + 3 0.71 251 847 0 0.00211 0.961 3.48 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00198 14.2 47.2 0.00201 0 0 0 WorldPhysical initStep - 1 -0.0302 14.2 47.2 0 0.00201 0.157 0.157 WorldPhysical eIoni + 0 -0.0755 136 455 0.00215 0 0 0 DriftChamberPhysical initStep + 1 -0.0612 137 455 0.00199 0.000159 0.107 0.107 DriftChamberPhysical msc + 2 0.0775 137 455 0 0.00199 0.872 0.979 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 7.92e-05 3.91 13 0.00786 0 0 0 WorldPhysical initStep - 1 -1 4.04 12.9 0.00137 0.0065 1.43 1.43 WorldPhysical eIoni - 2 -0.988 4.06 12.9 0 0.00137 0.089 1.52 WorldPhysical eIoni + 0 -0.00153 8.67 28.9 0.027 0 0 0 WorldPhysical initStep + 1 3.28 9.8 31.1 0.0198 0.00528 4.51 4.51 WorldPhysical eIoni + 2 3.32 9.84 31.2 0.0198 4.52e-05 0.0654 4.57 WorldPhysical eIoni + 3 5.14 10.2 33.2 0.0111 0.00761 3.06 7.63 WorldPhysical eIoni + 4 6.25 9.67 34.2 0.00484 0.00631 1.95 9.59 WorldPhysical eIoni + 5 6.21 9.42 34.4 0 0.00484 0.682 10.3 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 5.14 10.2 33.2 0.00103 0 0 0 WorldPhysical initStep + 1 5.14 10.2 33.2 0 0.00103 0.0605 0.0605 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 3.28 9.8 31.1 0.00185 0 0 0 WorldPhysical initStep + 1 3.32 9.78 31.1 0 0.00185 0.139 0.139 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 9.19e-05 3.75 12.5 0.00129 0 0 0 WorldPhysical initStep - 1 -0.00324 3.78 12.5 0 0.00129 0.0819 0.0819 WorldPhysical eIoni ->>> Event 0 + 0 0.00045 3.25 10.8 0.0104 0 0 0 WorldPhysical initStep + 1 1.06 3.53 9.84 0.00656 0.00385 1.84 1.84 WorldPhysical eIoni + 2 1.38 3.87 9.79 0.00234 0.00239 0.551 2.39 WorldPhysical eIoni + 3 1.45 3.91 9.82 0 0.00234 0.201 2.6 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 1.38 3.87 9.79 0.00183 0 0 0 WorldPhysical initStep + 1 1.39 3.83 9.82 0 0.00183 0.137 0.137 WorldPhysical eIoni +>>> Event 1 0 hits are stored in EM ExN05CalorimeterHitsCollection. Total energy deposition in EM calorimeter crytals : 0 (GeV) - 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9999339736159065 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 30 100 1e+03 0.0166 104 104 DriftChamberPhysical CoupledTransportation - 2 -0.00907 270 900 1e+03 0.0183 835 940 WorldPhysical CoupledTransportation - 3 -0.0117 285 950 1e+03 0.00974 65.3 1e+03 WorldPhysical hIoni - 4 -0.0117 285 950 0 1e+03 0 1e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0117 285 950 0.00146 0 0 0 WorldPhysical initStep - 1 -0.0106 285 950 0.0014 6.31e-05 0.00267 0.00267 WorldPhysical msc - 2 -0.00937 285 950 0.0014 0 0.00267 0.00534 WorldPhysical msc - 3 -0.00784 285 950 0.0014 0 0.00267 0.00801 WorldPhysical msc - 4 -0.0064 285 950 0.0014 0 0.00267 0.0107 WorldPhysical msc - 5 -0.00452 285 950 0.0014 0 0.00267 0.0133 WorldPhysical msc - 6 -0.00277 285 950 0.00136 3.85e-05 0.00267 0.016 WorldPhysical msc - 7 -0.000343 285 950 0.00134 2.41e-05 0.00267 0.0187 WorldPhysical msc - 8 0.00207 285 950 0.00134 0 0.00267 0.0213 WorldPhysical msc - 9 0.00451 285 950 0.00134 0 0.00267 0.024 WorldPhysical msc - 10 0.00702 285 950 0.00134 0 0.00267 0.0267 WorldPhysical msc - 11 0.00943 285 950 0.00134 0 0.00267 0.0294 WorldPhysical msc - 12 0.0114 285 950 0.00132 1.59e-05 0.00267 0.032 WorldPhysical msc - 13 0.0138 285 950 0.00132 0 0.00267 0.0347 WorldPhysical msc - 14 0.0161 285 950 0.00131 1.56e-05 0.00267 0.0374 WorldPhysical msc - 15 0.0183 285 950 0.00131 0 0.00267 0.04 WorldPhysical msc - 16 0.0205 285 950 0.00128 2.74e-05 0.00267 0.0427 WorldPhysical msc - 17 0.0227 285 950 0.00128 0 0.00267 0.0454 WorldPhysical msc - 18 0.0251 285 950 0.00111 0.000166 0.00267 0.048 WorldPhysical msc - 19 0.0272 285 950 0.000995 0.000118 0.00267 0.0507 WorldPhysical msc - 20 0.0295 285 950 0.000945 5e-05 0.00267 0.0534 WorldPhysical msc - 21 0.0311 285 950 0.000945 0 0.00267 0.056 WorldPhysical msc - 22 0.0326 285 950 0.000878 6.69e-05 0.00267 0.0587 WorldPhysical msc - 23 0.0344 285 950 0.000878 0 0.00267 0.0614 WorldPhysical msc - 24 0.0356 285 950 0.000868 1.02e-05 0.00267 0.064 WorldPhysical msc - 25 0.0365 285 950 0.000868 0 0.00267 0.0667 WorldPhysical msc - 26 0.0368 285 950 0.000868 0 0.00267 0.0694 WorldPhysical msc - 27 0.0382 285 950 0.000868 0 0.00267 0.072 WorldPhysical msc - 28 0.0399 285 950 0.000807 6.07e-05 0.00267 0.0747 WorldPhysical msc - 29 0.0424 285 950 0.000705 0.000102 0.00267 0.0774 WorldPhysical msc - 30 0.0443 285 950 0.000705 0 0.00267 0.0801 WorldPhysical msc - 31 0.0462 285 950 0.000705 0 0.00267 0.0827 WorldPhysical msc - 32 0.0473 285 950 0.000687 1.85e-05 0.00267 0.0854 WorldPhysical msc - 33 0.0476 285 950 0.000687 0 0.00267 0.0881 WorldPhysical msc - 34 0.0481 285 950 0.000687 0 0.00267 0.0907 WorldPhysical msc - 35 0.0481 285 950 0.000588 9.85e-05 0.00267 0.0934 WorldPhysical msc - 36 0.0464 285 950 0.000503 8.56e-05 0.00267 0.0961 WorldPhysical msc - 37 0.0455 285 950 0.000503 0 0.00267 0.0987 WorldPhysical msc - 38 0.0432 285 950 0.000439 6.33e-05 0.00267 0.101 WorldPhysical msc - 39 0.0367 285 950 0 0.000439 0.023 0.124 WorldPhysical eIoni ->>> Event 1 - 1 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.01999907879988709 (GeV) - 10 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9599557823945803 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 30 100 1e+03 0.0169 104 104 DriftChamberPhysical CoupledTransportation - 2 -0.00378 41.6 139 1e+03 0.000748 40.5 145 DriftChamberPhysical hIoni - 3 -0.191 240 799 1e+03 0.0155 690 835 DriftChamberPhysical hIoni - 4 -0.229 270 900 1e+03 0.00253 105 940 WorldPhysical CoupledTransportation - 5 -0.248 285 950 1e+03 0.0159 104 1.04e+03 WorldPhysical CoupledTransportation - 6 -0.248 285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.191 240 799 0.00103 0 0 0 DriftChamberPhysical initStep - 1 -0.186 240 799 0.000975 5.07e-05 0.0287 0.0287 DriftChamberPhysical msc - 2 -0.2 240 799 0 0.000975 0.298 0.326 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00378 41.6 139 0.0139 0 0 0 DriftChamberPhysical initStep - 1 7 40.9 138 0.0116 0.00232 7.23 7.23 DriftChamberPhysical eIoni - 2 11.6 43.2 136 0.00848 0.00311 5.59 12.8 DriftChamberPhysical eIoni - 3 14.4 45.5 137 0.00672 0.00176 3.79 16.6 DriftChamberPhysical eIoni - 4 17.2 45.5 137 0.00505 0.00167 2.97 19.6 DriftChamberPhysical eIoni - 5 18.7 46.1 136 0.00395 0.0011 2.29 21.9 DriftChamberPhysical eIoni - 6 18.6 46.8 134 0.00247 0.00147 1.88 23.7 DriftChamberPhysical eIoni - 7 18.5 46.7 133 5.48e-05 0.00242 1.21 24.9 DriftChamberPhysical eIoni - 8 18.5 46.7 133 0 5.48e-05 0.0347 25 DriftChamberPhysical eIoni ->>> Event 2 - 1 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.01999867086667901 (GeV) 13 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9799348724672718 (GeV) + Total energy deposition in HAD calorimeter towers : 0.9799083632614609 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -3411,59 +3518,1487 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 30 100 1e+03 0.015 104 104 DriftChamberPhysical CoupledTransportation - 2 -0.141 186 621 1e+03 0.0112 544 649 DriftChamberPhysical hIoni - 3 -0.193 270 900 1e+03 0.00659 291 940 WorldPhysical CoupledTransportation - 4 -0.201 285 950 1e+03 0.0104 67.2 1.01e+03 WorldPhysical hIoni - 5 -0.201 285 950 0 1e+03 0 1.01e+03 WorldPhysical G4FSMP_parallelGeom + 1 0.00146 5.71 19 1e+03 0.0029 19.9 19.9 WorldPhysical hIoni + 2 0.00571 30 100 1e+03 0.0143 84.5 104 DriftChamberPhysical CoupledTransportation + 3 0.0321 106 354 1e+03 0.00481 265 369 DriftChamberPhysical Decay ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +* G4Track Information: Particle = mu-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.201 285 950 0.00228 0 0 0 WorldPhysical initStep - 1 -0.196 285 950 0.00225 2.87e-05 0.00566 0.00566 WorldPhysical msc - 2 -0.192 285 950 0.00225 0 0.00566 0.0113 WorldPhysical msc - 3 -0.189 285 950 0.0022 5.7e-05 0.00566 0.017 WorldPhysical msc - 4 -0.186 285 950 0.00215 4.37e-05 0.00566 0.0226 WorldPhysical msc - 5 -0.181 285 950 0.00214 1.13e-05 0.00566 0.0283 WorldPhysical msc - 6 -0.177 285 950 0.00214 0 0.00566 0.0339 WorldPhysical msc - 7 -0.172 285 950 0.00214 0 0.00566 0.0396 WorldPhysical msc - 8 -0.167 285 950 0.00203 0.000107 0.00566 0.0453 WorldPhysical msc - 9 -0.162 285 950 0.00201 2.33e-05 0.00566 0.0509 WorldPhysical msc - 10 -0.157 285 950 0.00188 0.000131 0.00566 0.0566 WorldPhysical msc - 11 -0.153 285 950 0.00182 5.62e-05 0.00566 0.0622 WorldPhysical msc - 12 -0.149 285 950 0.00162 0.000205 0.00566 0.0679 WorldPhysical msc - 13 -0.149 285 950 0.00159 3.07e-05 0.00566 0.0735 WorldPhysical msc - 14 -0.145 285 950 0.00154 5.28e-05 0.00566 0.0792 WorldPhysical msc - 15 -0.143 285 950 0.00146 7.82e-05 0.00566 0.0849 WorldPhysical msc - 16 -0.144 285 950 0.00138 7.87e-05 0.00566 0.0905 WorldPhysical msc - 17 -0.142 285 950 0.00125 0.000127 0.00566 0.0962 WorldPhysical msc - 18 -0.138 285 950 0.00108 0.000174 0.00566 0.102 WorldPhysical msc - 19 -0.135 285 950 0.00108 0 0.00566 0.107 WorldPhysical msc - 20 -0.132 285 950 0.00106 1.55e-05 0.00566 0.113 WorldPhysical msc - 21 -0.129 285 950 0.00104 2.58e-05 0.00566 0.119 WorldPhysical msc - 22 -0.128 285 950 0.00103 4.08e-06 0.00566 0.124 WorldPhysical msc - 23 -0.129 285 950 0.000958 7.38e-05 0.00566 0.13 WorldPhysical msc - 24 -0.131 285 950 0.000958 0 0.00566 0.136 WorldPhysical msc - 25 -0.131 285 950 0.00095 8.15e-06 0.00566 0.141 WorldPhysical msc - 26 -0.128 285 950 0.000749 0.000201 0.00566 0.147 WorldPhysical msc - 27 -0.119 285 950 0 0.000749 0.0405 0.188 WorldPhysical eIoni + 0 0.0321 106 354 983 0 0 0 DriftChamberPhysical initStep + 1 8 244 818 983 0.00824 485 485 DriftChamberPhysical muIoni + 2 9.39 268 900 983 0.00181 85 570 WorldPhysical CoupledTransportation + 3 9.94 278 932 983 0.0042 33.9 604 WorldPhysical muIoni + 4 10.2 283 950 983 0.012 70.4 674 WorldPhysical CoupledTransportation + 5 11.1 298 1e+03 983 0.0062 52.2 726 Crystal CoupledTransportation + 6 11.2 300 1.01e+03 979 3.69 7.26 734 Crystal CoupledTransportation + 7 11.4 306 1.03e+03 966 10.5 19.7 753 Crystal muIoni + 8 11.4 307 1.03e+03 958 2.87 4.99 758 Crystal muIoni + 9 13.2 326 1.1e+03 899 38.4 73.9 832 Crystal muIoni + 10 13.5 328 1.11e+03 893 3.64 6.75 839 Crystal muIoni + 11 15.1 341 1.16e+03 866 27 52 891 Crystal muIoni + 12 15.7 344 1.17e+03 860 4.58 9.75 901 Crystal muIoni + 13 16.4 346 1.18e+03 854 5.4 10.5 911 Crystal muIoni + 14 17.7 350 1.19e+03 846 8.08 16.2 927 Crystal CoupledTransportation + 15 17.7 350 1.2e+03 841 0.597 1.18 929 Crystal muIoni + 16 19.3 358 1.23e+03 825 14.7 31.4 960 Crystal muIoni + 17 23.1 379 1.32e+03 773 51.1 93.2 1.05e+03 Crystal muIoni + 18 24.2 385 1.34e+03 754 10.7 23.1 1.08e+03 Crystal muIoni + 19 24.3 386 1.34e+03 752 1.09 2.41 1.08e+03 Crystal muIoni + 20 24.5 395 1.37e+03 735 15.9 29.1 1.11e+03 Crystal muIoni + 21 24.5 395 1.37e+03 733 0.863 1.27 1.11e+03 Crystal muIoni + 22 24.4 400 1.39e+03 724 9.05 18.6 1.13e+03 Crystal CoupledTransportation + 23 24.7 404 1.4e+03 718 6.33 12.9 1.14e+03 WorldPhysical CoupledTransportation + 24 26.2 434 1.5e+03 718 0.017 105 1.25e+03 HadCaloPhysical CoupledTransportation + 25 26.9 449 1.55e+03 718 0.0156 52.3 1.3e+03 Tower CoupledTransportation + 26 26.9 450 1.55e+03 714 4.16 3.17 1.3e+03 Tower CoupledTransportation + 27 34 482 1.67e+03 571 143 118 1.42e+03 Tower muIoni + 28 38.6 506 1.76e+03 473 98.3 93.2 1.51e+03 Tower muIoni + 29 38.6 518 1.83e+03 381 76.3 75 1.59e+03 Tower muIoni + 30 43.8 525 1.89e+03 312 69.1 60.5 1.65e+03 Tower muIoni + 31 50 530 1.93e+03 258 53.6 40.7 1.69e+03 Tower CoupledTransportation + 32 57.3 540 1.97e+03 214 44 39.3 1.73e+03 Tower muIoni + 33 59.7 550 2e+03 177 37.1 31.1 1.76e+03 Tower CoupledTransportation + 34 60.3 560 2.02e+03 149 28.4 25.3 1.78e+03 Tower muIoni + 35 64.7 569 2.04e+03 124 24.8 20.5 1.8e+03 Tower muIoni + 36 67.2 578 2.05e+03 103 20.8 16.4 1.82e+03 Tower muIoni + 37 69 581 2.06e+03 87.2 16 13.1 1.83e+03 Tower muIoni + 38 70.9 584 2.07e+03 70.7 16.5 10.7 1.84e+03 Tower muIoni + 39 72.7 586 2.08e+03 58.8 11.9 8.29 1.85e+03 Tower muIoni + 40 74.5 587 2.09e+03 47.2 11.6 6.65 1.86e+03 Tower muIoni + 41 76.7 589 2.09e+03 37.8 9.44 5.18 1.86e+03 Tower muIoni + 42 78 589 2.1e+03 29.8 7.95 4.08 1.87e+03 Tower muIoni + 43 78.7 590 2.1e+03 22.7 7.11 3.23 1.87e+03 Tower muIoni + 44 79.7 591 2.1e+03 16 6.7 2.55 1.87e+03 Tower muIoni + 45 80.5 591 2.1e+03 8.33 7.69 1.94 1.88e+03 Tower muIoni + 46 80.9 591 2.1e+03 0 8.33 0.968 1.88e+03 Tower muIoni + 47 80.9 591 2.1e+03 0 0 0 1.88e+03 Tower Decay + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 80.9 591 2.1e+03 12.8 0 0 0 Tower initStep + 1 80.8 591 2.1e+03 12.3 0.474 0.382 0.382 Tower eBrem + 2 80.9 589 2.1e+03 2.35 1.97 1.69 2.07 Tower eBrem + 3 80.8 589 2.1e+03 1.82 0.278 0.338 2.41 Tower eBrem + 4 81.5 589 2.1e+03 0.598 1.22 1.4 3.81 Tower eIoni + 5 81.5 589 2.1e+03 0 0.598 0.408 4.22 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 26, Parent ID = 24 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 80.8 589 2.1e+03 0.252 0 0 0 Tower initStep + 1 80.9 589 2.1e+03 0.197 0 0.463 0.463 Tower compt + 2 82.6 587 2.1e+03 0.169 0 2.88 3.34 Tower compt + 3 82.3 579 2.12e+03 0.126 0 19.7 23 Tower compt + 4 79.2 568 2.12e+03 0.112 0 11.8 34.8 Tower compt + 5 80.2 567 2.12e+03 0 0.00711 1.63 36.5 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 31, Parent ID = 26 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 80.2 567 2.12e+03 0.105 0 0 0 Tower initStep + 1 80.2 567 2.12e+03 0.105 0.000197 0.000594 0.000594 Tower msc + 2 80.2 567 2.12e+03 0 0.105 0.0296 0.0302 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 26 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 79.2 568 2.12e+03 0.0138 0 0 0 Tower initStep + 1 79.2 568 2.12e+03 0.0138 2.44e-05 1.92e-05 1.92e-05 Tower msc + 2 79.2 568 2.12e+03 0 0.0138 0.000958 0.000978 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 26 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 82.3 579 2.12e+03 0.0425 0 0 0 Tower initStep + 1 82.3 579 2.12e+03 0.0424 0.000133 0.000129 0.000129 Tower msc + 2 82.3 579 2.12e+03 0 0.0424 0.00641 0.00654 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 26 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 82.6 587 2.1e+03 0.0287 0 0 0 Tower initStep + 1 82.6 587 2.1e+03 0.0287 1.18e-05 6.61e-05 6.61e-05 Tower msc + 2 82.6 587 2.1e+03 0 0.0287 0.0033 0.00337 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 26 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 80.9 589 2.1e+03 0.0547 0 0 0 Tower initStep + 1 80.9 589 2.1e+03 0.0542 0.000498 0.000198 0.000198 Tower msc + 2 80.9 589 2.1e+03 0 0.0542 0.00974 0.00993 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 25, Parent ID = 24 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 80.9 589 2.1e+03 7.99 0 0 0 Tower initStep + 1 74.9 550 2.11e+03 7.99 0 41.3 41.3 Tower CoupledTransportation + 2 72.5 534 2.12e+03 0 0 17 58.2 Tower conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 33, Parent ID = 25 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 72.5 534 2.12e+03 4.58 0 0 0 Tower initStep + 1 72.5 534 2.12e+03 4.48 0.0982 0.127 0.127 Tower msc + 2 72.8 532 2.12e+03 1.55 2.94 2.22 2.34 Tower eIoni + 3 73 531 2.12e+03 0.368 1.18 1.26 3.6 Tower eIoni + 4 73 531 2.12e+03 0 0.368 0.205 3.81 Tower eIoni + 5 73 531 2.12e+03 0 0 0 3.81 Tower annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 35, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 73 531 2.12e+03 0.511 0 0 0 Tower initStep + 1 83.2 538 2.12e+03 0.312 0 12 12 Tower compt + 2 82.4 548 2.12e+03 0.151 0 11.7 23.7 Tower compt + 3 96.9 535 2.12e+03 0.096 0 20.6 44.3 Tower compt + 4 94.6 536 2.12e+03 0.0873 0 3.02 47.3 Tower compt + 5 92.8 549 2.12e+03 0 0.00711 13.1 60.5 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 40, Parent ID = 35 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 92.8 549 2.12e+03 0.0802 0 0 0 Tower initStep + 1 92.8 549 2.12e+03 0.0767 0.00345 0.000376 0.000376 Tower msc + 2 92.8 549 2.12e+03 0 0.0767 0.0175 0.0179 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 39, Parent ID = 35 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 94.6 536 2.12e+03 0.00873 0 0 0 Tower initStep + 1 94.6 536 2.12e+03 0.00873 0 8.98e-06 8.98e-06 Tower msc + 2 94.6 536 2.12e+03 0 0.00873 0.000449 0.000458 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 38, Parent ID = 35 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 96.9 535 2.12e+03 0.0547 0 0 0 Tower initStep + 1 96.9 535 2.12e+03 0.0546 7.55e-05 0.000198 0.000198 Tower msc + 2 96.9 535 2.12e+03 0 0.0546 0.00988 0.0101 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 37, Parent ID = 35 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 82.4 548 2.12e+03 0.162 0 0 0 Tower initStep + 1 82.4 548 2.12e+03 0.16 0.00164 0.00119 0.00119 Tower msc + 2 82.4 548 2.12e+03 0 0.16 0.0586 0.0598 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 36, Parent ID = 35 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 83.2 538 2.12e+03 0.199 0 0 0 Tower initStep + 1 83.2 538 2.12e+03 0.198 0.000838 0.00165 0.00165 Tower msc + 2 83.2 538 2.12e+03 0 0.198 0.0817 0.0834 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 33 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 73 531 2.12e+03 0.511 0 0 0 Tower initStep + 1 50 517 2.12e+03 0.511 0 27 27 Tower CoupledTransportation + 2 36.3 509 2.12e+03 0.496 0 16.1 43 Tower compt + 3 31.6 504 2.12e+03 0.26 0 6.7 49.8 Tower compt + 4 35 500 2.12e+03 0.14 0 5.91 55.7 Tower compt + 5 35.2 501 2.12e+03 0 0.00711 2.08 57.7 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 34 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 35.2 501 2.12e+03 0.133 0 0 0 Tower initStep + 1 35.2 501 2.12e+03 0.13 0.00295 0.00087 0.00087 Tower msc + 2 35.2 501 2.12e+03 0 0.13 0.0419 0.0428 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 43, Parent ID = 34 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 35 500 2.12e+03 0.119 0 0 0 Tower initStep + 1 35 500 2.12e+03 0.118 0.000998 0.000731 0.000731 Tower msc + 2 35 500 2.12e+03 0 0.118 0.0361 0.0368 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 42, Parent ID = 34 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 31.6 504 2.12e+03 0.237 0 0 0 Tower initStep + 1 31.6 504 2.12e+03 0.235 0.00225 0.00217 0.00217 Tower msc + 2 31.6 504 2.12e+03 0 0.235 0.107 0.109 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 41, Parent ID = 34 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 36.3 509 2.12e+03 0.0146 0 0 0 Tower initStep + 1 36.3 509 2.12e+03 0.0145 3.17e-05 2.09e-05 2.09e-05 Tower msc + 2 36.3 509 2.12e+03 0 0.0145 0.00104 0.00106 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 32, Parent ID = 25 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 72.5 534 2.12e+03 2.39 0 0 0 Tower initStep + 1 72.5 534 2.12e+03 2.35 0.0332 0.0421 0.0421 Tower msc + 2 73.1 533 2.12e+03 0.461 1.89 1.63 1.67 Tower eIoni + 3 73.1 533 2.12e+03 0 0.461 0.286 1.96 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = anti_nu_e, Track ID = 23, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 80.9 591 2.1e+03 44.1 0 0 0 Tower initStep + 1 50 575 2.18e+03 44.1 0 86.7 86.7 Tower CoupledTransportation + 2 1.6 550 2.31e+03 44.1 0 136 223 Tower CoupledTransportation + 3 -50 523 2.44e+03 44.1 0 145 367 Tower CoupledTransportation + 4 -53.9 521 2.45e+03 44.1 0 11 378 HadCaloPhysical CoupledTransportation + 5 -73.4 511 2.5e+03 44.1 0 54.6 433 WorldPhysical CoupledTransportation + 6 -92.8 501 2.55e+03 44.1 0 1.64e+03 2.07e+03 WorldPhysical CoupledTransportation + 7 -657 206 4e+03 44.1 0 1.58e+03 3.65e+03 OutOfWorld CoupledTransportation + +********************************************************************************************************* +* G4Track Information: Particle = nu_mu, Track ID = 22, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 80.9 591 2.1e+03 47.8 0 0 0 Tower initStep + 1 134 650 1.99e+03 47.8 0 136 136 Tower CoupledTransportation + 2 150 667 1.96e+03 47.8 0 40.4 177 Tower CoupledTransportation + 3 225 750 1.8e+03 47.8 0 192 369 Tower CoupledTransportation + 4 250 777 1.75e+03 47.8 0 63.3 432 Tower CoupledTransportation + 5 316 850 1.61e+03 47.8 0 169 602 Tower CoupledTransportation + 6 347 884 1.55e+03 47.8 0 78.6 680 HadCaloPhysical CoupledTransportation + 7 371 910 1.5e+03 47.8 0 61.4 742 WorldPhysical CoupledTransportation + 8 419 963 1.4e+03 47.8 0 123 865 Crystal CoupledTransportation + 9 450 997 1.34e+03 47.8 0 78.8 943 Crystal CoupledTransportation + 10 453 1e+03 1.33e+03 47.8 0 7.18 951 Crystal CoupledTransportation + 11 498 1.05e+03 1.24e+03 47.8 0 116 1.07e+03 Crystal CoupledTransportation + 12 500 1.05e+03 1.23e+03 47.8 0 4.28 1.07e+03 Crystal CoupledTransportation + 13 544 1.1e+03 1.14e+03 47.8 0 112 1.18e+03 Crystal CoupledTransportation + 14 550 1.11e+03 1.13e+03 47.8 0 15.7 1.2e+03 Crystal CoupledTransportation + 15 589 1.15e+03 1.05e+03 47.8 0 101 1.3e+03 Crystal CoupledTransportation + 16 600 1.16e+03 1.02e+03 47.8 0 27.2 1.33e+03 Crystal CoupledTransportation + 17 611 1.17e+03 1e+03 47.8 0 29.3 1.36e+03 WorldPhysical CoupledTransportation + 18 636 1.2e+03 950 47.8 0 123 1.48e+03 WorldPhysical CoupledTransportation + 19 660 1.23e+03 900 47.8 0 61.4 1.54e+03 DriftChamberPhysical CoupledTransportation + 20 680 1.25e+03 857 47.8 0 53.2 1.59e+03 WorldPhysical CoupledTransportation + 21 3.02e+03 3.82e+03 -4e+03 47.8 0 5.97e+03 7.56e+03 OutOfWorld CoupledTransportation + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 38.6 518 1.83e+03 15.2 0 0 0 Tower initStep + 1 38.6 518 1.83e+03 12.1 0.222 0.221 0.221 Tower eBrem + 2 37.8 519 1.83e+03 9.35 2.3 2.03 2.25 Tower eBrem + 3 38.5 520 1.83e+03 4.56 4.36 2.35 4.6 Tower eBrem + 4 39.1 519 1.84e+03 2.45 2.05 2.18 6.78 Tower eBrem + 5 39.2 519 1.84e+03 1.55 0.25 0.127 6.91 Tower eBrem + 6 39 520 1.83e+03 0.341 1.21 1.25 8.16 Tower eIoni + 7 39 520 1.83e+03 0 0.341 0.187 8.35 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 49, Parent ID = 21 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 39.2 519 1.84e+03 0.646 0 0 0 Tower initStep + 1 39.7 520 1.83e+03 0.505 0 0.652 0.652 Tower compt + 2 40.1 520 1.83e+03 0.424 0 1.01 1.66 Tower compt + 3 40.2 528 1.82e+03 0.233 0 14 15.6 Tower compt + 4 33.6 527 1.82e+03 0.139 0 6.8 22.4 Tower compt + 5 37.1 524 1.82e+03 0 0.00711 5.22 27.6 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 49 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 37.1 524 1.82e+03 0.132 0 0 0 Tower initStep + 1 37.1 524 1.82e+03 0.131 0.00152 0.000864 0.000864 Tower msc + 2 37.1 524 1.82e+03 0 0.131 0.0423 0.0432 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 49 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 33.6 527 1.82e+03 0.0934 0 0 0 Tower initStep + 1 33.6 527 1.82e+03 0.0933 0.000114 0.000487 0.000487 Tower msc + 2 33.6 527 1.82e+03 0 0.0933 0.0243 0.0248 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 49 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 40.2 528 1.82e+03 0.191 0 0 0 Tower initStep + 1 40.2 528 1.82e+03 0.191 0.000395 0.00155 0.00155 Tower msc + 2 40.2 528 1.82e+03 0 0.191 0.0774 0.079 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 49 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 40.1 520 1.83e+03 0.081 0 0 0 Tower initStep + 1 40.1 520 1.83e+03 0.0803 0.000657 0.000382 0.000382 Tower msc + 2 40.1 520 1.83e+03 0 0.0803 0.0188 0.0192 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 49 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 39.7 520 1.83e+03 0.141 0 0 0 Tower initStep + 1 39.7 520 1.83e+03 0.133 0.00781 0.00096 0.00096 Tower msc + 2 39.8 520 1.83e+03 0 0.133 0.0437 0.0447 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 48, Parent ID = 21 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 39.1 519 1.84e+03 0.0638 0 0 0 Tower initStep + 1 40.3 520 1.83e+03 0 0.00711 1.26 1.26 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 48 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 40.3 520 1.83e+03 0.0567 0 0 0 Tower initStep + 1 40.3 520 1.83e+03 0.0547 0.00193 0.00021 0.00021 Tower msc + 2 40.3 520 1.83e+03 0 0.0547 0.00992 0.0101 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 47, Parent ID = 21 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 38.5 520 1.83e+03 0.425 0 0 0 Tower initStep + 1 16.4 513 1.88e+03 0.21 0 56.2 56.2 Tower compt + 2 16.6 512 1.88e+03 0.173 0 0.274 56.4 Tower compt + 3 16.6 512 1.88e+03 0.114 0 0.698 57.1 Tower compt + 4 16.2 512 1.88e+03 0 0.00711 0.451 57.6 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 47 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 16.2 512 1.88e+03 0.107 0 0 0 Tower initStep + 1 16.2 512 1.88e+03 0.105 0.00133 0.000608 0.000608 Tower msc + 2 16.2 512 1.88e+03 0 0.105 0.0297 0.0303 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 47 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 16.6 512 1.88e+03 0.059 0 0 0 Tower initStep + 1 16.6 512 1.88e+03 0.0578 0.0012 0.000225 0.000225 Tower msc + 2 16.6 512 1.88e+03 0 0.0578 0.0109 0.0111 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 47 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 16.6 512 1.88e+03 0.037 0 0 0 Tower initStep + 1 16.6 512 1.88e+03 0.037 3.28e-05 0.000102 0.000102 Tower msc + 2 16.6 512 1.88e+03 0 0.037 0.00509 0.00519 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 47 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 16.4 513 1.88e+03 0.215 0 0 0 Tower initStep + 1 16.4 513 1.88e+03 0.212 0.00283 0.00187 0.00187 Tower msc + 2 16.3 513 1.88e+03 0 0.212 0.0915 0.0934 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 46, Parent ID = 21 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 37.8 519 1.83e+03 0.43 0 0 0 Tower initStep + 1 37.2 522 1.84e+03 0.309 0 7.71 7.71 Tower compt + 2 50 520 1.85e+03 0.309 0 17.3 25 Tower CoupledTransportation + 3 54.8 520 1.85e+03 0.238 0 6.39 31.4 Tower compt + 4 55.6 508 1.86e+03 0.138 0 15.6 46.9 Tower compt + 5 59.1 513 1.86e+03 0 0.00711 6.37 53.3 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 46 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 59.1 513 1.86e+03 0.131 0 0 0 Tower initStep + 1 59.1 513 1.86e+03 0.13 0.00122 0.000852 0.000852 Tower msc + 2 59.1 513 1.86e+03 0 0.13 0.0419 0.0428 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 46 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 55.6 508 1.86e+03 0.0992 0 0 0 Tower initStep + 1 55.6 508 1.86e+03 0.099 0.00013 0.000536 0.000536 Tower msc + 2 55.6 508 1.86e+03 0 0.099 0.0267 0.0273 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 46 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 54.8 520 1.85e+03 0.0717 0 0 0 Tower initStep + 1 54.8 520 1.85e+03 0.0716 0.000164 0.000313 0.000313 Tower msc + 2 54.8 520 1.85e+03 0 0.0716 0.0156 0.0159 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 46 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 37.2 522 1.84e+03 0.12 0 0 0 Tower initStep + 1 37.2 522 1.84e+03 0.118 0.00245 0.000739 0.000739 Tower msc + 2 37.2 522 1.84e+03 0 0.118 0.0358 0.0365 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 45, Parent ID = 21 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 38.6 518 1.83e+03 2.94 0 0 0 Tower initStep + 1 35 527 1.85e+03 0.358 0 22.4 22.4 Tower compt + 2 36.7 516 1.85e+03 0.208 0 10.9 33.4 Tower compt + 3 50 516 1.83e+03 0.208 0 22.2 55.5 Tower CoupledTransportation + 4 50.1 516 1.83e+03 0 0.00711 0.136 55.7 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 66, Parent ID = 45 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 50.1 516 1.83e+03 0.201 0 0 0 Tower initStep + 1 50.1 516 1.83e+03 0.199 0.00185 0.00167 0.00167 Tower msc + 2 50.1 516 1.83e+03 0.175 0.0237 0.0203 0.022 Tower msc + 3 50.1 516 1.83e+03 0.142 0.033 0.0203 0.0423 Tower msc + 4 50.1 516 1.83e+03 0 0.142 0.0486 0.0908 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 45 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 36.7 516 1.85e+03 0.15 0 0 0 Tower initStep + 1 36.7 516 1.85e+03 0.148 0.0019 0.00106 0.00106 Tower msc + 2 36.7 516 1.85e+03 0 0.148 0.0517 0.0528 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 45 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 35 527 1.85e+03 2.58 0 0 0 Tower initStep + 1 34.9 527 1.85e+03 2.42 0.0384 0.0308 0.0308 Tower eBrem + 2 34.7 528 1.85e+03 1.13 1.22 1.37 1.4 Tower eBrem + 3 34.5 528 1.85e+03 0 1.13 0.908 2.31 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 68, Parent ID = 64 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 34.7 528 1.85e+03 0.0672 0 0 0 Tower initStep + 1 34.5 528 1.85e+03 0 0.00711 0.223 0.223 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 68 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 34.5 528 1.85e+03 0.0601 0 0 0 Tower initStep + 1 34.5 528 1.85e+03 0.0591 0.001 0.000232 0.000232 Tower msc + 2 34.5 528 1.85e+03 0 0.0591 0.0113 0.0115 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 64 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 34.9 527 1.85e+03 0.126 0 0 0 Tower initStep + 1 29.8 536 1.86e+03 0.115 0 16.5 16.5 Tower compt + 2 29.8 537 1.86e+03 0 0.00711 0.359 16.9 Tower phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 67 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 29.8 537 1.86e+03 0.108 0 0 0 Tower initStep + 1 29.8 537 1.86e+03 0.107 0.00117 0.00062 0.00062 Tower msc + 2 29.8 537 1.86e+03 0 0.107 0.0304 0.0311 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 67 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 29.8 536 1.86e+03 0.0107 0 0 0 Tower initStep + 1 29.8 536 1.86e+03 0.0105 0.00023 1.25e-05 1.25e-05 Tower msc + 2 29.8 536 1.86e+03 0 0.0105 0.000604 0.000616 Tower eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.5 395 1.37e+03 0.951 0 0 0 Crystal initStep + 1 24.5 395 1.37e+03 0.939 0.0116 0.0309 0.0309 Crystal msc + 2 24.8 395 1.37e+03 0.462 0.433 0.906 0.937 Crystal eBrem + 3 24.7 395 1.37e+03 0.29 0.127 0.202 1.14 Crystal eBrem + 4 24.7 395 1.37e+03 0 0.29 0.315 1.45 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 73, Parent ID = 20 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.7 395 1.37e+03 0.0448 0 0 0 Crystal initStep + 1 24.5 395 1.37e+03 0 0.0332 0.188 0.188 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 73 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.5 395 1.37e+03 0.0116 0 0 0 Crystal initStep + 1 24.5 395 1.37e+03 0.0114 0.000229 3.38e-05 3.38e-05 Crystal msc + 2 24.5 395 1.37e+03 0 0.0114 0.00164 0.00167 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 72, Parent ID = 20 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.8 395 1.37e+03 0.0439 0 0 0 Crystal initStep + 1 24.7 395 1.37e+03 0 0.0332 0.232 0.232 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 72 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.7 395 1.37e+03 0.0108 0 0 0 Crystal initStep + 1 24.7 395 1.37e+03 0.0093 0.00145 2.99e-05 2.99e-05 Crystal msc + 2 24.7 395 1.37e+03 0 0.0093 0.00119 0.00122 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.5 395 1.37e+03 0.97 0 0 0 Crystal initStep + 1 24.5 395 1.37e+03 0.96 0.0095 0.0316 0.0316 Crystal msc + 2 24.7 394 1.37e+03 0.261 0.699 1.37 1.4 Crystal eBrem + 3 24.7 394 1.37e+03 0 0.261 0.269 1.67 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.3 386 1.34e+03 1.15 0 0 0 Crystal initStep + 1 24.3 386 1.34e+03 1.14 0.0128 0.0387 0.0387 Crystal msc + 2 24.4 386 1.34e+03 0.97 0.127 0.299 0.338 Crystal eBrem + 3 24.4 386 1.34e+03 0.858 0.00117 0.00793 0.346 Crystal eBrem + 4 24.7 386 1.34e+03 0.252 0.606 1.29 1.63 Crystal eIoni + 5 24.7 386 1.34e+03 0 0.252 0.254 1.89 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 18 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.4 386 1.34e+03 0.111 0 0 0 Crystal initStep + 1 24.2 384 1.34e+03 0.0803 0 1.58 1.58 Crystal compt + 2 25 385 1.34e+03 0 0.0332 1.09 2.67 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 77 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 25 385 1.34e+03 0.0472 0 0 0 Crystal initStep + 1 25 385 1.34e+03 0.047 0.000122 0.000341 0.000341 Crystal msc + 2 25 385 1.34e+03 0 0.047 0.017 0.0173 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 78, Parent ID = 77 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.2 384 1.34e+03 0.0305 0 0 0 Crystal initStep + 1 24.2 384 1.34e+03 0.0304 2.48e-05 0.000164 0.000164 Crystal msc + 2 24.2 384 1.34e+03 0 0.0304 0.00819 0.00835 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 18 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.4 386 1.34e+03 0.0422 0 0 0 Crystal initStep + 1 24.5 386 1.34e+03 0 0.0332 0.0467 0.0467 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 80, Parent ID = 76 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.5 386 1.34e+03 0.00902 0 0 0 Crystal initStep + 1 24.5 386 1.34e+03 0.00902 0 2.27e-05 2.27e-05 Crystal msc + 2 24.5 386 1.34e+03 0 0.00902 0.00114 0.00116 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.2 385 1.34e+03 7.79 0 0 0 Crystal initStep + 1 24.4 386 1.34e+03 7.51 0.284 0.693 0.693 Crystal msc + 2 24.1 387 1.34e+03 6.22 1.21 2.35 3.04 Crystal eBrem + 3 23.6 388 1.34e+03 5.16 0.687 1.68 4.72 Crystal eBrem + 4 23.5 390 1.34e+03 3.18 1.41 2.75 7.47 Crystal eBrem + 5 23 392 1.34e+03 1.87 1.31 2.64 10.1 Crystal eIoni + 6 23.5 391 1.34e+03 0.748 1.12 2.03 12.1 Crystal eIoni + 7 23.5 391 1.34e+03 0.0718 0.677 1.14 13.3 Crystal eIoni + 8 23.5 391 1.34e+03 0 0.0718 0.0344 13.3 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 83, Parent ID = 17 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 23.5 390 1.34e+03 0.571 0 0 0 Crystal initStep + 1 16.9 390 1.35e+03 0.525 0 7.82 7.82 Crystal compt + 2 0 400 1.36e+03 0.525 0 23.8 31.6 Crystal CoupledTransportation + 3 -0.676 400 1.36e+03 0.525 0 0.951 32.6 Crystal CoupledTransportation + 4 -7.4 404 1.37e+03 0.52 0 9.47 42.1 Crystal compt + 5 -33.2 420 1.38e+03 0.228 0 35.2 77.3 Crystal compt + 6 -37 416 1.38e+03 0 0.0332 8 85.3 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 87, Parent ID = 83 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -37 416 1.38e+03 0.195 0 0 0 Crystal initStep + 1 -37 416 1.38e+03 0.194 0.00105 0.00345 0.00345 Crystal msc + 2 -37 416 1.38e+03 0 0.194 0.171 0.175 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 83 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -33.2 420 1.38e+03 0.292 0 0 0 Crystal initStep + 1 -33.2 420 1.38e+03 0.285 0.00729 0.00636 0.00636 Crystal msc + 2 -33.2 420 1.38e+03 0 0.285 0.306 0.313 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 83 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -7.4 404 1.37e+03 0.00492 0 0 0 Crystal initStep + 1 -7.4 404 1.37e+03 0.00488 3.71e-05 8.97e-06 8.97e-06 Crystal msc + 2 -7.4 404 1.37e+03 0 0.00488 0.000444 0.000453 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 83 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 16.9 390 1.35e+03 0.0456 0 0 0 Crystal initStep + 1 16.9 390 1.35e+03 0.0451 0.000539 0.000323 0.000323 Crystal msc + 2 16.9 390 1.35e+03 0 0.0451 0.0158 0.0161 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 82, Parent ID = 17 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 23.6 388 1.34e+03 0.377 0 0 0 Crystal initStep + 1 15 393 1.36e+03 0.276 0 21.5 21.5 Crystal compt + 2 11.7 392 1.36e+03 0.138 0 3.59 25.1 Crystal compt + 3 17 394 1.36e+03 0 0.0332 5.79 30.9 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 82 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 17 394 1.36e+03 0.105 0 0 0 Crystal initStep + 1 17 394 1.36e+03 0.104 7.55e-05 0.00127 0.00127 Crystal msc + 2 17 394 1.36e+03 0 0.104 0.0637 0.0649 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 82 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 11.7 392 1.36e+03 0.138 0 0 0 Crystal initStep + 1 11.7 392 1.36e+03 0.138 0.000198 0.002 0.002 Crystal msc + 2 11.7 392 1.36e+03 0 0.138 0.0998 0.102 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 82 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 15 393 1.36e+03 0.102 0 0 0 Crystal initStep + 1 15 393 1.36e+03 0.102 0.000116 0.00122 0.00122 Crystal msc + 2 15 393 1.36e+03 0 0.102 0.0608 0.062 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 81, Parent ID = 17 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.1 387 1.34e+03 0.0758 0 0 0 Crystal initStep + 1 24.1 387 1.34e+03 0 0.0332 0.241 0.241 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 81 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 24.1 387 1.34e+03 0.0426 0 0 0 Crystal initStep + 1 24.1 387 1.34e+03 0.0424 0.000188 0.000288 0.000288 Crystal msc + 2 24.1 387 1.34e+03 0 0.0424 0.0143 0.0146 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 23.1 379 1.32e+03 1.02 0 0 0 Crystal initStep + 1 23.2 379 1.32e+03 1.01 0.0123 0.0336 0.0336 Crystal msc + 2 23.3 380 1.32e+03 0.385 0.624 1.45 1.48 Crystal eIoni + 3 23.3 380 1.32e+03 0.252 0.0913 0.224 1.71 Crystal eBrem + 4 23.2 380 1.32e+03 0 0.252 0.254 1.96 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 92, Parent ID = 16 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 23.3 380 1.32e+03 0.0421 0 0 0 Crystal initStep + 1 23.2 380 1.32e+03 0 0.0332 0.0609 0.0609 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 92 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 23.2 380 1.32e+03 0.00896 0 0 0 Crystal initStep + 1 23.2 380 1.32e+03 0.00884 0.000115 2.25e-05 2.25e-05 Crystal msc + 2 23.2 380 1.32e+03 0 0.00884 0.0011 0.00112 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 19.3 358 1.23e+03 1.25 0 0 0 Crystal initStep + 1 19.3 358 1.23e+03 1.24 0.0145 0.0427 0.0427 Crystal msc + 2 18.8 358 1.23e+03 0.37 0.868 1.64 1.68 Crystal eIoni + 3 18.8 358 1.23e+03 0 0.37 0.449 2.13 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 17.7 350 1.2e+03 4.67 0 0 0 Crystal initStep + 1 17.8 350 1.2e+03 4.58 0.0899 0.247 0.247 Crystal msc + 2 18 350 1.2e+03 4.48 0.0975 0.247 0.494 Crystal msc + 3 18.1 351 1.2e+03 4.36 0.123 0.247 0.741 Crystal msc + 4 18.2 351 1.2e+03 4.11 0.252 0.247 0.988 Crystal msc + 5 18.2 351 1.2e+03 4.01 0.0977 0.247 1.23 Crystal msc + 6 18.2 351 1.2e+03 3.88 0.124 0.247 1.48 Crystal msc + 7 18.2 351 1.2e+03 3.79 0.0895 0.247 1.73 Crystal msc + 8 18.1 350 1.2e+03 3.69 0.107 0.247 1.98 Crystal msc + 9 18.3 350 1.2e+03 3.59 0.0982 0.247 2.22 Crystal msc + 10 18.4 350 1.2e+03 3.47 0.124 0.247 2.47 Crystal msc + 11 18.6 350 1.2e+03 3.37 0.0977 0.247 2.72 Crystal msc + 12 18.6 350 1.2e+03 3.37 0 0.00059 2.72 Crystal CoupledTransportation + 13 18.6 350 1.2e+03 3.32 0.0517 0.142 2.86 Crystal msc + 14 18.7 350 1.2e+03 3.25 0.0689 0.142 3 Crystal msc + 15 18.8 350 1.2e+03 3.04 0.208 0.142 3.14 Crystal msc + 16 18.8 350 1.2e+03 2.97 0.0669 0.142 3.28 Crystal msc + 17 18.9 350 1.2e+03 2.88 0.0906 0.142 3.43 Crystal msc + 18 18.9 350 1.2e+03 2.83 0.053 0.142 3.57 Crystal msc + 19 19 350 1.2e+03 2.78 0.053 0.142 3.71 Crystal msc + 20 19.1 350 1.2e+03 2.73 0.0498 0.142 3.85 Crystal msc + 21 19.2 350 1.2e+03 2.67 0.053 0.142 4 Crystal msc + 22 19.3 350 1.2e+03 2.53 0.14 0.142 4.14 Crystal msc + 23 19.3 350 1.2e+03 2.52 0.00867 0.0177 4.15 Crystal CoupledTransportation + 24 19.4 350 1.2e+03 2.5 0.0258 0.0923 4.25 Crystal msc + 25 19.5 350 1.2e+03 2.46 0.0385 0.0923 4.34 Crystal msc + 26 19.6 350 1.2e+03 2.42 0.0377 0.0923 4.43 Crystal msc + 27 19.7 350 1.2e+03 2.37 0.0564 0.0923 4.52 Crystal msc + 28 19.7 350 1.2e+03 2.33 0.0323 0.0923 4.62 Crystal msc + 29 19.8 350 1.2e+03 2.3 0.0372 0.0923 4.71 Crystal msc + 30 19.8 350 1.2e+03 2.26 0.0346 0.0923 4.8 Crystal msc + 31 19.9 350 1.2e+03 2.22 0.0417 0.0923 4.89 Crystal msc + 32 20 350 1.2e+03 2.19 0.0279 0.0923 4.99 Crystal msc + 33 20 350 1.2e+03 2.16 0.0272 0.0923 5.08 Crystal msc + 34 20 350 1.2e+03 2.12 0.000579 0.00631 5.08 Crystal eBrem + 35 20.1 350 1.2e+03 2.08 0.0412 0.109 5.19 Crystal msc + 36 20.2 350 1.2e+03 2.02 0.061 0.109 5.3 Crystal msc + 37 20.2 350 1.2e+03 1.97 0.0519 0.109 5.41 Crystal msc + 38 20.3 350 1.2e+03 1.93 0.0343 0.109 5.52 Crystal msc + 39 20.4 350 1.2e+03 1.89 0.0414 0.109 5.63 Crystal msc + 40 20.5 350 1.2e+03 1.84 0.0536 0.109 5.74 Crystal msc + 41 20.5 350 1.2e+03 1.8 0.0322 0.109 5.85 Crystal msc + 42 20.5 350 1.2e+03 1.76 0.0425 0.109 5.96 Crystal msc + 43 20.5 350 1.2e+03 1.75 0.0162 0.0201 5.98 Crystal CoupledTransportation + 44 20.5 350 1.2e+03 1.72 0.0222 0.0619 6.04 Crystal msc + 45 20.5 350 1.2e+03 1.68 0.0398 0.0619 6.1 Crystal msc + 46 20.5 350 1.2e+03 1.67 0.0181 0.0619 6.17 Crystal msc + 47 20.5 350 1.2e+03 1.65 0.0165 0.0619 6.23 Crystal msc + 48 20.5 350 1.2e+03 1.61 0.0381 0.0619 6.29 Crystal msc + 49 20.4 350 1.2e+03 1.58 0.0323 0.0619 6.35 Crystal msc + 50 20.4 350 1.2e+03 1.54 0.0349 0.0619 6.41 Crystal msc + 51 20.4 350 1.2e+03 1.52 0.0204 0.0648 6.48 Crystal msc + 52 20.4 349 1.2e+03 1.49 0.032 0.0776 6.56 Crystal msc + 53 20.4 349 1.2e+03 1.46 0.0328 0.087 6.64 Crystal msc + 54 20.4 349 1.2e+03 1.42 0.0409 0.102 6.74 Crystal msc + 55 20.4 349 1.2e+03 1.37 0.0474 0.111 6.86 Crystal msc + 56 20.4 349 1.2e+03 1.35 0.0211 0.117 6.97 Crystal msc + 57 20.5 349 1.2e+03 1.31 0.0401 0.123 7.1 Crystal msc + 58 20.5 349 1.2e+03 1.24 0.0662 0.123 7.22 Crystal msc + 59 20.5 349 1.2e+03 1.18 0.0623 0.123 7.34 Crystal msc + 60 20.6 349 1.2e+03 1.11 0.0658 0.123 7.47 Crystal msc + 61 20.7 349 1.2e+03 1.06 0.0559 0.123 7.59 Crystal msc + 62 20.7 350 1.2e+03 0.937 0.0301 0.0542 7.64 Crystal eBrem + 63 20.7 350 1.2e+03 0.876 0.0612 0.123 7.77 Crystal msc + 64 20.6 350 1.2e+03 0.837 0.0391 0.123 7.89 Crystal msc + 65 20.6 350 1.2e+03 0.797 0.0403 0.123 8.01 Crystal msc + 66 20.7 349 1.2e+03 0.724 0.073 0.123 8.14 Crystal msc + 67 20.6 349 1.2e+03 0.659 0.0642 0.123 8.26 Crystal msc + 68 20.6 349 1.2e+03 0.624 0.0358 0.123 8.38 Crystal msc + 69 20.6 349 1.2e+03 0.59 0.0336 0.129 8.51 Crystal msc + 70 20.6 349 1.2e+03 0.506 0.0839 0.151 8.66 Crystal msc + 71 20.5 349 1.2e+03 0.419 0.0874 0.172 8.84 Crystal msc + 72 20.5 349 1.2e+03 0 0.419 0.533 9.37 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 95, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 20.7 350 1.2e+03 0.0911 0 0 0 Crystal initStep + 1 20.1 350 1.2e+03 0 0.0332 0.617 0.617 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 95 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 20.1 350 1.2e+03 0.0579 0 0 0 Crystal initStep + 1 20.1 350 1.2e+03 0.0573 0.000654 0.000481 0.000481 Crystal msc + 2 20.1 350 1.2e+03 0 0.0573 0.0236 0.0241 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 94, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 20 350 1.2e+03 0.0441 0 0 0 Crystal initStep + 1 20.1 350 1.2e+03 0 0.0332 0.151 0.151 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 94 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 20.1 350 1.2e+03 0.0109 0 0 0 Crystal initStep + 1 20.1 350 1.2e+03 0.0109 0 3.08e-05 3.08e-05 Crystal msc + 2 20.1 350 1.2e+03 0 0.0109 0.00154 0.00157 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 16.4 346 1.18e+03 0.758 0 0 0 Crystal initStep + 1 16.5 346 1.18e+03 0.755 0.00284 0.0234 0.0234 Crystal msc + 2 16.7 346 1.18e+03 0.113 0.508 0.351 0.374 Crystal eBrem + 3 16.7 346 1.18e+03 0 0.113 0.073 0.447 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 98, Parent ID = 13 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 16.7 346 1.18e+03 0.134 0 0 0 Crystal initStep + 1 16.7 346 1.18e+03 0 0.0332 0.0235 0.0235 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 99, Parent ID = 98 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 16.7 346 1.18e+03 0.101 0 0 0 Crystal initStep + 1 16.7 346 1.18e+03 0.0991 0.00172 0.0012 0.0012 Crystal msc + 2 16.7 346 1.18e+03 0 0.0991 0.0582 0.0594 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 15.7 344 1.17e+03 0.752 0 0 0 Crystal initStep + 1 15.7 344 1.17e+03 0.749 0.00342 0.0232 0.0232 Crystal msc + 2 15.7 344 1.17e+03 0.00729 0.741 1.14 1.16 Crystal eIoni + 3 15.7 344 1.17e+03 0 0.00729 0.000815 1.16 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 15.1 341 1.16e+03 0.694 0 0 0 Crystal initStep + 1 15.1 341 1.16e+03 0.614 0.0803 0.0209 0.0209 Crystal msc + 2 15 341 1.16e+03 0.0179 0.596 0.852 0.873 Crystal eBrem + 3 15 341 1.16e+03 0 0.0179 0.00341 0.877 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 13.5 328 1.11e+03 2.42 0 0 0 Crystal initStep + 1 13.6 328 1.11e+03 2.35 0.0682 0.0884 0.0884 Crystal msc + 2 13.5 327 1.11e+03 1.34 1.01 2.27 2.36 Crystal eIoni + 3 13.7 327 1.11e+03 1.05 0.2 0.453 2.81 Crystal eBrem + 4 13.8 327 1.11e+03 0.427 0.625 1.49 4.3 Crystal eIoni + 5 13.7 327 1.11e+03 0 0.427 0.547 4.85 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 100, Parent ID = 10 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 13.7 327 1.11e+03 0.0923 0 0 0 Crystal initStep + 1 13.7 327 1.11e+03 0 0.0332 0.0201 0.0201 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 100 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 13.7 327 1.11e+03 0.0591 0 0 0 Crystal initStep + 1 13.7 327 1.11e+03 0.059 5.27e-05 0.000497 0.000497 Crystal msc + 2 13.7 327 1.11e+03 0 0.059 0.0248 0.0253 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 13.2 326 1.1e+03 20.6 0 0 0 Crystal initStep + 1 14.2 326 1.11e+03 1.97 3.15 3.71 3.71 Crystal eBrem + 2 14.7 326 1.11e+03 1.23 0.742 1.29 5 Crystal eBrem + 3 15 327 1.11e+03 0.551 0.677 1.63 6.63 Crystal eIoni + 4 14.9 327 1.11e+03 0 0.551 0.774 7.41 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 102, Parent ID = 9 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 14.2 326 1.11e+03 15.5 0 0 0 Crystal initStep + 1 50 317 1.19e+03 15.5 0 95.2 95.2 Crystal CoupledTransportation + 2 61.2 315 1.22e+03 0 0 29.8 125 Crystal conv + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 104, Parent ID = 102 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 61.2 315 1.22e+03 2.99 0 0 0 Crystal initStep + 1 61.3 315 1.22e+03 2.93 0.0668 0.131 0.131 Crystal msc + 2 62.8 315 1.22e+03 1.91 1.01 2.56 2.69 Crystal eIoni + 3 63.1 315 1.22e+03 1.45 0.408 0.956 3.65 Crystal eBrem + 4 63.1 315 1.22e+03 1.35 0.0367 0.0964 3.75 Crystal eBrem + 5 63.9 315 1.22e+03 0.4 0.955 1.74 5.48 Crystal eIoni + 6 63.9 315 1.22e+03 0 0.4 0.489 5.97 Crystal eIoni + 7 63.9 315 1.22e+03 0 0 0 5.97 Crystal annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 108, Parent ID = 104 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 63.9 315 1.22e+03 0.511 0 0 0 Crystal initStep + 1 61.6 310 1.21e+03 0.175 0 8.46 8.46 Crystal compt + 2 61 313 1.22e+03 0 0.0332 4.29 12.7 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 108 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 61 313 1.22e+03 0.142 0 0 0 Crystal initStep + 1 61 313 1.22e+03 0.142 0.000533 0.0021 0.0021 Crystal msc + 2 61 313 1.22e+03 0 0.142 0.105 0.107 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 108 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 61.6 310 1.21e+03 0.336 0 0 0 Crystal initStep + 1 61.6 310 1.21e+03 0.333 0.00285 0.00779 0.00779 Crystal msc + 2 61.6 310 1.21e+03 0.202 0.00686 0.0132 0.021 Crystal eBrem + 3 61.6 310 1.21e+03 0 0.202 0.182 0.203 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 111, Parent ID = 109 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 61.6 310 1.21e+03 0.123 0 0 0 Crystal initStep + 1 59.6 312 1.22e+03 0 0.0332 3.39 3.39 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 111 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 59.6 312 1.22e+03 0.0903 0 0 0 Crystal initStep + 1 59.6 312 1.22e+03 0.0873 0.003 0.00101 0.00101 Crystal msc + 2 59.6 312 1.22e+03 0 0.0873 0.0475 0.0485 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 107, Parent ID = 104 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 63.9 315 1.22e+03 0.511 0 0 0 Crystal initStep + 1 76 342 1.25e+03 0.302 0 44.8 44.8 Crystal compt + 2 77.2 325 1.28e+03 0 0.0332 32.5 77.3 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 114, Parent ID = 107 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 77.2 325 1.28e+03 0.268 0 0 0 Crystal initStep + 1 77.2 325 1.28e+03 0.265 0.00376 0.00561 0.00561 Crystal msc + 2 77.2 325 1.28e+03 0 0.265 0.275 0.28 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 107 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 76 342 1.25e+03 0.209 0 0 0 Crystal initStep + 1 76 342 1.25e+03 0.204 0.00579 0.00385 0.00385 Crystal msc + 2 76 342 1.25e+03 0 0.204 0.184 0.188 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 106, Parent ID = 104 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 63.1 315 1.22e+03 0.0632 0 0 0 Crystal initStep + 1 63.2 315 1.22e+03 0 0.0332 0.0457 0.0457 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 115, Parent ID = 106 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 63.2 315 1.22e+03 0.03 0 0 0 Crystal initStep + 1 63.2 315 1.22e+03 0.0299 0.000116 0.00016 0.00016 Crystal msc + 2 63.2 315 1.22e+03 0 0.0299 0.00796 0.00812 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 105, Parent ID = 104 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 63.1 315 1.22e+03 0.0497 0 0 0 Crystal initStep + 1 63.3 315 1.22e+03 0 0.0332 0.315 0.315 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 116, Parent ID = 105 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 63.3 315 1.22e+03 0.0165 0 0 0 Crystal initStep + 1 63.3 315 1.22e+03 0.0159 0.00063 5.97e-05 5.97e-05 Crystal msc + 2 63.3 315 1.22e+03 0 0.0159 0.00279 0.00285 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 103, Parent ID = 102 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 61.2 315 1.22e+03 11.5 0 0 0 Crystal initStep + 1 62.2 315 1.22e+03 10.3 1.18 1.68 1.68 Crystal msc + 2 64 315 1.22e+03 8.98 1.34 2.85 4.53 Crystal msc + 3 63 318 1.22e+03 7.43 1.55 2.85 7.37 Crystal msc + 4 61.8 320 1.22e+03 5.7 1.74 2.85 10.2 Crystal msc + 5 61.3 320 1.23e+03 4.8 0.621 1.38 11.6 Crystal eBrem + 6 61.1 320 1.23e+03 4.06 0.597 1.54 13.1 Crystal eBrem + 7 61.1 319 1.23e+03 2.59 1.47 3.01 16.2 Crystal eIoni + 8 62.4 319 1.23e+03 1.39 1.2 2.38 18.5 Crystal eIoni + 9 62.9 318 1.23e+03 0.52 0.873 1.75 20.3 Crystal eIoni + 10 63 318 1.23e+03 0 0.52 0.717 21 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 118, Parent ID = 103 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 61.1 320 1.23e+03 0.141 0 0 0 Crystal initStep + 1 61.3 321 1.23e+03 0 0.0332 1.43 1.43 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 119, Parent ID = 118 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 61.3 321 1.23e+03 0.108 0 0 0 Crystal initStep + 1 61.3 321 1.23e+03 0.106 0.00178 0.00135 0.00135 Crystal msc + 2 61.3 321 1.23e+03 0 0.106 0.0655 0.0668 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 117, Parent ID = 103 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 61.3 320 1.23e+03 0.278 0 0 0 Crystal initStep + 1 59.7 318 1.24e+03 0.189 0 16.9 16.9 Crystal compt + 2 59.1 328 1.25e+03 0 0.0332 10.5 27.3 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 121, Parent ID = 117 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 59.1 328 1.25e+03 0.156 0 0 0 Crystal initStep + 1 59.1 328 1.25e+03 0.155 0.000272 0.00242 0.00242 Crystal msc + 2 59.1 328 1.25e+03 0 0.155 0.121 0.123 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 120, Parent ID = 117 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 59.7 318 1.24e+03 0.0888 0 0 0 Crystal initStep + 1 59.7 318 1.24e+03 0.0876 0.00119 0.000978 0.000978 Crystal msc + 2 59.7 318 1.24e+03 0 0.0876 0.0478 0.0488 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 11.4 307 1.03e+03 4.38 0 0 0 Crystal initStep + 1 11.3 307 1.03e+03 4.27 0.109 0.22 0.22 Crystal msc + 2 11.2 307 1.03e+03 2.52 0.138 0.15 0.37 Crystal eBrem + 3 10.5 307 1.03e+03 2.06 0.452 1.02 1.39 Crystal eBrem + 4 9.65 306 1.03e+03 1.03 1.03 2.13 3.52 Crystal eIoni + 5 9.71 307 1.03e+03 0.194 0.837 1.47 4.98 Crystal eIoni + 6 9.72 307 1.03e+03 0.102 0.00719 0.00679 4.99 Crystal eBrem + 7 9.72 307 1.03e+03 0 0.102 0.0611 5.05 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 123, Parent ID = 8 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 9.72 307 1.03e+03 0.0845 0 0 0 Crystal initStep + 1 9.78 307 1.03e+03 0 0.0332 0.16 0.16 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 124, Parent ID = 123 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 9.78 307 1.03e+03 0.0513 0 0 0 Crystal initStep + 1 9.78 307 1.03e+03 0.0513 6.2e-05 0.000392 0.000392 Crystal msc + 2 9.78 307 1.03e+03 0 0.0513 0.0195 0.0199 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 122, Parent ID = 8 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 11.2 307 1.03e+03 1.62 0 0 0 Crystal initStep + 1 9.74 308 1.06e+03 1.57 0 29.1 29.1 Crystal compt + 2 10.7 310 1.08e+03 0.96 0 15.8 44.9 Crystal compt + 3 10.5 314 1.08e+03 0.949 0 5.88 50.8 Crystal compt + 4 10.3 316 1.08e+03 0.215 0 3.75 54.5 Crystal compt + 5 8.29 315 1.08e+03 0 0.0332 5.93 60.5 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 129, Parent ID = 122 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 8.29 315 1.08e+03 0.182 0 0 0 Crystal initStep + 1 8.29 315 1.08e+03 0.178 0.00407 0.0031 0.0031 Crystal msc + 2 8.29 315 1.08e+03 0 0.178 0.15 0.153 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 128, Parent ID = 122 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 10.3 316 1.08e+03 0.734 0 0 0 Crystal initStep + 1 10.4 316 1.08e+03 0.729 0.00477 0.0224 0.0224 Crystal msc + 2 10.4 316 1.08e+03 0 0.729 1.1 1.13 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 127, Parent ID = 122 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 10.5 314 1.08e+03 0.0118 0 0 0 Crystal initStep + 1 10.5 314 1.08e+03 0.0118 0 3.49e-05 3.49e-05 Crystal msc + 2 10.5 314 1.08e+03 0 0.0118 0.00175 0.00178 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 126, Parent ID = 122 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 10.7 310 1.08e+03 0.608 0 0 0 Crystal initStep + 1 10.7 310 1.08e+03 0.596 0.0126 0.0176 0.0176 Crystal msc + 2 10.7 310 1.08e+03 0 0.596 0.859 0.876 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 125, Parent ID = 122 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 9.74 308 1.06e+03 0.048 0 0 0 Crystal initStep + 1 9.74 308 1.06e+03 0.048 1.02e-05 0.000351 0.000351 Crystal msc + 2 9.73 308 1.06e+03 0 0.048 0.0175 0.0179 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 11.4 306 1.03e+03 3.21 0 0 0 Crystal initStep + 1 11.5 306 1.03e+03 3.16 0.0498 0.132 0.132 Crystal msc + 2 12.2 306 1.03e+03 2.57 0.586 1.39 1.52 Crystal msc + 3 12.4 307 1.03e+03 1.99 0.584 1.39 2.92 Crystal msc + 4 12.8 307 1.03e+03 0.0713 0.23 0.574 3.49 Crystal eBrem + 5 12.8 307 1.03e+03 0 0.0713 0.034 3.52 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 130, Parent ID = 7 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 12.8 307 1.03e+03 1.68 0 0 0 Crystal initStep + 1 12.2 300 1.03e+03 1.68 0 6.88 6.88 Crystal CoupledTransportation + 2 12.1 300 1.03e+03 0.286 0 0.487 7.37 Crystal compt + 3 11.5 300 1.03e+03 0.286 0 0.789 8.16 Crystal CoupledTransportation + 4 2.58 307 1.02e+03 0 0.0332 11.5 19.7 Crystal phot + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 130 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 2.58 307 1.02e+03 0.252 0 0 0 Crystal initStep + 1 2.57 307 1.02e+03 0.249 0.00382 0.00511 0.00511 Crystal msc + 2 2.57 307 1.02e+03 0 0.249 0.25 0.255 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 131, Parent ID = 130 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 12.1 300 1.03e+03 1.4 0 0 0 Crystal initStep + 1 12.1 299 1.03e+03 1.38 0.0193 0.0484 0.0484 Crystal msc + 2 12.1 299 1.03e+03 1.33 0.0484 0.127 0.176 Crystal msc + 3 12.1 299 1.03e+03 1.26 0.0726 0.127 0.303 Crystal msc + 4 12 299 1.03e+03 1.21 0.0452 0.127 0.431 Crystal msc + 5 12 299 1.03e+03 1.17 0.0426 0.149 0.58 Crystal msc + 6 12.1 299 1.03e+03 1.11 0.0623 0.167 0.747 Crystal msc + 7 12.2 299 1.03e+03 1.04 0.067 0.167 0.914 Crystal msc + 8 12.1 299 1.03e+03 0.975 0.0671 0.167 1.08 Crystal msc + 9 12.1 300 1.03e+03 0.895 0.0796 0.167 1.25 Crystal msc + 10 12 300 1.03e+03 0.832 0.0629 0.167 1.41 Crystal msc + 11 12.1 299 1.03e+03 0.754 0.078 0.167 1.58 Crystal msc + 12 12.1 299 1.03e+03 0.688 0.0654 0.167 1.75 Crystal msc + 13 12 299 1.03e+03 0.27 0.418 0.167 1.92 Crystal msc + 14 12.1 299 1.03e+03 0 0.27 0.283 2.2 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 9.94 278 932 0.00109 0 0 0 WorldPhysical initStep + 1 9.91 278 932 0 0.00109 0.0654 0.0654 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 8 244 818 0.00266 0 0 0 DriftChamberPhysical initStep + 1 8.15 244 818 0.00266 0 0.158 0.158 DriftChamberPhysical msc + 2 9 245 819 3.09e-06 0.00265 1.32 1.48 DriftChamberPhysical eIoni + 3 9 245 819 0 3.09e-06 0.00823 1.48 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = anti_nu_mu, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0321 106 354 50.9 0 0 0 DriftChamberPhysical initStep + 1 -216 320 900 50.9 0 625 625 WorldPhysical CoupledTransportation + 2 -236 339 950 50.9 0 114 740 WorldPhysical CoupledTransportation + 3 -255 359 1e+03 50.9 0 57.2 797 Crystal CoupledTransportation + 4 -297 400 1.11e+03 50.9 0 120 917 Crystal CoupledTransportation + 5 -300 403 1.11e+03 50.9 0 8.65 926 Crystal CoupledTransportation + 6 -348 450 1.23e+03 50.9 0 138 1.06e+03 Crystal CoupledTransportation + 7 -350 452 1.24e+03 50.9 0 7.03 1.07e+03 Crystal CoupledTransportation + 8 -398 500 1.36e+03 50.9 0 139 1.21e+03 Crystal CoupledTransportation + 9 -400 502 1.37e+03 50.9 0 5.41 1.21e+03 Crystal CoupledTransportation + 10 -414 515 1.4e+03 50.9 0 39.4 1.25e+03 WorldPhysical CoupledTransportation + 11 -453 554 1.5e+03 50.9 0 114 1.37e+03 HadCaloPhysical CoupledTransportation + 12 -473 574 1.55e+03 50.9 0 57.2 1.43e+03 Tower CoupledTransportation + 13 -550 650 1.74e+03 50.9 0 223 1.65e+03 Tower CoupledTransportation + 14 -550 650 1.74e+03 50.9 0 0.567 1.65e+03 Tower CoupledTransportation + 15 -650 749 2e+03 50.9 0 289 1.94e+03 Tower CoupledTransportation + 16 -651 750 2e+03 50.9 0 2.66 1.94e+03 Tower CoupledTransportation + 17 -750 848 2.25e+03 50.9 0 287 2.23e+03 Tower CoupledTransportation + 18 -752 850 2.26e+03 50.9 0 5.9 2.23e+03 Tower CoupledTransportation + 19 -829 926 2.45e+03 50.9 0 222 2.46e+03 HadCaloPhysical CoupledTransportation + 20 -848 945 2.5e+03 50.9 0 57.2 2.51e+03 WorldPhysical CoupledTransportation + 21 -868 965 2.55e+03 50.9 0 1.72e+03 4.23e+03 WorldPhysical CoupledTransportation + 22 -1.44e+03 1.53e+03 4e+03 50.9 0 1.66e+03 5.89e+03 OutOfWorld CoupledTransportation ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.141 186 621 0.00109 0 0 0 DriftChamberPhysical initStep - 1 -0.165 186 621 0.00105 3.87e-05 0.0313 0.0313 DriftChamberPhysical msc - 2 -0.319 186 621 0 0.00105 0.33 0.362 DriftChamberPhysical eIoni + 0 0.00146 5.71 19 0.00139 0 0 0 WorldPhysical initStep + 1 0.0118 5.68 19 0 0.00139 0.0915 0.0915 WorldPhysical eIoni +>>> Event 2 + 6 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2650677129597008 (GeV) + 4 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.7306737604949242 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 30 100 1e+03 0.0201 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.332 270 900 1e+03 0.0196 835 940 WorldPhysical CoupledTransportation + 3 -0.352 285 950 1e+03 0.0182 94.2 1.03e+03 WorldPhysical hIoni + 4 -0.352 285 950 0 1e+03 0 1.03e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.352 285 950 0.059 0 0 0 WorldPhysical initStep + 1 -11.4 285 956 0.0493 0.00969 14.4 14.4 WorldPhysical eIoni + 2 -15.1 288 959 0.0342 0.00709 5.28 19.7 WorldPhysical eIoni + 3 -14.6 288 960 0.0255 0.00127 0.877 20.6 WorldPhysical eIoni + 4 -13.5 291 962 0.0173 0.00824 4.33 24.9 WorldPhysical eIoni + 5 -13.4 291 962 0.0168 0.000468 0.424 25.3 WorldPhysical eIoni + 6 -13.4 291 964 0.0124 0.00447 2.78 28.1 WorldPhysical eIoni + 7 -13.3 292 966 0.00391 0.00845 2.12 30.2 WorldPhysical eIoni + 8 -13.2 292 966 0 0.00391 0.47 30.7 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -14.6 288 960 0.00744 0 0 0 WorldPhysical initStep + 1 -14.7 288 960 0.00731 0.00013 0.0456 0.0456 WorldPhysical msc + 2 -14.4 288 960 0.00353 0.00378 1.33 1.37 WorldPhysical eIoni + 3 -14.4 288 961 0 0.00353 0.397 1.77 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -15.1 288 959 0.00801 0 0 0 WorldPhysical initStep + 1 -15.2 288 959 0.00801 0 0.0533 0.0533 WorldPhysical msc + 2 -16 287 959 0.00243 0.00559 1.46 1.51 WorldPhysical eIoni + 3 -16 287 959 0 0.00243 0.212 1.72 WorldPhysical eIoni >>> Event 3 - 1 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.01999906857814415 (GeV) - 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9799543603290634 (GeV) + 2 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.03999532023253878 (GeV) + 14 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9598876855809306 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -3471,82 +5006,133 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 30 100 1e+03 0.0135 104 104 DriftChamberPhysical CoupledTransportation - 2 0.0716 270 900 1e+03 0.0174 835 940 WorldPhysical CoupledTransportation - 3 0.0709 273 911 1e+03 0.00111 11.4 951 WorldPhysical hIoni - 4 0.066 285 950 1e+03 0.00809 52.8 1e+03 WorldPhysical hIoni - 5 0.066 285 950 0 1e+03 0 1e+03 WorldPhysical G4FSMP_parallelGeom + 1 0 30 100 1e+03 0.016 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.00276 101 335 1e+03 0.00527 246 350 DriftChamberPhysical hIoni + 3 0.00139 122 407 1e+03 0.00158 74.9 425 DriftChamberPhysical hIoni + 4 0.0249 270 900 1e+03 0.00979 515 940 WorldPhysical CoupledTransportation + 5 0.025 271 903 1e+03 0.000449 2.93 943 WorldPhysical hIoni + 6 0.0244 275 918 999 0.00247 15.7 958 WorldPhysical hIoni + 7 0.00716 285 950 999 0.0138 85.8 1.04e+03 WorldPhysical CoupledTransportation + 8 0.00716 285 950 0 999 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0244 275 918 0.519 0 0 0 WorldPhysical initStep + 1 11 291 926 0.516 0.0017 20.7 20.7 WorldPhysical eIoni + 2 12.2 293 927 0.514 0.000458 2.74 23.4 WorldPhysical eIoni + 3 13 294 928 0.512 0.000372 1.71 25.1 WorldPhysical eIoni + 4 34 331 950 0.485 0.027 162 187 WorldPhysical CoupledTransportation + 5 39.6 333 955 0.483 0.000986 7.8 195 WorldPhysical eIoni + 6 46.8 337 961 0.48 0.00121 10.3 205 WorldPhysical eIoni + 7 92.8 369 1e+03 0.471 0.00915 69.7 275 Crystal CoupledTransportation + 8 92.8 369 1e+03 0.468 0.00215 0.0125 275 Crystal msc + 9 92.8 369 1e+03 0.466 0.00281 0.0125 275 Crystal msc + 10 92.8 369 1e+03 0.458 0.00769 0.0125 275 Crystal msc + 11 92.8 369 1e+03 0.452 0.00577 0.0125 275 Crystal msc + 12 92.8 369 1e+03 0.446 0.0063 0.0125 275 Crystal msc + 13 92.9 369 1e+03 0.439 0.00727 0.0125 275 Crystal msc + 14 92.9 369 1e+03 0.436 0.00241 0.0125 275 Crystal msc + 15 92.9 369 1e+03 0.431 0.00484 0.0125 275 Crystal msc + 16 92.9 369 1e+03 0.427 0.00432 0.0125 275 Crystal msc + 17 92.9 369 1e+03 0.414 0.0134 0.0125 275 Crystal msc + 18 92.9 369 1e+03 0.412 0.00164 0.0125 275 Crystal msc + 19 92.9 369 1e+03 0.408 0.00442 0.0125 275 Crystal msc + 20 92.9 369 1e+03 0.4 0.00767 0.0125 275 Crystal msc + 21 92.9 369 1e+03 0.372 0.0276 0.0125 275 Crystal msc + 22 92.9 369 1e+03 0.206 0.166 0.0125 275 Crystal msc + 23 92.9 369 1e+03 0.199 0.0069 0.0125 275 Crystal msc + 24 92.9 369 1e+03 0.191 0.00822 0.0125 275 Crystal msc + 25 92.9 369 1e+03 0.185 0.00642 0.0125 275 Crystal msc + 26 92.9 369 1e+03 0.179 0.00532 0.0125 275 Crystal msc + 27 92.9 369 1e+03 0.17 0.00913 0.0125 275 Crystal msc + 28 92.9 369 1e+03 0.166 0.00398 0.0125 275 Crystal msc + 29 92.9 369 1e+03 0.148 0.0179 0.0125 275 Crystal msc + 30 92.9 369 1e+03 0.141 0.00684 0.0125 275 Crystal msc + 31 92.9 369 1e+03 0.135 0.00693 0.0125 275 Crystal msc + 32 92.9 369 1e+03 0.109 0.0258 0.0125 275 Crystal msc + 33 92.9 369 1e+03 0.0934 0.0154 0.0125 275 Crystal msc + 34 92.9 369 1e+03 0.079 0.0144 0.0125 275 Crystal msc + 35 92.9 369 1e+03 0.0666 0.0124 0.0125 275 Crystal msc + 36 92.9 369 1e+03 0.0504 0.0162 0.0125 275 Crystal msc + 37 92.9 369 1e+03 0.0226 0.0277 0.0125 275 Crystal msc + 38 92.9 369 1e+03 0 0.0226 0.00502 275 Crystal eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 46.8 337 961 0.00193 0 0 0 WorldPhysical initStep + 1 46.8 337 961 0.00186 6.85e-05 0.0043 0.0043 WorldPhysical msc + 2 46.8 337 961 0 0.00186 0.14 0.145 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 39.6 333 955 0.00119 0 0 0 WorldPhysical initStep + 1 39.6 333 955 0.0011 9.81e-05 0.0019 0.0019 WorldPhysical msc + 2 39.6 333 955 0 0.0011 0.0656 0.0675 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 13 294 928 0.00142 0 0 0 WorldPhysical initStep + 1 13 294 928 0 0.00142 0.094 0.094 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 12.2 293 927 0.00123 0 0 0 WorldPhysical initStep + 1 12.2 293 927 0 0.00123 0.0768 0.0768 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 5 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 11 291 926 0.00179 0 0 0 WorldPhysical initStep + 1 11 291 926 0 0.00179 0.133 0.133 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.025 271 903 0.00748 0 0 0 WorldPhysical initStep + 1 0.806 271 902 0.00184 0.00564 1.36 1.36 WorldPhysical eIoni + 2 0.84 271 902 0 0.00184 0.138 1.5 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.066 285 950 0.00106 0 0 0 WorldPhysical initStep - 1 0.0674 285 950 0.00106 0 0.00156 0.00156 WorldPhysical msc - 2 0.0689 285 950 0.00106 0 0.00156 0.00312 WorldPhysical msc - 3 0.0703 285 950 0.00103 2.97e-05 0.00156 0.00468 WorldPhysical msc - 4 0.0716 285 950 0.00103 0 0.00156 0.00624 WorldPhysical msc - 5 0.0731 285 950 0.00103 0 0.00156 0.0078 WorldPhysical msc - 6 0.0742 285 950 0.001 2.74e-05 0.00156 0.00936 WorldPhysical msc - 7 0.075 285 950 0.001 0 0.00156 0.0109 WorldPhysical msc - 8 0.0759 285 950 0.000953 4.91e-05 0.00156 0.0125 WorldPhysical msc - 9 0.0767 285 950 0.000953 0 0.00156 0.014 WorldPhysical msc - 10 0.0771 285 950 0.000952 5.28e-07 0.00156 0.0156 WorldPhysical msc - 11 0.0769 285 950 0.000952 0 0.00156 0.0172 WorldPhysical msc - 12 0.0763 285 950 0.000952 0 0.00156 0.0187 WorldPhysical msc - 13 0.0755 285 950 0.000952 0 0.00156 0.0203 WorldPhysical msc - 14 0.0743 285 950 0.000952 0 0.00156 0.0218 WorldPhysical msc - 15 0.0729 285 950 0.000877 7.51e-05 0.00156 0.0234 WorldPhysical msc - 16 0.0716 285 950 0.000877 0 0.00156 0.025 WorldPhysical msc - 17 0.0702 285 950 0.000877 0 0.00156 0.0265 WorldPhysical msc - 18 0.0687 285 950 0.000877 0 0.00156 0.0281 WorldPhysical msc - 19 0.0675 285 950 0.000877 0 0.00156 0.0296 WorldPhysical msc - 20 0.0661 285 950 0.000836 4.14e-05 0.00156 0.0312 WorldPhysical msc - 21 0.0647 285 950 0.000836 0 0.00156 0.0328 WorldPhysical msc - 22 0.0632 285 950 0.000836 0 0.00156 0.0343 WorldPhysical msc - 23 0.062 285 950 0.000753 8.23e-05 0.00156 0.0359 WorldPhysical msc - 24 0.0605 285 950 0.000753 0 0.00156 0.0374 WorldPhysical msc - 25 0.0596 285 950 0.000666 8.71e-05 0.00156 0.039 WorldPhysical msc - 26 0.0601 285 950 0.000666 0 0.00156 0.0406 WorldPhysical msc - 27 0.0614 285 950 0.000666 0 0.00156 0.0421 WorldPhysical msc - 28 0.0627 285 950 0.000666 0 0.00156 0.0437 WorldPhysical msc - 29 0.0638 285 950 0.000639 2.73e-05 0.00156 0.0452 WorldPhysical msc - 30 0.0644 285 950 0.000639 0 0.00156 0.0468 WorldPhysical msc - 31 0.0644 285 950 0.00061 2.85e-05 0.00156 0.0484 WorldPhysical msc - 32 0.0651 285 950 0.00061 0 0.00156 0.0499 WorldPhysical msc - 33 0.0657 285 950 0.00061 0 0.00156 0.0515 WorldPhysical msc - 34 0.066 285 950 0.00059 2.09e-05 0.00156 0.053 WorldPhysical msc - 35 0.0664 285 950 0.00059 0 0.00156 0.0546 WorldPhysical msc - 36 0.0662 285 950 0.000549 4.1e-05 0.00156 0.0562 WorldPhysical msc - 37 0.0664 285 950 0.000493 5.58e-05 0.00156 0.0577 WorldPhysical msc - 38 0.0672 285 950 0.000426 6.7e-05 0.00156 0.0593 WorldPhysical msc - 39 0.0686 285 950 0.000426 0 0.00156 0.0608 WorldPhysical msc - 40 0.0697 285 950 0.000426 0 0.00156 0.0624 WorldPhysical msc - 41 0.0695 285 950 0.000388 3.81e-05 0.00156 0.064 WorldPhysical msc - 42 0.069 285 950 0.00033 5.82e-05 0.00156 0.0655 WorldPhysical msc - 43 0.0695 285 950 0.000286 4.32e-05 0.00156 0.0671 WorldPhysical msc - 44 0.0693 285 950 0.000211 7.55e-05 0.00156 0.0686 WorldPhysical msc - 45 0.0684 285 950 0.000142 6.92e-05 0.00156 0.0702 WorldPhysical msc - 46 0.0677 285 950 8.84e-05 5.32e-05 0.00156 0.0718 WorldPhysical msc - 47 0.0685 285 950 6.88e-05 1.96e-05 0.00156 0.0733 WorldPhysical msc - 48 0.0693 285 950 3.85e-05 3.02e-05 0.00156 0.0749 WorldPhysical msc - 49 0.0704 285 950 2.68e-05 1.17e-05 0.00156 0.0764 WorldPhysical msc - 50 0.0704 285 950 3.66e-06 2.31e-05 0.00156 0.078 WorldPhysical msc - 51 0.0699 285 950 0 3.66e-06 0.00177 0.0798 WorldPhysical eIoni + 0 0.00139 122 407 0.00123 0 0 0 DriftChamberPhysical initStep + 1 0.0317 122 407 0.00108 0.000157 0.0397 0.0397 DriftChamberPhysical msc + 2 0.2 122 407 0 0.00108 0.343 0.383 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0709 273 911 0.00328 0 0 0 WorldPhysical initStep - 1 0.165 273 911 0 0.00328 0.35 0.35 WorldPhysical eIoni + 0 -0.00276 101 335 0.00177 0 0 0 DriftChamberPhysical initStep + 1 -0.074 101 335 0.00157 0.0002 0.075 0.075 DriftChamberPhysical msc + 2 -0.503 101 335 0 0.00157 0.6 0.675 DriftChamberPhysical eIoni >>> Event 4 - 2 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.05999733254581105 (GeV) - 15 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9399582098843727 (GeV) + 1 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.0004705997596578213 (GeV) + 13 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9794326508950655 (GeV) number of event = 5 ### Run 6 start. @@ -3556,45 +5142,54 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 6.63e-05 -1.05 3.51 1e+03 0.000959 3.66 3.66 WorldPhysical hIoni - 2 -0.000209 -4.06 13.6 1e+03 0.000911 10.5 14.1 WorldPhysical hIoni - 3 -0.0203 -30 100 1e+03 0.0126 90.3 104 DriftChamberPhysical CoupledTransportation - 4 0.00861 -176 587 1e+03 0.0121 509 613 DriftChamberPhysical hIoni - 5 0.0319 -270 900 1e+03 0.00755 326 940 WorldPhysical CoupledTransportation - 6 0.0345 -285 950 1e+03 0.0176 104 1.04e+03 WorldPhysical CoupledTransportation - 7 0.0345 -285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom + 1 0 -30 100 1e+03 0.0181 104 104 DriftChamberPhysical CoupledTransportation + 2 -0.0119 -72.7 242 1e+03 0.00469 148 253 DriftChamberPhysical hIoni + 3 -0.0131 -189 630 1e+03 0.0116 405 658 DriftChamberPhysical hIoni + 4 -0.0126 -270 900 1e+03 0.00626 282 940 WorldPhysical CoupledTransportation + 5 -0.0126 -271 901 1e+03 0.000449 1.49 941 WorldPhysical hIoni + 6 -0.0124 -285 950 1e+03 0.0162 103 1.04e+03 WorldPhysical CoupledTransportation + 7 -0.0124 -285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00861 -176 587 0.00116 0 0 0 DriftChamberPhysical initStep - 1 -0.0103 -176 587 0.000783 0.000374 0.0348 0.0348 DriftChamberPhysical msc - 2 -0.104 -176 587 0 0.000783 0.222 0.257 DriftChamberPhysical eIoni + 0 -0.0126 -271 901 0.00638 0 0 0 WorldPhysical initStep + 1 -0.000902 -271 901 0.00466 0.00039 0.229 0.229 WorldPhysical eIoni + 2 0.037 -271 901 0 0.00466 0.64 0.869 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.000902 -271 901 0.00133 0 0 0 WorldPhysical initStep + 1 -0.024 -271 901 0 0.00133 0.0859 0.0859 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.000209 -4.06 13.6 0.0139 0 0 0 WorldPhysical initStep - 1 1.48 -4.33 14.8 0.00957 0.0043 2.34 2.34 WorldPhysical eIoni - 2 0.755 -5.42 14.6 0.00462 0.00495 1.72 4.06 WorldPhysical eIoni - 3 0.831 -5.65 14.5 0 0.00462 0.631 4.69 WorldPhysical eIoni + 0 -0.0131 -189 630 0.00141 0 0 0 DriftChamberPhysical initStep + 1 -0.0565 -189 630 0.00124 0.000174 0.0499 0.0499 DriftChamberPhysical msc + 2 -0.319 -189 630 0 0.00124 0.42 0.469 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 6.63e-05 -1.05 3.51 0.00174 0 0 0 WorldPhysical initStep - 1 0.0292 -1.01 3.52 0 0.00174 0.127 0.127 WorldPhysical eIoni + 0 -0.0119 -72.7 242 0.00392 0 0 0 DriftChamberPhysical initStep + 1 -0.405 -72.6 242 0.00373 0.000186 0.448 0.448 DriftChamberPhysical msc + 2 -1.99 -72.3 243 0.0017 0.00203 1.8 2.25 DriftChamberPhysical eIoni + 3 -2.16 -72.4 243 0 0.0017 0.682 2.93 DriftChamberPhysical eIoni >>> Event 0 - 0 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0 (GeV) - 13 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9799328282747001 (GeV) + 2 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.0399972413033802 (GeV) + 12 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9399351706294345 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -3602,179 +5197,196 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00461 -27.3 91 1e+03 0.015 95 95 WorldPhysical hIoni - 2 -0.0043 -30 100 1e+03 0.000801 9.41 104 DriftChamberPhysical CoupledTransportation - 3 0.00342 -93.5 312 1e+03 0.00476 221 326 DriftChamberPhysical hIoni - 4 -0.00111 -159 529 1e+03 0.00516 226 552 DriftChamberPhysical hIoni - 5 -0.00244 -170 568 1e+03 0.000845 41.4 593 DriftChamberPhysical hIoni - 6 -0.00676 -182 605 1e+03 0.000696 38.9 632 DriftChamberPhysical hIoni - 7 -0.039 -270 900 1e+03 0.00668 308 940 WorldPhysical CoupledTransportation - 8 -0.0465 -282 940 1e+03 0.00872 41.7 981 WorldPhysical hIoni - 9 -0.0488 -285 950 1e+03 0.0084 62.7 1.04e+03 WorldPhysical CoupledTransportation - 10 -0.0488 -285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom + 1 0.000155 -3.79 12.6 1e+03 0.0014 13.2 13.2 WorldPhysical hIoni + 2 -0.000212 -14 46.8 1e+03 0.00508 35.7 48.9 WorldPhysical hIoni + 3 -0.00562 -30 100 1e+03 0.00488 55.5 104 DriftChamberPhysical CoupledTransportation + 4 -0.0469 -118 393 1e+03 0.00686 306 410 DriftChamberPhysical hIoni + 5 -0.16 -270 900 1e+03 0.0129 530 940 WorldPhysical CoupledTransportation + 6 -0.174 -285 950 1e+03 0.0155 104 1.04e+03 WorldPhysical CoupledTransportation + 7 -0.174 -285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0465 -282 940 0.00379 0 0 0 WorldPhysical initStep - 1 -0.00017 -282 940 0.00235 0.000362 0.0778 0.0778 WorldPhysical eIoni - 2 0.0413 -282 940 0 0.00235 0.201 0.279 WorldPhysical eIoni + 0 -0.0469 -118 393 0.00128 0 0 0 DriftChamberPhysical initStep + 1 -0.0162 -118 393 0.00118 9.46e-05 0.0427 0.0427 DriftChamberPhysical msc + 2 0.0632 -118 393 0 0.00118 0.394 0.436 DriftChamberPhysical eIoni ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 7 +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00017 -282 940 0.00108 0 0 0 WorldPhysical initStep - 1 -0.0198 -282 940 0 0.00108 0.0644 0.0644 WorldPhysical eIoni + 0 -0.000212 -14 46.8 0.00145 0 0 0 WorldPhysical initStep + 1 0.0134 -14.1 46.8 0 0.00145 0.097 0.097 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.000155 -3.79 12.6 0.00774 0 0 0 WorldPhysical initStep + 1 0.58 -4.59 12.7 0.00244 0.0053 1.41 1.41 WorldPhysical eIoni + 2 0.634 -4.64 12.6 0 0.00244 0.213 1.62 WorldPhysical eIoni +>>> Event 1 + 3 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.05999657106031937 (GeV) + 11 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9199474229248972 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 -30 100 1e+03 0.0248 104 104 DriftChamberPhysical CoupledTransportation + 2 0.0151 -75.5 251 1e+03 0.00392 158 263 DriftChamberPhysical hIoni + 3 0.063 -179 597 1e+03 0.0098 361 624 DriftChamberPhysical hIoni + 4 0.0777 -270 900 1e+03 0.00659 316 940 WorldPhysical CoupledTransportation + 5 0.0786 -285 950 1e+03 0.0114 80.7 1.02e+03 WorldPhysical hIoni + 6 0.0786 -285 950 0 1e+03 0 1.02e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.0786 -285 950 0.0019 0 0 0 WorldPhysical initStep + 1 0.0819 -285 950 0.0019 0 0.00417 0.00417 WorldPhysical msc + 2 0.0859 -285 950 0.00181 8.9e-05 0.00417 0.00834 WorldPhysical msc + 3 0.0897 -285 950 0.00175 6.46e-05 0.00417 0.0125 WorldPhysical msc + 4 0.0932 -285 950 0.00155 0.000197 0.00417 0.0167 WorldPhysical msc + 5 0.097 -285 950 0.00147 8.09e-05 0.00417 0.0208 WorldPhysical msc + 6 0.101 -285 950 0.00139 8.13e-05 0.00417 0.025 WorldPhysical msc + 7 0.104 -285 950 0.00137 1.63e-05 0.00417 0.0292 WorldPhysical msc + 8 0.107 -285 950 0.00133 3.66e-05 0.00417 0.0333 WorldPhysical msc + 9 0.11 -285 950 0.00133 0 0.00417 0.0375 WorldPhysical msc + 10 0.114 -285 950 0.00128 5.94e-05 0.00417 0.0417 WorldPhysical msc + 11 0.116 -285 950 0.00126 1.23e-05 0.00417 0.0459 WorldPhysical msc + 12 0.12 -285 950 0.00126 0 0.00417 0.05 WorldPhysical msc + 13 0.124 -285 950 0.00123 3.53e-05 0.00417 0.0542 WorldPhysical msc + 14 0.127 -285 950 0.0011 0.000125 0.00417 0.0584 WorldPhysical msc + 15 0.129 -285 950 0.0011 0 0.00417 0.0625 WorldPhysical msc + 16 0.13 -285 950 0.0011 1.09e-06 0.0046 0.0671 WorldPhysical msc + 17 0.131 -285 950 0.0011 2.64e-06 0.00521 0.0723 WorldPhysical msc + 18 0.131 -285 950 0.0011 0 0.00612 0.0785 WorldPhysical msc + 19 0.129 -285 950 0.000984 0.000116 0.00703 0.0855 WorldPhysical msc + 20 0.125 -285 950 0.000839 0.000145 0.0082 0.0937 WorldPhysical msc + 21 0.125 -285 950 0.000737 0.000101 0.00934 0.103 WorldPhysical msc + 22 0.124 -285 950 0 0.000737 0.0398 0.143 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.063 -179 597 0.00122 0 0 0 DriftChamberPhysical initStep + 1 0.0866 -179 597 0.00122 0 0.0386 0.0386 DriftChamberPhysical msc + 2 0.253 -180 597 0 0.00122 0.409 0.448 DriftChamberPhysical eIoni +>>> Event 2 + 2 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.03999761638074826 (GeV) + 15 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.939943984947584 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 2.65e-05 -5.2 17.3 1e+03 0.00165 18.1 18.1 WorldPhysical hIoni + 2 -0.00404 -30 100 1e+03 0.0115 86.3 104 DriftChamberPhysical CoupledTransportation + 3 -0.00889 -88 294 1e+03 0.00499 202 306 DriftChamberPhysical hIoni + 4 -0.0553 -270 900 1e+03 0.017 633 940 WorldPhysical CoupledTransportation + 5 -0.0578 -285 950 1e+03 0.0217 104 1.04e+03 WorldPhysical CoupledTransportation + 6 -0.0578 -285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.00889 -88 294 0.00164 0 0 0 DriftChamberPhysical initStep + 1 -0.0708 -88.1 294 0.00154 0.000101 0.0662 0.0662 DriftChamberPhysical msc + 2 -0.45 -88.2 293 0 0.00154 0.581 0.647 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 2.65e-05 -5.2 17.3 0.00125 0 0 0 WorldPhysical initStep + 1 0.0295 -5.21 17.3 0 0.00125 0.0782 0.0782 WorldPhysical eIoni +>>> Event 3 + 2 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.03999761069793511 (GeV) + 12 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9599426567504429 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0.000137 -1.98 6.6 1e+03 0.000698 6.89 6.89 WorldPhysical hIoni + 2 0.0015 -9.59 32 1e+03 0.00927 26.5 33.4 WorldPhysical hIoni + 3 0.00198 -13.3 44.2 1e+03 0.00286 12.8 46.2 WorldPhysical hIoni + 4 0.00124 -24.8 82.8 1e+03 0.00406 40.2 86.4 WorldPhysical hIoni + 5 -0.000247 -29 96.6 1e+03 0.00191 14.5 101 WorldPhysical hIoni + 6 -0.00086 -30 100 1e+03 0.0005 3.5 104 DriftChamberPhysical CoupledTransportation + 7 -0.127 -270 900 1e+03 0.0236 835 940 WorldPhysical CoupledTransportation + 8 -0.136 -285 950 1e+03 0.0143 104 1.04e+03 WorldPhysical CoupledTransportation + 9 -0.136 -285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00676 -182 605 0.00332 0 0 0 DriftChamberPhysical initStep - 1 -0.159 -181 606 0.00298 0.000345 0.265 0.265 DriftChamberPhysical msc - 2 0.167 -180 606 0.000922 0.00206 1.48 1.74 DriftChamberPhysical eIoni - 3 0.27 -180 606 0 0.000922 0.277 2.02 DriftChamberPhysical eIoni + 0 -0.000247 -29 96.6 0.00127 0 0 0 WorldPhysical initStep + 1 -0.0309 -29 96.7 0 0.00127 0.0799 0.0799 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00244 -170 568 0.00291 0 0 0 DriftChamberPhysical initStep - 1 0.173 -170 568 0.00271 0.000206 0.185 0.185 DriftChamberPhysical msc - 2 1.36 -170 568 0.000583 0.00212 1.35 1.53 DriftChamberPhysical eIoni - 3 1.45 -170 568 0 0.000583 0.157 1.69 DriftChamberPhysical eIoni + 0 0.00124 -24.8 82.8 0.00137 0 0 0 WorldPhysical initStep + 1 0.0232 -24.8 82.8 0 0.00137 0.0894 0.0894 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00111 -159 529 0.000999 0 0 0 DriftChamberPhysical initStep - 1 0.0253 -159 529 0.000958 4.08e-05 0.0276 0.0276 DriftChamberPhysical msc - 2 0.221 -159 529 0 0.000958 0.291 0.318 DriftChamberPhysical eIoni + 0 0.00198 -13.3 44.2 0.00362 0 0 0 WorldPhysical initStep + 1 -0.0321 -13.1 44.3 0 0.00362 0.414 0.414 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00342 -93.5 312 0.00122 0 0 0 DriftChamberPhysical initStep - 1 0.017 -93.5 312 0.00117 5.21e-05 0.0389 0.0389 DriftChamberPhysical msc - 2 0.152 -93.3 312 0 0.00117 0.386 0.425 DriftChamberPhysical eIoni + 0 0.0015 -9.59 32 0.00142 0 0 0 WorldPhysical initStep + 1 -0.036 -9.59 32 0 0.00142 0.0939 0.0939 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00461 -27.3 91 0.00202 0 0 0 WorldPhysical initStep - 1 0.00234 -27.4 91 0 0.00202 0.159 0.159 WorldPhysical eIoni ->>> Event 1 - 3 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.0799947762680461 (GeV) - 14 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.899941233015519 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00483 -13.1 43.7 1e+03 0.00516 45.6 45.6 WorldPhysical hIoni - 2 0.00142 -30 100 1e+03 0.00808 58.8 104 DriftChamberPhysical CoupledTransportation - 3 -0.0753 -270 900 1e+03 0.0186 835 940 WorldPhysical CoupledTransportation - 4 -0.0826 -285 950 1e+03 0.0145 104 1.04e+03 WorldPhysical CoupledTransportation - 5 -0.0826 -285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00483 -13.1 43.7 0.00196 0 0 0 WorldPhysical initStep - 1 -0.0237 -13.2 43.6 0 0.00196 0.151 0.151 WorldPhysical eIoni ->>> Event 2 - 1 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.01999903308212855 (GeV) - 15 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9799526210242987 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -30 100 1e+03 0.0154 104 104 DriftChamberPhysical CoupledTransportation - 2 -0.0068 -62.2 207 1e+03 0.00262 112 217 DriftChamberPhysical hIoni - 3 -0.0336 -270 900 1e+03 0.0157 723 940 WorldPhysical CoupledTransportation - 4 -0.0329 -273 911 1e+03 0.00181 11.5 951 WorldPhysical hIoni - 5 -0.0328 -285 950 1e+03 0.0125 92.9 1.04e+03 WorldPhysical CoupledTransportation - 6 -0.0328 -285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0329 -273 911 0.00216 0 0 0 WorldPhysical initStep - 1 0.0278 -273 911 0 0.00216 0.177 0.177 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0068 -62.2 207 0.00232 0 0 0 DriftChamberPhysical initStep - 1 0.065 -62.3 207 0.00214 0.00018 0.122 0.122 DriftChamberPhysical msc - 2 0.518 -62.9 207 0 0.00214 0.984 1.11 DriftChamberPhysical eIoni ->>> Event 3 - 0 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0 (GeV) - 14 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9999475052308371 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00761 -18 60 1e+03 0.01 62.6 62.6 WorldPhysical hIoni - 2 -0.0168 -30 100 1e+03 0.00568 41.8 104 DriftChamberPhysical CoupledTransportation - 3 -0.132 -137 456 1e+03 0.00721 371 476 DriftChamberPhysical hIoni - 4 -0.265 -270 900 1e+03 0.0103 464 940 WorldPhysical CoupledTransportation - 5 -0.284 -285 950 1e+03 0.0142 104 1.04e+03 WorldPhysical CoupledTransportation - 6 -0.284 -285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.132 -137 456 0.00133 0 0 0 DriftChamberPhysical initStep - 1 -0.0883 -137 456 0.00132 1.2e-05 0.045 0.045 DriftChamberPhysical msc - 2 0.189 -137 456 0 0.00132 0.459 0.504 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00761 -18 60 0.00296 0 0 0 WorldPhysical initStep - 1 -0.134 -18 60 0 0.00296 0.293 0.293 WorldPhysical eIoni + 0 0.000137 -1.98 6.6 0.00171 0 0 0 WorldPhysical initStep + 1 0.0312 -2.02 6.59 0 0.00171 0.124 0.124 WorldPhysical eIoni >>> Event 4 - 2 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.03999793206544405 (GeV) - 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9599503695706572 (GeV) + 1 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.01999866846345113 (GeV) + 12 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.9799347547091055 (GeV) number of event = 5 ### Run 7 start. @@ -3784,43 +5396,72 @@ number of event = 5 Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.0166 -54.6 91 1e+03 0.0156 106 106 WorldPhysical hIoni - 2 -0.0166 -60 100 1e+03 0.000847 10.5 117 DriftChamberPhysical CoupledTransportation - 3 -0.024 -168 279 1e+03 0.00525 209 326 DriftChamberPhysical hIoni - 4 0.0183 -540 900 1e+03 0.0157 724 1.05e+03 WorldPhysical CoupledTransportation - 5 0.0233 -563 938 1e+03 0.00567 44.8 1.09e+03 WorldPhysical hIoni - 6 0.0265 -570 950 1e+03 0.0144 71.8 1.17e+03 WorldPhysical CoupledTransportation - 7 0.0265 -570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0233 -563 938 0.0026 0 0 0 WorldPhysical initStep - 1 -0.0789 -563 938 0 0.0026 0.237 0.237 WorldPhysical eIoni + 1 -0.000634 -7.42 12.4 1e+03 0.00239 14.4 14.4 WorldPhysical hIoni + 2 0.00504 -60 100 1e+03 0.0168 102 117 DriftChamberPhysical CoupledTransportation + 3 0.153 -540 900 1e+03 0.0221 933 1.05e+03 WorldPhysical CoupledTransportation + 4 0.164 -570 950 1e+03 0.0125 108 1.16e+03 WorldPhysical hIoni + 5 0.164 -570 950 0 1e+03 0 1.16e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.024 -168 279 0.00141 0 0 0 DriftChamberPhysical initStep - 1 -0.0115 -168 279 0.00138 3.06e-05 0.0497 0.0497 DriftChamberPhysical msc - 2 0.167 -167 279 0 0.00138 0.495 0.545 DriftChamberPhysical eIoni + 0 0.164 -570 950 0.0012 0 0 0 WorldPhysical initStep + 1 0.166 -570 950 0.00112 7.77e-05 0.00191 0.00191 WorldPhysical msc + 2 0.168 -570 950 0.00112 0 0.00191 0.00381 WorldPhysical msc + 3 0.168 -570 950 0.00112 0 0.00191 0.00572 WorldPhysical msc + 4 0.168 -570 950 0.00112 0 0.00191 0.00763 WorldPhysical msc + 5 0.17 -570 950 0.00102 0.000101 0.00191 0.00954 WorldPhysical msc + 6 0.172 -570 950 0.000945 7.1e-05 0.00191 0.0114 WorldPhysical msc + 7 0.173 -570 950 0.000945 0 0.00191 0.0134 WorldPhysical msc + 8 0.174 -570 950 0.000945 0 0.00191 0.0153 WorldPhysical msc + 9 0.174 -570 950 0.000945 0 0.00191 0.0172 WorldPhysical msc + 10 0.176 -570 950 0.000945 0 0.00191 0.0191 WorldPhysical msc + 11 0.176 -570 950 0.000945 0 0.00191 0.021 WorldPhysical msc + 12 0.176 -570 950 0.000945 0 0.00191 0.0229 WorldPhysical msc + 13 0.176 -570 950 0.000857 8.85e-05 0.00191 0.0248 WorldPhysical msc + 14 0.175 -570 950 0.000829 2.8e-05 0.00191 0.0267 WorldPhysical msc + 15 0.174 -570 950 0.000777 5.13e-05 0.00191 0.0286 WorldPhysical msc + 16 0.172 -570 950 0.000747 3.04e-05 0.00191 0.0305 WorldPhysical msc + 17 0.171 -570 950 0.000724 2.31e-05 0.00191 0.0324 WorldPhysical msc + 18 0.17 -570 950 0.000724 0 0.00191 0.0343 WorldPhysical msc + 19 0.169 -570 950 0.000724 0 0.00191 0.0362 WorldPhysical msc + 20 0.171 -570 950 0.000571 0.000153 0.00191 0.0381 WorldPhysical msc + 21 0.172 -570 950 0.000571 0 0.00191 0.0401 WorldPhysical msc + 22 0.173 -570 950 0.000571 0 0.00191 0.042 WorldPhysical msc + 23 0.174 -570 950 0.000571 0 0.00191 0.0439 WorldPhysical msc + 24 0.173 -570 950 0.000571 0 0.00191 0.0458 WorldPhysical msc + 25 0.172 -570 950 0.000571 0 0.00191 0.0477 WorldPhysical msc + 26 0.17 -570 950 0.000559 1.21e-05 0.00191 0.0496 WorldPhysical msc + 27 0.169 -570 950 0.000559 0 0.00191 0.0515 WorldPhysical msc + 28 0.169 -570 950 0.000559 0 0.00191 0.0534 WorldPhysical msc + 29 0.169 -570 950 0.000547 1.18e-05 0.00215 0.0556 WorldPhysical msc + 30 0.168 -570 950 0.000537 9.67e-06 0.00249 0.0581 WorldPhysical msc + 31 0.168 -570 950 0.000507 3.01e-05 0.00249 0.0605 WorldPhysical msc + 32 0.167 -570 950 0.000507 0 0.00301 0.0636 WorldPhysical msc + 33 0.166 -570 950 0.000455 5.24e-05 0.00333 0.0669 WorldPhysical msc + 34 0.164 -570 950 0.000455 0 0.00333 0.0702 WorldPhysical msc + 35 0.166 -570 950 0.000341 0.000114 0.00352 0.0737 WorldPhysical msc + 36 0.163 -570 950 0.000308 3.23e-05 0.00382 0.0775 WorldPhysical msc + 37 0.161 -570 950 0.000188 0.00012 0.00382 0.0814 WorldPhysical msc + 38 0.16 -570 950 2.97e-05 0.000159 0.00382 0.0852 WorldPhysical msc + 39 0.161 -570 950 0 2.97e-05 0.00504 0.0902 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0166 -54.6 91 0.00182 0 0 0 WorldPhysical initStep - 1 0.011 -54.7 91 0 0.00182 0.136 0.136 WorldPhysical eIoni + 0 -0.000634 -7.42 12.4 0.00722 0 0 0 WorldPhysical initStep + 1 -0.105 -7.54 12.3 0.007 0.000227 0.205 0.205 WorldPhysical eIoni + 2 -0.433 -8.29 12.2 0.000345 0.00665 1.26 1.46 WorldPhysical eIoni + 3 -0.434 -8.29 12.2 0 0.000345 0.0186 1.48 WorldPhysical eIoni >>> Event 0 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.3199797426119313 (GeV) + 5 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.1399912885054167 (GeV) 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.4799696139178969 (GeV) + Total energy deposition in HAD calorimeter towers : 0.8399477310325001 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -3828,55 +5469,92 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -60 100 1e+03 0.0203 117 117 DriftChamberPhysical CoupledTransportation - 2 0.0432 -116 194 1e+03 0.00202 109 226 DriftChamberPhysical hIoni - 3 0.223 -313 523 1e+03 0.00869 384 609 DriftChamberPhysical hIoni - 4 0.235 -327 546 1e+03 0.00058 26.9 636 DriftChamberPhysical hIoni - 5 0.404 -540 900 1e+03 0.00853 413 1.05e+03 WorldPhysical CoupledTransportation - 6 0.42 -560 935 1e+03 0.00587 40.4 1.09e+03 WorldPhysical hIoni - 7 0.425 -569 950 1e+03 0.0119 76.2 1.17e+03 WorldPhysical CoupledTransportation - 8 0.425 -569 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom + 1 0.00167 -11.8 19.6 1e+03 0.00231 22.9 22.9 WorldPhysical hIoni + 2 0.000585 -26 43.4 1e+03 0.00317 27.7 50.6 WorldPhysical hIoni + 3 -0.0011 -34.7 57.9 1e+03 0.00234 17 67.5 WorldPhysical hIoni + 4 -0.00259 -39.2 65.4 1e+03 0.00159 8.74 76.3 WorldPhysical hIoni + 5 -0.00916 -60 100 1e+03 0.00373 40.4 117 DriftChamberPhysical CoupledTransportation + 6 -0.037 -107 179 1e+03 0.00163 91.8 208 DriftChamberPhysical hIoni + 7 -0.191 -356 593 1e+03 0.0114 483 692 DriftChamberPhysical hIoni + 8 -0.283 -540 900 1e+03 0.00877 358 1.05e+03 WorldPhysical CoupledTransportation + 9 -0.298 -570 950 1e+03 0.0158 117 1.17e+03 WorldPhysical CoupledTransportation + 10 -0.298 -570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.191 -356 593 0.00109 0 0 0 DriftChamberPhysical initStep + 1 -0.178 -356 593 0.00103 5.53e-05 0.0314 0.0314 DriftChamberPhysical msc + 2 -0.116 -356 593 0 0.00103 0.324 0.355 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.037 -107 179 0.00641 0 0 0 DriftChamberPhysical initStep + 1 -1.32 -106 180 0.00523 0.00117 2.28 2.28 DriftChamberPhysical msc + 2 -3.02 -105 181 0.00382 0.00142 2.36 4.64 DriftChamberPhysical eIoni + 3 -4.6 -105 182 0.00185 0.00197 1.83 6.47 DriftChamberPhysical eIoni + 4 -5.05 -105 182 0 0.00185 0.779 7.25 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.42 -560 935 0.00262 0 0 0 WorldPhysical initStep - 1 0.492 -560 935 0 0.00262 0.24 0.24 WorldPhysical eIoni + 0 -0.00259 -39.2 65.4 0.00234 0 0 0 WorldPhysical initStep + 1 -0.0363 -39.2 65.4 0 0.00234 0.2 0.2 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.235 -327 546 0.00323 0 0 0 DriftChamberPhysical initStep - 1 0.473 -327 546 0.00297 0.000255 0.247 0.247 DriftChamberPhysical msc - 2 1.69 -327 547 0.00094 0.00203 1.48 1.72 DriftChamberPhysical eIoni - 3 1.56 -327 547 0 0.00094 0.284 2.01 DriftChamberPhysical eIoni + 0 -0.0011 -34.7 57.9 0.0127 0 0 0 WorldPhysical initStep + 1 -0.00593 -34.9 57.8 0.0112 0.000247 0.178 0.178 WorldPhysical eIoni + 2 -0.159 -35 56.2 0.00797 0.00322 1.96 2.14 WorldPhysical eIoni + 3 -0.161 -35.4 55.9 0.00539 0.0011 0.481 2.62 WorldPhysical eIoni + 4 0.028 -35.7 55.9 0 0.00539 0.828 3.45 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.161 -35.4 55.9 0.00148 0 0 0 WorldPhysical initStep + 1 -0.15 -35.4 55.9 0 0.00148 0.1 0.1 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 4 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.00593 -34.9 57.8 0.00127 0 0 0 WorldPhysical initStep + 1 -0.0129 -34.9 57.8 0 0.00127 0.0804 0.0804 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.223 -313 523 0.00186 0 0 0 DriftChamberPhysical initStep - 1 0.152 -313 523 0.00186 0 0.082 0.082 DriftChamberPhysical msc - 2 -0.363 -314 523 0 0.00186 0.785 0.867 DriftChamberPhysical eIoni + 0 0.000585 -26 43.4 0.00264 0 0 0 WorldPhysical initStep + 1 0.104 -26 43.4 0 0.00264 0.243 0.243 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0432 -116 194 0.00104 0 0 0 DriftChamberPhysical initStep - 1 0.0514 -116 194 0.001 3.85e-05 0.0293 0.0293 DriftChamberPhysical msc - 2 0.145 -116 193 0 0.001 0.309 0.338 DriftChamberPhysical eIoni + 0 0.00167 -11.8 19.6 0.00394 0 0 0 WorldPhysical initStep + 1 -0.0206 -11.6 19.7 0 0.00394 0.475 0.475 WorldPhysical eIoni >>> Event 1 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.219985345812241 (GeV) - 10 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.6999533730389484 (GeV) + 10 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.2999760524750308 (GeV) + 9 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.5599552979533907 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -3884,38 +5562,261 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.0098 -51.3 85.5 1e+03 0.0179 99.8 99.8 WorldPhysical hIoni - 2 -0.00917 -60 100 1e+03 0.00295 16.9 117 DriftChamberPhysical CoupledTransportation - 3 0.00716 -144 240 1e+03 0.00432 163 280 DriftChamberPhysical hIoni - 4 0.18 -540 900 1e+03 0.0187 769 1.05e+03 WorldPhysical CoupledTransportation - 5 0.193 -570 950 1e+03 0.0143 117 1.17e+03 WorldPhysical CoupledTransportation - 6 0.193 -570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom + 1 -0.00276 -20.7 34.5 1e+03 0.00623 40.2 40.2 WorldPhysical hIoni + 2 -0.0351 -60 100 1e+03 0.012 76.4 117 DriftChamberPhysical CoupledTransportation + 3 -0.252 -410 683 1e+03 0.0172 680 797 DriftChamberPhysical hIoni + 4 -0.321 -540 900 1e+03 0.00506 253 1.05e+03 WorldPhysical CoupledTransportation + 5 -0.33 -552 920 1e+03 0.00254 23.7 1.07e+03 WorldPhysical hIoni + 6 -0.333 -562 937 1e+03 0.00781 19.5 1.09e+03 WorldPhysical hIoni + 7 -0.336 -570 950 1e+03 0.00969 73.4 1.17e+03 WorldPhysical CoupledTransportation + 8 -0.336 -570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.333 -562 937 0.00217 0 0 0 WorldPhysical initStep + 1 -0.299 -562 937 0 0.00217 0.179 0.179 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.33 -552 920 0.00261 0 0 0 WorldPhysical initStep + 1 -0.422 -552 920 0 0.00261 0.238 0.238 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00716 -144 240 0.00942 0 0 0 DriftChamberPhysical initStep - 1 -2.41 -148 240 0.00725 0.00217 4.28 4.28 DriftChamberPhysical eIoni - 2 -3.92 -150 241 0.00602 0.00123 3.2 7.49 DriftChamberPhysical eIoni - 3 -4.08 -152 242 0.00443 0.00159 2.67 10.2 DriftChamberPhysical eIoni - 4 -2.15 -152 242 0.0029 0.00153 2.07 12.2 DriftChamberPhysical eIoni - 5 -1.4 -153 242 0.00121 0.00169 1.45 13.7 DriftChamberPhysical eIoni - 6 -1.21 -153 241 0 0.00121 0.407 14.1 DriftChamberPhysical eIoni + 0 -0.252 -410 683 0.00118 0 0 0 DriftChamberPhysical initStep + 1 -0.286 -410 683 0.00112 5.7e-05 0.0361 0.0361 DriftChamberPhysical msc + 2 -0.528 -410 683 0 0.00112 0.364 0.4 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0098 -51.3 85.5 0.00112 0 0 0 WorldPhysical initStep - 1 0.00547 -51.3 85.5 0 0.00112 0.0673 0.0673 WorldPhysical eIoni + 0 -0.00276 -20.7 34.5 0.225 0 0 0 WorldPhysical initStep + 1 13 -26.3 39.4 0.219 0.00346 15.1 15.1 WorldPhysical eIoni + 2 29.5 -32 35.6 0.214 0.00348 18 33.1 WorldPhysical eIoni + 3 38.8 -32.7 36.1 0.21 0.00145 9.42 42.5 WorldPhysical eIoni + 4 81.9 -26.8 26.1 0.187 0.0119 45.8 88.3 WorldPhysical eIoni + 5 85.6 -27.5 26.4 0.17 0.000749 3.74 92 WorldPhysical eIoni + 6 92.9 -37.5 26.3 0.165 0.00216 12.4 104 WorldPhysical eIoni + 7 120 -58.7 28.6 0.156 0.00773 35.4 140 WorldPhysical eIoni + 8 144 -72.8 37.6 0.147 0.00721 29.7 170 WorldPhysical eIoni + 9 180 -89.9 64.3 0.126 0.0128 50.5 220 WorldPhysical eIoni + 10 215 -111 69.4 0.107 0.016 43.9 264 WorldPhysical eIoni + 11 227 -117 86.9 0.0969 0.00867 22.9 287 WorldPhysical eIoni + 12 229 -117 90.2 0.0946 0.000702 3.68 291 WorldPhysical eIoni + 13 234 -118 99.2 0.09 0.00289 11 302 WorldPhysical eIoni + 14 235 -118 100 0.0898 0.000266 1.25 303 WorldPhysical eIoni + 15 235 -118 100 0.0898 0 0.0441 303 DriftChamberPhysical CoupledTransportation + 16 308 -143 166 0.0814 0.00617 102 405 DriftChamberPhysical eIoni + 17 396 -168 240 0.0694 0.00581 119 525 DriftChamberPhysical eIoni + 18 441 -168 280 0.0634 0.00459 60.9 586 DriftChamberPhysical eIoni + 19 516 -151 330 0.0547 0.00868 92.8 678 DriftChamberPhysical eIoni + 20 579 -146 361 0.0483 0.00639 72 750 DriftChamberPhysical eIoni + 21 631 -169 368 0.043 0.00529 57.5 808 DriftChamberPhysical eIoni + 22 652 -176 373 0.0388 0.00298 23.1 831 DriftChamberPhysical eIoni + 23 689 -186 374 0.0343 0.00453 39.1 870 DriftChamberPhysical eIoni + 24 684 -156 380 0.0296 0.00467 31.6 902 DriftChamberPhysical eIoni + 25 684 -132 382 0.0251 0.00449 24.5 926 DriftChamberPhysical eIoni + 26 681 -114 383 0.0227 0.00249 18.3 945 DriftChamberPhysical eIoni + 27 669 -104 384 0.0187 0.00395 15.5 960 DriftChamberPhysical eIoni + 28 660 -99.8 388 0.0165 0.00219 11.3 971 DriftChamberPhysical eIoni + 29 656 -92.3 392 0.0146 0.00193 9.31 981 DriftChamberPhysical eIoni + 30 655 -84.9 393 0.0132 0.00141 7.73 988 DriftChamberPhysical eIoni + 31 652 -80.7 397 0.011 0.00221 6.66 995 DriftChamberPhysical eIoni + 32 649 -77.8 400 0.00902 0.00194 5.19 1e+03 DriftChamberPhysical eIoni + 33 650 -76.1 403 0.00707 0.000918 3.49 1e+03 DriftChamberPhysical eIoni + 34 650 -73.2 404 0.00577 0.00129 3.12 1.01e+03 DriftChamberPhysical eIoni + 35 651 -70.8 404 0.0043 0.00148 2.58 1.01e+03 DriftChamberPhysical eIoni + 36 652 -69.6 402 0.00277 0.00153 2.01 1.01e+03 DriftChamberPhysical eIoni + 37 651 -69.1 401 0.000479 0.00229 1.38 1.01e+03 DriftChamberPhysical eIoni + 38 651 -69.1 401 0 0.000479 0.127 1.01e+03 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 650 -76.1 403 0.00104 0 0 0 DriftChamberPhysical initStep + 1 650 -76.1 403 0.00104 0 0.0292 0.0292 DriftChamberPhysical msc + 2 650 -76.2 403 0 0.00104 0.325 0.355 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 652 -176 373 0.00121 0 0 0 DriftChamberPhysical initStep + 1 652 -176 373 0.00119 2.57e-05 0.0385 0.0385 DriftChamberPhysical msc + 2 652 -176 373 0 0.00119 0.396 0.434 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 441 -168 280 0.00143 0 0 0 DriftChamberPhysical initStep + 1 441 -168 280 0.00137 6.53e-05 0.0511 0.0511 DriftChamberPhysical msc + 2 441 -168 280 0 0.00137 0.488 0.539 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 396 -168 240 0.00622 0 0 0 DriftChamberPhysical initStep + 1 395 -170 241 0.00561 0.000609 2.05 2.05 DriftChamberPhysical msc + 2 394 -172 242 0.00462 0.00099 2.51 4.56 DriftChamberPhysical eIoni + 3 394 -172 244 0.0029 0.00172 2.13 6.7 DriftChamberPhysical eIoni + 4 395 -174 245 0.000505 0.0024 1.44 8.14 DriftChamberPhysical eIoni + 5 395 -174 245 0 0.000505 0.134 8.28 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 308 -143 166 0.00214 0 0 0 DriftChamberPhysical initStep + 1 308 -143 166 0.002 0.000145 0.107 0.107 DriftChamberPhysical msc + 2 308 -143 166 0 0.002 0.876 0.983 DriftChamberPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 234 -118 99.2 0.00169 0 0 0 WorldPhysical initStep + 1 234 -118 99.3 0 0.00169 0.122 0.122 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 229 -117 90.2 0.00162 0 0 0 WorldPhysical initStep + 1 229 -117 90.3 0 0.00162 0.114 0.114 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 227 -117 86.9 0.0013 0 0 0 WorldPhysical initStep + 1 227 -117 86.9 0 0.0013 0.0826 0.0826 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 215 -111 69.4 0.00285 0 0 0 WorldPhysical initStep + 1 215 -111 69.3 0 0.00285 0.276 0.276 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 180 -89.9 64.3 0.00802 0 0 0 WorldPhysical initStep + 1 180 -90.2 63.8 0.00434 0.00224 0.689 0.689 WorldPhysical eIoni + 2 180 -90.4 63.8 0 0.00434 0.566 1.26 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 14 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 180 -90.2 63.8 0.00144 0 0 0 WorldPhysical initStep + 1 180 -90.2 63.8 0 0.00144 0.0961 0.0961 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 144 -72.8 37.6 0.00185 0 0 0 WorldPhysical initStep + 1 144 -72.7 37.6 0 0.00185 0.139 0.139 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 120 -58.7 28.6 0.0012 0 0 0 WorldPhysical initStep + 1 120 -58.7 28.6 0 0.0012 0.074 0.074 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 92.9 -37.5 26.3 0.00331 0 0 0 WorldPhysical initStep + 1 92.8 -37.5 26.3 0 0.00331 0.356 0.356 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 85.6 -27.5 26.4 0.0164 0 0 0 WorldPhysical initStep + 1 87.9 -27.2 26.6 0.0101 0.00621 2.7 2.7 WorldPhysical eIoni + 2 88.4 -25.9 26.4 0.0043 0.0041 1.74 4.44 WorldPhysical eIoni + 3 88.3 -25.7 26.5 0 0.0043 0.556 5 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 10 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 88.4 -25.9 26.4 0.00174 0 0 0 WorldPhysical initStep + 1 88.4 -25.9 26.4 0 0.00174 0.127 0.127 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 81.9 -26.8 26.1 0.0106 0 0 0 WorldPhysical initStep + 1 81.3 -25.9 25 0.00542 0.00519 1.87 1.87 WorldPhysical eIoni + 2 81 -25.8 25.1 0 0.00542 0.837 2.71 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 38.8 -32.7 36.1 0.00318 0 0 0 WorldPhysical initStep + 1 38.8 -32.9 36.1 0 0.00318 0.33 0.33 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 29.5 -32 35.6 0.00161 0 0 0 WorldPhysical initStep + 1 29.5 -32 35.6 0 0.00161 0.113 0.113 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 13 -26.3 39.4 0.00269 0 0 0 WorldPhysical initStep + 1 13 -26.3 39.5 0 0.00269 0.251 0.251 WorldPhysical eIoni >>> Event 2 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.1399903910409953 (GeV) + Total energy deposition in EM calorimeter crytals : 0.2199357763005814 (GeV) 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7999450916628301 (GeV) + Total energy deposition in HAD calorimeter towers : 0.6997956518654862 (GeV) ********************************************************************************************************* * G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 @@ -3923,77 +5824,132 @@ Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolu Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.000107 -6.88 11.5 1e+03 0.00134 13.4 13.4 WorldPhysical hIoni - 2 0.00593 -42.4 70.7 1e+03 0.0119 69.1 82.4 WorldPhysical hIoni - 3 0.00456 -60 100 1e+03 0.00568 34.2 117 DriftChamberPhysical CoupledTransportation - 4 0.0476 -540 900 1e+03 0.0207 933 1.05e+03 WorldPhysical CoupledTransportation - 5 0.0491 -570 950 1e+03 0.0184 117 1.17e+03 WorldPhysical CoupledTransportation - 6 0.0491 -570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom + 1 0.000151 -2.4 4 1e+03 0.000549 4.67 4.67 WorldPhysical hIoni + 2 -0.0124 -55.9 93.2 1e+03 0.0169 104 109 WorldPhysical hIoni + 3 -0.0137 -60 100 1e+03 0.000426 7.9 117 DriftChamberPhysical CoupledTransportation + 4 -0.0186 -73.1 122 1e+03 0.000352 25.4 142 DriftChamberPhysical hIoni + 5 -0.135 -387 645 1e+03 0.0166 610 752 DriftChamberPhysical hIoni + 6 -0.188 -540 900 1e+03 0.0055 298 1.05e+03 WorldPhysical CoupledTransportation + 7 -0.2 -570 950 1e+03 0.0193 111 1.16e+03 WorldPhysical hIoni + 8 -0.2 -570 950 0 1e+03 0 1.16e+03 WorldPhysical G4FSMP_parallelGeom ********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 +* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00593 -42.4 70.7 0.00168 0 0 0 WorldPhysical initStep - 1 -0.00359 -42.5 70.7 0 0.00168 0.12 0.12 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.000107 -6.88 11.5 0.00146 0 0 0 WorldPhysical initStep - 1 -0.0398 -6.88 11.5 0 0.00146 0.0983 0.0983 WorldPhysical eIoni ->>> Event 3 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.1799890000838169 (GeV) - 8 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7199560003352676 (GeV) - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.000328 -3.83 6.39 1e+03 0.000596 7.45 7.45 WorldPhysical hIoni - 2 0.00575 -24.4 40.7 1e+03 0.00526 40 47.4 WorldPhysical hIoni - 3 0.0176 -60 100 1e+03 0.00988 69.2 117 DriftChamberPhysical CoupledTransportation - 4 0.17 -414 690 1e+03 0.0138 688 805 DriftChamberPhysical hIoni - 5 0.216 -539 898 1e+03 0.00558 243 1.05e+03 DriftChamberPhysical hIoni - 6 0.217 -540 900 1e+03 0 1.89 1.05e+03 WorldPhysical CoupledTransportation - 7 0.228 -570 950 1e+03 0.0186 117 1.17e+03 WorldPhysical CoupledTransportation - 8 0.228 -570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom + 0 -0.2 -570 950 0.001 0 0 0 WorldPhysical initStep + 1 -0.201 -570 950 0.000945 5.75e-05 0.00145 0.00145 WorldPhysical msc + 2 -0.201 -570 950 0.000945 0 0.00145 0.0029 WorldPhysical msc + 3 -0.202 -570 950 0.000945 0 0.00145 0.00435 WorldPhysical msc + 4 -0.203 -570 950 0.000945 0 0.00145 0.0058 WorldPhysical msc + 5 -0.204 -570 950 0.000945 0 0.00145 0.00725 WorldPhysical msc + 6 -0.205 -570 950 0.000945 0 0.00145 0.0087 WorldPhysical msc + 7 -0.206 -570 950 0.000945 0 0.00145 0.0102 WorldPhysical msc + 8 -0.207 -570 950 0.000945 0 0.00145 0.0116 WorldPhysical msc + 9 -0.207 -570 950 0.000926 1.87e-05 0.00145 0.0131 WorldPhysical msc + 10 -0.208 -570 950 0.00083 9.63e-05 0.00145 0.0145 WorldPhysical msc + 11 -0.208 -570 950 0.000805 2.46e-05 0.00145 0.016 WorldPhysical msc + 12 -0.208 -570 950 0.000791 1.39e-05 0.00145 0.0174 WorldPhysical msc + 13 -0.208 -570 950 0.000776 1.53e-05 0.00145 0.0189 WorldPhysical msc + 14 -0.208 -570 950 0.000776 0 0.00145 0.0203 WorldPhysical msc + 15 -0.208 -570 950 0.000776 0 0.00145 0.0218 WorldPhysical msc + 16 -0.207 -570 950 0.00065 0.000126 0.00145 0.0232 WorldPhysical msc + 17 -0.207 -570 950 0.000634 1.61e-05 0.00145 0.0247 WorldPhysical msc + 18 -0.207 -570 950 0.000634 0 0.00145 0.0261 WorldPhysical msc + 19 -0.206 -570 950 0.000634 0 0.00145 0.0276 WorldPhysical msc + 20 -0.205 -570 950 0.000634 0 0.00145 0.029 WorldPhysical msc + 21 -0.203 -570 950 0.000543 9.12e-05 0.00145 0.0305 WorldPhysical msc + 22 -0.202 -570 950 0.000491 5.17e-05 0.00145 0.0319 WorldPhysical msc + 23 -0.201 -570 950 0.000491 0 0.00145 0.0334 WorldPhysical msc + 24 -0.202 -570 950 0.000466 2.55e-05 0.00145 0.0348 WorldPhysical msc + 25 -0.202 -570 950 0.000441 2.44e-05 0.00145 0.0363 WorldPhysical msc + 26 -0.202 -570 950 0.000441 0 0.00145 0.0377 WorldPhysical msc + 27 -0.203 -570 950 0.000441 0 0.00145 0.0392 WorldPhysical msc + 28 -0.204 -570 950 0.000441 0 0.00145 0.0406 WorldPhysical msc + 29 -0.204 -570 950 0.000341 0.0001 0.00145 0.0421 WorldPhysical msc + 30 -0.204 -570 950 0.000276 6.54e-05 0.00145 0.0435 WorldPhysical msc + 31 -0.204 -570 950 0.000276 0 0.00145 0.045 WorldPhysical msc + 32 -0.204 -570 950 0.000198 7.73e-05 0.0017 0.0466 WorldPhysical msc + 33 -0.205 -570 950 2.59e-05 0.000172 0.0017 0.0483 WorldPhysical msc + 34 -0.204 -570 950 0 2.59e-05 0.00471 0.0531 WorldPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.216 -539 898 0.00116 0 0 0 DriftChamberPhysical initStep - 1 0.232 -539 898 0.00116 0 0.035 0.035 DriftChamberPhysical msc - 2 0.38 -539 898 0 0.00116 0.382 0.417 DriftChamberPhysical eIoni + 0 -0.135 -387 645 0.00107 0 0 0 DriftChamberPhysical initStep + 1 -0.126 -387 645 0.000969 9.87e-05 0.0304 0.0304 DriftChamberPhysical msc + 2 -0.0676 -387 645 0 0.000969 0.295 0.326 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.17 -414 690 0.00164 0 0 0 DriftChamberPhysical initStep - 1 0.132 -414 690 0.00155 8.14e-05 0.066 0.066 DriftChamberPhysical msc - 2 -0.133 -414 690 0 0.00155 0.59 0.656 DriftChamberPhysical eIoni + 0 -0.0186 -73.1 122 0.00268 0 0 0 DriftChamberPhysical initStep + 1 0.122 -73.1 122 0.00263 4.92e-05 0.16 0.16 DriftChamberPhysical msc + 2 0.799 -73.6 121 0.000872 0.00176 1.3 1.46 DriftChamberPhysical eIoni + 3 0.754 -73.5 121 0 0.000872 0.257 1.72 DriftChamberPhysical eIoni ********************************************************************************************************* * G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000328 -3.83 6.39 0.00119 0 0 0 WorldPhysical initStep - 1 0.0282 -3.83 6.39 0 0.00119 0.0733 0.0733 WorldPhysical eIoni ->>> Event 4 + 0 0.000151 -2.4 4 0.00181 0 0 0 WorldPhysical initStep + 1 -0.044 -2.37 4.02 0 0.00181 0.134 0.134 WorldPhysical eIoni +>>> Event 3 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2799838367388781 (GeV) - 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.599965364440453 (GeV) + Total energy deposition in EM calorimeter crytals : 0.2599827982374899 (GeV) + 8 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.6799550107749737 (GeV) + +********************************************************************************************************* +* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep + 1 0 -60 100 1e+03 0.0144 117 117 DriftChamberPhysical CoupledTransportation + 2 -0.169 -540 900 1e+03 0.0229 933 1.05e+03 WorldPhysical CoupledTransportation + 3 -0.173 -552 919 1e+03 0.0033 22.6 1.07e+03 WorldPhysical hIoni + 4 -0.184 -570 950 1e+03 0.0129 94.1 1.17e+03 WorldPhysical CoupledTransportation + 5 -0.184 -570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 -0.173 -552 919 0.0306 0 0 0 WorldPhysical initStep + 1 0.302 -551 920 0.0281 0.00124 0.559 0.559 WorldPhysical eIoni + 2 4.67 -551 920 0.0232 0.00488 4.89 5.45 WorldPhysical eIoni + 3 7.57 -549 920 0.0187 0.00448 3.88 9.33 WorldPhysical eIoni + 4 9.53 -548 921 0.0134 0.00293 2.7 12 WorldPhysical eIoni + 5 10.1 -547 920 0.00863 0.00474 2.27 14.3 WorldPhysical eIoni + 6 10.9 -547 920 0.00482 0.00381 1.57 15.9 WorldPhysical eIoni + 7 11.1 -547 920 0 0.00482 0.678 16.5 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 9.53 -548 921 0.00243 0 0 0 WorldPhysical initStep + 1 9.59 -548 921 0 0.00243 0.213 0.213 WorldPhysical eIoni + +********************************************************************************************************* +* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 2 +********************************************************************************************************* + +Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName + 0 0.302 -551 920 0.00129 0 0 0 WorldPhysical initStep + 1 0.301 -551 920 0 0.00129 0.0816 0.0816 WorldPhysical eIoni +>>> Event 4 + 8 hits are stored in EM ExN05CalorimeterHitsCollection. + Total energy deposition in EM calorimeter crytals : 0.1799848603919574 (GeV) + 9 hits are stored in HAD ExN05CalorimeterHitsCollection. + Total energy deposition in HAD calorimeter towers : 0.7799343950318154 (GeV) number of event = 5 diff --git a/examples/novice/N05/exampleN05.ref b/examples/novice/N05/exampleN05.ref deleted file mode 100644 index 9482f51c51..0000000000 --- a/examples/novice/N05/exampleN05.ref +++ /dev/null @@ -1,5026 +0,0 @@ -RunManager construction starting.... - -************************************************************* - Geant4 version Name: geant4-08-01-ref-03 (27-July-2006) - Copyright : Geant4 Collaboration - Reference : NIM A 506 (2003), 250-303 - WWW : http://cern.ch/geant4 -************************************************************* - - -ExN05DetectorConstruction.... - -Declaring region... -... region declared. Setting it the ghostLogical volume... -... succes. - -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -Instantiating Visualization Manager....... -Visualization Manager instantiating... -Visualization Manager initialising... -Registering graphics systems... - -You have successfully registered the following graphics systems. -Current available graphics systems are: - ASCIITree (ATree) - DAWNFILE (DAWNFILE) - GAGTree (GAGTree) - G4HepRep (HepRepXML) - G4HepRepFile (HepRepFile) - RayTracer (RayTracer) - VRML1FILE (VRML1FILE) - VRML2FILE (VRML2FILE) - 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 - - -conv: Total cross sections has a good parametrisation from 1.5 MeV to 100 GeV for all Z; - sampling secondary e+e- according Bethe-Heitler model - tables are built for gamma - Lambda tables from 1.022 MeV to 100 GeV in 100 bins. - -compt: Total cross sections has a good parametrisation from 10 KeV to (100/Z) GeV - Sampling according Klein-Nishina model - tables are built for gamma - Lambda tables from 100 eV to 100 GeV in 90 bins. - -phot: Total cross sections from Sandia parametrisation. - Sampling according PhotoElectric model - -msc: Model variant of multiple scattering for e- - Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -eIoni: tables are built for e- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 - -eBrem: tables are built for e- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Total cross sections from a parametrisation based on the EEDL data library. - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. - -eIoni: tables are built for e+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Delta cross sections from Moller+Bhabha, good description from 1 KeV to 100 GeV. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 - -eBrem: tables are built for e+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Total cross sections from a parametrisation based on the EEDL data library. - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. - -annihil: Sampling according eplus2gg model - tables are built for e+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - -hIoni: tables are built for proton - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Scaling relation is used to proton dE/dx and range - Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 - -msc: Model variant of multiple scattering for proton - Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -msc: Model variant of multiple scattering for GenericIon - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -hIoni: tables are built for anti_proton - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Scaling relation is used to proton dE/dx and range - Bether-Bloch model for Escaled > 2 MeV, ICRU49 parametrisation for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 - -muIoni: tables are built for mu+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, - radiative corrections for E > 1 GeV - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 - -msc: Model variant of multiple scattering for mu+ - Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 - -muBrems: tables are built for mu+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Parametrised model - -muPairProd: tables are built for mu+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Parametrised model - -muIoni: tables are built for mu- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Bether-Bloch model for E > 0.2 MeV, parametrisation of Bragg peak below, - radiative corrections for E > 1 GeV - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 - -muBrems: tables are built for mu- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Parametrised model - -muPairProd: tables are built for mu- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Parametrised model - -hIoni: tables are built for pi+ - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Scaling relation is used to proton dE/dx and range - Bether-Bloch model for Escaled > 0.297504 MeV, ICRU49 parametrisation for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 - -hIoni: tables are built for pi- - dE/dx and range tables from 100 eV to 100 TeV in 120 bins. - Lambda tables from threshold to 100 TeV in 120 bins. - Scaling relation is used to proton dE/dx and range - Bether-Bloch model for Escaled > 0.297504 MeV, ICRU49 parametrisation for protons below. - Step function: finalRange(mm)= 1, dRoverRange= 0.2, integral: 1 - -msc: Model variant of multiple scattering for pi- - Lambda tables from 100 eV to 100 TeV in 120 bins. - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -### Run 0 start. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.000748 51.7 86.1 1e+03 0.019 100 100 WorldPhysical eIoni - 2 0.00046 60 100 1e+03 0.00337 16.2 117 DriftChamberPhysical CoupledTransportation - 3 0.00137 72 120 1e+03 0.000769 23.4 140 DriftChamberPhysical eIoni - 4 0.0155 209 349 1e+03 0.00886 267 406 DriftChamberPhysical msc - 5 0.0601 346 577 1e+03 0.00938 267 673 DriftChamberPhysical msc - 6 0.0812 455 758 1e+03 0.00646 211 884 DriftChamberPhysical eIoni - 7 0.0906 488 814 1e+03 0.00183 64.7 949 DriftChamberPhysical eIoni - 8 0.0968 540 900 1e+03 0.00307 100 1.05e+03 WorldPhysical CoupledTransportation - 9 0.121 592 988 1e+03 0.0234 102 1.15e+03 WorldPhysical eIoni - 10 0.119 600 1e+03 1e+03 0.00306 14.3 1.17e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 11 0.119 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.121 592 988 0.00129 0 0 0 WorldPhysical initStep - 1 0.123 592 988 0.00127 1.5e-05 0.00219 0.00219 WorldPhysical msc - 2 0.16 592 988 0 0.00127 0.0802 0.0824 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0906 488 814 0.00763 0 0 0 DriftChamberPhysical initStep - 1 3.19 487 815 0.00623 0.00141 3.37 3.37 DriftChamberPhysical eIoni - 2 4.12 486 816 0.00222 0.00214 1.54 4.91 DriftChamberPhysical eIoni - 3 4.45 486 817 0 0.00222 1.05 5.96 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 5 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.12 486 816 0.00187 0 0 0 DriftChamberPhysical initStep - 1 4.52 486 815 0 0.00187 0.794 0.794 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0812 455 758 0.00117 0 0 0 DriftChamberPhysical initStep - 1 -0.193 455 758 0 0.00117 0.388 0.388 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00137 72 120 0.000991 0 0 0 DriftChamberPhysical initStep - 1 0.0624 72.2 120 0 0.000991 0.304 0.304 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000748 51.7 86.1 0.00126 0 0 0 WorldPhysical initStep - 1 0.00143 51.7 86.1 0.00126 2.11e-06 0.00213 0.00213 WorldPhysical msc - 2 0.00971 51.6 86.1 0 0.00126 0.0788 0.081 WorldPhysical eIoni ->>> Event 0 - 12 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999084334748491 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 60 100 1e+03 0.0251 117 117 DriftChamberPhysical CoupledTransportation - 2 -0.128 197 329 1e+03 0.00661 267 383 DriftChamberPhysical msc - 3 -0.275 334 557 1e+03 0.0102 267 650 DriftChamberPhysical msc - 4 -0.428 471 786 1e+03 0.00731 267 916 DriftChamberPhysical msc - 5 -0.508 540 900 1e+03 0.00515 133 1.05e+03 WorldPhysical CoupledTransportation - 6 -0.515 547 911 1e+03 0.00209 13.4 1.06e+03 WorldPhysical eIoni - 7 -0.571 600 1e+03 1e+03 0.0249 103 1.17e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 8 -0.571 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.515 547 911 0.00505 0 0 0 WorldPhysical initStep - 1 -0.517 547 911 0.00501 4.46e-05 0.0234 0.0234 WorldPhysical msc - 2 -0.518 547 911 0 0.00501 0.721 0.744 WorldPhysical eIoni ->>> Event 1 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999136962794634 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.0013 10.6 17.6 1e+03 0.00484 20.6 20.6 WorldPhysical eIoni - 2 -0.00184 60 100 1e+03 0.0194 96.1 117 DriftChamberPhysical CoupledTransportation - 3 0.0128 197 329 1e+03 0.00955 267 383 DriftChamberPhysical msc - 4 0.031 263 439 1e+03 0.00355 128 512 DriftChamberPhysical eIoni - 5 0.0568 400 667 1e+03 0.00707 267 778 DriftChamberPhysical msc - 6 0.068 537 896 1e+03 0.00783 267 1.04e+03 DriftChamberPhysical msc - 7 0.0684 540 900 1e+03 0.000108 4.93 1.05e+03 WorldPhysical CoupledTransportation - 8 0.0803 572 953 1e+03 0.0162 62 1.11e+03 WorldPhysical eIoni - 9 0.0975 600 1e+03 1e+03 0.0128 54.6 1.17e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 10 0.0975 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0803 572 953 0.00127 0 0 0 WorldPhysical initStep - 1 0.0822 572 953 0.00127 0 0.00215 0.00215 WorldPhysical msc - 2 0.134 572 953 0 0.00127 0.0798 0.082 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.031 263 439 0.00106 0 0 0 DriftChamberPhysical initStep - 1 -0.14 263 439 0 0.00106 0.336 0.336 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0013 10.6 17.6 0.00103 0 0 0 WorldPhysical initStep - 1 6.68e-05 10.6 17.6 0.00103 0 0.0015 0.0015 WorldPhysical msc - 2 -0.00275 10.6 17.6 0 0.00103 0.0603 0.0618 WorldPhysical eIoni ->>> Event 2 - 12 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999152201311583 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.000323 3.51 5.86 1e+03 0.00149 6.83 6.83 WorldPhysical eIoni - 2 0.00254 18.9 31.5 1e+03 0.00544 29.9 36.7 WorldPhysical eIoni - 3 0.00152 60 100 1e+03 0.0173 79.9 117 DriftChamberPhysical CoupledTransportation - 4 0.00561 73 122 1e+03 0.000882 25.3 142 DriftChamberPhysical eIoni - 5 0.0437 210 350 1e+03 0.00802 267 409 DriftChamberPhysical msc - 6 0.0817 347 579 1e+03 0.00779 267 675 DriftChamberPhysical msc - 7 0.0969 383 638 1e+03 0.00164 69.1 744 DriftChamberPhysical eIoni - 8 0.137 520 867 1e+03 0.0104 267 1.01e+03 DriftChamberPhysical msc - 9 0.142 540 900 1e+03 0.00104 38.9 1.05e+03 WorldPhysical CoupledTransportation - 10 0.14 593 989 1e+03 0.0228 103 1.15e+03 WorldPhysical eIoni - 11 0.143 600 1e+03 1e+03 0.00441 13.2 1.17e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 12 0.143 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.14 593 989 0.00165 0 0 0 WorldPhysical initStep - 1 0.143 593 989 0.00165 0 0.00331 0.00331 WorldPhysical msc - 2 0.172 593 989 0 0.00165 0.117 0.121 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0969 383 638 0.00475 0 0 0 DriftChamberPhysical initStep - 1 1.12 381 639 0.00346 0.0013 2.18 2.18 DriftChamberPhysical eIoni - 2 2.28 380 638 0.00172 0.00174 1.69 3.87 DriftChamberPhysical eIoni - 3 2.77 380 637 0 0.00172 0.694 4.57 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00561 73 122 0.00136 0 0 0 DriftChamberPhysical initStep - 1 0.0382 73.5 122 0 0.00136 0.486 0.486 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00254 18.9 31.5 0.00118 0 0 0 WorldPhysical initStep - 1 0.00417 18.9 31.5 0.00118 2.81e-06 0.00187 0.00187 WorldPhysical msc - 2 0.0135 18.9 31.5 0 0.00118 0.0727 0.0745 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000323 3.51 5.86 0.00518 0 0 0 WorldPhysical initStep - 1 -0.0129 3.5 5.87 0.00508 9.45e-05 0.0242 0.0242 WorldPhysical msc - 2 -0.149 3.21 6.08 0 0.00508 0.743 0.767 WorldPhysical eIoni ->>> Event 3 - 12 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999045856192899 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 60 100 1e+03 0.0237 117 117 DriftChamberPhysical CoupledTransportation - 2 0.0202 197 329 1e+03 0.00865 267 383 DriftChamberPhysical msc - 3 0.0314 334 557 1e+03 0.00738 267 650 DriftChamberPhysical msc - 4 0.03 471 786 1e+03 0.0087 267 916 DriftChamberPhysical msc - 5 0.0304 474 789 1e+03 0.000149 4.3 921 DriftChamberPhysical eIoni - 6 0.037 540 900 1e+03 0.00362 129 1.05e+03 WorldPhysical CoupledTransportation - 7 0.0389 600 1e+03 1e+03 0.0232 117 1.17e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 8 0.0389 600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0304 474 789 0.00128 0 0 0 DriftChamberPhysical initStep - 1 0.334 474 789 0 0.00128 0.442 0.442 DriftChamberPhysical eIoni ->>> Event 4 - 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999233145507304 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -number of event = 5 -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -### Run 1 start. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.0158 26.4 88.1 1e+03 0.0123 92 92 WorldPhysical eIoni - 2 -0.0189 30 100 1e+03 0.00224 12.4 104 DriftChamberPhysical CoupledTransportation - 3 -0.0837 98.5 329 1e+03 0.00912 239 343 DriftChamberPhysical msc - 4 -0.164 167 557 1e+03 0.0086 239 582 DriftChamberPhysical msc - 5 -0.247 235 786 1e+03 0.00846 239 820 DriftChamberPhysical msc - 6 -0.287 270 900 1e+03 0.00304 119 940 WorldPhysical CoupledTransportation - 7 -0.321 300 1e+03 1e+03 0.0213 104 1.04e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 8 -0.321 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0158 26.4 88.1 0.00182 0 0 0 WorldPhysical initStep - 1 -0.0123 26.4 88.1 0.00182 0 0.00384 0.00384 WorldPhysical msc - 2 0.0449 26.4 88.1 0 0.00182 0.136 0.14 WorldPhysical eIoni ->>> Event 0 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999331361339209 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00565 13 43.3 1e+03 0.00795 45.2 45.2 WorldPhysical eIoni - 2 0.0158 30 100 1e+03 0.0111 59.2 104 DriftChamberPhysical CoupledTransportation - 3 0.0511 98.6 329 1e+03 0.00944 239 343 DriftChamberPhysical msc - 4 0.078 167 557 1e+03 0.00675 239 582 DriftChamberPhysical msc - 5 0.0819 174 579 1e+03 0.00128 22.9 605 DriftChamberPhysical eIoni - 6 0.0865 180 600 1e+03 0.00131 22.3 627 DriftChamberPhysical eIoni - 7 0.136 249 829 1e+03 0.00729 239 866 DriftChamberPhysical msc - 8 0.15 270 900 1e+03 0.00178 74.1 940 WorldPhysical CoupledTransportation - 9 0.163 287 956 1e+03 0.0147 58.9 999 WorldPhysical eIoni - 10 0.183 300 1e+03 1e+03 0.00827 45.5 1.04e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 11 0.183 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.163 287 956 0.00136 0 0 0 WorldPhysical initStep - 1 0.161 287 956 0.00136 0 0.00236 0.00236 WorldPhysical msc - 2 0.143 287 956 0 0.00136 0.0884 0.0908 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0865 180 600 0.00258 0 0 0 DriftChamberPhysical initStep - 1 1.09 180 601 0.000325 0.00226 1.27 1.27 DriftChamberPhysical eIoni - 2 1.1 180 601 0 0.000325 0.09 1.36 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0819 174 579 0.00102 0 0 0 DriftChamberPhysical initStep - 1 0.000644 174 579 0 0.00102 0.316 0.316 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00565 13 43.3 0.00137 0 0 0 WorldPhysical initStep - 1 0.00797 13 43.3 0.00137 0 0.00238 0.00238 WorldPhysical msc - 2 0.0574 13 43.3 0 0.00137 0.0891 0.0915 WorldPhysical eIoni ->>> Event 1 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999237925011433 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00132 6.51 21.7 1e+03 0.00644 22.7 22.7 WorldPhysical eIoni - 2 0.00109 7.18 23.9 1e+03 0.000594 2.32 25 WorldPhysical eIoni - 3 -0.01 30 100 1e+03 0.017 79.4 104 DriftChamberPhysical CoupledTransportation - 4 -0.0683 98.6 329 1e+03 0.00649 239 343 DriftChamberPhysical msc - 5 -0.103 167 557 1e+03 0.00736 239 582 DriftChamberPhysical msc - 6 -0.131 236 786 1e+03 0.00861 239 820 DriftChamberPhysical msc - 7 -0.142 270 900 1e+03 0.0036 119 940 WorldPhysical CoupledTransportation - 8 -0.148 280 933 1e+03 0.00719 34.9 975 WorldPhysical eIoni - 9 -0.154 300 1e+03 1e+03 0.0181 69.5 1.04e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 10 -0.154 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.148 280 933 0.00179 0 0 0 WorldPhysical initStep - 1 -0.149 280 933 0.00178 1.1e-05 0.00374 0.00374 WorldPhysical msc - 2 -0.173 280 934 0 0.00178 0.131 0.135 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00109 7.18 23.9 0.00231 0 0 0 WorldPhysical initStep - 1 0.00598 7.18 23.9 0.00229 1.34e-05 0.00577 0.00577 WorldPhysical msc - 2 0.0441 7.15 23.9 0 0.00229 0.194 0.2 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00132 6.51 21.7 0.00499 0 0 0 WorldPhysical initStep - 1 -0.013 6.5 21.7 0.00497 2.79e-05 0.023 0.023 WorldPhysical msc - 2 0.0774 6.18 21.7 0.00252 0.00244 0.583 0.606 WorldPhysical eIoni - 3 0.106 6.18 21.7 0 0.00252 0.225 0.831 WorldPhysical eIoni ->>> Event 2 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999155377061321 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 30 100 1e+03 0.0193 104 104 DriftChamberPhysical CoupledTransportation - 2 0.00742 98.6 329 1e+03 0.00789 239 343 DriftChamberPhysical msc - 3 0.0149 135 450 1e+03 0.00332 127 470 DriftChamberPhysical eIoni - 4 0.0275 170 568 1e+03 0.00334 123 593 DriftChamberPhysical eIoni - 5 0.0712 239 796 1e+03 0.00817 239 831 DriftChamberPhysical msc - 6 0.0887 270 900 1e+03 0.0031 108 940 WorldPhysical CoupledTransportation - 7 0.0912 274 912 1e+03 0.00337 12.5 952 WorldPhysical eIoni - 8 0.109 300 1e+03 1e+03 0.0185 91.9 1.04e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 9 0.109 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0912 274 912 0.00267 0 0 0 WorldPhysical initStep - 1 0.0858 274 912 0.00266 1.22e-05 0.00749 0.00749 WorldPhysical msc - 2 -0.0433 274 912 0 0.00266 0.246 0.253 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0275 170 568 0.00183 0 0 0 DriftChamberPhysical initStep - 1 -0.275 170 568 0 0.00183 0.765 0.765 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0149 135 450 0.00125 0 0 0 DriftChamberPhysical initStep - 1 0.319 135 450 0 0.00125 0.422 0.422 DriftChamberPhysical eIoni ->>> Event 3 - 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999273047368142 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00752 26.8 89.5 1e+03 0.0204 93.4 93.4 WorldPhysical eIoni - 2 0.00976 30 100 1e+03 0.0014 11 104 DriftChamberPhysical CoupledTransportation - 3 0.0118 36.2 121 1e+03 0.000712 21.6 126 DriftChamberPhysical eIoni - 4 0.0195 63 210 1e+03 0.00356 93.2 219 DriftChamberPhysical eIoni - 5 0.0241 105 349 1e+03 0.00518 145 364 DriftChamberPhysical eIoni - 6 0.0396 173 578 1e+03 0.0087 239 603 DriftChamberPhysical msc - 7 0.0404 176 586 1e+03 0.000162 8.43 611 DriftChamberPhysical eIoni - 8 0.0593 244 814 1e+03 0.00718 239 850 DriftChamberPhysical msc - 9 0.0667 270 900 1e+03 0.00288 89.6 940 WorldPhysical CoupledTransportation - 10 0.0696 294 978 1e+03 0.0195 81.8 1.02e+03 WorldPhysical eIoni - 11 0.0682 300 1e+03 1e+03 0.00699 22.6 1.04e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 12 0.0682 300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0696 294 978 0.000999 0 0 0 WorldPhysical initStep - 1 0.0683 294 978 0.000999 0 0.00144 0.00144 WorldPhysical msc - 2 0.0391 294 978 0 0.000999 0.0578 0.0592 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0404 176 586 0.00116 0 0 0 DriftChamberPhysical initStep - 1 -0.154 175 586 0 0.00116 0.383 0.383 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0241 105 349 0.00157 0 0 0 DriftChamberPhysical initStep - 1 -0.358 105 349 0 0.00157 0.598 0.598 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0195 63 210 0.00124 0 0 0 DriftChamberPhysical initStep - 1 0.387 63 210 0 0.00124 0.42 0.42 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0118 36.2 121 0.00215 0 0 0 DriftChamberPhysical initStep - 1 -0.206 35.7 121 0 0.00215 0.996 0.996 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00752 26.8 89.5 0.00111 0 0 0 WorldPhysical initStep - 1 0.00844 26.8 89.5 0.00108 2.39e-05 0.00166 0.00166 WorldPhysical msc - 2 0.0218 26.8 89.5 0 0.00108 0.0645 0.0661 WorldPhysical eIoni ->>> Event 4 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999151616230203 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -number of event = 5 -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -### Run 2 start. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00243 -13 43.3 1e+03 0.0104 45.2 45.2 WorldPhysical eIoni - 2 0.00415 -23.5 78.4 1e+03 0.00825 36.6 81.9 WorldPhysical eIoni - 3 0.00756 -30 100 1e+03 0.00557 22.5 104 DriftChamberPhysical CoupledTransportation - 4 0.0133 -98.6 329 1e+03 0.00904 239 343 DriftChamberPhysical msc - 5 0.0162 -150 498 1e+03 0.00554 177 520 DriftChamberPhysical eIoni - 6 0.00408 -178 594 1e+03 0.00265 100 620 DriftChamberPhysical eIoni - 7 -0.0256 -247 823 1e+03 0.00743 239 859 DriftChamberPhysical msc - 8 -0.0346 -270 900 1e+03 0.00387 80.6 940 WorldPhysical CoupledTransportation - 9 -0.0511 -291 968 1e+03 0.0157 71.1 1.01e+03 WorldPhysical eIoni - 10 -0.0656 -300 1e+03 1e+03 0.0104 33.3 1.04e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 11 -0.0656 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0511 -291 968 0.00269 0 0 0 WorldPhysical initStep - 1 -0.0479 -291 968 0.00267 2.11e-05 0.00758 0.00758 WorldPhysical msc - 2 -0.00658 -291 968 0 0.00267 0.248 0.255 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00408 -178 594 0.00663 0 0 0 DriftChamberPhysical initStep - 1 -0.0336 -176 595 0.00574 0.00089 2.93 2.93 DriftChamberPhysical eIoni - 2 1.46 -174 596 0.00363 0.00212 2.57 5.49 DriftChamberPhysical eIoni - 3 2.53 -173 596 0.00198 0.00165 1.76 7.25 DriftChamberPhysical eIoni - 4 3.03 -173 596 0 0.00198 0.863 8.12 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0162 -150 498 0.00108 0 0 0 DriftChamberPhysical initStep - 1 0.343 -150 498 0 0.00108 0.345 0.345 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00415 -23.5 78.4 0.0127 0 0 0 WorldPhysical initStep - 1 -0.00792 -23.7 78.4 0.0126 7.03e-05 0.122 0.122 WorldPhysical msc - 2 0.728 -25.4 78.7 0.00815 0.00444 2.15 2.27 WorldPhysical eIoni - 3 0.761 -25.4 79 0.00601 0.00114 0.345 2.62 WorldPhysical eIoni - 4 0.892 -25.5 79.4 0 0.00601 1 3.62 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.761 -25.4 79 0.000996 0 0 0 WorldPhysical initStep - 1 0.762 -25.4 79 0.000996 0 0.00143 0.00143 WorldPhysical msc - 2 0.791 -25.4 79 0 0.000996 0.0576 0.059 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00243 -13 43.3 0.00153 0 0 0 WorldPhysical initStep - 1 -0.00122 -13 43.3 0.00153 0 0.00289 0.00289 WorldPhysical msc - 2 0.00321 -13 43.3 0 0.00153 0.104 0.107 WorldPhysical eIoni ->>> Event 0 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9998965761225519 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00645 -15 49.9 1e+03 0.00947 52.1 52.1 WorldPhysical eIoni - 2 -0.000624 -30 100 1e+03 0.0104 52.3 104 DriftChamberPhysical CoupledTransportation - 3 -0.0156 -98.6 329 1e+03 0.00755 239 343 DriftChamberPhysical msc - 4 -0.0301 -167 557 1e+03 0.00817 239 582 DriftChamberPhysical msc - 5 0.00272 -236 786 1e+03 0.00766 239 820 DriftChamberPhysical msc - 6 0.0216 -270 900 1e+03 0.00326 119 940 WorldPhysical CoupledTransportation - 7 0.0219 -271 903 1e+03 0.0016 3.51 943 WorldPhysical eIoni - 8 0.0322 -300 1e+03 1e+03 0.0206 101 1.04e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 9 0.0322 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0219 -271 903 0.00605 0 0 0 WorldPhysical initStep - 1 0.00501 -271 903 0.00602 2.75e-05 0.0317 0.0317 WorldPhysical msc - 2 -0.368 -272 903 0.00207 0.00289 0.734 0.765 WorldPhysical eIoni - 3 -0.375 -272 903 0 0.00207 0.165 0.931 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.368 -272 903 0.00107 0 0 0 WorldPhysical initStep - 1 -0.368 -272 903 0.00107 0 0.00157 0.00157 WorldPhysical msc - 2 -0.378 -272 903 0 0.00107 0.0632 0.0647 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00645 -15 49.9 0.00138 0 0 0 WorldPhysical initStep - 1 -0.00879 -15 49.9 0.00122 0.000158 0.00242 0.00242 WorldPhysical msc - 2 -0.017 -15 49.9 0 0.00122 0.076 0.0784 WorldPhysical eIoni ->>> Event 1 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999239108874618 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00167 -5.76 19.2 1e+03 0.00304 20 20 WorldPhysical eIoni - 2 0.00338 -11.8 39.3 1e+03 0.00536 21 41 WorldPhysical eIoni - 3 0.00263 -30 100 1e+03 0.0135 63.4 104 DriftChamberPhysical CoupledTransportation - 4 -0.0188 -98.6 329 1e+03 0.0085 239 343 DriftChamberPhysical msc - 5 -0.0303 -112 374 1e+03 0.00125 47.8 391 DriftChamberPhysical eIoni - 6 -0.0657 -181 603 1e+03 0.00741 239 630 DriftChamberPhysical msc - 7 -0.09 -205 685 1e+03 0.0022 85.2 715 DriftChamberPhysical eIoni - 8 -0.157 -270 900 1e+03 0.00786 225 940 WorldPhysical CoupledTransportation - 9 -0.176 -287 955 1e+03 0.0108 57.7 997 WorldPhysical eIoni - 10 -0.203 -300 1e+03 1e+03 0.0078 46.7 1.04e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 11 -0.203 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.176 -287 955 0.00672 0 0 0 WorldPhysical initStep - 1 -0.142 -287 955 0.00661 0.000103 0.0381 0.0381 WorldPhysical msc - 2 0.364 -286 955 0.00204 0.00318 0.637 0.675 WorldPhysical eIoni - 3 0.43 -286 955 0 0.00204 0.161 0.836 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.364 -286 955 0.0014 0 0 0 WorldPhysical initStep - 1 0.366 -286 955 0.00136 3.27e-05 0.00246 0.00246 WorldPhysical msc - 2 0.424 -286 955 0 0.00136 0.0888 0.0912 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.09 -205 685 0.0053 0 0 0 DriftChamberPhysical initStep - 1 1.89 -205 686 0.00399 0.00131 2.39 2.39 DriftChamberPhysical eIoni - 2 3.52 -205 685 0.00272 0.00126 1.89 4.28 DriftChamberPhysical eIoni - 3 4.72 -205 685 0.000708 0.00202 1.36 5.64 DriftChamberPhysical eIoni - 4 4.82 -205 685 0 0.000708 0.197 5.83 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0303 -112 374 0.00107 0 0 0 DriftChamberPhysical initStep - 1 -0.226 -112 374 0 0.00107 0.34 0.34 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00338 -11.8 39.3 0.00111 0 0 0 WorldPhysical initStep - 1 0.00469 -11.8 39.3 0.00111 0 0.00167 0.00167 WorldPhysical msc - 2 0.0353 -11.8 39.3 0 0.00111 0.0668 0.0685 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00167 -5.76 19.2 0.00286 0 0 0 WorldPhysical initStep - 1 -0.00276 -5.75 19.2 0.00284 2.07e-05 0.00838 0.00838 WorldPhysical msc - 2 -0.0858 -5.65 19.2 0 0.00284 0.275 0.283 WorldPhysical eIoni ->>> Event 2 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999151611047639 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.000561 -3.03 10.1 1e+03 0.0036 10.6 10.6 WorldPhysical eIoni - 2 -0.00562 -19.8 65.9 1e+03 0.0111 58.2 68.8 WorldPhysical eIoni - 3 -0.00897 -30 100 1e+03 0.00528 35.6 104 DriftChamberPhysical CoupledTransportation - 4 -0.0718 -98.5 329 1e+03 0.00864 239 343 DriftChamberPhysical msc - 5 -0.124 -167 557 1e+03 0.00735 239 582 DriftChamberPhysical msc - 6 -0.188 -236 786 1e+03 0.00666 239 820 DriftChamberPhysical msc - 7 -0.209 -270 900 1e+03 0.0033 119 940 WorldPhysical CoupledTransportation - 8 -0.211 -278 927 1e+03 0.00508 28.2 968 WorldPhysical eIoni - 9 -0.218 -300 1e+03 1e+03 0.0168 76.2 1.04e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 10 -0.218 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.211 -278 927 0.00157 0 0 0 WorldPhysical initStep - 1 -0.209 -278 927 0.00146 0.000106 0.00305 0.00305 WorldPhysical msc - 2 -0.167 -278 927 0 0.00146 0.098 0.101 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00562 -19.8 65.9 0.00199 0 0 0 WorldPhysical initStep - 1 -0.00335 -19.8 65.9 0.00196 3.79e-05 0.00461 0.00461 WorldPhysical msc - 2 0.0131 -19.8 65.9 0 0.00196 0.151 0.155 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000561 -3.03 10.1 0.0216 0 0 0 WorldPhysical initStep - 1 0.293 -3.13 10.1 0.0212 0.000397 0.311 0.311 WorldPhysical msc - 2 0.597 -3.18 10.2 0.0209 0.000325 0.311 0.623 WorldPhysical msc - 3 3.56 -4.35 8.97 0.0161 0.00478 3.46 4.08 WorldPhysical eIoni - 4 3.73 -4.37 8.72 0.0158 0.00033 0.311 4.39 WorldPhysical msc - 5 3.93 -3.5 8.25 0.0111 0.00319 1.85 6.24 WorldPhysical eIoni - 6 4.74 -3.35 7.87 0.00757 0.00244 1.25 7.49 WorldPhysical eIoni - 7 4.44 -2.7 6.74 0.00245 0.00513 1.38 8.87 WorldPhysical eIoni - 8 4.41 -2.65 6.75 0 0.00245 0.215 9.09 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.74 -3.35 7.87 0.00111 0 0 0 WorldPhysical initStep - 1 4.74 -3.35 7.87 0.00111 0 0.00167 0.00167 WorldPhysical msc - 2 4.77 -3.33 7.9 0 0.00111 0.0667 0.0684 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 2 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.93 -3.5 8.25 0.0015 0 0 0 WorldPhysical initStep - 1 3.93 -3.5 8.25 0.000994 0.000503 0.00278 0.00278 WorldPhysical msc - 2 3.94 -3.49 8.26 0 0.000994 0.0574 0.0602 WorldPhysical eIoni ->>> Event 3 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999069673857882 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00771 -18.9 63 1e+03 0.0156 65.7 65.7 WorldPhysical eIoni - 2 -0.0107 -26 86.6 1e+03 0.00463 24.7 90.4 WorldPhysical eIoni - 3 -0.0118 -29.4 98.1 1e+03 0.00373 12 102 WorldPhysical eIoni - 4 -0.0122 -30 100 1e+03 0.00167 2.01 104 DriftChamberPhysical CoupledTransportation - 5 -0.066 -98.6 329 1e+03 0.00833 239 343 DriftChamberPhysical msc - 6 -0.101 -167 557 1e+03 0.00704 239 582 DriftChamberPhysical msc - 7 -0.144 -236 786 1e+03 0.00941 239 820 DriftChamberPhysical msc - 8 -0.162 -270 900 1e+03 0.0041 119 940 WorldPhysical CoupledTransportation - 9 -0.164 -283 943 1e+03 0.00701 44.4 984 WorldPhysical eIoni - 10 -0.174 -300 1e+03 1e+03 0.0138 60 1.04e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 11 -0.174 -300 1e+03 0 1e+03 0 1.04e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.164 -283 943 0.00429 0 0 0 WorldPhysical initStep - 1 -0.168 -283 943 0.00425 4.72e-05 0.0171 0.0171 WorldPhysical msc - 2 -0.191 -283 943 0 0.00425 0.545 0.562 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0118 -29.4 98.1 0.00214 0 0 0 WorldPhysical initStep - 1 -0.00722 -29.4 98.1 0.00214 0 0.0051 0.0051 WorldPhysical msc - 2 0.0179 -29.4 98.1 0 0.00214 0.175 0.18 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0107 -26 86.6 0.00115 0 0 0 WorldPhysical initStep - 1 -0.0124 -26 86.6 0.00115 0 0.00177 0.00177 WorldPhysical msc - 2 -0.0235 -26 86.6 0 0.00115 0.0699 0.0717 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00771 -18.9 63 0.00312 0 0 0 WorldPhysical initStep - 1 -0.017 -18.9 63 0.00307 4.84e-05 0.01 0.01 WorldPhysical msc - 2 -0.184 -18.8 63 0 0.00307 0.312 0.322 WorldPhysical eIoni ->>> Event 4 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999139123781654 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -number of event = 5 -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -### Run 3 start. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.0124 -48.6 81 1e+03 0.019 94.5 94.5 WorldPhysical eIoni - 2 -0.00917 -60 100 1e+03 0.00416 22.1 117 DriftChamberPhysical CoupledTransportation - 3 0.00783 -126 210 1e+03 0.00451 128 244 DriftChamberPhysical eIoni - 4 0.0405 -226 376 1e+03 0.00545 195 439 DriftChamberPhysical eIoni - 5 0.114 -363 605 1e+03 0.00862 267 706 DriftChamberPhysical msc - 6 0.216 -500 834 1e+03 0.00922 267 972 DriftChamberPhysical msc - 7 0.247 -540 900 1e+03 0.00351 77.4 1.05e+03 WorldPhysical CoupledTransportation - 8 0.289 -576 960 1e+03 0.0162 70.1 1.12e+03 WorldPhysical eIoni - 9 0.32 -600 1e+03 1e+03 0.0106 46.5 1.17e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 10 0.32 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.289 -576 960 0.00434 0 0 0 WorldPhysical initStep - 1 0.288 -576 960 0.0043 3.41e-05 0.0174 0.0174 WorldPhysical msc - 2 0.288 -576 960 0 0.0043 0.558 0.576 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0405 -226 376 0.00121 0 0 0 DriftChamberPhysical initStep - 1 0.303 -226 377 0 0.00121 0.407 0.407 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00783 -126 210 0.0019 0 0 0 DriftChamberPhysical initStep - 1 0.235 -126 209 0 0.0019 0.814 0.814 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0124 -48.6 81 0.00243 0 0 0 WorldPhysical initStep - 1 -0.0187 -48.6 81 0.00242 7.01e-06 0.00641 0.00641 WorldPhysical msc - 2 -0.123 -48.6 81 0 0.00242 0.212 0.218 WorldPhysical eIoni ->>> Event 0 - 11 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999908790006697 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -60 100 1e+03 0.0214 117 117 DriftChamberPhysical CoupledTransportation - 2 0.0725 -197 329 1e+03 0.00746 267 383 DriftChamberPhysical msc - 3 0.0972 -265 441 1e+03 0.00423 131 515 DriftChamberPhysical eIoni - 4 0.135 -402 670 1e+03 0.00895 267 781 DriftChamberPhysical msc - 5 0.177 -539 898 1e+03 0.00834 267 1.05e+03 DriftChamberPhysical msc - 6 0.178 -540 900 1e+03 4.47e-05 1.83 1.05e+03 WorldPhysical CoupledTransportation - 7 0.184 -559 931 1e+03 0.00592 35.8 1.09e+03 WorldPhysical eIoni - 8 0.29 -601 1e+03 1e+03 0.0163 80.9 1.17e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 9 0.29 -601 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.184 -559 931 0.0108 0 0 0 WorldPhysical initStep - 1 0.257 -559 931 0.0108 3.87e-05 0.089 0.089 WorldPhysical msc - 2 1.19 -559 931 0.00646 0.0043 1.9 1.99 WorldPhysical eIoni - 3 1.84 -559 932 0.000356 0.00611 1.13 3.11 WorldPhysical eIoni - 4 1.85 -559 932 0 0.000356 0.0191 3.13 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0972 -265 441 0.00436 0 0 0 DriftChamberPhysical initStep - 1 0.326 -267 441 0.00279 0.00157 2.04 2.04 DriftChamberPhysical eIoni - 2 0.151 -268 441 0.000874 0.00192 1.39 3.43 DriftChamberPhysical eIoni - 3 -0.0691 -268 441 0 0.000874 0.257 3.69 DriftChamberPhysical eIoni ->>> Event 1 - 13 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999122393879938 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 1.52e-05 -0.456 0.76 1e+03 0.000151 0.886 0.886 WorldPhysical eIoni - 2 -0.001 -11.9 19.9 1e+03 0.00495 22.3 23.2 WorldPhysical eIoni - 3 -0.000106 -26.4 44 1e+03 0.00518 28.1 51.3 WorldPhysical eIoni - 4 -0.00533 -60 100 1e+03 0.0141 65.4 117 DriftChamberPhysical CoupledTransportation - 5 -0.0538 -197 329 1e+03 0.00969 267 383 DriftChamberPhysical msc - 6 -0.11 -334 557 1e+03 0.00901 267 650 DriftChamberPhysical msc - 7 -0.152 -471 786 1e+03 0.00922 267 916 DriftChamberPhysical msc - 8 -0.17 -540 900 1e+03 0.00475 133 1.05e+03 WorldPhysical CoupledTransportation - 9 -0.174 -583 971 1e+03 0.0146 83 1.13e+03 WorldPhysical eIoni - 10 -0.174 -591 984 1e+03 0.00294 15.1 1.15e+03 WorldPhysical eIoni - 11 -0.177 -600 1e+03 1e+03 0.00295 18.5 1.17e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 12 -0.177 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.174 -591 984 0.00169 0 0 0 WorldPhysical initStep - 1 -0.173 -591 984 0.00169 0 0.00342 0.00342 WorldPhysical msc - 2 -0.132 -591 984 0 0.00169 0.121 0.125 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.174 -583 971 0.00662 0 0 0 WorldPhysical initStep - 1 -0.211 -583 971 0.00656 6.48e-05 0.0373 0.0373 WorldPhysical msc - 2 -0.354 -582 971 8.42e-05 0.00647 1.15 1.19 WorldPhysical eIoni - 3 -0.353 -582 971 0 8.42e-05 0.00849 1.2 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.000106 -26.4 44 0.0018 0 0 0 WorldPhysical initStep - 1 0.00266 -26.4 44 0.0018 0 0.00376 0.00376 WorldPhysical msc - 2 0.0104 -26.4 44 0 0.0018 0.133 0.137 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.001 -11.9 19.9 0.00109 0 0 0 WorldPhysical initStep - 1 -0.00149 -11.9 19.9 0.00109 0 0.00162 0.00162 WorldPhysical msc - 2 -0.00261 -11.9 19.9 0 0.00109 0.0649 0.0665 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.52e-05 -0.456 0.76 0.00219 0 0 0 WorldPhysical initStep - 1 0.00453 -0.454 0.762 0.00216 3.25e-05 0.00528 0.00528 WorldPhysical msc - 2 0.0645 -0.448 0.804 0 0.00216 0.176 0.182 WorldPhysical eIoni ->>> Event 2 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.999909087031952 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.000606 -5.96 9.93 1e+03 0.00171 11.6 11.6 WorldPhysical eIoni - 2 0.00301 -60 100 1e+03 0.0186 105 117 DriftChamberPhysical CoupledTransportation - 3 -0.0138 -160 266 1e+03 0.00703 194 311 DriftChamberPhysical eIoni - 4 -0.0478 -297 495 1e+03 0.00925 267 577 DriftChamberPhysical msc - 5 -0.0451 -434 723 1e+03 0.00932 267 844 DriftChamberPhysical msc - 6 -0.0575 -540 900 1e+03 0.00805 206 1.05e+03 WorldPhysical CoupledTransportation - 7 -0.0656 -588 980 1e+03 0.0201 93.4 1.14e+03 WorldPhysical eIoni - 8 -0.0599 -600 1e+03 1e+03 0.00534 23.2 1.17e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 9 -0.0599 -600 1e+03 0 1e+03 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0656 -588 980 0.00251 0 0 0 WorldPhysical initStep - 1 -0.0719 -588 980 0.00238 0.000138 0.0069 0.0069 WorldPhysical msc - 2 -0.178 -588 980 0 0.00238 0.205 0.212 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0138 -160 266 0.00187 0 0 0 DriftChamberPhysical initStep - 1 0.298 -159 267 0 0.00187 0.79 0.79 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.000606 -5.96 9.93 0.00115 0 0 0 WorldPhysical initStep - 1 -0.0001 -5.95 9.93 0.00115 0 0.00176 0.00176 WorldPhysical msc - 2 0.000553 -5.95 9.93 0 0.00115 0.0697 0.0715 WorldPhysical eIoni ->>> Event 3 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9999150731060505 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 1.16e-05 -0.543 0.904 1e+03 0.000589 1.05 1.05 WorldPhysical eIoni - 2 -0.00738 -51.3 85.5 1e+03 0.0202 98.7 99.8 WorldPhysical eIoni - 3 -0.00895 -60 100 1e+03 0.00455 16.9 117 DriftChamberPhysical CoupledTransportation - 4 -0.0529 -197 329 1e+03 0.00955 267 383 DriftChamberPhysical msc - 5 -0.0549 -203 338 1e+03 0.000443 10.8 394 DriftChamberPhysical eIoni - 6 -0.108 -340 566 1e+03 0.00813 267 661 DriftChamberPhysical msc - 7 -0.179 -477 795 1e+03 0.00732 267 927 DriftChamberPhysical msc - 8 -0.202 -540 900 1e+03 0.00451 122 1.05e+03 WorldPhysical CoupledTransportation - 9 -0.203 -553 922 863 0.00757 25.9 1.08e+03 WorldPhysical eBrem - 10 -0.204 -559 931 863 0.00284 10 1.09e+03 WorldPhysical eIoni - 11 -0.211 -574 956 863 0.00561 29.2 1.11e+03 WorldPhysical eIoni - 12 -0.217 -600 1e+03 863 0.0107 51.5 1.17e+03 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 13 -0.217 -600 1e+03 0 863 0 1.17e+03 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.211 -574 956 0.00367 0 0 0 WorldPhysical initStep - 1 -0.223 -574 956 0.00274 0.000932 0.013 0.013 WorldPhysical msc - 2 -0.409 -574 956 0 0.00274 0.259 0.272 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.204 -559 931 0.0271 0 0 0 WorldPhysical initStep - 1 0.114 -559 931 0.0262 0.00088 0.468 0.468 WorldPhysical msc - 2 1.49 -561 932 0.0186 0.0047 3.24 3.71 WorldPhysical eIoni - 3 2.37 -563 933 0.0127 0.00587 3.06 6.76 WorldPhysical eIoni - 4 1.41 -565 932 0.00792 0.00477 2.16 8.93 WorldPhysical eIoni - 5 1.87 -565 933 0.00056 0.00736 1.44 10.4 WorldPhysical eIoni - 6 1.87 -565 933 0 0.00056 0.0292 10.4 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.49 -561 932 0.00298 0 0 0 WorldPhysical initStep - 1 1.49 -561 932 0.00293 5.15e-05 0.00905 0.00905 WorldPhysical msc - 2 1.41 -561 932 0 0.00293 0.289 0.298 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.203 -553 922 137 0 0 0 WorldPhysical initStep - 1 -0.176 -600 1e+03 137 0 90.8 90.8 Crystal CoupledTransportation -ExN05EMShowerModel::DoIt - 2 -0.176 -600 1e+03 0 137 0 90.8 Crystal G4FSMP_massGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0549 -203 338 0.00829 0 0 0 DriftChamberPhysical initStep - 1 1.74 -205 336 0.00649 0.00181 3.69 3.69 DriftChamberPhysical eIoni - 2 2.56 -207 334 0.00336 0.00313 2.86 6.55 DriftChamberPhysical eIoni - 3 2.03 -208 333 0.0017 0.00166 1.65 8.2 DriftChamberPhysical eIoni - 4 1.66 -209 333 0 0.0017 0.681 8.88 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00738 -51.3 85.5 0.00977 0 0 0 WorldPhysical initStep - 1 -0.0717 -51.4 85.5 0.00956 0.000206 0.0754 0.0754 WorldPhysical msc - 2 -0.387 -51.7 84.9 0.00551 0.00201 0.964 1.04 WorldPhysical eIoni - 3 -0.578 -51.8 84.5 0.0021 0.00195 0.522 1.56 WorldPhysical eIoni - 4 -0.59 -51.8 84.5 0 0.0021 0.169 1.73 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.578 -51.8 84.5 0.00145 0 0 0 WorldPhysical initStep - 1 -0.577 -51.8 84.5 0.00145 0 0.00264 0.00264 WorldPhysical msc - 2 -0.571 -51.8 84.5 0 0.00145 0.0975 0.1 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.387 -51.7 84.9 0.00205 0 0 0 WorldPhysical initStep - 1 -0.387 -51.7 84.9 0.00205 0 0.00479 0.00479 WorldPhysical msc - 2 -0.381 -51.7 84.8 0 0.00205 0.162 0.167 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.16e-05 -0.543 0.904 0.0478 0 0 0 WorldPhysical initStep - 1 -0.212 0.236 1.89 0.0472 0.0006 1.3 1.3 WorldPhysical msc - 2 -0.475 0.933 2.94 0.0465 0.000679 1.3 2.59 WorldPhysical msc - 3 -0.925 1.35 4.08 0.046 0.000502 1.3 3.89 WorldPhysical msc - 4 -1.37 1.81 5.21 0.0454 0.000592 1.3 5.18 WorldPhysical msc - 5 -1.79 1.87 6.39 0.0447 0.000681 1.3 6.48 WorldPhysical msc - 6 -1.87 2.05 7.65 0.0428 0.00187 1.3 7.78 WorldPhysical msc - 7 -2.02 2.37 8.89 0.0421 0.00071 1.3 9.07 WorldPhysical msc - 8 -1.92 2.63 10.2 0.0413 0.000823 1.3 10.4 WorldPhysical msc - 9 -1.89 3.32 11.2 0.0394 0.00188 1.3 11.7 WorldPhysical msc - 10 -1.83 3.83 12.4 0.0385 0.000912 1.3 13 WorldPhysical msc - 11 -2.24 4.74 13.2 0.0376 0.000863 1.3 14.3 WorldPhysical msc - 12 -2.37 5.39 14.3 0.0372 0.000415 1.3 15.6 WorldPhysical msc - 13 -2.38 5.46 14.4 0.0321 3.56e-05 0.152 15.7 WorldPhysical eIoni - 14 -1.96 5.71 15.6 0.0309 0.00121 1.3 17 WorldPhysical msc - 15 -0.84 6.01 16.2 0.03 0.00094 1.3 18.3 WorldPhysical msc - 16 -0.247 6.44 17.1 0.0283 0.00167 1.3 19.6 WorldPhysical msc - 17 0.439 6.96 17.6 0.0264 0.000677 0.993 20.6 WorldPhysical eIoni - 18 3.51 5.55 20.6 0.0202 0.00624 4.52 25.1 WorldPhysical eIoni - 19 3.54 5.52 20.5 0.0185 0 0.0468 25.2 WorldPhysical eIoni - 20 5.71 3.73 21.5 0.0128 0.0057 3.05 28.2 WorldPhysical eIoni - 21 3.8 3.4 22.4 0.00889 0.00395 2.19 30.4 WorldPhysical eIoni - 22 3.34 2.56 21.5 0.0037 0.00519 1.61 32 WorldPhysical eIoni - 23 3.43 2.48 21.5 0 0.0037 0.429 32.4 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 2 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.54 5.52 20.5 0.00165 0 0 0 WorldPhysical initStep - 1 3.53 5.52 20.5 0.0016 5.3e-05 0.00331 0.00331 WorldPhysical msc - 2 3.51 5.51 20.5 0 0.0016 0.111 0.115 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 2 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.439 6.96 17.6 0.00118 0 0 0 WorldPhysical initStep - 1 0.44 6.96 17.6 0.00112 6.08e-05 0.00185 0.00185 WorldPhysical msc - 2 0.443 6.97 17.6 0 0.00112 0.0674 0.0692 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 2 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.38 5.46 14.4 0.00509 0 0 0 WorldPhysical initStep - 1 -2.4 5.47 14.4 0.00507 1.72e-05 0.0236 0.0236 WorldPhysical msc - 2 -2.79 5.51 14.6 0 0.00507 0.738 0.762 WorldPhysical eIoni ->>> Event 4 - 12 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.9998213647422369 (GeV) - 0 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -number of event = 5 -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -### Run 4 start. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00202 17.3 28.9 1e+03 0.00577 33.7 33.7 WorldPhysical hIoni - 2 -0.0143 52.4 87.3 1e+03 0.00968 68.1 102 WorldPhysical hIoni - 3 -0.0191 57.7 96.2 1e+03 0.00127 10.3 112 WorldPhysical hIoni - 4 -0.0217 60 100 1e+03 0.000492 4.47 117 DriftChamberPhysical CoupledTransportation - 5 -0.0996 122 203 1e+03 0.00292 120 237 DriftChamberPhysical hIoni - 6 -0.261 259 432 1e+03 0.00554 267 504 DriftChamberPhysical msc - 7 -0.418 396 660 1e+03 0.00608 267 770 DriftChamberPhysical msc - 8 -0.563 533 889 1e+03 0.00617 267 1.04e+03 DriftChamberPhysical msc - 9 -0.57 540 900 1e+03 0.000246 12.7 1.05e+03 WorldPhysical CoupledTransportation - 10 -0.58 552 920 1e+03 0.00418 23 1.07e+03 WorldPhysical hIoni - 11 -0.616 587 979 1e+03 0.0102 69.4 1.14e+03 WorldPhysical hIoni - 12 -0.622 597 995 1e+03 0.00388 18.3 1.16e+03 WorldPhysical hIoni - 13 -0.624 600 1e+03 1e+03 0.000587 5.86 1.17e+03 Crystal CoupledTransportation - 14 -0.624 600 1e+03 1e+03 0.0858 0.216 1.17e+03 Crystal msc - 15 -0.623 600 1e+03 1e+03 0.0912 0.216 1.17e+03 Crystal msc - 16 -0.624 600 1e+03 1e+03 0.113 0.216 1.17e+03 Crystal msc - 17 -0.624 600 1e+03 1e+03 0.0414 0.11 1.17e+03 Crystal CoupledTransportation - 18 -0.636 601 1e+03 997 1.6 2.59 1.17e+03 Crystal hIoni - 19 -0.477 607 1.01e+03 987 6.56 12.3 1.18e+03 Crystal hIoni - 20 -0.477 610 1.02e+03 980 3.29 5.98 1.19e+03 Crystal hIoni - 21 -0.112 620 1.03e+03 970 9.52 18.8 1.21e+03 Crystal hIoni - 22 -5.88e-16 622 1.04e+03 967 2.36 3.92 1.21e+03 Crystal CoupledTransportation - 23 0.759 630 1.05e+03 958 9.11 16.4 1.23e+03 Crystal msc - 24 1.3 638 1.07e+03 950 7.89 16.4 1.24e+03 Crystal msc - 25 1.94 647 1.08e+03 941 9.25 16.4 1.26e+03 Crystal msc - 26 2.07 650 1.09e+03 938 2.93 6.37 1.27e+03 Crystal CoupledTransportation - 27 3.05 665 1.11e+03 923 15.5 29.2 1.3e+03 Crystal msc - 28 3.27 670 1.12e+03 915 6.33 11.5 1.31e+03 Crystal hIoni - 29 3.89 681 1.14e+03 904 10.5 20.8 1.33e+03 Crystal hIoni - 30 3.9 681 1.14e+03 902 0.643 1.01 1.33e+03 Crystal hIoni - 31 3.94 683 1.14e+03 898 2.05 4.3 1.33e+03 Crystal hIoni - 32 4.49 698 1.17e+03 883 15.6 29.2 1.36e+03 Crystal msc - 33 4.48 698 1.17e+03 880 0.788 1.4 1.36e+03 Crystal hIoni - 34 4.43 700 1.17e+03 879 1.65 3.36 1.37e+03 Crystal CoupledTransportation - 35 4.02 710 1.19e+03 869 9.18 20.3 1.39e+03 Crystal hIoni - 36 3.94 714 1.2e+03 846 4.19 7.62 1.39e+03 Crystal hIoni - 37 3.76 719 1.21e+03 840 5.18 10.3 1.4e+03 Crystal hIoni - 38 3.75 720 1.21e+03 819 0.391 0.606 1.41e+03 Crystal hIoni - 39 3.3 733 1.23e+03 805 12.5 24.5 1.43e+03 Crystal hIoni - 40 2.9 747 1.25e+03 791 13.9 28.7 1.46e+03 Crystal msc - 41 2.67 750 1.26e+03 789 2.34 5.46 1.46e+03 Crystal CoupledTransportation - 42 2.15 756 1.27e+03 781 5.91 11.1 1.48e+03 Crystal hIoni - 43 1.61 764 1.28e+03 773 8.37 17.4 1.49e+03 Crystal msc - 44 1.6 765 1.28e+03 772 0.103 0.262 1.49e+03 Crystal hIoni - 45 1.35 773 1.3e+03 764 8.49 17.4 1.51e+03 Crystal msc - 46 1.01 782 1.31e+03 753 10.4 17.4 1.53e+03 Crystal msc - 47 0.607 791 1.33e+03 744 9.28 17.4 1.55e+03 Crystal msc - 48 0.0269 799 1.34e+03 735 9.41 17.4 1.56e+03 Crystal msc - 49 -4.37e-16 800 1.34e+03 734 0.657 0.934 1.56e+03 Crystal CoupledTransportation - 50 -0.0077 800 1.34e+03 734 0.105 0.271 1.56e+03 Crystal msc - 51 -0.0154 800 1.34e+03 734 0.0911 0.271 1.56e+03 Crystal msc - 52 -0.0234 800 1.34e+03 734 0.112 0.271 1.56e+03 Crystal msc - 53 -0.0276 800 1.34e+03 734 0.0523 0.134 1.56e+03 Crystal CoupledTransportation - 54 -0.794 808 1.36e+03 725 8.76 18.1 1.58e+03 Crystal msc - 55 -1.57 817 1.38e+03 716 8.87 18.1 1.6e+03 Crystal msc - 56 -2.06 820 1.38e+03 711 3.36 7.35 1.61e+03 Crystal hIoni - 57 -3.61 829 1.4e+03 702 9.42 18.1 1.63e+03 Crystal msc - 58 -3.83 829 1.4e+03 699 0.774 1.68 1.63e+03 Crystal hIoni - 59 -3.83 830 1.4e+03 699 0.00723 0.0305 1.63e+03 WorldPhysical CoupledTransportation - 60 -18 884 1.5e+03 699 0.0171 115 1.74e+03 HadCaloPhysical CoupledTransportation - 61 -20 892 1.51e+03 699 0.00331 16.4 1.76e+03 HadCaloPhysical msc - 62 -22.1 900 1.53e+03 699 0.00326 16.4 1.78e+03 HadCaloPhysical msc - 63 -24.1 907 1.54e+03 699 0.00309 16.4 1.79e+03 HadCaloPhysical msc - 64 -25.1 911 1.55e+03 699 0.00146 8.2 1.8e+03 Tower CoupledTransportation - 65 -27.7 922 1.57e+03 675 24.7 23.3 1.82e+03 Tower msc - 66 -28.3 935 1.59e+03 648 27.1 23.3 1.85e+03 Tower msc - 67 -30.9 945 1.61e+03 624 23.8 23.3 1.87e+03 Tower msc - 68 -32.3 950 1.62e+03 606 17.7 12.6 1.88e+03 Tower CoupledTransportation - 69 -33.6 954 1.63e+03 582 11.4 10 1.89e+03 Tower hIoni - 70 -39.7 971 1.67e+03 526 41.4 38.9 1.93e+03 Tower hIoni - 71 -48 984 1.7e+03 485 40.4 39.9 1.97e+03 Tower msc - 72 -50 988 1.71e+03 463 21.7 10.9 1.98e+03 Tower CoupledTransportation - 73 -61.7 1.01e+03 1.76e+03 410 53.1 50.1 2.03e+03 Tower msc - 74 -72.9 1.02e+03 1.8e+03 356 54.8 50.1 2.08e+03 Tower msc - 75 -77.1 1.04e+03 1.85e+03 304 51.5 50.1 2.13e+03 Tower msc - 76 -81.5 1.05e+03 1.89e+03 251 52.8 44.9 2.18e+03 Tower hIoni - 77 -81.5 1.05e+03 1.89e+03 251 0.265 0.17 2.18e+03 Tower CoupledTransportation - 78 -88.1 1.06e+03 1.93e+03 213 38.3 35.8 2.21e+03 Tower hIoni - 79 -94.7 1.07e+03 1.95e+03 177 35.2 29.3 2.24e+03 Tower hIoni - 80 -98.8 1.07e+03 1.98e+03 147 30.6 23.5 2.27e+03 Tower hIoni - 81 -102 1.08e+03 2e+03 124 22.8 18.5 2.28e+03 Tower hIoni - 82 -105 1.08e+03 2.01e+03 105 18.7 14.9 2.3e+03 Tower hIoni - 83 -108 1.08e+03 2.02e+03 88.7 16.7 12.2 2.31e+03 Tower hIoni - 84 -110 1.08e+03 2.03e+03 72.8 15.9 9.79 2.32e+03 Tower hIoni - 85 -111 1.08e+03 2.04e+03 60.9 11.9 7.65 2.33e+03 Tower hIoni - 86 -111 1.09e+03 2.04e+03 49.7 11.2 6.16 2.34e+03 Tower hIoni - 87 -111 1.09e+03 2.05e+03 45 4.66 2.69 2.34e+03 Tower hIoni - 88 -111 1.09e+03 2.05e+03 37.2 7.87 4.39 2.34e+03 Tower hIoni - 89 -111 1.09e+03 2.05e+03 28.1 9.08 3.59 2.35e+03 Tower hIoni - 90 -111 1.09e+03 2.06e+03 19.3 8.78 2.77 2.35e+03 Tower hIoni - 91 -111 1.09e+03 2.06e+03 11.3 8.03 2.05 2.35e+03 Tower hIoni - 92 -111 1.09e+03 2.06e+03 2.34 8.94 1.27 2.35e+03 Tower hIoni - 93 -111 1.09e+03 2.06e+03 0 2.34 0.0853 2.35e+03 Tower hIoni - 94 -111 1.09e+03 2.06e+03 0 0 0 2.35e+03 Tower Decay - -********************************************************************************************************* -* G4Track Information: Particle = mu-, Track ID = 30, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.09e+03 2.06e+03 4.12 0 0 0 Tower initStep - 1 -111 1.09e+03 2.06e+03 0 4.12 0.28 0.28 Tower muIoni - 2 -111 1.09e+03 2.06e+03 0 0 0 0.28 Tower Decay - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 33, Parent ID = 30 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.09e+03 2.06e+03 34.1 0 0 0 Tower initStep - 1 -111 1.09e+03 2.06e+03 24.1 2.91 2.37 2.37 Tower eBrem - 2 -111 1.09e+03 2.06e+03 21.2 2.8 2.54 4.91 Tower eBrem - 3 -111 1.09e+03 2.06e+03 16.3 0.854 0.719 5.63 Tower eBrem - 4 -111 1.09e+03 2.06e+03 15.9 0.105 0.128 5.75 Tower eBrem - 5 -111 1.09e+03 2.06e+03 15 0.202 0.215 5.97 Tower eBrem - 6 -111 1.09e+03 2.06e+03 14.2 0.696 0.633 6.6 Tower eBrem - 7 -112 1.09e+03 2.06e+03 9.16 4.34 3.3 9.91 Tower eBrem - 8 -110 1.1e+03 2.06e+03 4.62 4.53 3.13 13 Tower eIoni - 9 -111 1.1e+03 2.06e+03 3.34 0.605 0.607 13.6 Tower eBrem - 10 -111 1.1e+03 2.06e+03 2.2 1.02 0.623 14.3 Tower eBrem - 11 -111 1.1e+03 2.06e+03 1.62 0.47 0.531 14.8 Tower eBrem - 12 -111 1.1e+03 2.06e+03 0.322 1.3 1.3 16.1 Tower eIoni - 13 -111 1.1e+03 2.06e+03 0 0.322 0.172 16.3 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 43, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.1e+03 2.06e+03 0.113 0 0 0 Tower initStep - 1 -117 1.1e+03 2.06e+03 0.11 0 6.26 6.26 Tower compt - 2 -120 1.09e+03 2.06e+03 0.0908 0 3.94 10.2 Tower compt - 3 -119 1.09e+03 2.06e+03 0 0.00711 1.19 11.4 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 46, Parent ID = 43 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -119 1.09e+03 2.06e+03 0.0837 0 0 0 Tower initStep - 1 -119 1.09e+03 2.06e+03 0 0.0837 0.0203 0.0203 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 45, Parent ID = 43 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -120 1.09e+03 2.06e+03 0.0189 0 0 0 Tower initStep - 1 -120 1.09e+03 2.06e+03 0 0.0189 0.00162 0.00162 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 44, Parent ID = 43 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -117 1.1e+03 2.06e+03 0.00307 0 0 0 Tower initStep - 1 -117 1.1e+03 2.06e+03 0 0.00307 8.76e-05 8.76e-05 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 42, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.1e+03 2.06e+03 0.111 0 0 0 Tower initStep - 1 -116 1.1e+03 2.05e+03 0 0.00711 8.83 8.83 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 47, Parent ID = 42 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -116 1.1e+03 2.05e+03 0.104 0 0 0 Tower initStep - 1 -116 1.1e+03 2.05e+03 0 0.104 0.0291 0.0291 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 41, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.1e+03 2.06e+03 0.683 0 0 0 Tower initStep - 1 -114 1.1e+03 2.06e+03 0.572 0 3.92 3.92 Tower compt - 2 -121 1.09e+03 2.06e+03 0.525 0 7.56 11.5 Tower compt - 3 -128 1.09e+03 2.06e+03 0.234 0 10.3 21.8 Tower compt - 4 -126 1.09e+03 2.05e+03 0.231 0 6.71 28.5 Tower compt - 5 -123 1.09e+03 2.05e+03 0 0.00711 4.53 33 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 52, Parent ID = 41 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -123 1.09e+03 2.05e+03 0.224 0 0 0 Tower initStep - 1 -123 1.09e+03 2.05e+03 0 0.224 0.0999 0.0999 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 51, Parent ID = 41 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -126 1.09e+03 2.05e+03 0.00264 0 0 0 Tower initStep - 1 -126 1.09e+03 2.05e+03 0 0.00264 7.06e-05 7.06e-05 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 50, Parent ID = 41 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -128 1.09e+03 2.06e+03 0.29 0 0 0 Tower initStep - 1 -128 1.09e+03 2.06e+03 0 0.29 0.148 0.148 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 49, Parent ID = 41 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -121 1.09e+03 2.06e+03 0.0473 0 0 0 Tower initStep - 1 -121 1.09e+03 2.06e+03 0 0.0473 0.00772 0.00772 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 48, Parent ID = 41 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -114 1.1e+03 2.06e+03 0.111 0 0 0 Tower initStep - 1 -114 1.1e+03 2.06e+03 0 0.111 0.0325 0.0325 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 40, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -112 1.09e+03 2.06e+03 0.674 0 0 0 Tower initStep - 1 -111 1.11e+03 2.07e+03 0.6 0 16.9 16.9 Tower compt - 2 -101 1.13e+03 2.08e+03 0.556 0 24.5 41.4 Tower compt - 3 -101 1.13e+03 2.08e+03 0.227 0 1.07 42.5 Tower compt - 4 -101 1.11e+03 2.09e+03 0.135 0 20.6 63.1 Tower compt - 5 -111 1.12e+03 2.09e+03 0 0.00711 13.4 76.5 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 57, Parent ID = 40 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.12e+03 2.09e+03 0.128 0 0 0 Tower initStep - 1 -111 1.12e+03 2.09e+03 0 0.128 0.0407 0.0407 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 56, Parent ID = 40 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -101 1.11e+03 2.09e+03 0.0923 0 0 0 Tower initStep - 1 -101 1.11e+03 2.09e+03 0 0.0923 0.0239 0.0239 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 55, Parent ID = 40 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -101 1.13e+03 2.08e+03 0.329 0 0 0 Tower initStep - 1 -101 1.13e+03 2.08e+03 0 0.329 0.177 0.177 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 54, Parent ID = 40 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -101 1.13e+03 2.08e+03 0.0439 0 0 0 Tower initStep - 1 -101 1.13e+03 2.08e+03 0 0.0439 0.00682 0.00682 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 53, Parent ID = 40 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.11e+03 2.07e+03 0.0742 0 0 0 Tower initStep - 1 -111 1.11e+03 2.07e+03 0 0.0742 0.0166 0.0166 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 39, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.09e+03 2.06e+03 0.092 0 0 0 Tower initStep - 1 -112 1.1e+03 2.06e+03 0 0.00711 6.46 6.46 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 58, Parent ID = 39 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -112 1.1e+03 2.06e+03 0.0849 0 0 0 Tower initStep - 1 -112 1.1e+03 2.06e+03 0 0.0849 0.0208 0.0208 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 38, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.09e+03 2.06e+03 0.749 0 0 0 Tower initStep - 1 -112 1.1e+03 2.06e+03 0.218 0 9.89 9.89 Tower compt - 2 -102 1.08e+03 2.07e+03 0.119 0 19.5 29.4 Tower compt - 3 -103 1.08e+03 2.07e+03 0 0.00711 0.72 30.1 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 61, Parent ID = 38 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -103 1.08e+03 2.07e+03 0.112 0 0 0 Tower initStep - 1 -103 1.08e+03 2.07e+03 0 0.112 0.0328 0.0328 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 60, Parent ID = 38 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -102 1.08e+03 2.07e+03 0.099 0 0 0 Tower initStep - 1 -102 1.08e+03 2.07e+03 0 0.099 0.0267 0.0267 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 59, Parent ID = 38 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -112 1.1e+03 2.06e+03 0.531 0 0 0 Tower initStep - 1 -112 1.1e+03 2.06e+03 0 0.531 0.348 0.348 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 37, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.09e+03 2.06e+03 0.309 0 0 0 Tower initStep - 1 -110 1.1e+03 2.06e+03 0 0.00711 6.28 6.28 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 62, Parent ID = 37 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -110 1.1e+03 2.06e+03 0.302 0 0 0 Tower initStep - 1 -110 1.1e+03 2.06e+03 0 0.302 0.156 0.156 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 36, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.09e+03 2.06e+03 3.99 0 0 0 Tower initStep - 1 -94.8 1.15e+03 2.09e+03 3.99 0 68.1 68.1 HadCaloPhysical CoupledTransportation - 2 -66.5 1.25e+03 2.14e+03 3.99 0 117 185 WorldPhysical CoupledTransportation - 3 -52.4 1.3e+03 2.17e+03 3.99 0 3.22e+03 3.41e+03 WorldPhysical CoupledTransportation - 4 711 4e+03 3.64e+03 3.99 0 3.17e+03 6.58e+03 OutOfWorld CoupledTransportation - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 35, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.09e+03 2.06e+03 0.114 0 0 0 Tower initStep - 1 -110 1.1e+03 2.06e+03 0.103 0 9.36 9.36 Tower compt - 2 -109 1.1e+03 2.06e+03 0.101 0 1.58 10.9 Tower compt - 3 -108 1.1e+03 2.06e+03 0 0.00711 0.209 11.1 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 65, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -108 1.1e+03 2.06e+03 0.094 0 0 0 Tower initStep - 1 -108 1.1e+03 2.06e+03 0 0.094 0.0246 0.0246 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 64, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -109 1.1e+03 2.06e+03 0.00153 0 0 0 Tower initStep - 1 -109 1.1e+03 2.06e+03 0 0.00153 3.27e-05 3.27e-05 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 63, Parent ID = 35 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -110 1.1e+03 2.06e+03 0.0117 0 0 0 Tower initStep - 1 -110 1.1e+03 2.06e+03 0 0.0117 0.000723 0.000723 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 34, Parent ID = 33 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.09e+03 2.06e+03 7.1 0 0 0 Tower initStep - 1 -115 1.15e+03 2.03e+03 7.1 0 66.6 66.6 HadCaloPhysical CoupledTransportation - 2 -122 1.25e+03 1.99e+03 7.1 0 109 176 WorldPhysical CoupledTransportation - 3 -125 1.3e+03 1.97e+03 7.1 0 3e+03 3.17e+03 WorldPhysical CoupledTransportation - 4 -305 4e+03 817 7.1 0 2.94e+03 6.11e+03 OutOfWorld CoupledTransportation - -********************************************************************************************************* -* G4Track Information: Particle = anti_nu_e, Track ID = 32, Parent ID = 30 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.09e+03 2.06e+03 34.7 0 0 0 Tower initStep - 1 -50 1.08e+03 2.13e+03 34.7 0 92.8 92.8 Tower CoupledTransportation - 2 50 1.08e+03 2.25e+03 34.7 0 153 246 Tower CoupledTransportation - 3 150 1.08e+03 2.36e+03 34.7 0 153 398 Tower CoupledTransportation - 4 226 1.07e+03 2.45e+03 34.7 0 117 515 HadCaloPhysical CoupledTransportation - 5 270 1.07e+03 2.5e+03 34.7 0 66.2 581 WorldPhysical CoupledTransportation - 6 313 1.07e+03 2.55e+03 34.7 0 1.99e+03 2.57e+03 WorldPhysical CoupledTransportation - 7 1.57e+03 1.02e+03 4e+03 34.7 0 1.92e+03 4.49e+03 OutOfWorld CoupledTransportation - -********************************************************************************************************* -* G4Track Information: Particle = nu_mu, Track ID = 31, Parent ID = 30 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.09e+03 2.06e+03 35.8 0 0 0 Tower initStep - 1 -138 1.05e+03 2.05e+03 35.8 0 47.1 47.1 Tower CoupledTransportation - 2 -150 1.03e+03 2.04e+03 35.8 0 21.7 68.8 Tower CoupledTransportation - 3 -210 950 2.02e+03 35.8 0 106 174 Tower CoupledTransportation - 4 -250 895 2e+03 35.8 0 69.6 244 Tower CoupledTransportation - 5 -283 850 1.99e+03 35.8 0 57.6 302 Tower CoupledTransportation - 6 -350 758 1.96e+03 35.8 0 117 419 Tower CoupledTransportation - 7 -356 750 1.96e+03 35.8 0 9.72 429 Tower CoupledTransportation - 8 -428 650 1.93e+03 35.8 0 127 556 Tower CoupledTransportation - 9 -450 620 1.92e+03 35.8 0 38.2 594 Tower CoupledTransportation - 10 -501 550 1.9e+03 35.8 0 89 683 Tower CoupledTransportation - 11 -550 482 1.88e+03 35.8 0 86.1 769 Tower CoupledTransportation - 12 -573 450 1.87e+03 35.8 0 41.1 810 Tower CoupledTransportation - 13 -646 350 1.84e+03 35.8 0 127 938 Tower CoupledTransportation - 14 -650 345 1.84e+03 35.8 0 6.77 944 Tower CoupledTransportation - 15 -719 250 1.81e+03 35.8 0 120 1.06e+03 Tower CoupledTransportation - 16 -750 207 1.8e+03 35.8 0 54.7 1.12e+03 Tower CoupledTransportation - 17 -791 150 1.78e+03 35.8 0 72.5 1.19e+03 Tower CoupledTransportation - 18 -850 69.4 1.75e+03 35.8 0 103 1.29e+03 Tower CoupledTransportation - 19 -864 50 1.75e+03 35.8 0 24.6 1.32e+03 Tower CoupledTransportation - 20 -937 -50 1.72e+03 35.8 0 127 1.45e+03 Tower CoupledTransportation - 21 -950 -68.3 1.71e+03 35.8 0 23.3 1.47e+03 Tower CoupledTransportation - 22 -1.01e+03 -150 1.69e+03 35.8 0 104 1.57e+03 Tower CoupledTransportation - 23 -1.05e+03 -206 1.67e+03 35.8 0 71.2 1.64e+03 Tower CoupledTransportation - 24 -1.08e+03 -250 1.66e+03 35.8 0 56.1 1.7e+03 Tower CoupledTransportation - 25 -1.15e+03 -344 1.63e+03 35.8 0 119 1.82e+03 HadCaloPhysical CoupledTransportation - 26 -1.25e+03 -481 1.59e+03 35.8 0 175 2e+03 WorldPhysical CoupledTransportation - 27 -1.3e+03 -550 1.57e+03 35.8 0 4.48e+03 6.47e+03 WorldPhysical CoupledTransportation - 28 -3.81e+03 -4e+03 528 35.8 0 4.39e+03 1.09e+04 OutOfWorld CoupledTransportation - -********************************************************************************************************* -* G4Track Information: Particle = anti_nu_mu, Track ID = 29, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -111 1.09e+03 2.06e+03 29.8 0 0 0 Tower initStep - 1 -150 1.07e+03 2.15e+03 29.8 0 98.8 98.8 Tower CoupledTransportation - 2 -188 1.05e+03 2.23e+03 29.8 0 94.9 194 Tower CoupledTransportation - 3 -250 1.02e+03 2.38e+03 29.8 0 157 351 Tower CoupledTransportation - 4 -283 1e+03 2.45e+03 29.8 0 82.3 433 HadCaloPhysical CoupledTransportation - 5 -305 994 2.5e+03 29.8 0 55.7 489 WorldPhysical CoupledTransportation - 6 -327 983 2.55e+03 29.8 0 1.67e+03 2.16e+03 WorldPhysical CoupledTransportation - 7 -967 675 4e+03 29.8 0 1.61e+03 3.77e+03 OutOfWorld CoupledTransportation - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -39.7 971 1.67e+03 14.7 0 0 0 Tower initStep - 1 -40.6 971 1.67e+03 12.5 2.15 2.07 2.07 Tower msc - 2 -41.5 973 1.67e+03 10.4 2.1 2.07 4.13 Tower msc - 3 -42.7 973 1.67e+03 8.4 2.02 2.07 6.2 Tower msc - 4 -42.8 973 1.67e+03 8.17 0.152 0.169 6.37 Tower eBrem - 5 -42.8 973 1.67e+03 4.53 1.85 1.53 7.9 Tower eBrem - 6 -43.4 973 1.67e+03 2.5 2.03 2.22 10.1 Tower eIoni - 7 -43.2 971 1.67e+03 1.07 1.43 1.68 11.8 Tower eIoni - 8 -43.2 971 1.67e+03 0 1.07 0.853 12.7 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 67, Parent ID = 28 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -42.8 973 1.67e+03 1.79 0 0 0 Tower initStep - 1 -42.8 978 1.68e+03 0.39 0 12.5 12.5 Tower compt - 2 -50 986 1.68e+03 0.39 0 11.3 23.8 Tower CoupledTransportation - 3 -58.9 996 1.67e+03 0.289 0 13.9 37.7 Tower compt - 4 -88.3 993 1.68e+03 0.143 0 29.7 67.4 Tower compt - 5 -85.8 995 1.68e+03 0.0928 0 3.41 70.8 Tower compt - 6 -87.1 995 1.68e+03 0.0801 0 1.34 72.2 Tower compt - 7 -87 993 1.68e+03 0.0726 0 1.46 73.6 Tower compt - 8 -86.4 993 1.67e+03 0 0.00711 2.07 75.7 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 74, Parent ID = 67 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -86.4 993 1.67e+03 0.0655 0 0 0 Tower initStep - 1 -86.4 993 1.67e+03 0 0.0655 0.0134 0.0134 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 73, Parent ID = 67 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -87 993 1.68e+03 0.00751 0 0 0 Tower initStep - 1 -87 993 1.68e+03 0 0.00751 0.000351 0.000351 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 72, Parent ID = 67 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -87.1 995 1.68e+03 0.0127 0 0 0 Tower initStep - 1 -87.1 995 1.68e+03 0 0.0127 0.000829 0.000829 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 71, Parent ID = 67 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -85.8 995 1.68e+03 0.0499 0 0 0 Tower initStep - 1 -85.8 995 1.68e+03 0 0.0499 0.00843 0.00843 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 70, Parent ID = 67 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -88.3 993 1.68e+03 0.146 0 0 0 Tower initStep - 1 -88.3 993 1.68e+03 0 0.146 0.051 0.051 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 69, Parent ID = 67 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -58.9 996 1.67e+03 0.101 0 0 0 Tower initStep - 1 -58.9 996 1.67e+03 0 0.101 0.0276 0.0276 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 68, Parent ID = 67 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -42.8 978 1.68e+03 1.4 0 0 0 Tower initStep - 1 -42.8 978 1.68e+03 0 1.4 1.15 1.15 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 66, Parent ID = 28 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -42.8 973 1.67e+03 0.0796 0 0 0 Tower initStep - 1 -43.2 974 1.67e+03 0 0.00711 3.5 3.5 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 75, Parent ID = 66 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -43.2 974 1.67e+03 0.0725 0 0 0 Tower initStep - 1 -43.2 974 1.67e+03 0 0.0725 0.0159 0.0159 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -33.6 954 1.63e+03 13.2 0 0 0 Tower initStep - 1 -33.6 954 1.63e+03 11.6 1.59 0.858 0.858 Tower msc - 2 -33.7 955 1.63e+03 10.7 0.923 0.858 1.72 Tower msc - 3 -33.7 955 1.63e+03 10.1 0.109 0.129 1.84 Tower eBrem - 4 -33.8 955 1.63e+03 9.31 0.773 0.858 2.7 Tower msc - 5 -34 956 1.63e+03 8.55 0.759 0.858 3.56 Tower msc - 6 -33.9 956 1.64e+03 7.82 0.731 0.858 4.42 Tower msc - 7 -33.6 956 1.64e+03 6.84 0.978 0.858 5.27 Tower msc - 8 -33.3 957 1.64e+03 6.16 0.587 0.612 5.89 Tower eBrem - 9 -31.6 957 1.64e+03 4.33 1.83 2.01 7.89 Tower eBrem - 10 -30.3 956 1.64e+03 2.2 2.13 2.17 10.1 Tower eIoni - 11 -30.3 956 1.64e+03 0.677 1.35 1.39 11.5 Tower eBrem - 12 -30.3 956 1.64e+03 0 0.677 0.481 11.9 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 78, Parent ID = 27 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -30.3 956 1.64e+03 0.177 0 0 0 Tower initStep - 1 -34.4 950 1.63e+03 0.177 0 7.11 7.11 Tower CoupledTransportation - 2 -37.1 946 1.63e+03 0.171 0 4.61 11.7 Tower compt - 3 -37.6 946 1.63e+03 0.12 0 0.526 12.3 Tower compt - 4 -35.1 942 1.64e+03 0 0.00711 8.25 20.5 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 81, Parent ID = 78 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -35.1 942 1.64e+03 0.113 0 0 0 Tower initStep - 1 -35.1 942 1.64e+03 0 0.113 0.0334 0.0334 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 80, Parent ID = 78 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -37.6 946 1.63e+03 0.0509 0 0 0 Tower initStep - 1 -37.6 946 1.63e+03 0 0.0509 0.00873 0.00873 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 79, Parent ID = 78 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -37.1 946 1.63e+03 0.00567 0 0 0 Tower initStep - 1 -37.1 946 1.63e+03 0 0.00567 0.000225 0.000225 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 77, Parent ID = 27 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -33.3 957 1.64e+03 0.0965 0 0 0 Tower initStep - 1 -32.9 957 1.64e+03 0 0.00711 0.848 0.848 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 82, Parent ID = 77 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -32.9 957 1.64e+03 0.0894 0 0 0 Tower initStep - 1 -32.9 957 1.64e+03 0 0.0894 0.0227 0.0227 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 76, Parent ID = 27 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -33.7 955 1.63e+03 0.483 0 0 0 Tower initStep - 1 -37.9 958 1.64e+03 0.284 0 12.1 12.1 Tower compt - 2 -39.6 963 1.64e+03 0.18 0 5.09 17.2 Tower compt - 3 -39.5 963 1.64e+03 0.178 0 0.145 17.3 Tower compt - 4 -28.1 963 1.65e+03 0.113 0 15.8 33.1 Tower compt - 5 -29.7 962 1.65e+03 0.107 0 1.87 35 Tower compt - 6 -46.4 965 1.65e+03 0.104 0 17 52 Tower compt - 7 -49.4 966 1.66e+03 0 0.00711 3.52 55.5 Tower phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 89, Parent ID = 76 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -49.4 966 1.66e+03 0.0971 0 0 0 Tower initStep - 1 -49.4 966 1.66e+03 0 0.0971 0.0259 0.0259 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 88, Parent ID = 76 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -46.4 965 1.65e+03 0.00251 0 0 0 Tower initStep - 1 -46.4 965 1.65e+03 0 0.00251 6.54e-05 6.54e-05 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 87, Parent ID = 76 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -29.7 962 1.65e+03 0.00651 0 0 0 Tower initStep - 1 -29.7 962 1.65e+03 0 0.00651 0.000279 0.000279 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 86, Parent ID = 76 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -28.1 963 1.65e+03 0.0648 0 0 0 Tower initStep - 1 -28.1 963 1.65e+03 0 0.0648 0.0132 0.0132 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 85, Parent ID = 76 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -39.5 963 1.64e+03 0.00188 0 0 0 Tower initStep - 1 -39.5 963 1.64e+03 0 0.00188 4.37e-05 4.37e-05 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 84, Parent ID = 76 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -39.6 963 1.64e+03 0.104 0 0 0 Tower initStep - 1 -39.6 963 1.64e+03 0 0.104 0.0293 0.0293 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 83, Parent ID = 76 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -37.9 958 1.64e+03 0.198 0 0 0 Tower initStep - 1 -37.9 958 1.64e+03 0 0.198 0.0822 0.0822 Tower eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -3.83 829 1.4e+03 1.4 0 0 0 Crystal initStep - 1 -3.82 829 1.4e+03 1.4 0.00607 0.0162 0.0162 Crystal msc - 2 -3.82 830 1.4e+03 1.39 0.00737 0.0118 0.028 WorldPhysical CoupledTransportation - 3 4.12 831 1.42e+03 1.39 0.00291 17 17.1 WorldPhysical eIoni - 4 11.8 833 1.43e+03 1.38 0.00205 17.7 34.8 WorldPhysical eIoni - 5 42.8 829 1.5e+03 1.37 0.012 76.2 111 HadCaloPhysical CoupledTransportation - 6 47.6 827 1.51e+03 1.37 0.00317 15.2 126 HadCaloPhysical msc - 7 51.9 825 1.53e+03 1.37 0.00271 15.2 141 HadCaloPhysical msc - 8 56.3 823 1.54e+03 1.36 0.00152 15.2 157 HadCaloPhysical msc - 9 58.1 822 1.55e+03 1.36 0.000653 7.21 164 Tower CoupledTransportation - 10 58.1 822 1.55e+03 1.35 0.0156 0.0235 164 Tower msc - 11 58.1 822 1.55e+03 1.32 0.0282 0.0235 164 Tower msc - 12 58.1 822 1.55e+03 1.3 0.0195 0.0235 164 Tower msc - 13 58.1 822 1.55e+03 1.28 0.0177 0.0235 164 Tower msc - 14 58.2 822 1.55e+03 1.26 0.0196 0.0235 164 Tower msc - 15 58.2 822 1.55e+03 1.21 0.0512 0.0235 164 Tower msc - 16 58.2 822 1.55e+03 1.2 0.0157 0.0235 164 Tower msc - 17 58.2 822 1.55e+03 1.17 0.024 0.0235 164 Tower msc - 18 58.2 822 1.55e+03 1.16 0.0159 0.0235 164 Tower msc - 19 58.2 822 1.55e+03 1.13 0.0222 0.0235 164 Tower msc - 20 58.2 822 1.55e+03 1.11 0.0262 0.0235 164 Tower msc - 21 58.2 822 1.55e+03 1.08 0.0259 0.0235 164 Tower msc - 22 58.2 822 1.55e+03 1.06 0.0174 0.0235 164 Tower msc - 23 58.2 822 1.55e+03 1.03 0.0298 0.0235 164 Tower msc - 24 58.3 822 1.55e+03 1.01 0.0294 0.0235 164 Tower msc - 25 58.3 822 1.55e+03 0.982 0.023 0.0235 164 Tower msc - 26 58.3 822 1.55e+03 0.961 0.0212 0.0235 164 Tower msc - 27 58.3 822 1.55e+03 0.944 0.0164 0.0235 164 Tower msc - 28 58.3 822 1.55e+03 0.925 0.0194 0.0235 164 Tower msc - 29 58.3 822 1.55e+03 0.908 0.0174 0.0235 164 Tower msc - 30 58.4 822 1.55e+03 0.89 0.0172 0.0235 164 Tower msc - 31 58.4 822 1.55e+03 0.859 0.0311 0.0235 164 Tower msc - 32 58.4 822 1.55e+03 0.843 0.0163 0.0235 164 Tower msc - 33 58.4 822 1.55e+03 0.824 0.0193 0.0235 164 Tower msc - 34 58.4 822 1.55e+03 0.799 0.0249 0.0235 164 Tower msc - 35 58.4 822 1.55e+03 0.783 0.0163 0.0235 164 Tower msc - 36 58.4 822 1.55e+03 0.766 0.0168 0.0235 164 Tower msc - 37 58.4 822 1.55e+03 0.749 0.0168 0.0235 164 Tower msc - 38 58.4 822 1.55e+03 0.731 0.0183 0.0235 164 Tower msc - 39 58.4 822 1.55e+03 0.712 0.0185 0.0235 165 Tower msc - 40 58.4 822 1.55e+03 0.697 0.0152 0.0235 165 Tower msc - 41 58.4 822 1.55e+03 0.674 0.0232 0.0235 165 Tower msc - 42 58.4 822 1.55e+03 0.647 0.0267 0.0235 165 Tower msc - 43 58.4 822 1.55e+03 0.627 0.0195 0.0235 165 Tower msc - 44 58.5 822 1.55e+03 0.587 0.0401 0.0235 165 Tower msc - 45 58.4 822 1.55e+03 0.566 0.0213 0.0235 165 Tower msc - 46 58.5 822 1.55e+03 0.543 0.0227 0.0235 165 Tower msc - 47 58.5 822 1.55e+03 0.513 0.0308 0.0235 165 Tower msc - 48 58.5 822 1.55e+03 0.489 0.0238 0.0235 165 Tower msc - 49 58.5 822 1.55e+03 0.472 0.017 0.0235 165 Tower msc - 50 58.5 822 1.55e+03 0.451 0.0208 0.0235 165 Tower msc - 51 58.5 822 1.55e+03 0.428 0.0229 0.0235 165 Tower msc - 52 58.5 822 1.55e+03 0.408 0.0195 0.0235 165 Tower msc - 53 58.5 822 1.55e+03 0.385 0.0231 0.0235 165 Tower msc - 54 58.5 822 1.55e+03 0.364 0.0218 0.0137 165 HadCaloPhysical CoupledTransportation - 55 61.8 825 1.54e+03 0.354 0.0012 10.1 175 HadCaloPhysical eIoni - 56 64.1 830 1.53e+03 0.35 0.00386 16.9 192 HadCaloPhysical msc - 57 65.2 836 1.51e+03 0.346 0.00365 16.9 209 HadCaloPhysical msc - 58 64.7 839 1.5e+03 0.342 0.004 10 219 WorldPhysical CoupledTransportation - 59 68.7 837 1.46e+03 0.337 0.00506 36.8 256 WorldPhysical msc - 60 68.7 839 1.45e+03 0.332 0.00197 8.93 264 WorldPhysical eIoni - 61 70.1 843 1.44e+03 0.326 0.00423 15.5 280 WorldPhysical eIoni - 62 80.2 842 1.41e+03 0.317 0.00852 36.8 317 WorldPhysical msc - 63 80.7 844 1.4e+03 0.317 0.000783 5.96 323 Crystal CoupledTransportation - 64 80.7 844 1.4e+03 0.314 0.00259 0.00714 323 Crystal msc - 65 80.7 844 1.4e+03 0.31 0.00439 0.00714 323 Crystal msc - 66 80.7 844 1.4e+03 0.304 0.00535 0.00714 323 Crystal msc - 67 80.7 844 1.4e+03 0.3 0.0044 0.00714 323 Crystal msc - 68 80.7 844 1.4e+03 0.298 0.00209 0.00714 323 Crystal msc - 69 80.7 844 1.4e+03 0.295 0.00312 0.00714 323 Crystal msc - 70 80.7 844 1.4e+03 0.293 0.00132 0.00714 323 Crystal msc - 71 80.7 844 1.4e+03 0.292 0.00105 0.00714 323 Crystal msc - 72 80.6 844 1.4e+03 0.285 0.00701 0.00714 323 Crystal msc - 73 80.6 844 1.4e+03 0.259 0.0262 0.00714 323 Crystal msc - 74 80.6 844 1.4e+03 0.255 0.00376 0.00714 323 Crystal msc - 75 80.6 844 1.4e+03 0.253 0.0025 0.00714 323 Crystal msc - 76 80.6 844 1.4e+03 0.251 0.00192 0.00714 323 Crystal msc - 77 80.6 844 1.4e+03 0.249 0.00212 0.00714 323 Crystal msc - 78 80.6 844 1.4e+03 0.245 0.00365 0.00714 323 Crystal msc - 79 80.6 844 1.4e+03 0.24 0.0052 0.00714 323 Crystal msc - 80 80.6 844 1.4e+03 0.238 0.00177 0.00714 323 Crystal msc - 81 80.6 844 1.4e+03 0.236 0.00249 0.00714 323 Crystal msc - 82 80.6 844 1.4e+03 0.233 0.0026 0.00714 323 Crystal msc - 83 80.6 844 1.4e+03 0.229 0.00392 0.00714 323 Crystal msc - 84 80.6 844 1.4e+03 0.226 0.00307 0.00714 323 Crystal msc - 85 80.6 844 1.4e+03 0.224 0.00195 0.00714 323 Crystal msc - 86 80.6 844 1.4e+03 0.218 0.00587 0.00714 323 Crystal msc - 87 80.6 844 1.4e+03 0.21 0.00788 0.00714 323 Crystal msc - 88 80.6 844 1.4e+03 0.207 0.00308 0.00714 323 Crystal msc - 89 80.6 844 1.4e+03 0.203 0.00389 0.00714 323 Crystal msc - 90 80.6 844 1.4e+03 0.198 0.00513 0.00714 323 Crystal msc - 91 80.6 844 1.4e+03 0.195 0.00314 0.00714 323 Crystal msc - 92 80.6 844 1.4e+03 0.191 0.00361 0.00714 323 Crystal msc - 93 80.6 844 1.4e+03 0.18 0.0116 0.00714 323 Crystal msc - 94 80.6 844 1.4e+03 0.176 0.00375 0.00714 323 Crystal msc - 95 80.6 844 1.4e+03 0.166 0.0105 0.00714 323 Crystal msc - 96 80.6 844 1.4e+03 0.162 0.0035 0.00714 323 Crystal msc - 97 80.6 844 1.4e+03 0.158 0.00426 0.00714 323 Crystal msc - 98 80.6 844 1.4e+03 0.152 0.00588 0.00714 323 Crystal msc - 99 80.6 844 1.4e+03 0.129 0.0232 0.00714 323 Crystal msc - 100 80.6 844 1.4e+03 0.124 0.00526 0.00714 323 Crystal msc - 101 80.6 844 1.4e+03 0.118 0.00579 0.00714 323 Crystal msc - 102 80.6 844 1.4e+03 0.114 0.00416 0.00714 323 Crystal msc - 103 80.6 844 1.4e+03 0.109 0.00465 0.00714 323 Crystal msc - 104 80.6 844 1.4e+03 0.103 0.00611 0.00714 323 Crystal msc - 105 80.6 844 1.4e+03 0.0969 0.00593 0.00714 323 Crystal msc - 106 80.6 844 1.4e+03 0.0893 0.00761 0.00714 323 Crystal msc - 107 80.6 844 1.4e+03 0.0757 0.0136 0.00714 323 Crystal msc - 108 80.6 844 1.4e+03 0.0637 0.012 0.00714 323 Crystal msc - 109 80.6 844 1.4e+03 0.0509 0.0128 0.00714 323 Crystal msc - 110 80.6 844 1.4e+03 0.0405 0.0104 0.00714 323 Crystal msc - 111 80.6 844 1.4e+03 0 0.0405 0.0132 323 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 94, Parent ID = 26 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 70.1 843 1.44e+03 0.00207 0 0 0 WorldPhysical initStep - 1 70.1 843 1.44e+03 0.00207 0 0.00484 0.00484 WorldPhysical msc - 2 70 843 1.44e+03 0 0.00207 0.165 0.169 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 93, Parent ID = 26 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 68.7 839 1.45e+03 0.00301 0 0 0 WorldPhysical initStep - 1 68.7 839 1.45e+03 0.00297 3.42e-05 0.00923 0.00923 WorldPhysical msc - 2 68.7 839 1.45e+03 0 0.00297 0.297 0.306 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 92, Parent ID = 26 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 61.8 825 1.54e+03 0.00864 0 0 0 HadCaloPhysical initStep - 1 61.9 826 1.54e+03 0.0007 0.00794 1.5 1.5 HadCaloPhysical eIoni - 2 61.9 826 1.54e+03 0 0.0007 0.0375 1.54 HadCaloPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 91, Parent ID = 26 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 11.8 833 1.43e+03 0.00196 0 0 0 WorldPhysical initStep - 1 11.8 833 1.43e+03 0.00196 0 0.00443 0.00443 WorldPhysical msc - 2 11.7 833 1.43e+03 0 0.00196 0.151 0.155 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 90, Parent ID = 26 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.12 831 1.42e+03 0.00102 0 0 0 WorldPhysical initStep - 1 4.13 831 1.42e+03 0.000959 5.97e-05 0.00148 0.00148 WorldPhysical msc - 2 4.13 831 1.42e+03 0 0.000959 0.0549 0.0564 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.06 820 1.38e+03 1.58 0 0 0 Crystal initStep - 1 -2.23 820 1.38e+03 1.42 0.157 0.412 0.412 Crystal msc - 2 -2.39 820 1.38e+03 1.22 0.207 0.412 0.823 Crystal msc - 3 -2.58 821 1.38e+03 1 0.216 0.412 1.23 Crystal msc - 4 -2.59 821 1.38e+03 0 1 1.44 2.67 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.6 765 1.28e+03 0.718 0 0 0 Crystal initStep - 1 1.59 765 1.28e+03 0 0.718 1.09 1.09 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.15 756 1.27e+03 1.55 0 0 0 Crystal initStep - 1 2.16 756 1.27e+03 1.38 0.17 0.429 0.429 Crystal msc - 2 2.44 756 1.27e+03 1.21 0.168 0.429 0.859 Crystal msc - 3 2.66 756 1.27e+03 0.89 0.317 0.429 1.29 Crystal msc - 4 2.75 756 1.27e+03 0.272 0.536 0.944 2.23 Crystal eBrem - 5 2.72 756 1.27e+03 0 0.272 0.287 2.52 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 95, Parent ID = 23 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.75 756 1.27e+03 0.0822 0 0 0 Crystal initStep - 1 3.25 756 1.27e+03 0 0.0332 0.673 0.673 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 96, Parent ID = 95 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.25 756 1.27e+03 0.0491 0 0 0 Crystal initStep - 1 3.25 756 1.27e+03 0 0.0491 0.0181 0.0181 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.3 733 1.23e+03 1 0 0 0 Crystal initStep - 1 3.28 733 1.23e+03 0.349 0.656 1.44 1.44 Crystal eIoni - 2 3.34 733 1.23e+03 0.216 0.132 0.227 1.67 Crystal eBrem - 3 3.34 733 1.23e+03 0 0.216 0.203 1.87 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.75 720 1.21e+03 21 0 0 0 Crystal initStep - 1 3.5 720 1.21e+03 20.4 0.622 1.03 1.03 Crystal eBrem - 2 2.74 720 1.21e+03 19.2 1.16 2.38 3.41 Crystal msc - 3 1.63 721 1.21e+03 17.1 0.932 1.78 5.19 Crystal eIoni - 4 0.112 721 1.21e+03 15.2 0.989 1.84 7.03 Crystal eBrem - 5 1.01e-15 721 1.21e+03 15.1 0.0569 0.141 7.17 Crystal CoupledTransportation - 6 -0.161 721 1.21e+03 14.4 0.0905 0.2 7.37 Crystal eBrem - 7 -1.31 720 1.21e+03 13.2 1.19 1.35 8.71 Crystal msc - 8 -1.65 720 1.21e+03 12.8 0.161 0.453 9.17 Crystal eBrem - 9 -2.02 720 1.21e+03 11.7 0.17 0.396 9.56 Crystal eIoni - 10 -2.99 720 1.21e+03 11.2 0.539 1.11 10.7 Crystal eBrem - 11 -4.01 720 1.21e+03 10.1 1.09 1.35 12 Crystal msc - 12 -4.82 720 1.21e+03 8.94 0.557 1.09 13.1 Crystal eBrem - 13 -6.01 721 1.21e+03 8.3 0.636 1.35 14.5 Crystal msc - 14 -6.21 721 1.21e+03 6.76 0.0942 0.231 14.7 Crystal eIoni - 15 -7.11 721 1.22e+03 6.16 0.599 1.35 16 Crystal msc - 16 -7.36 722 1.22e+03 5.56 0.609 1.35 17.4 Crystal msc - 17 -7.49 722 1.22e+03 4.95 0.608 1.35 18.7 Crystal msc - 18 -6.99 722 1.22e+03 4.4 0.353 0.806 19.6 Crystal eBrem - 19 -6.04 723 1.22e+03 3.77 0.628 1.35 20.9 Crystal msc - 20 -7.01 723 1.22e+03 3.16 0.506 1.14 22 Crystal eBrem - 21 -8.17 723 1.22e+03 2.65 0.505 1.35 23.4 Crystal msc - 22 -8.27 724 1.22e+03 1.85 0.724 1.68 25.1 Crystal eBrem - 23 -8.9 725 1.22e+03 0.906 0.949 2.02 27.1 Crystal eIoni - 24 -9.16 725 1.22e+03 0.249 0.656 1.34 28.4 Crystal eIoni - 25 -9.15 725 1.22e+03 0 0.249 0.251 28.7 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 106, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -8.27 724 1.22e+03 0.0718 0 0 0 Crystal initStep - 1 -7.79 725 1.22e+03 0 0.0332 0.868 0.868 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 107, Parent ID = 106 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -7.79 725 1.22e+03 0.0386 0 0 0 Crystal initStep - 1 -7.79 725 1.22e+03 0 0.0386 0.0122 0.0122 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 105, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -7.01 723 1.22e+03 0.11 0 0 0 Crystal initStep - 1 -7.08 723 1.22e+03 0 0.0332 0.14 0.14 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 108, Parent ID = 105 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -7.08 723 1.22e+03 0.0769 0 0 0 Crystal initStep - 1 -7.08 723 1.22e+03 0 0.0769 0.0384 0.0384 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 104, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -6.99 722 1.22e+03 0.195 0 0 0 Crystal initStep - 1 5.81e-16 727 1.22e+03 0.195 0 8.49 8.49 Crystal CoupledTransportation - 2 1.66 728 1.22e+03 0 0.0332 2.02 10.5 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 109, Parent ID = 104 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.66 728 1.22e+03 0.161 0 0 0 Crystal initStep - 1 1.67 728 1.22e+03 0 0.161 0.128 0.128 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 103, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -6.21 721 1.21e+03 1.44 0 0 0 Crystal initStep - 1 -6.14 720 1.22e+03 0.437 1.01 1.78 1.78 Crystal eIoni - 2 -6.12 720 1.22e+03 0 0.437 0.566 2.35 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 102, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -4.82 720 1.21e+03 0.598 0 0 0 Crystal initStep - 1 -29.1 745 1.22e+03 0.498 0 34.7 34.7 Crystal compt - 2 -31 750 1.22e+03 0.498 0 5.83 40.5 Crystal CoupledTransportation - 3 -35.7 763 1.21e+03 0.257 0 14.1 54.6 Crystal compt - 4 -43.7 761 1.22e+03 0.14 0 8.91 63.5 Crystal compt - 5 -42.8 761 1.22e+03 0.138 0 1.1 64.6 Crystal compt - 6 -42.6 760 1.22e+03 0 0.0332 0.379 65 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 114, Parent ID = 102 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -42.6 760 1.22e+03 0.105 0 0 0 Crystal initStep - 1 -42.6 760 1.22e+03 0 0.105 0.0645 0.0645 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 113, Parent ID = 102 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -42.8 761 1.22e+03 0.00183 0 0 0 Crystal initStep - 1 -42.8 761 1.22e+03 0 0.00183 0.00011 0.00011 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 112, Parent ID = 102 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -43.7 761 1.22e+03 0.117 0 0 0 Crystal initStep - 1 -43.7 761 1.22e+03 0 0.117 0.0763 0.0763 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 111, Parent ID = 102 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -35.7 763 1.21e+03 0.241 0 0 0 Crystal initStep - 1 -35.7 763 1.21e+03 0 0.241 0.239 0.239 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 110, Parent ID = 102 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -29.1 745 1.22e+03 0.1 0 0 0 Crystal initStep - 1 -29.1 745 1.22e+03 0 0.1 0.0593 0.0593 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 101, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.02 720 1.21e+03 0.942 0 0 0 Crystal initStep - 1 -1.95 720 1.21e+03 0.313 0.588 1.28 1.28 Crystal eBrem - 2 -1.93 720 1.21e+03 0 0.313 0.352 1.63 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 115, Parent ID = 101 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.95 720 1.21e+03 0.0407 0 0 0 Crystal initStep - 1 -1.94 720 1.21e+03 0 0.0332 0.11 0.11 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 116, Parent ID = 115 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.94 720 1.21e+03 0.00752 0 0 0 Crystal initStep - 1 -1.94 720 1.21e+03 0 0.00752 0.000855 0.000855 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 100, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.65 720 1.21e+03 0.17 0 0 0 Crystal initStep - 1 -3.25 720 1.21e+03 0 0.0332 1.83 1.83 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 117, Parent ID = 100 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -3.25 720 1.21e+03 0.137 0 0 0 Crystal initStep - 1 -3.26 720 1.21e+03 0 0.137 0.0984 0.0984 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 99, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.161 721 1.21e+03 0.647 0 0 0 Crystal initStep - 1 -21.9 709 1.22e+03 0 0.0332 26.8 26.8 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 118, Parent ID = 99 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -21.9 709 1.22e+03 0.614 0 0 0 Crystal initStep - 1 -22 709 1.22e+03 0 0.614 0.893 0.893 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 98, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.112 721 1.21e+03 0.915 0 0 0 Crystal initStep - 1 1.02e-15 721 1.21e+03 0.915 0 0.144 0.144 Crystal CoupledTransportation - 2 -2.54 720 1.21e+03 0 0.0332 3.25 3.4 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 119, Parent ID = 98 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.54 720 1.21e+03 0.881 0 0 0 Crystal initStep - 1 -2.49 720 1.21e+03 0.257 0.625 1.31 1.31 Crystal eIoni - 2 -2.5 720 1.21e+03 0 0.257 0.262 1.58 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 97, Parent ID = 21 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.63 721 1.21e+03 1.23 0 0 0 Crystal initStep - 1 1.64 721 1.21e+03 1.1 0.132 0.325 0.325 Crystal msc - 2 1.57 721 1.21e+03 0.876 0.221 0.325 0.651 Crystal msc - 3 1.5 721 1.21e+03 0.731 0.145 0.325 0.976 Crystal msc - 4 1.53 721 1.21e+03 0.344 0.262 0.458 1.43 Crystal eBrem - 5 1.5 721 1.21e+03 0 0.344 0.404 1.84 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 120, Parent ID = 97 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.53 721 1.21e+03 0.125 0 0 0 Crystal initStep - 1 1.64 721 1.21e+03 0 0.0332 0.155 0.155 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 121, Parent ID = 120 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.64 721 1.21e+03 0.0921 0 0 0 Crystal initStep - 1 1.64 721 1.21e+03 0 0.0921 0.0519 0.0519 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.76 719 1.21e+03 0.796 0 0 0 Crystal initStep - 1 3.69 719 1.21e+03 0.416 0.251 0.38 0.38 Crystal eBrem - 2 3.69 719 1.21e+03 0 0.416 0.529 0.909 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 122, Parent ID = 20 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.69 719 1.21e+03 0.129 0 0 0 Crystal initStep - 1 3.84 719 1.21e+03 0 0.0332 1.12 1.12 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 123, Parent ID = 122 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.84 719 1.21e+03 0.0956 0 0 0 Crystal initStep - 1 3.84 719 1.21e+03 0 0.0956 0.0551 0.0551 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.94 714 1.2e+03 18.4 0 0 0 Crystal initStep - 1 3.65 715 1.2e+03 17.5 0.902 1.86 1.86 Crystal msc - 2 3.55 717 1.2e+03 16 1.51 1.86 3.73 Crystal msc - 3 3.3 718 1.2e+03 14.9 1.06 1.86 5.59 Crystal msc - 4 2.68 719 1.2e+03 13.7 0.619 1.51 7.1 Crystal eBrem - 5 2.55 719 1.2e+03 12.8 0.162 0.308 7.41 Crystal eBrem - 6 1.83 720 1.2e+03 11.3 0.841 1.58 8.99 Crystal eBrem - 7 1.83 720 1.2e+03 10.5 0.000497 0.00351 8.99 Crystal eIoni - 8 0.488 720 1.21e+03 9.69 0.862 1.86 10.9 Crystal msc - 9 1.44e-15 720 1.2e+03 9.39 0.296 0.515 11.4 Crystal CoupledTransportation - 10 -0.0241 720 1.2e+03 9.09 0.0114 0.0266 11.4 Crystal eBrem - 11 -0.595 720 1.2e+03 8.8 0.295 0.647 12 Crystal msc - 12 -1.09 719 1.2e+03 8.46 0.333 0.647 12.7 Crystal msc - 13 -1.11 719 1.2e+03 8.35 0.00477 0.0163 12.7 Crystal eBrem - 14 -1.68 719 1.2e+03 8.02 0.327 0.647 13.4 Crystal msc - 15 -2.1 719 1.21e+03 7.72 0.305 0.647 14 Crystal msc - 16 -2.5 719 1.21e+03 5.31 0.399 0.46 14.5 Crystal eBrem - 17 -3.15 719 1.21e+03 5.06 0.249 0.647 15.1 Crystal msc - 18 -3.64 719 1.2e+03 4.77 0.292 0.647 15.8 Crystal msc - 19 -4.24 718 1.2e+03 4.5 0.266 0.647 16.4 Crystal msc - 20 -4.65 718 1.21e+03 4.21 0.295 0.647 17 Crystal msc - 21 -5.16 718 1.21e+03 3.16 1.05 0.647 17.7 Crystal msc - 22 -5.42 717 1.2e+03 2.7 0.453 0.647 18.3 Crystal msc - 23 -5.01 717 1.2e+03 2.43 0.273 0.647 19 Crystal msc - 24 -4.68 717 1.21e+03 1.36 0.534 1.11 20.1 Crystal eBrem - 25 -5.38 717 1.21e+03 0.65 0.711 1.73 21.8 Crystal eIoni - 26 -5.38 717 1.21e+03 0 0.65 0.962 22.8 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 131, Parent ID = 19 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -4.68 717 1.21e+03 0.534 0 0 0 Crystal initStep - 1 -7.97 710 1.21e+03 0.198 0 7.93 7.93 Crystal compt - 2 -10 715 1.21e+03 0 0.0332 5.77 13.7 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 133, Parent ID = 131 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -10 715 1.21e+03 0.165 0 0 0 Crystal initStep - 1 -10 715 1.21e+03 0 0.165 0.133 0.133 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 132, Parent ID = 131 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -7.97 710 1.21e+03 0.336 0 0 0 Crystal initStep - 1 -7.98 710 1.21e+03 0 0.336 0.391 0.391 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 130, Parent ID = 19 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.5 719 1.21e+03 2.01 0 0 0 Crystal initStep - 1 -50 704 1.2e+03 2.01 0 50.8 50.8 Crystal CoupledTransportation - 2 -61.1 700 1.19e+03 2.01 0 11.9 62.7 Crystal CoupledTransportation - 3 -100 688 1.19e+03 2.01 0 41.5 104 Crystal CoupledTransportation - 4 -150 671 1.18e+03 2.01 0 53.4 158 Crystal CoupledTransportation - 5 -156 670 1.17e+03 1.54 0 6.31 164 Crystal compt - 6 -189 650 1.18e+03 1.54 0 39.3 203 Crystal CoupledTransportation - 7 -200 644 1.18e+03 1.54 0 12.3 216 Crystal CoupledTransportation - 8 -226 629 1.19e+03 1.41 0 30.7 246 Crystal compt - 9 -250 621 1.19e+03 1.41 0 26.2 272 Crystal CoupledTransportation - 10 -251 620 1.19e+03 0.48 0 1.03 273 Crystal compt - 11 -252 622 1.2e+03 0.188 0 6.55 280 Crystal compt - 12 -254 619 1.2e+03 0 0.0332 3.87 284 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 138, Parent ID = 130 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -254 619 1.2e+03 0.155 0 0 0 Crystal initStep - 1 -254 619 1.2e+03 0 0.155 0.12 0.12 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 137, Parent ID = 130 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -252 622 1.2e+03 0.292 0 0 0 Crystal initStep - 1 -252 622 1.2e+03 0 0.292 0.319 0.319 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 136, Parent ID = 130 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -251 620 1.19e+03 0.93 0 0 0 Crystal initStep - 1 -251 620 1.19e+03 0.852 0.0777 0.187 0.187 Crystal msc - 2 -251 620 1.19e+03 0.765 0.0872 0.187 0.374 Crystal msc - 3 -251 620 1.19e+03 0.679 0.0853 0.187 0.561 Crystal msc - 4 -251 620 1.19e+03 0.599 0.0806 0.187 0.748 Crystal msc - 5 -251 620 1.19e+03 0.524 0.0752 0.187 0.934 Crystal msc - 6 -251 620 1.2e+03 0 0.524 0.724 1.66 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 135, Parent ID = 130 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -226 629 1.19e+03 0.13 0 0 0 Crystal initStep - 1 -226 629 1.19e+03 0 0.13 0.0911 0.0911 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 134, Parent ID = 130 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -156 670 1.17e+03 0.472 0 0 0 Crystal initStep - 1 -156 670 1.17e+03 0 0.472 0.629 0.629 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 129, Parent ID = 19 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.11 719 1.2e+03 0.11 0 0 0 Crystal initStep - 1 -1.46 719 1.2e+03 0 0.0332 0.42 0.42 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 139, Parent ID = 129 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.46 719 1.2e+03 0.0771 0 0 0 Crystal initStep - 1 -1.46 719 1.2e+03 0 0.0771 0.0386 0.0386 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 128, Parent ID = 19 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0241 720 1.2e+03 0.289 0 0 0 Crystal initStep - 1 -2.21 719 1.21e+03 0 0.0332 2.36 2.36 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 140, Parent ID = 128 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -2.21 719 1.21e+03 0.256 0 0 0 Crystal initStep - 1 -2.22 719 1.21e+03 0 0.256 0.261 0.261 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 127, Parent ID = 19 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.83 720 1.2e+03 0.712 0 0 0 Crystal initStep - 1 2.02 720 1.2e+03 0.0296 0.682 1.08 1.08 Crystal eIoni - 2 2.02 720 1.2e+03 0 0.0296 0.00782 1.08 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 126, Parent ID = 19 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 1.83 720 1.2e+03 0.716 0 0 0 Crystal initStep - 1 -8.22e-17 720 1.21e+03 0.716 0 3.38 3.38 Crystal CoupledTransportation - 2 -1.73 720 1.21e+03 0.529 0 3.2 6.58 Crystal compt - 3 -24.1 750 1.23e+03 0.406 0 41.4 48 Crystal compt - 4 -26.7 750 1.23e+03 0.406 0 2.65 50.6 Crystal CoupledTransportation - 5 -43.3 753 1.23e+03 0.326 0 17 67.7 Crystal compt - 6 -46.9 753 1.23e+03 0 0.0332 4.57 72.3 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 144, Parent ID = 126 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -46.9 753 1.23e+03 0.293 0 0 0 Crystal initStep - 1 -46.9 753 1.23e+03 0 0.293 0.319 0.319 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 143, Parent ID = 126 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -43.3 753 1.23e+03 0.08 0 0 0 Crystal initStep - 1 -43.3 753 1.23e+03 0 0.08 0.0409 0.0409 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 142, Parent ID = 126 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -24.1 750 1.23e+03 0.123 0 0 0 Crystal initStep - 1 -24.1 750 1.23e+03 0 0.123 0.0828 0.0828 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 141, Parent ID = 126 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.73 720 1.21e+03 0.187 0 0 0 Crystal initStep - 1 -1.74 720 1.21e+03 0 0.187 0.162 0.162 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 125, Parent ID = 19 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.55 719 1.2e+03 0.749 0 0 0 Crystal initStep - 1 -9.22e-17 721 1.21e+03 0.749 0 4.92 4.92 Crystal CoupledTransportation - 2 -4.5 725 1.21e+03 0.559 0 8.68 13.6 Crystal compt - 3 -11.4 733 1.21e+03 0.397 0 10.6 24.2 Crystal compt - 4 -9.94 741 1.22e+03 0 0.0332 9.02 33.2 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 147, Parent ID = 125 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -9.94 741 1.22e+03 0.363 0 0 0 Crystal initStep - 1 -9.92 741 1.22e+03 0 0.363 0.437 0.437 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 146, Parent ID = 125 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -11.4 733 1.21e+03 0.162 0 0 0 Crystal initStep - 1 -11.4 733 1.21e+03 0 0.162 0.129 0.129 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 145, Parent ID = 125 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -4.5 725 1.21e+03 0.191 0 0 0 Crystal initStep - 1 -4.5 725 1.21e+03 0 0.191 0.167 0.167 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 124, Parent ID = 19 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 2.68 719 1.2e+03 0.593 0 0 0 Crystal initStep - 1 1.19e-15 723 1.21e+03 0.593 0 10.6 10.6 Crystal CoupledTransportation - 2 -0.129 723 1.21e+03 0.269 0 0.512 11.1 Crystal compt - 3 -11.9 733 1.2e+03 0.267 0 17.3 28.4 Crystal compt - 4 -17.7 736 1.2e+03 0 0.0332 7.32 35.7 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 150, Parent ID = 124 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -17.7 736 1.2e+03 0.234 0 0 0 Crystal initStep - 1 -17.7 736 1.2e+03 0 0.234 0.229 0.229 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 149, Parent ID = 124 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -11.9 733 1.2e+03 0.00207 0 0 0 Crystal initStep - 1 -11.9 733 1.2e+03 0 0.00207 0.000131 0.000131 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 148, Parent ID = 124 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.129 723 1.21e+03 0.324 0 0 0 Crystal initStep - 1 -0.118 723 1.21e+03 0.309 0.0144 0.0258 0.0258 Crystal msc - 2 -0.119 723 1.21e+03 0.295 0.0137 0.0258 0.0516 Crystal msc - 3 -0.123 723 1.21e+03 0.284 0.0112 0.0258 0.0775 Crystal msc - 4 -0.141 723 1.21e+03 0.269 0.0152 0.0258 0.103 Crystal msc - 5 -0.151 723 1.21e+03 0.257 0.0124 0.0258 0.129 Crystal msc - 6 -0.162 723 1.21e+03 0.238 0.0181 0.0258 0.155 Crystal msc - 7 -0.18 723 1.21e+03 0.223 0.0158 0.0258 0.181 Crystal msc - 8 -0.176 723 1.21e+03 0.208 0.0149 0.0258 0.207 Crystal msc - 9 -0.163 723 1.21e+03 0.192 0.0154 0.0258 0.232 Crystal msc - 10 -0.164 723 1.21e+03 0.175 0.0177 0.0258 0.258 Crystal msc - 11 -0.167 723 1.21e+03 0.149 0.0252 0.0258 0.284 Crystal msc - 12 -0.177 723 1.21e+03 0 0.149 0.113 0.397 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.02 710 1.19e+03 0.713 0 0 0 Crystal initStep - 1 3.97 710 1.19e+03 0.112 0.601 1.08 1.08 Crystal eIoni - 2 3.97 710 1.19e+03 0 0.112 0.072 1.15 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.48 698 1.17e+03 1.64 0 0 0 Crystal initStep - 1 4.41 699 1.17e+03 1.48 0.167 0.326 0.326 Crystal msc - 2 4.43 699 1.17e+03 1.35 0.131 0.326 0.652 Crystal msc - 3 4.71 699 1.17e+03 1.22 0.129 0.326 0.978 Crystal msc - 4 4.87 699 1.17e+03 0.715 0.0609 0.167 1.15 Crystal eBrem - 5 4.95 699 1.17e+03 0.553 0.161 0.326 1.47 Crystal msc - 6 5.08 699 1.17e+03 0.319 0.234 0.326 1.8 Crystal msc - 7 5.07 699 1.17e+03 0 0.319 0.362 2.16 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 151, Parent ID = 17 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 4.87 699 1.17e+03 0.442 0 0 0 Crystal initStep - 1 7.39 700 1.17e+03 0.442 0 2.79 2.79 Crystal CoupledTransportation - 2 33.4 711 1.16e+03 0.421 0 28.8 31.6 Crystal compt - 3 44.1 718 1.17e+03 0.21 0 12.8 44.4 Crystal compt - 4 38.8 722 1.17e+03 0 0.0332 7.96 52.3 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 154, Parent ID = 151 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 38.8 722 1.17e+03 0.177 0 0 0 Crystal initStep - 1 38.8 722 1.17e+03 0 0.177 0.148 0.148 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 153, Parent ID = 151 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 44.1 718 1.17e+03 0.211 0 0 0 Crystal initStep - 1 44.1 718 1.17e+03 0 0.211 0.195 0.195 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 152, Parent ID = 151 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 33.4 711 1.16e+03 0.0202 0 0 0 Crystal initStep - 1 33.4 711 1.16e+03 0 0.0202 0.00412 0.00412 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.94 683 1.14e+03 1.91 0 0 0 Crystal initStep - 1 3.53 684 1.14e+03 0.85 1.06 2.05 2.05 Crystal eIoni - 2 3.26 683 1.14e+03 0.409 0.385 0.818 2.87 Crystal eBrem - 3 3.31 683 1.14e+03 0 0.409 0.516 3.38 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 155, Parent ID = 16 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.26 683 1.14e+03 0.0563 0 0 0 Crystal initStep - 1 3.51 683 1.14e+03 0 0.0332 0.289 0.289 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 156, Parent ID = 155 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.51 683 1.14e+03 0.0231 0 0 0 Crystal initStep - 1 3.51 683 1.14e+03 0 0.0231 0.00519 0.00519 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.9 681 1.14e+03 0.705 0 0 0 Crystal initStep - 1 3.83 681 1.14e+03 0 0.705 1.06 1.06 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.89 681 1.14e+03 1.16 0 0 0 Crystal initStep - 1 3.41 680 1.14e+03 0.436 0.726 1.58 1.58 Crystal eIoni - 2 3.41 680 1.14e+03 0 0.436 0.564 2.15 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 3.27 670 1.12e+03 1.29 0 0 0 Crystal initStep - 1 3.39 671 1.12e+03 0.361 0.928 1.68 1.68 Crystal eIoni - 2 3.35 671 1.12e+03 0 0.361 0.432 2.11 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.112 620 1.03e+03 0.998 0 0 0 Crystal initStep - 1 -0.136 620 1.03e+03 0.984 0.0145 0.0327 0.0327 Crystal msc - 2 -0.157 620 1.04e+03 0.973 0.0112 0.0327 0.0655 Crystal msc - 3 -0.184 620 1.04e+03 0.962 0.0106 0.0327 0.0982 Crystal msc - 4 -0.206 620 1.04e+03 0.946 0.0157 0.0327 0.131 Crystal msc - 5 -0.236 620 1.04e+03 0.933 0.0131 0.0327 0.164 Crystal msc - 6 -0.262 620 1.04e+03 0.903 0.0301 0.0327 0.196 Crystal msc - 7 -0.284 620 1.04e+03 0.894 0.00937 0.0327 0.229 Crystal msc - 8 -0.292 620 1.03e+03 0.881 0.0129 0.0327 0.262 Crystal msc - 9 -0.302 620 1.03e+03 0.867 0.014 0.0327 0.295 Crystal msc - 10 -0.298 620 1.03e+03 0.85 0.0171 0.0327 0.327 Crystal msc - 11 -0.288 620 1.03e+03 0.84 0.00953 0.0327 0.36 Crystal msc - 12 -0.271 620 1.03e+03 0.832 0.0085 0.0327 0.393 Crystal msc - 13 -0.273 620 1.03e+03 0.814 0.0174 0.0327 0.426 Crystal msc - 14 -0.28 620 1.03e+03 0.806 0.00857 0.0327 0.458 Crystal msc - 15 -0.301 620 1.03e+03 0.79 0.0155 0.0327 0.491 Crystal msc - 16 -0.29 620 1.03e+03 0.78 0.00984 0.0327 0.524 Crystal msc - 17 -0.293 620 1.03e+03 0.758 0.0226 0.0327 0.557 Crystal msc - 18 -0.289 620 1.04e+03 0.628 0.13 0.0327 0.589 Crystal msc - 19 -0.298 620 1.04e+03 0.612 0.0159 0.0327 0.622 Crystal msc - 20 -0.309 620 1.04e+03 0.595 0.017 0.0327 0.655 Crystal msc - 21 -0.325 620 1.04e+03 0.584 0.0111 0.0327 0.688 Crystal msc - 22 -0.342 620 1.04e+03 0.571 0.0125 0.0327 0.72 Crystal msc - 23 -0.345 620 1.04e+03 0.542 0.0291 0.0327 0.753 Crystal msc - 24 -0.37 620 1.04e+03 0.529 0.0129 0.0327 0.786 Crystal msc - 25 -0.393 620 1.04e+03 0.512 0.0166 0.0327 0.818 Crystal msc - 26 -0.403 620 1.04e+03 0.497 0.0152 0.0327 0.851 Crystal msc - 27 -0.409 620 1.04e+03 0.478 0.019 0.0327 0.884 Crystal msc - 28 -0.407 620 1.04e+03 0.461 0.0172 0.0327 0.917 Crystal msc - 29 -0.431 620 1.04e+03 0.442 0.0191 0.0327 0.949 Crystal msc - 30 -0.415 620 1.04e+03 0.432 0.00995 0.0327 0.982 Crystal msc - 31 -0.435 620 1.04e+03 0.419 0.0132 0.0327 1.01 Crystal msc - 32 -0.464 620 1.04e+03 0.394 0.0246 0.0327 1.05 Crystal msc - 33 -0.478 620 1.04e+03 0.377 0.0174 0.0327 1.08 Crystal msc - 34 -0.49 620 1.04e+03 0.359 0.0178 0.0327 1.11 Crystal msc - 35 -0.524 620 1.04e+03 0 0.359 0.429 1.54 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.477 610 1.02e+03 3.49 0 0 0 Crystal initStep - 1 -0.545 611 1.02e+03 2.89 0.0605 0.145 0.145 Crystal eBrem - 2 -0.644 611 1.02e+03 2.82 0.0705 0.162 0.307 Crystal msc - 3 -0.571 611 1.02e+03 2.75 0.0686 0.162 0.469 Crystal msc - 4 -0.561 611 1.02e+03 2.69 0.0619 0.162 0.632 Crystal msc - 5 -0.579 611 1.02e+03 2.61 0.0792 0.162 0.794 Crystal msc - 6 -0.599 611 1.02e+03 2.51 0.0925 0.162 0.956 Crystal msc - 7 -0.728 611 1.02e+03 2.45 0.0661 0.162 1.12 Crystal msc - 8 -0.816 611 1.02e+03 2.39 0.0566 0.162 1.28 Crystal msc - 9 -0.909 611 1.02e+03 2.32 0.0694 0.162 1.44 Crystal msc - 10 -1.01 611 1.02e+03 2.19 0.131 0.162 1.6 Crystal msc - 11 -0.963 611 1.02e+03 1.79 0.404 0.162 1.77 Crystal msc - 12 -0.854 612 1.02e+03 1.71 0.0744 0.162 1.93 Crystal msc - 13 -0.763 612 1.02e+03 1.65 0.0658 0.162 2.09 Crystal msc - 14 -0.768 612 1.02e+03 1.58 0.0629 0.162 2.25 Crystal msc - 15 -0.764 612 1.02e+03 1.4 0.179 0.162 2.42 Crystal msc - 16 -0.778 612 1.02e+03 1.21 0.0264 0.0732 2.49 Crystal eBrem - 17 -0.811 612 1.02e+03 1.13 0.0823 0.162 2.65 Crystal msc - 18 -0.917 612 1.02e+03 1.06 0.0631 0.162 2.81 Crystal msc - 19 -1.03 612 1.02e+03 0.996 0.067 0.162 2.98 Crystal msc - 20 -1.11 612 1.02e+03 0.914 0.0814 0.162 3.14 Crystal msc - 21 -1.17 612 1.02e+03 0.849 0.0653 0.162 3.3 Crystal msc - 22 -1.16 612 1.02e+03 0.779 0.0703 0.162 3.46 Crystal msc - 23 -1.11 612 1.02e+03 0.617 0.0861 0.16 3.62 Crystal eBrem - 24 -1.1 612 1.02e+03 0 0.617 0.898 4.52 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 159, Parent ID = 11 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.11 612 1.02e+03 0.0757 0 0 0 Crystal initStep - 1 -1.11 612 1.02e+03 0 0.0332 0.0441 0.0441 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 160, Parent ID = 159 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.11 612 1.02e+03 0.0425 0 0 0 Crystal initStep - 1 -1.11 612 1.02e+03 0 0.0425 0.0144 0.0144 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 158, Parent ID = 11 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.778 612 1.02e+03 0.17 0 0 0 Crystal initStep - 1 -4.42 614 1.04e+03 0 0.0332 16.9 16.9 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 161, Parent ID = 158 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -4.42 614 1.04e+03 0.137 0 0 0 Crystal initStep - 1 -4.42 614 1.04e+03 0 0.137 0.0993 0.0993 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 157, Parent ID = 11 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.545 611 1.02e+03 0.546 0 0 0 Crystal initStep - 1 -41.2 625 1.03e+03 0.196 0 45.9 45.9 Crystal compt - 2 -39.8 625 1.03e+03 0 0.0332 2.89 48.8 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 163, Parent ID = 157 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -39.8 625 1.03e+03 0.162 0 0 0 Crystal initStep - 1 -39.8 625 1.03e+03 0 0.162 0.129 0.129 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 162, Parent ID = 157 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -41.2 625 1.03e+03 0.35 0 0 0 Crystal initStep - 1 -41.2 625 1.03e+03 0 0.35 0.414 0.414 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.477 607 1.01e+03 2.99 0 0 0 Crystal initStep - 1 -0.423 608 1.01e+03 2.94 0.0472 0.132 0.132 Crystal msc - 2 -0.428 608 1.01e+03 2.89 0.0512 0.132 0.264 Crystal msc - 3 -0.462 608 1.01e+03 2.84 0.0533 0.132 0.397 Crystal msc - 4 -0.479 608 1.01e+03 2.78 0.0601 0.132 0.529 Crystal msc - 5 -0.518 608 1.01e+03 2.72 0.0527 0.132 0.661 Crystal msc - 6 -0.551 608 1.01e+03 2.63 0.0896 0.132 0.793 Crystal msc - 7 -0.633 608 1.01e+03 2.59 0.0478 0.132 0.926 Crystal msc - 8 -0.728 608 1.01e+03 2.53 0.0503 0.132 1.06 Crystal msc - 9 -0.849 608 1.01e+03 2.47 0.065 0.132 1.19 Crystal msc - 10 -0.937 608 1.01e+03 2.4 0.0678 0.132 1.32 Crystal msc - 11 -0.981 608 1.01e+03 2.27 0.129 0.132 1.45 Crystal msc - 12 -1.03 608 1.01e+03 2.21 0.0592 0.132 1.59 Crystal msc - 13 -1.12 608 1.01e+03 2.16 0.0554 0.132 1.72 Crystal msc - 14 -1.25 608 1.01e+03 2.11 0.0482 0.132 1.85 Crystal msc - 15 -1.33 609 1.01e+03 2.02 0.0893 0.132 1.98 Crystal msc - 16 -1.44 609 1.01e+03 1.97 0.0527 0.132 2.12 Crystal msc - 17 -1.53 609 1.01e+03 1.91 0.0574 0.132 2.25 Crystal msc - 18 -1.63 609 1.01e+03 1.85 0.0645 0.132 2.38 Crystal msc - 19 -1.73 609 1.01e+03 1.8 0.0472 0.132 2.51 Crystal msc - 20 -1.77 609 1.01e+03 1.75 0.0465 0.132 2.64 Crystal msc - 21 -1.81 608 1.01e+03 1.67 0.0874 0.132 2.78 Crystal msc - 22 -1.89 608 1.01e+03 1.61 0.0588 0.132 2.91 Crystal msc - 23 -1.96 608 1.01e+03 1.54 0.0692 0.132 3.04 Crystal msc - 24 -2.05 608 1.01e+03 1.48 0.0559 0.132 3.17 Crystal msc - 25 -2 608 1.01e+03 1.43 0.0479 0.132 3.31 Crystal msc - 26 -1.89 608 1.01e+03 1.38 0.0551 0.132 3.44 Crystal msc - 27 -1.81 608 1.01e+03 1.35 0.0321 0.0897 3.53 Crystal eBrem - 28 -1.77 608 1.01e+03 1.29 0.0591 0.132 3.66 Crystal msc - 29 -1.73 608 1.01e+03 1.24 0.0512 0.132 3.79 Crystal msc - 30 -1.65 608 1.01e+03 1.13 0.104 0.132 3.92 Crystal msc - 31 -1.6 608 1.01e+03 1 0.13 0.132 4.06 Crystal msc - 32 -1.59 609 1.01e+03 0.949 0.0534 0.132 4.19 Crystal msc - 33 -1.53 609 1.01e+03 0.894 0.0548 0.132 4.32 Crystal msc - 34 -1.25 609 1.01e+03 0.6 0.253 0.557 4.88 Crystal eBrem - 35 -1.25 609 1.01e+03 0 0.6 0.867 5.75 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 164, Parent ID = 10 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.25 609 1.01e+03 0.0409 0 0 0 Crystal initStep - 1 -1.25 609 1.01e+03 0 0.0332 0.00826 0.00826 Crystal phot - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 165, Parent ID = 164 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.25 609 1.01e+03 0.00774 0 0 0 Crystal initStep - 1 -1.25 609 1.01e+03 0 0.00774 0.000891 0.000891 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.636 601 1e+03 1.36 0 0 0 Crystal initStep - 1 -0.669 601 1e+03 1.29 0.0659 0.127 0.127 Crystal msc - 2 -0.688 601 1e+03 1.22 0.0741 0.127 0.254 Crystal msc - 3 -0.7 601 1e+03 1.17 0.0449 0.127 0.382 Crystal msc - 4 -0.751 601 1e+03 1.13 0.0368 0.127 0.509 Crystal msc - 5 -0.755 602 1e+03 1.08 0.0529 0.127 0.636 Crystal msc - 6 -0.836 602 1e+03 1.03 0.0512 0.127 0.763 Crystal msc - 7 -0.879 602 1e+03 0.982 0.0471 0.127 0.89 Crystal msc - 8 -0.938 602 1e+03 0.882 0.101 0.127 1.02 Crystal msc - 9 -0.946 602 1e+03 0.834 0.048 0.127 1.14 Crystal msc - 10 -1.02 602 1e+03 0.775 0.0587 0.127 1.27 Crystal msc - 11 -1 602 1e+03 0.712 0.0628 0.127 1.4 Crystal msc - 12 -1.03 602 1e+03 0.665 0.0474 0.127 1.53 Crystal msc - 13 -1.14 602 1e+03 0.61 0.0545 0.127 1.65 Crystal msc - 14 -1.24 602 1e+03 0.553 0.0572 0.127 1.78 Crystal msc - 15 -1.3 602 1e+03 0 0.553 0.779 2.56 Crystal eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.622 597 995 0.00122 0 0 0 WorldPhysical initStep - 1 -0.623 597 995 0.00119 2.37e-05 0.00198 0.00198 WorldPhysical msc - 2 -0.633 597 995 0 0.00119 0.0736 0.0755 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.616 587 979 0.0034 0 0 0 WorldPhysical initStep - 1 -0.612 587 979 0.00333 6.94e-05 0.0114 0.0114 WorldPhysical msc - 2 -0.607 587 979 0 0.00333 0.358 0.369 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.58 552 920 0.00108 0 0 0 WorldPhysical initStep - 1 -0.581 552 920 0.00108 0 0.00161 0.00161 WorldPhysical msc - 2 -0.593 551 920 0 0.00108 0.0647 0.0663 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0996 122 203 0.00179 0 0 0 DriftChamberPhysical initStep - 1 -0.0839 122 203 0 0.00179 0.742 0.742 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0191 57.7 96.2 0.00921 0 0 0 WorldPhysical initStep - 1 -0.0132 57.8 96.1 0.00898 0.00023 0.0666 0.0666 WorldPhysical msc - 2 -0.649 57.7 95.3 0.00473 0.00425 1.63 1.7 WorldPhysical eIoni - 3 -0.713 57.8 95.3 0 0.00473 0.657 2.35 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0143 52.4 87.3 0.00217 0 0 0 WorldPhysical initStep - 1 -0.0167 52.4 87.3 0.00215 2.49e-05 0.00522 0.00522 WorldPhysical msc - 2 -0.0371 52.3 87.4 0 0.00215 0.175 0.181 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00202 17.3 28.9 0.00264 0 0 0 WorldPhysical initStep - 1 0.00219 17.3 28.9 0.00264 0 0.00738 0.00738 WorldPhysical msc - 2 0.0199 17.4 28.8 0 0.00264 0.244 0.251 WorldPhysical eIoni ->>> Event 0 - 13 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2993775602288603 (GeV) - 5 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7275652889656623 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00653 27.5 45.8 1e+03 0.00797 53.5 53.5 WorldPhysical hIoni - 2 0.00653 28.3 47.1 1e+03 4.87e-05 1.48 54.9 WorldPhysical hIoni - 3 0.018 60 100 1e+03 0.0108 61.7 117 DriftChamberPhysical CoupledTransportation - 4 0.0414 197 329 1e+03 0.00574 267 383 DriftChamberPhysical msc - 5 0.0964 334 557 1e+03 0.00592 267 650 DriftChamberPhysical msc - 6 0.118 472 786 1e+03 0.00612 267 916 DriftChamberPhysical msc - 7 0.122 491 818 1e+03 0.000793 37.9 954 DriftChamberPhysical hIoni - 8 0.133 540 900 1e+03 0.00186 95.4 1.05e+03 WorldPhysical CoupledTransportation - 9 0.134 543 905 1e+03 0.00112 5.86 1.06e+03 WorldPhysical hIoni - 10 0.131 570 950 1e+03 0.0113 79.6 1.14e+03 WorldPhysical hIoni -ExN05PionShowerModel::DoIt - 11 0.131 570 950 0 1e+03 0 1.14e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.131 570 950 0.0025 0 0 0 WorldPhysical initStep - 1 0.129 570 950 0.00246 3.39e-05 0.0068 0.0068 WorldPhysical msc - 2 0.13 570 950 0 0.00246 0.217 0.224 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.134 543 905 0.00137 0 0 0 WorldPhysical initStep - 1 0.131 543 905 0.00134 3.17e-05 0.00239 0.00239 WorldPhysical msc - 2 0.115 543 905 0 0.00134 0.0865 0.0889 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.122 491 818 0.00567 0 0 0 DriftChamberPhysical initStep - 1 -0.891 490 820 0.00414 0.00154 2.54 2.54 DriftChamberPhysical eIoni - 2 -2.35 489 820 0.00214 0.00199 1.7 4.24 DriftChamberPhysical eIoni - 3 -2.36 488 820 0 0.00214 0.989 5.23 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00653 28.3 47.1 0.0429 0 0 0 WorldPhysical initStep - 1 -1.01 28.3 47.4 0.042 0.000837 1.07 1.07 WorldPhysical msc - 2 -8.28 26.4 51.3 0.0355 0.00657 8.52 9.59 WorldPhysical eIoni - 3 -14.3 26.3 54 0.029 0.00648 6.68 16.3 WorldPhysical eIoni - 4 -16.6 25.8 58.2 0.023 0.00595 5.08 21.3 WorldPhysical eIoni - 5 -17 26 59.6 0.0199 0.00203 1.65 23 WorldPhysical eIoni - 6 -16.9 25.8 59.7 0.0162 0.000104 0.269 23.3 WorldPhysical eIoni - 7 -15.1 24.2 59.9 0.0112 0.00499 2.67 25.9 WorldPhysical eIoni - 8 -13.6 23.8 59.5 0.00322 0.00513 1.7 27.6 WorldPhysical eIoni - 9 -13.6 23.8 59.5 0 0.00322 0.338 28 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -13.6 23.8 59.5 0.00282 0 0 0 WorldPhysical initStep - 1 -13.6 23.8 59.5 0.00282 0 0.0082 0.0082 WorldPhysical msc - 2 -13.6 23.8 59.4 0 0.00282 0.273 0.281 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -16.9 25.8 59.7 0.00361 0 0 0 WorldPhysical initStep - 1 -16.9 25.8 59.7 0.00355 6.57e-05 0.0126 0.0126 WorldPhysical msc - 2 -16.9 25.7 59.5 0 0.00355 0.4 0.413 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -17 26 59.6 0.00111 0 0 0 WorldPhysical initStep - 1 -17 26 59.6 0.00111 0 0.00167 0.00167 WorldPhysical msc - 2 -17 26 59.6 0 0.00111 0.0666 0.0683 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00653 27.5 45.8 0.00122 0 0 0 WorldPhysical initStep - 1 0.00646 27.5 45.8 0.00112 9.83e-05 0.002 0.002 WorldPhysical msc - 2 0.00879 27.5 45.9 0 0.00112 0.068 0.07 WorldPhysical eIoni ->>> Event 1 - 4 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.09998947233625742 (GeV) - 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.739922095288305 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.000636 11.1 18.4 1e+03 0.00306 21.5 21.5 WorldPhysical hIoni - 2 0.00203 16.1 26.8 1e+03 0.00105 9.78 31.3 WorldPhysical hIoni - 3 0.0036 46.7 77.8 1e+03 0.00878 59.4 90.7 WorldPhysical hIoni - 4 -0.0122 60 100 1e+03 0.00411 25.9 117 DriftChamberPhysical CoupledTransportation - 5 -0.148 197 329 1e+03 0.00547 267 383 DriftChamberPhysical msc - 6 -0.272 334 557 1e+03 0.00631 267 650 DriftChamberPhysical msc - 7 -0.39 471 786 1e+03 0.00551 267 916 DriftChamberPhysical msc - 8 -0.455 540 900 1e+03 0.00362 133 1.05e+03 WorldPhysical CoupledTransportation - 9 -0.477 564 940 1e+03 0.00898 46.7 1.1e+03 WorldPhysical hIoni - 10 -0.476 570 950 1e+03 0.00908 69.9 1.17e+03 WorldPhysical CoupledTransportation -ExN05PionShowerModel::DoIt - 11 -0.476 570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.477 564 940 0.00122 0 0 0 WorldPhysical initStep - 1 -0.478 564 940 0.00122 0 0.002 0.002 WorldPhysical msc - 2 -0.51 564 940 0 0.00122 0.076 0.078 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0036 46.7 77.8 0.00156 0 0 0 WorldPhysical initStep - 1 0.00302 46.7 77.8 0.00156 7.73e-06 0.00304 0.00304 WorldPhysical msc - 2 0.00489 46.6 77.8 0 0.00156 0.107 0.11 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00203 16.1 26.8 0.00157 0 0 0 WorldPhysical initStep - 1 0.00206 16.1 26.8 0.00152 4.12e-05 0.00305 0.00305 WorldPhysical msc - 2 0.00423 16.1 26.8 0 0.00152 0.104 0.107 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.000636 11.1 18.4 0.00349 0 0 0 WorldPhysical initStep - 1 0.00527 11.1 18.4 0.00346 3.25e-05 0.0119 0.0119 WorldPhysical msc - 2 0.192 11.1 18.4 0.000304 0.00316 0.286 0.298 WorldPhysical eIoni - 3 0.192 11.1 18.4 0 0.000304 0.0169 0.315 WorldPhysical eIoni ->>> Event 2 - 10 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2599834078667342 (GeV) - 13 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.6599578815078637 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.000124 2.1 3.5 1e+03 0.000324 4.08 4.08 WorldPhysical hIoni - 2 0.000993 60 100 1e+03 0.0164 113 117 DriftChamberPhysical CoupledTransportation - 3 0.0711 197 329 1e+03 0.00683 267 383 DriftChamberPhysical msc - 4 0.151 317 528 1e+03 0.00434 232 615 DriftChamberPhysical hIoni - 5 0.234 454 756 1e+03 0.00693 267 882 DriftChamberPhysical msc - 6 0.235 455 759 1e+03 0.000394 3.43 885 DriftChamberPhysical hIoni - 7 0.308 540 900 1e+03 0.00332 164 1.05e+03 WorldPhysical CoupledTransportation - 8 0.32 555 925 1e+03 0.00428 28.8 1.08e+03 WorldPhysical hIoni - 9 0.325 570 950 1e+03 0.0136 87.9 1.17e+03 WorldPhysical CoupledTransportation -ExN05PionShowerModel::DoIt - 10 0.325 570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.32 555 925 0.00276 0 0 0 WorldPhysical initStep - 1 0.318 555 925 0.00275 1.21e-05 0.00789 0.00789 WorldPhysical msc - 2 0.28 555 925 0 0.00275 0.26 0.268 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.235 455 759 0.00385 0 0 0 DriftChamberPhysical initStep - 1 -1.18 457 759 0.00146 0.00239 1.84 1.84 DriftChamberPhysical eIoni - 2 -1.43 457 758 0 0.00146 0.539 2.38 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.151 317 528 0.00212 0 0 0 DriftChamberPhysical initStep - 1 0.621 317 527 0 0.00212 0.975 0.975 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.000124 2.1 3.5 0.00129 0 0 0 WorldPhysical initStep - 1 -0.00155 2.1 3.5 0.00129 0 0.00219 0.00219 WorldPhysical msc - 2 -0.0323 2.12 3.47 0 0.00129 0.0816 0.0838 WorldPhysical eIoni ->>> Event 3 - 8 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2199853865030743 (GeV) - 8 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.6999535025097816 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 60 100 1e+03 0.0191 117 117 DriftChamberPhysical CoupledTransportation - 2 0.0331 162 270 1e+03 0.00463 198 314 DriftChamberPhysical hIoni - 3 0.0453 194 323 1e+03 0.0025 62.7 377 DriftChamberPhysical hIoni - 4 0.128 331 552 1e+03 0.00692 267 644 DriftChamberPhysical msc - 5 0.262 468 781 1e+03 0.00671 267 910 DriftChamberPhysical msc - 6 0.324 540 900 1e+03 0.00412 139 1.05e+03 WorldPhysical CoupledTransportation - 7 0.327 544 907 1e+03 0.0024 8.23 1.06e+03 WorldPhysical hIoni - 8 0.328 570 950 1e+03 0.0146 108 1.17e+03 WorldPhysical CoupledTransportation -ExN05PionShowerModel::DoIt - 9 0.328 570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.327 544 907 0.00449 0 0 0 WorldPhysical initStep - 1 0.344 544 907 0.00449 0 0.0185 0.0185 WorldPhysical msc - 2 0.398 544 907 0 0.00449 0.602 0.621 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0453 194 323 0.00123 0 0 0 DriftChamberPhysical initStep - 1 -0.161 194 324 0 0.00123 0.415 0.415 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0331 162 270 0.00149 0 0 0 DriftChamberPhysical initStep - 1 0.00757 162 269 0 0.00149 0.555 0.555 DriftChamberPhysical eIoni ->>> Event 4 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2599822598904041 (GeV) - 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7199508735426573 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -number of event = 5 -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -### Run 5 start. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 30 100 1e+03 0.0217 104 104 DriftChamberPhysical CoupledTransportation - 2 0.00526 57.8 193 1e+03 0.00186 96.6 201 DriftChamberPhysical hIoni - 3 0.0166 98.4 328 1e+03 0.00461 142 343 DriftChamberPhysical hIoni - 4 0.0556 164 548 1e+03 0.00578 229 572 DriftChamberPhysical hIoni - 5 0.088 233 776 1e+03 0.0058 239 810 DriftChamberPhysical msc - 6 0.107 270 900 1e+03 0.00207 129 940 WorldPhysical CoupledTransportation - 7 0.113 285 950 1e+03 0.0136 87 1.03e+03 WorldPhysical hIoni -ExN05PionShowerModel::DoIt - 8 0.113 285 950 0 1e+03 0 1.03e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.113 285 950 0.00501 0 0 0 WorldPhysical initStep - 1 0.0906 285 950 0.00497 3.62e-05 0.0231 0.0231 WorldPhysical msc - 2 0.0794 285 950 0 0.00497 0.713 0.736 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0556 164 548 0.00484 0 0 0 DriftChamberPhysical initStep - 1 2.06 163 548 0.00332 0.00152 2.21 2.21 DriftChamberPhysical eIoni - 2 2.85 162 548 0.000572 0.00275 1.63 3.84 DriftChamberPhysical eIoni - 3 2.86 162 548 0 0.000572 0.153 4 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0166 98.4 328 0.00152 0 0 0 DriftChamberPhysical initStep - 1 -0.359 98.8 328 0 0.00152 0.573 0.573 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00526 57.8 193 0.00237 0 0 0 DriftChamberPhysical initStep - 1 0.461 58.7 193 4.5e-05 0.00232 1.15 1.15 DriftChamberPhysical eIoni - 2 0.47 58.7 193 0 4.5e-05 0.0314 1.18 DriftChamberPhysical eIoni ->>> Event 0 - 3 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.05999584606632728 (GeV) - 10 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9399349217057942 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00548 13.8 45.9 1e+03 0.00702 47.9 47.9 WorldPhysical hIoni - 2 0.00123 30 100 1e+03 0.0081 56.5 104 DriftChamberPhysical CoupledTransportation - 3 -0.0174 98.5 329 1e+03 0.00549 239 343 DriftChamberPhysical msc - 4 -0.000341 167 557 1e+03 0.00533 239 582 DriftChamberPhysical msc - 5 0.00511 214 714 1e+03 0.00432 164 746 DriftChamberPhysical hIoni - 6 0.0142 251 836 1e+03 0.00256 127 873 DriftChamberPhysical hIoni - 7 0.0204 270 900 1e+03 0.00155 66.3 940 WorldPhysical CoupledTransportation - 8 0.0205 274 915 1e+03 0.00271 15.5 955 WorldPhysical hIoni - 9 0.0206 277 924 1e+03 0.000622 9.41 964 WorldPhysical hIoni - 10 0.0122 285 950 1e+03 0.0115 79.5 1.04e+03 WorldPhysical CoupledTransportation -ExN05PionShowerModel::DoIt - 11 0.0122 285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0206 277 924 0.0587 0 0 0 WorldPhysical initStep - 1 -1.59 276 925 0.058 0.000751 1.86 1.86 WorldPhysical msc - 2 -1.65 276 925 0.049 0 0.0715 1.93 WorldPhysical eIoni - 3 -3.05 275 925 0.0482 0.000772 1.86 3.79 WorldPhysical msc - 4 -4.79 274 925 0.0477 0.00055 1.86 5.65 WorldPhysical msc - 5 -6.26 273 925 0.0461 0.00155 1.86 7.52 WorldPhysical msc - 6 -7.94 273 925 0.0454 0.000738 1.86 9.38 WorldPhysical msc - 7 -8.78 271 926 0.0434 0.000682 1.81 11.2 WorldPhysical eIoni - 8 -9.78 270 927 0.0416 0.00183 1.86 13 WorldPhysical msc - 9 -10.8 270 929 0.0407 0.000898 1.86 14.9 WorldPhysical msc - 10 -12.1 269 930 0.0398 0.000953 1.86 16.8 WorldPhysical msc - 11 -13.5 268 931 0.0374 0.00239 1.86 18.6 WorldPhysical msc - 12 -15 268 931 0.0358 0.0016 1.86 20.5 WorldPhysical msc - 13 -19.2 265 936 0.0312 0.00455 6.76 27.3 WorldPhysical eIoni - 14 -20.6 264 937 0.0188 0.00129 1.97 29.2 WorldPhysical eIoni - 15 -23.4 264 937 0.013 0.00575 3.09 32.3 WorldPhysical eIoni - 16 -24.4 266 936 0.00793 0.00338 2.1 34.4 WorldPhysical eIoni - 17 -24.7 265 935 0.00223 0.00571 1.44 35.9 WorldPhysical eIoni - 18 -24.6 265 936 0 0.00223 0.186 36 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 6 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -24.4 266 936 0.00173 0 0 0 WorldPhysical initStep - 1 -24.4 266 936 0.00173 0 0.00353 0.00353 WorldPhysical msc - 2 -24.4 266 936 0 0.00173 0.126 0.129 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 6 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -20.6 264 937 0.0111 0 0 0 WorldPhysical initStep - 1 -20.6 264 937 0.0111 6.86e-05 0.0938 0.0938 WorldPhysical msc - 2 -21.3 265 938 0.00739 0.00369 1.94 2.04 WorldPhysical eIoni - 3 -21.3 266 938 0.000813 0.00658 1.34 3.38 WorldPhysical eIoni - 4 -21.3 266 938 0 0.000813 0.0446 3.42 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 6 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -8.78 271 926 0.00125 0 0 0 WorldPhysical initStep - 1 -8.78 271 926 0.00121 4.91e-05 0.00211 0.00211 WorldPhysical msc - 2 -8.79 271 926 0 0.00121 0.0746 0.0767 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 6 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.65 276 925 0.00897 0 0 0 WorldPhysical initStep - 1 -1.66 276 925 0.00895 2.03e-05 0.0634 0.0634 WorldPhysical msc - 2 -2.52 276 925 0.00109 0.00786 1.62 1.69 WorldPhysical eIoni - 3 -2.51 276 925 0 0.00109 0.0653 1.75 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0205 274 915 0.00137 0 0 0 WorldPhysical initStep - 1 0.0184 274 915 0.00136 1.22e-05 0.00239 0.00239 WorldPhysical msc - 2 -0.0331 274 915 0 0.00136 0.0885 0.0908 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0142 251 836 0.00723 0 0 0 DriftChamberPhysical initStep - 1 -1.56 253 837 0.00593 0.00129 3.19 3.19 DriftChamberPhysical eIoni - 2 -2.09 255 835 0.00406 0.00187 2.64 5.83 DriftChamberPhysical eIoni - 3 -3.71 255 834 0.00255 0.00151 1.92 7.75 DriftChamberPhysical eIoni - 4 -4.23 255 833 0.00107 0.00148 0.81 8.56 DriftChamberPhysical eIoni - 5 -4.33 255 833 0 0.00107 0.339 8.9 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00511 214 714 0.00105 0 0 0 DriftChamberPhysical initStep - 1 -0.0222 214 714 0 0.00105 0.33 0.33 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00548 13.8 45.9 0.00329 0 0 0 WorldPhysical initStep - 1 0.0161 13.8 45.9 0.00328 3.68e-06 0.0108 0.0108 WorldPhysical msc - 2 0.207 13.8 45.9 0 0.00328 0.349 0.36 WorldPhysical eIoni ->>> Event 1 - 2 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.03999516657725281 (GeV) - 14 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.939886414565441 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 30 100 1e+03 0.0175 104 104 DriftChamberPhysical CoupledTransportation - 2 0.0339 84.5 282 1e+03 0.00455 190 294 DriftChamberPhysical hIoni - 3 0.0769 153 510 1e+03 0.00628 239 533 DriftChamberPhysical msc - 4 0.135 222 739 1e+03 0.00599 239 771 DriftChamberPhysical msc - 5 0.152 238 792 1e+03 0.00135 56 827 DriftChamberPhysical hIoni - 6 0.155 240 800 1e+03 0.000101 7.67 835 DriftChamberPhysical hIoni - 7 0.19 270 900 1e+03 0.0031 105 940 WorldPhysical CoupledTransportation - 8 0.227 285 950 1e+03 0.017 104 1.04e+03 WorldPhysical CoupledTransportation -ExN05PionShowerModel::DoIt - 9 0.227 285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.155 240 800 0.0117 0 0 0 DriftChamberPhysical initStep - 1 1.05 245 799 0.0101 0.00155 5.62 5.62 DriftChamberPhysical eIoni - 2 1.38 250 797 0.00757 0.00253 4.65 10.3 DriftChamberPhysical eIoni - 3 2.99 253 797 0.00483 0.00274 3.34 13.6 DriftChamberPhysical eIoni - 4 4.71 254 797 0.00319 0.00164 2.21 15.8 DriftChamberPhysical eIoni - 5 5.34 255 797 0.00174 0.00145 1.57 17.4 DriftChamberPhysical eIoni - 6 5.29 256 797 0 0.00174 0.711 18.1 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.152 238 792 0.00388 0 0 0 DriftChamberPhysical initStep - 1 -0.981 237 793 0.00136 0.00252 1.85 1.85 DriftChamberPhysical eIoni - 2 -1.24 236 793 0 0.00136 0.486 2.34 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0339 84.5 282 0.000997 0 0 0 DriftChamberPhysical initStep - 1 -0.121 84.6 282 0 0.000997 0.306 0.306 DriftChamberPhysical eIoni ->>> Event 2 - 1 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.01999855289847564 (GeV) - 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9799290920253061 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -6.04e-06 0.435 1.45 1e+03 5.67e-05 1.51 1.51 WorldPhysical hIoni - 2 -0.0075 16.6 55.2 1e+03 0.00966 56.1 57.6 WorldPhysical hIoni - 3 -0.00688 30 100 1e+03 0.00726 46.8 104 DriftChamberPhysical CoupledTransportation - 4 -0.0382 98.6 329 1e+03 0.00619 239 343 DriftChamberPhysical msc - 5 -0.092 167 557 1e+03 0.00571 239 582 DriftChamberPhysical msc - 6 -0.154 236 786 1e+03 0.00607 239 820 DriftChamberPhysical msc - 7 -0.176 270 900 1e+03 0.00268 119 940 WorldPhysical CoupledTransportation - 8 -0.173 285 950 1e+03 0.0138 103 1.04e+03 WorldPhysical hIoni -ExN05PionShowerModel::DoIt - 9 -0.173 285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.173 285 950 0.00386 0 0 0 WorldPhysical initStep - 1 -0.181 285 950 0.00384 2.68e-05 0.0144 0.0144 WorldPhysical msc - 2 -0.283 285 950 0 0.00384 0.456 0.47 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0075 16.6 55.2 0.00125 0 0 0 WorldPhysical initStep - 1 -0.00938 16.6 55.2 0.00125 0 0.00209 0.00209 WorldPhysical msc - 2 -0.0299 16.6 55.2 0 0.00125 0.0782 0.0803 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -6.04e-06 0.435 1.45 0.00231 0 0 0 WorldPhysical initStep - 1 0.0042 0.431 1.45 0.00231 0 0.00578 0.00578 WorldPhysical msc - 2 0.0184 0.413 1.46 0 0.00231 0.196 0.202 WorldPhysical eIoni ->>> Event 3 - 0 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0 (GeV) - 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9999411708949256 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00597 16.5 54.8 1e+03 0.00838 57.3 57.3 WorldPhysical hIoni - 2 0.00747 21.9 72.9 1e+03 0.00241 18.9 76.1 WorldPhysical hIoni - 3 0.0118 28.1 93.7 1e+03 0.0026 21.7 97.8 WorldPhysical hIoni - 4 0.0133 30 100 1e+03 0.00111 6.6 104 DriftChamberPhysical CoupledTransportation - 5 0.0931 98.6 329 1e+03 0.00549 239 343 DriftChamberPhysical msc - 6 0.181 167 557 1e+03 0.00551 239 582 DriftChamberPhysical msc - 7 0.233 236 786 1e+03 0.00564 239 820 DriftChamberPhysical msc - 8 0.253 270 900 1e+03 0.00242 119 940 WorldPhysical CoupledTransportation - 9 0.242 285 950 1e+03 0.0147 104 1.04e+03 WorldPhysical CoupledTransportation -ExN05PionShowerModel::DoIt - 10 0.242 285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0118 28.1 93.7 0.0035 0 0 0 WorldPhysical initStep - 1 0.0215 28.1 93.7 0.0034 9.63e-05 0.0119 0.0119 WorldPhysical msc - 2 0.0801 28.1 93.7 0 0.0034 0.372 0.384 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00747 21.9 72.9 0.00692 0 0 0 WorldPhysical initStep - 1 0.0457 21.9 72.9 0.00689 2.75e-05 0.0399 0.0399 WorldPhysical msc - 2 0.954 21.9 72.9 0 0.00689 1.23 1.27 WorldPhysical eIoni ->>> Event 4 - 1 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.05999648154539951 (GeV) - 9 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.8999472231809926 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -number of event = 5 -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -### Run 6 start. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -30 100 1e+03 0.0157 104 104 DriftChamberPhysical CoupledTransportation - 2 0.0984 -98.6 329 1e+03 0.00393 239 343 DriftChamberPhysical msc - 3 0.12 -115 383 1e+03 0.00103 56.3 399 DriftChamberPhysical hIoni - 4 0.232 -183 611 1e+03 0.00511 239 638 DriftChamberPhysical msc - 5 0.353 -252 840 1e+03 0.00443 239 877 DriftChamberPhysical msc - 6 0.388 -270 900 1e+03 0.00157 63 940 WorldPhysical CoupledTransportation - 7 0.419 -285 949 1e+03 0.00992 51 991 WorldPhysical hIoni - 8 0.419 -285 949 1e+03 0 0.165 991 WorldPhysical hIoni - 9 0.414 -285 950 1e+03 0.00926 53.3 1.04e+03 WorldPhysical CoupledTransportation -ExN05PionShowerModel::DoIt - 10 0.414 -285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.419 -285 949 0.00129 0 0 0 WorldPhysical initStep - 1 0.421 -285 949 0.00129 0 0.0022 0.0022 WorldPhysical msc - 2 0.423 -285 949 0 0.00129 0.0819 0.0841 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.419 -285 949 0.00128 0 0 0 WorldPhysical initStep - 1 0.419 -285 949 0.00123 4.74e-05 0.00217 0.00217 WorldPhysical msc - 2 0.425 -285 949 0 0.00123 0.0768 0.079 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.12 -115 383 0.00169 0 0 0 DriftChamberPhysical initStep - 1 0.234 -115 382 0 0.00169 0.679 0.679 DriftChamberPhysical eIoni ->>> Event 0 - 0 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0 (GeV) - 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9999448257585765 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00974 -22.6 75.2 1e+03 0.0112 78.6 78.6 WorldPhysical hIoni - 2 -0.00937 -23.5 78.3 1e+03 0.000449 3.24 81.8 WorldPhysical hIoni - 3 -0.00818 -30 100 1e+03 0.00433 22.6 104 DriftChamberPhysical CoupledTransportation - 4 -0.0169 -98.6 329 1e+03 0.00532 239 343 DriftChamberPhysical msc - 5 -0.0203 -167 557 1e+03 0.00475 239 582 DriftChamberPhysical msc - 6 -0.0354 -236 786 1e+03 0.00596 239 820 DriftChamberPhysical msc - 7 -0.0521 -270 900 1e+03 0.0022 119 940 WorldPhysical CoupledTransportation - 8 -0.0553 -275 916 1e+03 0.00493 16.4 956 WorldPhysical hIoni - 9 -0.0577 -284 946 1e+03 0.00616 31.2 987 WorldPhysical hIoni - 10 -0.0597 -285 950 1e+03 0.00747 56.7 1.04e+03 WorldPhysical CoupledTransportation -ExN05PionShowerModel::DoIt - 11 -0.0597 -285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0577 -284 946 0.0027 0 0 0 WorldPhysical initStep - 1 -0.0648 -284 946 0.00268 1.59e-05 0.00762 0.00762 WorldPhysical msc - 2 -0.165 -284 946 0 0.00268 0.25 0.258 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0553 -275 916 0.0181 0 0 0 WorldPhysical initStep - 1 -0.262 -275 916 0.018 0.000136 0.225 0.225 WorldPhysical msc - 2 -2.84 -274 917 0.0137 0.00426 2.97 3.19 WorldPhysical eIoni - 3 -3.34 -273 918 0.00864 0.0051 2.32 5.52 WorldPhysical eIoni - 4 -4.41 -272 918 0.00288 0.00577 1.57 7.09 WorldPhysical eIoni - 5 -4.52 -272 918 0 0.00288 0.281 7.37 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00937 -23.5 78.3 0.00441 0 0 0 WorldPhysical initStep - 1 0.0063 -23.5 78.3 0.0042 0.00021 0.0179 0.0179 WorldPhysical msc - 2 0.329 -23.8 78.3 0 0.0042 0.533 0.551 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00974 -22.6 75.2 0.023 0 0 0 WorldPhysical initStep - 1 -0.103 -22.3 75.4 0.0227 0.000343 0.347 0.347 WorldPhysical msc - 2 -1.88 -20.8 75.7 0.0198 0.00288 3.79 4.14 WorldPhysical eIoni - 3 -2.5 -19.7 78 0.0164 0.00344 3.26 7.39 WorldPhysical eIoni - 4 -4.45 -20.1 79.8 0.0119 0.00446 2.71 10.1 WorldPhysical eIoni - 5 -4.57 -20.3 80.2 0.00934 0.00135 0.443 10.5 WorldPhysical eIoni - 6 -4.26 -21 81.5 0.00501 0.00433 1.68 12.2 WorldPhysical eIoni - 7 -4.14 -20.9 81.9 0 0.00501 0.722 12.9 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 2 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -4.57 -20.3 80.2 0.00125 0 0 0 WorldPhysical initStep - 1 -4.57 -20.3 80.2 0.00125 0 0.00208 0.00208 WorldPhysical msc - 2 -4.59 -20.2 80.2 0 0.00125 0.0779 0.0799 WorldPhysical eIoni ->>> Event 1 - 3 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.05999393873875495 (GeV) - 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9399050402404941 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00931 -22.1 73.7 1e+03 0.0106 76.9 76.9 WorldPhysical hIoni - 2 -0.0126 -26.8 89.5 999 0.00275 16.5 93.5 WorldPhysical hIoni - 3 -0.00634 -30 100 999 0.00132 10.9 104 DriftChamberPhysical CoupledTransportation - 4 0.136 -98.7 329 999 0.0045 239 343 DriftChamberPhysical msc - 5 0.291 -167 557 999 0.00474 239 582 DriftChamberPhysical msc - 6 0.433 -236 786 999 0.0047 239 820 DriftChamberPhysical msc - 7 0.5 -270 900 999 0.00352 119 940 WorldPhysical CoupledTransportation - 8 0.505 -273 908 999 0.000867 8.66 948 WorldPhysical hIoni - 9 0.525 -285 950 999 0.0113 95.8 1.04e+03 WorldPhysical CoupledTransportation -ExN05PionShowerModel::DoIt - 10 0.525 -285 950 0 999 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.505 -273 908 0.00318 0 0 0 WorldPhysical initStep - 1 0.511 -273 908 0.00314 4.09e-05 0.0104 0.0104 WorldPhysical msc - 2 0.58 -273 908 0 0.00314 0.323 0.333 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0126 -26.8 89.5 0.905 0 0 0 WorldPhysical initStep - 1 -8.24 -24.4 100 0.903 0.00164 13.6 13.6 DriftChamberPhysical CoupledTransportation - 2 -137 21.9 255 0.894 0.0048 207 221 DriftChamberPhysical eIoni - 3 -312 96.8 483 0.886 0.00775 297 518 DriftChamberPhysical msc - 4 -504 138 705 0.88 0.00636 297 815 DriftChamberPhysical msc - 5 -657 165 900 0.874 0.00541 249 1.06e+03 WorldPhysical CoupledTransportation - 6 -668 169 912 0.871 0.00145 16.4 1.08e+03 WorldPhysical eIoni - 7 -679 171 924 0.867 0.00322 16.3 1.1e+03 WorldPhysical eIoni - 8 -692 190 952 0.854 0.0132 101 1.2e+03 WorldPhysical CoupledTransportation - 9 -733 222 987 0.839 0.0109 62.6 1.26e+03 WorldPhysical eIoni - 10 -753 229 1e+03 0.834 0.00539 25.7 1.29e+03 Crystal CoupledTransportation - 11 -753 229 1e+03 0.814 0.0194 0.0263 1.29e+03 Crystal msc - 12 -754 229 1e+03 0.798 0.0156 0.0263 1.29e+03 Crystal msc - 13 -754 229 1e+03 0.79 0.00863 0.0263 1.29e+03 Crystal msc - 14 -754 229 1e+03 0.785 0.00504 0.0263 1.29e+03 Crystal msc - 15 -754 229 1e+03 0.775 0.0097 0.0263 1.29e+03 Crystal msc - 16 -754 229 1e+03 0.768 0.00677 0.0263 1.29e+03 Crystal msc - 17 -754 229 1e+03 0.76 0.00855 0.0263 1.29e+03 Crystal msc - 18 -753 229 1e+03 0.74 0.0198 0.0263 1.29e+03 Crystal msc - 19 -753 229 1e+03 0.72 0.0204 0.0263 1.29e+03 Crystal msc - 20 -753 229 1e+03 0.708 0.0115 0.0263 1.29e+03 Crystal msc - 21 -753 229 1e+03 0.697 0.011 0.0263 1.29e+03 Crystal msc - 22 -753 229 1e+03 0.687 0.00985 0.0263 1.29e+03 Crystal msc - 23 -753 229 1e+03 0.677 0.0106 0.0263 1.29e+03 Crystal msc - 24 -753 229 1e+03 0.665 0.0119 0.0263 1.29e+03 Crystal msc - 25 -753 229 1e+03 0.653 0.0117 0.0263 1.29e+03 Crystal msc - 26 -753 229 1e+03 0.643 0.00998 0.0263 1.29e+03 Crystal msc - 27 -753 229 1e+03 0.629 0.0135 0.0263 1.29e+03 Crystal msc - 28 -753 229 1e+03 0.621 0.00824 0.0263 1.29e+03 Crystal msc - 29 -753 229 1e+03 0.613 0.0081 0.0263 1.29e+03 Crystal msc - 30 -753 229 1e+03 0.595 0.0176 0.0263 1.29e+03 Crystal msc - 31 -753 229 1e+03 0.579 0.0165 0.0263 1.29e+03 Crystal msc - 32 -753 229 1e+03 0.562 0.017 0.0263 1.29e+03 Crystal msc - 33 -753 229 1e+03 0.551 0.011 0.0263 1.29e+03 Crystal msc - 34 -753 229 1e+03 0.542 0.009 0.0263 1.29e+03 Crystal msc - 35 -753 229 1e+03 0.532 0.00965 0.0263 1.29e+03 Crystal msc - 36 -753 229 1e+03 0.519 0.0136 0.0263 1.29e+03 Crystal msc - 37 -753 229 1e+03 0.509 0.0098 0.0263 1.29e+03 Crystal msc - 38 -753 229 1e+03 0.496 0.0131 0.0263 1.29e+03 Crystal msc - 39 -753 229 1e+03 0.486 0.00976 0.0263 1.29e+03 Crystal msc - 40 -753 229 1e+03 0.475 0.0111 0.0263 1.29e+03 Crystal msc - 41 -753 229 1e+03 0.458 0.0171 0.0263 1.29e+03 Crystal msc - 42 -753 229 1e+03 0.446 0.0117 0.0263 1.29e+03 Crystal msc - 43 -753 229 1e+03 0.435 0.0115 0.0263 1.29e+03 Crystal msc - 44 -753 229 1e+03 0.423 0.0117 0.0263 1.29e+03 Crystal msc - 45 -753 229 1e+03 0.406 0.0165 0.0263 1.29e+03 Crystal msc - 46 -753 229 1e+03 0.389 0.0175 0.0263 1.29e+03 Crystal msc - 47 -753 229 1e+03 0.377 0.0121 0.0267 1.29e+03 WorldPhysical CoupledTransportation - 48 -750 268 981 0.371 0.00558 42.9 1.33e+03 WorldPhysical msc - 49 -748 301 955 0.363 0.00863 42.9 1.37e+03 WorldPhysical msc - 50 -757 307 953 0.356 0.0042 30.4 1.4e+03 WorldPhysical eIoni - -*** G4Exception : UnexpectedPositionShift - issued by : G4Navigator::ComputeStep() -Accuracy ERROR or slightly inaccurate position shift. -*** This is just a warning message. - The Step's starting point has moved 1255.638056 mm - since the last call to a Locate method. - This has resulted in moving 11.94377434 mm from the last point at which the safety was calculated - which is more than the computed safety= 5.137881264 mm at that point. - This difference is 6.805893074 mm. - The tolerated accuracy is 1e-06 mm. - This problem can be due to either - - a process that has proposed a displacement larger than the current safety , or - - inaccuracy in the computation of the safety - We suggest that you - - find i) what particle is being tracked, and ii) through what part of your geometry - for example by re-running this event with - /tracking/verbose 1 - - check which processes you declare for this particle (and look at non-standard ones) - - in case, create a detailed logfile of this event using: - /tracking/verbose 6 -ERROR - G4Navigator::ComputeStep() - Position has shifted considerably without notifying the navigator ! - Tolerated safety: 5.137882264 - Computed shift : 142.6537454 - -*** G4Exception : SignificantPositionShift - issued by : G4Navigator::ComputeStep() -May lead to a crash or unreliable results. -*** This is just a warning message. - 51 -757 309 956 0.35 0.00324 26 1.43e+03 WorldPhysical eIoni - 52 -765 330 948 0.343 0.00694 42.9 1.47e+03 WorldPhysical msc - -*** G4Exception : UnexpectedPositionShift - issued by : G4Navigator::ComputeStep() -Accuracy ERROR or slightly inaccurate position shift. -*** This is just a warning message. - The Step's starting point has moved 1261.884801 mm - since the last call to a Locate method. - This has resulted in moving 23.47795813 mm from the last point at which the safety was calculated - which is more than the computed safety= 5.960486281 mm at that point. - This difference is 17.51747185 mm. - The tolerated accuracy is 1e-06 mm. -ERROR - G4Navigator::ComputeStep() - Position has shifted considerably without notifying the navigator ! - Tolerated safety: 5.960487281 - Computed shift : 551.2145181 - -*** G4Exception : SignificantPositionShift - issued by : G4Navigator::ComputeStep() -May lead to a crash or unreliable results. -*** This is just a warning message. - 53 -787 366 952 0.336 0.00718 42.9 1.51e+03 WorldPhysical msc - 54 -792 384 954 0.33 0.0051 18.8 1.53e+03 WorldPhysical eIoni - 55 -811 421 957 0.323 0.00761 42.9 1.58e+03 WorldPhysical msc - 56 -832 452 979 0.317 0.00591 42.9 1.62e+03 WorldPhysical msc - 57 -857 485 975 0.311 0.00586 42.9 1.66e+03 WorldPhysical msc - 58 -889 510 977 0.288 0.00619 42.5 1.71e+03 WorldPhysical eIoni - 59 -920 538 986 0.281 0.00698 42.9 1.75e+03 WorldPhysical msc - 60 -958 555 994 0.275 0.00575 42.9 1.79e+03 WorldPhysical msc - 61 -972 570 999 0.27 0.00372 21.7 1.81e+03 WorldPhysical eIoni - 62 -979 574 1e+03 0.267 0.00298 7.69 1.82e+03 Crystal CoupledTransportation - 63 -979 574 1e+03 0.264 0.00284 0.00557 1.82e+03 Crystal msc - 64 -979 574 1e+03 0.261 0.00295 0.00557 1.82e+03 Crystal msc - 65 -979 574 1e+03 0.258 0.00313 0.00557 1.82e+03 Crystal msc - 66 -979 574 1e+03 0.256 0.00233 0.00477 1.82e+03 WorldPhysical CoupledTransportation - 67 -992 589 988 0.251 0.00497 23.5 1.84e+03 WorldPhysical msc - 68 -1.01e+03 599 975 0.247 0.00397 23.5 1.87e+03 WorldPhysical msc - 69 -1.02e+03 613 960 0.243 0.00387 23.5 1.89e+03 WorldPhysical msc - 70 -1.02e+03 616 950 0.238 0.00461 23.5 1.91e+03 WorldPhysical msc - -*** G4Exception : UnexpectedPositionShift - issued by : G4Navigator::ComputeStep() -Accuracy ERROR or slightly inaccurate position shift. -*** This is just a warning message. - The Step's starting point has moved 1526.845997 mm - since the last call to a Locate method. - This has resulted in moving 11.71417139 mm from the last point at which the safety was calculated - which is more than the computed safety= 9.769864016 mm at that point. - This difference is 1.944307372 mm. - The tolerated accuracy is 1e-06 mm. -ERROR - G4Navigator::ComputeStep() - Position has shifted considerably without notifying the navigator ! - Tolerated safety: 9.769865016 - Computed shift : 137.2218113 - -*** G4Exception : SignificantPositionShift - issued by : G4Navigator::ComputeStep() -May lead to a crash or unreliable results. -*** This is just a warning message. - 71 -1.03e+03 633 934 0.233 0.00537 23.5 1.94e+03 WorldPhysical msc - 72 -1.03e+03 650 920 0.228 0.00456 23.5 1.96e+03 WorldPhysical msc - 73 -1.04e+03 663 901 0.224 0.00473 23.5 1.98e+03 WorldPhysical msc - 74 -1.04e+03 664 900 0.224 7.36e-05 1.34 1.99e+03 DriftChamberPhysical CoupledTransportation - 75 -1.06e+03 706 852 0.221 0.00237 67 2.05e+03 DriftChamberPhysical eIoni - 76 -1.13e+03 818 723 0.213 0.00813 186 2.24e+03 DriftChamberPhysical msc - 77 -1.13e+03 822 719 0.21 0.00117 5.94 2.24e+03 DriftChamberPhysical eIoni - 78 -1.15e+03 933 572 0.204 0.00597 186 2.43e+03 DriftChamberPhysical msc - 79 -1.15e+03 957 551 0.202 0.000958 32.3 2.46e+03 DriftChamberPhysical eIoni - 80 -1.16e+03 965 545 0.199 0.000615 9.85 2.47e+03 DriftChamberPhysical eIoni - 81 -1.17e+03 1.05e+03 476 0.195 0.00329 111 2.58e+03 DriftChamberPhysical eIoni - 82 -1.18e+03 1.12e+03 410 0.19 0.00288 93.8 2.68e+03 DriftChamberPhysical eIoni - 83 -1.22e+03 1.19e+03 249 0.183 0.00724 186 2.86e+03 DriftChamberPhysical msc - 84 -1.25e+03 1.25e+03 176 0.179 0.00402 97.9 2.96e+03 WorldPhysical CoupledTransportation - 85 -1.25e+03 1.26e+03 168 0.176 0.00283 12.8 2.97e+03 WorldPhysical msc - 86 -1.25e+03 1.27e+03 157 0.174 0.0026 12.8 2.99e+03 WorldPhysical msc - 87 -1.25e+03 1.27e+03 150 0.168 0.00215 8.07 2.99e+03 WorldPhysical eIoni - 88 -1.25e+03 1.27e+03 147 0.166 0.000477 2.56 3e+03 WorldPhysical eIoni - 89 -1.25e+03 1.27e+03 136 0.163 0.00311 12.8 3.01e+03 WorldPhysical msc - 90 -1.26e+03 1.28e+03 127 0.16 0.00283 12.8 3.02e+03 WorldPhysical msc - 91 -1.27e+03 1.29e+03 119 0.157 0.00322 12.8 3.04e+03 WorldPhysical msc - 92 -1.27e+03 1.29e+03 118 0.157 0 0.299 3.04e+03 WorldPhysical eIoni - 93 -1.27e+03 1.3e+03 113 0.155 0.00235 12.8 3.05e+03 WorldPhysical msc - 94 -1.27e+03 1.31e+03 106 0.151 0.00382 12.8 3.06e+03 WorldPhysical msc - 95 -1.27e+03 1.32e+03 96.9 0.148 0.00296 12.8 3.07e+03 WorldPhysical msc - 96 -1.27e+03 1.33e+03 88.1 0.145 0.00258 12.8 3.09e+03 WorldPhysical msc - 97 -1.26e+03 1.33e+03 81.3 0.142 0.0038 12.8 3.1e+03 WorldPhysical msc - 98 -1.25e+03 1.34e+03 75.8 0.139 0.00271 12.8 3.11e+03 WorldPhysical msc - 99 -1.24e+03 1.35e+03 68.4 0.136 0.00314 12.8 3.13e+03 WorldPhysical msc - 100 -1.24e+03 1.35e+03 58.6 0.133 0.00256 12.8 3.14e+03 WorldPhysical msc - 101 -1.23e+03 1.36e+03 49.1 0.129 0.00426 12.8 3.15e+03 WorldPhysical msc - 102 -1.24e+03 1.37e+03 41.7 0.124 0.00518 12.8 3.16e+03 WorldPhysical msc - 103 -1.24e+03 1.38e+03 38.4 0.121 0.00268 12.8 3.18e+03 WorldPhysical msc - 104 -1.24e+03 1.39e+03 32.9 0.117 0.00392 12.8 3.19e+03 WorldPhysical msc - 105 -1.24e+03 1.4e+03 27.7 0.111 0.00598 12.8 3.2e+03 WorldPhysical msc - 106 -1.24e+03 1.41e+03 21.6 0.106 0.00561 12.8 3.22e+03 WorldPhysical msc - 107 -1.23e+03 1.42e+03 19.8 0.0924 0.0028 8.42 3.22e+03 WorldPhysical eIoni - 108 -1.23e+03 1.43e+03 14.9 0.0877 0.00471 12.8 3.24e+03 WorldPhysical msc - 109 -1.23e+03 1.43e+03 12.3 0.084 0.00179 3.1 3.24e+03 WorldPhysical eIoni - 110 -1.23e+03 1.43e+03 6.21 0.0791 0.00272 7.53 3.25e+03 WorldPhysical eIoni - 111 -1.23e+03 1.44e+03 -0.353 0.0718 0.00407 7.53 3.25e+03 WorldPhysical eIoni - 112 -1.23e+03 1.44e+03 -6.39 0.0688 0.00299 6.37 3.26e+03 WorldPhysical eIoni - 113 -1.23e+03 1.44e+03 -6.97 0.0673 5.23e-05 0.576 3.26e+03 WorldPhysical eIoni - 114 -1.22e+03 1.44e+03 -17.9 0.0613 0.00597 12.8 3.27e+03 WorldPhysical msc - 115 -1.22e+03 1.44e+03 -19.3 0.0583 0.000523 2.43 3.28e+03 WorldPhysical eIoni - 116 -1.21e+03 1.44e+03 -29.1 0.051 0.0073 12.8 3.29e+03 WorldPhysical msc - 117 -1.21e+03 1.44e+03 -30.9 0.048 0.000503 1.95 3.29e+03 WorldPhysical eIoni - 118 -1.21e+03 1.44e+03 -31 0.0405 0.000146 0.137 3.29e+03 WorldPhysical eIoni - 119 -1.21e+03 1.44e+03 -35.5 0.0353 0.0039 6.2 3.3e+03 WorldPhysical eIoni - 120 -1.21e+03 1.44e+03 -34 0.0301 0.00514 6.63 3.3e+03 WorldPhysical eIoni - 121 -1.22e+03 1.45e+03 -34.4 0.0257 0.00446 5.34 3.31e+03 WorldPhysical eIoni - 122 -1.22e+03 1.45e+03 -36.2 0.022 0.00369 4.36 3.31e+03 WorldPhysical eIoni - 123 -1.22e+03 1.45e+03 -37.1 0.0163 0.00562 3.65 3.32e+03 WorldPhysical eIoni - 124 -1.22e+03 1.45e+03 -37.1 0.014 8.9e-05 0.116 3.32e+03 WorldPhysical eIoni - 125 -1.22e+03 1.45e+03 -38.6 0.00823 0.00581 2.37 3.32e+03 WorldPhysical eIoni - 126 -1.22e+03 1.45e+03 -39.4 0.000869 0.00736 1.5 3.32e+03 WorldPhysical eIoni - 127 -1.22e+03 1.45e+03 -39.3 0 0.000869 0.0486 3.32e+03 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 30, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.22e+03 1.45e+03 -37.1 0.00222 0 0 0 WorldPhysical initStep - 1 -1.22e+03 1.45e+03 -37.1 0.00222 0 0.0054 0.0054 WorldPhysical msc - 2 -1.22e+03 1.45e+03 -37 0 0.00222 0.185 0.19 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 29, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.21e+03 1.44e+03 -35.5 0.0013 0 0 0 WorldPhysical initStep - 1 -1.21e+03 1.44e+03 -35.5 0.000801 0.000499 0.00222 0.00222 WorldPhysical msc - 2 -1.21e+03 1.44e+03 -35.5 0 0.000801 0.0438 0.046 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 28, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.21e+03 1.44e+03 -31 0.00735 0 0 0 WorldPhysical initStep - 1 -1.21e+03 1.44e+03 -31 0.00714 0.000205 0.0444 0.0444 WorldPhysical msc - 2 -1.21e+03 1.44e+03 -31.3 0.00133 0.00581 1.29 1.34 WorldPhysical eIoni - 3 -1.21e+03 1.44e+03 -31.3 0 0.00133 0.0858 1.42 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 27, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.21e+03 1.44e+03 -30.9 0.00251 0 0 0 WorldPhysical initStep - 1 -1.21e+03 1.44e+03 -30.9 0.00247 4.13e-05 0.00686 0.00686 WorldPhysical msc - 2 -1.21e+03 1.44e+03 -30.9 0.00193 0.000536 0.0483 0.0551 WorldPhysical eIoni - 3 -1.21e+03 1.44e+03 -30.9 0 0.00193 0.148 0.203 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 26, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.22e+03 1.44e+03 -19.3 0.00252 0 0 0 WorldPhysical initStep - 1 -1.22e+03 1.44e+03 -19.3 0.00252 0 0.00694 0.00694 WorldPhysical msc - 2 -1.22e+03 1.44e+03 -19.4 0 0.00252 0.225 0.232 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 25, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.23e+03 1.44e+03 -6.97 0.0015 0 0 0 WorldPhysical initStep - 1 -1.23e+03 1.44e+03 -6.97 0.0015 0 0.00279 0.00279 WorldPhysical msc - 2 -1.23e+03 1.44e+03 -6.97 0 0.0015 0.102 0.105 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 24, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.23e+03 1.44e+03 -0.353 0.00315 0 0 0 WorldPhysical initStep - 1 -1.23e+03 1.44e+03 -0.351 0.00297 0.000181 0.0102 0.0102 WorldPhysical msc - 2 -1.23e+03 1.44e+03 -0.32 0 0.00297 0.296 0.306 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 23, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.23e+03 1.43e+03 6.21 0.00224 0 0 0 WorldPhysical initStep - 1 -1.23e+03 1.43e+03 6.21 0.00223 8.18e-06 0.00548 0.00548 WorldPhysical msc - 2 -1.23e+03 1.43e+03 6.23 0 0.00223 0.186 0.192 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 22, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.23e+03 1.43e+03 12.3 0.00186 0 0 0 WorldPhysical initStep - 1 -1.23e+03 1.43e+03 12.3 0.00155 0.000303 0.00399 0.00399 WorldPhysical msc - 2 -1.23e+03 1.43e+03 12.3 0 0.00155 0.107 0.111 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 21, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.23e+03 1.42e+03 19.8 0.0104 0 0 0 WorldPhysical initStep - 1 -1.23e+03 1.42e+03 19.8 0.0104 8.36e-06 0.084 0.084 WorldPhysical msc - 2 -1.24e+03 1.42e+03 18.8 0.00348 0.00691 1.84 1.92 WorldPhysical eIoni - 3 -1.24e+03 1.42e+03 18.6 0 0.00348 0.387 2.31 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 20, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.25e+03 1.27e+03 147 0.00111 0 0 0 WorldPhysical initStep - 1 -1.25e+03 1.27e+03 147 0.00111 0 0.00166 0.00166 WorldPhysical msc - 2 -1.25e+03 1.27e+03 147 0 0.00111 0.0664 0.0681 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 19, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.25e+03 1.27e+03 150 0.0038 0 0 0 WorldPhysical initStep - 1 -1.25e+03 1.27e+03 150 0.0038 0 0.0139 0.0139 WorldPhysical msc - 2 -1.25e+03 1.27e+03 150 0 0.0038 0.448 0.462 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 18, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.18e+03 1.12e+03 410 0.00119 0 0 0 DriftChamberPhysical initStep - 1 -1.18e+03 1.12e+03 410 0 0.00119 0.395 0.395 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 17, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.17e+03 1.05e+03 476 0.00141 0 0 0 DriftChamberPhysical initStep - 1 -1.17e+03 1.05e+03 476 0 0.00141 0.512 0.512 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 16, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.16e+03 965 545 0.0018 0 0 0 DriftChamberPhysical initStep - 1 -1.16e+03 966 545 0 0.0018 0.747 0.747 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 15, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.15e+03 957 551 0.00145 0 0 0 DriftChamberPhysical initStep - 1 -1.15e+03 957 550 0 0.00145 0.533 0.533 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 14, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -1.13e+03 822 719 0.0019 0 0 0 DriftChamberPhysical initStep - 1 -1.13e+03 822 719 0 0.0019 0.811 0.811 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 13, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -972 570 999 0.00118 0 0 0 WorldPhysical initStep - 1 -972 570 999 0.00118 0 0.00186 0.00186 WorldPhysical msc - 2 -972 570 999 0 0.00118 0.0724 0.0742 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 12, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -889 510 977 0.017 0 0 0 WorldPhysical initStep - 1 -889 510 977 0.017 4.83e-05 0.202 0.202 WorldPhysical msc - 2 -888 511 975 0.0122 0.00477 2.8 3.01 WorldPhysical eIoni - 3 -888 510 974 0.00585 0.00636 2.1 5.1 WorldPhysical eIoni - 4 -888 510 974 0 0.00585 0.957 6.06 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 11, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -792 384 954 0.00101 0 0 0 WorldPhysical initStep - 1 -792 384 954 0.00101 0 0.00146 0.00146 WorldPhysical msc - 2 -792 384 954 0 0.00101 0.0585 0.0599 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 10, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -757 309 956 0.00251 0 0 0 WorldPhysical initStep - 1 -757 309 956 0.00246 4.37e-05 0.00687 0.00687 WorldPhysical msc - 2 -757 309 956 0 0.00246 0.217 0.224 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 9, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -757 307 953 0.00218 0 0 0 WorldPhysical initStep - 1 -757 307 953 0.00218 0 0.00525 0.00525 WorldPhysical msc - 2 -757 307 953 0 0.00218 0.18 0.185 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 8, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -733 222 987 0.00414 0 0 0 WorldPhysical initStep - 1 -733 222 987 0.00411 2.29e-05 0.0162 0.0162 WorldPhysical msc - 2 -733 222 987 0 0.00411 0.514 0.53 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -679 171 924 0.000998 0 0 0 WorldPhysical initStep - 1 -679 171 924 0.000998 0 0.00144 0.00144 WorldPhysical msc - 2 -679 171 924 0 0.000998 0.0577 0.0591 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -668 169 912 0.00148 0 0 0 WorldPhysical initStep - 1 -668 169 912 0.00148 0 0.00272 0.00272 WorldPhysical msc - 2 -668 169 912 0 0.00148 0.0999 0.103 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -137 21.9 255 0.00436 0 0 0 DriftChamberPhysical initStep - 1 -138 20.5 254 0.00251 0.00186 2.04 2.04 DriftChamberPhysical eIoni - 2 -137 19.6 254 0.000329 0.00218 1.23 3.27 DriftChamberPhysical eIoni - 3 -137 19.6 254 0 0.000329 0.0909 3.36 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00931 -22.1 73.7 0.00115 0 0 0 WorldPhysical initStep - 1 -0.00825 -22.1 73.7 0.0011 4.77e-05 0.00177 0.00177 WorldPhysical msc - 2 0.0174 -22.1 73.7 0 0.0011 0.0661 0.0679 WorldPhysical eIoni ->>> Event 2 - 3 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.02044898977980272 (GeV) - 10 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.979065719003161 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00229 -10.1 33.6 1e+03 0.00607 35.1 35.1 WorldPhysical hIoni - 2 -0.000969 -30 100 1e+03 0.0102 69.3 104 DriftChamberPhysical CoupledTransportation - 3 -0.057 -98.6 329 1e+03 0.00672 239 343 DriftChamberPhysical msc - 4 -0.0819 -149 496 1e+03 0.00335 175 518 DriftChamberPhysical hIoni - 5 -0.0646 -217 725 1e+03 0.00462 239 757 DriftChamberPhysical msc - 6 -0.0538 -270 900 1e+03 0.00384 183 940 WorldPhysical CoupledTransportation - 7 -0.0529 -275 917 1e+03 0.00281 18.2 958 WorldPhysical hIoni - 8 -0.0534 -277 923 1e+03 0.00105 5.61 963 WorldPhysical hIoni - 9 -0.0543 -279 932 1e+03 0.000748 9.07 973 WorldPhysical hIoni - 10 -0.0534 -285 950 1e+03 0.00826 49.1 1.02e+03 WorldPhysical hIoni -ExN05PionShowerModel::DoIt - 11 -0.0534 -285 950 0 1e+03 0 1.02e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0534 -285 950 0.00206 0 0 0 WorldPhysical initStep - 1 -0.0495 -285 950 0.00203 3.56e-05 0.00483 0.00483 WorldPhysical msc - 2 -0.0446 -285 950 0 0.00203 0.159 0.164 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0543 -279 932 0.00123 0 0 0 WorldPhysical initStep - 1 -0.0523 -279 932 0.00113 0.000101 0.00203 0.00203 WorldPhysical msc - 2 -0.0128 -279 932 0 0.00113 0.0687 0.0707 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0534 -277 923 0.00102 0 0 0 WorldPhysical initStep - 1 -0.0534 -277 923 0.00102 0 0.00148 0.00148 WorldPhysical msc - 2 -0.054 -277 923 0 0.00102 0.0592 0.0606 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0529 -275 917 0.00181 0 0 0 WorldPhysical initStep - 1 -0.0544 -275 917 0.00181 0 0.00382 0.00382 WorldPhysical msc - 2 -0.0611 -275 917 0 0.00181 0.135 0.139 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.0819 -149 496 0.00132 0 0 0 DriftChamberPhysical initStep - 1 -0.198 -149 496 0 0.00132 0.461 0.461 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00229 -10.1 33.6 0.0014 0 0 0 WorldPhysical initStep - 1 0.000685 -10.1 33.6 0.00134 5.4e-05 0.00246 0.00246 WorldPhysical msc - 2 0.00188 -10.1 33.6 0 0.00134 0.0869 0.0894 WorldPhysical eIoni ->>> Event 3 - 3 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.05999660920544716 (GeV) - 14 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9399468775520056 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -30 100 1e+03 0.0113 104 104 DriftChamberPhysical CoupledTransportation - 2 0.0166 -98.6 329 1e+03 0.00506 239 343 DriftChamberPhysical msc - 3 0.0283 -167 557 1e+03 0.00589 239 582 DriftChamberPhysical msc - 4 0.0297 -236 786 1e+03 0.00541 239 820 DriftChamberPhysical msc - 5 0.039 -270 900 1e+03 0.00214 119 940 WorldPhysical CoupledTransportation - 6 0.0389 -273 910 1e+03 0.00245 10.2 950 WorldPhysical hIoni - 7 0.0379 -279 929 1e+03 0.00276 19.8 970 WorldPhysical hIoni - 8 0.0483 -285 950 1e+03 0.0106 74.4 1.04e+03 WorldPhysical CoupledTransportation -ExN05PionShowerModel::DoIt - 9 0.0483 -285 950 0 1e+03 0 1.04e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0379 -279 929 0.0195 0 0 0 WorldPhysical initStep - 1 -0.17 -279 929 0.0192 0.000287 0.26 0.26 WorldPhysical msc - 2 -2.06 -278 928 0.0145 0.00471 3.15 3.41 WorldPhysical eIoni - 3 -3.18 -278 927 0.00682 0.00517 1.73 5.15 WorldPhysical eIoni - 4 -2.91 -279 927 0.0018 0.00503 1.21 6.35 WorldPhysical eIoni - 5 -2.95 -279 927 0 0.0018 0.133 6.49 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 3 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -3.18 -278 927 0.00246 0 0 0 WorldPhysical initStep - 1 -3.18 -278 927 0.00245 1.38e-05 0.00659 0.00659 WorldPhysical msc - 2 -3.25 -278 927 0 0.00245 0.215 0.221 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0389 -273 910 0.00232 0 0 0 WorldPhysical initStep - 1 0.0426 -273 910 0.00232 0 0.00582 0.00582 WorldPhysical msc - 2 0.112 -273 910 0 0.00232 0.198 0.203 WorldPhysical eIoni ->>> Event 4 - 0 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0 (GeV) - 10 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.9999325836109803 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -number of event = 5 -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -### Run 7 start. -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -8.29e-05 -11.6 19.4 1e+03 0.00475 22.6 22.6 WorldPhysical hIoni - 2 -0.00101 -20.4 34.1 1e+03 0.00158 17.1 39.7 WorldPhysical hIoni - 3 -0.00101 -20.5 34.1 1e+03 0 0.0698 39.8 WorldPhysical hIoni - 4 -0.00337 -60 100 1e+03 0.00836 76.8 117 DriftChamberPhysical CoupledTransportation - 5 -0.0352 -197 329 1e+03 0.00785 267 383 DriftChamberPhysical msc - 6 -0.0341 -334 557 1e+03 0.00648 267 650 DriftChamberPhysical msc - 7 -0.0512 -471 786 1e+03 0.00582 267 916 DriftChamberPhysical msc - 8 -0.0609 -540 900 1e+03 0.00367 133 1.05e+03 WorldPhysical CoupledTransportation - 9 -0.0686 -570 950 1e+03 0.0182 117 1.17e+03 WorldPhysical CoupledTransportation -ExN05PionShowerModel::DoIt - 10 -0.0686 -570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00101 -20.5 34.1 0.0022 0 0 0 WorldPhysical initStep - 1 0.0009 -20.5 34.1 0.00217 2.74e-05 0.00532 0.00532 WorldPhysical msc - 2 0.0209 -20.5 34.1 0 0.00217 0.179 0.184 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00101 -20.4 34.1 0.0025 0 0 0 WorldPhysical initStep - 1 -0.00155 -20.4 34.1 0.00245 5.13e-05 0.0068 0.0068 WorldPhysical msc - 2 -0.00825 -20.4 34.1 0 0.00245 0.214 0.221 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -8.29e-05 -11.6 19.4 0.00504 0 0 0 WorldPhysical initStep - 1 -0.0216 -11.6 19.4 0.00504 0 0.0234 0.0234 WorldPhysical msc - 2 -0.243 -11.7 19.4 0 0.00504 0.731 0.754 WorldPhysical eIoni ->>> Event 0 - 12 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2799814082368458 (GeV) - 12 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.6599561765582793 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.00733 -55.1 91.8 1e+03 0.0124 107 107 WorldPhysical hIoni - 2 0.00885 -60 100 1e+03 0.000806 9.61 117 DriftChamberPhysical CoupledTransportation - 3 0.0252 -113 188 1e+03 0.00264 103 220 DriftChamberPhysical hIoni - 4 0.027 -120 200 1e+03 0.000394 13.4 233 DriftChamberPhysical hIoni - 5 0.0553 -257 429 1e+03 0.00632 267 500 DriftChamberPhysical msc - 6 0.0788 -394 657 1e+03 0.00622 267 766 DriftChamberPhysical msc - 7 0.135 -531 886 1e+03 0.00547 267 1.03e+03 DriftChamberPhysical msc - 8 0.138 -540 900 1e+03 0.000702 16.6 1.05e+03 WorldPhysical CoupledTransportation - 9 0.149 -565 942 1e+03 0.00726 49.5 1.1e+03 WorldPhysical hIoni - 10 0.156 -570 950 1e+03 0.0109 67.1 1.17e+03 WorldPhysical CoupledTransportation -ExN05PionShowerModel::DoIt - 11 0.156 -570 950 0 1e+03 0 1.17e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.149 -565 942 0.00107 0 0 0 WorldPhysical initStep - 1 0.15 -565 942 0.000971 0.000103 0.00159 0.00159 WorldPhysical msc - 2 0.154 -565 942 0 0.000971 0.0558 0.0574 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.027 -120 200 0.00108 0 0 0 DriftChamberPhysical initStep - 1 0.148 -120 200 0 0.00108 0.343 0.343 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0252 -113 188 0.00272 0 0 0 DriftChamberPhysical initStep - 1 1.33 -113 188 0.00117 0.00155 1.35 1.35 DriftChamberPhysical eIoni - 2 1.31 -113 188 0 0.00117 0.386 1.74 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.00733 -55.1 91.8 0.00127 0 0 0 WorldPhysical initStep - 1 0.0092 -55.1 91.8 0.00126 9.84e-06 0.00215 0.00215 WorldPhysical msc - 2 0.0145 -55.1 91.8 0 0.00126 0.0789 0.081 WorldPhysical eIoni ->>> Event 1 - 7 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.1999881543320912 (GeV) - 8 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.7799538018951557 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0.0112 -43 71.6 1e+03 0.011 83.5 83.5 WorldPhysical hIoni - 2 0.00778 -60 100 1e+03 0.00693 33.1 117 DriftChamberPhysical CoupledTransportation - 3 -0.0497 -197 329 1e+03 0.00654 267 383 DriftChamberPhysical msc - 4 -0.12 -334 557 1e+03 0.00567 267 650 DriftChamberPhysical msc - 5 -0.167 -471 786 1e+03 0.00615 267 916 DriftChamberPhysical msc - 6 -0.207 -532 887 1e+03 0.00304 118 1.03e+03 DriftChamberPhysical hIoni - 7 -0.211 -540 900 1e+03 0.000156 15.3 1.05e+03 WorldPhysical CoupledTransportation - 8 -0.213 -545 908 1e+03 0.00104 9.41 1.06e+03 WorldPhysical hIoni - 9 -0.218 -563 939 1e+03 0.0059 36.5 1.1e+03 WorldPhysical hIoni - 10 -0.216 -570 950 1e+03 0.00755 39 1.13e+03 WorldPhysical hIoni -ExN05PionShowerModel::DoIt - 11 -0.216 -570 950 0 1e+03 0 1.13e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.216 -570 950 0.00112 0 0 0 WorldPhysical initStep - 1 -0.218 -570 950 0.00112 0 0.0017 0.0017 WorldPhysical msc - 2 -0.223 -570 950 0 0.00112 0.0676 0.0693 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.218 -563 939 0.00583 0 0 0 WorldPhysical initStep - 1 -0.223 -563 939 0.00582 5.45e-06 0.0294 0.0294 WorldPhysical msc - 2 -0.376 -563 940 0 0.00582 0.95 0.979 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.213 -545 908 0.00104 0 0 0 WorldPhysical initStep - 1 -0.214 -545 908 0.00103 8.15e-06 0.00153 0.00153 WorldPhysical msc - 2 -0.222 -545 908 0 0.00103 0.0607 0.0622 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.207 -532 887 0.00161 0 0 0 DriftChamberPhysical initStep - 1 -0.688 -532 887 0 0.00161 0.626 0.626 DriftChamberPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0112 -43 71.6 0.0016 0 0 0 WorldPhysical initStep - 1 0.014 -43 71.6 0.00128 0.000321 0.00318 0.00318 WorldPhysical msc - 2 0.0257 -43 71.6 0 0.00128 0.081 0.0842 WorldPhysical eIoni ->>> Event 2 - 6 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.1399908789334725 (GeV) - 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.8199465766103388 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 -0.00956 -52.6 87.7 1e+03 0.0145 102 102 WorldPhysical hIoni - 2 -0.00787 -57.6 96 1e+03 0.0025 9.68 112 WorldPhysical hIoni - 3 -0.00683 -60 100 1e+03 0.00105 4.65 117 DriftChamberPhysical CoupledTransportation - 4 0.0421 -197 329 1e+03 0.00569 267 383 DriftChamberPhysical msc - 5 0.0844 -316 527 1e+03 0.00597 231 614 DriftChamberPhysical hIoni - 6 0.114 -453 755 1e+03 0.00584 267 881 DriftChamberPhysical msc - 7 0.122 -540 900 1e+03 0.00457 169 1.05e+03 WorldPhysical CoupledTransportation - 8 0.124 -549 915 1e+03 0.00274 17.7 1.07e+03 WorldPhysical hIoni - 9 0.124 -550 916 1e+03 2.31e-05 0.909 1.07e+03 WorldPhysical hIoni - 10 0.13 -570 950 1e+03 0.00822 55.8 1.12e+03 WorldPhysical hIoni -ExN05PionShowerModel::DoIt - 11 0.13 -570 950 0 1e+03 0 1.12e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.13 -570 950 0.00767 0 0 0 WorldPhysical initStep - 1 0.139 -570 950 0.00756 0.000114 0.0486 0.0486 WorldPhysical msc - 2 0.358 -571 950 0.0021 0.00546 1.37 1.42 WorldPhysical eIoni - 3 0.373 -571 950 0 0.0021 0.169 1.59 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.124 -550 916 0.00244 0 0 0 WorldPhysical initStep - 1 0.13 -550 916 0.00242 1.65e-05 0.00643 0.00643 WorldPhysical msc - 2 0.226 -550 916 0 0.00242 0.211 0.217 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.124 -549 915 0.00375 0 0 0 WorldPhysical initStep - 1 0.115 -549 915 0.0037 5.61e-05 0.0135 0.0135 WorldPhysical msc - 2 0.0866 -549 915 0 0.0037 0.429 0.442 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00787 -57.6 96 0.00123 0 0 0 WorldPhysical initStep - 1 -0.00978 -57.6 96 0.00123 0 0.00201 0.00201 WorldPhysical msc - 2 -0.0444 -57.6 96 0 0.00123 0.0764 0.0784 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 -0.00956 -52.6 87.7 0.00211 0 0 0 WorldPhysical initStep - 1 -0.012 -52.6 87.7 0.00211 0 0.00498 0.00498 WorldPhysical msc - 2 -0.0447 -52.6 87.8 0 0.00211 0.17 0.175 WorldPhysical eIoni ->>> Event 3 - 2 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.05999590330706202 (GeV) - 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.8999385496059302 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release - -********************************************************************************************************* -* G4Track Information: Particle = pi-, Track ID = 1, Parent ID = 0 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0 0 0 1e+03 0 0 0 WorldPhysical initStep - 1 0 -60 100 1e+03 0.0174 117 117 DriftChamberPhysical CoupledTransportation - 2 0.0337 -197 329 1e+03 0.00721 267 383 DriftChamberPhysical msc - 3 0.0575 -334 557 1e+03 0.0061 267 650 DriftChamberPhysical msc - 4 0.0907 -465 774 1e+03 0.0066 253 903 DriftChamberPhysical hIoni - 5 0.104 -540 900 1e+03 0.00302 146 1.05e+03 WorldPhysical CoupledTransportation - 6 0.116 -570 950 1e+03 0.012 66.3 1.12e+03 WorldPhysical hIoni -ExN05PionShowerModel::DoIt - 7 0.116 -570 950 0 1e+03 0 1.12e+03 WorldPhysical G4FSMP_parallelGeom - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.116 -570 950 0.00105 0 0 0 WorldPhysical initStep - 1 0.116 -570 950 0.00105 0 0.00154 0.00154 WorldPhysical msc - 2 0.119 -570 950 0 0.00105 0.0617 0.0632 WorldPhysical eIoni - -********************************************************************************************************* -* G4Track Information: Particle = e-, Track ID = 2, Parent ID = 1 -********************************************************************************************************* - -Step# X(mm) Y(mm) Z(mm) KinE(MeV) dE(MeV) StepLeng TrackLeng NextVolume ProcName - 0 0.0907 -465 774 0.00596 0 0 0 DriftChamberPhysical initStep - 1 0.773 -462 776 0.00486 0.00111 2.65 2.65 DriftChamberPhysical eIoni - 2 1.27 -461 777 0.00358 0.00127 2.22 4.87 DriftChamberPhysical eIoni - 3 1.35 -459 778 0.00188 0.00171 1.74 6.61 DriftChamberPhysical eIoni - 4 1.44 -459 778 0 0.00188 0.797 7.41 DriftChamberPhysical eIoni ->>> Event 4 - 9 hits are stored in EM ExN05CalorimeterHitsCollection. - Total energy deposition in EM calorimeter crytals : 0.2999821905092657 (GeV) - 11 hits are stored in HAD ExN05CalorimeterHitsCollection. - Total energy deposition in HAD calorimeter towers : 0.5999643810185314 (GeV) -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -number of event = 5 -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release -G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release diff --git a/examples/novice/N05/include/ExN05CalorimeterHit.hh b/examples/novice/N05/include/ExN05CalorimeterHit.hh index 2642c89ec0..e11f9587dc 100644 --- a/examples/novice/N05/include/ExN05CalorimeterHit.hh +++ b/examples/novice/N05/include/ExN05CalorimeterHit.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05CalorimeterHit.hh,v 1.8 2006/06/29 17:52:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN05CalorimeterHit_h diff --git a/examples/novice/N05/include/ExN05CalorimeterSD.hh b/examples/novice/N05/include/ExN05CalorimeterSD.hh index 5b5700efb5..705a95fdb4 100644 --- a/examples/novice/N05/include/ExN05CalorimeterSD.hh +++ b/examples/novice/N05/include/ExN05CalorimeterSD.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05CalorimeterSD.hh,v 1.5 2006/06/29 17:52:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN05CalorimeterSD_h diff --git a/examples/novice/N05/include/ExN05DetectorConstruction.hh b/examples/novice/N05/include/ExN05DetectorConstruction.hh index 7315bf749f..301fe89923 100644 --- a/examples/novice/N05/include/ExN05DetectorConstruction.hh +++ b/examples/novice/N05/include/ExN05DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05DetectorConstruction.hh,v 1.6 2006/11/03 17:58:49 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN05DetectorConstruction_h #define ExN05DetectorConstruction_h 1 diff --git a/examples/novice/N05/include/ExN05EMShowerModel.hh b/examples/novice/N05/include/ExN05EMShowerModel.hh index a1fd6cdf3f..5011ca1a51 100644 --- a/examples/novice/N05/include/ExN05EMShowerModel.hh +++ b/examples/novice/N05/include/ExN05EMShowerModel.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05EMShowerModel.hh,v 1.10 2006/06/29 17:52:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //---------------------------------------------- diff --git a/examples/novice/N05/include/ExN05EnergySpot.hh b/examples/novice/N05/include/ExN05EnergySpot.hh index da1bbece3b..3bce49f87e 100644 --- a/examples/novice/N05/include/ExN05EnergySpot.hh +++ b/examples/novice/N05/include/ExN05EnergySpot.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05EnergySpot.hh,v 1.8 2006/06/29 17:52:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN05EnergySpot_h #define ExN05EnergySpot_h diff --git a/examples/novice/N05/include/ExN05EventAction.hh b/examples/novice/N05/include/ExN05EventAction.hh index dd4a4b9122..b09d92d3d1 100644 --- a/examples/novice/N05/include/ExN05EventAction.hh +++ b/examples/novice/N05/include/ExN05EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05EventAction.hh,v 1.6 2006/06/29 17:52:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN05EventAction_h diff --git a/examples/novice/N05/include/ExN05EventActionMessenger.hh b/examples/novice/N05/include/ExN05EventActionMessenger.hh index f6ef050a0f..375931398e 100644 --- a/examples/novice/N05/include/ExN05EventActionMessenger.hh +++ b/examples/novice/N05/include/ExN05EventActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05EventActionMessenger.hh,v 1.5 2006/06/29 17:52:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN05EventActionMessenger_h diff --git a/examples/novice/N05/include/ExN05ParallelWorldForPion.hh b/examples/novice/N05/include/ExN05ParallelWorldForPion.hh index 25a2ad9b3c..df087e3e2d 100644 --- a/examples/novice/N05/include/ExN05ParallelWorldForPion.hh +++ b/examples/novice/N05/include/ExN05ParallelWorldForPion.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05ParallelWorldForPion.hh,v 1.1 2006/11/03 17:58:49 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN05ParallelWorldForPion_hh #define ExN05ParallelWorldForPion_hh diff --git a/examples/novice/N05/include/ExN05PhysicsList.hh b/examples/novice/N05/include/ExN05PhysicsList.hh index e455f65283..c8e6ca62ec 100644 --- a/examples/novice/N05/include/ExN05PhysicsList.hh +++ b/examples/novice/N05/include/ExN05PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05PhysicsList.hh,v 1.8 2006/06/29 17:52:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // #ifndef ExN05PhysicsList_h diff --git a/examples/novice/N05/include/ExN05PiModel.hh b/examples/novice/N05/include/ExN05PiModel.hh index bba4c29364..2600df5e07 100644 --- a/examples/novice/N05/include/ExN05PiModel.hh +++ b/examples/novice/N05/include/ExN05PiModel.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05PiModel.hh,v 1.6 2006/06/29 17:52:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //---------------------------------------- diff --git a/examples/novice/N05/include/ExN05PionShowerModel.hh b/examples/novice/N05/include/ExN05PionShowerModel.hh index dfdcc2c74b..a727e1cd41 100644 --- a/examples/novice/N05/include/ExN05PionShowerModel.hh +++ b/examples/novice/N05/include/ExN05PionShowerModel.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05PionShowerModel.hh,v 1.10 2006/06/29 17:52:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //---------------------------------------------- diff --git a/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh b/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh index 854849c006..295889cdd2 100644 --- a/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh +++ b/examples/novice/N05/include/ExN05PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05PrimaryGeneratorAction.hh,v 1.5 2006/06/29 17:52:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN05PrimaryGeneratorAction_h diff --git a/examples/novice/N05/include/ExN05RunAction.hh b/examples/novice/N05/include/ExN05RunAction.hh index 4fe2ef5524..272c2ef9b3 100644 --- a/examples/novice/N05/include/ExN05RunAction.hh +++ b/examples/novice/N05/include/ExN05RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05RunAction.hh,v 1.9 2006/06/29 17:52:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN05RunAction_h diff --git a/examples/novice/N05/include/ExN05SteppingAction.hh b/examples/novice/N05/include/ExN05SteppingAction.hh index 52ec2cedb4..51b2404d6c 100644 --- a/examples/novice/N05/include/ExN05SteppingAction.hh +++ b/examples/novice/N05/include/ExN05SteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05SteppingAction.hh,v 1.6 2006/06/29 17:52:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN05SteppingAction_h diff --git a/examples/novice/N05/include/ExN05SteppingActionMessenger.hh b/examples/novice/N05/include/ExN05SteppingActionMessenger.hh index 611b87cb71..f19e77b03e 100644 --- a/examples/novice/N05/include/ExN05SteppingActionMessenger.hh +++ b/examples/novice/N05/include/ExN05SteppingActionMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: ExN05SteppingActionMessenger.hh,v 1.5 2006/06/29 17:52:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN05SteppingActionMessenger_h diff --git a/examples/novice/N05/src/ExN05CalorimeterHit.cc b/examples/novice/N05/src/ExN05CalorimeterHit.cc index 72721e9511..c2527250fe 100644 --- a/examples/novice/N05/src/ExN05CalorimeterHit.cc +++ b/examples/novice/N05/src/ExN05CalorimeterHit.cc @@ -25,7 +25,7 @@ // // // $Id: ExN05CalorimeterHit.cc,v 1.6 2006/06/29 17:53:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN05CalorimeterHit.hh" diff --git a/examples/novice/N05/src/ExN05CalorimeterSD.cc b/examples/novice/N05/src/ExN05CalorimeterSD.cc index cd72246676..41b7350e1c 100644 --- a/examples/novice/N05/src/ExN05CalorimeterSD.cc +++ b/examples/novice/N05/src/ExN05CalorimeterSD.cc @@ -25,7 +25,7 @@ // // // $Id: ExN05CalorimeterSD.cc,v 1.8 2006/11/20 18:39:37 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN05CalorimeterSD.hh" diff --git a/examples/novice/N05/src/ExN05DetectorConstruction.cc b/examples/novice/N05/src/ExN05DetectorConstruction.cc index 00d51c61b1..9f53680ab4 100644 --- a/examples/novice/N05/src/ExN05DetectorConstruction.cc +++ b/examples/novice/N05/src/ExN05DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN05DetectorConstruction.cc,v 1.10 2006/11/03 17:58:49 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN05DetectorConstruction.hh" #include "ExN05CalorimeterSD.hh" diff --git a/examples/novice/N05/src/ExN05EMShowerModel.cc b/examples/novice/N05/src/ExN05EMShowerModel.cc index 7705157ac7..9f2bdea43b 100644 --- a/examples/novice/N05/src/ExN05EMShowerModel.cc +++ b/examples/novice/N05/src/ExN05EMShowerModel.cc @@ -25,7 +25,7 @@ // // // $Id: ExN05EMShowerModel.cc,v 1.15 2006/11/14 09:21:44 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN05EMShowerModel.hh" #include "ExN05EnergySpot.hh" diff --git a/examples/novice/N05/src/ExN05EnergySpot.cc b/examples/novice/N05/src/ExN05EnergySpot.cc index 7b81466bfe..029a2bc78a 100644 --- a/examples/novice/N05/src/ExN05EnergySpot.cc +++ b/examples/novice/N05/src/ExN05EnergySpot.cc @@ -25,7 +25,7 @@ // // // $Id: ExN05EnergySpot.cc,v 1.7 2006/06/29 17:53:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN05EnergySpot.hh" diff --git a/examples/novice/N05/src/ExN05EventAction.cc b/examples/novice/N05/src/ExN05EventAction.cc index 35330cd17d..88dac6e5c0 100644 --- a/examples/novice/N05/src/ExN05EventAction.cc +++ b/examples/novice/N05/src/ExN05EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN05EventAction.cc,v 1.9 2006/06/29 17:53:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN05EventAction.hh" diff --git a/examples/novice/N05/src/ExN05EventActionMessenger.cc b/examples/novice/N05/src/ExN05EventActionMessenger.cc index 438d9863ea..c4b4e00de4 100644 --- a/examples/novice/N05/src/ExN05EventActionMessenger.cc +++ b/examples/novice/N05/src/ExN05EventActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: ExN05EventActionMessenger.cc,v 1.7 2006/06/29 17:53:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN05EventActionMessenger.hh" diff --git a/examples/novice/N05/src/ExN05PhysicsList.cc b/examples/novice/N05/src/ExN05PhysicsList.cc index 073a82bcd4..6919a10a3d 100644 --- a/examples/novice/N05/src/ExN05PhysicsList.cc +++ b/examples/novice/N05/src/ExN05PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN05PhysicsList.cc,v 1.12 2006/11/10 13:11:00 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN05PhysicsList.cc,v 1.13 2007/05/11 14:29:16 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // @@ -42,7 +42,7 @@ #include "G4ios.hh" #include -#include "G4FastSimulationManagerProcess81.hh" +#include "G4FastSimulationManagerProcess.hh" ExN05PhysicsList::ExN05PhysicsList(): G4VUserPhysicsList() @@ -122,35 +122,9 @@ void ExN05PhysicsList::ConstructProcess() ConstructGeneral(); } -#include "G4CoupledTransportation.hh" - void ExN05PhysicsList::AddTransportation() { - // G4VUserPhysicsList::AddTransportation(); - - G4CoupledTransportation* theTransportationProcess= new G4CoupledTransportation(); - // loop over all particles in G4ParticleTable - theParticleIterator->reset(); - while( (*theParticleIterator)() ){ - G4ParticleDefinition* particle = theParticleIterator->value(); - G4ProcessManager* pmanager = particle->GetProcessManager(); - if (!particle->IsShortLived()) { - // Add transportation process for all particles other than "shortlived" - if ( pmanager == 0) { - // Error !! no process manager - G4String particleName = particle->GetParticleName(); - G4Exception("G4VUserPhysicsList::AddTransportation","No process manager", - RunMustBeAborted, particleName ); - } else { - // add transportation with ordering = ( -1, "first", "first" ) - pmanager ->AddProcess(theTransportationProcess); - pmanager ->SetProcessOrderingToFirst(theTransportationProcess, idxAlongStep); - pmanager ->SetProcessOrderingToFirst(theTransportationProcess, idxPostStep); - } - } else { - // shortlived particle case - } - } + G4VUserPhysicsList::AddTransportation(); } #include "G4ComptonScattering.hh" @@ -286,16 +260,14 @@ void ExN05PhysicsList::ConstructGeneral() void ExN05PhysicsList::AddParameterisation() { - G4FastSimulationManagerProcess81* - fastSimProcess_parallelGeom = new G4FastSimulationManagerProcess81("G4FSMP_parallelGeom", "pionGhostWorld"); - G4FastSimulationManagerProcess81* - fastSimProcess_massGeom = new G4FastSimulationManagerProcess81("G4FSMP_massGeom"); + G4FastSimulationManagerProcess* fastSimProcess_parallelGeom = new G4FastSimulationManagerProcess("G4FSMP_parallelGeom", "pionGhostWorld"); + G4FastSimulationManagerProcess* fastSimProcess_massGeom = new G4FastSimulationManagerProcess("G4FSMP_massGeom"); theParticleIterator->reset(); while( (*theParticleIterator)() ) { G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); - // -- G4FSMP is a PostStep process, ordering does not matter (?) + // -- G4FSMP is a PostStep process, ordering does not matter if (particle->GetParticleName() == "pi+" || particle->GetParticleName() == "pi-") pmanager->AddDiscreteProcess(fastSimProcess_parallelGeom); if (particle->GetParticleName() == "e+" || diff --git a/examples/novice/N05/src/ExN05PiModel.cc b/examples/novice/N05/src/ExN05PiModel.cc index 13bbbe44ed..82af0f7ba8 100644 --- a/examples/novice/N05/src/ExN05PiModel.cc +++ b/examples/novice/N05/src/ExN05PiModel.cc @@ -25,7 +25,7 @@ // // // $Id: ExN05PiModel.cc,v 1.7 2006/06/29 17:53:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN05PiModel.hh" diff --git a/examples/novice/N05/src/ExN05PionShowerModel.cc b/examples/novice/N05/src/ExN05PionShowerModel.cc index 669afe10b5..7ad3a2f10e 100644 --- a/examples/novice/N05/src/ExN05PionShowerModel.cc +++ b/examples/novice/N05/src/ExN05PionShowerModel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN05PionShowerModel.cc,v 1.17 2006/11/13 10:19:16 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN05PionShowerModel.cc,v 1.19 2007/05/18 14:32:35 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN05PionShowerModel.hh" #include "ExN05EnergySpot.hh" @@ -85,6 +85,8 @@ G4bool ExN05PionShowerModel::ModelTrigger(const G4FastTrack&) void ExN05PionShowerModel::DoIt(const G4FastTrack& fastTrack, G4FastStep& fastStep) { + // G4cout << "ExN05PionShowerModel::DoIt" << G4endl; + // Kill the parameterised particle: fastStep.KillPrimaryTrack(); fastStep.ProposePrimaryTrackPathLength(0.0); diff --git a/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc b/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc index 4d92acec78..73fd5aca2e 100644 --- a/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc +++ b/examples/novice/N05/src/ExN05PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN05PrimaryGeneratorAction.cc,v 1.5 2006/06/29 17:53:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN05PrimaryGeneratorAction.hh" diff --git a/examples/novice/N05/src/ExN05RunAction.cc b/examples/novice/N05/src/ExN05RunAction.cc index 96be4b44f8..b3901f5da7 100644 --- a/examples/novice/N05/src/ExN05RunAction.cc +++ b/examples/novice/N05/src/ExN05RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN05RunAction.cc,v 1.8 2006/06/29 17:53:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Make this appear first! diff --git a/examples/novice/N05/src/ExN05SteppingAction.cc b/examples/novice/N05/src/ExN05SteppingAction.cc index 20ed0156be..b7cde07fe1 100644 --- a/examples/novice/N05/src/ExN05SteppingAction.cc +++ b/examples/novice/N05/src/ExN05SteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN05SteppingAction.cc,v 1.7 2006/06/29 17:53:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN05SteppingAction.hh" diff --git a/examples/novice/N05/src/ExN05SteppingActionMessenger.cc b/examples/novice/N05/src/ExN05SteppingActionMessenger.cc index 939f37400e..4df0307960 100644 --- a/examples/novice/N05/src/ExN05SteppingActionMessenger.cc +++ b/examples/novice/N05/src/ExN05SteppingActionMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: ExN05SteppingActionMessenger.cc,v 1.7 2006/06/29 17:53:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN05SteppingActionMessenger.hh" diff --git a/examples/novice/N05/vis.mac b/examples/novice/N05/vis.mac new file mode 100644 index 0000000000..f54be01cf2 --- /dev/null +++ b/examples/novice/N05/vis.mac @@ -0,0 +1,25 @@ +# +# create empty scene +# +/vis/scene/create +# +# Create a scene handler for a specific graphics system +# (Edit the next line(s) to choose another graphic system) +# +/vis/open OGLIX +# +# draw scene +# +/vis/drawVolume worlds +/vis/viewer/set/viewpointThetaPhi -90 0 deg +# Set specific colour for identification : ghost parallel geometry envelope ("ghost") as yellow +/vis/geometry/set/colour GhostLogical ! yellow +/vis/viewer/zoom 2.5 +/vis/viewer/flush +# +# for drawing the tracks +# (if too many tracks cause core dump => storeTrajectory 0) +/tracking/storeTrajectory 1 +/vis/scene/endOfEventAction accumulate +/vis/scene/add/trajectories + diff --git a/examples/novice/N06/exampleN06.cc b/examples/novice/N06/exampleN06.cc index 256822f733..72a2ef0bb2 100644 --- a/examples/novice/N06/exampleN06.cc +++ b/examples/novice/N06/exampleN06.cc @@ -25,7 +25,7 @@ // // // $Id: exampleN06.cc,v 1.14 2006/06/29 17:53:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/exampleN06.out b/examples/novice/N06/exampleN06.out index b761f9c457..99f249db66 100644 --- a/examples/novice/N06/exampleN06.out +++ b/examples/novice/N06/exampleN06.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -14,7 +14,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -59,7 +58,7 @@ Equal msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -72,7 +71,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -85,7 +84,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -94,7 +93,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -115,7 +114,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -162,7 +161,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -180,999 +179,872 @@ hIoni: tables are built for pi- Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 0 fm 500 keV 0 eV 0 fm 0 fm Tank initStep - Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 38 + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 3 - Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 16 - 1 953 um -768 um -149 um 172 keV 328 keV 1.49 mm 1.49 mm Tank eIoni - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 55, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 763 um -614 um -120 um 3.3 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.985954,0.102222,0.132081) - Old Polarization: (0.0757615,-0.431046,0.899144) - New Momentum Direction: (-0.974006,0.138642,0.179139) - New Polarization: (-0.102904,-0.975324,0.19533) - *** FresnelRefraction *** - 1 -5 m 51.8 cm 67 cm 3.3 eV 0 eV 5.07 m 5.07 m Tank Transportation - 2 -10 m 1.23 m 1.59 m 3.3 eV 0 eV 5.13 m 10.2 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 54, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 821 um -662 um -129 um 3.72 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.86539246,-0.49681618,-0.065341949) - Old Polarization: (-0.49263728,-0.81966575,-0.29232956) - New Momentum Direction: (0.73237446,-0.67508832,-0.088788548) - New Polarization: (0.66996401,0.73773573,-0.083031482) - *** FresnelRefraction *** - 1 5 m -2.87 m -37.8 cm 3.72 eV 0 eV 5.78 m 5.78 m Tank Transportation - 2 10 m -7.48 m -98.4 cm 3.72 eV 0 eV 6.83 m 12.6 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 53, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 922 um -742 um -144 um 3.36 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.69295142,-0.51044537,0.50917959) - Old Polarization: (0.71997421,0.45254145,-0.52615908) - New Momentum Direction: (0.2074461,-0.69258288,0.69086545) - New Polarization: (0.97725791,0.11497887,-0.17817643) - *** FresnelRefraction *** - 1 5 m -3.68 m 3.67 m 3.36 eV 0 eV 7.21 m 7.21 m Tank Transportation - 2 6.89 m -10 m 9.97 m 3.36 eV 0 eV 9.12 m 16.3 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 52, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 620 um -499 um -97.2 um 2.39 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.97341876,0.19864121,-0.114007) - Old Polarization: (0.21300473,0.96810819,-0.13189205) - New Momentum Direction: (-0.95114662,0.26777149,-0.15368323) - New Polarization: (-0.28726641,-0.58516384,0.75832796) - *** FresnelRefraction *** - 1 -5 m 1.02 m -58.6 cm 2.39 eV 0 eV 5.14 m 5.14 m Tank Transportation - 2 -10 m 2.43 m -1.39 m 2.39 eV 0 eV 5.26 m 10.4 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 51, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 611 um -492 um -95.7 um 3.07 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.080235619,-0.87750316,0.47281122) - Old Polarization: (-0.91431716,0.12411729,0.3855114) - New Momentum Direction: (0.080235619,0.87750316,0.47281122) - New Polarization: (-0.99548972,0.046454442,0.08271761) - *** LobeReflection *** - 1 45.8 cm -5 m 2.69 m 3.07 eV 0 eV 5.7 m 5.7 m Tank Transportation - 2 45.8 cm -5 m 2.69 m 3.07 eV 0 eV 0 fm 5.7 m World Transportation - Photon at Boundary! - Old Momentum Direction: (0.080235619,0.87750316,0.47281122) - Old Polarization: (-0.99548972,0.046454442,0.08271761) - New Momentum Direction: (-0.080235619,-0.87750316,-0.47281122) - New Polarization: (0.99548972,-0.046454442,-0.08271761) - *** BackScattering *** - 3 84.9 cm -72 cm 5 m 3.07 eV 0 eV 4.88 m 10.6 m Tank Transportation - 4 84.9 cm -72 cm 5 m 3.07 eV 0 eV 0 fm 10.6 m World Transportation - Photon at Boundary! - Old Momentum Direction: (-0.080235619,-0.87750316,-0.47281122) - Old Polarization: (0.99548972,-0.046454442,-0.08271761) - New Momentum Direction: (-0.10870154,-0.76017996,-0.64055476) - New Polarization: (0.99365151,-0.064295611,-0.092318749) - *** FresnelRefraction *** - 5 45.8 cm -5 m 2.69 m 3.07 eV 0 eV 4.88 m 15.5 m Tank Transportation - 6 -25.7 cm -10 m -1.52 m 3.07 eV 0 eV 6.58 m 22 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 50, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 585 um -471 um -91.7 um 2.92 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.84920788,0.34612392,-0.39880347) - Old Polarization: (0.36403908,0.16334417,0.91694833) - New Momentum Direction: (0.6992675,0.46856569,-0.53988069) - New Polarization: (0.50029768,0.21867231,0.83778556) - *** FresnelRefraction *** - 1 5 m 2.04 m -2.35 m 2.92 eV 0 eV 5.89 m 5.89 m Tank Transportation - 2 10 m 5.39 m -6.21 m 2.92 eV 0 eV 7.15 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 49, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 690 um -555 um -108 um 2.97 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.91907449,0.28088298,0.27641785) - Old Polarization: (0.33248258,0.17612355,0.92651812) - New Momentum Direction: (-0.84571561,0.38034716,0.37430087) - New Polarization: (-0.45182994,-0.88357883,-0.12303721) - *** FresnelRefraction *** - 1 -5 m 1.53 m 1.5 m 2.97 eV 0 eV 5.44 m 5.44 m Tank Transportation - 2 -10 m 3.78 m 3.72 m 2.97 eV 0 eV 5.91 m 11.4 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 48, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 889 um -716 um -139 um 4.03 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.44934757,0.45695064,0.76764762) - Old Polarization: (0.88626589,-0.33606831,-0.31873321) - New Momentum Direction: (0.61120045,0.62154211,0.49001981) - New Polarization: (0.42821172,-0.78036292,0.45570653) - *** FresnelRefraction *** - 1 2.93 m 2.98 m 5 m 4.03 eV 0 eV 6.51 m 6.51 m Tank Transportation - 2 9.16 m 9.32 m 10 m 4.03 eV 0 eV 10.2 m 16.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 47, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 452 um -364 um -70.8 um 3.2 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.61717235,-0.085375032,0.78218246) - Old Polarization: (-0.7424677,0.39226338,-0.54302041) - New Momentum Direction: (-0.83666479,-0.11573798,0.53534732) - New Polarization: (0.40392209,0.52975078,0.74579559) - *** FresnelRefraction *** - 1 -3.94 m -54.6 cm 5 m 3.2 eV 0 eV 6.39 m 6.39 m Tank Transportation - 2 -10 m -1.38 m 8.87 m 3.2 eV 0 eV 7.24 m 13.6 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 46, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 160 um -129 um -25.1 um 3.15 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.50468398,-0.57407264,0.64477491) - Old Polarization: (-0.81797565,0.079150931,-0.56978151) - New Momentum Direction: (0.50468398,0.57407264,-0.64477491) - New Polarization: (0.81797565,-0.079150931,0.56978151) - *** BackScattering *** - 1 -3.91 m -4.45 m 5 m 3.15 eV 0 eV 7.75 m 7.75 m Tank Transportation - 2 -3.91 m -4.45 m 5 m 3.15 eV 0 eV 0 fm 7.75 m World Transportation - Photon at Boundary! - Old Momentum Direction: (0.50468398,0.57407264,-0.64477491) - Old Polarization: (0.81797565,-0.079150931,0.56978151) - New Momentum Direction: (0.50468398,0.57407264,0.64477491) - New Polarization: (-0.81797565,0.079150931,0.56978151) - *** LobeReflection *** - 3 3.91 m 4.45 m -5 m 3.15 eV 0 eV 15.5 m 23.3 m Tank Transportation - 4 3.91 m 4.45 m -5 m 3.15 eV 0 eV 0 fm 23.3 m World Transportation - Photon at Boundary! - Old Momentum Direction: (0.50468398,0.57407264,0.64477491) - Old Polarization: (-0.81797565,0.079150931,0.56978151) - New Momentum Direction: (0.50468398,-0.57407264,0.64477491) - New Polarization: (0.81797565,0.079150931,-0.56978151) - *** SpikeReflection *** - 5 4.4 m 5 m -4.38 m 3.15 eV 0 eV 95.5 cm 24.2 m Tank Transportation - 6 4.4 m 5 m -4.38 m 3.15 eV 0 eV 0 fm 24.2 m World Transportation - Photon at Boundary! - Old Momentum Direction: (0.50468398,-0.57407264,0.64477491) - Old Polarization: (0.81797565,0.079150931,-0.56978151) - New Momentum Direction: (-0.50468398,0.57407264,-0.64477491) - New Polarization: (-0.81797565,-0.079150931,0.56978151) - *** BackScattering *** - 7 5 m 4.31 m -3.61 m 3.15 eV 0 eV 1.2 m 25.4 m Tank Transportation - 8 5 m 4.31 m -3.61 m 3.15 eV 0 eV 0 fm 25.4 m World Transportation - Photon at Boundary! - Old Momentum Direction: (-0.50468398,0.57407264,-0.64477491) - Old Polarization: (-0.81797565,-0.079150931,0.56978151) - New Momentum Direction: (0.50468398,-0.57407264,0.64477491) - New Polarization: (0.81797565,0.079150931,-0.56978151) - *** BackScattering *** - 9 4.4 m 5 m -4.38 m 3.15 eV 0 eV 1.2 m 26.6 m Tank Transportation - 10 4.4 m 5 m -4.38 m 3.15 eV 0 eV 0 fm 26.6 m World Transportation - Photon at Boundary! - Old Momentum Direction: (0.50468398,-0.57407264,0.64477491) - Old Polarization: (0.81797565,0.079150931,-0.56978151) - New Momentum Direction: (-0.50468398,-0.57407264,0.64477491) - New Polarization: (0.81797565,-0.079150931,0.56978151) - *** SpikeReflection *** - 11 5 m 4.31 m -3.61 m 3.15 eV 0 eV 1.2 m 27.8 m Tank Transportation - 12 5 m 4.31 m -3.61 m 3.15 eV 0 eV 0 fm 27.8 m World Transportation - -** Photon absorbed! ** - 13 4.45 m 3.69 m -2.91 m 3.15 eV 0 eV 1.09 m 28.9 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 45, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 207 um -167 um -32.5 um 2.89 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.56271694,0.32954926,0.75812066) - Old Polarization: (0.58654938,-0.8054132,-0.085260773) - New Momentum Direction: (0.56271694,0.32954926,-0.75812066) - New Polarization: (0.52540392,-0.85061246,0.020227624) - *** LobeReflection *** - 1 3.71 m 2.17 m 5 m 2.89 eV 0 eV 6.6 m 6.6 m Tank Transportation - 2 3.71 m 2.17 m 5 m 2.89 eV 0 eV 0 fm 6.6 m World Transportation - -** Photon absorbed! ** - 3 4.33 m 2.54 m 4.16 m 2.89 eV 0 eV 1.11 m 7.7 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 44, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 646 um -520 um -101 um 2.46 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.53906468,-0.51233467,0.6685226) - Old Polarization: (0.32811584,-0.85875565,-0.39354635) - New Momentum Direction: (-0.53906468,-0.51233467,-0.6685226) - New Polarization: (-0.32811584,0.85875565,-0.39354635) - *** LobeReflection *** - 1 -4.03 m -3.83 m 5 m 2.46 eV 0 eV 7.48 m 7.48 m Tank Transportation - 2 -4.03 m -3.83 m 5 m 2.46 eV 0 eV 0 fm 7.48 m World Transportation - Photon at Boundary! - Old Momentum Direction: (-0.53906468,-0.51233467,-0.6685226) - Old Polarization: (-0.32811584,0.85875565,-0.39354635) - New Momentum Direction: (0.53906468,-0.51233467,-0.6685226) - New Polarization: (-0.32811584,-0.85875565,0.39354635) - *** SpikeReflection *** - 3 -5 m -4.75 m 3.8 m 2.46 eV 0 eV 1.8 m 9.28 m Tank Transportation - 4 -5 m -4.75 m 3.8 m 2.46 eV 0 eV 0 fm 9.28 m World Transportation - Photon at Boundary! - Old Momentum Direction: (0.53906468,-0.51233467,-0.6685226) - Old Polarization: (-0.32811584,-0.85875565,0.39354635) - New Momentum Direction: (0.92465712,0.37564885,0.062427127) - New Polarization: (0.01292113,0.13289156,-0.99104635) - *** LambertianReflection *** - 5 -4.74 m -5 m 3.48 m 2.46 eV 0 eV 48.2 cm 9.76 m Tank Transportation - 6 -4.74 m -5 m 3.48 m 2.46 eV 0 eV 0 fm 9.76 m World Transportation - -** Photon absorbed! ** - 7 -2.02 m -3.89 m 3.66 m 2.46 eV 0 eV 2.94 m 12.7 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 43, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 297 um -240 um -46.6 um 2.31 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 42.6 cm 89.1 cm 1.69 m 2.31 eV 0 eV 1.96 m 1.96 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 42, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 600 um -483 um -94 um 3.1 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.35833645,-0.75490345,-0.5492866) - Old Polarization: (0.91033841,-0.41303267,-0.026229732) - New Momentum Direction: (-0.48553664,-0.45860395,-0.74426917) - New Polarization: (0.79578131,-0.58431077,-0.15910071) - *** FresnelRefraction *** - 1 -2.37 m -5 m -3.64 m 3.1 eV 0 eV 6.62 m 6.62 m Tank Transportation - 2 -6.52 m -8.92 m -10 m 3.1 eV 0 eV 8.55 m 15.2 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 41, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 365 um -294 um -57.2 um 3.24 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.29726426,-0.90136946,-0.31490803) - Old Polarization: (-0.33380386,-0.21089389,0.91874847) - New Momentum Direction: (-0.40304627,-0.80947608,-0.4269686) - New Polarization: (-0.35869609,-0.28948848,0.88743086) - *** FresnelRefraction *** - 1 -1.65 m -5 m -1.75 m 3.24 eV 0 eV 5.55 m 5.55 m Tank Transportation - 2 -4.14 m -10 m -4.38 m 3.24 eV 0 eV 6.18 m 11.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 40, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 25.1 um -20.2 um -3.93 um 2.93 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.6895524,-0.4540972,0.56419253) - Old Polarization: (-0.034816033,-0.75733277,-0.65210039) - New Momentum Direction: (0.6895524,-0.4540972,0.56419253) - New Polarization: (-0.023663883,-0.79272854,-0.60911533) - *** SpikeReflection *** - 1 -5 m -3.29 m 4.09 m 2.93 eV 0 eV 7.25 m 7.25 m Tank Transportation - 2 -5 m -3.29 m 4.09 m 2.93 eV 0 eV 0 fm 7.25 m World Transportation - Photon at Boundary! - Old Momentum Direction: (0.6895524,-0.4540972,0.56419253) - Old Polarization: (-0.023663883,-0.79272854,-0.60911533) - New Momentum Direction: (0.6895524,-0.4540972,-0.56419253) - New Polarization: (0.023663883,0.79272854,-0.60911533) - *** LobeReflection *** - 3 -3.89 m -4.02 m 5 m 2.93 eV 0 eV 1.61 m 8.86 m Tank Transportation - 4 -3.89 m -4.02 m 5 m 2.93 eV 0 eV 0 fm 8.86 m World Transportation - Photon at Boundary! - Old Momentum Direction: (0.6895524,-0.4540972,-0.56419253) - Old Polarization: (0.023663883,0.79272854,-0.60911533) - New Momentum Direction: (0.6895524,0.4540972,-0.56419253) - New Polarization: (-0.023663883,0.79272854,0.60911533) - *** LobeReflection *** - 5 -2.41 m -5 m 3.79 m 2.93 eV 0 eV 2.15 m 11 m Tank Transportation - 6 -2.41 m -5 m 3.79 m 2.93 eV 0 eV 0 fm 11 m World Transportation - Photon at Boundary! - Old Momentum Direction: (0.6895524,0.4540972,-0.56419253) - Old Polarization: (-0.023663883,0.79272854,0.60911533) - New Momentum Direction: (0.19668889,0.61475399,-0.76380037) - New Polarization: (0.03787231,0.77367274,0.63245252) - *** FresnelRefraction *** - 7 5 m -12.2 cm -2.27 m 2.93 eV 0 eV 10.7 m 21.8 m Tank Transportation - 8 6.99 m 6.1 m -10 m 2.93 eV 0 eV 10.1 m 31.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 39, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 408 um 0 fm 0 fm 3.85 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85254802,-0.5220183,0.025666671) - Old Polarization: (-0.52264891,-0.85151936,0.041867627) - New Momentum Direction: (0.70372064,-0.70961954,0.034890677) - New Polarization: (0.71047678,0.70287156,-0.034558891) - *** FresnelRefraction *** - 1 5 m -3.06 m 15.1 cm 3.85 eV 0 eV 5.86 m 5.86 m Tank Transportation - 2 10 m -8.1 m 39.8 cm 3.85 eV 0 eV 7.11 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 38, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 323 um 0 fm 0 fm 2.2 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.86112734,-0.36381845,-0.35509977) - Old Polarization: (-0.50838933,-0.61624821,-0.6014802) - New Momentum Direction: (0.72928752,-0.48963904,-0.47790514) - New Polarization: (0.68420736,0.52189974,0.50939273) - *** FresnelRefraction *** - 1 5 m -2.11 m -2.06 m 2.2 eV 0 eV 5.81 m 5.81 m Tank Transportation - 2 10 m -5.47 m -5.34 m 2.2 eV 0 eV 6.86 m 12.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 37, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 146 um 0 fm 0 fm 3.88 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85247191,0.1295654,0.50646268) - Old Polarization: (-0.52277302,0.21127882,0.82587507) - New Momentum Direction: (0.70348617,0.17614392,0.68853506) - New Polarization: (0.71070895,-0.17435381,-0.68153763) - *** FresnelRefraction *** - 1 5 m 76 cm 2.97 m 3.88 eV 0 eV 5.87 m 5.87 m Tank Transportation - 2 10 m 2.01 m 7.86 m 3.88 eV 0 eV 7.11 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 36, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 444 um 0 fm 0 fm 3.87 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85248781,-0.38235925,0.35646309) - Old Polarization: (-0.5227471,-0.6235455,0.58131444) - New Momentum Direction: (0.70353517,-0.51980699,0.48460186) - New Polarization: (0.71066045,0.51459526,-0.47974311) - *** FresnelRefraction *** - 1 5 m -2.24 m 2.09 m 3.87 eV 0 eV 5.86 m 5.86 m Tank Transportation - 2 10 m -5.94 m 5.53 m 3.87 eV 0 eV 7.11 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 35, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 857 um 0 fm 0 fm 4.09 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 59.8 cm 20.4 cm -30.5 cm 4.09 eV 0 eV 70.1 cm 70.1 cm Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 34, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 279 um 0 fm 0 fm 2.42 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.8595015,-0.44787952,0.24629478) - Old Polarization: (-0.51113323,-0.75313654,0.4141596) - New Momentum Direction: (0.72456979,-0.60391144,0.33209877) - New Polarization: (0.68920143,0.6349029,-0.34914137) - *** FresnelRefraction *** - 1 5 m -2.61 m 1.43 m 2.42 eV 0 eV 5.82 m 5.82 m Tank Transportation - 2 10 m -6.77 m 3.72 m 2.42 eV 0 eV 6.9 m 12.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 33, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 669 um 0 fm 0 fm 2.72 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85724849,-0.1900385,-0.4785503) - Old Polarization: (-0.51490292,-0.31639017,-0.79672595) - New Momentum Direction: (0.71793601,-0.25691743,-0.64696316) - New Polarization: (0.69610911,0.26497322,0.66724906) - *** FresnelRefraction *** - 1 5 m -1.11 m -2.79 m 2.72 eV 0 eV 5.83 m 5.83 m Tank Transportation - 2 10 m -2.9 m -7.3 m 2.72 eV 0 eV 6.96 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 32, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 908 um 0 fm 0 fm 4.13 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85168109,-0.020373577,0.52366424) - Old Polarization: (-0.52406042,-0.033110285,0.85103724) - New Momentum Direction: (0.70104127,-0.027723558,0.7125816) - New Polarization: (0.7131207,0.027253953,-0.7005113) - *** FresnelRefraction *** - 1 5 m -12 cm 3.07 m 4.13 eV 0 eV 5.87 m 5.87 m Tank Transportation - 2 10 m -31.7 cm 8.16 m 4.13 eV 0 eV 7.13 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 31, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 449 um 0 fm 0 fm 2.59 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85813547,0.50155418,-0.10975845) - Old Polarization: (-0.51342332,0.83829739,-0.18345021) - New Momentum Direction: (0.72056118,0.67736178,-0.1482316) - New Polarization: (0.69339136,-0.70390349,0.1540399) - *** FresnelRefraction *** - 1 5 m 2.92 m -63.9 cm 2.59 eV 0 eV 5.83 m 5.83 m Tank Transportation - 2 10 m 7.62 m -1.67 m 2.59 eV 0 eV 6.94 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 30, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 352 um 0 fm 0 fm 2.17 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 4.95 m 2.83 m -71.7 cm 2.17 eV 0 eV 5.75 m 5.75 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 29, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 460 um 0 fm 0 fm 2.21 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.86103311,-0.50406594,-0.067375947) - Old Polarization: (-0.5085489,-0.85344292,-0.1140754) - New Momentum Direction: (0.72901566,-0.67846303,-0.090686726) - New Polarization: (0.68449702,0.72258923,0.096584852) - *** FresnelRefraction *** - 1 5 m -2.93 m -39.1 cm 2.21 eV 0 eV 5.81 m 5.81 m Tank Transportation - 2 10 m -7.58 m -1.01 m 2.21 eV 0 eV 6.86 m 12.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 28, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 680 um 0 fm 0 fm 2.3 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.8603348,0.15836832,-0.48450336) - Old Polarization: (-0.50972937,0.26729826,-0.81775767) - New Momentum Direction: (0.72699497,0.21333372,-0.6526615) - New Polarization: (0.68664278,-0.22587078,0.6910167) - *** FresnelRefraction *** - 1 5 m 92 cm -2.82 m 2.3 eV 0 eV 5.81 m 5.81 m Tank Transportation - 2 10 m 2.39 m -7.3 m 2.3 eV 0 eV 6.88 m 12.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 27, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 631 um 0 fm 0 fm 2.8 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85672622,-0.50882352,0.084373071) - Old Polarization: (-0.51577145,-0.8451853,0.14014855) - New Momentum Direction: (0.7163819,-0.68830957,0.11413543) - New Polarization: (0.69770837,0.70673156,-0.11719017) - *** FresnelRefraction *** - 1 5 m -2.97 m 49.2 cm 2.8 eV 0 eV 5.84 m 5.84 m Tank Transportation - 2 10 m -7.77 m 1.29 m 2.8 eV 0 eV 6.98 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 26, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 432 um 0 fm 0 fm 2.03 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 1.5 m 69.4 cm -53.7 cm 2.03 eV 0 eV 1.73 m 1.73 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 25, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 65.1 um 0 fm 0 fm 3.6 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85323787,-0.50655797,0.12403288) - Old Polarization: (-0.52152194,-0.82875602,0.20292445) - New Momentum Direction: (0.70583968,-0.68804639,0.16847109) - New Polarization: (0.70837161,0.68558711,-0.16786893) - *** FresnelRefraction *** - 1 5 m -2.97 m 72.7 cm 3.6 eV 0 eV 5.86 m 5.86 m Tank Transportation - 2 10 m -7.84 m 1.92 m 3.6 eV 0 eV 7.08 m 12.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 24, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 671 um 0 fm 0 fm 4.07 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85189856,-0.27616861,-0.44497161) - Old Polarization: (-0.52370682,-0.4492354,-0.7238223) - New Momentum Direction: (0.70171514,-0.3757034,-0.60534521) - New Polarization: (0.71245763,0.37003851,0.59621777) - *** FresnelRefraction *** - 1 5 m -1.62 m -2.61 m 4.07 eV 0 eV 5.87 m 5.87 m Tank Transportation - 2 10 m -4.3 m -6.92 m 4.07 eV 0 eV 7.13 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 23, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 56.7 um 0 fm 0 fm 3.94 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 41.8 cm 24.9 cm 6.28 cm 3.94 eV 0 eV 49.1 cm 49.1 cm Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 22, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 195 um 0 fm 0 fm 3.97 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 1.22 m -29.4 cm -69.2 cm 3.97 eV 0 eV 1.44 m 1.44 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 21, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 325 um 0 fm 0 fm 4.12 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85169957,0.45236164,-0.26453125) - Old Polarization: (-0.52403038,0.73521734,-0.4299391) - New Momentum Direction: (0.70109859,0.61554248,-0.35995586) - New Polarization: (0.71306435,-0.60521321,0.35391552) - *** FresnelRefraction *** - 1 5 m 2.66 m -1.55 m 4.12 eV 0 eV 5.87 m 5.87 m Tank Transportation - 2 10 m 7.05 m -4.12 m 4.12 eV 0 eV 7.13 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 20, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 625 um 0 fm 0 fm 3.49 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85368378,-0.50525028,0.12627812) - Old Polarization: (-0.52079172,-0.8282082,0.20699558) - New Momentum Direction: (0.70720326,-0.68591173,0.17143116) - New Polarization: (0.70701028,0.68609895,-0.17147796) - *** FresnelRefraction *** - 1 5 m -2.96 m 74 cm 3.49 eV 0 eV 5.86 m 5.86 m Tank Transportation - 2 10 m -7.81 m 1.95 m 3.49 eV 0 eV 7.07 m 12.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 19, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 535 um 0 fm 0 fm 3.75 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 2.74 m -1.6 m 49.4 cm 3.75 eV 0 eV 3.21 m 3.21 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 18, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 520 um 0 fm 0 fm 2.4 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 2.13 m 1.22 m 35.1 cm 2.4 eV 0 eV 2.48 m 2.48 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 17, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 216 um 0 fm 0 fm 3.16 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 1.42 m 47 cm 72.4 cm 3.16 eV 0 eV 1.66 m 1.66 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 16, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 638 um 0 fm 0 fm 3.76 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85278639,0.41130284,-0.32184678) - Old Polarization: (-0.52225988,0.67160714,-0.52553636) - New Momentum Direction: (0.70445415,0.55895924,-0.43738875) - New Polarization: (0.7097495,-0.55478892,0.43412545) - *** FresnelRefraction *** - 1 5 m 2.41 m -1.89 m 3.76 eV 0 eV 5.86 m 5.86 m Tank Transportation - 2 10 m 6.38 m -4.99 m 3.76 eV 0 eV 7.1 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 15, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 781 um 0 fm 0 fm 2.48 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 99.2 cm 51.7 cm -28.6 cm 2.48 eV 0 eV 1.15 m 1.15 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 14, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 121 um 0 fm 0 fm 3.72 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 1.01 m -36.4 cm -49.9 cm 3.72 eV 0 eV 1.18 m 1.18 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 13, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 269 um 0 fm 0 fm 2.25 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 95.1 cm 33 cm -45.5 cm 2.25 eV 0 eV 1.11 m 1.11 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 12, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 127 um 0 fm 0 fm 2.16 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.8615111,-0.051191657,0.50515149) - Old Polarization: (-0.50773873,-0.08685999,0.85712118) - New Momentum Direction: (0.73039278,-0.068864754,0.67954693) - New Polarization: (0.68302737,0.07364027,-0.72667099) - *** FresnelRefraction *** - 1 5 m -29.7 cm 2.93 m 2.16 eV 0 eV 5.8 m 5.8 m Tank Transportation - 2 10 m -76.9 cm 7.58 m 2.16 eV 0 eV 6.85 m 12.6 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 11, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 863 um 0 fm 0 fm 2.69 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.8574164,0.16457695,0.48759773) - Old Polarization: (-0.51462328,0.27420247,0.812389) - New Momentum Direction: (0.71843431,0.22245179,0.6590655) - New Polarization: (0.69559481,-0.22975588,-0.68070559) - *** FresnelRefraction *** - 1 5 m 96 cm 2.84 m 2.69 eV 0 eV 5.83 m 5.83 m Tank Transportation - 2 10 m 2.51 m 7.43 m 2.69 eV 0 eV 6.96 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 10, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 597 um 0 fm 0 fm 2.2 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.86112833,0.26833694,-0.43180236) - Old Polarization: (-0.50838764,0.45452037,-0.73140498) - New Momentum Direction: (0.7292904,0.3611364,-0.58113339) - New Polarization: (0.68420429,-0.38493373,0.61942757) - *** FresnelRefraction *** - 1 5 m 1.56 m -2.51 m 2.2 eV 0 eV 5.81 m 5.81 m Tank Transportation - 2 10 m 4.03 m -6.49 m 2.2 eV 0 eV 6.86 m 12.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 9, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 259 um 0 fm 0 fm 2.74 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85714229,-0.33130843,-0.3943879) - Old Polarization: (-0.51507969,-0.55132919,-0.6562995) - New Momentum Direction: (0.71762049,-0.44795899,-0.53324814) - New Polarization: (0.69643437,0.46158628,0.54946999) - *** FresnelRefraction *** - 1 5 m -1.93 m -2.3 m 2.74 eV 0 eV 5.83 m 5.83 m Tank Transportation - 2 10 m -5.05 m -6.02 m 2.74 eV 0 eV 6.97 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 831 um 0 fm 0 fm 3.12 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85523123,0.44391052,-0.26743782) - Old Polarization: (-0.5182466,0.73255887,-0.44133656) - New Momentum Direction: (0.71189876,0.60154841,-0.36240815) - New Polarization: (0.70228211,-0.60978567,0.36737077) - *** FresnelRefraction *** - 1 5 m 2.59 m -1.56 m 3.12 eV 0 eV 5.85 m 5.85 m Tank Transportation - 2 10 m 6.82 m -4.11 m 3.12 eV 0 eV 7.02 m 12.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 691 um 0 fm 0 fm 3.03 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 47.7 cm -19 cm -21.7 cm 3.03 eV 0 eV 55.7 cm 55.7 cm Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 869 um 0 fm 0 fm 2.92 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.85606959,-0.076741873,-0.51113162) - Old Polarization: (-0.51686057,-0.12710659,-0.84658081) - New Momentum Direction: (0.71441919,-0.10389198,-0.6919622) - New Polarization: (0.69971796,0.10607477,0.70650047) - *** FresnelRefraction *** - 1 5 m -44.8 cm -2.98 m 2.92 eV 0 eV 5.84 m 5.84 m Tank Transportation - 2 10 m -1.18 m -7.83 m 2.92 eV 0 eV 7 m 12.8 m OutOfWorld Transportation + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 1 + 1 88.9 um -8.93 um -10.1 um 489 keV 11.4 keV 90.8 um 90.8 um Tank msc ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 5, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 604 um 0 fm 0 fm 2.08 eV 0 eV 0 fm 0 fm Tank initStep + 0 81.1 um -8.14 um -9.19 um 3.52 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** - 1 2.26 m -1.02 m -84.8 cm 2.08 eV 0 eV 2.62 m 2.62 m Tank OpAbsorption + 1 -64.5 cm -4.08 m 63.9 cm 3.52 eV 0 eV 4.18 m 4.18 m Tank OpAbsorption ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 4, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 720 um 0 fm 0 fm 3.69 eV 0 eV 0 fm 0 fm Tank initStep + 0 70.2 um 0 fm 0 fm 3.51 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.8529732,-0.33722403,-0.3983926) - Old Polarization: (-0.52195471,-0.55108817,-0.65104924) - New Momentum Direction: (0.70502805,-0.45818601,-0.54129569) - New Polarization: (0.70917942,0.4555039,0.53812708) + Old Momentum Direction: (0.85358,0.116025,-0.507877) + Old Polarization: (-0.520961,0.190104,-0.832142) + New Momentum Direction: (0.706887,0.157531,-0.689561) + New Polarization: (0.707327,-0.157433,0.689133) *** FresnelRefraction *** - 1 5 m -1.98 m -2.33 m 3.69 eV 0 eV 5.86 m 5.86 m Tank Transportation - 2 10 m -5.23 m -6.17 m 3.69 eV 0 eV 7.09 m 13 m OutOfWorld Transportation + 1 5 m 68 cm -2.97 m 3.51 eV 0 eV 5.86 m 5.86 m Tank Transportation + 2 10 m 1.79 m -7.85 m 3.51 eV 0 eV 7.07 m 12.9 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 3, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 34.1 um 0 fm 0 fm 4.13 eV 0 eV 0 fm 0 fm Tank initStep - -** Photon absorbed! ** - 1 3.74 m -50.1 cm 2.24 m 4.13 eV 0 eV 4.39 m 4.39 m Tank OpAbsorption + 0 88.7 um 0 fm 0 fm 3.81 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.85264928,-0.21025121,-0.47831332) + Old Polarization: (-0.52248369,-0.34311223,-0.78056697) + New Momentum Direction: (0.70403242,-0.28577666,-0.65013079) + New Polarization: (0.71016783,0.28330773,0.64451407) + *** FresnelRefraction *** + 1 5 m -1.23 m -2.8 m 3.81 eV 0 eV 5.86 m 5.86 m Tank Transportation + 2 10 m -3.26 m -7.42 m 3.81 eV 0 eV 7.1 m 13 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 891 um 0 fm 0 fm 3.19 eV 0 eV 0 fm 0 fm Tank initStep + 0 49 um 0 fm 0 fm 3.84 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.85494202,0.16692248,0.4911324) - Old Polarization: (-0.51872357,0.27511578,0.80946721) - New Momentum Direction: (0.71102548,0.22627515,0.66576446) - New Polarization: (0.70316624,-0.22880421,-0.67320567) + Old Momentum Direction: (0.85256898,-0.017226951,-0.52233071) + Old Polarization: (-0.52261471,-0.028103235,-0.85210567) + New Momentum Direction: (0.7037852,-0.023417342,-0.71002677) + New Polarization: (0.71041283,0.023198875,0.70340275) *** FresnelRefraction *** - 1 5 m 97.6 cm 2.87 m 3.19 eV 0 eV 5.85 m 5.85 m Tank Transportation - 2 10 m 2.57 m 7.55 m 3.19 eV 0 eV 7.03 m 12.9 m OutOfWorld Transportation + 1 5 m -10.1 cm -3.06 m 3.84 eV 0 eV 5.86 m 5.86 m Tank Transportation + 2 10 m -26.7 cm -8.11 m 3.84 eV 0 eV 7.1 m 13 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 1 953 um -768 um -149 um 172 keV 0 eV 0 fm 1.49 mm Tank initStep + 1 88.9 um -8.93 um -10.1 um 489 keV 0 eV 0 fm 90.8 um Tank initStep + + Exiting from G4Cerenkov::DoIt -- NumberOfSecondaries = 32 + + Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 15 + 2 916 um -190 um -864 um 183 keV 305 keV 1.46 mm 1.56 mm Tank eIoni + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 52, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 705 um -144 um -646 um 2.4 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 1 m 25.7 cm 3.94 m 2.4 eV 0 eV 4.07 m 4.07 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 51, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 719 um -147 um -660 um 3.3 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (-0.91651046,0.39929502,-0.023917913) + Old Polarization: (-0.38071066,-0.88907794,-0.25416493) + New Momentum Direction: (-0.8400188,0.54158655,-0.032441226) + New Polarization: (-0.51701282,-0.81716804,-0.25482177) + *** FresnelRefraction *** + 1 -5 m 2.18 m -13.1 cm 3.3 eV 0 eV 5.46 m 5.46 m Tank Transportation + 2 -10 m 5.4 m -32.4 cm 3.3 eV 0 eV 5.95 m 11.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 50, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 717 um -147 um -658 um 4.11 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 2.61 m -1.94 m 3.62 m 4.11 eV 0 eV 4.87 m 4.87 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 49, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 785 um -161 um -728 um 2.08 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 -4.01 m 8.66 cm 1.65 m 2.08 eV 0 eV 4.34 m 4.34 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 48, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 748 um -153 um -690 um 3.42 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.93223719,-0.34418171,-0.11168158) + Old Polarization: (-0.13262043,-0.6121575,0.77953513) + New Momentum Direction: (0.87112591,-0.46708526,-0.15156186) + New Polarization: (0.18158237,0.019629273,0.98317981) + *** FresnelRefraction *** + 1 5 m -1.85 m -60 cm 3.42 eV 0 eV 5.36 m 5.36 m Tank Transportation + 2 10 m -4.53 m -1.47 m 3.42 eV 0 eV 5.74 m 11.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 47, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 202 um -33.8 um -127 um 3.04 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 -2.37 m -82.3 cm -94.9 cm 3.04 eV 0 eV 2.69 m 2.69 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 46, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 318 um -59.1 um -246 um 2.94 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (-0.72324813,0.34181074,-0.60006464) + Old Polarization: (0.57900716,-0.17343744,-0.79666189) + New Momentum Direction: (-0.35468808,0.46277619,-0.81242511) + New Polarization: (-0.80651241,-0.59101523,0.015450732) + *** FresnelRefraction *** + 1 -5 m 2.36 m -4.15 m 2.94 eV 0 eV 6.91 m 6.91 m Tank Transportation + 2 -7.55 m 5.7 m -10 m 2.94 eV 0 eV 7.2 m 14.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 45, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 448 um -87.6 um -380 um 3.71 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.49333598,-0.48347526,-0.7230984) + Old Polarization: (0.63046498,-0.37398024,0.68018578) + New Momentum Direction: (0.6703324,-0.65693391,-0.34509754) + New Polarization: (-0.13363454,0.35058072,-0.92694928) + *** FresnelRefraction *** + 1 3.41 m -3.34 m -5 m 3.71 eV 0 eV 6.91 m 6.91 m Tank Transportation + 2 10 m -9.8 m -8.39 m 3.71 eV 0 eV 9.83 m 16.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 44, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 529 um -105 um -465 um 2.34 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 88 cm 69.1 cm -2.92 m 2.34 eV 0 eV 3.12 m 3.12 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 43, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 292 um -53.4 um -220 um 3.66 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.49446429,-0.81554908,-0.30064058) + Old Polarization: (0.10145537,-0.28936546,0.9518269) + New Momentum Direction: (0.6717432,-0.61801885,-0.40842842) + New Polarization: (0.1726772,-0.40552382,0.89762632) + *** FresnelRefraction *** + 1 3.03 m -5 m -1.84 m 3.66 eV 0 eV 6.13 m 6.13 m Tank Transportation + 2 8.47 m -10 m -5.15 m 3.66 eV 0 eV 8.09 m 14.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 42, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 550 um -110 um -485 um 3.46 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (-0.07319133,0.95694471,-0.28089118) + Old Polarization: (-0.8164578,-0.21923893,-0.53416379) + New Momentum Direction: (-0.099342969,0.91911673,-0.38125504) + New Polarization: (-0.45649711,0.29835371,0.83820967) + *** FresnelRefraction *** + 1 -38.2 cm 5 m -1.47 m 3.46 eV 0 eV 5.23 m 5.23 m Tank Transportation + 2 -92.2 cm 10 m -3.54 m 3.46 eV 0 eV 5.44 m 10.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 41, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 307 um -56.7 um -235 um 3.08 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.96920646,-0.093367717,-0.22786248) + Old Polarization: (0.23128359,0.027479532,0.97249821) + New Momentum Direction: (0.94270301,-0.12649997,-0.30872122) + New Polarization: (0.31351011,0.019375165,0.94938718) + *** FresnelRefraction *** + 1 5 m -48.2 cm -1.18 m 3.08 eV 0 eV 5.16 m 5.16 m Tank Transportation + 2 10 m -1.15 m -2.81 m 3.08 eV 0 eV 5.3 m 10.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 40, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 667 um -136 um -607 um 3.17 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.88761222,-0.1130393,-0.44650495) + Old Polarization: (0.44985382,0.42086355,0.78772166) + New Momentum Direction: (0.78117338,-0.15322044,-0.60522033) + New Polarization: (0.61029094,0.39172324,0.68854765) + *** FresnelRefraction *** + 1 5 m -63.7 cm -2.52 m 3.17 eV 0 eV 5.63 m 5.63 m Tank Transportation + 2 10 m -1.62 m -6.39 m 3.17 eV 0 eV 6.4 m 12 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 39, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 388 um -74.5 um -319 um 3.78 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (-0.41188485,0.28439427,-0.8657198) + Old Polarization: (-0.86203603,0.18634613,0.47134807) + New Momentum Direction: (-0.55979489,0.38652177,-0.73296017) + New Polarization: (0.38266178,-0.66399028,-0.64240709) + *** FresnelRefraction *** + 1 -2.38 m 1.64 m -5 m 3.78 eV 0 eV 5.78 m 5.78 m Tank Transportation + 2 -6.2 m 4.28 m -10 m 3.78 eV 0 eV 6.82 m 12.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 38, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 185 um -30 um -109 um 3.96 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (-0.3790989,-0.92390724,0.051763177) + Old Polarization: (-0.29459942,0.067474096,-0.95323577) + New Momentum Direction: (-0.51551774,-0.85398283,0.07039017) + New Polarization: (0.017841364,-0.092826844,-0.99552241) + *** FresnelRefraction *** + 1 -2.05 m -5 m 28 cm 3.96 eV 0 eV 5.41 m 5.41 m Tank Transportation + 2 -5.07 m -10 m 69.2 cm 3.96 eV 0 eV 5.85 m 11.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 37, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 898 um 6.27 um -111 um 3.15 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.90095378,-0.36831537,0.22940372) + Old Polarization: (-0.4263193,-0.65287133,0.62610772) + New Momentum Direction: (0.8087964,-0.49918094,0.3109128) + New Polarization: (0.57811527,0.77183248,-0.2646835) + *** FresnelRefraction *** + 1 5 m -2.04 m 1.27 m 3.15 eV 0 eV 5.55 m 5.55 m Tank Transportation + 2 10 m -5.13 m 3.19 m 3.15 eV 0 eV 6.18 m 11.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 36, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 689 um 2.34 um -85.2 um 2.21 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.83574659,0.50807759,-0.20829018) + Old Polarization: (-0.53633865,0.83664478,-0.11120415) + New Momentum Direction: (0.67362237,0.68384143,-0.28034587) + New Polarization: (0.7229005,-0.53071435,0.4424445) + *** FresnelRefraction *** + 1 5 m 3.04 m -1.25 m 2.21 eV 0 eV 5.98 m 5.98 m Tank Transportation + 2 10 m 8.12 m -3.33 m 2.21 eV 0 eV 7.42 m 13.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 35, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 200 um -6.85 um -23.9 um 3.46 eV 0 eV 0 fm 0 fm Tank initStep +Scattering Photon! +Old Momentum Direction: (0.89885645,0.29669616,0.32253447) +Old Polarization: (-0.43027236,0.45774008,0.7780358) +New Polarization: (-0.62942731,0.6455167,0.43258462) +Polarization Change: (-0.62942731,0.6455167,0.43258462) +New Momentum Direction: (0.32103922,-0.29093757,0.90127085) +Momentum Change: (0.32103922,-0.29093757,0.90127085) + 1 1.76 m 58.1 cm 63.1 cm 3.46 eV 0 eV 1.96 m 1.96 m Tank OpRayleigh + Photon at Boundary! + Old Momentum Direction: (0.32103922,-0.29093757,0.90127085) + Old Polarization: (-0.62942731,0.6455167,0.43258462) + New Momentum Direction: (0.43574454,-0.39488777,0.80882034) + New Polarization: (-0.56166394,0.58288987,0.58717375) + *** FresnelRefraction *** + 2 3.32 m -83 cm 5 m 3.46 eV 0 eV 4.85 m 6.8 m Tank Transportation + 3 6.01 m -3.27 m 10 m 3.46 eV 0 eV 6.18 m 13 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 34, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 237 um -6.16 um -28.6 um 2.46 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.90777826,-0.33160917,0.25685401) + Old Polarization: (-0.41324052,-0.60206623,0.68318997) + New Momentum Direction: (0.82453024,-0.44732442,0.34648339) + New Polarization: (0.55767185,0.74600745,-0.36397114) + *** FresnelRefraction *** + 1 5 m -1.83 m 1.41 m 2.46 eV 0 eV 5.51 m 5.51 m Tank Transportation + 2 10 m -4.54 m 3.52 m 2.46 eV 0 eV 6.06 m 11.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 33, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 612 um 896 nm -75.6 um 2.41 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 21.7 cm 12 cm 2.05 cm 2.41 eV 0 eV 24.8 cm 24.8 cm Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 32, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 151 um -7.76 um -17.9 um 3.36 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.79988761,0.38920028,-0.45684019) + Old Polarization: (-0.59513936,0.61255734,-0.52017559) + New Momentum Direction: (0.58045313,0.52807366,-0.61984866) + New Polarization: (0.80811237,-0.27995496,0.51824668) + *** FresnelRefraction *** + 1 5 m 2.43 m -2.86 m 3.36 eV 0 eV 6.25 m 6.25 m Tank Transportation + 2 10 m 6.98 m -8.19 m 3.36 eV 0 eV 8.61 m 14.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 31, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 313 um -4.72 um -38.2 um 3.1 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.88787212,-0.446387,0.11145289) + Old Polarization: (-0.4481609,-0.7842876,0.4290044) + New Momentum Direction: (0.78189472,-0.60484286,0.15101579) + New Polarization: (0.60783078,0.79346611,0.030875158) + *** FresnelRefraction *** + 1 5 m -2.51 m 62.8 cm 3.1 eV 0 eV 5.63 m 5.63 m Tank Transportation + 2 10 m -6.38 m 1.59 m 3.1 eV 0 eV 6.39 m 12 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 30, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 906 um 6.42 um -112 um 3.5 eV 0 eV 0 fm 0 fm Tank initStep +Scattering Photon! +Old Momentum Direction: (0.89116075,0.36249642,0.27281653) +Old Polarization: (-0.4431541,0.56667975,0.69461392) +New Polarization: (-0.3914729,0.58563924,0.70977155) +Polarization Change: (-0.3914729,0.58563924,0.70977155) +New Momentum Direction: (-0.916684,-0.31546184,-0.24530445) +Momentum Change: (-0.916684,-0.31546184,-0.24530445) + 1 1.67 m 68 cm 51.2 cm 3.5 eV 0 eV 1.88 m 1.88 m Tank OpRayleigh + Photon at Boundary! + Old Momentum Direction: (-0.916684,-0.31546184,-0.24530445) + Old Polarization: (-0.3914729,0.58563924,0.70977155) + New Momentum Direction: (-0.84002891,-0.42829248,-0.33304202) + New Polarization: (-0.53177052,0.52825856,0.66193882) + *** FresnelRefraction *** + 2 -5 m -1.62 m -1.27 m 3.5 eV 0 eV 7.28 m 9.16 m Tank Transportation + 3 -10 m -4.17 m -3.26 m 3.5 eV 0 eV 5.95 m 15.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 29, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 691 um 2.37 um -85.4 um 2.09 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 45.6 cm -10.3 cm 16.7 cm 2.09 eV 0 eV 49.6 cm 49.6 cm Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 28, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 185 um -7.12 um -22.1 um 2.93 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.91092238,-0.26411888,0.31695684) + Old Polarization: (-0.40921181,-0.48045371,0.77569963) + New Momentum Direction: (0.82947406,-0.35756251,0.42909422) + New Polarization: (0.55411336,0.62337432,-0.5516909) + *** FresnelRefraction *** + 1 5 m -1.45 m 1.74 m 2.93 eV 0 eV 5.49 m 5.49 m Tank Transportation + 2 10 m -3.61 m 4.33 m 2.93 eV 0 eV 6.03 m 11.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 27, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 522 um -794 nm -64.3 um 2.48 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.80118021,-0.17893213,-0.57104603) + Old Polarization: (-0.59489363,-0.34163285,-0.72759093) + New Momentum Direction: (0.5900623,-0.24140482,-0.77042209) + New Polarization: (0.80300342,0.076507434,0.59104325) + *** FresnelRefraction *** + 1 5 m -1.12 m -3.56 m 2.48 eV 0 eV 6.24 m 6.24 m Tank Transportation + 2 9.93 m -3.13 m -10 m 2.48 eV 0 eV 8.35 m 14.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 26, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 344 um -4.15 um -42 um 3.11 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 60 cm 15.9 cm 23.3 cm 3.11 eV 0 eV 66.3 cm 66.3 cm Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 25, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 879 um 5.91 um -109 um 3.03 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.8776269,0.45115,0.16197132) + Old Polarization: (-0.46527335,0.72048824,0.51421533) + New Momentum Direction: (0.76054487,0.6110953,0.21939468) + New Polarization: (0.63099524,-0.77528373,-0.027931145) + *** FresnelRefraction *** + 1 5 m 2.57 m 92.3 cm 3.03 eV 0 eV 5.7 m 5.7 m Tank Transportation + 2 10 m 6.59 m 2.36 m 3.03 eV 0 eV 6.57 m 12.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 24, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 163 um -7.55 um -19.3 um 3.99 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.80408797,0.44007007,-0.39972599) + Old Polarization: (-0.58748089,0.69125527,-0.42075213) + New Momentum Direction: (0.58848899,0.59847396,-0.54360797) + New Polarization: (0.79979344,-0.3324824,0.49978586) + *** FresnelRefraction *** + 1 5 m 2.74 m -2.49 m 3.99 eV 0 eV 6.22 m 6.22 m Tank Transportation + 2 10 m 7.82 m -7.1 m 3.99 eV 0 eV 8.5 m 14.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 23, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 892 um 6.14 um -111 um 2.07 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.91748452,0.12536152,0.37750052) + Old Polarization: (-0.39520183,0.17958578,0.90086873) + New Momentum Direction: (0.84509657,0.16848866,0.50736906) + New Polarization: (0.5312415,-0.37108647,-0.76162806) + *** FresnelRefraction *** + 1 5 m 68.3 cm 2.06 m 2.07 eV 0 eV 5.45 m 5.45 m Tank Transportation + 2 10 m 1.68 m 5.06 m 2.07 eV 0 eV 5.92 m 11.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 22, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 889 um 6.09 um -110 um 2.47 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.81067577,-0.28497012,-0.51146537) + Old Polarization: (-0.57873328,-0.52239386,-0.62623673) + New Momentum Direction: (0.61327124,-0.38444375,-0.69000101) + New Polarization: (0.78146009,0.16815696,0.60086884) + *** FresnelRefraction *** + 1 5 m -1.76 m -3.15 m 2.47 eV 0 eV 6.17 m 6.17 m Tank Transportation + 2 10 m -4.89 m -8.78 m 2.47 eV 0 eV 8.15 m 14.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 21, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 986 um 7.91 um -122 um 3.12 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.8595413,0.51022239,0.029357633) + Old Polarization: (-0.49563575,0.81820381,0.29135498) + New Momentum Direction: (0.72136231,0.69141428,0.039783215) + New Polarization: (0.67267566,-0.71316165,0.19725091) + *** FresnelRefraction *** + 1 5 m 2.97 m 17.1 cm 3.12 eV 0 eV 5.82 m 5.82 m Tank Transportation + 2 10 m 7.76 m 44.6 cm 3.12 eV 0 eV 6.93 m 12.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 20, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 258 um -5.76 um -31.2 um 2.46 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.88355475,-0.46637789,0.042692666) + Old Polarization: (-0.45452123,-0.83196484,0.31819013) + New Momentum Direction: (0.77519928,-0.62908648,0.057587161) + New Polarization: (0.61377233,0.77161633,0.16700827) + *** FresnelRefraction *** + 1 5 m -2.64 m 24.2 cm 2.46 eV 0 eV 5.66 m 5.66 m Tank Transportation + 2 10 m -6.7 m 61.3 cm 2.46 eV 0 eV 6.45 m 12.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 19, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 386 um -3.36 um -47.2 um 2.74 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.79620436,-0.13658489,-0.58940918) + Old Polarization: (-0.60253684,-0.26731154,-0.75199328) + New Momentum Direction: (0.5751614,-0.18467235,-0.79692251) + New Polarization: (0.81498019,0.045177326,0.5777251) + *** FresnelRefraction *** + 1 5 m -85.8 cm -3.7 m 2.74 eV 0 eV 6.28 m 6.28 m Tank Transportation + 2 9.55 m -2.32 m -10 m 2.74 eV 0 eV 7.9 m 14.2 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 18, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1 mm 8.21 um -124 um 3.15 eV 0 eV 0 fm 0 fm Tank initStep + +** Photon absorbed! ** + 1 4.42 m 52.9 cm 1.91 m 3.15 eV 0 eV 4.85 m 4.85 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 17, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 330 um -4.4 um -40.3 um 2.43 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.89173676,0.38715797,0.23433791) + Old Polarization: (-0.44050957,0.6239011,0.64552206) + New Momentum Direction: (0.79218376,0.52209359,0.31601136) + New Polarization: (0.59457846,-0.77698212,-0.20682173) + *** FresnelRefraction *** + 1 5 m 2.17 m 1.31 m 2.43 eV 0 eV 5.61 m 5.61 m Tank Transportation + 2 10 m 5.47 m 3.31 m 2.43 eV 0 eV 6.31 m 11.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 16, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 149 um -7.81 um -17.5 um 2.41 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.91747997,0.071748086,0.39125787) + Old Polarization: (-0.39648819,0.085681253,0.91403273) + New Momentum Direction: (0.84402269,0.096733979,0.52751137) + New Polarization: (0.53460553,-0.23005209,-0.81318692) + *** FresnelRefraction *** + 1 5 m 39.1 cm 2.13 m 2.41 eV 0 eV 5.45 m 5.45 m Tank Transportation + 2 10 m 96.4 cm 5.26 m 2.41 eV 0 eV 5.92 m 11.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 15, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 168 um -7.45 um -19.9 um 3.47 eV 0 eV 0 fm 0 fm Tank initStep +Scattering Photon! +Old Momentum Direction: (0.87461078,-0.48467705,0.012005908) +Old Polarization: (-0.4706443,-0.84282202,0.26104594) +New Polarization: (-0.98311186,-0.068296999,0.16978393) +Polarization Change: (-0.98311186,-0.068296999,0.16978393) +New Momentum Direction: (0.10225685,-0.97441697,0.20013772) +Momentum Change: (0.10225685,-0.97441697,0.20013772) + 1 94.3 cm -52.2 cm 1.29 cm 3.47 eV 0 eV 1.08 m 1.08 m Tank OpRayleigh + Photon at Boundary! + Old Momentum Direction: (0.10225685,-0.97441697,0.20013772) + Old Polarization: (-0.98311186,-0.068296999,0.16978393) + New Momentum Direction: (0.13880154,-0.95233043,0.2716632) + New Polarization: (-0.98020092,-0.092997893,0.17480716) + *** FresnelRefraction *** + 2 1.41 m -5 m 93.3 cm 3.47 eV 0 eV 4.6 m 5.67 m Tank Transportation + 3 2.14 m -10 m 2.36 m 3.47 eV 0 eV 5.25 m 10.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 14, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 207 um -6.72 um -24.8 um 2.83 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.89448251,-0.41787149,0.15901086) + Old Polarization: (-0.43671315,-0.74034978,0.51104191) + New Momentum Direction: (0.79624197,-0.565425,0.21515877) + New Polarization: (0.59138556,0.80242952,-0.079812162) + *** FresnelRefraction *** + 1 5 m -2.34 m 88.9 cm 2.83 eV 0 eV 5.59 m 5.59 m Tank Transportation + 2 10 m -5.89 m 2.24 m 2.83 eV 0 eV 6.28 m 11.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 13, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 423 um -2.66 um -51.8 um 2.27 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.91417803,0.16429447,0.37052107) + Old Polarization: (-0.40166964,0.24493832,0.88242094) + New Momentum Direction: (0.83790629,0.22124695,0.49896176) + New Polarization: (0.54103091,-0.45743017,-0.70572176) + *** FresnelRefraction *** + 1 5 m 89.9 cm 2.03 m 2.27 eV 0 eV 5.47 m 5.47 m Tank Transportation + 2 10 m 2.22 m 5 m 2.27 eV 0 eV 5.97 m 11.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 12, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 89.1 um -8.93 um -10.1 um 3.98 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.78631655,0.23016625,-0.57334962) + Old Polarization: (-0.61685595,0.34440348,-0.70772521) + New Momentum Direction: (0.54228397,0.31300928,-0.77971359) + New Polarization: (0.83901829,-0.15263789,0.52225471) + *** FresnelRefraction *** + 1 5 m 1.46 m -3.65 m 3.98 eV 0 eV 6.36 m 6.36 m Tank Transportation + 2 9.42 m 4.01 m -10 m 3.98 eV 0 eV 8.15 m 14.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 11, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 772 um 3.9 um -95.6 um 3.53 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.87783002,-0.47718614,0.041326095) + Old Polarization: (-0.46534839,-0.82924841,0.30951243) + New Momentum Direction: (0.75960821,-0.64795558,0.056115365) + New Polarization: (0.63264273,0.75614884,0.16733833) + *** FresnelRefraction *** + 1 5 m -2.72 m 23.5 cm 3.53 eV 0 eV 5.69 m 5.69 m Tank Transportation + 2 10 m -6.98 m 60.5 cm 3.53 eV 0 eV 6.58 m 12.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 10, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 976 um 7.73 um -121 um 2.16 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.79656339,0.19813496,-0.57116486) + Old Polarization: (-0.6039151,0.30424464,-0.73669651) + New Momentum Direction: (0.58182779,0.26655233,-0.76839201) + New Polarization: (0.8125265,-0.1489895,0.56356261) + *** FresnelRefraction *** + 1 5 m 1.24 m -3.58 m 2.16 eV 0 eV 6.28 m 6.28 m Tank Transportation + 2 9.86 m 3.47 m -10 m 2.16 eV 0 eV 8.35 m 14.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 9, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 919 um 6.65 um -114 um 2.65 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.82752484,0.50390731,-0.2475481) + Old Polarization: (-0.54973746,0.81678781,-0.17506113) + New Momentum Direction: (0.65155884,0.68087516,-0.33448482) + New Polarization: (0.74385309,-0.48692395,0.45780744) + *** FresnelRefraction *** + 1 5 m 3.04 m -1.5 m 2.65 eV 0 eV 6.04 m 6.04 m Tank Transportation + 2 10 m 8.27 m -4.06 m 2.65 eV 0 eV 7.67 m 13.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 8, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 934 um 6.94 um -116 um 3.36 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.87723777,0.44884796,0.17026275) + Old Polarization: (-0.46620425,0.71195674,0.52513921) + New Momentum Direction: (0.75877284,0.6090111,0.23101787) + New Polarization: (0.63333393,-0.77266884,-0.043255039) + *** FresnelRefraction *** + 1 5 m 2.56 m 97 cm 3.36 eV 0 eV 5.7 m 5.7 m Tank Transportation + 2 10 m 6.57 m 2.49 m 3.36 eV 0 eV 6.59 m 12.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 1e+03 um 8.17 um -124 um 3.4 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.89450028,-0.40909938,0.18029683) + Old Polarization: (-0.43746277,-0.7178027,0.54165082) + New Momentum Direction: (0.79495606,-0.55514472,0.24466141) + New Polarization: (0.59407654,0.7940815,-0.12848203) + *** FresnelRefraction *** + 1 5 m -2.29 m 1.01 m 3.4 eV 0 eV 5.59 m 5.59 m Tank Transportation + 2 10 m -5.78 m 2.55 m 3.4 eV 0 eV 6.29 m 11.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 724 um 2.99 um -89.5 um 2.94 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.91500246,-0.1752017,0.36342106) + Old Polarization: (-0.40238288,-0.33088043,0.8535843) + New Momentum Direction: (0.83763728,-0.23720483,0.49203421) + New Polarization: (0.54482209,0.42737911,-0.72146793) + *** FresnelRefraction *** + 1 5 m -95.7 cm 1.99 m 2.94 eV 0 eV 5.46 m 5.46 m Tank Transportation + 2 10 m -2.37 m 4.92 m 2.94 eV 0 eV 5.97 m 11.4 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 2 916 um -190 um -864 um 183 keV 0 eV 0 fm 1.56 mm Tank initStep Exiting from G4Scintillation::DoIt -- NumberOfSecondaries = 6 - 2 980 um -837 um -317 um 0 eV 172 keV 339 um 1.83 mm Tank eIoni - 3 980 um -837 um -317 um 0 eV 0 eV 0 fm 1.83 mm Tank Scintillation + 3 977 um -71.4 um -1.02 mm 0 eV 183 keV 376 um 1.93 mm Tank eIoni + 4 977 um -71.4 um -1.02 mm 0 eV 0 eV 0 fm 1.93 mm Tank Scintillation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 63, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 60, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 980 um -837 um -317 um 511 keV 0 eV 0 fm 0 fm Tank initStep - 1 -5 m -2.97 m 94.3 cm 511 keV 0 eV 5.89 m 5.89 m Tank Transportation - 2 -10 m -5.94 m 1.89 m 511 keV 0 eV 5.89 m 11.8 m OutOfWorld Transportation + 0 977 um -71.4 um -1.02 mm 511 keV 0 eV 0 fm 0 fm Tank initStep + 1 4.68 m -1.43 m -5 m 511 keV 0 eV 6.99 m 6.99 m Tank Transportation + 2 9.36 m -2.86 m -10 m 511 keV 0 eV 6.99 m 14 m OutOfWorld Transportation ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 62, Parent ID = 1 +* G4Track Information: Particle = gamma, Track ID = 59, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 980 um -837 um -317 um 511 keV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 2.97 m -94.3 cm 511 keV 0 eV 5.89 m 5.89 m Tank Transportation - 2 10 m 5.94 m -1.89 m 511 keV 0 eV 5.89 m 11.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 61, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 964 um -795 um -215 um 4.07 eV 0 eV 0 fm 0 fm Tank initStep -Scattering Photon! -Old Momentum Direction: (-0.50217682,0.56057216,-0.65846586) -Old Polarization: (-0.51694408,-0.80500897,-0.2910831) -New Polarization: (0.80387048,0.075207075,0.59003064) -Polarization Change: (0.80387048,0.075207075,0.59003064) -New Momentum Direction: (-0.0050415567,0.99280013,-0.11967656) -Momentum Change: (-0.0050415567,0.99280013,-0.11967656) - 1 -1.31 m 1.47 m -1.73 m 4.07 eV 0 eV 2.62 m 2.62 m Tank OpRayleigh - Photon at Boundary! - Old Momentum Direction: (-0.0050415567,0.99280013,-0.11967656) - Old Polarization: (0.80387048,0.075207075,0.59003064) - New Momentum Direction: (-0.0068585023,0.98663406,-0.16280724) - New Polarization: (0.80343084,0.10237019,0.58653153) - *** FresnelRefraction *** - 2 -1.33 m 5 m -2.15 m 4.07 eV 0 eV 3.56 m 6.18 m Tank Transportation - 3 -1.37 m 10 m -2.98 m 4.07 eV 0 eV 5.07 m 11.2 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 60, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 968 um -805 um -238 um 2.2 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.12926647,0.9914764,-0.016270638) - Old Polarization: (-0.046139279,-0.010376617,-0.99888112) - New Momentum Direction: (0.17395981,0.98450929,-0.021896142) - New Polarization: (-0.20236349,0.013978718,-0.97921071) - *** FresnelRefraction *** - 1 26.2 cm 2 m -3.31 cm 2.2 eV 0 eV 2.02 m 2.02 m Tank Transportation - Photon at Boundary! - Old Momentum Direction: (0.17395981,0.98450929,-0.021896142) - Old Polarization: (-0.20236349,0.013978718,-0.97921071) - New Momentum Direction: (0.12926647,0.9914764,-0.016270638) - New Polarization: (-0.20299483,0.010398073,-0.9791246) - *** FresnelRefraction *** - 2 43.9 cm 3 m -5.53 cm 2.2 eV 0 eV 1.02 m 3.03 m Bubble Transportation - Photon at Boundary! - Old Momentum Direction: (0.12926647,0.9914764,-0.016270638) - Old Polarization: (-0.20299483,0.010398073,-0.9791246) - New Momentum Direction: (0.17395981,0.98450929,-0.021896142) - New Polarization: (-0.20252287,0.014007622,-0.97917735) - *** FresnelRefraction *** - 3 69.9 cm 5 m -8.81 cm 2.2 eV 0 eV 2.02 m 5.05 m Tank Transportation - 4 1.58 m 10 m -19.9 cm 2.2 eV 0 eV 5.08 m 10.1 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 59, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 980 um -837 um -316 um 2.64 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (-0.39817296,0.76373392,-0.50810313) - Old Polarization: (-0.22602906,-0.6185125,-0.75256438) - New Momentum Direction: (-0.53794649,0.48926236,-0.68646625) - New Polarization: (0.50274928,0.83986609,0.20461698) - *** FresnelRefraction *** - 1 -2.61 m 5 m -3.33 m 2.64 eV 0 eV 6.55 m 6.55 m Tank Transportation - 2 -7.84 m 9.76 m -10 m 2.64 eV 0 eV 9.72 m 16.3 m OutOfWorld Transportation + 0 977 um -71.4 um -1.02 mm 511 keV 0 eV 0 fm 0 fm Tank initStep + 1 -4.68 m 1.43 m 5 m 511 keV 0 eV 7 m 7 m Tank Transportation + 2 -9.35 m 2.86 m 10 m 511 keV 0 eV 6.99 m 14 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 58, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 960 um -785 um -191 um 3.43 eV 0 eV 0 fm 0 fm Tank initStep - Photon at Boundary! - Old Momentum Direction: (0.37095926,-0.68046356,0.63194823) - Old Polarization: (0.16549038,-0.62117048,-0.76600272) - New Momentum Direction: (0.61097402,0.79163506,-0.0049665743) - New Polarization: (-0.2360849,0.18818842,0.95333574) - *** LambertianReflection *** - 1 2.73 m -5 m 4.64 m 3.43 eV 0 eV 7.35 m 7.35 m Tank Transportation - 2 2.73 m -5 m 4.64 m 3.43 eV 0 eV 0 fm 7.35 m World Transportation - Photon at Boundary! - Old Momentum Direction: (0.61097402,0.79163506,-0.0049665743) - Old Polarization: (-0.2360849,0.18818842,0.95333574) - New Momentum Direction: (-0.61097402,-0.79163506,0.0049665743) - New Polarization: (0.2360849,-0.18818842,-0.95333574) - *** BackScattering *** - 3 5 m -2.05 m 4.62 m 3.43 eV 0 eV 3.72 m 11.1 m Tank Transportation - 4 5 m -2.05 m 4.62 m 3.43 eV 0 eV 0 fm 11.1 m World Transportation + 0 963 um -98.8 um -982 um 3.37 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** - 5 4.57 m -2.61 m 4.63 m 3.43 eV 0 eV 70.6 cm 11.8 m Tank OpAbsorption + 1 3.67 m -2.85 m -43.9 cm 3.37 eV 0 eV 4.67 m 4.67 m Tank OpAbsorption ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 57, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 970 um -810 um -250 um 3.53 eV 0 eV 0 fm 0 fm Tank initStep + 0 973 um -79.8 um -1.01 mm 3.15 eV 0 eV 0 fm 0 fm Tank initStep Photon at Boundary! - Old Momentum Direction: (0.79915338,-0.43052656,-0.41952443) - Old Polarization: (0.036302195,0.73118704,-0.68121044) - New Momentum Direction: (0.57765388,-0.58462007,-0.56968006) - New Polarization: (0.051753653,0.72272244,-0.68919797) + Old Momentum Direction: (0.32542364,-0.29232257,-0.899248) + Old Polarization: (0.44002995,0.88857959,-0.12961466) + New Momentum Direction: (0.44105787,-0.39619485,-0.80529348) + New Polarization: (0.4570851,0.87135728,-0.17835273) *** FresnelRefraction *** - 1 5 m -2.69 m -2.62 m 3.53 eV 0 eV 6.26 m 6.26 m Tank Transportation - 2 10 m -7.75 m -7.56 m 3.53 eV 0 eV 8.66 m 14.9 m OutOfWorld Transportation + 1 1.81 m -1.63 m -5 m 3.15 eV 0 eV 5.56 m 5.56 m Tank Transportation + 2 4.55 m -4.09 m -10 m 3.15 eV 0 eV 6.21 m 11.8 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 56, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 965 um -799 um -223 um 4.02 eV 0 eV 0 fm 0 fm Tank initStep + 0 975 um -75.1 um -1.01 mm 4.11 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (-0.13655382,0.903506,0.40623879) + Old Polarization: (-0.38027612,-0.4264713,0.82067795) + New Momentum Direction: (-0.18580149,0.81237187,0.55274745) + New Polarization: (0.16529319,0.58036752,-0.7974031) + *** FresnelRefraction *** + 1 -75.5 cm 5 m 2.25 m 4.11 eV 0 eV 5.53 m 5.53 m Tank Transportation + 2 -1.9 m 10 m 5.65 m 4.11 eV 0 eV 6.15 m 11.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 55, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 925 um -173 um -885 um 2.13 eV 0 eV 0 fm 0 fm Tank initStep ** Photon absorbed! ** - 1 1.24 m -2.24 m -2.73 m 4.02 eV 0 eV 3.74 m 3.74 m Tank OpAbsorption -Number of optical photons produces in this event : 60 -number of event = 1 User=0.16s Real=0.38s Sys=0.16s + 1 -38.6 cm -1.1 m 65.8 cm 2.13 eV 0 eV 1.34 m 1.34 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 54, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 925 um -172 um -887 um 2.58 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.76561847,-0.61186273,0.19862616) + Old Polarization: (0.36860684,0.16421331,-0.91496611) + New Momentum Direction: (0.49529415,-0.82627833,0.2682309) + New Polarization: (0.51914979,0.033960022,-0.85400832) + *** FresnelRefraction *** + 1 5 m -4 m 1.3 m 2.58 eV 0 eV 6.53 m 6.53 m Tank Transportation + 2 8.6 m -10 m 3.25 m 2.58 eV 0 eV 7.27 m 13.8 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 53, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 935 um -153 um -911 um 3.84 eV 0 eV 0 fm 0 fm Tank initStep + Photon at Boundary! + Old Momentum Direction: (0.042044124,0.81506388,0.57784355) + Old Polarization: (0.31372676,0.53833261,-0.78215952) + New Momentum Direction: (0.057152583,0.61622933,0.78549029) + New Polarization: (0.3135993,0.7358733,-0.60012163) + *** FresnelRefraction *** + 1 25.9 cm 5 m 3.54 m 3.84 eV 0 eV 6.13 m 6.13 m Tank Transportation + 2 72.3 cm 10 m 9.92 m 3.84 eV 0 eV 8.11 m 14.2 m OutOfWorld Transportation +Number of optical photons produces in this event : 57 +number of event = 1 User=0.18s Real=0.34s Sys=0.09s # /process/inactivate Scintillation /run/physicsModified @@ -1183,7 +1055,7 @@ number of event = 1 User=0.16s Real=0.38s Sys=0.16s msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -1196,7 +1068,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -1209,7 +1081,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -1218,7 +1090,7 @@ annihil: Sampling according eplus2gg model msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -1239,7 +1111,7 @@ hIoni: tables are built for anti_proton msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muIoni: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -1286,7 +1158,7 @@ hIoni: tables are built for pi+ msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for pi- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -1303,353 +1175,267 @@ hIoni: tables are built for pi- Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process 0 0 fm 0 fm 0 fm 500 keV 0 eV 0 fm 0 fm Tank initStep - 1 953 um 0 fm 0 fm 0 eV 500 keV 1.49 mm 1.49 mm Tank eIoni - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 37, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 492 um 0 fm 0 fm 2.39 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 2.96 m -21.6 cm 2.39 eV 0 eV 5.82 m 5.82 m Tank Transportation - 2 10 m 7.7 m -56 cm 2.39 eV 0 eV 6.89 m 12.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 36, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 404 um 0 fm 0 fm 2.24 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -2.92 m 43.8 cm 2.24 eV 0 eV 5.81 m 5.81 m Tank Transportation - 2 10 m -7.57 m 1.13 m 2.24 eV 0 eV 6.86 m 12.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 35, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 314 um 0 fm 0 fm 2.64 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 2.54 m -1.58 m 2.64 eV 0 eV 5.83 m 5.83 m Tank Transportation - 2 10 m 6.64 m -4.13 m 2.64 eV 0 eV 6.95 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 34, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 186 um 0 fm 0 fm 2.96 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 2.83 m -1.07 m 2.96 eV 0 eV 5.84 m 5.84 m Tank Transportation - 2 10 m 7.41 m -2.8 m 2.96 eV 0 eV 7 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 33, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 749 um 0 fm 0 fm 2.77 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 44.4 cm 2.97 m 2.77 eV 0 eV 5.83 m 5.83 m Tank Transportation - 2 10 m 1.16 m 7.78 m 2.77 eV 0 eV 6.97 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 32, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 96.9 um 0 fm 0 fm 2.57 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 2.8 m 1.05 m 2.57 eV 0 eV 5.83 m 5.83 m Tank Transportation - 2 10 m 7.3 m 2.73 m 2.57 eV 0 eV 6.94 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 31, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 45.3 um 0 fm 0 fm 3.29 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 2.95 m -73.3 cm 3.29 eV 0 eV 5.85 m 5.85 m Tank Transportation - 2 10 m 7.77 m -1.93 m 3.29 eV 0 eV 7.04 m 12.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 30, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 133 um 0 fm 0 fm 2.61 eV 0 eV 0 fm 0 fm Tank initStep - 1 10 cm 4.78 cm -3.64 cm 2.61 eV 0 eV 11.7 cm 11.7 cm Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 29, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 180 um 0 fm 0 fm 3.49 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -2.32 m -1.98 m 3.49 eV 0 eV 5.86 m 5.86 m Tank Transportation - 2 10 m -6.11 m -5.23 m 3.49 eV 0 eV 7.07 m 12.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 28, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 915 um 0 fm 0 fm 4.08 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -2.92 m -95.5 cm 4.08 eV 0 eV 5.87 m 5.87 m Tank Transportation - 2 10 m -7.75 m -2.53 m 4.08 eV 0 eV 7.13 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 27, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 672 um 0 fm 0 fm 3.52 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -1.65 m 2.57 m 3.52 eV 0 eV 5.86 m 5.86 m Tank Transportation - 2 10 m -4.35 m 6.78 m 3.52 eV 0 eV 7.07 m 12.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 26, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 665 um 0 fm 0 fm 2.97 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 2.78 m 1.19 m 2.97 eV 0 eV 5.84 m 5.84 m Tank Transportation - 2 10 m 7.29 m 3.11 m 2.97 eV 0 eV 7.01 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 25, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 8.37 um 0 fm 0 fm 2.19 eV 0 eV 0 fm 0 fm Tank initStep - 1 3.93 m 1.83 m -1.42 m 2.19 eV 0 eV 4.57 m 4.57 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 24, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 355 um 0 fm 0 fm 2.97 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -2.64 m 1.47 m 2.97 eV 0 eV 5.84 m 5.84 m Tank Transportation - 2 10 m -6.93 m 3.85 m 2.97 eV 0 eV 7 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 23, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 761 um 0 fm 0 fm 4.06 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 2.17 m 2.17 m 4.06 eV 0 eV 5.87 m 5.87 m Tank Transportation - 2 10 m 5.76 m 5.76 m 4.06 eV 0 eV 7.12 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 22, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 31.2 um 0 fm 0 fm 4.13 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -17.1 cm -3.07 m 4.13 eV 0 eV 5.87 m 5.87 m Tank Transportation - 2 10 m -45.5 cm -8.15 m 4.13 eV 0 eV 7.13 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 21, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 842 um 0 fm 0 fm 3.81 eV 0 eV 0 fm 0 fm Tank initStep - 1 2.46 m -1.09 m -1.04 m 3.81 eV 0 eV 2.88 m 2.88 m Tank OpRayleigh - 2 -2.36 m -5 m 1.77 m 3.81 eV 0 eV 6.81 m 9.69 m Tank Transportation - 3 -2.36 m -5 m 1.77 m 3.81 eV 0 eV 0 fm 9.69 m World Transportation - 4 -5 m -2.86 m 3.31 m 3.81 eV 0 eV 3.74 m 13.4 m Tank Transportation - 5 -8.3 m 6.44 m 10 m 3.81 eV 0 eV 11.9 m 25.3 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 20, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 827 um 0 fm 0 fm 2.33 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 1.09 m -2.76 m 2.33 eV 0 eV 5.81 m 5.81 m Tank Transportation - 2 10 m 2.83 m -7.16 m 2.33 eV 0 eV 6.88 m 12.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 19, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 232 um 0 fm 0 fm 2.9 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -2.37 m 1.86 m 2.9 eV 0 eV 5.84 m 5.84 m Tank Transportation - 2 10 m -6.22 m 4.89 m 2.9 eV 0 eV 7 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 18, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 160 um 0 fm 0 fm 3.81 eV 0 eV 0 fm 0 fm Tank initStep - 1 2.19 m 14.9 cm 1.33 m 3.81 eV 0 eV 2.57 m 2.57 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 17, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 171 um 0 fm 0 fm 3.16 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 2.04 m -2.24 m 3.16 eV 0 eV 5.85 m 5.85 m Tank Transportation - 2 10 m 5.37 m -5.89 m 3.16 eV 0 eV 7.03 m 12.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 16, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 876 um 0 fm 0 fm 2.27 eV 0 eV 0 fm 0 fm Tank initStep - 1 4.13 m 1.26 m -2.09 m 2.27 eV 0 eV 4.8 m 4.8 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 15, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 607 um 0 fm 0 fm 4.09 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -37.2 cm -3.05 m 4.09 eV 0 eV 5.87 m 5.87 m Tank Transportation - 2 10 m -98.7 cm -8.09 m 4.09 eV 0 eV 7.13 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 14, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 433 um 0 fm 0 fm 3.03 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -71 cm 2.94 m 3.03 eV 0 eV 5.84 m 5.84 m Tank Transportation - 2 10 m -1.86 m 7.72 m 3.03 eV 0 eV 7.01 m 12.9 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 13, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 72.6 um 0 fm 0 fm 2.06 eV 0 eV 0 fm 0 fm Tank initStep - 1 2.02 m 36.7 cm -1.13 m 2.06 eV 0 eV 2.34 m 2.34 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 12, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 160 um 0 fm 0 fm 3.87 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -3.01 m 56.9 cm 3.87 eV 0 eV 5.87 m 5.87 m Tank Transportation - 2 10 m -7.98 m 1.51 m 3.87 eV 0 eV 7.11 m 13 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 11, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 637 um 0 fm 0 fm 2.04 eV 0 eV 0 fm 0 fm Tank initStep - 1 17.5 cm 10.2 cm -5.47 mm 2.04 eV 0 eV 20.2 cm 20.2 cm Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 10, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 643 um 0 fm 0 fm 2.89 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -2.51 m 1.68 m 2.89 eV 0 eV 5.84 m 5.84 m Tank Transportation - 2 10 m -6.57 m 4.4 m 2.89 eV 0 eV 6.99 m 12.8 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 9, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 918 um 0 fm 0 fm 2.21 eV 0 eV 0 fm 0 fm Tank initStep - 1 11.4 cm -3.85 cm -5.48 cm 2.21 eV 0 eV 13.2 cm 13.2 cm Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 8, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 59.6 um 0 fm 0 fm 2.81 eV 0 eV 0 fm 0 fm Tank initStep - 1 3.01 m -74.4 cm 1.65 m 2.81 eV 0 eV 3.51 m 3.51 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 7, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 206 um 0 fm 0 fm 2.15 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 80.2 cm -2.83 m 2.15 eV 0 eV 5.8 m 5.8 m Tank Transportation - 2 10 m 2.08 m -7.33 m 2.15 eV 0 eV 6.84 m 12.6 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 6, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 592 um 0 fm 0 fm 3.34 eV 0 eV 0 fm 0 fm Tank initStep - 1 4.68 m -1.33 m 2.52 m 3.34 eV 0 eV 5.48 m 5.48 m Tank OpRayleigh - 2 2.57 m -14 cm 5 m 3.34 eV 0 eV 3.47 m 8.94 m Tank Transportation - 3 -10 m 6.95 m 9.87 m 3.34 eV 0 eV 15.2 m 24.2 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 5, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 748 um 0 fm 0 fm 2.28 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 95.2 cm -2.8 m 2.28 eV 0 eV 5.81 m 5.81 m Tank Transportation - 2 10 m 2.47 m -7.27 m 2.28 eV 0 eV 6.87 m 12.7 m OutOfWorld Transportation - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 4, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 46.3 um 0 fm 0 fm 2.6 eV 0 eV 0 fm 0 fm Tank initStep - 1 2.1 m 94.4 cm -83.2 cm 2.6 eV 0 eV 2.45 m 2.45 m Tank OpAbsorption - -********************************************************************************************************* -* G4Track Information: Particle = opticalphoton, Track ID = 3, Parent ID = 1 -********************************************************************************************************* - -Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 360 um 0 fm 0 fm 3.98 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m 2.82 m -1.21 m 3.98 eV 0 eV 5.87 m 5.87 m Tank Transportation - 2 10 m 7.47 m -3.2 m 3.98 eV 0 eV 7.12 m 13 m OutOfWorld Transportation + 1 88.9 um -12.1 um 5.99 um 483 keV 16.6 keV 90.8 um 90.8 um Tank msc ********************************************************************************************************* * G4Track Information: Particle = opticalphoton, Track ID = 2, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 946 um 0 fm 0 fm 3.5 eV 0 eV 0 fm 0 fm Tank initStep - 1 5 m -1.89 m 2.39 m 3.5 eV 0 eV 5.86 m 5.86 m Tank Transportation - 2 10 m -5 m 6.31 m 3.5 eV 0 eV 7.07 m 12.9 m OutOfWorld Transportation + 0 73.9 um 0 fm 0 fm 2.35 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -2.23 m -1.96 m 2.35 eV 0 eV 5.81 m 5.81 m Tank Transportation + 2 10 m -5.78 m -5.09 m 2.35 eV 0 eV 6.89 m 12.7 m OutOfWorld Transportation ********************************************************************************************************* * G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 1 953 um 0 fm 0 fm 0 eV 0 eV 0 fm 1.49 mm Tank initStep - 2 953 um 0 fm 0 fm 0 eV 0 eV 0 fm 1.49 mm Tank annihil + 1 88.9 um -12.1 um 5.99 um 483 keV 0 eV 0 fm 90.8 um Tank initStep + 2 839 um -675 um 645 um 76.9 keV 406 keV 1.45 mm 1.54 mm Tank eIoni ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 39, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 26, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 953 um 0 fm 0 fm 511 keV 0 eV 0 fm 0 fm Tank initStep - 1 -12.6 cm 5 m 3.82 m 511 keV 0 eV 6.29 m 6.29 m Tank Transportation - 2 -25.4 cm 10 m 7.63 m 511 keV 0 eV 6.29 m 12.6 m OutOfWorld Transportation + 0 914 um -199 um 48.9 um 3.99 eV 0 eV 0 fm 0 fm Tank initStep + 1 29.7 cm -23.1 cm -10.5 cm 3.99 eV 0 eV 39 cm 39 cm Tank OpRayleigh + 2 71.3 cm 63 cm 2.01 cm 3.99 eV 0 eV 96.4 cm 1.35 m Tank OpAbsorption ********************************************************************************************************* -* G4Track Information: Particle = gamma, Track ID = 38, Parent ID = 1 +* G4Track Information: Particle = opticalphoton, Track ID = 25, Parent ID = 1 ********************************************************************************************************* Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process - 0 953 um 0 fm 0 fm 511 keV 0 eV 0 fm 0 fm Tank initStep - 1 12.8 cm -5 m -3.82 m 511 keV 0 eV 6.29 m 6.29 m Tank Transportation - 2 25.6 cm -10 m -7.63 m 511 keV 0 eV 6.29 m 12.6 m OutOfWorld Transportation -Number of optical photons produces in this event : 36 -number of event = 1 User=0.11s Real=0.13s Sys=0.02s + 0 838 um -182 um 44.9 um 3.97 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -1.14 m -2.74 m 3.97 eV 0 eV 5.81 m 5.81 m Tank Transportation + 2 10 m -2.98 m -7.18 m 3.97 eV 0 eV 6.94 m 12.8 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 24, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 96.7 um -13.8 um 6.39 um 3.79 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -3.5 m 2.88 m 3.79 eV 0 eV 6.75 m 6.75 m Tank Transportation + 2 8.76 m -10 m 8.21 m 3.79 eV 0 eV 9.21 m 16 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 23, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 522 um -110 um 28.5 um 4.12 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -4.53 m -86.1 cm 4.12 eV 0 eV 6.8 m 6.8 m Tank Transportation + 2 7.34 m -10 m -1.9 m 4.12 eV 0 eV 6.04 m 12.8 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 22, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 313 um -62.8 um 17.7 um 2.41 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m 1.53 m 78.8 cm 2.41 eV 0 eV 5.29 m 5.29 m Tank Transportation + 2 10 m 3.71 m 1.91 m 2.41 eV 0 eV 5.57 m 10.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 21, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 863 um -187 um 46.2 um 3.81 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -1.02 m -2.72 m 3.81 eV 0 eV 5.78 m 5.78 m Tank Transportation + 2 10 m -2.67 m -7.08 m 3.81 eV 0 eV 6.84 m 12.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 20, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 953 um -208 um 50.9 um 2.33 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m 1.23 m -1.05 m 2.33 eV 0 eV 5.25 m 5.25 m Tank Transportation + 2 10 m 2.96 m -2.53 m 2.33 eV 0 eV 5.49 m 10.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 19, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 552 um -117 um 30 um 3.93 eV 0 eV 0 fm 0 fm Tank initStep + 1 1.51 m 49.7 cm 8.15 cm 3.93 eV 0 eV 1.59 m 1.59 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 18, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 210 um -39.5 um 12.3 um 3.13 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -76.1 cm 3.33 m 3.13 eV 0 eV 6.05 m 6.05 m Tank Transportation + 2 10 m -2.08 m 9.09 m 3.13 eV 0 eV 7.75 m 13.8 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 17, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 701 um -151 um 37.8 um 2.85 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -1.15 m 3.39 m 2.85 eV 0 eV 6.15 m 6.15 m Tank Transportation + 2 10 m -3.2 m 9.43 m 2.85 eV 0 eV 8.11 m 14.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 16, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 788 um -170 um 42.4 um 2.2 eV 0 eV 0 fm 0 fm Tank initStep + 1 1.35 m -1.15 m 48.7 cm 2.2 eV 0 eV 1.84 m 1.84 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 15, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 496 um -104 um 27.2 um 3.77 eV 0 eV 0 fm 0 fm Tank initStep + 1 6.73 cm -4.7 cm -2.79 cm 3.77 eV 0 eV 8.62 cm 8.62 cm Tank OpRayleigh + 2 1.97 m 3.2 m -5 m 3.77 eV 0 eV 6.24 m 6.32 m Tank Transportation + 3 5.58 m 9.4 m -10 m 3.77 eV 0 eV 8.74 m 15.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 14, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 135 um -22.4 um 8.36 um 2.05 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -2.71 m 3.12 m 2.05 eV 0 eV 6.48 m 6.48 m Tank Transportation + 2 10 m -8.14 m 9.35 m 2.05 eV 0 eV 9.66 m 16.1 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 13, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 285 um -56.5 um 16.2 um 2.24 eV 0 eV 0 fm 0 fm Tank initStep + 1 4.64 m -11.7 cm -2.17 m 2.24 eV 0 eV 5.12 m 5.12 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 12, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 667 um -143 um 36.1 um 2.79 eV 0 eV 0 fm 0 fm Tank initStep + 1 2.63 m -1.09 m 1.77 m 2.79 eV 0 eV 3.35 m 3.35 m Tank OpRayleigh + 2 5 m -8.33 cm 4.43 m 2.79 eV 0 eV 3.7 m 7.05 m Tank Transportation + 3 5 m -8.33 cm 4.43 m 2.79 eV 0 eV 0 fm 7.05 m World Transportation + 4 -3.43 m -3.65 m -5 m 2.79 eV 0 eV 13.1 m 20.2 m Tank Transportation + 5 -10 m -6.44 m -7.54 m 2.79 eV 0 eV 7.58 m 27.8 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 11, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 497 um -105 um 27.2 um 3.42 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m 16.5 cm 2.94 m 3.42 eV 0 eV 5.8 m 5.8 m Tank Transportation + 2 10 m 43 cm 7.67 m 3.42 eV 0 eV 6.89 m 12.7 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 10, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 227 um -43.3 um 13.2 um 3.11 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -1.36 m 3.43 m 3.11 eV 0 eV 6.21 m 6.21 m Tank Transportation + 2 10 m -3.86 m 9.71 m 3.11 eV 0 eV 8.41 m 14.6 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 9, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 249 um -48.4 um 14.3 um 2.77 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -3.78 m 2.55 m 2.77 eV 0 eV 6.77 m 6.77 m Tank Transportation + 2 8.4 m -10 m 6.77 m 2.77 eV 0 eV 8.25 m 15 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 8, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 843 um -183 um 45.2 um 2.97 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -76.4 cm 3.32 m 2.97 eV 0 eV 6.05 m 6.05 m Tank Transportation + 2 10 m -2.08 m 9.05 m 2.97 eV 0 eV 7.72 m 13.8 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 7, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 731 um -157 um 39.4 um 3.63 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -4.02 m -1.6 m 3.63 eV 0 eV 6.61 m 6.61 m Tank Transportation + 2 8.31 m -10 m -3.99 m 3.63 eV 0 eV 7.24 m 13.9 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 6, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 747 um -161 um 40.2 um 2.11 eV 0 eV 0 fm 0 fm Tank initStep + 1 2.6 m 44 cm 1.15 m 2.11 eV 0 eV 2.88 m 2.88 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 5, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 330 um -66.5 um 18.5 um 3.83 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m 51.1 cm 2.7 m 3.83 eV 0 eV 5.71 m 5.71 m Tank Transportation + 2 10 m 1.32 m 6.97 m 3.83 eV 0 eV 6.62 m 12.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 4, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 310 um -62 um 17.5 um 3.27 eV 0 eV 0 fm 0 fm Tank initStep + 1 5 m -3.49 m -2.07 m 3.27 eV 0 eV 6.44 m 6.44 m Tank Transportation + 2 9.61 m -10 m -5.93 m 3.27 eV 0 eV 8.86 m 15.3 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = opticalphoton, Track ID = 3, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 126 um -20.5 um 7.94 um 2.21 eV 0 eV 0 fm 0 fm Tank initStep + 1 4.47 m 90.2 cm 1.8 m 2.21 eV 0 eV 4.9 m 4.9 m Tank OpAbsorption + +********************************************************************************************************* +* G4Track Information: Particle = e+, Track ID = 1, Parent ID = 0 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 2 839 um -675 um 645 um 76.9 keV 0 eV 0 fm 1.54 mm Tank initStep + 3 858 um -717 um 648 um 0 eV 76.9 keV 85.6 um 1.63 mm Tank eIoni + 4 858 um -717 um 648 um 0 eV 0 eV 0 fm 1.63 mm Tank annihil + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 28, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 858 um -717 um 648 um 511 keV 0 eV 0 fm 0 fm Tank initStep + 1 5 m 3.48 m 1.28 m 511 keV 0 eV 6.23 m 6.23 m Tank Transportation + 2 10 m 6.97 m 2.56 m 511 keV 0 eV 6.23 m 12.5 m OutOfWorld Transportation + +********************************************************************************************************* +* G4Track Information: Particle = gamma, Track ID = 27, Parent ID = 1 +********************************************************************************************************* + +Step# X Y Z KineE dEStep StepLeng TrakLeng Volume Process + 0 858 um -717 um 648 um 511 keV 0 eV 0 fm 0 fm Tank initStep + 1 -5 m -3.48 m -1.28 m 511 keV 0 eV 6.23 m 6.23 m Tank Transportation + 2 -10 m -6.97 m -2.56 m 511 keV 0 eV 6.23 m 12.5 m OutOfWorld Transportation +Number of optical photons produces in this event : 25 +number of event = 1 User=0.07s Real=0.1s Sys=0.03s Graphics systems deleted. Visualization Manager deleting... diff --git a/examples/novice/N06/include/ExN06DetectorConstruction.hh b/examples/novice/N06/include/ExN06DetectorConstruction.hh index 05f76b1ccd..bbb4d65435 100644 --- a/examples/novice/N06/include/ExN06DetectorConstruction.hh +++ b/examples/novice/N06/include/ExN06DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN06DetectorConstruction.hh,v 1.5 2006/06/29 17:53:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/include/ExN06EventAction.hh b/examples/novice/N06/include/ExN06EventAction.hh index b9e15c9cf2..a49e449ab5 100644 --- a/examples/novice/N06/include/ExN06EventAction.hh +++ b/examples/novice/N06/include/ExN06EventAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN06EventAction.hh,v 1.2 2006/06/29 17:53:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/include/ExN06PhysicsList.hh b/examples/novice/N06/include/ExN06PhysicsList.hh index 81bbf4fde6..0235ed5179 100644 --- a/examples/novice/N06/include/ExN06PhysicsList.hh +++ b/examples/novice/N06/include/ExN06PhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: ExN06PhysicsList.hh,v 1.7 2006/06/29 17:53:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/include/ExN06PhysicsListMessenger.hh b/examples/novice/N06/include/ExN06PhysicsListMessenger.hh index 5855fad961..aa7772b831 100644 --- a/examples/novice/N06/include/ExN06PhysicsListMessenger.hh +++ b/examples/novice/N06/include/ExN06PhysicsListMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: ExN06PhysicsListMessenger.hh,v 1.2 2006/06/29 17:54:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh b/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh index 263499dff7..080e08ce56 100644 --- a/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh +++ b/examples/novice/N06/include/ExN06PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN06PrimaryGeneratorAction.hh,v 1.6 2006/06/29 17:54:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/include/ExN06PrimaryGeneratorMessenger.hh b/examples/novice/N06/include/ExN06PrimaryGeneratorMessenger.hh index fca2d30d95..891f098216 100644 --- a/examples/novice/N06/include/ExN06PrimaryGeneratorMessenger.hh +++ b/examples/novice/N06/include/ExN06PrimaryGeneratorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: ExN06PrimaryGeneratorMessenger.hh,v 1.2 2006/06/29 17:54:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N06/include/ExN06RunAction.hh b/examples/novice/N06/include/ExN06RunAction.hh index 2979b629cd..9324a7e5d5 100644 --- a/examples/novice/N06/include/ExN06RunAction.hh +++ b/examples/novice/N06/include/ExN06RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN06RunAction.hh,v 1.9 2006/06/29 17:54:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/include/ExN06StackingAction.hh b/examples/novice/N06/include/ExN06StackingAction.hh index 1e07e09d4b..0f3d43e6f8 100644 --- a/examples/novice/N06/include/ExN06StackingAction.hh +++ b/examples/novice/N06/include/ExN06StackingAction.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ExN06StackingAction.hh,v 1.5 2006/06/29 17:54:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/include/ExN06SteppingVerbose.hh b/examples/novice/N06/include/ExN06SteppingVerbose.hh index 39d3f388ff..2adb7b2fb7 100644 --- a/examples/novice/N06/include/ExN06SteppingVerbose.hh +++ b/examples/novice/N06/include/ExN06SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: ExN06SteppingVerbose.hh,v 1.2 2006/06/29 17:54:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06DetectorConstruction.cc b/examples/novice/N06/src/ExN06DetectorConstruction.cc index af7c225772..aacd30d38c 100644 --- a/examples/novice/N06/src/ExN06DetectorConstruction.cc +++ b/examples/novice/N06/src/ExN06DetectorConstruction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN06DetectorConstruction.cc,v 1.15 2006/06/29 17:54:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06EventAction.cc b/examples/novice/N06/src/ExN06EventAction.cc index 16f91ef65d..d952015cc1 100644 --- a/examples/novice/N06/src/ExN06EventAction.cc +++ b/examples/novice/N06/src/ExN06EventAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN06EventAction.cc,v 1.3 2006/06/29 17:54:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06PhysicsList.cc b/examples/novice/N06/src/ExN06PhysicsList.cc index 976b505623..98572de2d3 100644 --- a/examples/novice/N06/src/ExN06PhysicsList.cc +++ b/examples/novice/N06/src/ExN06PhysicsList.cc @@ -25,7 +25,7 @@ // // // $Id: ExN06PhysicsList.cc,v 1.13 2006/06/29 17:54:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06PhysicsListMessenger.cc b/examples/novice/N06/src/ExN06PhysicsListMessenger.cc index 4a8d800e9a..d5289448cf 100644 --- a/examples/novice/N06/src/ExN06PhysicsListMessenger.cc +++ b/examples/novice/N06/src/ExN06PhysicsListMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: ExN06PhysicsListMessenger.cc,v 1.3 2006/06/29 17:54:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N06/src/ExN06PrimaryGeneratorMessenger.cc b/examples/novice/N06/src/ExN06PrimaryGeneratorMessenger.cc index 8fd7607da8..db82123ed8 100644 --- a/examples/novice/N06/src/ExN06PrimaryGeneratorMessenger.cc +++ b/examples/novice/N06/src/ExN06PrimaryGeneratorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: ExN06PrimaryGeneratorMessenger.cc,v 1.3 2006/06/29 17:54:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N06/src/ExN06PrimaryGeneratoraction.cc b/examples/novice/N06/src/ExN06PrimaryGeneratoraction.cc index e7195eae8d..41dd0e7aa3 100644 --- a/examples/novice/N06/src/ExN06PrimaryGeneratoraction.cc +++ b/examples/novice/N06/src/ExN06PrimaryGeneratoraction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN06PrimaryGeneratorAction.cc,v 1.6 2006/06/29 17:54:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06RunAction.cc b/examples/novice/N06/src/ExN06RunAction.cc index 3378796447..6c5c9d0580 100644 --- a/examples/novice/N06/src/ExN06RunAction.cc +++ b/examples/novice/N06/src/ExN06RunAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN06RunAction.cc,v 1.10 2006/06/29 17:54:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06StackingAction.cc b/examples/novice/N06/src/ExN06StackingAction.cc index 078464a9e2..99fd3665b0 100644 --- a/examples/novice/N06/src/ExN06StackingAction.cc +++ b/examples/novice/N06/src/ExN06StackingAction.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: ExN06StackingAction.cc,v 1.5 2006/06/29 17:54:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N06/src/ExN06SteppingVerbose.cc b/examples/novice/N06/src/ExN06SteppingVerbose.cc index f23979c8ee..3a0f47bb3f 100644 --- a/examples/novice/N06/src/ExN06SteppingVerbose.cc +++ b/examples/novice/N06/src/ExN06SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: ExN06SteppingVerbose.cc,v 1.4 2006/06/29 17:54:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/examples/novice/N07/History b/examples/novice/N07/History index 48b3a31f7c..362166103d 100644 --- a/examples/novice/N07/History +++ b/examples/novice/N07/History @@ -1,4 +1,4 @@ -$Id: History,v 1.14 2006/11/04 19:25:18 asaim Exp $ +$Id: History,v 1.15 2007/05/04 01:49:28 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,12 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May 03, 2007 M.Asai (exampleN07-V08-02-00) +- ExN07ParallelWorld is introduced. Related modifications in + exampleN07.cc, ExN07PhysicsList.hh, ExN07Run.hh, ExN07DetectorConstruction.cc, + ExN07PhysicsList.cc, ExN07Run.cc and ExN07RunAction.cc. +- vis.mac is modified to visualize parallel world. + November 04, 2006 M.Asai (exampleN07-V08-01-00) - Timing measurement for each region and for e+/e- is added. diff --git a/examples/novice/N07/README b/examples/novice/N07/README index 545b7dfec6..19afa573f6 100644 --- a/examples/novice/N07/README +++ b/examples/novice/N07/README @@ -1,4 +1,4 @@ -$Id: README,v 1.4 2006/11/04 20:08:28 asaim Exp $ +$Id: README,v 1.5 2007/05/04 01:49:28 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -19,14 +19,16 @@ $Id: README,v 1.4 2006/11/04 20:08:28 asaim Exp $ for each region 4. Demonstrating the use of primitive scorer and filter classes without implementing sensitive detector class - 5. Measuring the timing spent for each region, both for all particle + 5. Demonstrating the use of parallel scoring geometry and associating + parallel world scoring process + 6. Measuring the timing spent for each region, both for all particle types and for e+/e- - ********************************************************************* - Note: Since this example utilize its own ExN07SteppingVerbose for the + ********************************************************************** + Note: Since this example utilizes its own ExN07SteppingVerbose for the timing measurement, the user cannot get the ordinary verbosity with /tracking/verbose. - ********************************************************************* + ********************************************************************** 1- Utilizing a concrete run class derived from G4Run base class for accumulating physics quantities for a run @@ -112,8 +114,30 @@ $Id: README,v 1.4 2006/11/04 20:08:28 asaim Exp $ In ExN07Run::RecordEvent() method, the way of retreiving G4THitsMap from each primitive scorer via G4HCofThisEvent is demonstrated. + In ExN07RunAction::EndOfRunAction(), Run is summarized with data kept + in ExN07Run class object. - 5- Measuring the timing spent for each region, both for all particle + 5- Demonstrating the use of parallel scoring geometry and associating + parallel world scoring process + + In ExN07PhysicsList::ConstructGeneral(), G4ParallelWorldScoringProcess is + assigned to all the particle types. This process invokes sensitive detectors + (and scorers) defined in the parallel world "ParallelScoringWorld", the + name of the parallel world which is defined in main() (exampleN07.cc) as + an argument of ExN07ParallelWorld constructor. + + As implemented in ExN07ParallelWorld::SetupGeometry(), the world volume of + the parallel world is obtained by GetWorld() method as a clone copy of the + world volume of the mass geometry. The user should not create the world volume. + + ExN07ParallelWorld defines three cylindrical volumes, each of them is + located at the same position as three sandwitch calorimeters defined + in the mass geometry (ExN07DetectorConstruction). Each cylinder is replicated + in Rho to define 20 layers, and scores the same quantities as the mass geometry. + These three cylinders are relocated accordingly when the mass geometry is + modified by ExN07DetectorConstruction::SetSerialGeometry(). + + 6- Measuring the timing spent for each region, both for all particle types and for e+/e- ExN07SteppingVerbose class has two G4SliceTimer class objects for each @@ -136,7 +160,7 @@ $Id: README,v 1.4 2006/11/04 20:08:28 asaim Exp $ ExN07SteppingVerbose::Report() method is used by ExN07RunAction:: EndOfRunAction() to get the timing measured. - 6- Macro files + 7- Macro files exampleN07.in To be used for batch mode. The reference output file is made by this @@ -150,7 +174,7 @@ $Id: README,v 1.4 2006/11/04 20:08:28 asaim Exp $ Setting visualization parameters. This macro file will be called automatically when interactive execution starts. - 7- UI commands defined in this example + 8- UI commands defined in this example Command /N07/setAbsMat Guidance : diff --git a/examples/novice/N07/exampleN07.cc b/examples/novice/N07/exampleN07.cc index c28db6040a..55daac0d5c 100644 --- a/examples/novice/N07/exampleN07.cc +++ b/examples/novice/N07/exampleN07.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: exampleN07.cc,v 1.9 2006/11/04 19:23:07 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: exampleN07.cc,v 1.10 2007/05/04 01:49:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- @@ -41,6 +41,7 @@ #include "G4VisExecutive.hh" #endif #include "ExN07DetectorConstruction.hh" +#include "ExN07ParallelWorld.hh" #include "ExN07PhysicsList.hh" #include "ExN07PrimaryGeneratorAction.hh" #include "ExN07RunAction.hh" @@ -59,6 +60,7 @@ int main(int argc,char** argv) // Set mandatory initialization classes // G4VUserDetectorConstruction* detector = new ExN07DetectorConstruction; + detector->RegisterParallelWorld(new ExN07ParallelWorld("ParallelScoringWorld")); runManager->SetUserInitialization(detector); // G4VUserPhysicsList* physics = new ExN07PhysicsList; diff --git a/examples/novice/N07/exampleN07.in b/examples/novice/N07/exampleN07.in index 6d9481a36f..7c9f0c5f7c 100644 --- a/examples/novice/N07/exampleN07.in +++ b/examples/novice/N07/exampleN07.in @@ -1,4 +1,8 @@ /control/verbose 2 +############################################################## +## /tracking/verbose must be set to 1 for ExN07SteppingVerbose +############################################################## +/tracking/verbose 1 /run/verbose 1 /run/initialize /run/dumpRegion diff --git a/examples/novice/N07/exampleN07.out b/examples/novice/N07/exampleN07.out index 68e95ebd59..794cbbee71 100644 --- a/examples/novice/N07/exampleN07.out +++ b/examples/novice/N07/exampleN07.out @@ -1,6 +1,6 @@ ************************************************************* - Geant4 version Name: geant4-08-03-cand-00 (5-May-2007) + Geant4 version Name: geant4-09-00-cand-03 (29-June-2007) Copyright : Geant4 Collaboration Reference : NIM A 506 (2003), 250-303 WWW : http://cern.ch/geant4 @@ -14,7 +14,6 @@ You have successfully registered the following graphics systems. Current available graphics systems are: ASCIITree (ATree) DAWNFILE (DAWNFILE) - GAGTree (GAGTree) G4HepRep (HepRepXML) G4HepRepFile (HepRepFile) RayTracer (RayTracer) @@ -37,29 +36,125 @@ Registered filter factories: originVolumeFilter attributeFilter +G4SDManager::AddNewCollection : the collection is registered at 1 +G4SDManager::AddNewCollection : the collection is registered at 2 +G4SDManager::AddNewCollection : the collection is registered at 3 +G4SDManager::AddNewCollection : the collection is registered at 4 +G4SDManager::AddNewCollection : the collection is registered at 5 +G4SDManager::AddNewCollection : the collection is registered at 6 +G4SDManager::AddNewCollection : the collection is registered at 7 +G4SDManager::AddNewCollection : the collection is registered at 8 +G4SDManager::AddNewCollection : the collection is registered at 9 +New sensitive detector is registored at / +G4SDManager::AddNewCollection : the collection is registered at 10 +G4SDManager::AddNewCollection : the collection is registered at 11 +G4SDManager::AddNewCollection : the collection is registered at 12 +G4SDManager::AddNewCollection : the collection is registered at 13 +G4SDManager::AddNewCollection : the collection is registered at 14 +G4SDManager::AddNewCollection : the collection is registered at 15 +G4SDManager::AddNewCollection : the collection is registered at 16 +G4SDManager::AddNewCollection : the collection is registered at 17 +G4SDManager::AddNewCollection : the collection is registered at 18 +New sensitive detector is registored at / +G4SDManager::AddNewCollection : the collection is registered at 19 +G4SDManager::AddNewCollection : the collection is registered at 20 +G4SDManager::AddNewCollection : the collection is registered at 21 +G4SDManager::AddNewCollection : the collection is registered at 22 +G4SDManager::AddNewCollection : the collection is registered at 23 +G4SDManager::AddNewCollection : the collection is registered at 24 +G4SDManager::AddNewCollection : the collection is registered at 25 +G4SDManager::AddNewCollection : the collection is registered at 26 +G4SDManager::AddNewCollection : the collection is registered at 27 +New sensitive detector is registored at / +G4SDManager::AddNewCollection : the collection is registered at 28 +G4SDManager::AddNewCollection : the collection is registered at 29 +G4SDManager::AddNewCollection : the collection is registered at 30 +G4SDManager::AddNewCollection : the collection is registered at 31 +G4SDManager::AddNewCollection : the collection is registered at 32 +G4SDManager::AddNewCollection : the collection is registered at 33 +G4SDManager::AddNewCollection : the collection is registered at 34 +G4SDManager::AddNewCollection : the collection is registered at 35 +G4SDManager::AddNewCollection : the collection is registered at 36 +New sensitive detector is registored at / +G4SDManager::AddNewCollection : the collection is registered at 37 +G4SDManager::AddNewCollection : the collection is registered at 38 +G4SDManager::AddNewCollection : the collection is registered at 39 +G4SDManager::AddNewCollection : the collection is registered at 40 +G4SDManager::AddNewCollection : the collection is registered at 41 +G4SDManager::AddNewCollection : the collection is registered at 42 +G4SDManager::AddNewCollection : the collection is registered at 43 +G4SDManager::AddNewCollection : the collection is registered at 44 +G4SDManager::AddNewCollection : the collection is registered at 45 +New sensitive detector is registored at / +G4SDManager::AddNewCollection : the collection is registered at 46 +G4SDManager::AddNewCollection : the collection is registered at 47 +G4SDManager::AddNewCollection : the collection is registered at 48 +G4SDManager::AddNewCollection : the collection is registered at 49 +G4SDManager::AddNewCollection : the collection is registered at 50 +G4SDManager::AddNewCollection : the collection is registered at 51 +G4SDManager::AddNewCollection : the collection is registered at 52 +G4SDManager::AddNewCollection : the collection is registered at 53 +G4SDManager::AddNewCollection : the collection is registered at 54 +New sensitive detector is registored at / -------------------------------------------------------- Calorimeters are placed in parallel. Absorber is made of Lead Gap is made of liquidArgon -------------------------------------------------------- +G4SDManager::AddNewCollection : the collection is registered at 55 +G4SDManager::AddNewCollection : the collection is registered at 56 +G4SDManager::AddNewCollection : the collection is registered at 57 +G4SDManager::AddNewCollection : the collection is registered at 58 +G4SDManager::AddNewCollection : the collection is registered at 59 +G4SDManager::AddNewCollection : the collection is registered at 60 +New sensitive detector is registored at / +G4SDManager::AddNewCollection : the collection is registered at 61 +G4SDManager::AddNewCollection : the collection is registered at 62 +G4SDManager::AddNewCollection : the collection is registered at 63 +G4SDManager::AddNewCollection : the collection is registered at 64 +G4SDManager::AddNewCollection : the collection is registered at 65 +G4SDManager::AddNewCollection : the collection is registered at 66 +New sensitive detector is registored at / +G4SDManager::AddNewCollection : the collection is registered at 67 +G4SDManager::AddNewCollection : the collection is registered at 68 +G4SDManager::AddNewCollection : the collection is registered at 69 +G4SDManager::AddNewCollection : the collection is registered at 70 +G4SDManager::AddNewCollection : the collection is registered at 71 +G4SDManager::AddNewCollection : the collection is registered at 72 +New sensitive detector is registored at / +############################################################################# + G4VUserPhysicsList::AddTransportation() --- G4CoupledTransportation is used +############################################################################# ExN07PhysicsList::SetCuts: default cut length : 1 mm +############################################################## +## /tracking/verbose must be set to 1 for ExN07SteppingVerbose +############################################################## +/tracking/verbose 1 /run/verbose 1 /run/initialize /run/dumpRegion Region -- appears in world volume + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic Production cuts : gamma 1 mm e- 1 mm e+ 1 mm Region -- appears in world volume + Root logical volume(s) : Calor-A + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Lead liquidArgon Production cuts : gamma 1 mm e- 1 mm e+ 1 mm Region -- appears in world volume + Root logical volume(s) : Calor-B + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Lead liquidArgon Production cuts : gamma 1 cm e- 1 cm e+ 1 cm Region -- appears in world volume + Root logical volume(s) : Calor-C + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Lead liquidArgon Production cuts : gamma 10 cm e- 10 cm e+ 10 cm /run/beamOn 10 @@ -80,7 +175,7 @@ phot: Total cross sections from Sandia parametrisation. msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -93,7 +188,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -106,7 +201,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -123,7 +218,7 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for anti_proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -143,7 +238,7 @@ muIoni: tables are built for mu+ msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muBrems: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -191,7 +286,7 @@ hIoni: tables are built for pi- msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 ========= Table of registered couples ============================== @@ -250,7 +345,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=43.75s Real=48.66s Sys=4.86s + User=121.41s Real=123.44s Sys=2.02s ############################################################ Run Summary - Number of events : 10 ############################################################ @@ -258,72 +353,141 @@ Region : Calor-A Production thresholds : gamma 1 mm e- 1 mm e+ 1 mm Energy deposition in an event : - Absorber 2.9061312 GeV Gap 361.14243 MeV + Absorber 4.0627106 GeV Gap 449.82043 MeV Number of secondaries in an event : - gamma in Absorber 897.7 in Gap 49.1 - e- in Absorber 1476.1 in Gap 156.5 - e+ in Absorber 83.6 in Gap 3.1 + gamma in Absorber 1618.9 in Gap 81.3 + e- in Absorber 2612.6 in Gap 246.3 + e+ in Absorber 155.1 in Gap 4.5 Minimum kinetic energy of generated secondaries : - gamma in Absorber 100.57504 keV in Gap 6.2900109 keV - e- in Absorber 8.674867 eV in Gap 52.683027 eV - e+ in Absorber 1.4672065 keV in Gap 187.1271 keV + gamma in Absorber 100.5108 keV in Gap 6.1848901 keV + e- in Absorber 90.143566 eV in Gap 32.685814 eV + e+ in Absorber 1.6101952 keV in Gap 209.17615 keV Total track length of e+/e- in an event : - Absorber 1.0368358 m Gap 75.636395 cm + Absorber 1.8416067 m Gap 1.1823356 m Total number of steps of e+/e- in an event : - Absorber 3484.1 Gap 785.7 + Absorber 11192.2 Gap 1595.4 +------------------------------------------------------------ +Scores in parallel geometry +layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt + 0 4097.6797 1523 2128.6 134.3 2590.6804 9665.2 + 1 238.94688 106.4 399.4 14.3 256.81992 1702.6 + 2 92.016039 38.8 165.5 5.9 100.25876 718.2 + 3 38.118818 16.2 74 2.7 32.075011 317.4 + 4 22.613973 9.5 39.3 1.3 21.419214 175.7 + 5 9.4327172 2.2 20 0.4 8.723358 71.7 + 6 5.1712519 1.7 11.8 0.3 5.9909382 46 + 7 2.3390393 0.5 4 0.1 1.9521456 23 + 8 1.8171714 0.4 4.8 0.1 1.2327131 19.3 + 9 1.2437485 0.2 3.7 0 1.7099968 12 + 10 1.5013475 1 3.6 0.2 0.99395971 14 + 11 0.29611596 0 0.9 0 0.86052906 5.1 + 12 0.27032291 0 0.4 0 0.22277143 4.9 + 13 0.45309003 0.3 1 0 0.27199286 3.3 + 14 0.14598688 0 0.3 0 0.16267671 0.9 + 15 0.29815934 0 0.9 0 0.14526014 2.7 + 16 0.018498628 0 0.1 0 0.0036838111 3.6 + 17 0 0 0 0 0 0 + 18 0 0 0 0 0 0 + 19 0.16813365 0 0.6 0 0.4189173 2 ############################################################ Region : Calor-B Production thresholds : gamma 1 cm e- 1 cm e+ 1 cm Energy deposition in an event : - Absorber 3.3525481 GeV Gap 370.86791 MeV + Absorber 3.197075 GeV Gap 379.25824 MeV Number of secondaries in an event : - gamma in Absorber 782.2 in Gap 47.1 - e- in Absorber 1421.6 in Gap 121.9 - e+ in Absorber 108.3 in Gap 3.7 + gamma in Absorber 709.6 in Gap 48.3 + e- in Absorber 1289.2 in Gap 118.2 + e+ in Absorber 98.4 in Gap 3.2 Minimum kinetic energy of generated secondaries : - gamma in Absorber 282.50075 keV in Gap 19.070495 keV - e- in Absorber 70.555921 eV in Gap 26.709714 eV - e+ in Absorber 5.003152 keV in Gap 367.19147 keV + gamma in Absorber 282.54595 keV in Gap 19.157175 keV + e- in Absorber 20.935115 eV in Gap 72.591333 eV + e+ in Absorber 26.169363 keV in Gap 66.435081 keV Total track length of e+/e- in an event : - Absorber 1.178441 m Gap 70.72546 cm + Absorber 1.0594274 m Gap 73.321137 cm Total number of steps of e+/e- in an event : - Absorber 3299.3 Gap 555.2 + Absorber 5677.9 Gap 780 +------------------------------------------------------------ +Scores in parallel geometry +layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt + 0 3291.9897 673.3 970.1 83 1505.8864 4576.6 + 1 170.41275 56.2 238.1 11.7 182.71988 1046.7 + 2 62.059655 15.8 99.8 3.6 56.944373 424.7 + 3 25.191451 6.1 45 1.5 21.754692 187 + 4 11.506891 1.9 22.2 0.5 12.507423 101.4 + 5 7.4442563 3 14.1 0.9 5.0259501 50.3 + 6 2.8831469 0.2 7.5 0 2.2797757 24.8 + 7 1.8318769 0.6 3.6 0.2 1.2245512 15.1 + 8 0.90742091 0.1 2.2 0 1.7359606 8.6 + 9 0.45658492 0.1 1.5 0 0.47562732 4.7 + 10 0.14854508 0 0.5 0 0.064767207 3.7 + 11 0.73183568 0.4 0.8 0.1 1.0769124 7.8 + 12 0.090477579 0 0.5 0 0.13714934 1.5 + 13 0.054302461 0 0.2 0 0.020139891 0.6 + 14 0.11652951 0.2 0.6 0.1 0.045136362 2.1 + 15 0.039089479 0 0.2 0 0.011238472 0.6 + 16 0 0 0 0 0 0 + 17 0 0 0 0 0 0 + 18 0.13265768 0 0.2 0 0.084899817 0.6 + 19 0.20006437 0 0.2 0 0.10526661 0.6 ############################################################ Region : Calor-C Production thresholds : gamma 10 cm e- 10 cm e+ 10 cm Energy deposition in an event : - Absorber 4.2086015 GeV Gap 405.9642 MeV + Absorber 2.6240797 GeV Gap 283.73383 MeV Number of secondaries in an event : - gamma in Absorber 458.9 in Gap 41.5 - e- in Absorber 837 in Gap 79.6 - e+ in Absorber 124.2 in Gap 4.6 + gamma in Absorber 86.9 in Gap 9.5 + e- in Absorber 150.8 in Gap 16.5 + e+ in Absorber 22.4 in Gap 1 Minimum kinetic energy of generated secondaries : - gamma in Absorber 285.17577 keV in Gap 56.694504 keV - e- in Absorber 12.837183 eV in Gap 139.35855 eV - e+ in Absorber 23.503793 keV in Gap 98.080153 keV + gamma in Absorber 285.40289 keV in Gap 59.470833 keV + e- in Absorber 1.8004593 keV in Gap 357.25119 eV + e+ in Absorber 147.33392 keV in Gap 1.0478157 MeV Total track length of e+/e- in an event : - Absorber 1.1856642 m Gap 69.781846 cm + Absorber 23.39152 cm Gap 15.650909 cm Total number of steps of e+/e- in an event : - Absorber 2529.9 Gap 570.8 + Absorber 824.7 Gap 119.4 +------------------------------------------------------------ +Scores in parallel geometry +layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt + 0 2854.5075 85.3 109.3 19 336.70966 654.1 + 1 31.160807 7.3 28 2.7 34.444636 144.3 + 2 8.7689497 1.1 13.3 0.4 7.6806487 67.8 + 3 7.6663017 1.3 9.3 0.7 6.3263266 39.5 + 4 2.8714189 1 3.1 0.4 3.0991174 14.8 + 5 1.0385221 0 1.6 0 0.68536375 5.3 + 6 0.7449161 0.2 0.8 0.1 0.51403199 3.2 + 7 0.27686827 0 0.9 0 0.41178396 10.6 + 8 0.61915243 0.2 0.5 0.1 0.4746013 3 + 9 0.076148703 0 0.2 0 0.035301349 0.6 + 10 0 0 0 0 0 0 + 11 0 0 0 0 0 0 + 12 0 0 0 0 0 0 + 13 0.025321797 0 0.2 0 0.013415793 0.6 + 14 0 0 0 0 0 0 + 15 0 0 0 0 0 0 + 16 0 0 0 0 0 0 + 17 0 0 0 0 0 0 + 18 0 0 0 0 0 0 + 19 0 0 0 0 0 0 ############################################################ Region - All particles : User=0 Real=0.04 Sys=0 + All particles : User=0.04 Real=0.04 Sys=0 e+ / e- : User=0 Real=0 Sys=0 Region - All particles : User=11.15 Real=12.56 Sys=1.39 - e+ / e- : User=7.45 Real=8.68 Sys=1.22 + All particles : User=54.31 Real=54.89 Sys=0.61 + e+ / e- : User=40.69 Real=41.07 Sys=0.38 Region - All particles : User=9.93 Real=11.49 Sys=1.6 - e+ / e- : User=6.34 Real=7.73 Sys=1.4 + All particles : User=27.32 Real=27.79 Sys=0.47 + e+ / e- : User=19.86 Real=20.24 Sys=0.39 Region - All particles : User=7.87 Real=9.34 Sys=1.47 - e+ / e- : User=5.24 Real=6.62 Sys=1.38 + All particles : User=4.62 Real=4.67 Sys=0.05 + e+ / e- : User=3.2 Real=3.24 Sys=0.04 /run/dumpCouples @@ -389,18 +553,26 @@ Index : 6 used in the geometry : Yes recalculation needed : No /run/dumpRegion Region -- appears in world volume + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic Production cuts : gamma 1 mm e- 1 mm e+ 1 mm Region -- appears in world volume + Root logical volume(s) : Calor-A + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Lead liquidArgon Production cuts : gamma 200 um e- 200 um e+ 200 um Region -- appears in world volume + Root logical volume(s) : Calor-B + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Lead liquidArgon Production cuts : gamma 2 mm e- 2 mm e+ 2 mm Region -- appears in world volume + Root logical volume(s) : Calor-C + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Lead liquidArgon Production cuts : gamma 2 cm e- 2 cm e+ 2 cm /run/beamOn 10 @@ -421,7 +593,7 @@ phot: Total cross sections from Sandia parametrisation. msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -434,7 +606,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -447,7 +619,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -464,7 +636,7 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for anti_proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -484,7 +656,7 @@ muIoni: tables are built for mu+ msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muBrems: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -532,7 +704,7 @@ hIoni: tables are built for pi- msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 ========= Table of registered couples ============================== @@ -591,7 +763,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=38.45s Real=42.67s Sys=4.22s + User=140.88s Real=142.8s Sys=1.89s ############################################################ Run Summary - Number of events : 10 ############################################################ @@ -599,72 +771,141 @@ Region : Calor-A Production thresholds : gamma 200 um e- 200 um e+ 200 um Energy deposition in an event : - Absorber 2.1346427 GeV Gap 291.01738 MeV + Absorber 3.2192122 GeV Gap 387.16934 MeV Number of secondaries in an event : - gamma in Absorber 574.5 in Gap 34.8 - e- in Absorber 1044.5 in Gap 163.8 - e+ in Absorber 33.1 in Gap 1.4 + gamma in Absorber 1409.4 in Gap 69.5 + e- in Absorber 2314.4 in Gap 279.6 + e+ in Absorber 101.5 in Gap 3.5 Minimum kinetic energy of generated secondaries : - gamma in Absorber 47.200548 keV in Gap 2.8352146 keV - e- in Absorber 37.971402 eV in Gap 44.000972 eV - e+ in Absorber 3.9942087 keV in Gap 215.81946 keV + gamma in Absorber 47.185952 keV in Gap 2.8098227 keV + e- in Absorber 17.18202 eV in Gap 5.4541711 eV + e+ in Absorber 494.93941 eV in Gap 52.666097 keV Total track length of e+/e- in an event : - Absorber 58.220513 cm Gap 44.25576 cm + Absorber 1.3564015 m Gap 91.840972 cm Total number of steps of e+/e- in an event : - Absorber 2317.3 Gap 606.2 + Absorber 9718.3 Gap 1572.2 +------------------------------------------------------------ +Scores in parallel geometry +layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt + 0 3339.5532 1328.7 2071.1 88.9 1989.2668 9054.2 + 1 156.97818 90.8 290.8 9.8 173.17209 1260.2 + 2 55.191238 30.6 113.4 3.2 54.291905 466.4 + 3 27.092796 14.2 55.3 1.3 28.088423 237.4 + 4 11.32168 6.5 25.4 1 10.662899 105.6 + 5 5.8640207 2.9 14.5 0.2 4.2327056 59.2 + 6 4.3038086 2.8 9.3 0.4 3.9041986 35.9 + 7 1.7098474 0.8 4.5 0.2 1.1390006 27 + 8 1.7434041 1 4 0 4.0307939 17.1 + 9 1.2113668 0.3 2.1 0 3.192693 12.3 + 10 0.57058494 0.1 1.8 0 1.1390084 6.8 + 11 0.18106695 0 0.5 0 0.43822814 3.3 + 12 0.3894825 0 0.4 0 0.79845475 1.9 + 13 0.2708012 0.2 0.9 0 0.4540155 3.2 + 14 0 0 0 0 0 0 + 15 0 0 0 0 0 0 + 16 0 0 0 0 0 0 + 17 0 0 0 0 0 0 + 18 0 0 0 0 0 0 + 19 0 0 0 0 0 0 ############################################################ Region : Calor-B Production thresholds : gamma 2 mm e- 2 mm e+ 2 mm Energy deposition in an event : - Absorber 2.7945988 GeV Gap 323.65447 MeV + Absorber 3.1392071 GeV Gap 376.63338 MeV Number of secondaries in an event : - gamma in Absorber 758.8 in Gap 34.8 - e- in Absorber 1250.4 in Gap 116.2 - e+ in Absorber 78.1 in Gap 1.2 + gamma in Absorber 970.8 in Gap 56.4 + e- in Absorber 1589.4 in Gap 141 + e+ in Absorber 99.5 in Gap 3 Minimum kinetic energy of generated secondaries : - gamma in Absorber 120.6294 keV in Gap 8.6833505 keV - e- in Absorber 5.9156387 eV in Gap 108.30428 eV - e+ in Absorber 23.998783 keV in Gap 596.96861 keV + gamma in Absorber 120.69478 keV in Gap 8.6904698 keV + e- in Absorber 2.6232579 eV in Gap 73.428132 eV + e+ in Absorber 5.2162257 keV in Gap 86.727097 keV Total track length of e+/e- in an event : - Absorber 91.565838 cm Gap 54.306288 cm + Absorber 1.1540164 m Gap 80.613374 cm Total number of steps of e+/e- in an event : - Absorber 2949.4 Gap 627.5 + Absorber 6909.7 Gap 949 +------------------------------------------------------------ +Scores in parallel geometry +layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt + 0 3239.4223 917 1279.4 85.3 1666.8935 5888.6 + 1 162.71332 71.1 246.4 10.7 181.22806 1106.7 + 2 58.697837 21.3 102.2 3.3 56.33738 411.2 + 3 27.517989 8 50.1 1.7 25.827371 207.7 + 4 13.073044 4.5 21.9 0.6 12.516232 100.7 + 5 7.6535474 3 14.1 0.8 6.6294315 56.3 + 6 4.1999938 1.9 9 0.1 6.9720013 37.2 + 7 1.1329438 0 2.6 0 0.80375203 23 + 8 0.72576411 0.1 1.6 0 1.8858611 11.2 + 9 0.066548655 0 0.5 0 0.19943906 2.9 + 10 0.21218592 0.1 0.8 0 0.31909647 4.6 + 11 0.13945936 0 0.5 0 0.20460465 3.2 + 12 0.15514855 0.2 0.4 0 0.27517208 2.7 + 13 0.11915486 0 0.7 0 0.045894096 2.1 + 14 0.011182337 0 0.2 0 0.012313678 0.6 + 15 0 0 0 0 0 0 + 16 0 0 0 0 0 0 + 17 0 0 0 0 0 0 + 18 0 0 0 0 0 0 + 19 0 0 0 0 0 0 ############################################################ Region : Calor-C Production thresholds : gamma 2 cm e- 2 cm e+ 2 cm Energy deposition in an event : - Absorber 3.1567408 GeV Gap 354.77735 MeV + Absorber 2.8533855 GeV Gap 354.76373 MeV Number of secondaries in an event : - gamma in Absorber 570.5 in Gap 40.8 - e- in Absorber 1068.4 in Gap 100 - e+ in Absorber 92 in Gap 3.3 + gamma in Absorber 449.5 in Gap 37.1 + e- in Absorber 824.7 in Gap 82.1 + e+ in Absorber 70.1 in Gap 2 Minimum kinetic energy of generated secondaries : - gamma in Absorber 271.73775 keV in Gap 27.311356 keV - e- in Absorber 61.297686 eV in Gap 26.629457 eV - e+ in Absorber 9.4467933 keV in Gap 540.34438 keV + gamma in Absorber 275.68574 keV in Gap 27.087273 keV + e- in Absorber 75.75109 eV in Gap 88.438575 eV + e+ in Absorber 13.44609 keV in Gap 1.012656 MeV Total track length of e+/e- in an event : - Absorber 95.24384 cm Gap 56.545645 cm + Absorber 75.165151 cm Gap 57.589179 cm Total number of steps of e+/e- in an event : - Absorber 2646.4 Gap 520.4 + Absorber 3690.3 Gap 553.2 +------------------------------------------------------------ +Scores in parallel geometry +layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt + 0 3033.9672 445.8 617.6 62.3 1151.4176 2985.6 + 1 103.3075 26.4 155.4 6 108.06072 674.4 + 2 31.174106 5.1 60.7 1.4 27.830461 259.3 + 3 14.707618 3.5 27.4 0.8 15.145763 105.5 + 4 9.6584905 1.7 17.9 0.5 10.549566 90.3 + 5 6.3458367 1.6 9.4 0.5 5.1379193 44.4 + 6 3.6196408 1.1 7.2 0.2 2.4884659 30.2 + 7 2.5128906 0.6 5.2 0.2 3.5272325 19.8 + 8 0.64633585 0.3 1.6 0.1 0.4130386 5.3 + 9 1.055822 0 1.9 0 1.3689543 12.3 + 10 0.37182566 0.3 0.6 0 0.60707954 5.6 + 11 0.12263441 0 0.4 0 0.052687972 4.2 + 12 0.1709684 0 0.3 0 0.25048636 1 + 13 0.1190396 0 0.6 0 0.12411396 2 + 14 0.14258767 0.2 0.2 0.1 0.081631597 1.6 + 15 0.22674157 0 0.4 0 0.487571 2 + 16 0 0 0 0 0 0 + 17 0 0 0 0 0 0 + 18 0 0 0 0 0 0 + 19 0 0 0 0 0 0 ############################################################ Region - All particles : User=0.04 Real=0.04 Sys=0 + All particles : User=0.02 Real=0.02 Sys=0 e+ / e- : User=0 Real=0 Sys=0 Region - All particles : User=7.36 Real=8.26 Sys=0.91 - e+ / e- : User=4.72 Real=5.46 Sys=0.75 + All particles : User=46.68 Real=47.2 Sys=0.51 + e+ / e- : User=34.47 Real=34.87 Sys=0.41 Region - All particles : User=9.26 Real=10.67 Sys=1.41 - e+ / e- : User=6.1 Real=7.34 Sys=1.24 + All particles : User=33.45 Real=33.76 Sys=0.31 + e+ / e- : User=24.45 Real=24.73 Sys=0.25 Region - All particles : User=8.44 Real=9.75 Sys=1.3 - e+ / e- : User=5.59 Real=6.76 Sys=1.18 + All particles : User=18.94 Real=19.14 Sys=0.18 + e+ / e- : User=13.32 Real=13.5 Sys=0.16 /run/dumpCouples @@ -729,18 +970,26 @@ Index : 6 used in the geometry : Yes recalculation needed : No /run/dumpRegion Region -- appears in world volume + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic Production cuts : gamma 1 mm e- 1 mm e+ 1 mm Region -- appears in world volume + Root logical volume(s) : Calor-A + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Water Production cuts : gamma 200 um e- 200 um e+ 200 um Region -- appears in world volume + Root logical volume(s) : Calor-B + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Water Production cuts : gamma 2 mm e- 2 mm e+ 2 mm Region -- appears in world volume + Root logical volume(s) : Calor-C + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Water Production cuts : gamma 2 cm e- 2 cm e+ 2 cm /run/beamOn 10 @@ -761,7 +1010,7 @@ phot: Total cross sections from Sandia parametrisation. msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -774,7 +1023,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -787,7 +1036,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -804,7 +1053,7 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for anti_proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -824,7 +1073,7 @@ muIoni: tables are built for mu+ msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muBrems: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -872,7 +1121,7 @@ hIoni: tables are built for pi- msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 ========= Table of registered couples ============================== @@ -961,7 +1210,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=24.88s Real=26.72s Sys=1.84s + User=153.77s Real=156.76s Sys=2.99s ############################################################ Run Summary - Number of events : 10 ############################################################ @@ -969,72 +1218,141 @@ Region : Calor-A Production thresholds : gamma 200 um e- 200 um e+ 200 um Energy deposition in an event : - Absorber 612.38763 MeV Gap 261.23372 MeV + Absorber 559.07811 MeV Gap 239.64951 MeV Number of secondaries in an event : - gamma in Absorber 59.3 in Gap 14.9 - e- in Absorber 353.8 in Gap 168 - e+ in Absorber 2.2 in Gap 0.6 + gamma in Absorber 40.9 in Gap 7.5 + e- in Absorber 260.7 in Gap 132.3 + e+ in Absorber 0.7 in Gap 0.3 Minimum kinetic energy of generated secondaries : - gamma in Absorber 3.2178625 keV in Gap 1.5743313 keV - e- in Absorber 2.0483002 eV in Gap 47.491167 eV - e+ in Absorber 849.99452 keV in Gap 1.7332778 MeV + gamma in Absorber 3.2377965 keV in Gap 1.5318062 keV + e- in Absorber 27.084815 eV in Gap 4.4707033 eV + e+ in Absorber 868.60666 keV in Gap 203.95688 keV Total track length of e+/e- in an event : - Absorber 50.164421 cm Gap 43.622601 cm + Absorber 37.050396 cm Gap 31.832852 cm Total number of steps of e+/e- in an event : - Absorber 796.5 Gap 406.5 + Absorber 1081.7 Gap 560.2 +------------------------------------------------------------ +Scores in parallel geometry +layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt + 0 773.04816 43.4 260.5 0.8 612.91302 1189.5 + 1 16.08247 4 38.3 0.1 53.202561 147.7 + 2 3.2808549 0.4 22.2 0 9.7681303 76.9 + 3 1.7399653 0.1 15.2 0.1 3.9486994 49.4 + 4 1.086386 0.3 10.8 0 1.9691431 34.1 + 5 0.54158933 0 9.1 0 0.82539744 29.6 + 6 0.96092417 0.2 6.5 0 2.0057678 20.1 + 7 0.28419324 0 7.1 0 0.25603267 21.3 + 8 0.12103484 0 3.2 0 0.090113672 9.6 + 9 0.27747965 0 4.2 0 0.37605611 12.7 + 10 0.14703241 0 3.9 0 0.11276265 11.7 + 11 0.1144801 0 2.8 0 0.0819111 8.8 + 12 0.12300888 0 3.2 0 0.12126806 11.1 + 13 0.11895986 0 2.1 0 0.11047758 6.3 + 14 0.17598005 0 1.2 0 0.28742402 4.1 + 15 0.068278857 0 0.5 0 0.15244309 1.6 + 16 0.44536586 0 0.6 0 2.4803549 2.6 + 17 0 0 0 0 0 0 + 18 0.037679029 0 0.5 0 0.040052968 1.5 + 19 0.0031623205 0 0.2 0 0.00077654384 0.6 ############################################################ Region : Calor-B Production thresholds : gamma 2 mm e- 2 mm e+ 2 mm Energy deposition in an event : - Absorber 1.3071183 GeV Gap 548.10765 MeV + Absorber 731.38357 MeV Gap 320.15378 MeV Number of secondaries in an event : - gamma in Absorber 233.1 in Gap 68.6 - e- in Absorber 1303.7 in Gap 506.3 - e+ in Absorber 17.5 in Gap 2.4 + gamma in Absorber 77.8 in Gap 22 + e- in Absorber 408.2 in Gap 174.5 + e+ in Absorber 4.5 in Gap 1.2 Minimum kinetic energy of generated secondaries : - gamma in Absorber 9.672581 keV in Gap 3.8966233 keV - e- in Absorber 0.70662733 eV in Gap 1.2875781 eV - e+ in Absorber 304.22 keV in Gap 708.25842 keV + gamma in Absorber 9.566338 keV in Gap 4.1269872 keV + e- in Absorber 8.3602395 eV in Gap 25.404177 eV + e+ in Absorber 257.1495 keV in Gap 2.0173827 MeV Total track length of e+/e- in an event : - Absorber 2.0315319 m Gap 1.88376 m + Absorber 70.476485 cm Gap 69.539972 cm Total number of steps of e+/e- in an event : - Absorber 2510.4 Gap 1031.3 + Absorber 1621.3 Gap 750.5 +------------------------------------------------------------ +Scores in parallel geometry +layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt + 0 892.46453 62.7 134.5 3.1 913.50233 778.3 + 1 104.79657 27.6 101.8 1.9 340.20306 454.2 + 2 27.885463 6.1 74.9 0.4 85.240139 277.1 + 3 7.20871 1 61.2 0 18.62182 191.9 + 4 4.9163943 0.7 46.4 0.1 11.089719 145.1 + 5 3.6166616 0.7 36.4 0.1 8.9073039 115.9 + 6 1.4457895 0.1 25.9 0 2.8238043 78.8 + 7 1.33606 0.2 24.9 0 2.0291105 75.7 + 8 1.2157171 0.1 15.1 0 2.9393667 48.1 + 9 1.1293038 0 12.4 0 1.8753314 39.8 + 10 0.44764295 0 9 0 0.42287895 27.1 + 11 0.34861191 0 7.7 0 0.32149365 23.4 + 12 1.2734134 0.1 5.7 0 4.0536758 19.2 + 13 0.43996438 0 5.6 0 0.90833372 20.1 + 14 0.15718783 0 4.5 0 0.11210469 13.5 + 15 0.82327286 0 2.2 0 1.9480714 7.1 + 16 0.15415562 0 2.1 0 0.21469479 6.3 + 17 0.11192547 0 3.5 0 0.07258611 10.5 + 18 0.24375785 0.1 1.6 0 0.45861499 5.6 + 19 1.316359 0.4 1.8 0.1 4.1474148 12.9 ############################################################ Region : Calor-C Production thresholds : gamma 2 cm e- 2 cm e+ 2 cm Energy deposition in an event : - Absorber 614.38017 MeV Gap 266.13659 MeV + Absorber 2.9151793 GeV Gap 1.2461451 GeV Number of secondaries in an event : - gamma in Absorber 30.6 in Gap 8.9 - e- in Absorber 182.1 in Gap 66.4 - e+ in Absorber 1.5 in Gap 0.3 + gamma in Absorber 575.3 in Gap 172.8 + e- in Absorber 3498.9 in Gap 1384.2 + e+ in Absorber 48.1 in Gap 12.2 Minimum kinetic energy of generated secondaries : - gamma in Absorber 28.220583 keV in Gap 12.426188 keV - e- in Absorber 3.2192603 eV in Gap 12.752356 eV - e+ in Absorber 237.18523 keV in Gap 2.3504767 MeV + gamma in Absorber 28.197434 keV in Gap 10.314335 keV + e- in Absorber 0.35978918 eV in Gap 0.030762519 eV + e+ in Absorber 19.325632 keV in Gap 200.297 keV Total track length of e+/e- in an event : - Absorber 30.023731 cm Gap 30.24171 cm + Absorber 5.3048921 m Gap 5.1303281 m Total number of steps of e+/e- in an event : - Absorber 319.9 Gap 135.2 + Absorber 12904.4 Gap 5392.2 +------------------------------------------------------------ +Scores in parallel geometry +layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt + 0 3061.1302 535.5 830.4 40.3 7332.6633 4318.7 + 1 554.33994 120.9 761.7 10.1 1709.4804 3078.6 + 2 221.53142 43.5 673 3.8 626.82558 2375.6 + 3 100.38795 17.1 544.7 1.7 254.83559 1833.8 + 4 57.326845 9.6 454 1.1 133.91446 1476.4 + 5 46.94377 6.7 371.4 1.2 115.65442 1213 + 6 32.645495 5.2 288.5 0.4 75.928666 928.7 + 7 19.346338 1.9 221.9 0.2 41.005741 704.8 + 8 17.790127 2.6 163.1 0.6 39.601966 535.9 + 9 12.608128 1.5 135.2 0.3 29.307225 427.2 + 10 8.097949 0.6 104.6 0.1 15.304469 326.4 + 11 5.5828298 0.4 79.9 0 8.3760495 251.4 + 12 5.0372188 0.8 64.8 0.2 11.424089 211.8 + 13 2.951699 0.2 52.5 0 4.7227594 161.4 + 14 2.85127 0.5 35.2 0.1 5.2250833 111.9 + 15 2.6213509 0.1 29.5 0.1 7.135983 97.2 + 16 4.0987801 0.7 22.3 0.1 9.6103183 77.1 + 17 2.1890372 0.1 18.3 0 4.7431235 63.7 + 18 1.5208105 0 12.5 0 4.0433372 40.4 + 19 1.2389767 0.1 10.2 0 3.3315262 32.8 ############################################################ Region - All particles : User=0.03 Real=0.03 Sys=0 + All particles : User=0.01 Real=0.01 Sys=0 e+ / e- : User=0 Real=0 Sys=0 Region - All particles : User=3.7 Real=4.04 Sys=0.35 - e+ / e- : User=1.99 Real=2.26 Sys=0.27 + All particles : User=7.76 Real=7.79 Sys=0.04 + e+ / e- : User=5.23 Real=5.25 Sys=0.02 Region - All particles : User=11.93 Real=12.92 Sys=1 - e+ / e- : User=5.75 Real=6.49 Sys=0.77 + All particles : User=12.46 Real=12.64 Sys=0.18 + e+ / e- : User=7.33 Real=7.44 Sys=0.11 Region - All particles : User=1.65 Real=1.8 Sys=0.16 - e+ / e- : User=0.7 Real=0.83 Sys=0.13 + All particles : User=97.63 Real=98.99 Sys=1.36 + e+ / e- : User=53.29 Real=54.24 Sys=0.93 /run/dumpCouples @@ -1130,18 +1448,26 @@ Index : 12 used in the geometry : Yes recalculation needed : No /run/dumpRegion Region -- appears in world volume + Root logical volume(s) : World + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Galactic Production cuts : gamma 1 mm e- 1 mm e+ 1 mm Region -- appears in world volume + Root logical volume(s) : Calor-A + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Water Production cuts : gamma 10 um e- 10 um e+ 10 um Region -- appears in world volume + Root logical volume(s) : Calor-B + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Water Production cuts : gamma 100 um e- 100 um e+ 100 um Region -- appears in world volume + Root logical volume(s) : Calor-C + Pointers : G4VUserRegionInformation[0], G4UserLimits[0], G4FastSimulationManager[0], G4UserSteppingAction[0] Materials : Aluminium Water Production cuts : gamma 1 mm e- 1 mm e+ 1 mm /run/beamOn 10 @@ -1162,7 +1488,7 @@ phot: Total cross sections from Sandia parametrisation. msc: Model variant of multiple scattering for e- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 eIoni: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -1175,7 +1501,7 @@ eBrem: tables are built for e- dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 eIoni: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -1188,7 +1514,7 @@ eBrem: tables are built for e+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. Lambda tables from threshold to 100 TeV in 120 bins. Total cross sections and sampling from StandBrem model (based on the EEDL data library) - Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. + Good description from 1 KeV to 100 GeV, log scale extrapolation above 100 GeV. LPM flag 1 annihil: Sampling according eplus2gg model tables are built for e+ @@ -1205,7 +1531,7 @@ hIoni: tables are built for proton msc: Model variant of multiple scattering for proton Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 hIoni: tables are built for anti_proton dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -1225,7 +1551,7 @@ muIoni: tables are built for mu+ msc: Model variant of multiple scattering for mu+ Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 muBrems: tables are built for mu+ dE/dx and range tables from 100 eV to 100 TeV in 120 bins. @@ -1273,7 +1599,7 @@ hIoni: tables are built for pi- msc: Model variant of multiple scattering for pi- Lambda tables from 100 eV to 100 TeV in 120 bins. LateralDisplacementFlag= 1 Skin= 0 - Boundary/stepping algorithm is active with facrange= 0.02 Step limitation 1 + Boundary/stepping algorithm is active with RangeFactor= 0.02 Step limit type 1 ========= Table of registered couples ============================== @@ -1292,7 +1618,7 @@ Index : 1 used in the geometry : No recalculation needed : No Index : 2 used in the geometry : No recalculation needed : No Material : liquidArgon Range cuts : gamma 10 um e- 10 um e+ 10 um - Energy thresholds : gamma 990 eV e- 7.6787427 keV e+ 7.5847934 keV + Energy thresholds : gamma 990 eV e- 14.229282 keV e+ 13.910003 keV Index : 3 used in the geometry : No recalculation needed : No Material : Lead @@ -1324,7 +1650,7 @@ Index : 7 used in the geometry : Yes recalculation needed : No Index : 8 used in the geometry : Yes recalculation needed : No Material : Water Range cuts : gamma 10 um e- 10 um e+ 10 um - Energy thresholds : gamma 990 eV e- 6.4497414 keV e+ 6.370829 keV + Energy thresholds : gamma 990 eV e- 13.944737 keV e+ 13.581031 keV Region(s) which use this couple : Calor-A @@ -1362,7 +1688,7 @@ Start Run processing. Run terminated. Run Summary Number of events processed : 10 - User=125.84s Real=136.25s Sys=10.41s + User=70.42s Real=71.19s Sys=0.77s ############################################################ Run Summary - Number of events : 10 ############################################################ @@ -1370,72 +1696,141 @@ Region : Calor-A Production thresholds : gamma 10 um e- 10 um e+ 10 um Energy deposition in an event : - Absorber 2.6378487 GeV Gap 1.1586681 GeV + Absorber 545.76559 MeV Gap 240.10265 MeV Number of secondaries in an event : - gamma in Absorber 843.9 in Gap 208.9 - e- in Absorber 6825.8 in Gap 10522.6 - e+ in Absorber 43.8 in Gap 8.9 + gamma in Absorber 47.7 in Gap 11.5 + e- in Absorber 910.2 in Gap 878.2 + e+ in Absorber 0.8 in Gap 0.1 Minimum kinetic energy of generated secondaries : - gamma in Absorber 1.0001072 keV in Gap 1.0080339 keV - e- in Absorber 0.25605986 eV in Gap 0.77569466 eV - e+ in Absorber 42.896668 keV in Gap 111.78357 keV + gamma in Absorber 1.0133838 keV in Gap 1.0325838 keV + e- in Absorber 3.9260058 eV in Gap 10.253441 eV + e+ in Absorber 897.09069 keV in Gap 12.875319 MeV Total track length of e+/e- in an event : - Absorber 5.6064968 m Gap 5.423633 m + Absorber 36.838351 cm Gap 34.555424 cm Total number of steps of e+/e- in an event : - Absorber 12934.7 Gap 19850.9 + Absorber 3242.7 Gap 3010.5 +------------------------------------------------------------ +Scores in parallel geometry +layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt + 0 761.51756 52.2 1642.6 0.4 637.45094 5730 + 1 12.2777 4.1 43.2 0.3 39.22202 173.4 + 2 6.1570313 1.5 28.2 0.1 22.061384 108.2 + 3 0.56664001 0 14 0 0.52398259 42.3 + 4 1.091724 0.2 15.3 0 2.7492706 48.9 + 5 0.30746546 0.2 6.6 0 0.29825136 20.1 + 6 0.77875187 0.2 6.8 0 1.5345913 22.7 + 7 1.5486847 0.4 10.1 0.1 6.0508901 36.9 + 8 0.40454049 0.1 6.2 0 1.4281914 19.5 + 9 0.13473159 0.1 4.3 0 0.068323498 13 + 10 0.16304443 0.1 2.3 0 0.23696546 8.9 + 11 0.18113637 0 2 0 0.31981378 6.5 + 12 0.39273671 0.1 2.7 0 0.76759929 9.2 + 13 0.26961443 0 1.7 0 1.1589617 6.1 + 14 0.010630493 0 0.8 0 0.0039894486 2.4 + 15 0.033382028 0 0.9 0 0.030213051 3 + 16 0.0060948328 0 0.3 0 0.0014211836 0.9 + 17 0.014195118 0 0.3 0 0.0083310305 0.9 + 18 0.012575127 0 0.1 0 0.022613578 0.3 + 19 0 0 0 0 0 0 ############################################################ Region : Calor-B Production thresholds : gamma 100 um e- 100 um e+ 100 um Energy deposition in an event : - Absorber 632.10579 MeV Gap 278.39137 MeV + Absorber 608.64425 MeV Gap 262.78924 MeV Number of secondaries in an event : - gamma in Absorber 64.4 in Gap 17.5 - e- in Absorber 455.1 in Gap 234 - e+ in Absorber 2.6 in Gap 0.4 + gamma in Absorber 61 in Gap 16 + e- in Absorber 436.1 in Gap 228 + e+ in Absorber 2.7 in Gap 0.5 Minimum kinetic energy of generated secondaries : - gamma in Absorber 2.3167136 keV in Gap 1.1010361 keV - e- in Absorber 3.0911645 eV in Gap 10.942827 eV - e+ in Absorber 336.45485 keV in Gap 2.3035004 MeV + gamma in Absorber 2.3539828 keV in Gap 1.0987413 keV + e- in Absorber 13.713073 eV in Gap 11.372196 eV + e+ in Absorber 154.09987 keV in Gap 3.7327144 MeV Total track length of e+/e- in an event : - Absorber 56.578347 cm Gap 54.181788 cm + Absorber 50.237565 cm Gap 44.389341 cm Total number of steps of e+/e- in an event : - Absorber 946.1 Gap 512.2 + Absorber 1751.1 Gap 911.8 +------------------------------------------------------------ +Scores in parallel geometry +layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt + 0 810.51717 58.4 409.1 2.1 766.0299 1776 + 1 18.471467 6.1 44.4 0.3 56.360497 166.6 + 2 17.154914 5.9 42.1 0.3 54.90027 152.6 + 3 6.2791582 1.2 31.1 0.1 19.273152 109 + 4 5.5188594 2 26.7 0.2 15.260183 90 + 5 3.4344566 0.6 18.9 0 9.877544 67.4 + 6 2.3040996 0.4 17.5 0.1 6.3302434 58.4 + 7 2.7335042 0.6 14 0 8.562871 46.9 + 8 0.6986591 0.1 11.4 0 0.97388199 34.7 + 9 0.83202953 0.2 9.7 0.1 1.8606168 31.2 + 10 1.8502445 1.1 10.5 0 4.1688023 36 + 11 0.46329114 0 6.9 0 0.89078513 25 + 12 0.18524236 0 3.5 0 0.32222639 10.6 + 13 0.17608604 0 3 0 0.18584045 10 + 14 0.37070531 0.4 3.9 0 0.89136279 13.8 + 15 0.15662133 0 3.3 0 0.14512499 9.9 + 16 0.047450282 0 1.2 0 0.03554748 3.6 + 17 0.055727743 0 1.5 0 0.044284755 4.5 + 18 0.061681355 0 1.3 0 0.066415888 3.9 + 19 0.01583949 0 1.2 0 0.0054451566 3.6 ############################################################ Region : Calor-C Production thresholds : gamma 1 mm e- 1 mm e+ 1 mm Energy deposition in an event : - Absorber 633.76366 MeV Gap 276.97112 MeV + Absorber 770.98951 MeV Gap 330.6829 MeV Number of secondaries in an event : - gamma in Absorber 54.8 in Gap 16.3 - e- in Absorber 281.4 in Gap 125.4 - e+ in Absorber 2.6 in Gap 0.2 + gamma in Absorber 98.8 in Gap 24 + e- in Absorber 520.8 in Gap 213.7 + e+ in Absorber 5.7 in Gap 1.6 Minimum kinetic energy of generated secondaries : - gamma in Absorber 6.8910741 keV in Gap 2.999719 keV - e- in Absorber 2.9254739 eV in Gap 32.93167 eV - e+ in Absorber 681.27605 keV in Gap 5.0056501 MeV + gamma in Absorber 6.8987448 keV in Gap 2.9193982 keV + e- in Absorber 5.2387235 eV in Gap 5.929055 eV + e+ in Absorber 139.06047 keV in Gap 1.0697799 MeV Total track length of e+/e- in an event : - Absorber 50.613062 cm Gap 49.293533 cm + Absorber 82.982671 cm Gap 78.205277 cm Total number of steps of e+/e- in an event : - Absorber 674.8 Gap 333.5 + Absorber 2116.2 Gap 910.5 +------------------------------------------------------------ +Scores in parallel geometry +layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt + 0 958.57312 87.9 197.9 4.6 1201.7528 1146.1 + 1 63.212128 16.9 105.5 0.9 200.84746 430.1 + 2 28.027666 7.4 94.2 0.6 87.020955 342.3 + 3 18.492409 5.1 67.5 0.6 46.628921 235.1 + 4 12.631926 3.3 56.4 0.4 29.991035 195.4 + 5 3.2577914 0.2 52.8 0.1 4.7322078 163.3 + 6 3.5252575 0.1 38.2 0 6.9906899 123.5 + 7 1.4280184 0.1 28.7 0 1.5991341 90.5 + 8 2.9250048 0.2 21.1 0 7.9381702 69.8 + 9 2.0751366 0.3 17.3 0.1 7.4407671 53.7 + 10 3.4715613 0.8 13.8 0 9.8713447 46.2 + 11 1.0453686 0.3 12 0 1.6842227 36.9 + 12 0.61217642 0.1 7.4 0 0.92582762 22.7 + 13 0.91278141 0.1 5.1 0 1.9518043 16 + 14 0.22262242 0 4.1 0 0.39819771 12.4 + 15 0.30812694 0 3.4 0 0.48162216 11 + 16 0.099781281 0 2.6 0 0.052501653 7.8 + 17 0.31523603 0 2.4 0 0.51212804 7.4 + 18 0.1198703 0 1.9 0 0.14043961 5.8 + 19 0.079482328 0 1.1 0 0.097964484 3.3 ############################################################ Region - All particles : User=0.03 Real=0.03 Sys=0 + All particles : User=0.05 Real=0.05 Sys=0 e+ / e- : User=0 Real=0 Sys=0 Region - All particles : User=75.87 Real=83.84 Sys=8.03 - e+ / e- : User=57.45 Real=63.91 Sys=6.45 + All particles : User=24.83 Real=25.02 Sys=0.17 + e+ / e- : User=18.05 Real=18.14 Sys=0.1 Region - All particles : User=4.27 Real=4.75 Sys=0.48 - e+ / e- : User=2.4 Real=2.83 Sys=0.43 + All particles : User=12.09 Real=12.25 Sys=0.15 + e+ / e- : User=7.95 Real=8.05 Sys=0.1 Region - All particles : User=3.12 Real=3.45 Sys=0.33 - e+ / e- : User=1.73 Real=2 Sys=0.27 + All particles : User=15.53 Real=15.71 Sys=0.18 + e+ / e- : User=9.3 Real=9.38 Sys=0.08 /run/dumpCouples @@ -1456,7 +1851,7 @@ Index : 1 used in the geometry : No recalculation needed : No Index : 2 used in the geometry : No recalculation needed : No Material : liquidArgon Range cuts : gamma 10 um e- 10 um e+ 10 um - Energy thresholds : gamma 990 eV e- 7.6787427 keV e+ 7.5847934 keV + Energy thresholds : gamma 990 eV e- 14.229282 keV e+ 13.910003 keV Index : 3 used in the geometry : No recalculation needed : No Material : Lead @@ -1488,7 +1883,7 @@ Index : 7 used in the geometry : Yes recalculation needed : No Index : 8 used in the geometry : Yes recalculation needed : No Material : Water Range cuts : gamma 10 um e- 10 um e+ 10 um - Energy thresholds : gamma 990 eV e- 6.4497414 keV e+ 6.370829 keV + Energy thresholds : gamma 990 eV e- 13.944737 keV e+ 13.581031 keV Region(s) which use this couple : Calor-A diff --git a/examples/novice/N07/include/ExN07DetectorConstruction.hh b/examples/novice/N07/include/ExN07DetectorConstruction.hh index d9d962bedf..b8331ada68 100644 --- a/examples/novice/N07/include/ExN07DetectorConstruction.hh +++ b/examples/novice/N07/include/ExN07DetectorConstruction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN07DetectorConstruction.hh,v 1.5 2006/06/29 17:54:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N07/include/ExN07DetectorMessenger.hh b/examples/novice/N07/include/ExN07DetectorMessenger.hh index 0f6b69197a..23612b56e0 100644 --- a/examples/novice/N07/include/ExN07DetectorMessenger.hh +++ b/examples/novice/N07/include/ExN07DetectorMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: ExN07DetectorMessenger.hh,v 1.6 2006/06/29 17:54:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN07DetectorMessenger_h diff --git a/examples/novice/N07/include/ExN07ParallelWorld.hh b/examples/novice/N07/include/ExN07ParallelWorld.hh new file mode 100644 index 0000000000..3432153c29 --- /dev/null +++ b/examples/novice/N07/include/ExN07ParallelWorld.hh @@ -0,0 +1,73 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN07ParallelWorld.hh,v 1.1 2007/05/04 01:49:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// + +#ifndef ExN07ParallelWorld_h +#define ExN07ParallelWorld_h 1 + +#include "G4VUserParallelWorld.hh" +#include "globals.hh" + +class G4LogicalVolume; +class G4VPhysicalVolume; + +class ExN07ParallelWorld : public G4VUserParallelWorld +{ + public: + ExN07ParallelWorld(G4String worldName); + virtual ~ExN07ParallelWorld(); + + public: + virtual void Construct(); + + private: + void SetupGeometry(); + void SetupDetectors(); + + public: + void SetSerialGeometry(G4bool ser); + inline G4bool IsSerial() const + { return serial; } + + private: + G4LogicalVolume* calorLogical[3]; + G4LogicalVolume* layerLogical[3]; + G4VPhysicalVolume* calorPhysical[3]; + G4VPhysicalVolume* layerPhysical[3]; + G4String calName[3]; + G4bool constructed; + G4bool serial; + G4double totalThickness; + G4int numberOfLayers; +}; + + +#endif + diff --git a/examples/novice/N07/include/ExN07PhysicsList.hh b/examples/novice/N07/include/ExN07PhysicsList.hh index 39622b0df4..588ea4c6bc 100644 --- a/examples/novice/N07/include/ExN07PhysicsList.hh +++ b/examples/novice/N07/include/ExN07PhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN07PhysicsList.hh,v 1.3 2006/06/29 17:54:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN07PhysicsList.hh,v 1.4 2007/05/04 01:49:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN07PhysicsList_h @@ -59,6 +59,7 @@ class ExN07PhysicsList: public G4VUserPhysicsList // these methods Construct physics processes and register them void ConstructGeneral(); void ConstructEM(); + }; #endif diff --git a/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh b/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh index d9cff19fe4..478ce7dd87 100644 --- a/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh +++ b/examples/novice/N07/include/ExN07PrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN07PrimaryGeneratorAction.hh,v 1.3 2006/06/29 17:54:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN07PrimaryGeneratorAction_h diff --git a/examples/novice/N07/include/ExN07Run.hh b/examples/novice/N07/include/ExN07Run.hh index eb151b5d81..84f9778198 100644 --- a/examples/novice/N07/include/ExN07Run.hh +++ b/examples/novice/N07/include/ExN07Run.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN07Run.hh,v 1.5 2006/06/29 17:54:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN07Run.hh,v 1.6 2007/05/04 01:49:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN07Run_h @@ -73,6 +73,17 @@ class ExN07Run : public G4Run G4THitsMap mapMin[6][3]; G4int colIDMin[6][3]; + // Maps for accumulation in parallel world + // mapPara[i][j] + // i = 0 : Calor-AP_para j = 0 : total eDep + // i = 1 : Calor-BP_para j = 1 : number of gamma + // i = 2 : Calor-CP_para j = 2 : number of electron + // j = 3 : number of positron + // j = 4 : total step length for e+/e- + // j = 5 : total number of steps for e+/e- + G4THitsMap mapPara[3][6]; + G4int colIDPara[3][6]; + public: inline G4double GetTotalE(G4int i) const { return GetTotal(mapSum[i][0]); } @@ -86,12 +97,20 @@ class ExN07Run : public G4Run { return GetTotal(mapSum[i][4]); } inline G4double GetNStep(G4int i) const { return GetTotal(mapSum[i][5]); } + inline G4double GetEMinGamma(G4int i) const { return FindMinimum(mapMin[i][0]); } inline G4double GetEMinElectron(G4int i) const { return FindMinimum(mapMin[i][1]); } inline G4double GetEMinPositron(G4int i) const { return FindMinimum(mapMin[i][2]); } + + inline G4double GetParaValue(G4int i,G4int j,G4int k) const + { + G4double* p = mapPara[i][j][k]; + if(p) return *p; + return 0.; + } }; #endif diff --git a/examples/novice/N07/include/ExN07RunAction.hh b/examples/novice/N07/include/ExN07RunAction.hh index 1e91436fcd..4dcd3eabfd 100644 --- a/examples/novice/N07/include/ExN07RunAction.hh +++ b/examples/novice/N07/include/ExN07RunAction.hh @@ -25,7 +25,7 @@ // // // $Id: ExN07RunAction.hh,v 1.4 2006/11/04 19:23:07 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef ExN07RunAction_h diff --git a/examples/novice/N07/include/ExN07SteppingVerbose.hh b/examples/novice/N07/include/ExN07SteppingVerbose.hh index f5ea6c8b65..eaa6437b2a 100644 --- a/examples/novice/N07/include/ExN07SteppingVerbose.hh +++ b/examples/novice/N07/include/ExN07SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: ExN07SteppingVerbose.hh,v 1.1 2006/11/04 19:23:07 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/examples/novice/N07/src/ExN07DetectorConstruction.cc b/examples/novice/N07/src/ExN07DetectorConstruction.cc index 6509ea66c9..ae704e02f7 100644 --- a/examples/novice/N07/src/ExN07DetectorConstruction.cc +++ b/examples/novice/N07/src/ExN07DetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN07DetectorConstruction.cc,v 1.7 2006/06/29 17:54:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN07DetectorConstruction.cc,v 1.8 2007/05/04 01:49:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // @@ -56,6 +56,7 @@ #include "ExN07DetectorMessenger.hh" #include "ExN07PrimaryGeneratorAction.hh" +#include "ExN07ParallelWorld.hh" ExN07DetectorConstruction::ExN07DetectorConstruction() :constructed(false),worldMaterial(0),absorberMaterial(0),gapMaterial(0), @@ -238,7 +239,7 @@ void ExN07DetectorConstruction::SetupGeometry() layerSolid = new G4Box("Layer",0.5*m,0.5*m,layerThickness/2.); for(i=0;i<3;i++) { - layerLogical[i] = new G4LogicalVolume(layerSolid,absorberMaterial,"Layer"); + layerLogical[i] = new G4LogicalVolume(layerSolid,absorberMaterial,calName[i]+"_LayerLog"); layerPhysical[i] = new G4PVReplica(calName[i]+"_Layer",layerLogical[i],calorLogical[i],kZAxis, numberOfLayers,layerThickness); } @@ -281,6 +282,7 @@ void ExN07DetectorConstruction::SetupGeometry() void ExN07DetectorConstruction::SetupDetectors() { + G4SDManager::GetSDMpointer()->SetVerboseLevel(1); G4String filterName, particleName; G4SDParticleFilter* gammaFilter = new G4SDParticleFilter(filterName="gammaFilter",particleName="gamma"); @@ -344,6 +346,7 @@ void ExN07DetectorConstruction::SetupDetectors() { gapLogical[i]->SetSensitiveDetector(det); } } } + G4SDManager::GetSDMpointer()->SetVerboseLevel(0); } void ExN07DetectorConstruction::PrintCalorParameters() const @@ -418,6 +421,7 @@ void ExN07DetectorConstruction::SetSerialGeometry(G4bool ser) else { calorPhysical[i]->SetTranslation(G4ThreeVector(0.,G4double(i-1)*m,0.)); } } + ((ExN07ParallelWorld*)GetParallelWorld(0))->SetSerialGeometry(ser); G4RunManager::GetRunManager()->GeometryHasBeenModified(); } diff --git a/examples/novice/N07/src/ExN07DetectorMessenger.cc b/examples/novice/N07/src/ExN07DetectorMessenger.cc index a9fe8951f5..0ca1b14db5 100644 --- a/examples/novice/N07/src/ExN07DetectorMessenger.cc +++ b/examples/novice/N07/src/ExN07DetectorMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: ExN07DetectorMessenger.cc,v 1.6 2006/06/29 17:54:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN07DetectorMessenger.hh" diff --git a/examples/novice/N07/src/ExN07ParallelWorld.cc b/examples/novice/N07/src/ExN07ParallelWorld.cc new file mode 100644 index 0000000000..b805e8432b --- /dev/null +++ b/examples/novice/N07/src/ExN07ParallelWorld.cc @@ -0,0 +1,179 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: ExN07ParallelWorld.cc,v 1.1 2007/05/04 01:49:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// + +#include "ExN07ParallelWorld.hh" + +#include "G4Tubs.hh" +#include "G4LogicalVolume.hh" +#include "G4PVPlacement.hh" +#include "G4PVReplica.hh" + +#include "G4SDManager.hh" +#include "G4MultiFunctionalDetector.hh" +#include "G4VPrimitiveScorer.hh" +#include "G4PSEnergyDeposit.hh" +#include "G4PSNofSecondary.hh" +#include "G4PSTrackLength.hh" +#include "G4PSNofStep.hh" +#include "G4PSMinKinEAtGeneration.hh" +#include "G4VSDFilter.hh" +#include "G4SDParticleFilter.hh" +#include "G4ios.hh" + +ExN07ParallelWorld::ExN07ParallelWorld(G4String worldName) +:G4VUserParallelWorld(worldName),constructed(false),serial(false) +{ + for(size_t i=0;i<3;i++) + { + calorLogical[i] = 0; + layerLogical[i] = 0; + calorPhysical[i] = 0; + layerPhysical[i] = 0; + } + totalThickness = 2.0*m; + numberOfLayers = 20; + calName[0] = "Calor-AP"; + calName[1] = "Calor-BP"; + calName[2] = "Calor-CP"; +} + +ExN07ParallelWorld::~ExN07ParallelWorld() +{;} + +void ExN07ParallelWorld::Construct() +{ + if(!constructed) + { + constructed = true; + SetupGeometry(); + SetupDetectors(); + } +} + +void ExN07ParallelWorld::SetupGeometry() +{ + // + // World + // + G4VPhysicalVolume* ghostWorld = GetWorld(); + G4LogicalVolume* worldLogical = ghostWorld->GetLogicalVolume(); + + // + // Calorimeter + // + G4VSolid* calorSolid = new G4Tubs("Calor",0.0,0.5*m,totalThickness/2.,0.0,360.*deg); + G4int i; + for(i=0;i<3;i++) + { + calorLogical[i] = new G4LogicalVolume(calorSolid,0,calName[i]); + if(serial) + { + calorPhysical[i] = new G4PVPlacement(0, + G4ThreeVector(0.,0.,G4double(i-1)*totalThickness), + calorLogical[i],calName[i],worldLogical,false,i); + } + else + { + calorPhysical[i] = new G4PVPlacement(0, + G4ThreeVector(0.,G4double(i-1)*m,0.), + calorLogical[i],calName[i],worldLogical,false,i); + } + } + + // + // Layers --- as absorbers + // + G4VSolid* layerSolid = new G4Tubs("Layer",0.0,0.5*m,totalThickness/2.,0.0,360.*deg); + for(i=0;i<3;i++) + { + layerLogical[i] = new G4LogicalVolume(layerSolid,0,calName[i]+"_LayerLog"); + layerPhysical[i] = new G4PVReplica(calName[i]+"_Layer",layerLogical[i],calorLogical[i],kRho, + numberOfLayers,0.5*m/numberOfLayers); + } + +} + +void ExN07ParallelWorld::SetupDetectors() +{ + G4SDManager::GetSDMpointer()->SetVerboseLevel(1); + G4String filterName, particleName; + + G4SDParticleFilter* gammaFilter = new G4SDParticleFilter(filterName="gammaFilter",particleName="gamma"); + G4SDParticleFilter* electronFilter = new G4SDParticleFilter(filterName="electronFilter",particleName="e-"); + G4SDParticleFilter* positronFilter = new G4SDParticleFilter(filterName="positronFilter",particleName="e+"); + G4SDParticleFilter* epFilter = new G4SDParticleFilter(filterName="epFilter"); + epFilter->add(particleName="e-"); + epFilter->add(particleName="e+"); + + for(G4int i=0;i<3;i++) + { + G4String detName = calName[i]+"_para"; + G4MultiFunctionalDetector* det = new G4MultiFunctionalDetector(detName); + + G4VPrimitiveScorer* primitive; + primitive = new G4PSEnergyDeposit("eDep"); + det->RegisterPrimitive(primitive); + primitive = new G4PSNofSecondary("nGamma"); + primitive->SetFilter(gammaFilter); + det->RegisterPrimitive(primitive); + primitive = new G4PSNofSecondary("nElectron"); + primitive->SetFilter(electronFilter); + det->RegisterPrimitive(primitive); + primitive = new G4PSNofSecondary("nPositron"); + primitive->SetFilter(positronFilter); + det->RegisterPrimitive(primitive); + primitive = new G4PSTrackLength("trackLength"); + primitive->SetFilter(epFilter); + det->RegisterPrimitive(primitive); + primitive = new G4PSNofStep("nStep"); + primitive->SetFilter(epFilter); + det->RegisterPrimitive(primitive); + + G4SDManager::GetSDMpointer()->AddNewDetector(det); + layerLogical[i]->SetSensitiveDetector(det); + } + G4SDManager::GetSDMpointer()->SetVerboseLevel(0); +} + +void ExN07ParallelWorld::SetSerialGeometry(G4bool ser) +{ + if(serial==ser) return; + serial=ser; + if(!constructed) return; + for(G4int i=0;i<3;i++) + { + if(serial) + { calorPhysical[i]->SetTranslation(G4ThreeVector(0.,0.,G4double(i-1)*2.*m)); } + else + { calorPhysical[i]->SetTranslation(G4ThreeVector(0.,G4double(i-1)*m,0.)); } + } +} + diff --git a/examples/novice/N07/src/ExN07PhysicsList.cc b/examples/novice/N07/src/ExN07PhysicsList.cc index 90801cd097..c5eafafc19 100644 --- a/examples/novice/N07/src/ExN07PhysicsList.cc +++ b/examples/novice/N07/src/ExN07PhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN07PhysicsList.cc,v 1.6 2006/06/29 17:54:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN07PhysicsList.cc,v 1.7 2007/05/04 01:49:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN07PhysicsList.hh" @@ -111,8 +111,8 @@ void ExN07PhysicsList::ConstructBaryons() void ExN07PhysicsList::ConstructProcess() { AddTransportation(); - ConstructEM(); ConstructGeneral(); + ConstructEM(); } #include "G4ComptonScattering.hh" @@ -133,6 +133,7 @@ void ExN07PhysicsList::ConstructProcess() void ExN07PhysicsList::ConstructEM() { + G4bool displacementFlg = true; // for multiple scattering theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); @@ -147,7 +148,8 @@ void ExN07PhysicsList::ConstructEM() } else if (particleName == "e-") { //electron - G4VProcess* theeminusMultipleScattering = new G4MultipleScattering(); + G4MultipleScattering* theeminusMultipleScattering = new G4MultipleScattering(); + theeminusMultipleScattering->SetLateralDisplasmentFlag(displacementFlg); G4VProcess* theeminusIonisation = new G4eIonisation(); G4VProcess* theeminusBremsstrahlung = new G4eBremsstrahlung(); // @@ -168,7 +170,8 @@ void ExN07PhysicsList::ConstructEM() } else if (particleName == "e+") { //positron - G4VProcess* theeplusMultipleScattering = new G4MultipleScattering(); + G4MultipleScattering* theeplusMultipleScattering = new G4MultipleScattering(); + theeplusMultipleScattering->SetLateralDisplasmentFlag(displacementFlg); G4VProcess* theeplusIonisation = new G4eIonisation(); G4VProcess* theeplusBremsstrahlung = new G4eBremsstrahlung(); G4VProcess* theeplusAnnihilation = new G4eplusAnnihilation(); @@ -196,7 +199,8 @@ void ExN07PhysicsList::ConstructEM() } else if( particleName == "mu+" || particleName == "mu-" ) { //muon - G4VProcess* aMultipleScattering = new G4MultipleScattering(); + G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); + aMultipleScattering->SetLateralDisplasmentFlag(displacementFlg); G4VProcess* aBremsstrahlung = new G4MuBremsstrahlung(); G4VProcess* aPairProduction = new G4MuPairProduction(); G4VProcess* anIonisation = new G4MuIonisation(); @@ -224,7 +228,8 @@ void ExN07PhysicsList::ConstructEM() (particle->GetPDGCharge() != 0.0) && (particle->GetParticleName() != "chargedgeantino")) { // all others charged particles except geantino - G4VProcess* aMultipleScattering = new G4MultipleScattering(); + G4MultipleScattering* aMultipleScattering = new G4MultipleScattering(); + aMultipleScattering->SetLateralDisplasmentFlag(displacementFlg); G4VProcess* anIonisation = new G4hIonisation(); // // add processes @@ -243,21 +248,29 @@ void ExN07PhysicsList::ConstructEM() } #include "G4Decay.hh" +#include "G4ParallelWorldScoringProcess.hh" void ExN07PhysicsList::ConstructGeneral() { - // Add Decay Process - G4Decay* theDecayProcess = new G4Decay(); + // Add Decay Process and Parallel world Scoring Process + G4Decay* theDecayProcess = new G4Decay(); + G4ParallelWorldScoringProcess* theParallelWorldScoringProcess + = new G4ParallelWorldScoringProcess("ParaWorldScoringProc"); + theParallelWorldScoringProcess->SetParallelWorld("ParallelScoringWorld"); + theParticleIterator->reset(); while( (*theParticleIterator)() ){ G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); if (theDecayProcess->IsApplicable(*particle)) { pmanager ->AddProcess(theDecayProcess); - // set ordering for PostStepDoIt and AtRestDoIt pmanager ->SetProcessOrdering(theDecayProcess, idxPostStep); pmanager ->SetProcessOrdering(theDecayProcess, idxAtRest); } + pmanager->AddProcess(theParallelWorldScoringProcess); + pmanager->SetProcessOrderingToLast(theParallelWorldScoringProcess, idxAtRest); + pmanager->SetProcessOrdering(theParallelWorldScoringProcess, idxAlongStep, 1); + pmanager->SetProcessOrderingToLast(theParallelWorldScoringProcess, idxPostStep); } } diff --git a/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc b/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc index 627ff1e1c2..f6c8b5fd75 100644 --- a/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc +++ b/examples/novice/N07/src/ExN07PrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: ExN07PrimaryGeneratorAction.cc,v 1.3 2006/06/29 17:55:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN07PrimaryGeneratorAction.hh" diff --git a/examples/novice/N07/src/ExN07Run.cc b/examples/novice/N07/src/ExN07Run.cc index bbc0333358..91dc1d7bef 100644 --- a/examples/novice/N07/src/ExN07Run.cc +++ b/examples/novice/N07/src/ExN07Run.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN07Run.cc,v 1.5 2006/06/29 17:55:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN07Run.cc,v 1.6 2007/05/04 01:49:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN07Run.hh" @@ -38,20 +38,30 @@ ExN07Run::ExN07Run() G4String detName[6] = {"Calor-A_abs","Calor-A_gap","Calor-B_abs","Calor-B_gap","Calor-C_abs","Calor-C_gap"}; G4String primNameSum[6] = {"eDep","nGamma","nElectron","nPositron","trackLength","nStep"}; G4String primNameMin[3] = {"minEkinGamma","minEkinElectron","minEkinPositron"}; + G4String paraName[3] = {"Calor-AP_para","Calor-BP_para","Calor-CP_para"}; G4SDManager* SDMan = G4SDManager::GetSDMpointer(); G4String fullName; - for(size_t i=0;i<6;i++) + size_t i,j; + for(i=0;i<6;i++) { - for(size_t j=0;j<6;j++) + for(j=0;j<6;j++) { fullName = detName[i]+"/"+primNameSum[j]; colIDSum[i][j] = SDMan->GetCollectionID(fullName); } - for(size_t k=0;k<3;k++) + for(j=0;j<3;j++) { - fullName = detName[i]+"/"+primNameMin[k]; - colIDMin[i][k] = SDMan->GetCollectionID(fullName); + fullName = detName[i]+"/"+primNameMin[j]; + colIDMin[i][j] = SDMan->GetCollectionID(fullName); + } + } + for(i=0;i<3;i++) + { + for(j=0;j<6;j++) + { + fullName = paraName[i]+"/"+primNameSum[j]; + colIDPara[i][j] = SDMan->GetCollectionID(fullName); } } } @@ -64,27 +74,36 @@ void ExN07Run::RecordEvent(const G4Event* evt) G4HCofThisEvent* HCE = evt->GetHCofThisEvent(); if(!HCE) return; numberOfEvent++; - for(size_t i=0;i<6;i++) + size_t i,j; + for(i=0;i<6;i++) { - for(size_t j=0;j<6;j++) + for(j=0;j<6;j++) { G4THitsMap* evtMap = (G4THitsMap*)(HCE->GetHC(colIDSum[i][j])); mapSum[i][j] += *evtMap; } - for(size_t k=0;k<3;k++) + for(j=0;j<3;j++) { - G4THitsMap* evtMap = (G4THitsMap*)(HCE->GetHC(colIDMin[i][k])); + G4THitsMap* evtMap = (G4THitsMap*)(HCE->GetHC(colIDMin[i][j])); std::map::iterator itr = evtMap->GetMap()->begin(); for(; itr != evtMap->GetMap()->end(); itr++) { G4int key = (itr->first); G4double val = *(itr->second); - G4double* mapP = mapMin[i][k][key]; + G4double* mapP = mapMin[i][j][key]; if( mapP && (val>*mapP) ) continue; - mapMin[i][k].set(key,val); + mapMin[i][j].set(key,val); } } } + for(i=0;i<3;i++) + { + for(j=0;j<6;j++) + { + G4THitsMap* evtMap = (G4THitsMap*)(HCE->GetHC(colIDPara[i][j])); + mapPara[i][j] += *evtMap; + } + } } G4double ExN07Run::GetTotal(const G4THitsMap &map) const diff --git a/examples/novice/N07/src/ExN07RunAction.cc b/examples/novice/N07/src/ExN07RunAction.cc index 9de2bc091d..dc0e6e3a12 100644 --- a/examples/novice/N07/src/ExN07RunAction.cc +++ b/examples/novice/N07/src/ExN07RunAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: ExN07RunAction.cc,v 1.6 2006/11/04 19:23:07 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: ExN07RunAction.cc,v 1.7 2007/05/04 01:49:28 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN07RunAction.hh" @@ -113,6 +113,18 @@ void ExN07RunAction::EndOfRunAction(const G4Run* aRun) << " Gap " << (theRun->GetNStep(ih2))/nEvt << G4endl; G4cout + << "------------------------------------------------------------" << G4endl; + G4cout << "Scores in parallel geometry" << G4endl; + G4cout << "layer eDep/evt nGamma/evt nElec/evt nPosi/evt stepLen/evt nStep/evt" + << G4endl; + for(size_t k=0;k<20;k++) + { + G4cout << " " << k; + for(size_t j=0;j<6;j++) + { G4cout << " " << (theRun->GetParaValue(i,j,k))/nEvt; } + G4cout << G4endl; + } + G4cout << "############################################################" << G4endl; } ExN07SteppingVerbose* sv = (ExN07SteppingVerbose*)(G4VSteppingVerbose::GetInstance()); diff --git a/examples/novice/N07/src/ExN07SteppingVerbose.cc b/examples/novice/N07/src/ExN07SteppingVerbose.cc index a9495b1dee..70ead3c057 100644 --- a/examples/novice/N07/src/ExN07SteppingVerbose.cc +++ b/examples/novice/N07/src/ExN07SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: ExN07SteppingVerbose.cc,v 1.1 2006/11/04 19:23:07 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "ExN07SteppingVerbose.hh" diff --git a/examples/novice/N07/vis.mac b/examples/novice/N07/vis.mac index 415486df54..60e67f5a87 100644 --- a/examples/novice/N07/vis.mac +++ b/examples/novice/N07/vis.mac @@ -1,12 +1,4 @@ # -# Macro file for the initialization phase of "exampleN02.cc" -# when runing in interactive mode -# -# Sets some default verbose -# -/control/verbose 2 -/run/verbose 2 -# # create empty scene # /vis/scene/create @@ -18,8 +10,13 @@ # # draw scene # -/vis/viewer/set/viewpointThetaPhi 90 180 deg -/vis/viewer/zoom 1.4 +/vis/drawVolume worlds +/vis/viewer/set/viewpointThetaPhi 105 165 deg +# Set specific colur for identification +/vis/geometry/set/colour Calor-AP_LayerLog ! yellow +/vis/geometry/set/colour Calor-BP_LayerLog ! yellow +/vis/geometry/set/colour Calor-CP_LayerLog ! yellow +/vis/viewer/zoom 3.2 /vis/viewer/flush # # for drawing the tracks diff --git a/source/GNUmakefile b/source/GNUmakefile index a655b18669..2a84b2077d 100644 --- a/source/GNUmakefile +++ b/source/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.86 2006/12/14 10:39:45 gcosmo Exp $ +# $Id: GNUmakefile,v 1.87 2007/05/12 15:47:21 gcosmo Exp $ # ----------------------------------------------------------------- # "gmake" makes default libraries for each subdomain. # "gmake global" makes global libraries for each subdomain. @@ -20,12 +20,9 @@ endif include $(G4INSTALL)/config/architecture.gmk SUBDIR1 = global intercoms graphics_reps materials -SUBDIR2 = geometry particles track digits_hits processes -SUBDIR2 += parameterisations tracking event run readout +SUBDIR2 = geometry particles track digits_hits processes parameterisations +SUBDIR2 += tracking event run error_propagation readout physics_lists SUBDIR3 = persistency interfaces visualization -ifeq ($(G4LIB_BUILD_LISTS),1) -SUBDIR3 += physics_lists -endif SUBDIR4 = g3tog4 @@ -152,7 +149,7 @@ endif banner: @$(ECHO) "*************************************************************" - @$(ECHO) " Installation Geant4 version $$Name: geant4-08-03 $ " + @$(ECHO) " Installation Geant4 version $$Name: geant4-09-00 $ " @$(ECHO) " Copyright (C) 1994-2007 Geant4 Collaboration " @$(ECHO) "*************************************************************" diff --git a/source/digits_hits/History b/source/digits_hits/History index 64d58031a4..56c8dc3448 100644 --- a/source/digits_hits/History +++ b/source/digits_hits/History @@ -1,4 +1,4 @@ -$Id: History,v 1.19 2007/04/20 07:53:32 asaim Exp $ +$Id: History,v 1.25 2007/06/05 16:46:55 ahoward Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,25 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +June 4, 2007, A.Howard (digits_hits-V08-03-04) +- Removed G4PSPopulation class to obviate circular dependency + +June 4, 2007, A.Howard (digits_hits-V08-03-03) +- Put back some classes required for scoring of geometrical biasing cells: + G4CellScoreValues, G4CellScoreComposer + +May 31, 2007, A.Howard (digits_hits-V08-03-02) +- Removed classes associated with old biasing/scoring scheme in detector: + G4CellScoreComposer, G4CellScoreValues, G4CellStoreScorer +- Files remain on the HEAD for testing purposes + +May 17, 2007, M.Asai (digits_hits-V08-03-01) +- Introducing new scorers for event biasing options. + +May 11, 2007, G.Cosmo (digits_hits-V08-03-00) +- Make use of G4GeometryTolerance instead of kCarTolerance constant. +- Requires tag "global-V08-03-00" and related set. + Apr 20, 2007, M.Asai (digits_hits-V08-02-00) - Fix the way of counting outward steps in flux scorers. diff --git a/source/digits_hits/detector/History b/source/digits_hits/detector/History index 75b7626122..70b2d9f7a0 100644 --- a/source/digits_hits/detector/History +++ b/source/digits_hits/detector/History @@ -1,4 +1,4 @@ -$Id: History,v 1.4 2004/07/01 09:19:11 gcosmo Exp $ +$Id: History,v 1.6 2007/06/04 13:17:18 ahoward Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,17 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +June 4, 2007, A.Howard +- Put back some classes required for scoring of geometrical biasing cells: + G4CellScoreValues, G4CellScoreComposer + (in module tag: "digits_hits-V08-03-03") + +May 31, 2007, A.Howard +- Removed classes associated with old biasing/scoring scheme: + G4CellScoreComposer, G4CellScoreValues, G4CellStoreScorer + (in module tag: "digits_hits-V08-03-02") +- Files remain on the HEAD for testing purposes + Jul, 1st 2004 G.Cosmo - G4CellScoreComposer.cc, G4TrackLogger.cc: trivial fix for extra semicolons, required for porting on gcc-3.4.0 compiler. diff --git a/source/digits_hits/detector/include/G4CellScoreComposer.hh b/source/digits_hits/detector/include/G4CellScoreComposer.hh index 7e5f66b9c4..351730870c 100644 --- a/source/digits_hits/detector/include/G4CellScoreComposer.hh +++ b/source/digits_hits/detector/include/G4CellScoreComposer.hh @@ -25,7 +25,7 @@ // // // $Id: G4CellScoreComposer.hh,v 1.2 2006/06/29 18:05:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4CellScoreComposer diff --git a/source/digits_hits/detector/include/G4CellScoreValues.hh b/source/digits_hits/detector/include/G4CellScoreValues.hh index e13b57e5bf..9ee92d41ec 100644 --- a/source/digits_hits/detector/include/G4CellScoreValues.hh +++ b/source/digits_hits/detector/include/G4CellScoreValues.hh @@ -25,7 +25,7 @@ // // // $Id: G4CellScoreValues.hh,v 1.2 2006/06/29 18:05:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4CellScoreValues diff --git a/source/digits_hits/detector/include/G4CellStoreScorer.hh b/source/digits_hits/detector/include/G4CellStoreScorer.hh deleted file mode 100644 index 09acb7c6bb..0000000000 --- a/source/digits_hits/detector/include/G4CellStoreScorer.hh +++ /dev/null @@ -1,76 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: G4CellStoreScorer.hh,v 1.2 2006/06/29 18:05:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4CellStoreScorer -// -// Class description: -// -// This class invokes a G4VCellScorer according to the current -// step: -// - pre and post step are in a volume -> chose post gCell (cell) -// and call ScoreInVolume -// - cross boundary between gCells (cells) -// call ScoreAnExtingStep on the pre cell -// and ScoreAnEnteringStep on the post cell. -// - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -// - -#ifndef G4CellStoreScorer_hh -#define G4CellStoreScorer_hh G4CellStoreScorer_hh - - -#include "G4VScorer.hh" - -class G4VCellScorerStore; -class G4Step; -class G4GeometryCellStep; -class G4GeometryCell; - -class G4CellStoreScorer : public G4VScorer -{ -public: // with description - explicit G4CellStoreScorer(G4VCellScorerStore &csc); - // take a G4VCellScorerStore created by the user to score - // the cells contained in it. - - virtual ~G4CellStoreScorer(); - virtual void Score(const G4Step &aStep, const G4GeometryCellStep &aPStep); - // called to score a track for every step - -private: - G4VCellScorerStore &fCellScorerStore; -}; - - - -#endif - diff --git a/source/digits_hits/detector/include/G4CollectionNameVector.hh b/source/digits_hits/detector/include/G4CollectionNameVector.hh index 095c7af06a..4f658fa1a2 100644 --- a/source/digits_hits/detector/include/G4CollectionNameVector.hh +++ b/source/digits_hits/detector/include/G4CollectionNameVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4CollectionNameVector.hh,v 1.2 2006/06/29 18:05:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4CollectionNameVector_H diff --git a/source/digits_hits/detector/include/G4HCtable.hh b/source/digits_hits/detector/include/G4HCtable.hh index dda225f2aa..97e830d7bf 100644 --- a/source/digits_hits/detector/include/G4HCtable.hh +++ b/source/digits_hits/detector/include/G4HCtable.hh @@ -25,7 +25,7 @@ // // // $Id: G4HCtable.hh,v 1.3 2006/06/29 18:05:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4HCtable_H diff --git a/source/digits_hits/detector/include/G4MultiFunctionalDetector.hh b/source/digits_hits/detector/include/G4MultiFunctionalDetector.hh index bcae0b5f5e..1b20f4279d 100644 --- a/source/digits_hits/detector/include/G4MultiFunctionalDetector.hh +++ b/source/digits_hits/detector/include/G4MultiFunctionalDetector.hh @@ -25,7 +25,7 @@ // // // $Id: G4MultiFunctionalDetector.hh,v 1.3 2006/06/29 18:05:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4MultiFunctionalDetector_h diff --git a/source/digits_hits/detector/include/G4SDManager.hh b/source/digits_hits/detector/include/G4SDManager.hh index f2091d766e..10af60289a 100644 --- a/source/digits_hits/detector/include/G4SDManager.hh +++ b/source/digits_hits/detector/include/G4SDManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4SDManager.hh,v 1.4 2006/06/29 18:05:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4SDManager_h diff --git a/source/digits_hits/detector/include/G4SDStructure.hh b/source/digits_hits/detector/include/G4SDStructure.hh index 67b052e35f..7c90472b37 100644 --- a/source/digits_hits/detector/include/G4SDStructure.hh +++ b/source/digits_hits/detector/include/G4SDStructure.hh @@ -25,7 +25,7 @@ // // // $Id: G4SDStructure.hh,v 1.3 2006/06/29 18:05:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4SDStructure_h diff --git a/source/digits_hits/detector/include/G4SDmessenger.hh b/source/digits_hits/detector/include/G4SDmessenger.hh index 034b17f1e9..6b9376ec95 100644 --- a/source/digits_hits/detector/include/G4SDmessenger.hh +++ b/source/digits_hits/detector/include/G4SDmessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4SDmessenger.hh,v 1.2 2006/06/29 18:05:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4SDmessenger_h diff --git a/source/digits_hits/detector/include/G4SensitiveVolumeList.hh b/source/digits_hits/detector/include/G4SensitiveVolumeList.hh index 0e8dbf0d94..2aa43d22ad 100644 --- a/source/digits_hits/detector/include/G4SensitiveVolumeList.hh +++ b/source/digits_hits/detector/include/G4SensitiveVolumeList.hh @@ -25,7 +25,7 @@ // // // $Id: G4SensitiveVolumeList.hh,v 1.2 2006/06/29 18:05:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class header file --- Copyright CERN 1996 diff --git a/source/digits_hits/detector/include/G4SensitiveVolumeList.icc b/source/digits_hits/detector/include/G4SensitiveVolumeList.icc index cd6d13b72e..c6efd30c8e 100644 --- a/source/digits_hits/detector/include/G4SensitiveVolumeList.icc +++ b/source/digits_hits/detector/include/G4SensitiveVolumeList.icc @@ -25,7 +25,7 @@ // // // $Id: G4SensitiveVolumeList.icc,v 1.2 2006/06/29 18:05:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------- // Inline functions of GEANT 4 class header file. diff --git a/source/digits_hits/detector/include/G4TrackLogger.hh b/source/digits_hits/detector/include/G4TrackLogger.hh index 015913c4ae..48d7e8c225 100644 --- a/source/digits_hits/detector/include/G4TrackLogger.hh +++ b/source/digits_hits/detector/include/G4TrackLogger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrackLogger.hh,v 1.2 2006/06/29 18:05:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4TrackLogger diff --git a/source/digits_hits/detector/include/G4VPrimitiveScorer.hh b/source/digits_hits/detector/include/G4VPrimitiveScorer.hh index 0a814be286..72090b11f7 100644 --- a/source/digits_hits/detector/include/G4VPrimitiveScorer.hh +++ b/source/digits_hits/detector/include/G4VPrimitiveScorer.hh @@ -25,7 +25,7 @@ // // // $Id: G4VPrimitiveScorer.hh,v 1.2 2006/06/29 18:05:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VPrimitiveScorer_h diff --git a/source/digits_hits/detector/include/G4VReadOutGeometry.hh b/source/digits_hits/detector/include/G4VReadOutGeometry.hh index e0b4b62fba..cab408b1bb 100644 --- a/source/digits_hits/detector/include/G4VReadOutGeometry.hh +++ b/source/digits_hits/detector/include/G4VReadOutGeometry.hh @@ -25,7 +25,7 @@ // // // $Id: G4VReadOutGeometry.hh,v 1.2 2006/06/29 18:05:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ diff --git a/source/digits_hits/detector/include/G4VSDFilter.hh b/source/digits_hits/detector/include/G4VSDFilter.hh index 1f87839eb2..68790d04da 100644 --- a/source/digits_hits/detector/include/G4VSDFilter.hh +++ b/source/digits_hits/detector/include/G4VSDFilter.hh @@ -25,7 +25,7 @@ // // // $Id: G4VSDFilter.hh,v 1.2 2006/06/29 18:05:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VSDFilter_h diff --git a/source/digits_hits/detector/include/G4VSensitiveDetector.hh b/source/digits_hits/detector/include/G4VSensitiveDetector.hh index f4b7c5fef2..5468a9b7c8 100644 --- a/source/digits_hits/detector/include/G4VSensitiveDetector.hh +++ b/source/digits_hits/detector/include/G4VSensitiveDetector.hh @@ -25,7 +25,7 @@ // // // $Id: G4VSensitiveDetector.hh,v 1.4 2006/06/29 18:05:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VSensitiveDetector_h diff --git a/source/digits_hits/detector/src/G4CellScoreComposer.cc b/source/digits_hits/detector/src/G4CellScoreComposer.cc index 1a638dc91b..70bfb3fda2 100644 --- a/source/digits_hits/detector/src/G4CellScoreComposer.cc +++ b/source/digits_hits/detector/src/G4CellScoreComposer.cc @@ -25,7 +25,7 @@ // // // $Id: G4CellScoreComposer.cc,v 1.3 2006/06/29 18:05:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/digits_hits/detector/src/G4CellStoreScorer.cc b/source/digits_hits/detector/src/G4CellStoreScorer.cc deleted file mode 100644 index e8d2690d09..0000000000 --- a/source/digits_hits/detector/src/G4CellStoreScorer.cc +++ /dev/null @@ -1,90 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4CellStoreScorer.cc,v 1.2 2006/06/29 18:05:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4CellStoreScorer -// -// ---------------------------------------------------------------------- - -#include "G4CellStoreScorer.hh" - -#include "G4VCellScorer.hh" - -#include "G4Track.hh" -#include "G4GeometryCell.hh" -#include "G4Step.hh" -#include "G4GeometryCellStep.hh" -#include "G4VCellScorerStore.hh" - -G4CellStoreScorer::G4CellStoreScorer(G4VCellScorerStore &csc) : - fCellScorerStore(csc) -{} - -G4CellStoreScorer::~G4CellStoreScorer() -{} - - -void G4CellStoreScorer:: -Score(const G4Step &aStep, const G4GeometryCellStep &aPstep){ - G4Track *track = 0; - track = aStep.GetTrack(); - - if (track->GetTrackStatus()==fStopAndKill) { - G4cout << "G4CellStoreScorer::Score: track status is StopAndKill -> do nothing" << G4endl; - } - else { - // chose the cells to be scored - G4GeometryCell pre_gCell(aPstep.GetPreGeometryCell()); - G4GeometryCell post_gCell(aPstep.GetPostGeometryCell()); - G4VCellScorer *post_cs = 0; - post_cs = fCellScorerStore.GetCellScore(post_gCell); - if (aPstep.GetCrossBoundary()) { - // entering post_gCell - if (post_cs) { - post_cs->ScoreAnEnteringStep(aStep, post_gCell); - } - // exiting pre_gCell - G4VCellScorer *pre_cs = 0; - pre_cs = fCellScorerStore.GetCellScore(pre_gCell); - if (pre_cs) { - pre_cs->ScoreAnExitingStep(aStep, pre_gCell); - } - } - else { - // step in post_gCell - if (post_cs) { - post_cs->ScoreAnInVolumeStep(aStep, post_gCell); - } - } - } - -} - diff --git a/source/digits_hits/detector/src/G4HCtable.cc b/source/digits_hits/detector/src/G4HCtable.cc index 6e64964585..373c31d2fe 100644 --- a/source/digits_hits/detector/src/G4HCtable.cc +++ b/source/digits_hits/detector/src/G4HCtable.cc @@ -25,7 +25,7 @@ // // // $Id: G4HCtable.cc,v 1.4 2006/06/29 18:05:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4HCtable.hh" diff --git a/source/digits_hits/detector/src/G4MultiFunctionalDetector.cc b/source/digits_hits/detector/src/G4MultiFunctionalDetector.cc index 1920285207..3115cdfaed 100644 --- a/source/digits_hits/detector/src/G4MultiFunctionalDetector.cc +++ b/source/digits_hits/detector/src/G4MultiFunctionalDetector.cc @@ -25,7 +25,7 @@ // // // $Id: G4MultiFunctionalDetector.cc,v 1.4 2006/06/29 18:05:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4MultiFunctionalDetector #include "G4MultiFunctionalDetector.hh" diff --git a/source/digits_hits/detector/src/G4SDManager.cc b/source/digits_hits/detector/src/G4SDManager.cc index 020dcb144e..df02a8786c 100644 --- a/source/digits_hits/detector/src/G4SDManager.cc +++ b/source/digits_hits/detector/src/G4SDManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4SDManager.cc,v 1.4 2006/06/29 18:05:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4SDManager.hh" diff --git a/source/digits_hits/detector/src/G4SDStructure.cc b/source/digits_hits/detector/src/G4SDStructure.cc index c19984fd95..7522a5b94a 100644 --- a/source/digits_hits/detector/src/G4SDStructure.cc +++ b/source/digits_hits/detector/src/G4SDStructure.cc @@ -25,7 +25,7 @@ // // // $Id: G4SDStructure.cc,v 1.3 2006/06/29 18:05:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4SDStructure diff --git a/source/digits_hits/detector/src/G4SDmessenger.cc b/source/digits_hits/detector/src/G4SDmessenger.cc index 83834f0558..20e2b2857d 100644 --- a/source/digits_hits/detector/src/G4SDmessenger.cc +++ b/source/digits_hits/detector/src/G4SDmessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4SDmessenger.cc,v 1.2 2006/06/29 18:05:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // --------------------------------------------------------------------- diff --git a/source/digits_hits/detector/src/G4SensitiveVolumeList.cc b/source/digits_hits/detector/src/G4SensitiveVolumeList.cc index b269772b05..2724f21862 100644 --- a/source/digits_hits/detector/src/G4SensitiveVolumeList.cc +++ b/source/digits_hits/detector/src/G4SensitiveVolumeList.cc @@ -25,7 +25,7 @@ // // // $Id: G4SensitiveVolumeList.cc,v 1.2 2006/06/29 18:05:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/digits_hits/detector/src/G4TrackLogger.cc b/source/digits_hits/detector/src/G4TrackLogger.cc index b5501b0f3a..17767a6deb 100644 --- a/source/digits_hits/detector/src/G4TrackLogger.cc +++ b/source/digits_hits/detector/src/G4TrackLogger.cc @@ -25,7 +25,7 @@ // // // $Id: G4TrackLogger.cc,v 1.3 2006/06/29 18:06:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/digits_hits/detector/src/G4VPrimitiveScorer.cc b/source/digits_hits/detector/src/G4VPrimitiveScorer.cc index d8a9d8a7a7..6a1dbf13c2 100644 --- a/source/digits_hits/detector/src/G4VPrimitiveScorer.cc +++ b/source/digits_hits/detector/src/G4VPrimitiveScorer.cc @@ -25,7 +25,7 @@ // // // $Id: G4VPrimitiveScorer.cc,v 1.2 2006/06/29 18:06:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VPrimitiveScorer #include "G4VPrimitiveScorer.hh" diff --git a/source/digits_hits/detector/src/G4VReadOutGeometry.cc b/source/digits_hits/detector/src/G4VReadOutGeometry.cc index 1b479ccd05..2a6a819120 100644 --- a/source/digits_hits/detector/src/G4VReadOutGeometry.cc +++ b/source/digits_hits/detector/src/G4VReadOutGeometry.cc @@ -25,7 +25,7 @@ // // // $Id: G4VReadOutGeometry.cc,v 1.2 2006/06/29 18:06:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4VReadOutGeometry.hh" diff --git a/source/digits_hits/detector/src/G4VSDFilter.cc b/source/digits_hits/detector/src/G4VSDFilter.cc index 0d81ba92f1..51b977b590 100644 --- a/source/digits_hits/detector/src/G4VSDFilter.cc +++ b/source/digits_hits/detector/src/G4VSDFilter.cc @@ -25,7 +25,7 @@ // // // $Id: G4VSDFilter.cc,v 1.2 2006/06/29 18:06:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VSensitiveDetector #include "G4VSDFilter.hh" diff --git a/source/digits_hits/detector/src/G4VSensitiveDetector.cc b/source/digits_hits/detector/src/G4VSensitiveDetector.cc index 612e1617df..2e5b44a13d 100644 --- a/source/digits_hits/detector/src/G4VSensitiveDetector.cc +++ b/source/digits_hits/detector/src/G4VSensitiveDetector.cc @@ -25,7 +25,7 @@ // // // $Id: G4VSensitiveDetector.cc,v 1.3 2006/06/29 18:06:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VSensitiveDetector #include "G4VSensitiveDetector.hh" diff --git a/source/digits_hits/digits/include/G4DCofThisEvent.hh b/source/digits_hits/digits/include/G4DCofThisEvent.hh index 1230548645..c54e1bcf88 100644 --- a/source/digits_hits/digits/include/G4DCofThisEvent.hh +++ b/source/digits_hits/digits/include/G4DCofThisEvent.hh @@ -25,7 +25,7 @@ // // // $Id: G4DCofThisEvent.hh,v 1.5 2006/06/29 18:06:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4DCofThisEvent_h diff --git a/source/digits_hits/digits/include/G4TDigiCollection.hh b/source/digits_hits/digits/include/G4TDigiCollection.hh index e7056b2403..92bc036d75 100644 --- a/source/digits_hits/digits/include/G4TDigiCollection.hh +++ b/source/digits_hits/digits/include/G4TDigiCollection.hh @@ -25,7 +25,7 @@ // // // $Id: G4TDigiCollection.hh,v 1.6 2006/06/29 18:06:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4TDigiCollection_h diff --git a/source/digits_hits/digits/include/G4VDigi.hh b/source/digits_hits/digits/include/G4VDigi.hh index 7a7e5dda33..0f14ac4ba6 100644 --- a/source/digits_hits/digits/include/G4VDigi.hh +++ b/source/digits_hits/digits/include/G4VDigi.hh @@ -25,7 +25,7 @@ // // // $Id: G4VDigi.hh,v 1.4 2006/06/29 18:06:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VDigi_h diff --git a/source/digits_hits/digits/include/G4VDigiCollection.hh b/source/digits_hits/digits/include/G4VDigiCollection.hh index 07c8f51bb2..e0b719ea31 100644 --- a/source/digits_hits/digits/include/G4VDigiCollection.hh +++ b/source/digits_hits/digits/include/G4VDigiCollection.hh @@ -25,7 +25,7 @@ // // // $Id: G4VDigiCollection.hh,v 1.3 2006/06/29 18:06:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VDigiCollection_h diff --git a/source/digits_hits/digits/src/G4DCofThisEvent.cc b/source/digits_hits/digits/src/G4DCofThisEvent.cc index 6734497148..91716584a1 100644 --- a/source/digits_hits/digits/src/G4DCofThisEvent.cc +++ b/source/digits_hits/digits/src/G4DCofThisEvent.cc @@ -25,7 +25,7 @@ // // // $Id: G4DCofThisEvent.cc,v 1.4 2006/06/29 18:06:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4DCofThisEvent.hh" diff --git a/source/digits_hits/digits/src/G4TDigiCollection.cc b/source/digits_hits/digits/src/G4TDigiCollection.cc index ff88960d2f..f64afb4c12 100644 --- a/source/digits_hits/digits/src/G4TDigiCollection.cc +++ b/source/digits_hits/digits/src/G4TDigiCollection.cc @@ -25,7 +25,7 @@ // // // $Id: G4TDigiCollection.cc,v 1.4 2006/06/29 18:06:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4TDigiCollection.hh" diff --git a/source/digits_hits/digits/src/G4VDigi.cc b/source/digits_hits/digits/src/G4VDigi.cc index 7f215666b4..a96b222677 100644 --- a/source/digits_hits/digits/src/G4VDigi.cc +++ b/source/digits_hits/digits/src/G4VDigi.cc @@ -25,7 +25,7 @@ // // // $Id: G4VDigi.cc,v 1.2 2006/06/29 18:06:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VDigi diff --git a/source/digits_hits/digits/src/G4VDigiCollection.cc b/source/digits_hits/digits/src/G4VDigiCollection.cc index 8480ae4a2c..88408c4524 100644 --- a/source/digits_hits/digits/src/G4VDigiCollection.cc +++ b/source/digits_hits/digits/src/G4VDigiCollection.cc @@ -25,7 +25,7 @@ // // // $Id: G4VDigiCollection.cc,v 1.2 2006/06/29 18:06:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VDigiCollection diff --git a/source/digits_hits/hits/include/G4HCofThisEvent.hh b/source/digits_hits/hits/include/G4HCofThisEvent.hh index 7106c1f7c5..670c12327b 100644 --- a/source/digits_hits/hits/include/G4HCofThisEvent.hh +++ b/source/digits_hits/hits/include/G4HCofThisEvent.hh @@ -25,7 +25,7 @@ // // // $Id: G4HCofThisEvent.hh,v 1.5 2006/06/29 18:06:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4HCofThisEvent_h diff --git a/source/digits_hits/hits/include/G4THitsCollection.hh b/source/digits_hits/hits/include/G4THitsCollection.hh index abee1584bc..2ebb951835 100644 --- a/source/digits_hits/hits/include/G4THitsCollection.hh +++ b/source/digits_hits/hits/include/G4THitsCollection.hh @@ -25,7 +25,7 @@ // // // $Id: G4THitsCollection.hh,v 1.5 2006/06/29 18:06:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4THitsCollection_h diff --git a/source/digits_hits/hits/include/G4THitsMap.hh b/source/digits_hits/hits/include/G4THitsMap.hh index 1d7538c820..c2941db158 100644 --- a/source/digits_hits/hits/include/G4THitsMap.hh +++ b/source/digits_hits/hits/include/G4THitsMap.hh @@ -25,7 +25,7 @@ // // // $Id: G4THitsMap.hh,v 1.6 2006/06/29 18:06:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4THitsMap_h #define G4THitsMap_h 1 diff --git a/source/digits_hits/hits/include/G4VHit.hh b/source/digits_hits/hits/include/G4VHit.hh index e631be0c3d..c731f2e397 100644 --- a/source/digits_hits/hits/include/G4VHit.hh +++ b/source/digits_hits/hits/include/G4VHit.hh @@ -25,7 +25,7 @@ // // // $Id: G4VHit.hh,v 1.3 2006/06/29 18:06:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VHit_h diff --git a/source/digits_hits/hits/include/G4VHitsCollection.hh b/source/digits_hits/hits/include/G4VHitsCollection.hh index f9d362633b..f8b579859b 100644 --- a/source/digits_hits/hits/include/G4VHitsCollection.hh +++ b/source/digits_hits/hits/include/G4VHitsCollection.hh @@ -25,7 +25,7 @@ // // // $Id: G4VHitsCollection.hh,v 1.2 2006/06/29 18:06:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VHitsCollection_h diff --git a/source/digits_hits/hits/src/G4HCofThisEvent.cc b/source/digits_hits/hits/src/G4HCofThisEvent.cc index ffeee8c7df..8afffc7240 100644 --- a/source/digits_hits/hits/src/G4HCofThisEvent.cc +++ b/source/digits_hits/hits/src/G4HCofThisEvent.cc @@ -25,7 +25,7 @@ // // // $Id: G4HCofThisEvent.cc,v 1.4 2006/06/29 18:06:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4HCofThisEvent.hh" diff --git a/source/digits_hits/hits/src/G4THitsCollection.cc b/source/digits_hits/hits/src/G4THitsCollection.cc index 61bee84fbb..d405514c56 100644 --- a/source/digits_hits/hits/src/G4THitsCollection.cc +++ b/source/digits_hits/hits/src/G4THitsCollection.cc @@ -25,7 +25,7 @@ // // // $Id: G4THitsCollection.cc,v 1.4 2006/06/29 18:06:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4THitsCollection.hh" diff --git a/source/digits_hits/hits/src/G4VHit.cc b/source/digits_hits/hits/src/G4VHit.cc index c907029cf2..45a188d6cc 100644 --- a/source/digits_hits/hits/src/G4VHit.cc +++ b/source/digits_hits/hits/src/G4VHit.cc @@ -25,7 +25,7 @@ // // // $Id: G4VHit.cc,v 1.2 2006/06/29 18:06:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VHit diff --git a/source/digits_hits/hits/src/G4VHitsCollection.cc b/source/digits_hits/hits/src/G4VHitsCollection.cc index fe3ce68f87..c30356c841 100644 --- a/source/digits_hits/hits/src/G4VHitsCollection.cc +++ b/source/digits_hits/hits/src/G4VHitsCollection.cc @@ -25,7 +25,7 @@ // // // $Id: G4VHitsCollection.cc,v 1.2 2006/06/29 18:06:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VHitsCollection diff --git a/source/digits_hits/utils/GNUmakefile b/source/digits_hits/utils/GNUmakefile index 758036b6ca..dfe579323a 100644 --- a/source/digits_hits/utils/GNUmakefile +++ b/source/digits_hits/utils/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2005/11/16 23:24:08 asaim Exp $ +# $Id: GNUmakefile,v 1.4 2007/06/05 14:26:53 asaim Exp $ # -------------------------------------------------------------- # GNUmakefile for digits+hits library. Makoto Asai, 1/11/96. # -------------------------------------------------------------- @@ -21,10 +21,12 @@ CPPFLAGS += \ -I$(G4BASE)/materials/include \ -I$(G4BASE)/geometry/management/include \ -I$(G4BASE)/geometry/volumes/include \ + -I$(G4BASE)/geometry/navigation/include \ -I$(G4BASE)/geometry/solids/CSG/include \ -I$(G4BASE)/digits_hits/hits/include \ -I$(G4BASE)/digits_hits/detector/include \ - -I$(G4BASE)/intercoms/include + -I$(G4BASE)/digits_hits/digits/include \ + -I$(G4BASE)/intercoms/include \ include $(G4INSTALL)/config/common.gmk diff --git a/source/digits_hits/utils/History b/source/digits_hits/utils/History index 6a2ab24f7d..8be04e1f0e 100644 --- a/source/digits_hits/utils/History +++ b/source/digits_hits/utils/History @@ -1,4 +1,4 @@ -$Id: History,v 1.3 2006/11/18 18:20:40 asaim Exp $ +$Id: History,v 1.7 2007/06/06 07:48:45 ahoward Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,17 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +June 06, 2007 A.Howard (detutils-V08-03-02) +- Added modified G4PSPopulation removing event (circular) dependency + (file form T.Aso). + +June 05, 2007 M.Asai (detutils-V08-03-01) +- Drop G4PSPopulation from the release. + +May 17, 2007 M.Asai (detutils-V08-03-00) +- New scorers for event biasing. +- kCarTolerance now becomes a local data member obtained from G4GeometryTolerance class. + November 17, 2006 M.Asai (detutils-V08-01-00) - G4PSCellCharge is introduced. diff --git a/source/digits_hits/utils/include/G4PSCellCharge.hh b/source/digits_hits/utils/include/G4PSCellCharge.hh index 333d862174..40f060fbc2 100755 --- a/source/digits_hits/utils/include/G4PSCellCharge.hh +++ b/source/digits_hits/utils/include/G4PSCellCharge.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCellCharge.hh,v 1.2 2006/12/13 15:43:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSCellCharge.hh,v 1.3 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSCellCharge_h diff --git a/source/digits_hits/utils/include/G4PSCellFlux.hh b/source/digits_hits/utils/include/G4PSCellFlux.hh index bd88a86247..722ba0713f 100644 --- a/source/digits_hits/utils/include/G4PSCellFlux.hh +++ b/source/digits_hits/utils/include/G4PSCellFlux.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCellFlux.hh,v 1.3 2006/06/29 18:06:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSCellFlux.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSCellFlux_h diff --git a/source/digits_hits/utils/include/G4PSDirectionFlag.hh b/source/digits_hits/utils/include/G4PSDirectionFlag.hh index 70e3d678b2..71c4b6f388 100644 --- a/source/digits_hits/utils/include/G4PSDirectionFlag.hh +++ b/source/digits_hits/utils/include/G4PSDirectionFlag.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSDirectionFlag.hh,v 1.2 2006/06/29 18:06:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSDirectionFlag.hh,v 1.3 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/digits_hits/utils/include/G4PSDoseDeposit.hh b/source/digits_hits/utils/include/G4PSDoseDeposit.hh index 06bafb144f..b41eee3254 100644 --- a/source/digits_hits/utils/include/G4PSDoseDeposit.hh +++ b/source/digits_hits/utils/include/G4PSDoseDeposit.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSDoseDeposit.hh,v 1.3 2006/06/29 18:06:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSDoseDeposit.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSDoseDeposit_h diff --git a/source/digits_hits/utils/include/G4PSEnergyDeposit.hh b/source/digits_hits/utils/include/G4PSEnergyDeposit.hh index 323712aead..d54be3f591 100644 --- a/source/digits_hits/utils/include/G4PSEnergyDeposit.hh +++ b/source/digits_hits/utils/include/G4PSEnergyDeposit.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSEnergyDeposit.hh,v 1.2 2006/06/29 18:06:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSEnergyDeposit.hh,v 1.3 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSEnergyDeposit_h diff --git a/source/digits_hits/utils/include/G4PSFlatSurfaceCurrent.hh b/source/digits_hits/utils/include/G4PSFlatSurfaceCurrent.hh index c89bbe2ff9..9a6e497b83 100644 --- a/source/digits_hits/utils/include/G4PSFlatSurfaceCurrent.hh +++ b/source/digits_hits/utils/include/G4PSFlatSurfaceCurrent.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceCurrent.hh,v 1.3 2006/06/29 18:07:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSFlatSurfaceCurrent.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSFlatSurfaceCurrent_h diff --git a/source/digits_hits/utils/include/G4PSFlatSurfaceFlux.hh b/source/digits_hits/utils/include/G4PSFlatSurfaceFlux.hh index 57a7be046f..e87cd47d4a 100644 --- a/source/digits_hits/utils/include/G4PSFlatSurfaceFlux.hh +++ b/source/digits_hits/utils/include/G4PSFlatSurfaceFlux.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceFlux.hh,v 1.4 2007/04/20 07:53:33 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4PSFlatSurfaceFlux.hh,v 1.5 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSFlatSurfaceFlux_h diff --git a/source/digits_hits/utils/include/G4PSMinKinEAtGeneration.hh b/source/digits_hits/utils/include/G4PSMinKinEAtGeneration.hh index 45a439fc6c..9d760347e0 100755 --- a/source/digits_hits/utils/include/G4PSMinKinEAtGeneration.hh +++ b/source/digits_hits/utils/include/G4PSMinKinEAtGeneration.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSMinKinEAtGeneration.hh,v 1.2 2006/06/29 18:07:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSMinKinEAtGeneration.hh,v 1.3 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSMinKinEAtGeneration_h diff --git a/source/physics_lists/builders/include/G4LEADPiKBuilder.hh b/source/digits_hits/utils/include/G4PSNofCollision.hh similarity index 58% rename from source/physics_lists/builders/include/G4LEADPiKBuilder.hh rename to source/digits_hits/utils/include/G4PSNofCollision.hh index 498c844360..a61f2addba 100644 --- a/source/physics_lists/builders/include/G4LEADPiKBuilder.hh +++ b/source/digits_hits/utils/include/G4PSNofCollision.hh @@ -23,45 +23,61 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -#ifndef G4LEADPiKBuilder_h -#define G4LEADPiKBuilder_h 1 +// +// $Id: G4PSNofCollision.hh,v 1.2 2007/06/21 15:03:52 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// -#include "globals.hh" +#ifndef G4PSNofCollision_h +#define G4PSNofCollision_h 1 -#include "G4HadronElasticProcess.hh" -#include "G4HadronFissionProcess.hh" -#include "G4HadronCaptureProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4VPiKBuilder.hh" +#include "G4VPrimitiveScorer.hh" +#include "G4THitsMap.hh" -#include "G4PiNuclearCrossSection.hh" -#include "G4Mars5GeV.hh" -class G4LEADPiKBuilder : public G4VPiKBuilder +////////////////////////////////////////////////////////////////////////////////// +// (Description) +// This is a primitive scorer class for scoring Number of Steps in the cell. +// +// Created: 2007-2-2 Tsukasa ASO, Akinori Kimura. +// +/////////////////////////////////////////////////////////////////////////////// + + +class G4PSNofCollision : public G4VPrimitiveScorer { - public: - G4LEADPiKBuilder(); - virtual ~G4LEADPiKBuilder(); + + public: // with description + G4PSNofCollision(G4String name, G4int depth=0); + + protected: // with description + virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); + + public: + virtual ~G4PSNofCollision(); + + inline void Weighted(G4bool flg=true) { weighted = flg; } + // Multiply track weight public: - virtual void Build(G4HadronElasticProcess * aP); - virtual void Build(G4PionPlusInelasticProcess * aP); - virtual void Build(G4PionMinusInelasticProcess * aP); - virtual void Build(G4KaonPlusInelasticProcess * aP); - virtual void Build(G4KaonMinusInelasticProcess * aP); - virtual void Build(G4KaonZeroLInelasticProcess * aP); - virtual void Build(G4KaonZeroSInelasticProcess * aP); - - void SetMinEnergy(G4double aM) {theMin = aM;} + virtual void Initialize(G4HCofThisEvent*); + virtual void EndOfEvent(G4HCofThisEvent*); + virtual void clear(); + + public: + virtual void DrawAll(); + virtual void PrintAll(); private: - G4PiNuclearCrossSection thePiData; - G4Mars5GeV * theModel; - G4double theMin; + G4int HCID; + G4THitsMap* EvtMap; + G4bool weighted; + + public: + }; -// 2002 by J.P. Wellisch + #endif - diff --git a/source/digits_hits/utils/include/G4PSNofSecondary.hh b/source/digits_hits/utils/include/G4PSNofSecondary.hh index c8983967c6..d748f037b1 100755 --- a/source/digits_hits/utils/include/G4PSNofSecondary.hh +++ b/source/digits_hits/utils/include/G4PSNofSecondary.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSNofSecondary.hh,v 1.2 2006/06/29 18:07:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSNofSecondary.hh,v 1.3 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSNofSecondary_h diff --git a/source/digits_hits/utils/include/G4PSNofStep.hh b/source/digits_hits/utils/include/G4PSNofStep.hh index e9565e48d8..fa2cf439b7 100644 --- a/source/digits_hits/utils/include/G4PSNofStep.hh +++ b/source/digits_hits/utils/include/G4PSNofStep.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSNofStep.hh,v 1.2 2006/06/29 18:07:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSNofStep.hh,v 1.3 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSNofStep_h diff --git a/source/digits_hits/utils/include/G4PSPassageCellFlux.hh b/source/digits_hits/utils/include/G4PSPassageCellFlux.hh index f62211dfae..4562804960 100644 --- a/source/digits_hits/utils/include/G4PSPassageCellFlux.hh +++ b/source/digits_hits/utils/include/G4PSPassageCellFlux.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageCellFlux.hh,v 1.3 2006/06/29 18:07:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSPassageCellFlux.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSPassageCellFlux_h diff --git a/source/digits_hits/utils/include/G4PSPassageCurrent.hh b/source/digits_hits/utils/include/G4PSPassageCurrent.hh index dc23eb4b01..ba84d4e64a 100644 --- a/source/digits_hits/utils/include/G4PSPassageCurrent.hh +++ b/source/digits_hits/utils/include/G4PSPassageCurrent.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageCurrent.hh,v 1.3 2006/06/29 18:07:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSPassageCurrent.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSPassageCurrent_h diff --git a/source/digits_hits/utils/include/G4PSPassageTrackLength.hh b/source/digits_hits/utils/include/G4PSPassageTrackLength.hh index 82c9d5b3db..f49484e1e2 100644 --- a/source/digits_hits/utils/include/G4PSPassageTrackLength.hh +++ b/source/digits_hits/utils/include/G4PSPassageTrackLength.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageTrackLength.hh,v 1.3 2006/06/29 18:07:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSPassageTrackLength.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSPassageTrackLength_h diff --git a/source/digits_hits/utils/include/G4PSPopulation.hh b/source/digits_hits/utils/include/G4PSPopulation.hh new file mode 100644 index 0000000000..ee2c163ef0 --- /dev/null +++ b/source/digits_hits/utils/include/G4PSPopulation.hh @@ -0,0 +1,87 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4PSPopulation.hh,v 1.2 2007/06/21 15:03:54 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// + +#ifndef G4PSPopulation_h +#define G4PSPopulation_h 1 + +#include "G4VPrimitiveScorer.hh" +#include "G4THitsMap.hh" +#include + +#include "G4TrackLogger.hh" + +////////////////////////////////////////////////////////////////////////////////// +// (Description) +// This is a primitive scorer class for scoring Number of Steps in the cell. +// +// Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. +// +/////////////////////////////////////////////////////////////////////////////// + + +class G4PSPopulation : public G4VPrimitiveScorer +{ + + public: // with description + G4PSPopulation(G4String name, G4int depth=0); + + protected: // with description + virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); + + public: + virtual ~G4PSPopulation(); + + inline void Weighted(G4bool flg=true) { weighted = flg; } + // Multiply track weight + + public: + virtual void Initialize(G4HCofThisEvent*); + virtual void EndOfEvent(G4HCofThisEvent*); + virtual void clear(); + + public: + virtual void DrawAll(); + virtual void PrintAll(); + + private: + G4int HCID; + G4THitsMap* EvtMap; + G4bool weighted; + std::map fCellTrackLogger; + + + public: + + +}; + + + +#endif diff --git a/source/digits_hits/utils/include/G4PSSphereSurfaceCurrent.hh b/source/digits_hits/utils/include/G4PSSphereSurfaceCurrent.hh index 07f8a137a6..f0b3840454 100644 --- a/source/digits_hits/utils/include/G4PSSphereSurfaceCurrent.hh +++ b/source/digits_hits/utils/include/G4PSSphereSurfaceCurrent.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceCurrent.hh,v 1.3 2006/06/29 18:07:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSSphereSurfaceCurrent.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSSphereSurfaceCurrent_h diff --git a/source/digits_hits/utils/include/G4PSSphereSurfaceFlux.hh b/source/digits_hits/utils/include/G4PSSphereSurfaceFlux.hh index b5d3e7e6df..8ec71d0be1 100644 --- a/source/digits_hits/utils/include/G4PSSphereSurfaceFlux.hh +++ b/source/digits_hits/utils/include/G4PSSphereSurfaceFlux.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceFlux.hh,v 1.1 2007/04/20 07:55:38 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4PSSphereSurfaceFlux.hh,v 1.2 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSSphereSurfaceFlux_h diff --git a/source/physics_lists/builders/include/G4LEADProtonBuilder.hh b/source/digits_hits/utils/include/G4PSTrackCounter.hh similarity index 57% rename from source/physics_lists/builders/include/G4LEADProtonBuilder.hh rename to source/digits_hits/utils/include/G4PSTrackCounter.hh index 38a7a95f83..ee2539d98b 100644 --- a/source/physics_lists/builders/include/G4LEADProtonBuilder.hh +++ b/source/digits_hits/utils/include/G4PSTrackCounter.hh @@ -23,40 +23,64 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -#ifndef G4LEADProtonBuilder_h -#define G4LEADProtonBuilder_h +// +// $Id: G4PSTrackCounter.hh,v 1.2 2007/06/21 15:03:56 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// -#include "globals.hh" +#ifndef G4PSTrackCounter_h +#define G4PSTrackCounter_h 1 -#include "G4HadronElasticProcess.hh" -#include "G4HadronFissionProcess.hh" -#include "G4HadronCaptureProcess.hh" -#include "G4ProtonInelasticProcess.hh" -#include "G4VProtonBuilder.hh" +#include "G4VPrimitiveScorer.hh" +#include "G4THitsMap.hh" -#include "G4Mars5GeV.hh" -#include "G4ProtonInelasticCrossSection.hh" +#include "G4PSDirectionFlag.hh" -class G4LEADProtonBuilder : public G4VProtonBuilder + +////////////////////////////////////////////////////////////////////////////////// +// (Description) +// This is a primitive scorer class for scoring Number of Steps in the cell. +// +// Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. +// +/////////////////////////////////////////////////////////////////////////////// + + +class G4PSTrackCounter : public G4VPrimitiveScorer { - public: - G4LEADProtonBuilder(); - virtual ~G4LEADProtonBuilder(); + + public: // with description + G4PSTrackCounter(G4String name, G4int direction, G4int depth=0); + + protected: // with description + virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); + + public: + virtual ~G4PSTrackCounter(); + + inline void Weighted(G4bool flg=true) { weighted = flg; } + // Multiply track weight public: - virtual void Build(G4HadronElasticProcess * aP); - virtual void Build(G4ProtonInelasticProcess * aP); - - void SetMinEnergy(G4double aM) {theMin = aM;} + virtual void Initialize(G4HCofThisEvent*); + virtual void EndOfEvent(G4HCofThisEvent*); + virtual void clear(); + + public: + virtual void DrawAll(); + virtual void PrintAll(); private: - G4ProtonInelasticCrossSection theXSec; - G4Mars5GeV * theModel; - G4double theMin; + G4int HCID; + G4int fDirection; + G4THitsMap* EvtMap; + G4bool weighted; + + public: + }; -// 2002 by J.P. Wellisch + #endif - diff --git a/source/digits_hits/utils/include/G4PSTrackLength.hh b/source/digits_hits/utils/include/G4PSTrackLength.hh index d857ef6609..9dc0dc4e6b 100644 --- a/source/digits_hits/utils/include/G4PSTrackLength.hh +++ b/source/digits_hits/utils/include/G4PSTrackLength.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSTrackLength.hh,v 1.4 2006/06/29 18:07:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSTrackLength.hh,v 1.5 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PSTrackLength_h @@ -40,6 +40,9 @@ // // // Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// Modified: 2007-02-02 Tsukasa ASO, Add MultiolyKineticEnergy() +// and DivideByVelocity(). +// // /////////////////////////////////////////////////////////////////////////////// @@ -53,6 +56,13 @@ class G4PSTrackLength : public G4VPrimitiveScorer inline void Weighted(G4bool flg=true) { weighted = flg; } // Multiply track weight + inline void MultiplyKineticEnergy(G4bool flg=true) { multiplyKinE = flg; } + // Multiply Kinetic Energy + + inline void DivideByVelocity(G4bool flg=true) { divideByVelocity = flg; } + // Divide by velocity + + protected: // with description virtual G4bool ProcessHits(G4Step*,G4TouchableHistory*); @@ -67,5 +77,7 @@ class G4PSTrackLength : public G4VPrimitiveScorer G4int HCID; G4THitsMap* EvtMap; G4bool weighted; + G4bool multiplyKinE; + G4bool divideByVelocity; }; #endif diff --git a/source/digits_hits/utils/include/G4SDChargedFilter.hh b/source/digits_hits/utils/include/G4SDChargedFilter.hh index 1d9fba7b1b..1cc9565893 100644 --- a/source/digits_hits/utils/include/G4SDChargedFilter.hh +++ b/source/digits_hits/utils/include/G4SDChargedFilter.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SDChargedFilter.hh,v 1.3 2006/06/29 18:07:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SDChargedFilter.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4SDChargedFilter_h diff --git a/source/digits_hits/utils/include/G4SDKineticEnergyFilter.hh b/source/digits_hits/utils/include/G4SDKineticEnergyFilter.hh index be811aed17..f8ca0017ec 100644 --- a/source/digits_hits/utils/include/G4SDKineticEnergyFilter.hh +++ b/source/digits_hits/utils/include/G4SDKineticEnergyFilter.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SDKineticEnergyFilter.hh,v 1.3 2006/06/29 18:07:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SDKineticEnergyFilter.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4SDKineticEnergyFilter_h diff --git a/source/digits_hits/utils/include/G4SDNeutralFilter.hh b/source/digits_hits/utils/include/G4SDNeutralFilter.hh index ecb7fcf52f..8112dbcb5a 100644 --- a/source/digits_hits/utils/include/G4SDNeutralFilter.hh +++ b/source/digits_hits/utils/include/G4SDNeutralFilter.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SDNeutralFilter.hh,v 1.3 2006/06/29 18:07:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SDNeutralFilter.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4SDNeutralFilter_h diff --git a/source/digits_hits/utils/include/G4SDParticleFilter.hh b/source/digits_hits/utils/include/G4SDParticleFilter.hh index 75ec2cfb9f..8d33153d33 100644 --- a/source/digits_hits/utils/include/G4SDParticleFilter.hh +++ b/source/digits_hits/utils/include/G4SDParticleFilter.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SDParticleFilter.hh,v 1.3 2006/06/29 18:07:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SDParticleFilter.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4SDParticleFilter_h diff --git a/source/digits_hits/utils/include/G4SDParticleWithEnergyFilter.hh b/source/digits_hits/utils/include/G4SDParticleWithEnergyFilter.hh index 803f0bee9e..40ec925f5d 100644 --- a/source/digits_hits/utils/include/G4SDParticleWithEnergyFilter.hh +++ b/source/digits_hits/utils/include/G4SDParticleWithEnergyFilter.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SDParticleWithEnergyFilter.hh,v 1.3 2006/06/29 18:07:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SDParticleWithEnergyFilter.hh,v 1.4 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4SDParticleWithEnergyFilter_h diff --git a/source/digits_hits/utils/src/G4PSCellCharge.cc b/source/digits_hits/utils/src/G4PSCellCharge.cc index 9edeccfb73..ab37bf637a 100755 --- a/source/digits_hits/utils/src/G4PSCellCharge.cc +++ b/source/digits_hits/utils/src/G4PSCellCharge.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PSCellCharge.cc,v 1.2 2006/12/13 15:43:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSCellCharge.cc,v 1.3 2007/05/18 00:00:37 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSCellCharge #include "G4PSCellCharge.hh" diff --git a/source/digits_hits/utils/src/G4PSCellFlux.cc b/source/digits_hits/utils/src/G4PSCellFlux.cc index ca1d5fd3b4..88b4a71ffa 100644 --- a/source/digits_hits/utils/src/G4PSCellFlux.cc +++ b/source/digits_hits/utils/src/G4PSCellFlux.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSCellFlux.cc,v 1.4 2006/06/29 18:07:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSCellFlux.cc,v 1.5 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSCellFlux #include "G4PSCellFlux.hh" diff --git a/source/digits_hits/utils/src/G4PSDoseDeposit.cc b/source/digits_hits/utils/src/G4PSDoseDeposit.cc index 32a12c9e38..a0ba80b1df 100644 --- a/source/digits_hits/utils/src/G4PSDoseDeposit.cc +++ b/source/digits_hits/utils/src/G4PSDoseDeposit.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSDoseDeposit.cc,v 1.4 2006/06/29 18:07:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSDoseDeposit.cc,v 1.5 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSDoseDeposit #include "G4PSDoseDeposit.hh" diff --git a/source/digits_hits/utils/src/G4PSEnergyDeposit.cc b/source/digits_hits/utils/src/G4PSEnergyDeposit.cc index 8d612163be..95a23820b2 100644 --- a/source/digits_hits/utils/src/G4PSEnergyDeposit.cc +++ b/source/digits_hits/utils/src/G4PSEnergyDeposit.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSEnergyDeposit.cc,v 1.4 2006/06/29 18:07:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSEnergyDeposit.cc,v 1.5 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSEnergyDeposit #include "G4PSEnergyDeposit.hh" diff --git a/source/digits_hits/utils/src/G4PSFlatSurfaceCurrent.cc b/source/digits_hits/utils/src/G4PSFlatSurfaceCurrent.cc index 416017065d..e56b4764bb 100644 --- a/source/digits_hits/utils/src/G4PSFlatSurfaceCurrent.cc +++ b/source/digits_hits/utils/src/G4PSFlatSurfaceCurrent.cc @@ -24,14 +24,15 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceCurrent.cc,v 1.5 2006/06/29 18:07:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSFlatSurfaceCurrent.cc,v 1.7 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSFlatSurfaceCurrent #include "G4PSFlatSurfaceCurrent.hh" #include "G4StepStatus.hh" #include "G4Track.hh" #include "G4UnitsTable.hh" +#include "G4GeometryTolerance.hh" //////////////////////////////////////////////////////////////////////////////// // (Description) // This is a primitive scorer class for scoring only Surface Flux. @@ -91,7 +92,7 @@ G4int G4PSFlatSurfaceCurrent::IsSelectedSurface(G4Step* aStep, G4Box* boxSolid){ G4TouchableHandle theTouchable = aStep->GetPreStepPoint()->GetTouchableHandle(); - + G4double kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); if (aStep->GetPreStepPoint()->GetStepStatus() == fGeomBoundary ){ // Entering Geometry diff --git a/source/digits_hits/utils/src/G4PSFlatSurfaceFlux.cc b/source/digits_hits/utils/src/G4PSFlatSurfaceFlux.cc index ee8990d9c1..7bbc5d71ca 100644 --- a/source/digits_hits/utils/src/G4PSFlatSurfaceFlux.cc +++ b/source/digits_hits/utils/src/G4PSFlatSurfaceFlux.cc @@ -24,14 +24,15 @@ // ******************************************************************** // // -// $Id: G4PSFlatSurfaceFlux.cc,v 1.6 2007/04/20 07:53:33 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4PSFlatSurfaceFlux.cc,v 1.8 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSFlatSurfaceFlux #include "G4PSFlatSurfaceFlux.hh" #include "G4StepStatus.hh" #include "G4Track.hh" #include "G4UnitsTable.hh" +#include "G4GeometryTolerance.hh" //////////////////////////////////////////////////////////////////////////////// // (Description) // This is a primitive scorer class for scoring Surface Flux. @@ -111,6 +112,7 @@ G4int G4PSFlatSurfaceFlux::IsSelectedSurface(G4Step* aStep, G4Box* boxSolid){ G4TouchableHandle theTouchable = aStep->GetPreStepPoint()->GetTouchableHandle(); + G4double kCarTolerance=G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); if (aStep->GetPreStepPoint()->GetStepStatus() == fGeomBoundary ){ // Entering Geometry diff --git a/source/digits_hits/utils/src/G4PSMinKinEAtGeneration.cc b/source/digits_hits/utils/src/G4PSMinKinEAtGeneration.cc index 2f771c139d..262930affb 100755 --- a/source/digits_hits/utils/src/G4PSMinKinEAtGeneration.cc +++ b/source/digits_hits/utils/src/G4PSMinKinEAtGeneration.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSMinKinEAtGeneration.cc,v 1.5 2006/06/29 18:07:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSMinKinEAtGeneration.cc,v 1.6 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSMinKinEAtGeneration #include "G4PSMinKinEAtGeneration.hh" diff --git a/source/digits_hits/utils/src/G4PSNofCollision.cc b/source/digits_hits/utils/src/G4PSNofCollision.cc new file mode 100644 index 0000000000..71b9e987c4 --- /dev/null +++ b/source/digits_hits/utils/src/G4PSNofCollision.cc @@ -0,0 +1,89 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4PSNofCollision.cc,v 1.2 2007/06/21 15:03:58 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// G4PSNofCollision +#include "G4PSNofCollision.hh" + +/////////////////////////////////////////////////////////////////////////////// +// (Description) +// This is a primitive scorer class for scoring number of collisions inside a +// Cell. +// +// Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. +// +/////////////////////////////////////////////////////////////////////////////// + +G4PSNofCollision::G4PSNofCollision(G4String name, G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(false) +{;} + +G4PSNofCollision::~G4PSNofCollision() +{;} + +G4bool G4PSNofCollision::ProcessHits(G4Step* aStep,G4TouchableHistory*) +{ + if ( aStep->GetPostStepPoint()->GetStepStatus() == fGeomBoundary ) return TRUE; + + G4int index = GetIndex(aStep); + G4double val = 1.0; + if(weighted) val *= aStep->GetPreStepPoint()->GetWeight(); + EvtMap->add(index,val); + return TRUE; +} + +void G4PSNofCollision::Initialize(G4HCofThisEvent* HCE) +{ + EvtMap = new G4THitsMap(detector->GetName(),GetName()); + if(HCID < 0) {HCID = GetCollectionID(0);} + HCE->AddHitsCollection(HCID, (G4VHitsCollection*)EvtMap); +} + +void G4PSNofCollision::EndOfEvent(G4HCofThisEvent*) +{;} + +void G4PSNofCollision::clear(){ + EvtMap->clear(); +} + +void G4PSNofCollision::DrawAll() +{;} + +void G4PSNofCollision::PrintAll() +{ + G4cout << " MultiFunctionalDet " << detector->GetName() << G4endl; + G4cout << " PrimitiveScorer " << GetName() << G4endl; + G4cout << " Number of entries " << EvtMap->entries() << G4endl; + std::map::iterator itr = EvtMap->GetMap()->begin(); + for(; itr != EvtMap->GetMap()->end(); itr++) { + G4cout << " copy no.: " << itr->first + << " collisions: " << *(itr->second) + << G4endl; + } +} + diff --git a/source/digits_hits/utils/src/G4PSNofSecondary.cc b/source/digits_hits/utils/src/G4PSNofSecondary.cc index cf8ae4c495..e89e81f682 100755 --- a/source/digits_hits/utils/src/G4PSNofSecondary.cc +++ b/source/digits_hits/utils/src/G4PSNofSecondary.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSNofSecondary.cc,v 1.3 2006/06/29 18:07:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSNofSecondary.cc,v 1.4 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSNofSecondary #include "G4PSNofSecondary.hh" diff --git a/source/digits_hits/utils/src/G4PSNofStep.cc b/source/digits_hits/utils/src/G4PSNofStep.cc index bba68db5d2..5454603b9e 100644 --- a/source/digits_hits/utils/src/G4PSNofStep.cc +++ b/source/digits_hits/utils/src/G4PSNofStep.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSNofStep.cc,v 1.5 2006/06/29 18:07:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSNofStep.cc,v 1.6 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSNofStep #include "G4PSNofStep.hh" diff --git a/source/digits_hits/utils/src/G4PSPassageCellFlux.cc b/source/digits_hits/utils/src/G4PSPassageCellFlux.cc index 34ea40c435..26c513df18 100644 --- a/source/digits_hits/utils/src/G4PSPassageCellFlux.cc +++ b/source/digits_hits/utils/src/G4PSPassageCellFlux.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageCellFlux.cc,v 1.5 2006/06/29 18:07:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSPassageCellFlux.cc,v 1.6 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSPassageCellFlux #include "G4PSPassageCellFlux.hh" diff --git a/source/digits_hits/utils/src/G4PSPassageCurrent.cc b/source/digits_hits/utils/src/G4PSPassageCurrent.cc index 36f4007b5b..71cd1bc55c 100644 --- a/source/digits_hits/utils/src/G4PSPassageCurrent.cc +++ b/source/digits_hits/utils/src/G4PSPassageCurrent.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageCurrent.cc,v 1.4 2006/06/29 18:07:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSPassageCurrent.cc,v 1.5 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSPassageCurrent #include "G4PSPassageCurrent.hh" diff --git a/source/digits_hits/utils/src/G4PSPassageTrackLength.cc b/source/digits_hits/utils/src/G4PSPassageTrackLength.cc index 441dd8c1e6..80f098771e 100644 --- a/source/digits_hits/utils/src/G4PSPassageTrackLength.cc +++ b/source/digits_hits/utils/src/G4PSPassageTrackLength.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSPassageTrackLength.cc,v 1.3 2006/06/29 18:07:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSPassageTrackLength.cc,v 1.4 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSPassageTrackLength #include "G4PSPassageTrackLength.hh" diff --git a/source/digits_hits/utils/src/G4PSPopulation.cc b/source/digits_hits/utils/src/G4PSPopulation.cc new file mode 100644 index 0000000000..c7fc643c5e --- /dev/null +++ b/source/digits_hits/utils/src/G4PSPopulation.cc @@ -0,0 +1,95 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4PSPopulation.cc,v 1.3 2007/06/21 15:04:00 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// G4PSPopulation +#include "G4PSPopulation.hh" + + +/////////////////////////////////////////////////////////////////////////////// +// (Description) +// This is a primitive scorer class for scoring population in a cell. +// +// Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. +// +/////////////////////////////////////////////////////////////////////////////// + +G4PSPopulation::G4PSPopulation(G4String name, G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(false) +{;} + +G4PSPopulation::~G4PSPopulation() +{;} + +G4bool G4PSPopulation::ProcessHits(G4Step* aStep,G4TouchableHistory*) +{ + + G4int index = GetIndex(aStep); + G4TrackLogger& tlog = fCellTrackLogger[index]; + if (tlog.FirstEnterance(aStep->GetTrack()->GetTrackID())) { + G4double val = 1.0; + if(weighted) val *= aStep->GetPreStepPoint()->GetWeight(); + EvtMap->add(index,val); + } + + return TRUE; +} + +void G4PSPopulation::Initialize(G4HCofThisEvent* HCE) +{ + EvtMap = new G4THitsMap(detector->GetName(),GetName()); + if(HCID < 0) {HCID = GetCollectionID(0);} + HCE->AddHitsCollection(HCID, (G4VHitsCollection*)EvtMap); +} + +void G4PSPopulation::EndOfEvent(G4HCofThisEvent*) +{ + fCellTrackLogger.clear(); +} + +void G4PSPopulation::clear(){ + EvtMap->clear(); + fCellTrackLogger.clear(); +} + +void G4PSPopulation::DrawAll() +{;} + +void G4PSPopulation::PrintAll() +{ + G4cout << " MultiFunctionalDet " << detector->GetName() << G4endl; + G4cout << " PrimitiveScorer " << GetName() << G4endl; + G4cout << " Number of entries " << EvtMap->entries() << G4endl; + std::map::iterator itr = EvtMap->GetMap()->begin(); + for(; itr != EvtMap->GetMap()->end(); itr++) { + G4cout << " copy no.: " << itr->first + << " population: " << *(itr->second) + << G4endl; + } +} + diff --git a/source/digits_hits/utils/src/G4PSSphereSurfaceCurrent.cc b/source/digits_hits/utils/src/G4PSSphereSurfaceCurrent.cc index e200f9f724..bc5bd460c9 100644 --- a/source/digits_hits/utils/src/G4PSSphereSurfaceCurrent.cc +++ b/source/digits_hits/utils/src/G4PSSphereSurfaceCurrent.cc @@ -24,14 +24,15 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceCurrent.cc,v 1.5 2006/06/29 18:08:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSSphereSurfaceCurrent.cc,v 1.7 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSSphereSurfaceCurrent #include "G4PSSphereSurfaceCurrent.hh" #include "G4StepStatus.hh" #include "G4Track.hh" #include "G4UnitsTable.hh" +#include "G4GeometryTolerance.hh" //////////////////////////////////////////////////////////////////////////////// // (Description) // This is a primitive scorer class for scoring only Surface Current. @@ -90,6 +91,7 @@ G4int G4PSSphereSurfaceCurrent::IsSelectedSurface(G4Step* aStep, G4Sphere* spher G4TouchableHandle theTouchable = aStep->GetPreStepPoint()->GetTouchableHandle(); + G4double kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); if (aStep->GetPreStepPoint()->GetStepStatus() == fGeomBoundary ){ // Entering Geometry diff --git a/source/digits_hits/utils/src/G4PSSphereSurfaceFlux.cc b/source/digits_hits/utils/src/G4PSSphereSurfaceFlux.cc index 76885c3dd7..892ce3a6e7 100644 --- a/source/digits_hits/utils/src/G4PSSphereSurfaceFlux.cc +++ b/source/digits_hits/utils/src/G4PSSphereSurfaceFlux.cc @@ -24,14 +24,15 @@ // ******************************************************************** // // -// $Id: G4PSSphereSurfaceFlux.cc,v 1.1 2007/04/20 07:55:38 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4PSSphereSurfaceFlux.cc,v 1.3 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSSphereSurfaceFlux #include "G4PSSphereSurfaceFlux.hh" #include "G4StepStatus.hh" #include "G4Track.hh" #include "G4UnitsTable.hh" +#include "G4GeometryTolerance.hh" //////////////////////////////////////////////////////////////////////////////// // (Description) // This is a primitive scorer class for scoring only Surface Flux. @@ -121,6 +122,7 @@ G4int G4PSSphereSurfaceFlux::IsSelectedSurface(G4Step* aStep, G4Sphere* sphereSo G4TouchableHandle theTouchable = aStep->GetPreStepPoint()->GetTouchableHandle(); + G4double kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); if (aStep->GetPreStepPoint()->GetStepStatus() == fGeomBoundary ){ // Entering Geometry diff --git a/source/digits_hits/utils/src/G4PSTrackCounter.cc b/source/digits_hits/utils/src/G4PSTrackCounter.cc new file mode 100644 index 0000000000..8d466622a3 --- /dev/null +++ b/source/digits_hits/utils/src/G4PSTrackCounter.cc @@ -0,0 +1,112 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4PSTrackCounter.cc,v 1.2 2007/06/21 15:04:02 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// G4PSTrackCounter +#include "G4PSTrackCounter.hh" + + +/////////////////////////////////////////////////////////////////////////////// +// (Description) +// This is a primitive scorer class for scoring number of tracks in a cell. +// +// Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. +// +/////////////////////////////////////////////////////////////////////////////// + +G4PSTrackCounter::G4PSTrackCounter(G4String name, G4int direction, G4int depth) + :G4VPrimitiveScorer(name,depth),HCID(-1),fDirection(direction),weighted(false) +{;} + +G4PSTrackCounter::~G4PSTrackCounter() +{;} + +G4bool G4PSTrackCounter::ProcessHits(G4Step* aStep,G4TouchableHistory*) +{ + + G4StepPoint* preStep = aStep->GetPreStepPoint(); + G4StepPoint* posStep = aStep->GetPostStepPoint(); + G4bool IsEnter = preStep->GetStepStatus()==fGeomBoundary; + G4bool IsExit = posStep->GetStepStatus()==fGeomBoundary; + + // Regular : count in prestep volume. + G4int index = GetIndex(aStep); + + // G4cout << " trk " << aStep->GetTrack()->GetTrackID() + // << " index " << index << " In " << IsEnter << " Out " <GetStepStatus() + // << " PostStatus " << posStep->GetStepStatus() + // << " w " << aStep->GetPreStepPoint()->GetWeight() + // << G4endl; + + G4bool flag = FALSE; + + if ( IsEnter && fDirection == fCurrent_In ) flag = TRUE; + else if ( IsExit && fDirection == fCurrent_Out ) flag = TRUE; + else if ( (IsExit||IsEnter) && fDirection == fCurrent_InOut ) flag = TRUE; + + if ( flag ){ + //G4cout << " Count " << G4endl; + G4double val = 1.0; + if(weighted) val *= aStep->GetPreStepPoint()->GetWeight(); + EvtMap->add(index,val); + } + + return TRUE; +} + +void G4PSTrackCounter::Initialize(G4HCofThisEvent* HCE) +{ + EvtMap = new G4THitsMap(detector->GetName(),GetName()); + if(HCID < 0) {HCID = GetCollectionID(0);} + HCE->AddHitsCollection(HCID, (G4VHitsCollection*)EvtMap); + //G4cout << "----- PS Initialize " << G4endl; +} + +void G4PSTrackCounter::EndOfEvent(G4HCofThisEvent*) +{;} + +void G4PSTrackCounter::clear(){ + EvtMap->clear(); +} + +void G4PSTrackCounter::DrawAll() +{;} + +void G4PSTrackCounter::PrintAll() +{ + G4cout << " MultiFunctionalDet " << detector->GetName() << G4endl; + G4cout << " PrimitiveScorer " << GetName() << G4endl; + G4cout << " Number of entries " << EvtMap->entries() << G4endl; + std::map::iterator itr = EvtMap->GetMap()->begin(); + for(; itr != EvtMap->GetMap()->end(); itr++) { + G4cout << " copy no.: " << itr->first + << " track count: " << *(itr->second) + << G4endl; + } +} diff --git a/source/digits_hits/utils/src/G4PSTrackLength.cc b/source/digits_hits/utils/src/G4PSTrackLength.cc index 60303cdc85..34afa4ee56 100644 --- a/source/digits_hits/utils/src/G4PSTrackLength.cc +++ b/source/digits_hits/utils/src/G4PSTrackLength.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PSTrackLength.cc,v 1.5 2006/06/29 18:08:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PSTrackLength.cc,v 1.6 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PSTrackLength #include "G4PSTrackLength.hh" @@ -35,12 +35,13 @@ // This is a primitive scorer class for scoring sum of track length. // // -// Created: 2005-11-14 Tsukasa ASO, Akinori Kimura. +// Created: 2007-02-02 Tsukasa ASO, Akinori Kimura. // /////////////////////////////////////////////////////////////////////////////// G4PSTrackLength::G4PSTrackLength(G4String name, G4int depth) - :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(false) + :G4VPrimitiveScorer(name,depth),HCID(-1),weighted(false),multiplyKinE(false), + divideByVelocity(false) {;} G4PSTrackLength::~G4PSTrackLength() @@ -51,6 +52,8 @@ G4bool G4PSTrackLength::ProcessHits(G4Step* aStep,G4TouchableHistory*) G4double trklength = aStep->GetStepLength(); if ( trklength == 0. ) return FALSE; if(weighted) trklength *= aStep->GetPreStepPoint()->GetWeight(); + if(multiplyKinE) trklength *= aStep->GetPreStepPoint()->GetKineticEnergy(); + if(divideByVelocity) trklength /= aStep->GetPreStepPoint()->GetVelocity(); G4int index = GetIndex(aStep); EvtMap->add(index,trklength); return TRUE; @@ -80,9 +83,17 @@ void G4PSTrackLength::PrintAll() G4cout << " Number of entries " << EvtMap->entries() << G4endl; std::map::iterator itr = EvtMap->GetMap()->begin(); for(; itr != EvtMap->GetMap()->end(); itr++) { - G4cout << " copy no.: " << itr->first - << " track length: " << G4BestUnit(*(itr->second),"Length") - << G4endl; + G4cout << " copy no.: " << itr->first << " track length: " ; + if ( multiplyKinE && !divideByVelocity ){ + G4cout << *(itr->second)/(mm*MeV) <<" mm*MeV"; + } else if ( !multiplyKinE && divideByVelocity ){ + G4cout << *(itr->second)*second <<" /second"; + } else if ( multiplyKinE && divideByVelocity) { + G4cout << *(itr->second)/MeV*second <<" MeV/second"; + } else { + G4cout << G4BestUnit(*(itr->second),"Length"); + } + G4cout << G4endl; } } diff --git a/source/digits_hits/utils/src/G4SDChargedFilter.cc b/source/digits_hits/utils/src/G4SDChargedFilter.cc index 15061cb856..4174837d52 100644 --- a/source/digits_hits/utils/src/G4SDChargedFilter.cc +++ b/source/digits_hits/utils/src/G4SDChargedFilter.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SDChargedFilter.cc,v 1.2 2006/06/29 18:08:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SDChargedFilter.cc,v 1.3 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VSensitiveDetector #include "G4SDChargedFilter.hh" diff --git a/source/digits_hits/utils/src/G4SDKineticEnergyFilter.cc b/source/digits_hits/utils/src/G4SDKineticEnergyFilter.cc index 178e9ca8c1..58cafefa8e 100644 --- a/source/digits_hits/utils/src/G4SDKineticEnergyFilter.cc +++ b/source/digits_hits/utils/src/G4SDKineticEnergyFilter.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SDKineticEnergyFilter.cc,v 1.5 2006/06/29 18:08:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SDKineticEnergyFilter.cc,v 1.6 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VSensitiveDetector #include "G4SDKineticEnergyFilter.hh" diff --git a/source/digits_hits/utils/src/G4SDNeutralFilter.cc b/source/digits_hits/utils/src/G4SDNeutralFilter.cc index e5364095a2..4141762ed3 100644 --- a/source/digits_hits/utils/src/G4SDNeutralFilter.cc +++ b/source/digits_hits/utils/src/G4SDNeutralFilter.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SDNeutralFilter.cc,v 1.2 2006/06/29 18:08:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SDNeutralFilter.cc,v 1.3 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VSensitiveDetector #include "G4SDNeutralFilter.hh" diff --git a/source/digits_hits/utils/src/G4SDParticleFilter.cc b/source/digits_hits/utils/src/G4SDParticleFilter.cc index 18113ac296..6a6ee67ffc 100644 --- a/source/digits_hits/utils/src/G4SDParticleFilter.cc +++ b/source/digits_hits/utils/src/G4SDParticleFilter.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SDParticleFilter.cc,v 1.3 2006/06/29 18:08:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SDParticleFilter.cc,v 1.4 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VSensitiveDetector #include "G4SDParticleFilter.hh" diff --git a/source/digits_hits/utils/src/G4SDParticleWithEnergyFilter.cc b/source/digits_hits/utils/src/G4SDParticleWithEnergyFilter.cc index 770113a87f..fd7dd650c4 100644 --- a/source/digits_hits/utils/src/G4SDParticleWithEnergyFilter.cc +++ b/source/digits_hits/utils/src/G4SDParticleWithEnergyFilter.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SDParticleWithEnergyFilter.cc,v 1.2 2006/06/29 18:08:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SDParticleWithEnergyFilter.cc,v 1.3 2007/05/18 00:00:38 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VSensitiveDetector #include "G4SDParticleWithEnergyFilter.hh" diff --git a/source/error_propagation/GNUmakefile b/source/error_propagation/GNUmakefile new file mode 100644 index 0000000000..b1a51035a7 --- /dev/null +++ b/source/error_propagation/GNUmakefile @@ -0,0 +1,57 @@ +# $Id: GNUmakefile,v 1.6 2007/06/05 13:37:36 gcosmo Exp $ +# ---------------------------------------------------------- +# GNUmakefile for tracking library. Katsuya Amako, 5/9/95. +# ---------------------------------------------------------- + +name := G4error_propagation + +ifndef G4INSTALL + G4INSTALL = ../.. +endif + +GLOBLIBS = libG4run.lib libG4event.lib +GLOBLIBS += libG4tracking.lib libG4processes.lib libG4digits_hits.lib +GLOBLIBS += libG4track.lib libG4particles.lib libG4geometry.lib +GLOBLIBS += libG4materials.lib libG4graphics_reps.lib +GLOBLIBS += libG4intercoms.lib libG4global.lib + +include $(G4INSTALL)/config/architecture.gmk + +CPPFLAGS += -I$(G4BASE)/global/management/include \ + -I$(G4BASE)/global/HEPRandom/include \ + -I$(G4BASE)/global/HEPGeometry/include \ + -I$(G4BASE)/geometry/management/include \ + -I$(G4BASE)/geometry/volumes/include \ + -I$(G4BASE)/geometry/solids/CSG/include \ + -I$(G4BASE)/geometry/navigation/include \ + -I$(G4BASE)/track/include \ + -I$(G4BASE)/materials/include \ + -I$(G4BASE)/geometry/magneticfield/include \ + -I$(G4BASE)/tracking/include \ + -I$(G4BASE)/event/include \ + -I$(G4BASE)/run/include \ + -I$(G4BASE)/particles/management/include \ + -I$(G4BASE)/particles/bosons/include \ + -I$(G4BASE)/particles/leptons/include \ + -I$(G4BASE)/particles/hadrons/mesons/include \ + -I$(G4BASE)/particles/hadrons/barions/include \ + -I$(G4BASE)/particles/hadrons/ions/include \ + -I$(G4BASE)/processes/management/include \ + -I$(G4BASE)/processes/electromagnetic/utils/include \ + -I$(G4BASE)/processes/electromagnetic/standard/include \ + -I$(G4BASE)/processes/electromagnetic/muons/include \ + -I$(G4BASE)/processes/transportation/include \ + -I$(G4BASE)/processes/cuts/include \ + -I$(G4BASE)/intercoms/include \ + -I$(G4BASE)/digits_hits/hits/include \ + -I$(G4BASE)/digits_hits/digits/include + +ifdef G4EVERBOSE + CPPFLAGS += -DG4EVERBOSE +endif + +include $(G4INSTALL)/config/common.gmk + +.PHONY: global + +global: lib diff --git a/source/error_propagation/History b/source/error_propagation/History new file mode 100644 index 0000000000..2b2f0b2e42 --- /dev/null +++ b/source/error_propagation/History @@ -0,0 +1,52 @@ +$Id: History,v 1.9 2007/06/05 13:37:36 gcosmo Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + Category History file + --------------------- +This file should be used by G4 developers and category coordinators +to briefly summarize all major modifications introduced in the code +and keep track of all category-tags. +It DOES NOT substitute the CVS log-message one should put at every +committal in the CVS repository ! + + ---------------------------------------------------------- + * Reverse chronological order (last date on top), please * + ---------------------------------------------------------- + +5 June 2007 - G.Cosmo (error_propagation-V08-03-09) +- Added missing definition of GLOBLIBS in GNUmakefile to allow for + building DLLs on Windows. + +4 June 2007 - G.Cosmo (error_propagation-V08-03-08) +- Fixed compilation errors and warnings on WIN32-VC platform: replaced + usage of M_PI with CLHEP::pi; replaced usage of 'uint' with 'size_t'; + fixed boolean operation in conditional statement. + +1 June 2007 - G.Cosmo (error_propagation-V08-03-07) +- Some cleanup and further simplification of matrices classes. + +31 May 2007 - P.Arce (error_propagation-V08-03-06) +- Using G4ErrorMatrix instead of CLHEP Matrix. + +31 May 2007 - G.Cosmo (error_propagation-V08-03-05) +- Fixed compilation problems on Windows/VC++. +- Use G4bool for bool and CLHEP::pi for M_PI. + +31 May 2007 - P.Arce (error_propagation-V08-03-04) +- Fixed problem of uninitialised variables. + +29 May 2007 - G.Cosmo (error_propagation-V08-03-03) +- Fixed errors for unnecessary inclusion of non-existing headers. +- Use G4GeometryTolerance for retrivial of kCarTolerance. +- Fixed GNUmakefile for setting of debug verbosity. +- Added CVS headers and some cleanup ... + +25 May 2007 - P.Arce (error_propagation-V08-03-00, 01, 02) +- First version. + +12 May 2007 - G.Cosmo +- Directory structure created. diff --git a/source/geometry/biasing/include/G4ParallelWorld.hh b/source/error_propagation/include/G4ErrorFreeTrajParam.hh similarity index 52% rename from source/geometry/biasing/include/G4ParallelWorld.hh rename to source/error_propagation/include/G4ErrorFreeTrajParam.hh index aa6e8aff5d..bb22aec11d 100644 --- a/source/geometry/biasing/include/G4ParallelWorld.hh +++ b/source/error_propagation/include/G4ErrorFreeTrajParam.hh @@ -24,59 +24,65 @@ // ******************************************************************** // // -// $Id: G4ParallelWorld.hh,v 1.7 2006/06/29 18:16:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ErrorFreeTrajParam.hh,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// ---------------------------------------------------------------------- -// Class G4ParallelWorld +// Class Description: // -// Class description: -// -// Used internally by importance samplin and scoring in a "parallel" -// geometry. -// The class relates the world volume (G4VPhysicalVolume), -// G4VGeoDriver and G4VParallelStepper for one "parallel" -// geometry. +// Holds the 5 independent variables of the trajectory for a +// G4ErrorFreeTrajState object. It is not used for anything but for +// printing, but anyhow it is updated everytime the position and +// momentum are updated. -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4ParallelWorld_hh -#define G4ParallelWorld_hh G4ParallelWorld_hh +// History: +// - Created: Pedro Arce, September 2004 +// -------------------------------------------------------------------- + +#ifndef G4ErrorFreeTrajParam_hh +#define G4ErrorFreeTrajParam_hh + +#include "G4Point3D.hh" +#include "G4Vector3D.hh" #include "globals.hh" +#include "G4Track.hh" -class G4VPhysicalVolume; -class G4VParallelStepper; -class G4VPGeoDriver; - -class G4ParallelWorld +class G4ErrorFreeTrajParam { + public: // with description -public: // with description + G4ErrorFreeTrajParam(){} + G4ErrorFreeTrajParam( const G4Point3D& pos, const G4Vector3D& mom ); + // build parameters from position and momentum - explicit G4ParallelWorld(G4VPhysicalVolume &worldvolume); - // initialisation and create G4ParallelStepper and a G4VPGeoDriver + virtual ~G4ErrorFreeTrajParam(){} - ~G4ParallelWorld(); - // delete G4ParallelStepper and a G4VPGeoDriver + void Update( const G4Track* aTrack ); + // update parameters from G4Track - - G4VParallelStepper &GetParallelStepper(); - // get the parallel stepper - - G4VPGeoDriver &GetGeoDriver(); - // get the G4VPGeoDriver - -private: - - G4ParallelWorld(const G4ParallelWorld &rhs); - // create G4ParallelStepper and a G4VPGeoDriver + friend + std::ostream& operator<<(std::ostream&, const G4ErrorFreeTrajParam& ts); - G4ParallelWorld &operator=(const G4ParallelWorld &rhs); - // create G4ParallelStepper and a G4VPGeoDriver + // Set and Get methods - G4VParallelStepper *fPstepper; - G4VPGeoDriver *fPdriver; + void SetParameters( const G4Point3D& pos, const G4Vector3D& mom ); + + G4Vector3D GetDirection() const { return fDir;} + + G4double GetInvP() const { return fInvP; } + G4double GetLambda() const { return fLambda; } + G4double GetPhi() const { return fPhi; } + G4double GetYPerp() const { return fYPerp; } + G4double GetZPerp() const { return fZPerp; } + + private: + + G4Vector3D fDir; //direction to which YPerp, ZPerp refer + G4double fInvP; // inverse of momentum + G4double fLambda; // 90 - theta angle of direction + G4double fPhi; // phi angle of direction + G4double fYPerp; // Y coordinate + G4double fZPerp; // Z coordinate }; #endif diff --git a/source/error_propagation/include/G4ErrorFreeTrajState.hh b/source/error_propagation/include/G4ErrorFreeTrajState.hh new file mode 100644 index 0000000000..348de4a391 --- /dev/null +++ b/source/error_propagation/include/G4ErrorFreeTrajState.hh @@ -0,0 +1,136 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorFreeTrajState.hh,v 1.4 2007/05/31 20:27:06 arce Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// Class Description: +// +// Represents a free G4ErrorTrajState +// It can be represented by the 5 variables +// 1/p, lambda, phi, y_perp, z_perp +// where lambda and phi are the dip and azimuthal angles related +// to the momentum components in the following way: +// p_x = p cos(lambda) cos(phi) ! lambda = 90 - theta +// p_y = p cos(lambda) sin(phi) +// p_z = p sin(lambda) +// y_perp and z_perp are the coordinates of the trajectory in a +// local orthonormal reference frame with the x_perp axis along the +// particle direction, the y_perp being parallel to the x-y plane. +// +// This class also takes care of propagating the error associated to +// the trajectory + +// History: +// - Created: P. Arce +// -------------------------------------------------------------------- + +#ifndef G4ErrorFreeTrajState_hh +#define G4ErrorFreeTrajState_hh + +#include "globals.hh" + +#include "G4ErrorMatrix.hh" + +#include "G4ErrorTrajState.hh" +#include "G4ErrorFreeTrajParam.hh" + +#include "G4Point3D.hh" +#include "G4Vector3D.hh" + +class G4ErrorSurfaceTrajState; + +class G4ErrorFreeTrajState : public G4ErrorTrajState +{ + public: // with description + + G4ErrorFreeTrajState(){} + G4ErrorFreeTrajState( const G4String& partType, + const G4Point3D& pos, + const G4Vector3D& mom, + const G4ErrorTrajErr& errmat = G4ErrorTrajErr(5,0) ); + // Constructor by providing particle, position and momentum + + G4ErrorFreeTrajState( const G4ErrorSurfaceTrajState& tpOS ); + // Constructor by providing G4ErrorSurfaceTrajState + + ~G4ErrorFreeTrajState(){} + + virtual G4int Update( const G4Track* aTrack ); + // update parameters from G4Track + + virtual G4int PropagateError( const G4Track* aTrack ); + // propagate the error along the step + + virtual void Dump( std::ostream& out = G4cout ) const; + // dump TrajState parameters + + friend + std::ostream& operator<<(std::ostream&, const G4ErrorFreeTrajState& ts); + + // Set and Get methods + + virtual void SetPosition( const G4Point3D pos ) + { SetParameters( pos, fMomentum ); } + + virtual void SetMomentum( const G4Vector3D& mom ) + { SetParameters( fPosition, mom ); } + + void SetParameters( const G4Point3D& pos, const G4Vector3D& mom ) + { + fPosition = pos; + fMomentum = mom; + fTrajParam.SetParameters( pos, mom ); + } + + G4ErrorFreeTrajParam GetParameters() const + { return fTrajParam; } + + private: + + void Init(); + // define TrajState type and build charge + + G4int PropagateErrorMSC( const G4Track* aTrack ); + // add the error associated to multiple scattering + + void CalculateEffectiveZandA( const G4Material* mate, double& effZ, double& effA ); + // calculate effective Z and A (needed by PropagateErrorMSC) + + G4int PropagateErrorIoni( const G4Track* aTrack ); + // add the error associated to ionization energy loss + + + private: + + G4ErrorFreeTrajParam fTrajParam; + + G4ErrorMatrix theTransfMat; + + G4bool theFirstStep; // to count if transf mat is updated or initialized +}; + +#endif diff --git a/examples/extended/biasing/B03/include/B03PVolumeStore.hh b/source/error_propagation/include/G4ErrorGeomVolumeTarget.hh similarity index 69% rename from examples/extended/biasing/B03/include/B03PVolumeStore.hh rename to source/error_propagation/include/G4ErrorGeomVolumeTarget.hh index 89b898ab0b..66c177a529 100644 --- a/examples/extended/biasing/B03/include/B03PVolumeStore.hh +++ b/source/error_propagation/include/G4ErrorGeomVolumeTarget.hh @@ -24,42 +24,43 @@ // ******************************************************************** // // -// $Id: B03PVolumeStore.hh,v 1.3 2006/06/29 16:35:07 gunter Exp $ -// GEANT4 tag +// $Id: G4ErrorGeomVolumeTarget.hh,v 1.3 2007/05/31 15:28:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// ---------------------------------------------------------------------- -// Class B03PVolumeStore +// Class Description: // -// Class description: -// -// ... +// G4ErrorTarget class: limits step when volume is reached. -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- +// History: +// - Created: P. Arce, September 2004 +// -------------------------------------------------------------------- -#ifndef B03PVolumeStore_hh -#define B03PVolumeStore_hh B03PVolumeStore_hh +#ifndef G4ErrorGeomVolumeTarget_HH +#define G4ErrorGeomVolumeTarget_HH #include "globals.hh" -#include -#include "G4GeometryCell.hh" -#include "G4GeometryCellComp.hh" - -typedef std::set< G4GeometryCell, G4GeometryCellComp > B03SetGeometryCell; - -class B03PVolumeStore { -public: - B03PVolumeStore(); - ~B03PVolumeStore(); +#include "G4ThreeVector.hh" +#include "G4ErrorTarget.hh" +#include "G4Plane3D.hh" - void AddPVolume(const G4GeometryCell &cell); - const G4VPhysicalVolume *GetPVolume(const G4String &name) const; - G4String GetPNames() const; +class G4Step; +class G4String; -private: - B03SetGeometryCell fSetGeometryCell; +class G4ErrorGeomVolumeTarget : public G4ErrorTarget +{ + public: // with description + + G4ErrorGeomVolumeTarget( const G4String& name ); + virtual ~G4ErrorGeomVolumeTarget(){} + + virtual G4bool TargetReached(const G4Step* aStep); + // return true when particle is entering the volume + + virtual void Dump( const G4String& msg ) const; + + private: + + G4String theName; }; - - #endif diff --git a/source/error_propagation/include/G4ErrorMagFieldLimitProcess.hh b/source/error_propagation/include/G4ErrorMagFieldLimitProcess.hh new file mode 100644 index 0000000000..7db84e5991 --- /dev/null +++ b/source/error_propagation/include/G4ErrorMagFieldLimitProcess.hh @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorMagFieldLimitProcess.hh,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// Class description: +// +// Limits the step length if change of magnetic field is too big +// (user defined limit). + +// History: +// - Created: P. Arce, September 2004 +//--------------------------------------------------------------------- + +#ifndef G4ErrorMagFieldLimitProcess_h +#define G4ErrorMagFieldLimitProcess_h 1 + +#include "G4ios.hh" +#include "globals.hh" +#include "G4VDiscreteProcess.hh" +#include "G4PhysicsTable.hh" +#include "G4PhysicsLogVector.hh" +#include "G4ElementTable.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Step.hh" +#include "G4VErrorLimitProcess.hh" + +//----------------------------------------------------------------- + +class G4ErrorMagFieldLimitProcess : public G4VErrorLimitProcess +{ + + public: // with description + + G4ErrorMagFieldLimitProcess(const G4String& processName + ="G4ErrorMagFieldLimit"); + ~G4ErrorMagFieldLimitProcess(); + + virtual G4double + PostStepGetPhysicalInteractionLength(const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition); + // Returns the step length. +}; + +#endif + diff --git a/source/error_propagation/include/G4ErrorMatrix.hh b/source/error_propagation/include/G4ErrorMatrix.hh new file mode 100755 index 0000000000..a2602ea6b2 --- /dev/null +++ b/source/error_propagation/include/G4ErrorMatrix.hh @@ -0,0 +1,315 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorMatrix.hh,v 1.2 2007/06/01 12:43:28 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// Class Description: +// +// Simplified version of CLHEP HepMatrix class + +// History: +// - Imported from CLHEP and modified: P. Arce May 2007 +// -------------------------------------------------------------------- + +#ifndef G4ErrorMatrix_hh +#define G4ErrorMatrix_hh + +#include + +class G4ErrorSymMatrix; + +typedef std::vector::iterator G4ErrorMatrixIter; +typedef std::vector::const_iterator G4ErrorMatrixConstIter; + +class G4ErrorMatrix +{ + + public: // with description + + G4ErrorMatrix(); + // Default constructor. Gives 0 x 0 matrix. + // Another G4ErrorMatrix can be assigned to it. + + G4ErrorMatrix(G4int p, G4int q); + // Constructor. Gives an unitialized p x q matrix. + + G4ErrorMatrix(G4int p, G4int q, G4int i); + // Constructor. Gives an initialized p x q matrix. + // If i=0, it is initialized to all 0. If i=1, the diagonal elements + // are set to 1.0. + + G4ErrorMatrix(const G4ErrorMatrix &m1); + // Copy constructor. + + G4ErrorMatrix(const G4ErrorSymMatrix &m1); + // Constructors from G4ErrorSymG4ErrorMatrix, DiagG4ErrorMatrix and Vector. + + virtual ~G4ErrorMatrix(); + // Destructor. + + inline virtual G4int num_row() const; + // Returns the number of rows. + + inline virtual G4int num_col() const; + // Returns the number of columns. + + inline virtual const G4double & operator()(G4int row, G4int col) const; + inline virtual G4double & operator()(G4int row, G4int col); + // Read or write a matrix element. + // ** Note that the indexing starts from (1,1). ** + + G4ErrorMatrix & operator *= (G4double t); + // Multiply a G4ErrorMatrix by a floating number. + + G4ErrorMatrix & operator /= (G4double t); + // Divide a G4ErrorMatrix by a floating number. + + G4ErrorMatrix & operator += ( const G4ErrorMatrix &m2); + G4ErrorMatrix & operator += ( const G4ErrorSymMatrix &m2); + G4ErrorMatrix & operator -= ( const G4ErrorMatrix &m2); + G4ErrorMatrix & operator -= ( const G4ErrorSymMatrix &m2); + // Add or subtract a G4ErrorMatrix. + // When adding/subtracting Vector, G4ErrorMatrix must have num_col of one. + + G4ErrorMatrix & operator = ( const G4ErrorMatrix &m2); + G4ErrorMatrix & operator = ( const G4ErrorSymMatrix &m2); + // Assignment operators. + + G4ErrorMatrix operator- () const; + // unary minus, ie. flip the sign of each element. + + G4ErrorMatrix apply(G4double (*f)(G4double, G4int, G4int)) const; + // Apply a function to all elements of the matrix. + + G4ErrorMatrix T() const; + // Returns the transpose of a G4ErrorMatrix. + + G4ErrorMatrix sub(G4int min_row, G4int max_row, + G4int min_col, G4int max_col) const; + // Returns a sub matrix of a G4ErrorMatrix. + // WARNING: rows and columns are numbered from 1 + + void sub(G4int row, G4int col, const G4ErrorMatrix &m1); + // Sub matrix of this G4ErrorMatrix is replaced with m1. + // WARNING: rows and columns are numbered from 1 + + inline G4ErrorMatrix inverse(G4int& ierr) const; + // Invert a G4ErrorMatrix. G4ErrorMatrix must be square and is not changed. + // Returns ierr = 0 (zero) when successful, otherwise non-zero. + + virtual void invert(G4int& ierr); + // Invert a G4ErrorMatrix. G4ErrorMatrix must be square. + // N.B. the contents of the matrix are replaced by the inverse. + // Returns ierr = 0 (zero) when successful, otherwise non-zero. + // This method has less overhead then inverse(). + + G4double determinant() const; + // calculate the determinant of the matrix. + + G4double trace() const; + // calculate the trace of the matrix (sum of diagonal elements). + + class G4ErrorMatrix_row + { + typedef std::vector::const_iterator G4ErrorMatrixConstIter; + public: + inline G4ErrorMatrix_row(G4ErrorMatrix&,G4int); + G4double & operator[](G4int); + private: + G4ErrorMatrix& _a; + G4int _r; + }; + class G4ErrorMatrix_row_const + { + public: + inline G4ErrorMatrix_row_const (const G4ErrorMatrix&,G4int); + const G4double & operator[](G4int) const; + private: + const G4ErrorMatrix& _a; + G4int _r; + }; + // helper classes for implementing m[i][j] + + inline G4ErrorMatrix_row operator[] (G4int); + inline const G4ErrorMatrix_row_const operator[] (G4int) const; + // Read or write a matrix element. + // While it may not look like it, you simply do m[i][j] to get an element. + // ** Note that the indexing starts from [0][0]. ** + + protected: + + virtual inline G4int num_size() const; + virtual void invertHaywood4(G4int& ierr); + virtual void invertHaywood5(G4int& ierr); + virtual void invertHaywood6(G4int& ierr); + + public: + + static void error(const char *s); + + private: + + friend class G4ErrorMatrix_row; + friend class G4ErrorMatrix_row_const; + friend class G4ErrorSymMatrix; + // Friend classes. + + friend G4ErrorMatrix operator+(const G4ErrorMatrix &m1, + const G4ErrorMatrix &m2); + friend G4ErrorMatrix operator-(const G4ErrorMatrix &m1, + const G4ErrorMatrix &m2); + friend G4ErrorMatrix operator*(const G4ErrorMatrix &m1, + const G4ErrorMatrix &m2); + friend G4ErrorMatrix operator*(const G4ErrorMatrix &m1, + const G4ErrorSymMatrix &m2); + friend G4ErrorMatrix operator*(const G4ErrorSymMatrix &m1, + const G4ErrorMatrix &m2); + friend G4ErrorMatrix operator*(const G4ErrorSymMatrix &m1, + const G4ErrorSymMatrix &m2); + // Multiply a G4ErrorMatrix by a G4ErrorMatrix or Vector. + + // solve the system of linear eq + + friend G4ErrorMatrix qr_solve(G4ErrorMatrix *, const G4ErrorMatrix &b); + friend void tridiagonal(G4ErrorSymMatrix *a,G4ErrorMatrix *hsm); + friend void row_house(G4ErrorMatrix *,const G4ErrorMatrix &, G4double, + G4int, G4int, G4int, G4int); + friend void back_solve(const G4ErrorMatrix &R, G4ErrorMatrix *b); + friend void col_givens(G4ErrorMatrix *A, G4double c, + G4double s, G4int k1, G4int k2, + G4int rowmin, G4int rowmax); + // Does a column Givens update. + + friend void row_givens(G4ErrorMatrix *A, G4double c, + G4double s, G4int k1, G4int k2, + G4int colmin, G4int colmax); + friend void col_house(G4ErrorMatrix *,const G4ErrorMatrix &, G4double, + G4int, G4int, G4int, G4int); + friend void house_with_update(G4ErrorMatrix *a,G4int row,G4int col); + friend void house_with_update(G4ErrorMatrix *a,G4ErrorMatrix *v, + G4int row, G4int col); + friend void house_with_update2(G4ErrorSymMatrix *a,G4ErrorMatrix *v, + G4int row, G4int col); + + G4int dfact_matrix(G4double &det, G4int *ir); + // factorize the matrix. If successful, the return code is 0. On + // return, det is the determinant and ir[] is row-interchange + // matrix. See CERNLIB's DFACT routine. + + G4int dfinv_matrix(G4int *ir); + // invert the matrix. See CERNLIB DFINV. + + std::vector m; + + G4int nrow, ncol; + G4int size; +}; + +// Operations other than member functions for G4ErrorMatrix + +G4ErrorMatrix operator*(const G4ErrorMatrix &m1, const G4ErrorMatrix &m2); +G4ErrorMatrix operator*(G4double t, const G4ErrorMatrix &m1); +G4ErrorMatrix operator*(const G4ErrorMatrix &m1, G4double t); +// Multiplication operators +// Note that m *= m1 is always faster than m = m * m1. + +G4ErrorMatrix operator/(const G4ErrorMatrix &m1, G4double t); +// m = m1 / t. (m /= t is faster if you can use it.) + +G4ErrorMatrix operator+(const G4ErrorMatrix &m1, const G4ErrorMatrix &m2); +// m = m1 + m2; +// Note that m += m1 is always faster than m = m + m1. + +G4ErrorMatrix operator-(const G4ErrorMatrix &m1, const G4ErrorMatrix &m2); +// m = m1 - m2; +// Note that m -= m1 is always faster than m = m - m1. + +G4ErrorMatrix dsum(const G4ErrorMatrix&, const G4ErrorMatrix&); +// Direct sum of two matrices. The direct sum of A and B is the matrix +// A 0 +// 0 B + +std::ostream& operator<<(std::ostream &s, const G4ErrorMatrix &q); +// Read in, write out G4ErrorMatrix into a stream. + +// +// Specialized linear algebra functions +// + +G4ErrorMatrix qr_solve(const G4ErrorMatrix &A, const G4ErrorMatrix &b); +G4ErrorMatrix qr_solve(G4ErrorMatrix *A, const G4ErrorMatrix &b); +// Works like backsolve, except matrix does not need to be upper +// triangular. For nonsquare matrix, it solves in the least square sense. + +G4ErrorMatrix qr_inverse(const G4ErrorMatrix &A); +G4ErrorMatrix qr_inverse(G4ErrorMatrix *A); +// Finds the inverse of a matrix using QR decomposition. Note, often what +// you really want is solve or backsolve, they can be much quicker than +// inverse in many calculations. + + +void qr_decomp(G4ErrorMatrix *A, G4ErrorMatrix *hsm); +G4ErrorMatrix qr_decomp(G4ErrorMatrix *A); +// Does a QR decomposition of a matrix. + +void back_solve(const G4ErrorMatrix &R, G4ErrorMatrix *b); +// Solves R*x = b where R is upper triangular. Also has a variation that +// solves a number of equations of this form in one step, where b is a matrix +// with each column a different vector. See also solve. + +void col_house(G4ErrorMatrix *a, const G4ErrorMatrix &v, G4double vnormsq, + G4int row, G4int col, G4int row_start, G4int col_start); +void col_house(G4ErrorMatrix *a, const G4ErrorMatrix &v, G4int row, G4int col, + G4int row_start, G4int col_start); +// Does a column Householder update. + +void col_givens(G4ErrorMatrix *A, G4double c, G4double s, + G4int k1, G4int k2, G4int row_min=1, G4int row_max=0); +// do a column Givens update + +void row_givens(G4ErrorMatrix *A, G4double c, G4double s, + G4int k1, G4int k2, G4int col_min=1, G4int col_max=0); +// do a row Givens update + +void givens(G4double a, G4double b, G4double *c, G4double *s); +// algorithm 5.1.5 in Golub and Van Loan + +// Returns a Householder vector to zero elements. + +void house_with_update(G4ErrorMatrix *a, G4int row=1, G4int col=1); +void house_with_update(G4ErrorMatrix *a, G4ErrorMatrix *v, + G4int row=1, G4int col=1); +// Finds and does Householder reflection on matrix. + +void row_house(G4ErrorMatrix *a, const G4ErrorMatrix &v, G4double vnormsq, + G4int row, G4int col, G4int row_start, G4int col_start); +void row_house(G4ErrorMatrix *a, const G4ErrorMatrix &v, G4int row, G4int col, + G4int row_start, G4int col_start); +// Does a row Householder update. + +#include "G4ErrorMatrix.icc" + +#endif diff --git a/source/processes/scoring/include/G4ScoreConfigurator.hh b/source/error_propagation/include/G4ErrorMatrix.icc similarity index 51% rename from source/processes/scoring/include/G4ScoreConfigurator.hh rename to source/error_propagation/include/G4ErrorMatrix.icc index 8ba417d1bb..b5ee2b77a8 100644 --- a/source/processes/scoring/include/G4ScoreConfigurator.hh +++ b/source/error_propagation/include/G4ErrorMatrix.icc @@ -23,64 +23,84 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4ErrorMatrix.icc,v 1.2 2007/06/01 12:43:28 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// $Id: G4ScoreConfigurator.hh,v 1.1 2006/11/20 10:02:06 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ScoreConfigurator -// -// Class description: -// This class builds and places the G4ScoreProcess. -// If the object is deleted the process is removed from the -// process list. +// ------------------------------------------------------------ +// GEANT 4 class inline implementation +// ------------------------------------------------------------ -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#ifndef G4ScoreConfigurator_hh -#define G4ScoreConfigurator_hh G4ScoreConfigurator_hh - -#include "G4Types.hh" -#include "G4NewProcessPlacer.hh" - -#include "G4VSamplerConfigurator.hh" - -class G4VScorer; -class G4VTrackTerminator; -class G4ScoreProcess; - -class G4VPhysicalVolume; - -class G4ScoreConfigurator : public G4VSamplerConfigurator +inline G4ErrorMatrix::G4ErrorMatrix() + : m(0), nrow(0), ncol(0), size(0) { +} -public: // with description +inline G4int G4ErrorMatrix::num_row() const +{ + return nrow; +} - G4ScoreConfigurator(G4VPhysicalVolume* worldvolume, - const G4String &particlename, - G4VScorer &scorer, - G4bool paraflag); +inline G4int G4ErrorMatrix::num_col() const +{ + return ncol; +} - virtual ~G4ScoreConfigurator(); - - virtual void Configure(G4VSamplerConfigurator *preConf); - virtual const G4VTrackTerminator *GetTrackTerminator() const; +inline G4int G4ErrorMatrix::num_size() const +{ + return size; +} -private: +inline G4double & G4ErrorMatrix::operator()(G4int row, G4int col) +{ + return *(m.begin()+(row-1)*ncol+col-1); +} - G4ScoreConfigurator(const G4ScoreConfigurator&); - G4ScoreConfigurator &operator=(const G4ScoreConfigurator&); +inline const G4double & G4ErrorMatrix::operator()(G4int row, G4int col) const +{ + return *(m.begin()+(row-1)*ncol+col-1); +} - G4VPhysicalVolume* fWorld; - G4NewProcessPlacer fPlacer; - G4VScorer &fScorer; - G4ScoreProcess *fScoreProcess; +inline G4ErrorMatrix::G4ErrorMatrix_row G4ErrorMatrix::operator[] (G4int r) +{ + G4ErrorMatrix_row b(*this,r); + return b; +} +inline const G4ErrorMatrix::G4ErrorMatrix_row_const +G4ErrorMatrix::operator[] (G4int r) const +{ + G4ErrorMatrix_row_const b(*this,r); + return b; +} - G4bool paraflag; +inline G4double &G4ErrorMatrix::G4ErrorMatrix_row::operator[](G4int c) +{ + return *(_a.m.begin()+_r*_a.ncol+c); +} -}; +inline const G4double & +G4ErrorMatrix::G4ErrorMatrix_row_const::operator[](G4int c) const +{ + return *(_a.m.begin()+_r*_a.ncol+c); +} +inline G4ErrorMatrix:: +G4ErrorMatrix_row::G4ErrorMatrix_row(G4ErrorMatrix&a, G4int r) + : _a(a) +{ + _r = r; +} -#endif +inline G4ErrorMatrix::G4ErrorMatrix_row_const::G4ErrorMatrix_row_const +(const G4ErrorMatrix&a, G4int r) + : _a(a) +{ + _r = r; +} + +inline G4ErrorMatrix G4ErrorMatrix::inverse(G4int &ierr) const +{ + G4ErrorMatrix mTmp(*this); + mTmp.invert(ierr); + return mTmp; +} diff --git a/source/physics_lists/lists/include/QGSC_LEAD_HP.hh b/source/error_propagation/include/G4ErrorMessenger.hh similarity index 60% rename from source/physics_lists/lists/include/QGSC_LEAD_HP.hh rename to source/error_propagation/include/G4ErrorMessenger.hh index 976e8d22bd..41150e3fcc 100644 --- a/source/physics_lists/lists/include/QGSC_LEAD_HP.hh +++ b/source/error_propagation/include/G4ErrorMessenger.hh @@ -23,46 +23,57 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSC_LEAD_HP.hh,v 1.1 2006/10/31 11:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ // -//--------------------------------------------------------------------------- +// $Id: G4ErrorMessenger.hh,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// ClassName: QGSC_LEAD_HP +// Class Description: // -// Author: 2002 J.P. Wellisch -// -// Modified: -// -//---------------------------------------------------------------------------- -// -#ifndef TQGSC_LEAD_HP_h -#define TQGSC_LEAD_HP_h 1 +// Messenger class for Geant4e processes limiting the step. + +// History: +// - Created: P. Arce +// -------------------------------------------------------------------- + +#ifndef G4ErrorMessenger_hh +#define G4ErrorMessenger_hh -#include "G4VModularPhysicsList.hh" #include "globals.hh" -#include "CompileTimeConstraints.hh" +#include "G4UImessenger.hh" -template -class TQGSC_LEAD_HP: public T +class G4UIdirectory; +class G4UIcmdWithAString; +class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithADouble; +class G4ErrorStepLengthLimitProcess; +class G4ErrorMagFieldLimitProcess; +class G4ErrorEnergyLoss; + +//----------------------------------------------------------------- + +class G4ErrorMessenger : public G4UImessenger { -public: - TQGSC_LEAD_HP(G4int ver = 1); - virtual ~TQGSC_LEAD_HP(); + public: // with description + + G4ErrorMessenger(G4ErrorStepLengthLimitProcess* lengthAct, + G4ErrorMagFieldLimitProcess* magAct, + G4ErrorEnergyLoss* elossAct); + ~G4ErrorMessenger(); -public: - // SetCuts() - virtual void SetCuts(); + void SetNewValue(G4UIcommand*, G4String); -private: - enum {ok = CompileTimeConstraints::IsA::ok }; + private: + + G4ErrorStepLengthLimitProcess* StepLengthAction; + G4ErrorMagFieldLimitProcess* MagFieldAction; + G4ErrorEnergyLoss* EnergyLossAction; + + G4UIdirectory* myDir; + G4UIdirectory* myDirLimits; + + G4UIcmdWithADoubleAndUnit* StepLengthLimitCmd; + G4UIcmdWithADouble* MagFieldLimitCmd; + G4UIcmdWithADouble* EnergyLossCmd; }; -#include "QGSC_LEAD_HP.icc" -typedef TQGSC_LEAD_HP QGSC_LEAD_HP; - -// 2002 by J.P. Wellisch #endif - - - diff --git a/source/error_propagation/include/G4ErrorPhysicsList.hh b/source/error_propagation/include/G4ErrorPhysicsList.hh new file mode 100644 index 0000000000..27837f1a70 --- /dev/null +++ b/source/error_propagation/include/G4ErrorPhysicsList.hh @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorPhysicsList.hh,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// Class Description: +// +// Default physics list for GEANT4e (should not be overridden, unless by +// experts). No multiple scattering and no production of secondaries. +// The energy loss process is G4eMuIonisation or G4EnergyLossForExtrapolator +// (depending on the value of the enviromental variable G4EELOSSEXTRAP) +// It also defines the geant4e processes to limit the step: +// G4eMagneticFieldLimitProcess, G4eStepLimitProcess. + +// History: +// - Created: P. Arce +// --------------------------------------------------------------------- + +#ifndef G4ErrorPhysicsList_hh +#define G4ErrorPhysicsList_hh + +#include "globals.hh" +#include "G4VUserPhysicsList.hh" + +class G4ErrorPhysicsList: public G4VUserPhysicsList +{ + public: // with description + + G4ErrorPhysicsList(); + virtual ~G4ErrorPhysicsList(); + + protected: + + virtual void ConstructParticle(); + // constructs gamma, e+/-, mu+/- and stable hadrons + + virtual void ConstructProcess(); + // construct physical processes + + virtual void SetCuts(); + // SetCutsWithDefault + + virtual void ConstructEM(); + // constructs electromagnetic processes +}; + +#endif diff --git a/source/error_propagation/include/G4ErrorPropagator.hh b/source/error_propagation/include/G4ErrorPropagator.hh new file mode 100644 index 0000000000..642fc9d499 --- /dev/null +++ b/source/error_propagation/include/G4ErrorPropagator.hh @@ -0,0 +1,136 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorPropagator.hh,v 1.3 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// Class Description: +// +// Manages the propagation of tracks. Creates a G4Track, asks to +// propagate it and takes also care to propagate the errors. +// Stops the track when GEANT4 stops it or a G4ErrorTarget is reached. + +// History: +// - Created: P. Arce +// -------------------------------------------------------------------- + +#ifndef G4ErrorPropagator_hh +#define G4ErrorPropagator_hh + +#include "globals.hh" +#include "G4ErrorPropagatorData.hh" +#include "G4SteppingManager.hh" + +class G4eErrorMatrix; +class G4Track; +class G4ErrorTrajState; +class G4ErrorFreeTrajState; +class G4ErrorTarget; +#include "globals.hh" + +class G4ErrorPropagator +{ + public: // with description + + G4ErrorPropagator(); + ~G4ErrorPropagator(){} + + G4Track* InitG4Track( G4ErrorTrajState& initialTS ); + // Creates a G4Track from a G4ErrorTrajState + + G4int Propagate( G4ErrorTrajState* currentTS, + const G4ErrorTarget* target, + G4ErrorMode mode = G4ErrorMode_PropForwards); + // Steers the GEANT4 propagation of a track: + // the particle will be extrapolated until the Target is reached. + // The final G4Track parameters will be passed to theFinalTrajState + + G4int PropagateOneStep( G4ErrorTrajState* currentTS ); + // Propagates a G4Track by one step, and then returns control to the user + + G4int MakeOneStep( G4ErrorFreeTrajState* currentTS_FREE ); + // Advance one step + + G4ErrorFreeTrajState* InitFreeTrajState( G4ErrorTrajState* currentTS ); + // Creates theCurrentTS_FREE (transforms the user G4ErrorSurfaceTrajState + // or copies the G4ErrorFreeTrajState) + + void GetFinalTrajState( G4ErrorTrajState* currentTS, G4ErrorFreeTrajState* currentTS_FREE, const G4ErrorTarget* target ); + // After steps are done, convert the G4ErrorFreeTrajState used for error + // propagation to the class of origin (G4ErrorFreeTrajState or + // G4eTrajStatOnSurface) + + void InvokePreUserTrackingAction( G4Track* fpTrack ); + // Invoke the G4UserTrackingAction::PreUserTrackingAction + void InvokePostUserTrackingAction( G4Track* fpTrack ); + // Invoke the G4UserTrackingAction::PostUserTrackingAction + + G4bool CheckIfLastStep( G4Track* aTrack ); + // Check if it is the last step for error propagation: + // - G4ErrorState is G4ErrorState_StoppedAtTarget + // - Track is OutOfWorld + // - G4TrackStatus is fStopAndKill + + // Get and Set methods + + const G4ErrorTrajState* GetInitialTrajState() const + { return theInitialTrajState; } + + G4double GetStepLength() const + { return theStepLength; } + + void SetStepLength( const G4double sl ) + { theStepLength = sl; } + + void SetStepN( const G4int sn ) + { theStepN = sn; } + + private: + + G4int MakeSteps( G4ErrorFreeTrajState* currentTS_FREE ); + // Advance steps until target is reached + + private: + + G4double theStepLength; + + G4ErrorTrajState* theInitialTrajState; + G4ErrorTrajState* theFinalTrajState; + + G4int theStepN; + + G4Track* theG4Track; + + G4SteppingManager* fpSteppingManager; + + G4int verbose; + + G4bool thePropIsInitialized; + +}; + +#endif diff --git a/source/error_propagation/include/G4ErrorPropagatorManager.hh b/source/error_propagation/include/G4ErrorPropagatorManager.hh new file mode 100644 index 0000000000..87bea16200 --- /dev/null +++ b/source/error_propagation/include/G4ErrorPropagatorManager.hh @@ -0,0 +1,163 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorPropagatorManager.hh,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// Class Description: +// +// This is the class manager of the GEANT4e package. +// It is the main interface for the user to define the setup and +// start the propagation. Initializes GEANT4 for the propagation. + +// History: +// - Created: Pedro Arce, February 2001 +// -------------------------------------------------------------------- + +#ifndef G4ErrorPropagatorManager_hh +#define G4ErrorPropagatorManager_hh + +#include "globals.hh" +#include "G4ErrorPropagatorData.hh" +#include "G4ErrorPropagator.hh" +#include "G4ApplicationState.hh" + +class G4ErrorPropagationNavigator; +class G4ErrorRunManagerHelper; +class G4ErrorTarget; +class G4ErrorTrajState; + +class G4VUserDetectorConstruction; +class G4VPhysicalVolume; +class G4VUserPhysicsList; +class G4UserRunAction; +class G4UserEventAction; +class G4UserStackingAction; +class G4UserTrackingAction; +class G4UserSteppingAction; +class G4Mag_UsualEqRhs; +class G4Track; + +class G4ErrorPropagatorManager +{ + + public: // with description + + G4ErrorPropagatorManager(); + // Initialise data to 0. Starts the G4ErrorRunManagerHelper and + // G4ErrorPropagationNavigator. + + ~G4ErrorPropagatorManager(); + + static G4ErrorPropagatorManager* GetErrorPropagatorManager(); + // Get only instance of G4ErrorPropagatorManager. If it does not exists, + // creates it + + void EventTermination(); + // Set state to G4ErrorState_Init + + void RunTermination(); + // Set state to G4ErrorState_Init and invoke + // G4ErrorRunManagerHelper::RunTermination() + + void InitGeant4e(); + // Initializes Geant4 and Geant4e + + void InitTrackPropagation(); + // Set the propagator step number to 0 and the G4ErrorState to Propagating + + G4bool InitFieldForBackwards(); + // Creates the G4ErrorMag_UsualEqRhs, that will control backwards tracking + + G4int Propagate( G4ErrorTrajState* currentTS, const G4ErrorTarget* target, G4ErrorMode mode = G4ErrorMode_PropForwards ); + // Inits track propagation, invokes G4ErrorPropagator::Propagate and + // terminates "event" + + G4int PropagateOneStep( G4ErrorTrajState* currentTS, + G4ErrorMode mode = G4ErrorMode_PropForwards ); + // Invokes G4ErrorPropagator::PropagateOneStep + + G4bool CloseGeometry(); + // Close Geant4 geometry + + void SetUserInitialization(G4VUserDetectorConstruction* userInit); + // Invokes G4ErrorRunManagerHelper to construct detector and set + // world volume + void SetUserInitialization(G4VPhysicalVolume* userInit); + // Invokes G4ErrorRunManagerHelper to set world volume + void SetUserInitialization(G4VUserPhysicsList* userInit); + // Invokes G4ErrorRunManagerHelper to initialize physics + + void SetUserAction(G4UserTrackingAction* userAction); + // Invokes G4EventManager to set a G4UserTrackingAction + void SetUserAction(G4UserSteppingAction* userAction); + // Invokes G4EventManager to set a G4UserSteppingAction + + G4String PrintG4ErrorState(); + G4String PrintG4ErrorState( G4ErrorState state ); + // Print Geant4e state + + G4String PrintG4State(); + G4String PrintG4State( G4ApplicationState state ); + // Print Geant4 state + + // Set and Get methods + + G4ErrorRunManagerHelper* GetErrorRunManagerHelper() const + { return theG4ErrorRunManagerHelper; } + + void SetSteppingManagerVerboseLevel(); + + G4ErrorPropagationNavigator* GetErrorPropagationNavigator() const + { return theG4ErrorPropagationNavigator; } + + G4ErrorPropagator* GetPropagator() const + { return thePropagator; } + + private: + + void StartG4ErrorRunManagerHelper(); + // Create a G4ErrorRunManagerHelper if it does not exist and set to it + // the G4ErrorPhysicsList + + void StartNavigator(); + // create a G4ErrorPropagationNavigator + + private: + + static G4ErrorPropagatorManager* theG4ErrorPropagatorManager; + + G4ErrorRunManagerHelper* theG4ErrorRunManagerHelper; + + G4ErrorPropagator* thePropagator; + + G4Mag_UsualEqRhs* theEquationOfMotion; + + G4ErrorPropagationNavigator* theG4ErrorPropagationNavigator; + +}; + +#endif diff --git a/source/error_propagation/include/G4ErrorRunManagerHelper.hh b/source/error_propagation/include/G4ErrorRunManagerHelper.hh new file mode 100644 index 0000000000..db9ec2fcde --- /dev/null +++ b/source/error_propagation/include/G4ErrorRunManagerHelper.hh @@ -0,0 +1,101 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorRunManagerHelper.hh,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// Class Description: +// +// This class helps G4ErrorPropagatorManager with the initialization of +// geometry and physics, definition of actions and run termination +// (things done by G4RunManager in an standard GEANT4 run) +// It holds a pointer to G4RunManagerKernel + +// History: +// - Created: Pedro Arce, January 2005 +// -------------------------------------------------------------------- + +#ifndef G4ErrorRunManagerHelper_hh +#define G4ErrorRunManagerHelper_hh + +class G4RunManagerKernel; +class G4VUserDetectorConstruction; +class G4VPhysicalVolume; +class G4VUserPhysicsList; +class G4UserTrackingAction; +class G4UserSteppingAction; + +class G4ErrorRunManagerHelper +{ + + public: // with description + + G4ErrorRunManagerHelper(); + virtual ~G4ErrorRunManagerHelper(); + + static G4ErrorRunManagerHelper* GetRunManagerKernel(); + // Static method which returns the singleton pointer of + // G4ErrorRunManagerHelper + + void SetUserInitialization(G4VUserDetectorConstruction* userInit); + // Initialize geometry by passing a G4VUserDetectorConstruction + void SetUserInitialization(G4VPhysicalVolume* userInit); + // Initialize geometry by passing a G4VPhysicalVolume + + void SetUserInitialization(G4VUserPhysicsList* userInit); + // Initializes physics + + void SetUserAction(G4UserTrackingAction* userAction); + // Set the user tracking action + void SetUserAction(G4UserSteppingAction* userAction); + // Set the user stepping action + + void RunInitialization(); + // Invokes G4RunManagerKernel RunInitialization(); + + void InitializeGeometry(); + // Initializes GEANT4 geometry + void InitializePhysics(); + // Initializes GEANT4 physics + + void RunTermination(); + // Invokes G4RunManagerKernel RunTermination(); + + G4VUserPhysicsList* GetUserPhysicsList() const + { return theUserPhysicsList; } + + private: + + static G4ErrorRunManagerHelper* fRunManagerKernel; + + G4VUserPhysicsList* theUserPhysicsList; + G4VPhysicalVolume* theUserWorld; + + G4RunManagerKernel* theG4RunManagerKernel; +}; + +#endif diff --git a/source/geometry/biasing/include/G4VWeightWindowExaminer.hh b/source/error_propagation/include/G4ErrorStepLengthLimitProcess.hh similarity index 59% rename from source/geometry/biasing/include/G4VWeightWindowExaminer.hh rename to source/error_propagation/include/G4ErrorStepLengthLimitProcess.hh index db66cfb53e..22e8e937d5 100644 --- a/source/geometry/biasing/include/G4VWeightWindowExaminer.hh +++ b/source/error_propagation/include/G4ErrorStepLengthLimitProcess.hh @@ -24,41 +24,49 @@ // ******************************************************************** // // -// $Id: G4VWeightWindowExaminer.hh,v 1.3 2006/06/29 18:16:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ErrorStepLengthLimitProcess.hh,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// ---------------------------------------------------------------------- -// Class G4VWeightWindowExaminer // -// Class description: +// Class Description: // -// Interface class to a weight window examiner. The examiner -// has to return the number of tracks and their weight according to -// the initial track weight and the energy of the track. +// Limits the step length if change of direction due to magnetic field +// is too big (user defined limit) -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4VWeightWindowExaminer_hh -#define G4VWeightWindowExaminer_hh G4VWeightWindowExaminer_hh +// History: +// - Created: P. Arce, September 2004 +// -------------------------------------------------------------------- +#ifndef G4ErrorStepLengthLimitProcess_hh +#define G4ErrorStepLengthLimitProcess_hh + +#include "G4ios.hh" #include "globals.hh" -#include "G4Nsplit_Weight.hh" +#include "G4VDiscreteProcess.hh" +#include "G4PhysicsTable.hh" +#include "G4PhysicsLogVector.hh" +#include "G4ElementTable.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Step.hh" +#include "G4VErrorLimitProcess.hh" -class G4VWeightWindowExaminer +//----------------------------------------------------------------- + +class G4ErrorStepLengthLimitProcess : public G4VErrorLimitProcess { -public: // with description + public: // with description - // constructor and destructor - G4VWeightWindowExaminer(); - virtual ~G4VWeightWindowExaminer(); + G4ErrorStepLengthLimitProcess(const G4String& processName = + "G4ErrorStepLengthLimit"); + ~G4ErrorStepLengthLimitProcess(); - - - virtual G4Nsplit_Weight Examine(G4double w, G4double energy) const = 0; - // evaluate the number of tracks and their weight according - // to the initial track weight and energy - + virtual G4double + PostStepGetPhysicalInteractionLength( const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition ); + // returns the step length }; - + #endif diff --git a/source/error_propagation/include/G4ErrorSurfaceTrajParam.hh b/source/error_propagation/include/G4ErrorSurfaceTrajParam.hh new file mode 100644 index 0000000000..0803812495 --- /dev/null +++ b/source/error_propagation/include/G4ErrorSurfaceTrajParam.hh @@ -0,0 +1,96 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorSurfaceTrajParam.hh,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// Class Description: +// +// Holds the 5 independent variables of the trajectory for a +// G4ErrorSurfaceTrajState object. It is not used for anything but for +// printing, but anyhow it is updated everytime the position and momentum +// are updated + +// History: +// - Created: P. Arce +// -------------------------------------------------------------------- + +#ifndef G4ErrorSurfaceTrajParam_hh +#define G4ErrorSurfaceTrajParam_hh + +#include "G4Point3D.hh" +#include "G4Vector3D.hh" +#include "G4Plane3D.hh" +#include "G4ThreeVector.hh" + +#include "globals.hh" +#include "G4Track.hh" + +class G4ErrorSurfaceTrajParam +{ + public: // with description + + G4ErrorSurfaceTrajParam(){} + G4ErrorSurfaceTrajParam( const G4Point3D& pos, const G4Vector3D& mom, + const G4Vector3D& vecV, const G4Vector3D& vecW ); + G4ErrorSurfaceTrajParam( const G4Point3D& pos, const G4Vector3D& mom, + const G4Plane3D& plane ); + virtual ~G4ErrorSurfaceTrajParam(){} + + friend + std::ostream& operator<<(std::ostream&, const G4ErrorSurfaceTrajParam& ts); + + // Get and Set methods + + void SetParameters( const G4Point3D& pos, const G4Vector3D& mom, + const G4Vector3D& vecV, const G4Vector3D& vecW ); + void SetParameters( const G4Point3D& pos, const G4Vector3D& mom, + const G4Plane3D& plane ); + + G4Vector3D GetDirection() const { return fDir; } + G4Vector3D GetPlaneNormal() const { return fVectorV.cross(fVectorW); } + G4Vector3D GetVectorV() const { return fVectorV; } + G4Vector3D GetVectorW() const { return fVectorW; } + G4double GetPV() const{ return fPV; } + G4double GetPW() const{ return fPW; } + G4double GetV() const{ return fV; } + G4double GetW() const{ return fW; } + + private: + + G4ThreeVector fDir; + G4Vector3D fVectorV; //one of the vectors defining the plane + G4Vector3D fVectorW; //one of the vectors defining the plane + G4double fInvP; // inverse of momentum + G4double fPV; // projection of momentum in one direction + G4double fPW; // projection of momentum in one direction + G4double fV; // projection of position in one direction + G4double fW; // projection of position in one direction + +}; + +#endif diff --git a/source/error_propagation/include/G4ErrorSurfaceTrajState.hh b/source/error_propagation/include/G4ErrorSurfaceTrajState.hh new file mode 100644 index 0000000000..2de790ed2d --- /dev/null +++ b/source/error_propagation/include/G4ErrorSurfaceTrajState.hh @@ -0,0 +1,136 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorSurfaceTrajState.hh,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// Class description: +// +// Represents a trajectory state on a surface. +// It can be represented by the 5 variables: +// 1/p, v', w', v, w +// where v'=dv/du and w'=dw/du in an orthonormal coordinate system +// with axis u, v and w. + +// History: +// +// - Created: P. Arce +// -------------------------------------------------------------------- + +#ifndef G4ErrorSurfaceTrajState_hh +#define G4ErrorSurfaceTrajState_hh + +#include "globals.hh" + +#include "G4ErrorTrajState.hh" +#include "G4ErrorSurfaceTrajParam.hh" +#include "G4ErrorFreeTrajState.hh" + +#include "G4Point3D.hh" +#include "G4Vector3D.hh" +#include "G4Plane3D.hh" + +class G4ErrorSurfaceTrajState : public G4ErrorTrajState +{ + + public: // with description + + G4ErrorSurfaceTrajState( const G4String& partType, const G4Point3D& pos, + const G4Vector3D& mom, const G4Plane3D& plane, + const G4ErrorTrajErr& errmat = G4ErrorTrajErr(5,0) ); + // Constructor by providing particle, position, momentum and + // G4Plane3D surface + + G4ErrorSurfaceTrajState( const G4String& partType, const G4Point3D& pos, + const G4Vector3D& mom, const G4Vector3D& vecV, + const G4Vector3D& vecW, + const G4ErrorTrajErr& errmat = G4ErrorTrajErr(5,0) ); + // Constructor by providing particle, position, momentum and + // two vectors on surface + + G4ErrorSurfaceTrajState( G4ErrorFreeTrajState& tpSC, const G4Plane3D& plane ); + // Constructor by providing G4ErrorFreeTrajState and G4Plane3D surface + + G4ErrorSurfaceTrajState( G4ErrorFreeTrajState& tpSC, const G4Vector3D& vecV, + const G4Vector3D& vecW ); + // Constructor by providing G4ErrorFreeTrajState and two vectors on surface + + ~G4ErrorSurfaceTrajState(){} + + void BuildErrorMatrix( G4ErrorFreeTrajState& tpSC, const G4Vector3D& vecV, + const G4Vector3D& vecW ); + // Build the error matrix from a free state plus the vectors of the surface + + virtual void Dump( std::ostream& out = G4cout ) const; + + friend + std::ostream& operator<<(std::ostream&, const G4ErrorSurfaceTrajState& ts); + + // Set and Get methods + + G4ErrorSurfaceTrajParam GetParameters() const + { return fTrajParam; } + void SetParameters( const G4Point3D& pos, const G4Vector3D& mom, + const G4Vector3D& vecV, const G4Vector3D& vecW ) + { + fPosition = pos; + fMomentum = mom; + fTrajParam.SetParameters( pos, mom, vecV, vecW ); + } + + void SetParameters( const G4Point3D& pos, const G4Vector3D& mom, + const G4Plane3D& plane ) + { + fPosition = pos; + fMomentum = mom; + fTrajParam.SetParameters( pos, mom, plane ); + } + + G4Vector3D GetVectorV() const + { return fTrajParam.GetVectorV(); } + + G4Vector3D GetVectorW() const + { return fTrajParam.GetVectorW(); } + + virtual void SetPosition( const G4Point3D pos ) + { SetParameters( pos, fMomentum, GetVectorV(), GetVectorW() ); } + + virtual void SetMomentum( const G4Vector3D& mom ) + { SetParameters( fPosition, mom, GetVectorV(), GetVectorW() ); } + + private: + + void Init(); + // Define Trajectory State type and build charge + + private: + + G4ErrorSurfaceTrajParam fTrajParam; + +}; + +#endif diff --git a/source/error_propagation/include/G4ErrorSymMatrix.hh b/source/error_propagation/include/G4ErrorSymMatrix.hh new file mode 100755 index 0000000000..0dceb36a8e --- /dev/null +++ b/source/error_propagation/include/G4ErrorSymMatrix.hh @@ -0,0 +1,301 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorSymMatrix.hh,v 1.2 2007/06/01 12:43:28 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// Class Description: +// +// Simplified version of CLHEP HepSymMatrix class. + +// History: +// - Imported from CLHEP and modified: P. Arce May 2007 +// -------------------------------------------------------------------- + +#ifndef G4ErrorSymMatrix_hh +#define G4ErrorSymMatrix_hh + +#include + +class G4ErrorMatrix; + +class G4ErrorSymMatrix +{ + public: //with description + + inline G4ErrorSymMatrix(); + // Default constructor. Gives 0x0 symmetric matrix. + // Another G4ErrorSymMatrix can be assigned to it. + + explicit G4ErrorSymMatrix(G4int p); + G4ErrorSymMatrix(G4int p, G4int); + // Constructor. Gives p x p symmetric matrix. + // With a second argument, the matrix is initialized. 0 means a zero + // matrix, 1 means the identity matrix. + + G4ErrorSymMatrix(const G4ErrorSymMatrix &m1); + // Copy constructor. + + // Constructor from DiagMatrix + + virtual ~G4ErrorSymMatrix(); + // Destructor. + + inline G4int num_row() const; + inline G4int num_col() const; + // Returns number of rows/columns. + + const G4double & operator()(G4int row, G4int col) const; + G4double & operator()(G4int row, G4int col); + // Read and write a G4ErrorSymMatrix element. + // ** Note that indexing starts from (1,1). ** + + const G4double & fast(G4int row, G4int col) const; + G4double & fast(G4int row, G4int col); + // fast element access. + // Must be row>=col; + // ** Note that indexing starts from (1,1). ** + + void assign(const G4ErrorMatrix &m2); + // Assigns m2 to s, assuming m2 is a symmetric matrix. + + void assign(const G4ErrorSymMatrix &m2); + // Another form of assignment. For consistency. + + G4ErrorSymMatrix & operator*=(G4double t); + // Multiply a G4ErrorSymMatrix by a floating number. + + G4ErrorSymMatrix & operator/=(G4double t); + // Divide a G4ErrorSymMatrix by a floating number. + + G4ErrorSymMatrix & operator+=( const G4ErrorSymMatrix &m2); + G4ErrorSymMatrix & operator-=( const G4ErrorSymMatrix &m2); + // Add or subtract a G4ErrorSymMatrix. + + G4ErrorSymMatrix & operator=( const G4ErrorSymMatrix &m2); + // Assignment operators. Notice that there is no G4ErrorSymMatrix = Matrix. + + G4ErrorSymMatrix operator- () const; + // unary minus, ie. flip the sign of each element. + + G4ErrorSymMatrix T() const; + // Returns the transpose of a G4ErrorSymMatrix (which is itself). + + G4ErrorSymMatrix apply(G4double (*f)(G4double, G4int, G4int)) const; + // Apply a function to all elements of the matrix. + + G4ErrorSymMatrix similarity(const G4ErrorMatrix &m1) const; + G4ErrorSymMatrix similarity(const G4ErrorSymMatrix &m1) const; + // Returns m1*s*m1.T(). + + G4ErrorSymMatrix similarityT(const G4ErrorMatrix &m1) const; + // temporary. test of new similarity. + // Returns m1.T()*s*m1. + + G4ErrorSymMatrix sub(G4int min_row, G4int max_row) const; + // Returns a sub matrix of a G4ErrorSymMatrix. + + void sub(G4int row, const G4ErrorSymMatrix &m1); + // Sub matrix of this G4ErrorSymMatrix is replaced with m1. + + G4ErrorSymMatrix sub(G4int min_row, G4int max_row); + // SGI CC bug. I have to have both with/without const. I should not need + // one without const. + + inline G4ErrorSymMatrix inverse(G4int &ifail) const; + // Invert a Matrix. The matrix is not changed + // Returns 0 when successful, otherwise non-zero. + + void invert(G4int &ifail); + // Invert a Matrix. + // N.B. the contents of the matrix are replaced by the inverse. + // Returns ierr = 0 when successful, otherwise non-zero. + // This method has less overhead then inverse(). + + G4double determinant() const; + // calculate the determinant of the matrix. + + G4double trace() const; + // calculate the trace of the matrix (sum of diagonal elements). + + class G4ErrorSymMatrix_row + { + public: + inline G4ErrorSymMatrix_row(G4ErrorSymMatrix&,G4int); + inline G4double & operator[](G4int); + private: + G4ErrorSymMatrix& _a; + G4int _r; + }; + class G4ErrorSymMatrix_row_const + { + public: + inline G4ErrorSymMatrix_row_const(const G4ErrorSymMatrix&,G4int); + inline const G4double & operator[](G4int) const; + private: + const G4ErrorSymMatrix& _a; + G4int _r; + }; + // helper class to implement m[i][j] + + inline G4ErrorSymMatrix_row operator[] (G4int); + inline G4ErrorSymMatrix_row_const operator[] (G4int) const; + // Read or write a matrix element. + // While it may not look like it, you simply do m[i][j] to get an + // element. + // ** Note that the indexing starts from [0][0]. ** + + // Special-case inversions for 5x5 and 6x6 symmetric positive definite: + // These set ifail=0 and invert if the matrix was positive definite; + // otherwise ifail=1 and the matrix is left unaltered. + + void invertCholesky5 (G4int &ifail); + void invertCholesky6 (G4int &ifail); + + // Inversions for 5x5 and 6x6 forcing use of specific methods: The + // behavior (though not the speed) will be identical to invert(ifail). + + void invertHaywood4 (G4int & ifail); + void invertHaywood5 (G4int &ifail); + void invertHaywood6 (G4int &ifail); + void invertBunchKaufman (G4int &ifail); + + protected: + + inline G4int num_size() const; + + private: + + friend class G4ErrorSymMatrix_row; + friend class G4ErrorSymMatrix_row_const; + friend class G4ErrorMatrix; + + friend void tridiagonal(G4ErrorSymMatrix *a, G4ErrorMatrix *hsm); + friend G4double condition(const G4ErrorSymMatrix &m); + friend void diag_step(G4ErrorSymMatrix *t, G4int begin, G4int end); + friend void diag_step(G4ErrorSymMatrix *t, G4ErrorMatrix *u, + G4int begin, G4int end); + friend G4ErrorMatrix diagonalize(G4ErrorSymMatrix *s); + friend void house_with_update2(G4ErrorSymMatrix *a, G4ErrorMatrix *v, + G4int row, G4int col); + + friend G4ErrorSymMatrix operator+(const G4ErrorSymMatrix &m1, + const G4ErrorSymMatrix &m2); + friend G4ErrorSymMatrix operator-(const G4ErrorSymMatrix &m1, + const G4ErrorSymMatrix &m2); + friend G4ErrorMatrix operator*(const G4ErrorSymMatrix &m1, + const G4ErrorSymMatrix &m2); + friend G4ErrorMatrix operator*(const G4ErrorSymMatrix &m1, + const G4ErrorMatrix &m2); + friend G4ErrorMatrix operator*(const G4ErrorMatrix &m1, + const G4ErrorSymMatrix &m2); + // Multiply a Matrix by a Matrix or Vector. + + // Returns v * v.T(); + + std::vector m; + + G4int nrow; + G4int size; // total number of elements + + static G4double posDefFraction5x5; + static G4double adjustment5x5; + static const G4double CHOLESKY_THRESHOLD_5x5; + static const G4double CHOLESKY_CREEP_5x5; + + static G4double posDefFraction6x6; + static G4double adjustment6x6; + static const G4double CHOLESKY_THRESHOLD_6x6; + static const G4double CHOLESKY_CREEP_6x6; + + void invert4 (G4int & ifail); + void invert5 (G4int & ifail); + void invert6 (G4int & ifail); +}; + +// +// Operations other than member functions for Matrix, G4ErrorSymMatrix, +// DiagMatrix and Vectors +// + +std::ostream& operator<<(std::ostream &s, const G4ErrorSymMatrix &q); +// Write out Matrix, G4ErrorSymMatrix, DiagMatrix and Vector into ostream. + +G4ErrorMatrix operator*(const G4ErrorMatrix &m1, + const G4ErrorSymMatrix &m2); +G4ErrorMatrix operator*(const G4ErrorSymMatrix &m1, + const G4ErrorMatrix &m2); +G4ErrorMatrix operator*(const G4ErrorSymMatrix &m1, + const G4ErrorSymMatrix &m2); +G4ErrorSymMatrix operator*(G4double t, const G4ErrorSymMatrix &s1); +G4ErrorSymMatrix operator*(const G4ErrorSymMatrix &s1, G4double t); +// Multiplication operators. +// Note that m *= m1 is always faster than m = m * m1 + +G4ErrorSymMatrix operator/(const G4ErrorSymMatrix &m1, G4double t); +// s = s1 / t. (s /= t is faster if you can use it.) + +G4ErrorMatrix operator+(const G4ErrorMatrix &m1, + const G4ErrorSymMatrix &s2); +G4ErrorMatrix operator+(const G4ErrorSymMatrix &s1, + const G4ErrorMatrix &m2); +G4ErrorSymMatrix operator+(const G4ErrorSymMatrix &s1, + const G4ErrorSymMatrix &s2); +// Addition operators + +G4ErrorMatrix operator-(const G4ErrorMatrix &m1, + const G4ErrorSymMatrix &s2); +G4ErrorMatrix operator-(const G4ErrorSymMatrix &m1, + const G4ErrorMatrix &m2); +G4ErrorSymMatrix operator-(const G4ErrorSymMatrix &s1, + const G4ErrorSymMatrix &s2); +// subtraction operators + +G4ErrorSymMatrix dsum(const G4ErrorSymMatrix &s1, + const G4ErrorSymMatrix &s2); +// Direct sum of two symmetric matrices; + +G4double condition(const G4ErrorSymMatrix &m); +// Find the conditon number of a symmetric matrix. + +void diag_step(G4ErrorSymMatrix *t, G4int begin, G4int end); +void diag_step(G4ErrorSymMatrix *t, G4ErrorMatrix *u, G4int begin, G4int end); +// Implicit symmetric QR step with Wilkinson Shift + +G4ErrorMatrix diagonalize(G4ErrorSymMatrix *s); +// Diagonalize a symmetric matrix. +// It returns the matrix U so that s_old = U * s_diag * U.T() + +void house_with_update2(G4ErrorSymMatrix *a, G4ErrorMatrix *v, + G4int row=1, G4int col=1); +// Finds and does Householder reflection on matrix. + +void tridiagonal(G4ErrorSymMatrix *a, G4ErrorMatrix *hsm); +G4ErrorMatrix tridiagonal(G4ErrorSymMatrix *a); +// Does a Householder tridiagonalization of a symmetric matrix. + +#include "G4ErrorSymMatrix.icc" + +#endif diff --git a/source/error_propagation/include/G4ErrorSymMatrix.icc b/source/error_propagation/include/G4ErrorSymMatrix.icc new file mode 100755 index 0000000000..3b0f712805 --- /dev/null +++ b/source/error_propagation/include/G4ErrorSymMatrix.icc @@ -0,0 +1,141 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorSymMatrix.icc,v 1.2 2007/06/01 12:43:28 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class inline implementation +// ------------------------------------------------------------ + + +inline G4ErrorSymMatrix::G4ErrorSymMatrix() + : m(0), nrow(0), size(0) +{ +} + +inline G4int G4ErrorSymMatrix::num_row() const +{ + return nrow; +} + +inline G4int G4ErrorSymMatrix::num_col() const +{ + return nrow; +} + +inline G4int G4ErrorSymMatrix::num_size() const +{ + return size; +} + +inline G4double & G4ErrorSymMatrix::fast(G4int row,G4int col) +{ + return *(m.begin()+(row*(row-1))/2+(col-1)); +} + +inline const G4double & G4ErrorSymMatrix::fast(G4int row,G4int col) const +{ + return *(m.begin()+(row*(row-1))/2+(col-1)); +} + +inline G4double & +G4ErrorSymMatrix::operator()(G4int row, G4int col) +{ + return (row>=col? fast(row,col) : fast(col,row)); +} + +inline const G4double & +G4ErrorSymMatrix::operator()(G4int row, G4int col) const +{ + return (row>=col? fast(row,col) : fast(col,row)); +} + +inline void G4ErrorSymMatrix::assign(const G4ErrorSymMatrix &m2) +{ + (*this)=m2; +} + +inline G4ErrorSymMatrix G4ErrorSymMatrix::T() const +{ + return G4ErrorSymMatrix(*this); +} + +inline G4ErrorSymMatrix::G4ErrorSymMatrix_row +G4ErrorSymMatrix::operator[] (G4int r) +{ + G4ErrorSymMatrix_row b(*this,r); + return b; +} + +inline G4ErrorSymMatrix::G4ErrorSymMatrix_row_const +G4ErrorSymMatrix::operator[] (G4int r) const +{ + const G4ErrorSymMatrix_row_const b(*this,r); + return b; +} + +inline G4double &G4ErrorSymMatrix::G4ErrorSymMatrix_row::operator[](G4int c) +{ + if (_r >= c ) + { + return *(_a.m.begin() + (_r+1)*_r/2 + c); + } + else + { + return *(_a.m.begin() + (c+1)*c/2 + _r); + } +} + +inline const G4double & +G4ErrorSymMatrix::G4ErrorSymMatrix_row_const::operator[](G4int c) const +{ + if (_r >= c ) + { + return *(_a.m.begin() + (_r+1)*_r/2 + c); + } + else + { + return *(_a.m.begin() + (c+1)*c/2 + _r); + } +} + +inline G4ErrorSymMatrix:: +G4ErrorSymMatrix_row::G4ErrorSymMatrix_row(G4ErrorSymMatrix &a, G4int r) + : _a(a), _r(r) +{} + +inline G4ErrorSymMatrix:: +G4ErrorSymMatrix_row_const::G4ErrorSymMatrix_row_const +(const G4ErrorSymMatrix&a,G4int r) + : _a(a), _r(r) +{} + +inline G4ErrorSymMatrix G4ErrorSymMatrix::inverse(G4int &ifail) const +{ + G4ErrorSymMatrix mTmp(*this); + mTmp.invert(ifail); + return mTmp; +} diff --git a/source/error_propagation/include/G4ErrorTrackLengthTarget.hh b/source/error_propagation/include/G4ErrorTrackLengthTarget.hh new file mode 100644 index 0000000000..f877200c3d --- /dev/null +++ b/source/error_propagation/include/G4ErrorTrackLengthTarget.hh @@ -0,0 +1,92 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorTrackLengthTarget.hh,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// Class Description: +// +// G4ErrorTarget class: limits step when track length is bigger than +// theMaximumTrackLength. It is a G4VDiscreteProcess: limits the step in +// PostStepGetPhysicalInteractionLength(). + +// History: +// - Created. P. Arce, September 2004 +// -------------------------------------------------------------------- + +#ifndef G4ErrorTrackLengthTarget_hh +#define G4ErrorTrackLengthTarget_hh + +#include "G4ios.hh" +#include "globals.hh" +#include "G4VDiscreteProcess.hh" +#include "G4PhysicsTable.hh" +#include "G4PhysicsLogVector.hh" +#include "G4ElementTable.hh" +#include "G4Step.hh" +#include "G4ErrorTarget.hh" + +//---------------------------------------------------------------------------- + +class G4ErrorTrackLengthTarget : public G4VDiscreteProcess, + public G4ErrorTarget +{ + public: // with description + + G4ErrorTrackLengthTarget(const G4double maxTrkLength ); + // Constructs and add this process to G4ProcessManager of all particles + virtual ~G4ErrorTrackLengthTarget(){} + + // These methods are dummy, as the step limitation is done in the + // PostStepGetPhysicalInteractionLength(). + + virtual G4double GetDistanceFromPoint( const G4ThreeVector&, + const G4ThreeVector& ) const + { return DBL_MAX; } + virtual G4double GetDistanceFromPoint( const G4ThreeVector& ) const + { return DBL_MAX; } + + virtual G4double + PostStepGetPhysicalInteractionLength( const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition ); + // Checks if the maximum track length has been reached + + virtual G4double GetMeanFreePath(const class G4Track & track, + G4double, G4ForceCondition *); + // Mean free path = theMaximumTrackLength - track.GetTrackLength() + + virtual G4VParticleChange* PostStepDoIt( const G4Track&, const G4Step& ); + + virtual void Dump( const G4String& msg ) const; + + private: + + G4double theMaximumTrackLength; +}; + +#endif diff --git a/source/geometry/biasing/src/G4VParallelStepper.cc b/source/error_propagation/include/G4ErrorTrajErr.hh similarity index 79% rename from source/geometry/biasing/src/G4VParallelStepper.cc rename to source/error_propagation/include/G4ErrorTrajErr.hh index b01a6e138f..cb917b2134 100644 --- a/source/geometry/biasing/src/G4VParallelStepper.cc +++ b/source/error_propagation/include/G4ErrorTrajErr.hh @@ -24,20 +24,24 @@ // ******************************************************************** // // -// $Id: G4VParallelStepper.cc,v 1.2 2006/06/29 18:17:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ErrorTrajErr.hh,v 1.3 2007/05/31 20:27:07 arce Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// ---------------------------------------------------------------------- -// GEANT 4 class source file // -// G4VParallelStepper.cc +// Class Description: // -// ---------------------------------------------------------------------- +// Trajectory error. Implemented for the moment as a CLHEP HepG4ErrorSymMatrix, +// until other possibly faster implementations are studied -#include "G4VParallelStepper.hh" +// History: +// - Created: P. Arce +// -------------------------------------------------------------------- -G4VParallelStepper::G4VParallelStepper() -{} +#ifndef G4ErrorTrajErr_hh +#define G4ErrorTrajErr_hh -G4VParallelStepper::~G4VParallelStepper() -{} +#include "G4ErrorSymMatrix.hh" + +typedef G4ErrorSymMatrix G4ErrorTrajErr; + +#endif diff --git a/source/error_propagation/include/G4ErrorTrajState.hh b/source/error_propagation/include/G4ErrorTrajState.hh new file mode 100644 index 0000000000..655c4b292e --- /dev/null +++ b/source/error_propagation/include/G4ErrorTrajState.hh @@ -0,0 +1,138 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorTrajState.hh,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// Class Description: +// +// Base class for the trajectory state + +// History: +// - Created: P. Arce +// -------------------------------------------------------------------- + +#ifndef G4ErrorTrajState_hh +#define G4ErrorTrajState_hh + +#include "globals.hh" +#include "G4Track.hh" +#include "G4Point3D.hh" +#include "G4Vector3D.hh" +#include "G4ErrorTrajErr.hh" + +enum G4eTSType{ G4eTS_FREE, G4eTS_OS }; + +class G4ErrorTrajState +{ + public: // with description + + G4ErrorTrajState(){} + + G4ErrorTrajState( const G4String& partType, const G4Point3D& pos, + const G4Vector3D& mom, + const G4ErrorTrajErr& errmat = G4ErrorTrajErr(5,0) ); + // Constructor by providing particle, position and momentum + + virtual ~G4ErrorTrajState(){} + + void SetData( const G4String& partType, const G4Point3D& pos, + const G4Vector3D& mom ); + // Set particle, position and momentum + + void BuildCharge(); + // Build charge based on particle type + + friend + std::ostream& operator<<(std::ostream&, const G4ErrorTrajState& ts); + + virtual G4int PropagateError( const G4Track* ); + // Propagate the error along the step + + virtual G4int Update( const G4Track* ){ return -1; } + // Update parameters from G4Track + + void UpdatePosMom( const G4Point3D& pos, const G4Vector3D& mom ); + // Update position and momentum + + void DumpPosMomError( std::ostream& out = G4cout ) const; + // Dump position, momentum and error + + virtual void Dump( std::ostream& out = G4cout ) const = 0; + // Abstract method to dump all TrajState parameters + + // Set and Get methods + + const G4String& GetParticleType() const + { return fParticleType;} + void SetParticleType( const G4String& partType ) + { fParticleType = partType;} + + G4Point3D GetPosition() const + { return fPosition; } + virtual void SetPosition( const G4Point3D pos ) + { fPosition = pos; } + + G4Vector3D GetMomentum() const + { return fMomentum; } + virtual void SetMomentum( const G4Vector3D& mom ) + { fMomentum = mom; } + + G4ErrorTrajErr GetError() const + { return fError; } + virtual void SetError( G4ErrorTrajErr em ) + { fError = em; } + + G4Track* GetG4Track() const + { return theG4Track; } + void SetG4Track( G4Track* trk ) + { theG4Track = trk; } + + G4double GetCharge() const + { return fCharge; } + void SetCharge( G4double ch ) + { fCharge = ch; } + + virtual G4eTSType GetTSType() const + { return theTSType; } + + protected: + + G4String fParticleType; + G4Point3D fPosition; + G4Vector3D fMomentum; + G4double fCharge; + G4ErrorTrajErr fError; + + G4eTSType theTSType; + + G4Track* theG4Track; + + G4int iverbose; +}; + +#endif diff --git a/source/error_propagation/include/G4VErrorLimitProcess.hh b/source/error_propagation/include/G4VErrorLimitProcess.hh new file mode 100644 index 0000000000..2d5911b35b --- /dev/null +++ b/source/error_propagation/include/G4VErrorLimitProcess.hh @@ -0,0 +1,92 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4VErrorLimitProcess.hh,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// Class description: +// +// Base class for classes limiting the step. + +// History: +// +// Created: P.Arce May 2007 +// -------------------------------------------------------------------- + +#ifndef G4VErrorLimitProcess_hh +#define G4VErrorLimitProcess_hh + +#include "G4ios.hh" +#include "globals.hh" +#include "G4VDiscreteProcess.hh" +#include "G4PhysicsTable.hh" +#include "G4PhysicsLogVector.hh" +#include "G4ElementTable.hh" +#include "G4Gamma.hh" +#include "G4Electron.hh" +#include "G4Step.hh" + +class G4ErrorLimitsMessenger; + +//----------------------------------------------------------------- + +class G4VErrorLimitProcess : public G4VDiscreteProcess +{ + + public: // with description + + G4VErrorLimitProcess(const G4String& processName); + + ~G4VErrorLimitProcess(); + + virtual G4double + PostStepGetPhysicalInteractionLength( const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition ) = 0; + // Returns the step limit + + virtual G4double GetMeanFreePath(const class G4Track &, G4double, + enum G4ForceCondition *); + // Returns kInfinity + + virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step& ); + // No action but retrieving the G4VParticleChange + // extracted from the G4Track + + // Get and Set methods + + G4double GetStepLimit() const { return theStepLimit; } + void SetStepLimit( G4double val ) { theStepLimit = val; } + + protected: + + G4double theStepLimit; // limit set by the user + G4double theStepLength; // step length extracted from the user step limit, + // with the algorithms of each concrete class +}; + +#endif diff --git a/source/error_propagation/src/G4ErrorFreeTrajParam.cc b/source/error_propagation/src/G4ErrorFreeTrajParam.cc new file mode 100644 index 0000000000..0932bc3a81 --- /dev/null +++ b/source/error_propagation/src/G4ErrorFreeTrajParam.cc @@ -0,0 +1,94 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorFreeTrajParam.cc,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// + +#include "G4ErrorFreeTrajParam.hh" +#include "G4ThreeVector.hh" + +#include + +//------------------------------------------------------------------------ +G4ErrorFreeTrajParam::G4ErrorFreeTrajParam( const G4Point3D& pos, + const G4Vector3D& mom ) +{ + SetParameters( pos, mom ); +} + + +//------------------------------------------------------------------------ +void G4ErrorFreeTrajParam::SetParameters( const G4Point3D& pos, + const G4Vector3D& mom ) +{ + fDir = mom; + fInvP = 1./mom.mag(); + fLambda = 90.*deg - mom.theta(); + fPhi = mom.phi(); + G4Vector3D vxPerp(0.,0.,0.); + if( mom.mag() > 0.) { + vxPerp = mom/mom.mag(); + } + G4Vector3D vyPerp = G4Vector3D( -vxPerp.y(), vxPerp.x(), 0.); + G4Vector3D vzPerp = vxPerp.cross( vyPerp ); + // check if right handed + // fXPerp = pos.proj( mom ); + G4ThreeVector posv(pos); + if( vyPerp.mag() != 0. ) { + fYPerp = posv.project( vyPerp ).mag(); + fZPerp = posv.project( vzPerp ).mag(); + } else { + fYPerp = 0.; + fZPerp = 0.; + } +} + +//------------------------------------------------------------------------ +void G4ErrorFreeTrajParam::Update( const G4Track* aTrack ) +{ + SetParameters( aTrack->GetPosition(), aTrack->GetMomentum() ); + +} + + +//------------------------------------------------------------------------ +std::ostream& operator<<(std::ostream& out, const G4ErrorFreeTrajParam& tp) +{ + // long mode = out.setf(std::ios::fixed,std::ios::floatfield); + + // out << tp.theType; + // out << std::setprecision(5) << std::setw(10); + out << std::setprecision(8) << " InvP= " << tp.fInvP << " Theta= " + << tp.fLambda << " Phi= " << tp.fPhi << " YPerp= " << tp.fYPerp + << " ZPerp= " << tp.fZPerp << G4endl; + out << " momentum direction= " << tp.fDir << G4endl; + + return out; +} diff --git a/source/error_propagation/src/G4ErrorFreeTrajState.cc b/source/error_propagation/src/G4ErrorFreeTrajState.cc new file mode 100644 index 0000000000..1bfcd52d64 --- /dev/null +++ b/source/error_propagation/src/G4ErrorFreeTrajState.cc @@ -0,0 +1,702 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorFreeTrajState.cc,v 1.6 2007/06/21 15:04:04 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// +#include "G4ErrorFreeTrajState.hh" +#include "G4ErrorFreeTrajParam.hh" +#include "G4ErrorSurfaceTrajState.hh" + +#include "G4ErrorMatrix.hh" +#include + +#include "G4Field.hh" +#include "G4FieldManager.hh" +#include "G4TransportationManager.hh" +#include "G4GeometryTolerance.hh" +#include "G4Material.hh" +#include "G4ErrorPropagatorData.hh" + +//------------------------------------------------------------------------ +G4ErrorFreeTrajState::G4ErrorFreeTrajState( const G4String& partType, const G4Point3D& pos, const G4Vector3D& mom, const G4ErrorTrajErr& errmat) : G4ErrorTrajState( partType, pos, mom, errmat ) +{ + fTrajParam = G4ErrorFreeTrajParam( pos, mom ); + Init(); +} + + +//------------------------------------------------------------------------ +G4ErrorFreeTrajState::G4ErrorFreeTrajState( const G4ErrorSurfaceTrajState& tpSD ) : G4ErrorTrajState( tpSD.GetParticleType(), tpSD.GetPosition(), tpSD.GetMomentum() ) +{ + // G4ThreeVector planeNormal = tpSD.GetPlaneNormal(); + // G4double fPt = tpSD.GetMomentum()*planeNormal;//mom projected on normal to plane + // G4ErrorSurfaceTrajParam tpSDparam = tpSD.GetParameters(); + // G4ThreeVector Psc = fPt * planeNormal + tpSDparam.GetPU()*tpSDparam.GetVectorU() + tpSD.GetPV()*tpSD.GetVectorW(); + + fTrajParam = G4ErrorFreeTrajParam( fPosition, fMomentum ); + Init(); + + //----- Get the error matrix in SC coordinates + G4ErrorSurfaceTrajParam tpSDparam = tpSD.GetParameters(); + G4double mom = fMomentum.mag(); + G4double mom2 = fMomentum.mag2(); + G4double TVW1 = std::sqrt( mom2 / ( mom2 + tpSDparam.GetPV()*tpSDparam.GetPV() + tpSDparam.GetPV()*tpSDparam.GetPV()) ); + G4ThreeVector vTVW( TVW1, tpSDparam.GetPV()/mom * TVW1, tpSDparam.GetPW()/mom * TVW1 ); + G4Vector3D vectorU = tpSDparam.GetVectorV().cross( tpSDparam.GetVectorW() ); + G4Vector3D vTN = vTVW.x()*vectorU + vTVW.y()*tpSDparam.GetVectorV() + vTVW.z()*tpSDparam.GetVectorW(); + +#ifdef G4EVERBOSE + if( iverbose >= 5){ + G4double pc2 = std::asin( vTN.z() ); + G4double pc3 = std::atan (vTN.y()/vTN.x()); + + G4cout << " CHECK: pc2 " << pc2 << " = " << GetParameters().GetLambda() << " diff " << pc2-GetParameters().GetLambda() << G4endl; + G4cout << " CHECK: pc3 " << pc3 << " = " << GetParameters().GetPhi() << " diff " << pc3-GetParameters().GetPhi() << G4endl; + } +#endif + + //--- Get the unit vectors perp to P + G4double cosl = std::cos( GetParameters().GetLambda() ); + if (cosl < 1.E-30) cosl = 1.E-30; + G4double cosl1 = 1./cosl; + G4Vector3D vUN(-vTN.y()*cosl1, vTN.x()*cosl1, 0. ); + G4Vector3D vVN(-vTN.z()*vUN.y(), vTN.z()*vUN.x(), cosl ); + + G4Vector3D vUperp = G4Vector3D( -fMomentum.y(), fMomentum.x(), 0.); + G4Vector3D vVperp = vUperp.cross( fMomentum ); + vUperp *= 1./vUperp.mag(); + vVperp *= 1./vVperp.mag(); + +#ifdef G4EVERBOSE + if( iverbose >= 5){ + G4cout << " CHECK: vUN " << vUN << " = " << vUperp << " diff " << (vUN-vUperp).mag() << G4endl; + G4cout << " CHECK: vVN " << vVN << " = " << vVperp << " diff " << (vVN-vVperp).mag() << G4endl; + } +#endif + + //get the dot products of vectors perpendicular to direction and vector defining SD plane + G4double dUU = vUperp * tpSD.GetVectorV(); + G4double dUV = vUperp * tpSD.GetVectorW(); + G4double dVU = vVperp * tpSD.GetVectorV(); + G4double dVV = vVperp * tpSD.GetVectorW(); + + + //--- Get transformation first + G4ErrorMatrix transfM(5, 5, 1 ); + //--- Get magnetic field + const G4Field* field = G4TransportationManager::GetTransportationManager()->GetFieldManager()->GetDetectorField(); + G4ThreeVector dir = fTrajParam.GetDirection(); + G4double invCosTheta = 1./std::cos( dir.theta() ); + + if( fCharge != 0 +&& field ) { + G4double pos1[3]; pos1[0] = fPosition.x()*cm; pos1[1] = fPosition.y()*cm; pos1[2] = fPosition.z()*cm; + G4double h1[3]; + field->GetFieldValue( pos1, h1 ); + G4ThreeVector HPre = G4ThreeVector( h1[0], h1[1], h1[2] ) / tesla *10.; + G4double magHPre = HPre.mag(); + G4double invP = 1./fMomentum.mag(); + G4double magHPreM = magHPre * invP; + if( magHPre != 0. ) { + G4double magHPreM2 = fCharge / magHPre; + + G4double Q = -magHPreM * c_light; + G4double sinz = -HPre*vUperp * magHPreM2; + G4double cosz = HPre*vVperp * magHPreM2; + + transfM[1][3] = -Q*dir.y()*sinz; + transfM[1][4] = -Q*dir.z()*sinz; + transfM[2][3] = -Q*dir.y()*cosz*invCosTheta; + transfM[2][4] = -Q*dir.z()*cosz*invCosTheta; + } + } + + transfM[0][0] = 1.; + transfM[1][1] = dir.x()*dVU; + transfM[1][2] = dir.x()*dVV; + transfM[2][1] = dir.x()*dUU*invCosTheta; + transfM[2][2] = dir.x()*dUV*invCosTheta; + transfM[3][3] = dUU; + transfM[3][4] = dUV; + transfM[4][3] = dVU; + transfM[4][4] = dVV; + + fError = G4ErrorTrajErr( tpSD.GetError().similarity( transfM ) ); + +#ifdef G4EVERBOSE + if( iverbose >= 1) G4cout << "error matrix SD2SC " << fError << G4endl; + if( iverbose >= 4) G4cout << "G4ErrorFreeTrajState from SD " << *this << G4endl; +#endif +} + + +//------------------------------------------------------------------------ +void G4ErrorFreeTrajState::Init() +{ + theTSType = G4eTS_FREE; + BuildCharge(); + theTransfMat = G4ErrorMatrix(5,5,0); + //- theFirstStep = true; +} + +//------------------------------------------------------------------------ +void G4ErrorFreeTrajState::Dump( std::ostream& out ) const +{ + out << *this; +} + +//------------------------------------------------------------------------ +G4int G4ErrorFreeTrajState::Update( const G4Track* aTrack ) +{ + G4int ierr = 0; + fTrajParam.Update( aTrack ); + UpdatePosMom( aTrack->GetPosition(), aTrack->GetMomentum() ); + return ierr; + +} + + +//------------------------------------------------------------------------ +std::ostream& operator<<(std::ostream& out, const G4ErrorFreeTrajState& ts) +{ + out.setf(std::ios::fixed,std::ios::floatfield); + + + ts.DumpPosMomError( out ); + + out << " G4ErrorFreeTrajState: Params: " << ts.fTrajParam << G4endl; + + return out; + +} + + +//------------------------------------------------------------------------ +G4int G4ErrorFreeTrajState::PropagateError( const G4Track* aTrack ) +{ + G4double stepLengthCm = aTrack->GetStep()->GetStepLength()/cm; + G4double kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + + if( std::fabs(stepLengthCm) <= kCarTolerance/cm ) return 0; + +#ifdef G4EVERBOSE + if( iverbose >= 2 )G4cout << " G4ErrorFreeTrajState::PropagateError " << G4endl; +#endif + + // * *** ERROR PROPAGATION ON A HELIX ASSUMING SC VARIABLES + G4Point3D vposPost = aTrack->GetPosition()/cm; + G4Vector3D vpPost = aTrack->GetMomentum()/GeV; + // G4Point3D vposPre = fPosition/cm; + // G4Vector3D vpPre = fMomentum/GeV; + G4Point3D vposPre = aTrack->GetStep()->GetPreStepPoint()->GetPosition()/cm; + G4Vector3D vpPre = aTrack->GetStep()->GetPreStepPoint()->GetMomentum()/GeV; + //correct to avoid propagation along Z + if( vpPre.mag() == vpPre.z() ) vpPre.setX( 1.E-6*MeV ); + if( vpPost.mag() == vpPost.z() ) vpPost.setX( 1.E-6*MeV ); + + G4double pPre = vpPre.mag(); + G4double pPost = vpPost.mag(); +#ifdef G4EVERBOSE + if( iverbose >= 2 ) { + G4cout << "G4EP: vposPre " << vposPre << G4endl + << "G4EP: vposPost " << vposPost << G4endl; + G4cout << "G4EP: vpPre " << vpPre << G4endl + << "G4EP: vpPost " << vpPost << G4endl; + G4cout << " err start step " << fError << G4endl; + G4cout << "G4EP: stepLengthCm " << stepLengthCm << G4endl; + } +#endif + + if( pPre == 0. || pPost == 0 ) return 2; + G4double pInvPre = 1./pPre; + G4double pInvPost = 1./pPost; + G4double deltaPInv = pInvPost - pInvPre; + + G4Vector3D vpPreNorm = vpPre * pInvPre; + G4Vector3D vpPostNorm = vpPost * pInvPost; + // if( iverbose >= 2 ) G4cout << "G4EP: vpPreNorm " << vpPreNorm << " vpPostNorm " << vpPostNorm << G4endl; + //return if propagation along Z?? + if( 1. - std::fabs(vpPostNorm.z()) < kCarTolerance ) return 4; + G4double sinpPre = std::sin( vpPreNorm.theta() ); //cosine perpendicular to pPre = sine pPre + G4double sinpPost = std::sin( vpPostNorm.theta() ); //cosine perpendicular to pPost = sine pPost + G4double sinpPostInv = 1./std::sin( vpPreNorm.theta() ); + +#ifdef G4EVERBOSE + if( iverbose >= 2 ) G4cout << "G4EP: cosl " << sinpPre << " cosl0 " << sinpPost << G4endl; +#endif + //* *** DEFINE TRANSFORMATION MATRIX BETWEEN X1 AND X2 FOR + //* *** NEUTRAL PARTICLE OR FIELDFREE REGION + G4ErrorMatrix transf(5, 5, 0 ); + + transf[3][2] = stepLengthCm * sinpPost; + transf[4][1] = stepLengthCm; + for( size_t ii=0;ii < 5; ii++ ){ + transf[ii][ii] = 1.; + } +#ifdef G4EVERBOSE + if( iverbose >= 2 ) { + G4cout << "G4EP: transf matrix neutral " << transf; + } +#endif + + // charge X propagation direction + G4double charge = aTrack->GetDynamicParticle()->GetCharge(); + if( G4ErrorPropagatorData::GetErrorPropagatorData()->GetMode() == G4ErrorMode_PropBackwards ) { + charge *= -1.; + } + // G4cout << " charge " << charge << G4endl; + //t check if particle has charge + //t if( charge == 0 ) goto 45; + // check if the magnetic field is = 0. + + //position is from geant4, it is assumed to be in mm (for debugging, eventually it will not be transformed) + G4double pos1[3]; pos1[0] = vposPre.x()*cm; pos1[1] = vposPre.y()*cm; pos1[2] = vposPre.z()*cm; + G4double pos2[3]; pos2[0] = vposPost.x()*cm; pos2[1] = vposPost.y()*cm; pos2[2] = vposPost.z()*cm; + G4double h1[3], h2[3]; + + const G4Field* field = G4TransportationManager::GetTransportationManager()->GetFieldManager()->GetDetectorField(); + if( !field ) return 0; //goto 45 + + // calculate transformation except it NEUTRAL PARTICLE OR FIELDFREE REGION + if( charge != 0. && field ) { + + field->GetFieldValue( pos1, h1 ); + field->GetFieldValue( pos2, h2 ); + G4ThreeVector HPre = G4ThreeVector( h1[0], h1[1], h1[2] ) / tesla *10.; //10. is to get same dimensions as GEANT3 (kilogauss) + G4ThreeVector HPost= G4ThreeVector( h2[0], h2[1], h2[2] ) / tesla *10.; + G4double magHPre = HPre.mag(); + G4double magHPost = HPost.mag(); +#ifdef G4EVERBOSE + if( iverbose >= 2 ) G4cout << "G4EP: HPre " << HPre << G4endl + << "G4EP: HPost " << HPost << G4endl; +#endif + + if( magHPre + magHPost != 0. ) { + + //* *** CHECK WHETHER H*ALFA/P IS TOO DIFFERENT AT X1 AND X2 + G4double gam; + if( magHPost != 0. ){ + gam = HPost * vpPostNorm / magHPost; + }else { + gam = HPre * vpPreNorm / magHPre; + } + + // G4eMagneticLimitsProcess will limit the step, but based on an straight line trajectory + G4double alphaSqr = 1. - gam * gam; + G4double diffHSqr = ( HPre * pInvPre - HPost * pInvPost ).mag2(); + G4double delhp6Sqr = 300.*300.; +#ifdef G4EVERBOSE + if( iverbose >= 2 ) G4cout << " G4EP: gam " << gam << " alphaSqr " << alphaSqr << " diffHSqr " << diffHSqr << G4endl; +#endif + if( diffHSqr * alphaSqr > delhp6Sqr ) return 3; + + + //* *** DEFINE AVERAGE MAGNETIC FIELD AND GRADIENT + G4double pInvAver = 1./(pInvPre + pInvPost ); + G4double CFACT8 = 2.997925E-4; + //G4double HAver + G4ThreeVector vHAverNorm( (HPre*pInvPre + HPost*pInvPost ) * pInvAver * charge * CFACT8 ); + G4double HAver = vHAverNorm.mag(); + G4double invHAver = 1./HAver; + vHAverNorm *= invHAver; +#ifdef G4EVERBOSE + if( iverbose >= 2 ) G4cout << " G4EP: HaverNorm " << vHAverNorm << " magHAver " << HAver << " charge " << charge<< G4endl; +#endif + + G4double pAver = (pPre+pPost)*0.5; + G4double QAver = -HAver/pAver; + G4double thetaAver = QAver * stepLengthCm; + G4double sinThetaAver = std::sin(thetaAver); + G4double cosThetaAver = std::cos(thetaAver); + G4double gamma = vHAverNorm * vpPostNorm; + G4ThreeVector AN2 = vHAverNorm.cross( vpPostNorm ); + +#ifdef G4EVERBOSE + if( iverbose >= 2 ) G4cout << " G4EP: AN2 " << AN2 << G4endl; +#endif + G4double AU = 1./vpPreNorm.perp(); + //t G4ThreeVector vU( vpPreNorm.cross( G4ThreeVector(0.,0.,1.) ) * AU ); + G4ThreeVector vUPre( -AU*vpPreNorm.y(), + AU*vpPreNorm.x(), + 0. ); + G4ThreeVector vVPre( -vpPreNorm.z()*vUPre.y(), + vpPreNorm.z()*vUPre.x(), + vpPreNorm.x()*vUPre.y() - vpPreNorm.y()*vUPre.x() ); + + // + AU = 1./vpPostNorm.perp(); + //t G4ThreeVector vU( vpPostNorm.cross( G4ThreeVector(0.,0.,1.) ) * AU ); + G4ThreeVector vUPost( -AU*vpPostNorm.y(), + AU*vpPostNorm.x(), + 0. ); + G4ThreeVector vVPost( -vpPostNorm.z()*vUPost.y(), + vpPostNorm.z()*vUPost.x(), + vpPostNorm.x()*vUPost.y() - vpPostNorm.y()*vUPost.x() ); +#ifdef G4EVERBOSE + //- G4cout << " vpPostNorm " << vpPostNorm << G4endl; + if( iverbose >= 2 ) G4cout << " G4EP: AU " << AU << " vUPre " << vUPre << " vVPre " << vVPre << " vUPost " << vUPost << " vVPost " << vVPost << G4endl; +#endif + G4Point3D deltaPos( vposPre - vposPost ); + + // * *** COMPLETE TRANSFORMATION MATRIX BETWEEN ERRORS AT X1 AND X2 + // * *** FIELD GRADIENT PERPENDICULAR TO TRACK IS PRESENTLY NOT + // * *** TAKEN INTO ACCOUNT + + G4double QP = QAver * pAver; // = -HAver +#ifdef G4EVERBOSE + if( iverbose >= 2) G4cout << " G4EP: QP " << QP << " QAver " << QAver << " pAver " << pAver << G4endl; +#endif + G4double ANV = -( vHAverNorm.x()*vUPost.x() + vHAverNorm.y()*vUPost.y() ); + G4double ANU = ( vHAverNorm.x()*vVPost.x() + vHAverNorm.y()*vVPost.y() + vHAverNorm.z()*vVPost.z() ); + G4double OMcosThetaAver = 1. - cosThetaAver; +#ifdef G4EVERBOSE + if( iverbose >= 2) G4cout << "G4EP: OMcosThetaAver " << OMcosThetaAver << " cosThetaAver " << cosThetaAver << " thetaAver " << thetaAver << " QAver " << QAver << " stepLengthCm " << stepLengthCm << G4endl; +#endif + G4double TMSINT = thetaAver - sinThetaAver; +#ifdef G4EVERBOSE + if( iverbose >= 2 ) G4cout << " G4EP: ANV " << ANV << " ANU " << ANU << G4endl; +#endif + + G4ThreeVector vHUPre( -vHAverNorm.z() * vUPre.y(), + vHAverNorm.z() * vUPre.x(), + vHAverNorm.x() * vUPre.y() - vHAverNorm.y() * vUPre.x() ); +#ifdef G4EVERBOSE + // if( iverbose >= 2 ) G4cout << "G4EP: HUPre(1) " << vHUPre.x() << " " << vHAverNorm.z() << " " << vUPre.y() << G4endl; +#endif + G4ThreeVector vHVPre( vHAverNorm.y() * vVPre.z() - vHAverNorm.z() * vVPre.y(), + vHAverNorm.z() * vVPre.x() - vHAverNorm.x() * vVPre.z(), + vHAverNorm.x() * vVPre.y() - vHAverNorm.y() * vVPre.x() ); +#ifdef G4EVERBOSE + if( iverbose >= 2 ) G4cout << " G4EP: HUPre " << vHUPre << " HVPre " << vHVPre << G4endl; +#endif + + //------------------- COMPUTE MATRIX + //---------- 1/P + + transf[0][0] = 1.-deltaPInv*pAver*(1.+(vpPostNorm.x()*deltaPos.x()+vpPostNorm.y()*deltaPos.y()+vpPostNorm.z()*deltaPos.z())/stepLengthCm) + +2.*deltaPInv*pAver; + + transf[0][1] = -deltaPInv/thetaAver* + ( TMSINT*gamma*(vHAverNorm.x()*vVPre.x()+vHAverNorm.y()*vVPre.y()+vHAverNorm.z()*vVPre.z()) + + sinThetaAver*(vVPre.x()*vpPostNorm.x()+vVPre.y()*vpPostNorm.y()+vVPre.z()*vpPostNorm.z()) + + OMcosThetaAver*(vHVPre.x()*vpPostNorm.x()+vHVPre.y()*vpPostNorm.y()+vHVPre.z()*vpPostNorm.z()) ); + + transf[0][2] = -sinpPre*deltaPInv/thetaAver* + ( TMSINT*gamma*(vHAverNorm.x()*vUPre.x()+vHAverNorm.y()*vUPre.y() ) + + sinThetaAver*(vUPre.x()*vpPostNorm.x()+vUPre.y()*vpPostNorm.y() ) + + OMcosThetaAver*(vHUPre.x()*vpPostNorm.x()+vHUPre.y()*vpPostNorm.y()+vHUPre.z()*vpPostNorm.z()) ); + + transf[0][3] = -deltaPInv/stepLengthCm*(vUPre.x()*vpPostNorm.x()+vUPre.y()*vpPostNorm.y() ); + + transf[0][4] = -deltaPInv/stepLengthCm*(vVPre.x()*vpPostNorm.x()+vVPre.y()*vpPostNorm.y()+vVPre.z()*vpPostNorm.z()); + + // *** Lambda + transf[1][0] = -QP*ANV*(vpPostNorm.x()*deltaPos.x()+vpPostNorm.y()*deltaPos.y()+vpPostNorm.z()*deltaPos.z()) + *(1.+deltaPInv*pAver); +#ifdef G4EVERBOSE + if(iverbose >= 3) G4cout << "ctransf10= " << transf[1][0] << " " << -QP<< " " << ANV<< " " << vpPostNorm.x()<< " " << deltaPos.x()<< " " << vpPostNorm.y()<< " " << deltaPos.y()<< " " << vpPostNorm.z()<< " " << deltaPos.z() + << " " << deltaPInv<< " " << pAver << G4endl; +#endif + + transf[1][1] = cosThetaAver*(vVPre.x()*vVPost.x()+vVPre.y()*vVPost.y()+vVPre.z()*vVPost.z()) + + sinThetaAver*(vHVPre.x()*vVPost.x()+vHVPre.y()*vVPost.y()+vHVPre.z()*vVPost.z()) + + OMcosThetaAver*(vHAverNorm.x()*vVPre.x()+vHAverNorm.y()*vVPre.y()+vHAverNorm.z()*vVPre.z())* + (vHAverNorm.x()*vVPost.x()+vHAverNorm.y()*vVPost.y()+vHAverNorm.z()*vVPost.z()) + + ANV*( -sinThetaAver*(vVPre.x()*vpPostNorm.x()+vVPre.y()*vpPostNorm.y()+vVPre.z()*vpPostNorm.z()) + + OMcosThetaAver*(vVPre.x()*AN2.x()+vVPre.y()*AN2.y()+vVPre.z()*AN2.z()) - + TMSINT*gamma*(vHAverNorm.x()*vVPre.x()+vHAverNorm.y()*vVPre.y()+vHAverNorm.z()*vVPre.z()) ); + + transf[1][2] = cosThetaAver*(vUPre.x()*vVPost.x()+vUPre.y()*vVPost.y() ) + + sinThetaAver*(vHUPre.x()*vVPost.x()+vHUPre.y()*vVPost.y()+vHUPre.z()*vVPost.z()) + + OMcosThetaAver*(vHAverNorm.x()*vUPre.x()+vHAverNorm.y()*vUPre.y() )* + (vHAverNorm.x()*vVPost.x()+vHAverNorm.y()*vVPost.y()+vHAverNorm.z()*vVPost.z()) + + ANV*( -sinThetaAver*(vUPre.x()*vpPostNorm.x()+vUPre.y()*vpPostNorm.y() ) + + OMcosThetaAver*(vUPre.x()*AN2.x()+vUPre.y()*AN2.y() ) - + TMSINT*gamma*(vHAverNorm.x()*vUPre.x()+vHAverNorm.y()*vUPre.y() ) ); + transf[1][2] = sinpPre*transf[1][3]; + + transf[1][3] = -QAver*ANV*(vUPre.x()*vpPostNorm.x()+vUPre.y()*vpPostNorm.y() ); + + transf[1][4] = -QAver*ANV*(vVPre.x()*vpPostNorm.x()+vVPre.y()*vpPostNorm.y()+vVPre.z()*vpPostNorm.z()); + + // *** Phi + + transf[2][0] = -QP*ANU*(vpPostNorm.x()*deltaPos.x()+vpPostNorm.y()*deltaPos.y()+vpPostNorm.z()*deltaPos.z())*sinpPostInv + *(1.+deltaPInv*pAver); +#ifdef G4EVERBOSE + if(iverbose >= 3)G4cout <<"ctransf20= " << transf[2][0] <<" "<< -QP<<" "<= 3)G4cout <<"ctransf23= " << transf[2][3] <<" "<< -QAver<<" "<= 3) G4cout <<"ctransf30= " << transf[3][0] <<" "<< pAver<<" "<= 3) G4cout <<"ctransf32= " << transf[3][2] <<" "<< sinThetaAver<<" "<= 3)G4cout <<"ctransf41= " << transf[4][1] <<" "<< sinThetaAver<<" "<< OMcosThetaAver <<" "<= 3) G4cout <<"ctransf44= " << transf[4][4] <<" "<< vVPre.x() <<" "<= 1 ) G4cout << "G4EP: transf matrix computed " << transf << G4endl; +#endif + /* for( G4int ii=0;ii<5;ii++){ + for( G4int jj=0;jj<5;jj++){ + G4cout << transf[ii][jj] << " "; + } + G4cout << G4endl; + } */ + } + } + // end of calculate transformation except it NEUTRAL PARTICLE OR FIELDFREE REGION + /* if( iverbose >= 1 ) G4cout << "G4EP: transf not updated but initialized " << theFirstStep << G4endl; + if( theFirstStep ) { + theTransfMat = transf; + theFirstStep = false; + }else{ + theTransfMat = theTransfMat * transf; + if( iverbose >= 1 ) G4cout << "G4EP: transf matrix accumulated" << theTransfMat << G4endl; + } + */ + theTransfMat = transf; +#ifdef G4EVERBOSE + if( iverbose >= 1 ) G4cout << "G4EP: error matrix before transformation " << fError << G4endl; + if( iverbose >= 2 ) G4cout << " tf * err " << theTransfMat * fError << G4endl + << " transf matrix " << theTransfMat.T() << G4endl; +#endif + + fError = fError.similarity(theTransfMat).T(); + //- fError = transf * fError * transf.T(); +#ifdef G4EVERBOSE + if( iverbose >= 1 ) G4cout << "G4EP: error matrix propagated " << fError << G4endl; +#endif + + //? S = B*S*BT S.similarity(B) + //? R = S + // not needed * *** TRANSFORM ERROR MATRIX FROM INTERNAL TO EXTERNAL VARIABLES; + + PropagateErrorMSC( aTrack ); + + PropagateErrorIoni( aTrack ); + + return 0; +} + + +//------------------------------------------------------------------------ +G4int G4ErrorFreeTrajState::PropagateErrorMSC( const G4Track* aTrack ) +{ + G4ThreeVector vpPre = aTrack->GetMomentum()/GeV; + G4double pPre = vpPre.mag(); + G4double pBeta = pPre*pPre / (aTrack->GetTotalEnergy()/GeV); + G4double stepLengthCm = aTrack->GetStep()->GetStepLength()/cm; + + G4Material* mate = aTrack->GetVolume()->GetLogicalVolume()->GetMaterial(); + G4double effZ, effA; + CalculateEffectiveZandA( mate, effZ, effA ); + +#ifdef G4EVERBOSE + if( iverbose >= 4 ) G4cout << "material " << mate->GetName() + //<< " " << mate->GetZ() << " " << mate->GetA() + << " " << effZ << " " << effA + << " " << mate->GetDensity()/g*mole << " " << mate->GetRadlen()/cm << " " << mate->GetNuclearInterLength()/cm << G4endl; +#endif + + G4double RI = stepLengthCm / (mate->GetRadlen()/cm); +#ifdef G4EVERBOSE + if( iverbose >= 4 ) G4cout << std::setprecision(6) << std::setw(6) << "G4EP:MSC: RI " << RI << " stepLengthCm " << stepLengthCm << " radlen " << (mate->GetRadlen()/cm) << " " << RI*1.e10 << G4endl; +#endif + G4double charge = aTrack->GetDynamicParticle()->GetCharge(); + G4double DD = 1.8496E-4*RI*(charge/pBeta * charge/pBeta ); +#ifdef G4EVERBOSE + if( iverbose >= 3 ) G4cout << "G4EP:MSC: D*1E6= " << DD*1.E6 <<" pBeta " << pBeta << G4endl; +#endif + G4double S1 = DD*stepLengthCm*stepLengthCm/3.; + G4double S2 = DD; + G4double S3 = DD*stepLengthCm/2.; + + G4double CLA = std::sqrt( vpPre.x() * vpPre.x() + vpPre.y() * vpPre.y() )/pPre; +#ifdef G4EVERBOSE + if( iverbose >= 2 ) G4cout << std::setw(6) << "G4EP:MSC: RI " << RI << " S1 " << S1 << " S2 " << S2 << " S3 " << S3 << " CLA " << CLA << G4endl; +#endif + fError[1][1] += S2; + fError[1][4] -= S3; + fError[2][2] += S2/CLA/CLA; + fError[2][3] += S3/CLA; + fError[3][3] += S1; + fError[4][4] += S1; + +#ifdef G4EVERBOSE + if( iverbose >= 2 ) G4cout << "G4EP:MSC: error matrix propagated msc " << fError << G4endl; +#endif + + return 0; +} + + +//------------------------------------------------------------------------ +void G4ErrorFreeTrajState::CalculateEffectiveZandA( const G4Material* mate, G4double& effZ, G4double& effA ) +{ + effZ = 0.; + effA = 0.; + G4int ii, nelem = mate->GetNumberOfElements(); + const G4double* fracVec = mate->GetFractionVector(); + for(ii=0; ii < nelem; ii++ ) { + effZ += mate->GetElement( ii )->GetZ() * fracVec[ii]; + effA += mate->GetElement( ii )->GetA() * fracVec[ii] /g*mole; + } + +} + + +//------------------------------------------------------------------------ +G4int G4ErrorFreeTrajState::PropagateErrorIoni( const G4Track* aTrack ) +{ + G4double stepLengthCm = aTrack->GetStep()->GetStepLength()/cm; + G4double DEDX2; + if( stepLengthCm < 1.E-7 ) { + DEDX2=0.; + } + // * Calculate xi factor (KeV). + G4Material* mate = aTrack->GetVolume()->GetLogicalVolume()->GetMaterial(); + G4double effZ, effA; + CalculateEffectiveZandA( mate, effZ, effA ); + + G4double Etot = aTrack->GetTotalEnergy()/GeV; + G4double beta = aTrack->GetMomentum().mag()/GeV / Etot; + G4double mass = aTrack->GetDynamicParticle()->GetMass() / GeV; + G4double gamma = Etot / mass; + + // * Calculate xi factor (KeV). + G4double XI = 153.5*effZ*stepLengthCm*(mate->GetDensity()/mg*mole) / + (effA*beta*beta); + +#ifdef G4EVERBOSE + if( iverbose >= 2 ){ + G4cout << "G4EP:IONI: XI " << XI << " beta " << beta << " gamma " << gamma << G4endl; + G4cout << " density " << (mate->GetDensity()/mg*mole) << " effA " << effA << " step " << stepLengthCm << G4endl; + } +#endif + // * Maximum energy transfer to atomic electron (KeV). + G4double eta = beta*gamma; + G4double etasq = eta*eta; + G4double eMass = 0.51099906/GeV; + G4double massRatio = eMass / mass; + G4double F1 = 2*eMass*etasq; + G4double F2 = 1. + 2. * massRatio * gamma + massRatio * massRatio; + G4double Emax = 1.E+6*F1/F2; + + // * *** and now sigma**2 in GeV + G4double dedxSq = XI*Emax*(1.-(beta*beta/2.))*1.E-12; +#ifdef G4EVERBOSE + if( iverbose >= 2 ) G4cout << "G4EP:IONI: DEDX2 " << dedxSq << " emass " << eMass << " Emax " << Emax << G4endl; +#endif + + // if( iverbose >= 2 ) G4cout << "G4EP:IONI: Etot " << Etot << " DEDX2 " << dedxSq << " emass " << eMass << G4endl; + + G4double pPre6 = (aTrack->GetStep()->GetPreStepPoint()->GetMomentum()/GeV).mag(); + pPre6 = std::pow(pPre6, 6 ); + //Apply it to error + fError[0][0] += Etot*Etot*dedxSq / pPre6; +#ifdef G4EVERBOSE + if( iverbose >= 2 ) G4cout << "G4:IONI getot " << Etot << " dedx2 " << dedxSq << " p " << pPre6 << G4endl; + if( iverbose >= 2 ) G4cout << "G4EP:IONI: error_from_ionisation " << (Etot*Etot*dedxSq) / pPre6 << G4endl; +#endif + + return 0; +} + diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP_HP.hh b/source/error_propagation/src/G4ErrorGeomVolumeTarget.cc similarity index 57% rename from source/physics_lists/lists/include/HadronPhysicsLHEP_HP.hh rename to source/error_propagation/src/G4ErrorGeomVolumeTarget.cc index 338e733a8e..b68dc11b27 100644 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP_HP.hh +++ b/source/error_propagation/src/G4ErrorGeomVolumeTarget.cc @@ -23,60 +23,55 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsLHEP_HP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ErrorGeomVolumeTarget.cc,v 1.3 2007/05/31 15:28:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -//--------------------------------------------------------------------------- +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ // -// ClassName: HadronPhysicsLHEP_HP_h -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#ifndef HadronPhysicsLHEP_HP_h -#define HadronPhysicsLHEP_HP_h 1 -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" -#include "G4LHEPPiKBuilder.hh" -#include "G4PiKBuilder.hh" -#include "G4LHEPProtonBuilder.hh" -#include "G4ProtonBuilder.hh" -#include "G4LHEPNeutronBuilder.hh" -#include "G4NeutronBuilder.hh" -#include "G4NeutronHPBuilder.hh" - -class HadronPhysicsLHEP_HP : public G4VPhysicsConstructor -{ - public: - HadronPhysicsLHEP_HP(const G4String& name ="hadron"); - virtual ~HadronPhysicsLHEP_HP(); - - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LHEPNeutronBuilder * theLHEPNeutron; - G4NeutronHPBuilder * theHPNeutron; - - G4LHEPPiKBuilder * theLHEPPiK; - G4PiKBuilder * thePiK; - G4LHEPProtonBuilder * theLHEPProton; - G4ProtonBuilder * theProton; - - G4MiscLHEPBuilder * theMiscLHEP; -}; +#include "G4ErrorGeomVolumeTarget.hh" +#include "G4Point3D.hh" +#include "G4ThreeVector.hh" +#include "G4Step.hh" +#ifdef G4VERBOSE +#include "G4ErrorPropagatorData.hh" //for verbosity checking #endif +//------------------------------------------------------------------------ +G4ErrorGeomVolumeTarget::G4ErrorGeomVolumeTarget( const G4String& name ) +{ + theType = G4ErrorTarget_GeomVolume; + theName = name; +} + + +//------------------------------------------------------------------------ +G4bool G4ErrorGeomVolumeTarget::TargetReached( const G4Step* aStep ) +{ + if( aStep->GetTrack()->GetNextVolume() != 0 ){ +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) { + G4cout << " G4ErrorGeomVolumeTarget::TargetReached( " + << aStep->GetTrack()->GetNextVolume()->GetName() + << " =? " << theName << G4endl; + } +#endif + if( aStep->GetTrack()->GetNextVolume()->GetName() == theName ){ + return 1; + } else { + return 0; + } + } else { + return 0; + } +} + + +//------------------------------------------------------------------------ +void G4ErrorGeomVolumeTarget::Dump( const G4String& msg ) const +{ + G4cout << msg << " G4ErrorGeomVolumeTarget: Volume " << theName << G4endl; +} diff --git a/source/error_propagation/src/G4ErrorMagFieldLimitProcess.cc b/source/error_propagation/src/G4ErrorMagFieldLimitProcess.cc new file mode 100644 index 0000000000..d147fe9372 --- /dev/null +++ b/source/error_propagation/src/G4ErrorMagFieldLimitProcess.cc @@ -0,0 +1,93 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorMagFieldLimitProcess.cc,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// + +#include "G4ErrorMagFieldLimitProcess.hh" +#include "G4ErrorMessenger.hh" +#include "G4TransportationManager.hh" +#include "G4FieldManager.hh" +#include "G4Field.hh" +#include "G4Track.hh" + +#ifdef G4VERBOSE +#include "G4ErrorPropagatorData.hh" +#endif + +//------------------------------------------------------------------------ +G4ErrorMagFieldLimitProcess:: +G4ErrorMagFieldLimitProcess(const G4String& processName) + : G4VErrorLimitProcess(processName) +{ + theStepLimit = kInfinity; +} + + +//------------------------------------------------------------------------ +G4ErrorMagFieldLimitProcess::~G4ErrorMagFieldLimitProcess() +{ } + + +//------------------------------------------------------------------------ +G4double G4ErrorMagFieldLimitProcess:: +PostStepGetPhysicalInteractionLength( const G4Track& aTrack, G4double , + G4ForceCondition* condition ) +{ + *condition = NotForced; + const G4Field* field = + G4TransportationManager::GetTransportationManager()->GetFieldManager() + ->GetDetectorField(); + + theStepLength = kInfinity; + if( field != 0 ) { + G4ThreeVector trkPosi = aTrack.GetPosition(); + G4double pos1[3]; + pos1[0] = trkPosi.x(); pos1[1] = trkPosi.y(); pos1[2] = trkPosi.z(); + + G4double h1[3]; + field->GetFieldValue( pos1, h1 ); + + G4ThreeVector BVec(h1[0],h1[1],h1[2]); + G4double pmag = aTrack.GetMomentum().mag(); + G4double BPerpMom = BVec.cross( pmag ).mag() / pmag; + + theStepLength = theStepLimit * pmag / BPerpMom; +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) { + G4cout << "G4ErrorMagFieldLimitProcess:: stepLength " + << theStepLength << " B " << BPerpMom << " BVec " << BVec + << " pmag " << pmag << G4endl; + } +#endif + } + + return theStepLength; +} diff --git a/source/error_propagation/src/G4ErrorMatrix.cc b/source/error_propagation/src/G4ErrorMatrix.cc new file mode 100644 index 0000000000..3a9105bc9d --- /dev/null +++ b/source/error_propagation/src/G4ErrorMatrix.cc @@ -0,0 +1,1735 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorMatrix.cc,v 1.3 2007/06/21 15:04:06 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ + +#include "globals.hh" + +#include +#include + +#include "G4ErrorMatrix.hh" +#include "G4ErrorSymMatrix.hh" + +// Simple operation for all elements + +#define SIMPLE_UOP(OPER) \ + G4ErrorMatrixIter a=m.begin(); \ + G4ErrorMatrixIter e=m.end(); \ + for(;a!=e; a++) (*a) OPER t; + +#define SIMPLE_BOP(OPER) \ + G4ErrorMatrixIter a=m.begin(); \ + G4ErrorMatrixConstIter b=m2.m.begin(); \ + G4ErrorMatrixIter e=m.end(); \ + for(;a!=e; a++, b++) (*a) OPER (*b); + +#define SIMPLE_TOP(OPER) \ + G4ErrorMatrixConstIter a=m1.m.begin(); \ + G4ErrorMatrixConstIter b=m2.m.begin(); \ + G4ErrorMatrixIter t=mret.m.begin(); \ + G4ErrorMatrixConstIter e=m1.m.end(); \ + for(;a!=e; a++, b++, t++) (*t) = (*a) OPER (*b); + +// Static functions. + +#define CHK_DIM_2(r1,r2,c1,c2,fun) \ + if (r1!=r2 || c1!=c2) { \ + G4ErrorMatrix::error("Range error in Matrix function " #fun "(1)."); \ + } + +#define CHK_DIM_1(c1,r2,fun) \ + if (c1!=r2) { \ + G4ErrorMatrix::error("Range error in Matrix function " #fun "(2)."); \ + } + +// Constructors. (Default constructors are inlined and in .icc file) + +G4ErrorMatrix::G4ErrorMatrix(G4int p,G4int q) + : m(p*q), nrow(p), ncol(q) +{ + size = nrow * ncol; +} + +G4ErrorMatrix::G4ErrorMatrix(G4int p,G4int q,G4int init) + : m(p*q), nrow(p), ncol(q) +{ + size = nrow * ncol; + + if (size > 0) + { + switch(init) + { + case 0: + break; + + case 1: + { + if ( ncol == nrow ) + { + G4ErrorMatrixIter a = m.begin(); + G4ErrorMatrixIter b = m.end(); + for( ; a= k + for(G4int j=1;j<=nrow;j++) + { + G4ErrorMatrixIter mjk = mj; + G4ErrorMatrixIter mkj = m1j; + for(G4int k=1;k<=j;k++) + { + *(mjk++) = *sjk; + if(j!=k) *mkj = *sjk; + sjk++; + mkj += n; + } + mj += n; + m1j++; + } +} + +// +// +// Sub matrix +// +// + +G4ErrorMatrix G4ErrorMatrix::sub(G4int min_row, G4int max_row, + G4int min_col,G4int max_col) const +{ + G4ErrorMatrix mret(max_row-min_row+1,max_col-min_col+1); + if(max_row > num_row() || max_col >num_col()) + { error("G4ErrorMatrix::sub: Index out of range"); } + G4ErrorMatrixIter a = mret.m.begin(); + G4int nc = num_col(); + G4ErrorMatrixConstIter b1 = m.begin() + (min_row - 1) * nc + min_col - 1; + + for(G4int irow=1; irow<=mret.num_row(); irow++) + { + G4ErrorMatrixConstIter brc = b1; + for(G4int icol=1; icol<=mret.num_col(); icol++) + { + *(a++) = *(brc++); + } + b1 += nc; + } + return mret; +} + +void G4ErrorMatrix::sub(G4int row,G4int col,const G4ErrorMatrix &m1) +{ + if(row <1 || row+m1.num_row()-1 > num_row() || + col <1 || col+m1.num_col()-1 > num_col() ) + { error("G4ErrorMatrix::sub: Index out of range"); } + G4ErrorMatrixConstIter a = m1.m.begin(); + G4int nc = num_col(); + G4ErrorMatrixIter b1 = m.begin() + (row - 1) * nc + col - 1; + + for(G4int irow=1; irow<=m1.num_row(); irow++) + { + G4ErrorMatrixIter brc = b1; + for(G4int icol=1; icol<=m1.num_col(); icol++) + { + *(brc++) = *(a++); + } + b1 += nc; + } +} + +// +// Direct sum of two matricies +// + +G4ErrorMatrix dsum(const G4ErrorMatrix &m1, const G4ErrorMatrix &m2) +{ + G4ErrorMatrix mret(m1.num_row() + m2.num_row(), m1.num_col() + m2.num_col(), + 0); + mret.sub(1,1,m1); + mret.sub(m1.num_row()+1,m1.num_col()+1,m2); + return mret; +} + +/* ----------------------------------------------------------------------- + This section contains support routines for matrix.h. This section contains + The two argument functions +,-. They call the copy constructor and +=,-=. + ----------------------------------------------------------------------- */ + +G4ErrorMatrix G4ErrorMatrix::operator- () const +{ + G4ErrorMatrix m2(nrow, ncol); + G4ErrorMatrixConstIter a=m.begin(); + G4ErrorMatrixIter b=m2.m.begin(); + G4ErrorMatrixConstIter e=m.end(); + for(;a= ptl) { pt -= (size-1); } + (*pt) = (*pme); + } + return mret; +} + +G4ErrorMatrix +G4ErrorMatrix::apply(G4double (*f)(G4double, G4int, G4int)) const +{ + G4ErrorMatrix mret(num_row(),num_col()); + G4ErrorMatrixConstIter a = m.begin(); + G4ErrorMatrixIter b = mret.m.begin(); + for(G4int ir=1;ir<=num_row();ir++) + { + for(G4int ic=1;ic<=num_col();ic++) + { + *(b++) = (*f)(*(a++), ir, ic); + } + } + return mret; +} + +G4int G4ErrorMatrix::dfinv_matrix(G4int *ir) { + if (num_col()!=num_row()) + { error("dfinv_matrix: G4ErrorMatrix is not NxN"); } + G4int n = num_col(); + if (n==1) { return 0; } + + G4double s31, s32; + G4double s33, s34; + + G4ErrorMatrixIter m11 = m.begin(); + G4ErrorMatrixIter m12 = m11 + 1; + G4ErrorMatrixIter m21 = m11 + n; + G4ErrorMatrixIter m22 = m12 + n; + *m21 = -(*m22) * (*m11) * (*m21); + *m12 = -(*m12); + if (n>2) + { + G4ErrorMatrixIter mi = m.begin() + 2 * n; + G4ErrorMatrixIter mii= m.begin() + 2 * n + 2; + G4ErrorMatrixIter mimim = m.begin() + n + 1; + for (G4int i=3;i<=n;i++) + { + G4int im2 = i - 2; + G4ErrorMatrixIter mj = m.begin(); + G4ErrorMatrixIter mji = mj + i - 1; + G4ErrorMatrixIter mij = mi; + for (G4int j=1;j<=im2;j++) + { + s31 = 0.0; + s32 = *mji; + G4ErrorMatrixIter mkj = mj + j - 1; + G4ErrorMatrixIter mik = mi + j - 1; + G4ErrorMatrixIter mjkp = mj + j; + G4ErrorMatrixIter mkpi = mj + n + i - 1; + for (G4int k=j;k<=im2;k++) + { + s31 += (*mkj) * (*(mik++)); + s32 += (*(mjkp++)) * (*mkpi); + mkj += n; + mkpi += n; + } + *mij = -(*mii) * (((*(mij-n)))*( (*(mii-1)))+(s31)); + *mji = -s32; + mj += n; + mji += n; + mij++; + } + *(mii-1) = -(*mii) * (*mimim) * (*(mii-1)); + *(mimim+1) = -(*(mimim+1)); + mi += n; + mimim += (n+1); + mii += (n+1); + } + } + G4ErrorMatrixIter mi = m.begin(); + G4ErrorMatrixIter mii = m.begin(); + for (G4int i=1;i> 12; + G4int j = ij%4096; + G4ErrorMatrixIter mki = m.begin() + i - 1; + G4ErrorMatrixIter mkj = m.begin() + j - 1; + for (k=1; k<=n;k++) + { + // 2/24/05 David Sachs fix of improper swap bug that was present + // for many years: + G4double ti = *mki; // 2/24/05 + *mki = *mkj; + *mkj = ti; // 2/24/05 + mki += n; + mkj += n; + } + } + return 0; +} + +G4int G4ErrorMatrix::dfact_matrix(G4double &det, G4int *ir) +{ + if (ncol!=nrow) + error("dfact_matrix: G4ErrorMatrix is not NxN"); + + G4int ifail, jfail; + G4int n = ncol; + + G4double tf; + G4double g1 = 1.0e-19, g2 = 1.0e19; + + G4double p, q, t; + G4double s11, s12; + + G4double epsilon = 8*DBL_EPSILON; + // could be set to zero (like it was before) + // but then the algorithm often doesn't detect + // that a matrix is singular + + G4int normal = 0, imposs = -1; + G4int jrange = 0, jover = 1, junder = -1; + ifail = normal; + jfail = jrange; + G4int nxch = 0; + det = 1.0; + G4ErrorMatrixIter mj = m.begin(); + G4ErrorMatrixIter mjj = mj; + for (G4int j=1;j<=n;j++) + { + G4int k = j; + p = (std::fabs(*mjj)); + if (j!=n) { + G4ErrorMatrixIter mij = mj + n + j - 1; + for (G4int i=j+1;i<=n;i++) + { + q = (std::fabs(*(mij))); + if (q > p) + { + k = i; + p = q; + } + mij += n; + } + if (k==j) + { + if (p <= epsilon) + { + det = 0; + ifail = imposs; + jfail = jrange; + return ifail; + } + det = -det; // in this case the sign of the determinant + // must not change. So I change it twice. + } + G4ErrorMatrixIter mjl = mj; + G4ErrorMatrixIter mkl = m.begin() + (k-1)*n; + for (G4int l=1;l<=n;l++) + { + tf = *mjl; + *(mjl++) = *mkl; + *(mkl++) = tf; + } + nxch = nxch + 1; // this makes the determinant change its sign + ir[nxch] = (((j)<<12)+(k)); + } + else + { + if (p <= epsilon) + { + det = 0.0; + ifail = imposs; + jfail = jrange; + return ifail; + } + } + det *= *mjj; + *mjj = 1.0 / *mjj; + t = (std::fabs(det)); + if (t < g1) + { + det = 0.0; + if (jfail == jrange) jfail = junder; + } + else if (t > g2) + { + det = 1.0; + if (jfail==jrange) jfail = jover; + } + if (j!=n) + { + G4ErrorMatrixIter mk = mj + n; + G4ErrorMatrixIter mkjp = mk + j; + G4ErrorMatrixIter mjk = mj + j; + for (k=j+1;k<=n;k++) + { + s11 = - (*mjk); + s12 = - (*mkjp); + if (j!=1) + { + G4ErrorMatrixIter mik = m.begin() + k - 1; + G4ErrorMatrixIter mijp = m.begin() + j; + G4ErrorMatrixIter mki = mk; + G4ErrorMatrixIter mji = mj; + for (G4int i=1;i max_array) + { + delete [] ir; + max_array = nrow; + ir = new G4int [max_array+1]; + } + G4double t1, t2, t3; + G4double det, temp, s; + G4int ifail; + switch(nrow) + { + case 3: + G4double c11,c12,c13,c21,c22,c23,c31,c32,c33; + ifail = 0; + c11 = (*(m.begin()+4)) * (*(m.begin()+8)) + - (*(m.begin()+5)) * (*(m.begin()+7)); + c12 = (*(m.begin()+5)) * (*(m.begin()+6)) + - (*(m.begin()+3)) * (*(m.begin()+8)); + c13 = (*(m.begin()+3)) * (*(m.begin()+7)) + - (*(m.begin()+4)) * (*(m.begin()+6)); + c21 = (*(m.begin()+7)) * (*(m.begin()+2)) + - (*(m.begin()+8)) * (*(m.begin()+1)); + c22 = (*(m.begin()+8)) * (*m.begin()) + - (*(m.begin()+6)) * (*(m.begin()+2)); + c23 = (*(m.begin()+6)) * (*(m.begin()+1)) + - (*(m.begin()+7)) * (*m.begin()); + c31 = (*(m.begin()+1)) * (*(m.begin()+5)) + - (*(m.begin()+2)) * (*(m.begin()+4)); + c32 = (*(m.begin()+2)) * (*(m.begin()+3)) + - (*m.begin()) * (*(m.begin()+5)); + c33 = (*m.begin()) * (*(m.begin()+4)) + - (*(m.begin()+1)) * (*(m.begin()+3)); + t1 = std::fabs(*m.begin()); + t2 = std::fabs(*(m.begin()+3)); + t3 = std::fabs(*(m.begin()+6)); + if (t1 >= t2) + { + if (t3 >= t1) + { + temp = *(m.begin()+6); + det = c23*c12-c22*c13; + } + else + { + temp = *(m.begin()); + det = c22*c33-c23*c32; + } + } + else if (t3 >= t2) + { + temp = *(m.begin()+6); + det = c23*c12-c22*c13; + } + else + { + temp = *(m.begin()+3); + det = c13*c32-c12*c33; + } + if (det==0) + { + ierr = 1; + return; + } + { + G4double s = temp/det; + G4ErrorMatrixIter mm = m.begin(); + *(mm++) = s*c11; + *(mm++) = s*c21; + *(mm++) = s*c31; + *(mm++) = s*c12; + *(mm++) = s*c22; + *(mm++) = s*c32; + *(mm++) = s*c13; + *(mm++) = s*c23; + *(mm) = s*c33; + } + break; + case 2: + ifail = 0; + det = (*m.begin())*(*(m.begin()+3)) - (*(m.begin()+1))*(*(m.begin()+2)); + if (det==0) + { + ierr = 1; + return; + } + s = 1.0/det; + temp = s*(*(m.begin()+3)); + *(m.begin()+1) *= -s; + *(m.begin()+2) *= -s; + *(m.begin()+3) = s*(*m.begin()); + *(m.begin()) = temp; + break; + case 1: + ifail = 0; + if ((*(m.begin()))==0) + { + ierr = 1; + return; + } + *(m.begin()) = 1.0/(*(m.begin())); + break; + case 4: + invertHaywood4(ierr); + return; + case 5: + invertHaywood5(ierr); + return; + case 6: + invertHaywood6(ierr); + return; + default: + ifail = dfact_matrix(det, ir); + if(ifail) { + ierr = 1; + return; + } + dfinv_matrix(ir); + break; + } + ierr = 0; + return; +} + +G4double G4ErrorMatrix::determinant() const +{ + static G4int max_array = 20; + static G4int *ir = new G4int [max_array+1]; + if(ncol != nrow) + { error("G4ErrorMatrix::determinant: G4ErrorMatrix is not NxN"); } + if (ncol > max_array) + { + delete [] ir; + max_array = nrow; + ir = new G4int [max_array+1]; + } + G4double det; + G4ErrorMatrix mt(*this); + G4int i = mt.dfact_matrix(det, ir); + if(i==0) return det; + return 0; +} + +G4double G4ErrorMatrix::trace() const +{ + G4double t = 0.0; + for (G4ErrorMatrixConstIter d = m.begin(); d < m.end(); d += (ncol+1) ) + { + t += *d; + } + return t; +} + +void G4ErrorMatrix::error(const char *s) +{ + G4cerr << s << G4endl; + G4cerr << "---Exiting to System." << G4endl; + abort(); +} + + +// Aij are indices for a 6x6 matrix. +// Mij are indices for a 5x5 matrix. +// Fij are indices for a 4x4 matrix. + +#define A00 0 +#define A01 1 +#define A02 2 +#define A03 3 +#define A04 4 +#define A05 5 + +#define A10 6 +#define A11 7 +#define A12 8 +#define A13 9 +#define A14 10 +#define A15 11 + +#define A20 12 +#define A21 13 +#define A22 14 +#define A23 15 +#define A24 16 +#define A25 17 + +#define A30 18 +#define A31 19 +#define A32 20 +#define A33 21 +#define A34 22 +#define A35 23 + +#define A40 24 +#define A41 25 +#define A42 26 +#define A43 27 +#define A44 28 +#define A45 29 + +#define A50 30 +#define A51 31 +#define A52 32 +#define A53 33 +#define A54 34 +#define A55 35 + +#define M00 0 +#define M01 1 +#define M02 2 +#define M03 3 +#define M04 4 + +#define M10 5 +#define M11 6 +#define M12 7 +#define M13 8 +#define M14 9 + +#define M20 10 +#define M21 11 +#define M22 12 +#define M23 13 +#define M24 14 + +#define M30 15 +#define M31 16 +#define M32 17 +#define M33 18 +#define M34 19 + +#define M40 20 +#define M41 21 +#define M42 22 +#define M43 23 +#define M44 24 + +#define F00 0 +#define F01 1 +#define F02 2 +#define F03 3 + +#define F10 4 +#define F11 5 +#define F12 6 +#define F13 7 + +#define F20 8 +#define F21 9 +#define F22 10 +#define F23 11 + +#define F30 12 +#define F31 13 +#define F32 14 +#define F33 15 + + +void G4ErrorMatrix::invertHaywood4 (G4int & ifail) +{ + ifail = 0; + + // Find all NECESSARY 2x2 dets: (18 of them) + + G4double Det2_12_01 = m[F10]*m[F21] - m[F11]*m[F20]; + G4double Det2_12_02 = m[F10]*m[F22] - m[F12]*m[F20]; + G4double Det2_12_03 = m[F10]*m[F23] - m[F13]*m[F20]; + G4double Det2_12_13 = m[F11]*m[F23] - m[F13]*m[F21]; + G4double Det2_12_23 = m[F12]*m[F23] - m[F13]*m[F22]; + G4double Det2_12_12 = m[F11]*m[F22] - m[F12]*m[F21]; + G4double Det2_13_01 = m[F10]*m[F31] - m[F11]*m[F30]; + G4double Det2_13_02 = m[F10]*m[F32] - m[F12]*m[F30]; + G4double Det2_13_03 = m[F10]*m[F33] - m[F13]*m[F30]; + G4double Det2_13_12 = m[F11]*m[F32] - m[F12]*m[F31]; + G4double Det2_13_13 = m[F11]*m[F33] - m[F13]*m[F31]; + G4double Det2_13_23 = m[F12]*m[F33] - m[F13]*m[F32]; + G4double Det2_23_01 = m[F20]*m[F31] - m[F21]*m[F30]; + G4double Det2_23_02 = m[F20]*m[F32] - m[F22]*m[F30]; + G4double Det2_23_03 = m[F20]*m[F33] - m[F23]*m[F30]; + G4double Det2_23_12 = m[F21]*m[F32] - m[F22]*m[F31]; + G4double Det2_23_13 = m[F21]*m[F33] - m[F23]*m[F31]; + G4double Det2_23_23 = m[F22]*m[F33] - m[F23]*m[F32]; + + // Find all NECESSARY 3x3 dets: (16 of them) + + G4double Det3_012_012 = m[F00]*Det2_12_12 - m[F01]*Det2_12_02 + + m[F02]*Det2_12_01; + G4double Det3_012_013 = m[F00]*Det2_12_13 - m[F01]*Det2_12_03 + + m[F03]*Det2_12_01; + G4double Det3_012_023 = m[F00]*Det2_12_23 - m[F02]*Det2_12_03 + + m[F03]*Det2_12_02; + G4double Det3_012_123 = m[F01]*Det2_12_23 - m[F02]*Det2_12_13 + + m[F03]*Det2_12_12; + G4double Det3_013_012 = m[F00]*Det2_13_12 - m[F01]*Det2_13_02 + + m[F02]*Det2_13_01; + G4double Det3_013_013 = m[F00]*Det2_13_13 - m[F01]*Det2_13_03 + + m[F03]*Det2_13_01; + G4double Det3_013_023 = m[F00]*Det2_13_23 - m[F02]*Det2_13_03 + + m[F03]*Det2_13_02; + G4double Det3_013_123 = m[F01]*Det2_13_23 - m[F02]*Det2_13_13 + + m[F03]*Det2_13_12; + G4double Det3_023_012 = m[F00]*Det2_23_12 - m[F01]*Det2_23_02 + + m[F02]*Det2_23_01; + G4double Det3_023_013 = m[F00]*Det2_23_13 - m[F01]*Det2_23_03 + + m[F03]*Det2_23_01; + G4double Det3_023_023 = m[F00]*Det2_23_23 - m[F02]*Det2_23_03 + + m[F03]*Det2_23_02; + G4double Det3_023_123 = m[F01]*Det2_23_23 - m[F02]*Det2_23_13 + + m[F03]*Det2_23_12; + G4double Det3_123_012 = m[F10]*Det2_23_12 - m[F11]*Det2_23_02 + + m[F12]*Det2_23_01; + G4double Det3_123_013 = m[F10]*Det2_23_13 - m[F11]*Det2_23_03 + + m[F13]*Det2_23_01; + G4double Det3_123_023 = m[F10]*Det2_23_23 - m[F12]*Det2_23_03 + + m[F13]*Det2_23_02; + G4double Det3_123_123 = m[F11]*Det2_23_23 - m[F12]*Det2_23_13 + + m[F13]*Det2_23_12; + + // Find the 4x4 det: + + G4double det = m[F00]*Det3_123_123 + - m[F01]*Det3_123_023 + + m[F02]*Det3_123_013 + - m[F03]*Det3_123_012; + + if ( det == 0 ) + { + ifail = 1; + return; + } + + G4double oneOverDet = 1.0/det; + G4double mn1OverDet = - oneOverDet; + + m[F00] = Det3_123_123 * oneOverDet; + m[F01] = Det3_023_123 * mn1OverDet; + m[F02] = Det3_013_123 * oneOverDet; + m[F03] = Det3_012_123 * mn1OverDet; + + m[F10] = Det3_123_023 * mn1OverDet; + m[F11] = Det3_023_023 * oneOverDet; + m[F12] = Det3_013_023 * mn1OverDet; + m[F13] = Det3_012_023 * oneOverDet; + + m[F20] = Det3_123_013 * oneOverDet; + m[F21] = Det3_023_013 * mn1OverDet; + m[F22] = Det3_013_013 * oneOverDet; + m[F23] = Det3_012_013 * mn1OverDet; + + m[F30] = Det3_123_012 * mn1OverDet; + m[F31] = Det3_023_012 * oneOverDet; + m[F32] = Det3_013_012 * mn1OverDet; + m[F33] = Det3_012_012 * oneOverDet; + + return; +} + +void G4ErrorMatrix::invertHaywood5 (G4int & ifail) +{ + ifail = 0; + + // Find all NECESSARY 2x2 dets: (30 of them) + + G4double Det2_23_01 = m[M20]*m[M31] - m[M21]*m[M30]; + G4double Det2_23_02 = m[M20]*m[M32] - m[M22]*m[M30]; + G4double Det2_23_03 = m[M20]*m[M33] - m[M23]*m[M30]; + G4double Det2_23_04 = m[M20]*m[M34] - m[M24]*m[M30]; + G4double Det2_23_12 = m[M21]*m[M32] - m[M22]*m[M31]; + G4double Det2_23_13 = m[M21]*m[M33] - m[M23]*m[M31]; + G4double Det2_23_14 = m[M21]*m[M34] - m[M24]*m[M31]; + G4double Det2_23_23 = m[M22]*m[M33] - m[M23]*m[M32]; + G4double Det2_23_24 = m[M22]*m[M34] - m[M24]*m[M32]; + G4double Det2_23_34 = m[M23]*m[M34] - m[M24]*m[M33]; + G4double Det2_24_01 = m[M20]*m[M41] - m[M21]*m[M40]; + G4double Det2_24_02 = m[M20]*m[M42] - m[M22]*m[M40]; + G4double Det2_24_03 = m[M20]*m[M43] - m[M23]*m[M40]; + G4double Det2_24_04 = m[M20]*m[M44] - m[M24]*m[M40]; + G4double Det2_24_12 = m[M21]*m[M42] - m[M22]*m[M41]; + G4double Det2_24_13 = m[M21]*m[M43] - m[M23]*m[M41]; + G4double Det2_24_14 = m[M21]*m[M44] - m[M24]*m[M41]; + G4double Det2_24_23 = m[M22]*m[M43] - m[M23]*m[M42]; + G4double Det2_24_24 = m[M22]*m[M44] - m[M24]*m[M42]; + G4double Det2_24_34 = m[M23]*m[M44] - m[M24]*m[M43]; + G4double Det2_34_01 = m[M30]*m[M41] - m[M31]*m[M40]; + G4double Det2_34_02 = m[M30]*m[M42] - m[M32]*m[M40]; + G4double Det2_34_03 = m[M30]*m[M43] - m[M33]*m[M40]; + G4double Det2_34_04 = m[M30]*m[M44] - m[M34]*m[M40]; + G4double Det2_34_12 = m[M31]*m[M42] - m[M32]*m[M41]; + G4double Det2_34_13 = m[M31]*m[M43] - m[M33]*m[M41]; + G4double Det2_34_14 = m[M31]*m[M44] - m[M34]*m[M41]; + G4double Det2_34_23 = m[M32]*m[M43] - m[M33]*m[M42]; + G4double Det2_34_24 = m[M32]*m[M44] - m[M34]*m[M42]; + G4double Det2_34_34 = m[M33]*m[M44] - m[M34]*m[M43]; + + // Find all NECESSARY 3x3 dets: (40 of them) + + G4double Det3_123_012 = m[M10]*Det2_23_12 - m[M11]*Det2_23_02 + + m[M12]*Det2_23_01; + G4double Det3_123_013 = m[M10]*Det2_23_13 - m[M11]*Det2_23_03 + + m[M13]*Det2_23_01; + G4double Det3_123_014 = m[M10]*Det2_23_14 - m[M11]*Det2_23_04 + + m[M14]*Det2_23_01; + G4double Det3_123_023 = m[M10]*Det2_23_23 - m[M12]*Det2_23_03 + + m[M13]*Det2_23_02; + G4double Det3_123_024 = m[M10]*Det2_23_24 - m[M12]*Det2_23_04 + + m[M14]*Det2_23_02; + G4double Det3_123_034 = m[M10]*Det2_23_34 - m[M13]*Det2_23_04 + + m[M14]*Det2_23_03; + G4double Det3_123_123 = m[M11]*Det2_23_23 - m[M12]*Det2_23_13 + + m[M13]*Det2_23_12; + G4double Det3_123_124 = m[M11]*Det2_23_24 - m[M12]*Det2_23_14 + + m[M14]*Det2_23_12; + G4double Det3_123_134 = m[M11]*Det2_23_34 - m[M13]*Det2_23_14 + + m[M14]*Det2_23_13; + G4double Det3_123_234 = m[M12]*Det2_23_34 - m[M13]*Det2_23_24 + + m[M14]*Det2_23_23; + G4double Det3_124_012 = m[M10]*Det2_24_12 - m[M11]*Det2_24_02 + + m[M12]*Det2_24_01; + G4double Det3_124_013 = m[M10]*Det2_24_13 - m[M11]*Det2_24_03 + + m[M13]*Det2_24_01; + G4double Det3_124_014 = m[M10]*Det2_24_14 - m[M11]*Det2_24_04 + + m[M14]*Det2_24_01; + G4double Det3_124_023 = m[M10]*Det2_24_23 - m[M12]*Det2_24_03 + + m[M13]*Det2_24_02; + G4double Det3_124_024 = m[M10]*Det2_24_24 - m[M12]*Det2_24_04 + + m[M14]*Det2_24_02; + G4double Det3_124_034 = m[M10]*Det2_24_34 - m[M13]*Det2_24_04 + + m[M14]*Det2_24_03; + G4double Det3_124_123 = m[M11]*Det2_24_23 - m[M12]*Det2_24_13 + + m[M13]*Det2_24_12; + G4double Det3_124_124 = m[M11]*Det2_24_24 - m[M12]*Det2_24_14 + + m[M14]*Det2_24_12; + G4double Det3_124_134 = m[M11]*Det2_24_34 - m[M13]*Det2_24_14 + + m[M14]*Det2_24_13; + G4double Det3_124_234 = m[M12]*Det2_24_34 - m[M13]*Det2_24_24 + + m[M14]*Det2_24_23; + G4double Det3_134_012 = m[M10]*Det2_34_12 - m[M11]*Det2_34_02 + + m[M12]*Det2_34_01; + G4double Det3_134_013 = m[M10]*Det2_34_13 - m[M11]*Det2_34_03 + + m[M13]*Det2_34_01; + G4double Det3_134_014 = m[M10]*Det2_34_14 - m[M11]*Det2_34_04 + + m[M14]*Det2_34_01; + G4double Det3_134_023 = m[M10]*Det2_34_23 - m[M12]*Det2_34_03 + + m[M13]*Det2_34_02; + G4double Det3_134_024 = m[M10]*Det2_34_24 - m[M12]*Det2_34_04 + + m[M14]*Det2_34_02; + G4double Det3_134_034 = m[M10]*Det2_34_34 - m[M13]*Det2_34_04 + + m[M14]*Det2_34_03; + G4double Det3_134_123 = m[M11]*Det2_34_23 - m[M12]*Det2_34_13 + + m[M13]*Det2_34_12; + G4double Det3_134_124 = m[M11]*Det2_34_24 - m[M12]*Det2_34_14 + + m[M14]*Det2_34_12; + G4double Det3_134_134 = m[M11]*Det2_34_34 - m[M13]*Det2_34_14 + + m[M14]*Det2_34_13; + G4double Det3_134_234 = m[M12]*Det2_34_34 - m[M13]*Det2_34_24 + + m[M14]*Det2_34_23; + G4double Det3_234_012 = m[M20]*Det2_34_12 - m[M21]*Det2_34_02 + + m[M22]*Det2_34_01; + G4double Det3_234_013 = m[M20]*Det2_34_13 - m[M21]*Det2_34_03 + + m[M23]*Det2_34_01; + G4double Det3_234_014 = m[M20]*Det2_34_14 - m[M21]*Det2_34_04 + + m[M24]*Det2_34_01; + G4double Det3_234_023 = m[M20]*Det2_34_23 - m[M22]*Det2_34_03 + + m[M23]*Det2_34_02; + G4double Det3_234_024 = m[M20]*Det2_34_24 - m[M22]*Det2_34_04 + + m[M24]*Det2_34_02; + G4double Det3_234_034 = m[M20]*Det2_34_34 - m[M23]*Det2_34_04 + + m[M24]*Det2_34_03; + G4double Det3_234_123 = m[M21]*Det2_34_23 - m[M22]*Det2_34_13 + + m[M23]*Det2_34_12; + G4double Det3_234_124 = m[M21]*Det2_34_24 - m[M22]*Det2_34_14 + + m[M24]*Det2_34_12; + G4double Det3_234_134 = m[M21]*Det2_34_34 - m[M23]*Det2_34_14 + + m[M24]*Det2_34_13; + G4double Det3_234_234 = m[M22]*Det2_34_34 - m[M23]*Det2_34_24 + + m[M24]*Det2_34_23; + + // Find all NECESSARY 4x4 dets: (25 of them) + + G4double Det4_0123_0123 = m[M00]*Det3_123_123 - m[M01]*Det3_123_023 + + m[M02]*Det3_123_013 - m[M03]*Det3_123_012; + G4double Det4_0123_0124 = m[M00]*Det3_123_124 - m[M01]*Det3_123_024 + + m[M02]*Det3_123_014 - m[M04]*Det3_123_012; + G4double Det4_0123_0134 = m[M00]*Det3_123_134 - m[M01]*Det3_123_034 + + m[M03]*Det3_123_014 - m[M04]*Det3_123_013; + G4double Det4_0123_0234 = m[M00]*Det3_123_234 - m[M02]*Det3_123_034 + + m[M03]*Det3_123_024 - m[M04]*Det3_123_023; + G4double Det4_0123_1234 = m[M01]*Det3_123_234 - m[M02]*Det3_123_134 + + m[M03]*Det3_123_124 - m[M04]*Det3_123_123; + G4double Det4_0124_0123 = m[M00]*Det3_124_123 - m[M01]*Det3_124_023 + + m[M02]*Det3_124_013 - m[M03]*Det3_124_012; + G4double Det4_0124_0124 = m[M00]*Det3_124_124 - m[M01]*Det3_124_024 + + m[M02]*Det3_124_014 - m[M04]*Det3_124_012; + G4double Det4_0124_0134 = m[M00]*Det3_124_134 - m[M01]*Det3_124_034 + + m[M03]*Det3_124_014 - m[M04]*Det3_124_013; + G4double Det4_0124_0234 = m[M00]*Det3_124_234 - m[M02]*Det3_124_034 + + m[M03]*Det3_124_024 - m[M04]*Det3_124_023; + G4double Det4_0124_1234 = m[M01]*Det3_124_234 - m[M02]*Det3_124_134 + + m[M03]*Det3_124_124 - m[M04]*Det3_124_123; + G4double Det4_0134_0123 = m[M00]*Det3_134_123 - m[M01]*Det3_134_023 + + m[M02]*Det3_134_013 - m[M03]*Det3_134_012; + G4double Det4_0134_0124 = m[M00]*Det3_134_124 - m[M01]*Det3_134_024 + + m[M02]*Det3_134_014 - m[M04]*Det3_134_012; + G4double Det4_0134_0134 = m[M00]*Det3_134_134 - m[M01]*Det3_134_034 + + m[M03]*Det3_134_014 - m[M04]*Det3_134_013; + G4double Det4_0134_0234 = m[M00]*Det3_134_234 - m[M02]*Det3_134_034 + + m[M03]*Det3_134_024 - m[M04]*Det3_134_023; + G4double Det4_0134_1234 = m[M01]*Det3_134_234 - m[M02]*Det3_134_134 + + m[M03]*Det3_134_124 - m[M04]*Det3_134_123; + G4double Det4_0234_0123 = m[M00]*Det3_234_123 - m[M01]*Det3_234_023 + + m[M02]*Det3_234_013 - m[M03]*Det3_234_012; + G4double Det4_0234_0124 = m[M00]*Det3_234_124 - m[M01]*Det3_234_024 + + m[M02]*Det3_234_014 - m[M04]*Det3_234_012; + G4double Det4_0234_0134 = m[M00]*Det3_234_134 - m[M01]*Det3_234_034 + + m[M03]*Det3_234_014 - m[M04]*Det3_234_013; + G4double Det4_0234_0234 = m[M00]*Det3_234_234 - m[M02]*Det3_234_034 + + m[M03]*Det3_234_024 - m[M04]*Det3_234_023; + G4double Det4_0234_1234 = m[M01]*Det3_234_234 - m[M02]*Det3_234_134 + + m[M03]*Det3_234_124 - m[M04]*Det3_234_123; + G4double Det4_1234_0123 = m[M10]*Det3_234_123 - m[M11]*Det3_234_023 + + m[M12]*Det3_234_013 - m[M13]*Det3_234_012; + G4double Det4_1234_0124 = m[M10]*Det3_234_124 - m[M11]*Det3_234_024 + + m[M12]*Det3_234_014 - m[M14]*Det3_234_012; + G4double Det4_1234_0134 = m[M10]*Det3_234_134 - m[M11]*Det3_234_034 + + m[M13]*Det3_234_014 - m[M14]*Det3_234_013; + G4double Det4_1234_0234 = m[M10]*Det3_234_234 - m[M12]*Det3_234_034 + + m[M13]*Det3_234_024 - m[M14]*Det3_234_023; + G4double Det4_1234_1234 = m[M11]*Det3_234_234 - m[M12]*Det3_234_134 + + m[M13]*Det3_234_124 - m[M14]*Det3_234_123; + + // Find the 5x5 det: + + G4double det = m[M00]*Det4_1234_1234 + - m[M01]*Det4_1234_0234 + + m[M02]*Det4_1234_0134 + - m[M03]*Det4_1234_0124 + + m[M04]*Det4_1234_0123; + + if ( det == 0 ) + { + ifail = 1; + return; + } + + G4double oneOverDet = 1.0/det; + G4double mn1OverDet = - oneOverDet; + + m[M00] = Det4_1234_1234 * oneOverDet; + m[M01] = Det4_0234_1234 * mn1OverDet; + m[M02] = Det4_0134_1234 * oneOverDet; + m[M03] = Det4_0124_1234 * mn1OverDet; + m[M04] = Det4_0123_1234 * oneOverDet; + + m[M10] = Det4_1234_0234 * mn1OverDet; + m[M11] = Det4_0234_0234 * oneOverDet; + m[M12] = Det4_0134_0234 * mn1OverDet; + m[M13] = Det4_0124_0234 * oneOverDet; + m[M14] = Det4_0123_0234 * mn1OverDet; + + m[M20] = Det4_1234_0134 * oneOverDet; + m[M21] = Det4_0234_0134 * mn1OverDet; + m[M22] = Det4_0134_0134 * oneOverDet; + m[M23] = Det4_0124_0134 * mn1OverDet; + m[M24] = Det4_0123_0134 * oneOverDet; + + m[M30] = Det4_1234_0124 * mn1OverDet; + m[M31] = Det4_0234_0124 * oneOverDet; + m[M32] = Det4_0134_0124 * mn1OverDet; + m[M33] = Det4_0124_0124 * oneOverDet; + m[M34] = Det4_0123_0124 * mn1OverDet; + + m[M40] = Det4_1234_0123 * oneOverDet; + m[M41] = Det4_0234_0123 * mn1OverDet; + m[M42] = Det4_0134_0123 * oneOverDet; + m[M43] = Det4_0124_0123 * mn1OverDet; + m[M44] = Det4_0123_0123 * oneOverDet; + + return; +} + +void G4ErrorMatrix::invertHaywood6 (G4int & ifail) +{ + ifail = 0; + + // Find all NECESSARY 2x2 dets: (45 of them) + + G4double Det2_34_01 = m[A30]*m[A41] - m[A31]*m[A40]; + G4double Det2_34_02 = m[A30]*m[A42] - m[A32]*m[A40]; + G4double Det2_34_03 = m[A30]*m[A43] - m[A33]*m[A40]; + G4double Det2_34_04 = m[A30]*m[A44] - m[A34]*m[A40]; + G4double Det2_34_05 = m[A30]*m[A45] - m[A35]*m[A40]; + G4double Det2_34_12 = m[A31]*m[A42] - m[A32]*m[A41]; + G4double Det2_34_13 = m[A31]*m[A43] - m[A33]*m[A41]; + G4double Det2_34_14 = m[A31]*m[A44] - m[A34]*m[A41]; + G4double Det2_34_15 = m[A31]*m[A45] - m[A35]*m[A41]; + G4double Det2_34_23 = m[A32]*m[A43] - m[A33]*m[A42]; + G4double Det2_34_24 = m[A32]*m[A44] - m[A34]*m[A42]; + G4double Det2_34_25 = m[A32]*m[A45] - m[A35]*m[A42]; + G4double Det2_34_34 = m[A33]*m[A44] - m[A34]*m[A43]; + G4double Det2_34_35 = m[A33]*m[A45] - m[A35]*m[A43]; + G4double Det2_34_45 = m[A34]*m[A45] - m[A35]*m[A44]; + G4double Det2_35_01 = m[A30]*m[A51] - m[A31]*m[A50]; + G4double Det2_35_02 = m[A30]*m[A52] - m[A32]*m[A50]; + G4double Det2_35_03 = m[A30]*m[A53] - m[A33]*m[A50]; + G4double Det2_35_04 = m[A30]*m[A54] - m[A34]*m[A50]; + G4double Det2_35_05 = m[A30]*m[A55] - m[A35]*m[A50]; + G4double Det2_35_12 = m[A31]*m[A52] - m[A32]*m[A51]; + G4double Det2_35_13 = m[A31]*m[A53] - m[A33]*m[A51]; + G4double Det2_35_14 = m[A31]*m[A54] - m[A34]*m[A51]; + G4double Det2_35_15 = m[A31]*m[A55] - m[A35]*m[A51]; + G4double Det2_35_23 = m[A32]*m[A53] - m[A33]*m[A52]; + G4double Det2_35_24 = m[A32]*m[A54] - m[A34]*m[A52]; + G4double Det2_35_25 = m[A32]*m[A55] - m[A35]*m[A52]; + G4double Det2_35_34 = m[A33]*m[A54] - m[A34]*m[A53]; + G4double Det2_35_35 = m[A33]*m[A55] - m[A35]*m[A53]; + G4double Det2_35_45 = m[A34]*m[A55] - m[A35]*m[A54]; + G4double Det2_45_01 = m[A40]*m[A51] - m[A41]*m[A50]; + G4double Det2_45_02 = m[A40]*m[A52] - m[A42]*m[A50]; + G4double Det2_45_03 = m[A40]*m[A53] - m[A43]*m[A50]; + G4double Det2_45_04 = m[A40]*m[A54] - m[A44]*m[A50]; + G4double Det2_45_05 = m[A40]*m[A55] - m[A45]*m[A50]; + G4double Det2_45_12 = m[A41]*m[A52] - m[A42]*m[A51]; + G4double Det2_45_13 = m[A41]*m[A53] - m[A43]*m[A51]; + G4double Det2_45_14 = m[A41]*m[A54] - m[A44]*m[A51]; + G4double Det2_45_15 = m[A41]*m[A55] - m[A45]*m[A51]; + G4double Det2_45_23 = m[A42]*m[A53] - m[A43]*m[A52]; + G4double Det2_45_24 = m[A42]*m[A54] - m[A44]*m[A52]; + G4double Det2_45_25 = m[A42]*m[A55] - m[A45]*m[A52]; + G4double Det2_45_34 = m[A43]*m[A54] - m[A44]*m[A53]; + G4double Det2_45_35 = m[A43]*m[A55] - m[A45]*m[A53]; + G4double Det2_45_45 = m[A44]*m[A55] - m[A45]*m[A54]; + + // Find all NECESSARY 3x3 dets: (80 of them) + + G4double Det3_234_012 = m[A20]*Det2_34_12 - m[A21]*Det2_34_02 + + m[A22]*Det2_34_01; + G4double Det3_234_013 = m[A20]*Det2_34_13 - m[A21]*Det2_34_03 + + m[A23]*Det2_34_01; + G4double Det3_234_014 = m[A20]*Det2_34_14 - m[A21]*Det2_34_04 + + m[A24]*Det2_34_01; + G4double Det3_234_015 = m[A20]*Det2_34_15 - m[A21]*Det2_34_05 + + m[A25]*Det2_34_01; + G4double Det3_234_023 = m[A20]*Det2_34_23 - m[A22]*Det2_34_03 + + m[A23]*Det2_34_02; + G4double Det3_234_024 = m[A20]*Det2_34_24 - m[A22]*Det2_34_04 + + m[A24]*Det2_34_02; + G4double Det3_234_025 = m[A20]*Det2_34_25 - m[A22]*Det2_34_05 + + m[A25]*Det2_34_02; + G4double Det3_234_034 = m[A20]*Det2_34_34 - m[A23]*Det2_34_04 + + m[A24]*Det2_34_03; + G4double Det3_234_035 = m[A20]*Det2_34_35 - m[A23]*Det2_34_05 + + m[A25]*Det2_34_03; + G4double Det3_234_045 = m[A20]*Det2_34_45 - m[A24]*Det2_34_05 + + m[A25]*Det2_34_04; + G4double Det3_234_123 = m[A21]*Det2_34_23 - m[A22]*Det2_34_13 + + m[A23]*Det2_34_12; + G4double Det3_234_124 = m[A21]*Det2_34_24 - m[A22]*Det2_34_14 + + m[A24]*Det2_34_12; + G4double Det3_234_125 = m[A21]*Det2_34_25 - m[A22]*Det2_34_15 + + m[A25]*Det2_34_12; + G4double Det3_234_134 = m[A21]*Det2_34_34 - m[A23]*Det2_34_14 + + m[A24]*Det2_34_13; + G4double Det3_234_135 = m[A21]*Det2_34_35 - m[A23]*Det2_34_15 + + m[A25]*Det2_34_13; + G4double Det3_234_145 = m[A21]*Det2_34_45 - m[A24]*Det2_34_15 + + m[A25]*Det2_34_14; + G4double Det3_234_234 = m[A22]*Det2_34_34 - m[A23]*Det2_34_24 + + m[A24]*Det2_34_23; + G4double Det3_234_235 = m[A22]*Det2_34_35 - m[A23]*Det2_34_25 + + m[A25]*Det2_34_23; + G4double Det3_234_245 = m[A22]*Det2_34_45 - m[A24]*Det2_34_25 + + m[A25]*Det2_34_24; + G4double Det3_234_345 = m[A23]*Det2_34_45 - m[A24]*Det2_34_35 + + m[A25]*Det2_34_34; + G4double Det3_235_012 = m[A20]*Det2_35_12 - m[A21]*Det2_35_02 + + m[A22]*Det2_35_01; + G4double Det3_235_013 = m[A20]*Det2_35_13 - m[A21]*Det2_35_03 + + m[A23]*Det2_35_01; + G4double Det3_235_014 = m[A20]*Det2_35_14 - m[A21]*Det2_35_04 + + m[A24]*Det2_35_01; + G4double Det3_235_015 = m[A20]*Det2_35_15 - m[A21]*Det2_35_05 + + m[A25]*Det2_35_01; + G4double Det3_235_023 = m[A20]*Det2_35_23 - m[A22]*Det2_35_03 + + m[A23]*Det2_35_02; + G4double Det3_235_024 = m[A20]*Det2_35_24 - m[A22]*Det2_35_04 + + m[A24]*Det2_35_02; + G4double Det3_235_025 = m[A20]*Det2_35_25 - m[A22]*Det2_35_05 + + m[A25]*Det2_35_02; + G4double Det3_235_034 = m[A20]*Det2_35_34 - m[A23]*Det2_35_04 + + m[A24]*Det2_35_03; + G4double Det3_235_035 = m[A20]*Det2_35_35 - m[A23]*Det2_35_05 + + m[A25]*Det2_35_03; + G4double Det3_235_045 = m[A20]*Det2_35_45 - m[A24]*Det2_35_05 + + m[A25]*Det2_35_04; + G4double Det3_235_123 = m[A21]*Det2_35_23 - m[A22]*Det2_35_13 + + m[A23]*Det2_35_12; + G4double Det3_235_124 = m[A21]*Det2_35_24 - m[A22]*Det2_35_14 + + m[A24]*Det2_35_12; + G4double Det3_235_125 = m[A21]*Det2_35_25 - m[A22]*Det2_35_15 + + m[A25]*Det2_35_12; + G4double Det3_235_134 = m[A21]*Det2_35_34 - m[A23]*Det2_35_14 + + m[A24]*Det2_35_13; + G4double Det3_235_135 = m[A21]*Det2_35_35 - m[A23]*Det2_35_15 + + m[A25]*Det2_35_13; + G4double Det3_235_145 = m[A21]*Det2_35_45 - m[A24]*Det2_35_15 + + m[A25]*Det2_35_14; + G4double Det3_235_234 = m[A22]*Det2_35_34 - m[A23]*Det2_35_24 + + m[A24]*Det2_35_23; + G4double Det3_235_235 = m[A22]*Det2_35_35 - m[A23]*Det2_35_25 + + m[A25]*Det2_35_23; + G4double Det3_235_245 = m[A22]*Det2_35_45 - m[A24]*Det2_35_25 + + m[A25]*Det2_35_24; + G4double Det3_235_345 = m[A23]*Det2_35_45 - m[A24]*Det2_35_35 + + m[A25]*Det2_35_34; + G4double Det3_245_012 = m[A20]*Det2_45_12 - m[A21]*Det2_45_02 + + m[A22]*Det2_45_01; + G4double Det3_245_013 = m[A20]*Det2_45_13 - m[A21]*Det2_45_03 + + m[A23]*Det2_45_01; + G4double Det3_245_014 = m[A20]*Det2_45_14 - m[A21]*Det2_45_04 + + m[A24]*Det2_45_01; + G4double Det3_245_015 = m[A20]*Det2_45_15 - m[A21]*Det2_45_05 + + m[A25]*Det2_45_01; + G4double Det3_245_023 = m[A20]*Det2_45_23 - m[A22]*Det2_45_03 + + m[A23]*Det2_45_02; + G4double Det3_245_024 = m[A20]*Det2_45_24 - m[A22]*Det2_45_04 + + m[A24]*Det2_45_02; + G4double Det3_245_025 = m[A20]*Det2_45_25 - m[A22]*Det2_45_05 + + m[A25]*Det2_45_02; + G4double Det3_245_034 = m[A20]*Det2_45_34 - m[A23]*Det2_45_04 + + m[A24]*Det2_45_03; + G4double Det3_245_035 = m[A20]*Det2_45_35 - m[A23]*Det2_45_05 + + m[A25]*Det2_45_03; + G4double Det3_245_045 = m[A20]*Det2_45_45 - m[A24]*Det2_45_05 + + m[A25]*Det2_45_04; + G4double Det3_245_123 = m[A21]*Det2_45_23 - m[A22]*Det2_45_13 + + m[A23]*Det2_45_12; + G4double Det3_245_124 = m[A21]*Det2_45_24 - m[A22]*Det2_45_14 + + m[A24]*Det2_45_12; + G4double Det3_245_125 = m[A21]*Det2_45_25 - m[A22]*Det2_45_15 + + m[A25]*Det2_45_12; + G4double Det3_245_134 = m[A21]*Det2_45_34 - m[A23]*Det2_45_14 + + m[A24]*Det2_45_13; + G4double Det3_245_135 = m[A21]*Det2_45_35 - m[A23]*Det2_45_15 + + m[A25]*Det2_45_13; + G4double Det3_245_145 = m[A21]*Det2_45_45 - m[A24]*Det2_45_15 + + m[A25]*Det2_45_14; + G4double Det3_245_234 = m[A22]*Det2_45_34 - m[A23]*Det2_45_24 + + m[A24]*Det2_45_23; + G4double Det3_245_235 = m[A22]*Det2_45_35 - m[A23]*Det2_45_25 + + m[A25]*Det2_45_23; + G4double Det3_245_245 = m[A22]*Det2_45_45 - m[A24]*Det2_45_25 + + m[A25]*Det2_45_24; + G4double Det3_245_345 = m[A23]*Det2_45_45 - m[A24]*Det2_45_35 + + m[A25]*Det2_45_34; + G4double Det3_345_012 = m[A30]*Det2_45_12 - m[A31]*Det2_45_02 + + m[A32]*Det2_45_01; + G4double Det3_345_013 = m[A30]*Det2_45_13 - m[A31]*Det2_45_03 + + m[A33]*Det2_45_01; + G4double Det3_345_014 = m[A30]*Det2_45_14 - m[A31]*Det2_45_04 + + m[A34]*Det2_45_01; + G4double Det3_345_015 = m[A30]*Det2_45_15 - m[A31]*Det2_45_05 + + m[A35]*Det2_45_01; + G4double Det3_345_023 = m[A30]*Det2_45_23 - m[A32]*Det2_45_03 + + m[A33]*Det2_45_02; + G4double Det3_345_024 = m[A30]*Det2_45_24 - m[A32]*Det2_45_04 + + m[A34]*Det2_45_02; + G4double Det3_345_025 = m[A30]*Det2_45_25 - m[A32]*Det2_45_05 + + m[A35]*Det2_45_02; + G4double Det3_345_034 = m[A30]*Det2_45_34 - m[A33]*Det2_45_04 + + m[A34]*Det2_45_03; + G4double Det3_345_035 = m[A30]*Det2_45_35 - m[A33]*Det2_45_05 + + m[A35]*Det2_45_03; + G4double Det3_345_045 = m[A30]*Det2_45_45 - m[A34]*Det2_45_05 + + m[A35]*Det2_45_04; + G4double Det3_345_123 = m[A31]*Det2_45_23 - m[A32]*Det2_45_13 + + m[A33]*Det2_45_12; + G4double Det3_345_124 = m[A31]*Det2_45_24 - m[A32]*Det2_45_14 + + m[A34]*Det2_45_12; + G4double Det3_345_125 = m[A31]*Det2_45_25 - m[A32]*Det2_45_15 + + m[A35]*Det2_45_12; + G4double Det3_345_134 = m[A31]*Det2_45_34 - m[A33]*Det2_45_14 + + m[A34]*Det2_45_13; + G4double Det3_345_135 = m[A31]*Det2_45_35 - m[A33]*Det2_45_15 + + m[A35]*Det2_45_13; + G4double Det3_345_145 = m[A31]*Det2_45_45 - m[A34]*Det2_45_15 + + m[A35]*Det2_45_14; + G4double Det3_345_234 = m[A32]*Det2_45_34 - m[A33]*Det2_45_24 + + m[A34]*Det2_45_23; + G4double Det3_345_235 = m[A32]*Det2_45_35 - m[A33]*Det2_45_25 + + m[A35]*Det2_45_23; + G4double Det3_345_245 = m[A32]*Det2_45_45 - m[A34]*Det2_45_25 + + m[A35]*Det2_45_24; + G4double Det3_345_345 = m[A33]*Det2_45_45 - m[A34]*Det2_45_35 + + m[A35]*Det2_45_34; + + // Find all NECESSARY 4x4 dets: (75 of them) + + G4double Det4_1234_0123 = m[A10]*Det3_234_123 - m[A11]*Det3_234_023 + + m[A12]*Det3_234_013 - m[A13]*Det3_234_012; + G4double Det4_1234_0124 = m[A10]*Det3_234_124 - m[A11]*Det3_234_024 + + m[A12]*Det3_234_014 - m[A14]*Det3_234_012; + G4double Det4_1234_0125 = m[A10]*Det3_234_125 - m[A11]*Det3_234_025 + + m[A12]*Det3_234_015 - m[A15]*Det3_234_012; + G4double Det4_1234_0134 = m[A10]*Det3_234_134 - m[A11]*Det3_234_034 + + m[A13]*Det3_234_014 - m[A14]*Det3_234_013; + G4double Det4_1234_0135 = m[A10]*Det3_234_135 - m[A11]*Det3_234_035 + + m[A13]*Det3_234_015 - m[A15]*Det3_234_013; + G4double Det4_1234_0145 = m[A10]*Det3_234_145 - m[A11]*Det3_234_045 + + m[A14]*Det3_234_015 - m[A15]*Det3_234_014; + G4double Det4_1234_0234 = m[A10]*Det3_234_234 - m[A12]*Det3_234_034 + + m[A13]*Det3_234_024 - m[A14]*Det3_234_023; + G4double Det4_1234_0235 = m[A10]*Det3_234_235 - m[A12]*Det3_234_035 + + m[A13]*Det3_234_025 - m[A15]*Det3_234_023; + G4double Det4_1234_0245 = m[A10]*Det3_234_245 - m[A12]*Det3_234_045 + + m[A14]*Det3_234_025 - m[A15]*Det3_234_024; + G4double Det4_1234_0345 = m[A10]*Det3_234_345 - m[A13]*Det3_234_045 + + m[A14]*Det3_234_035 - m[A15]*Det3_234_034; + G4double Det4_1234_1234 = m[A11]*Det3_234_234 - m[A12]*Det3_234_134 + + m[A13]*Det3_234_124 - m[A14]*Det3_234_123; + G4double Det4_1234_1235 = m[A11]*Det3_234_235 - m[A12]*Det3_234_135 + + m[A13]*Det3_234_125 - m[A15]*Det3_234_123; + G4double Det4_1234_1245 = m[A11]*Det3_234_245 - m[A12]*Det3_234_145 + + m[A14]*Det3_234_125 - m[A15]*Det3_234_124; + G4double Det4_1234_1345 = m[A11]*Det3_234_345 - m[A13]*Det3_234_145 + + m[A14]*Det3_234_135 - m[A15]*Det3_234_134; + G4double Det4_1234_2345 = m[A12]*Det3_234_345 - m[A13]*Det3_234_245 + + m[A14]*Det3_234_235 - m[A15]*Det3_234_234; + G4double Det4_1235_0123 = m[A10]*Det3_235_123 - m[A11]*Det3_235_023 + + m[A12]*Det3_235_013 - m[A13]*Det3_235_012; + G4double Det4_1235_0124 = m[A10]*Det3_235_124 - m[A11]*Det3_235_024 + + m[A12]*Det3_235_014 - m[A14]*Det3_235_012; + G4double Det4_1235_0125 = m[A10]*Det3_235_125 - m[A11]*Det3_235_025 + + m[A12]*Det3_235_015 - m[A15]*Det3_235_012; + G4double Det4_1235_0134 = m[A10]*Det3_235_134 - m[A11]*Det3_235_034 + + m[A13]*Det3_235_014 - m[A14]*Det3_235_013; + G4double Det4_1235_0135 = m[A10]*Det3_235_135 - m[A11]*Det3_235_035 + + m[A13]*Det3_235_015 - m[A15]*Det3_235_013; + G4double Det4_1235_0145 = m[A10]*Det3_235_145 - m[A11]*Det3_235_045 + + m[A14]*Det3_235_015 - m[A15]*Det3_235_014; + G4double Det4_1235_0234 = m[A10]*Det3_235_234 - m[A12]*Det3_235_034 + + m[A13]*Det3_235_024 - m[A14]*Det3_235_023; + G4double Det4_1235_0235 = m[A10]*Det3_235_235 - m[A12]*Det3_235_035 + + m[A13]*Det3_235_025 - m[A15]*Det3_235_023; + G4double Det4_1235_0245 = m[A10]*Det3_235_245 - m[A12]*Det3_235_045 + + m[A14]*Det3_235_025 - m[A15]*Det3_235_024; + G4double Det4_1235_0345 = m[A10]*Det3_235_345 - m[A13]*Det3_235_045 + + m[A14]*Det3_235_035 - m[A15]*Det3_235_034; + G4double Det4_1235_1234 = m[A11]*Det3_235_234 - m[A12]*Det3_235_134 + + m[A13]*Det3_235_124 - m[A14]*Det3_235_123; + G4double Det4_1235_1235 = m[A11]*Det3_235_235 - m[A12]*Det3_235_135 + + m[A13]*Det3_235_125 - m[A15]*Det3_235_123; + G4double Det4_1235_1245 = m[A11]*Det3_235_245 - m[A12]*Det3_235_145 + + m[A14]*Det3_235_125 - m[A15]*Det3_235_124; + G4double Det4_1235_1345 = m[A11]*Det3_235_345 - m[A13]*Det3_235_145 + + m[A14]*Det3_235_135 - m[A15]*Det3_235_134; + G4double Det4_1235_2345 = m[A12]*Det3_235_345 - m[A13]*Det3_235_245 + + m[A14]*Det3_235_235 - m[A15]*Det3_235_234; + G4double Det4_1245_0123 = m[A10]*Det3_245_123 - m[A11]*Det3_245_023 + + m[A12]*Det3_245_013 - m[A13]*Det3_245_012; + G4double Det4_1245_0124 = m[A10]*Det3_245_124 - m[A11]*Det3_245_024 + + m[A12]*Det3_245_014 - m[A14]*Det3_245_012; + G4double Det4_1245_0125 = m[A10]*Det3_245_125 - m[A11]*Det3_245_025 + + m[A12]*Det3_245_015 - m[A15]*Det3_245_012; + G4double Det4_1245_0134 = m[A10]*Det3_245_134 - m[A11]*Det3_245_034 + + m[A13]*Det3_245_014 - m[A14]*Det3_245_013; + G4double Det4_1245_0135 = m[A10]*Det3_245_135 - m[A11]*Det3_245_035 + + m[A13]*Det3_245_015 - m[A15]*Det3_245_013; + G4double Det4_1245_0145 = m[A10]*Det3_245_145 - m[A11]*Det3_245_045 + + m[A14]*Det3_245_015 - m[A15]*Det3_245_014; + G4double Det4_1245_0234 = m[A10]*Det3_245_234 - m[A12]*Det3_245_034 + + m[A13]*Det3_245_024 - m[A14]*Det3_245_023; + G4double Det4_1245_0235 = m[A10]*Det3_245_235 - m[A12]*Det3_245_035 + + m[A13]*Det3_245_025 - m[A15]*Det3_245_023; + G4double Det4_1245_0245 = m[A10]*Det3_245_245 - m[A12]*Det3_245_045 + + m[A14]*Det3_245_025 - m[A15]*Det3_245_024; + G4double Det4_1245_0345 = m[A10]*Det3_245_345 - m[A13]*Det3_245_045 + + m[A14]*Det3_245_035 - m[A15]*Det3_245_034; + G4double Det4_1245_1234 = m[A11]*Det3_245_234 - m[A12]*Det3_245_134 + + m[A13]*Det3_245_124 - m[A14]*Det3_245_123; + G4double Det4_1245_1235 = m[A11]*Det3_245_235 - m[A12]*Det3_245_135 + + m[A13]*Det3_245_125 - m[A15]*Det3_245_123; + G4double Det4_1245_1245 = m[A11]*Det3_245_245 - m[A12]*Det3_245_145 + + m[A14]*Det3_245_125 - m[A15]*Det3_245_124; + G4double Det4_1245_1345 = m[A11]*Det3_245_345 - m[A13]*Det3_245_145 + + m[A14]*Det3_245_135 - m[A15]*Det3_245_134; + G4double Det4_1245_2345 = m[A12]*Det3_245_345 - m[A13]*Det3_245_245 + + m[A14]*Det3_245_235 - m[A15]*Det3_245_234; + G4double Det4_1345_0123 = m[A10]*Det3_345_123 - m[A11]*Det3_345_023 + + m[A12]*Det3_345_013 - m[A13]*Det3_345_012; + G4double Det4_1345_0124 = m[A10]*Det3_345_124 - m[A11]*Det3_345_024 + + m[A12]*Det3_345_014 - m[A14]*Det3_345_012; + G4double Det4_1345_0125 = m[A10]*Det3_345_125 - m[A11]*Det3_345_025 + + m[A12]*Det3_345_015 - m[A15]*Det3_345_012; + G4double Det4_1345_0134 = m[A10]*Det3_345_134 - m[A11]*Det3_345_034 + + m[A13]*Det3_345_014 - m[A14]*Det3_345_013; + G4double Det4_1345_0135 = m[A10]*Det3_345_135 - m[A11]*Det3_345_035 + + m[A13]*Det3_345_015 - m[A15]*Det3_345_013; + G4double Det4_1345_0145 = m[A10]*Det3_345_145 - m[A11]*Det3_345_045 + + m[A14]*Det3_345_015 - m[A15]*Det3_345_014; + G4double Det4_1345_0234 = m[A10]*Det3_345_234 - m[A12]*Det3_345_034 + + m[A13]*Det3_345_024 - m[A14]*Det3_345_023; + G4double Det4_1345_0235 = m[A10]*Det3_345_235 - m[A12]*Det3_345_035 + + m[A13]*Det3_345_025 - m[A15]*Det3_345_023; + G4double Det4_1345_0245 = m[A10]*Det3_345_245 - m[A12]*Det3_345_045 + + m[A14]*Det3_345_025 - m[A15]*Det3_345_024; + G4double Det4_1345_0345 = m[A10]*Det3_345_345 - m[A13]*Det3_345_045 + + m[A14]*Det3_345_035 - m[A15]*Det3_345_034; + G4double Det4_1345_1234 = m[A11]*Det3_345_234 - m[A12]*Det3_345_134 + + m[A13]*Det3_345_124 - m[A14]*Det3_345_123; + G4double Det4_1345_1235 = m[A11]*Det3_345_235 - m[A12]*Det3_345_135 + + m[A13]*Det3_345_125 - m[A15]*Det3_345_123; + G4double Det4_1345_1245 = m[A11]*Det3_345_245 - m[A12]*Det3_345_145 + + m[A14]*Det3_345_125 - m[A15]*Det3_345_124; + G4double Det4_1345_1345 = m[A11]*Det3_345_345 - m[A13]*Det3_345_145 + + m[A14]*Det3_345_135 - m[A15]*Det3_345_134; + G4double Det4_1345_2345 = m[A12]*Det3_345_345 - m[A13]*Det3_345_245 + + m[A14]*Det3_345_235 - m[A15]*Det3_345_234; + G4double Det4_2345_0123 = m[A20]*Det3_345_123 - m[A21]*Det3_345_023 + + m[A22]*Det3_345_013 - m[A23]*Det3_345_012; + G4double Det4_2345_0124 = m[A20]*Det3_345_124 - m[A21]*Det3_345_024 + + m[A22]*Det3_345_014 - m[A24]*Det3_345_012; + G4double Det4_2345_0125 = m[A20]*Det3_345_125 - m[A21]*Det3_345_025 + + m[A22]*Det3_345_015 - m[A25]*Det3_345_012; + G4double Det4_2345_0134 = m[A20]*Det3_345_134 - m[A21]*Det3_345_034 + + m[A23]*Det3_345_014 - m[A24]*Det3_345_013; + G4double Det4_2345_0135 = m[A20]*Det3_345_135 - m[A21]*Det3_345_035 + + m[A23]*Det3_345_015 - m[A25]*Det3_345_013; + G4double Det4_2345_0145 = m[A20]*Det3_345_145 - m[A21]*Det3_345_045 + + m[A24]*Det3_345_015 - m[A25]*Det3_345_014; + G4double Det4_2345_0234 = m[A20]*Det3_345_234 - m[A22]*Det3_345_034 + + m[A23]*Det3_345_024 - m[A24]*Det3_345_023; + G4double Det4_2345_0235 = m[A20]*Det3_345_235 - m[A22]*Det3_345_035 + + m[A23]*Det3_345_025 - m[A25]*Det3_345_023; + G4double Det4_2345_0245 = m[A20]*Det3_345_245 - m[A22]*Det3_345_045 + + m[A24]*Det3_345_025 - m[A25]*Det3_345_024; + G4double Det4_2345_0345 = m[A20]*Det3_345_345 - m[A23]*Det3_345_045 + + m[A24]*Det3_345_035 - m[A25]*Det3_345_034; + G4double Det4_2345_1234 = m[A21]*Det3_345_234 - m[A22]*Det3_345_134 + + m[A23]*Det3_345_124 - m[A24]*Det3_345_123; + G4double Det4_2345_1235 = m[A21]*Det3_345_235 - m[A22]*Det3_345_135 + + m[A23]*Det3_345_125 - m[A25]*Det3_345_123; + G4double Det4_2345_1245 = m[A21]*Det3_345_245 - m[A22]*Det3_345_145 + + m[A24]*Det3_345_125 - m[A25]*Det3_345_124; + G4double Det4_2345_1345 = m[A21]*Det3_345_345 - m[A23]*Det3_345_145 + + m[A24]*Det3_345_135 - m[A25]*Det3_345_134; + G4double Det4_2345_2345 = m[A22]*Det3_345_345 - m[A23]*Det3_345_245 + + m[A24]*Det3_345_235 - m[A25]*Det3_345_234; + + // Find all NECESSARY 5x5 dets: (36 of them) + + G4double Det5_01234_01234 = m[A00]*Det4_1234_1234 - m[A01]*Det4_1234_0234 + + m[A02]*Det4_1234_0134 - m[A03]*Det4_1234_0124 + m[A04]*Det4_1234_0123; + G4double Det5_01234_01235 = m[A00]*Det4_1234_1235 - m[A01]*Det4_1234_0235 + + m[A02]*Det4_1234_0135 - m[A03]*Det4_1234_0125 + m[A05]*Det4_1234_0123; + G4double Det5_01234_01245 = m[A00]*Det4_1234_1245 - m[A01]*Det4_1234_0245 + + m[A02]*Det4_1234_0145 - m[A04]*Det4_1234_0125 + m[A05]*Det4_1234_0124; + G4double Det5_01234_01345 = m[A00]*Det4_1234_1345 - m[A01]*Det4_1234_0345 + + m[A03]*Det4_1234_0145 - m[A04]*Det4_1234_0135 + m[A05]*Det4_1234_0134; + G4double Det5_01234_02345 = m[A00]*Det4_1234_2345 - m[A02]*Det4_1234_0345 + + m[A03]*Det4_1234_0245 - m[A04]*Det4_1234_0235 + m[A05]*Det4_1234_0234; + G4double Det5_01234_12345 = m[A01]*Det4_1234_2345 - m[A02]*Det4_1234_1345 + + m[A03]*Det4_1234_1245 - m[A04]*Det4_1234_1235 + m[A05]*Det4_1234_1234; + G4double Det5_01235_01234 = m[A00]*Det4_1235_1234 - m[A01]*Det4_1235_0234 + + m[A02]*Det4_1235_0134 - m[A03]*Det4_1235_0124 + m[A04]*Det4_1235_0123; + G4double Det5_01235_01235 = m[A00]*Det4_1235_1235 - m[A01]*Det4_1235_0235 + + m[A02]*Det4_1235_0135 - m[A03]*Det4_1235_0125 + m[A05]*Det4_1235_0123; + G4double Det5_01235_01245 = m[A00]*Det4_1235_1245 - m[A01]*Det4_1235_0245 + + m[A02]*Det4_1235_0145 - m[A04]*Det4_1235_0125 + m[A05]*Det4_1235_0124; + G4double Det5_01235_01345 = m[A00]*Det4_1235_1345 - m[A01]*Det4_1235_0345 + + m[A03]*Det4_1235_0145 - m[A04]*Det4_1235_0135 + m[A05]*Det4_1235_0134; + G4double Det5_01235_02345 = m[A00]*Det4_1235_2345 - m[A02]*Det4_1235_0345 + + m[A03]*Det4_1235_0245 - m[A04]*Det4_1235_0235 + m[A05]*Det4_1235_0234; + G4double Det5_01235_12345 = m[A01]*Det4_1235_2345 - m[A02]*Det4_1235_1345 + + m[A03]*Det4_1235_1245 - m[A04]*Det4_1235_1235 + m[A05]*Det4_1235_1234; + G4double Det5_01245_01234 = m[A00]*Det4_1245_1234 - m[A01]*Det4_1245_0234 + + m[A02]*Det4_1245_0134 - m[A03]*Det4_1245_0124 + m[A04]*Det4_1245_0123; + G4double Det5_01245_01235 = m[A00]*Det4_1245_1235 - m[A01]*Det4_1245_0235 + + m[A02]*Det4_1245_0135 - m[A03]*Det4_1245_0125 + m[A05]*Det4_1245_0123; + G4double Det5_01245_01245 = m[A00]*Det4_1245_1245 - m[A01]*Det4_1245_0245 + + m[A02]*Det4_1245_0145 - m[A04]*Det4_1245_0125 + m[A05]*Det4_1245_0124; + G4double Det5_01245_01345 = m[A00]*Det4_1245_1345 - m[A01]*Det4_1245_0345 + + m[A03]*Det4_1245_0145 - m[A04]*Det4_1245_0135 + m[A05]*Det4_1245_0134; + G4double Det5_01245_02345 = m[A00]*Det4_1245_2345 - m[A02]*Det4_1245_0345 + + m[A03]*Det4_1245_0245 - m[A04]*Det4_1245_0235 + m[A05]*Det4_1245_0234; + G4double Det5_01245_12345 = m[A01]*Det4_1245_2345 - m[A02]*Det4_1245_1345 + + m[A03]*Det4_1245_1245 - m[A04]*Det4_1245_1235 + m[A05]*Det4_1245_1234; + G4double Det5_01345_01234 = m[A00]*Det4_1345_1234 - m[A01]*Det4_1345_0234 + + m[A02]*Det4_1345_0134 - m[A03]*Det4_1345_0124 + m[A04]*Det4_1345_0123; + G4double Det5_01345_01235 = m[A00]*Det4_1345_1235 - m[A01]*Det4_1345_0235 + + m[A02]*Det4_1345_0135 - m[A03]*Det4_1345_0125 + m[A05]*Det4_1345_0123; + G4double Det5_01345_01245 = m[A00]*Det4_1345_1245 - m[A01]*Det4_1345_0245 + + m[A02]*Det4_1345_0145 - m[A04]*Det4_1345_0125 + m[A05]*Det4_1345_0124; + G4double Det5_01345_01345 = m[A00]*Det4_1345_1345 - m[A01]*Det4_1345_0345 + + m[A03]*Det4_1345_0145 - m[A04]*Det4_1345_0135 + m[A05]*Det4_1345_0134; + G4double Det5_01345_02345 = m[A00]*Det4_1345_2345 - m[A02]*Det4_1345_0345 + + m[A03]*Det4_1345_0245 - m[A04]*Det4_1345_0235 + m[A05]*Det4_1345_0234; + G4double Det5_01345_12345 = m[A01]*Det4_1345_2345 - m[A02]*Det4_1345_1345 + + m[A03]*Det4_1345_1245 - m[A04]*Det4_1345_1235 + m[A05]*Det4_1345_1234; // + G4double Det5_02345_01234 = m[A00]*Det4_2345_1234 - m[A01]*Det4_2345_0234 + + m[A02]*Det4_2345_0134 - m[A03]*Det4_2345_0124 + m[A04]*Det4_2345_0123; + G4double Det5_02345_01235 = m[A00]*Det4_2345_1235 - m[A01]*Det4_2345_0235 + + m[A02]*Det4_2345_0135 - m[A03]*Det4_2345_0125 + m[A05]*Det4_2345_0123; + G4double Det5_02345_01245 = m[A00]*Det4_2345_1245 - m[A01]*Det4_2345_0245 + + m[A02]*Det4_2345_0145 - m[A04]*Det4_2345_0125 + m[A05]*Det4_2345_0124; + G4double Det5_02345_01345 = m[A00]*Det4_2345_1345 - m[A01]*Det4_2345_0345 + + m[A03]*Det4_2345_0145 - m[A04]*Det4_2345_0135 + m[A05]*Det4_2345_0134; + G4double Det5_02345_02345 = m[A00]*Det4_2345_2345 - m[A02]*Det4_2345_0345 + + m[A03]*Det4_2345_0245 - m[A04]*Det4_2345_0235 + m[A05]*Det4_2345_0234; + G4double Det5_02345_12345 = m[A01]*Det4_2345_2345 - m[A02]*Det4_2345_1345 + + m[A03]*Det4_2345_1245 - m[A04]*Det4_2345_1235 + m[A05]*Det4_2345_1234; + G4double Det5_12345_01234 = m[A10]*Det4_2345_1234 - m[A11]*Det4_2345_0234 + + m[A12]*Det4_2345_0134 - m[A13]*Det4_2345_0124 + m[A14]*Det4_2345_0123; + G4double Det5_12345_01235 = m[A10]*Det4_2345_1235 - m[A11]*Det4_2345_0235 + + m[A12]*Det4_2345_0135 - m[A13]*Det4_2345_0125 + m[A15]*Det4_2345_0123; + G4double Det5_12345_01245 = m[A10]*Det4_2345_1245 - m[A11]*Det4_2345_0245 + + m[A12]*Det4_2345_0145 - m[A14]*Det4_2345_0125 + m[A15]*Det4_2345_0124; + G4double Det5_12345_01345 = m[A10]*Det4_2345_1345 - m[A11]*Det4_2345_0345 + + m[A13]*Det4_2345_0145 - m[A14]*Det4_2345_0135 + m[A15]*Det4_2345_0134; + G4double Det5_12345_02345 = m[A10]*Det4_2345_2345 - m[A12]*Det4_2345_0345 + + m[A13]*Det4_2345_0245 - m[A14]*Det4_2345_0235 + m[A15]*Det4_2345_0234; + G4double Det5_12345_12345 = m[A11]*Det4_2345_2345 - m[A12]*Det4_2345_1345 + + m[A13]*Det4_2345_1245 - m[A14]*Det4_2345_1235 + m[A15]*Det4_2345_1234; + + // Find the determinant + + G4double det = m[A00]*Det5_12345_12345 + - m[A01]*Det5_12345_02345 + + m[A02]*Det5_12345_01345 + - m[A03]*Det5_12345_01245 + + m[A04]*Det5_12345_01235 + - m[A05]*Det5_12345_01234; + + if ( det == 0 ) + { + ifail = 1; + return; + } + + G4double oneOverDet = 1.0/det; + G4double mn1OverDet = - oneOverDet; + + m[A00] = Det5_12345_12345*oneOverDet; + m[A01] = Det5_02345_12345*mn1OverDet; + m[A02] = Det5_01345_12345*oneOverDet; + m[A03] = Det5_01245_12345*mn1OverDet; + m[A04] = Det5_01235_12345*oneOverDet; + m[A05] = Det5_01234_12345*mn1OverDet; + + m[A10] = Det5_12345_02345*mn1OverDet; + m[A11] = Det5_02345_02345*oneOverDet; + m[A12] = Det5_01345_02345*mn1OverDet; + m[A13] = Det5_01245_02345*oneOverDet; + m[A14] = Det5_01235_02345*mn1OverDet; + m[A15] = Det5_01234_02345*oneOverDet; + + m[A20] = Det5_12345_01345*oneOverDet; + m[A21] = Det5_02345_01345*mn1OverDet; + m[A22] = Det5_01345_01345*oneOverDet; + m[A23] = Det5_01245_01345*mn1OverDet; + m[A24] = Det5_01235_01345*oneOverDet; + m[A25] = Det5_01234_01345*mn1OverDet; + + m[A30] = Det5_12345_01245*mn1OverDet; + m[A31] = Det5_02345_01245*oneOverDet; + m[A32] = Det5_01345_01245*mn1OverDet; + m[A33] = Det5_01245_01245*oneOverDet; + m[A34] = Det5_01235_01245*mn1OverDet; + m[A35] = Det5_01234_01245*oneOverDet; + + m[A40] = Det5_12345_01235*oneOverDet; + m[A41] = Det5_02345_01235*mn1OverDet; + m[A42] = Det5_01345_01235*oneOverDet; + m[A43] = Det5_01245_01235*mn1OverDet; + m[A44] = Det5_01235_01235*oneOverDet; + m[A45] = Det5_01234_01235*mn1OverDet; + + m[A50] = Det5_12345_01234*mn1OverDet; + m[A51] = Det5_02345_01234*oneOverDet; + m[A52] = Det5_01345_01234*mn1OverDet; + m[A53] = Det5_01245_01234*oneOverDet; + m[A54] = Det5_01235_01234*mn1OverDet; + m[A55] = Det5_01234_01234*oneOverDet; + + return; +} diff --git a/source/error_propagation/src/G4ErrorMessenger.cc b/source/error_propagation/src/G4ErrorMessenger.cc new file mode 100644 index 0000000000..d63e8a2693 --- /dev/null +++ b/source/error_propagation/src/G4ErrorMessenger.cc @@ -0,0 +1,112 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorMessenger.cc,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// + +#include "G4ErrorMessenger.hh" +#include "G4ErrorStepLengthLimitProcess.hh" +#include "G4ErrorMagFieldLimitProcess.hh" +#include "G4ErrorEnergyLoss.hh" + +#include "G4UIdirectory.hh" +#include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithADouble.hh" +#include "globals.hh" + +#ifdef G4VERBOSE +#include "G4ErrorPropagatorData.hh" //for verbosity checking +#endif + +//------------------------------------------------------------------------ +G4ErrorMessenger::G4ErrorMessenger(G4ErrorStepLengthLimitProcess* lengthAct, G4ErrorMagFieldLimitProcess* magAct, G4ErrorEnergyLoss* elossAct) + :StepLengthAction(lengthAct),MagFieldAction(magAct),EnergyLossAction(elossAct) +{ + + myDir = new G4UIdirectory("/geant4e/"); + myDir->SetGuidance("GEANT4e control commands"); + + myDirLimits = new G4UIdirectory("/geant4e/limits/"); + myDirLimits->SetGuidance("GEANT4e commands to limit the step"); + + + StepLengthLimitCmd = new G4UIcmdWithADoubleAndUnit("/geant4e/limits/stepLength",this); + StepLengthLimitCmd->SetGuidance("Limit the length of an step"); + StepLengthLimitCmd->SetDefaultUnit("mm"); + StepLengthLimitCmd->AvailableForStates(G4State_PreInit,G4State_Idle,G4State_GeomClosed,G4State_EventProc); + + MagFieldLimitCmd = new G4UIcmdWithADouble("/geant4e/limits/magField",this); + MagFieldLimitCmd->SetGuidance("Limit the length of an step"); + MagFieldLimitCmd->AvailableForStates(G4State_PreInit,G4State_Idle,G4State_GeomClosed,G4State_EventProc); + + EnergyLossCmd = new G4UIcmdWithADouble("/geant4e/limits/energyLoss",this); + EnergyLossCmd->SetGuidance("Limit the length of an step"); + EnergyLossCmd->AvailableForStates(G4State_PreInit,G4State_Idle,G4State_GeomClosed,G4State_EventProc); +} + + +//------------------------------------------------------------------------ +G4ErrorMessenger::~G4ErrorMessenger() +{ + delete StepLengthLimitCmd; + delete MagFieldLimitCmd; + delete EnergyLossCmd; + delete myDir; + delete myDirLimits; +} + + +//------------------------------------------------------------------------ +void G4ErrorMessenger::SetNewValue(G4UIcommand* command,G4String newValue) +{ + if( command == StepLengthLimitCmd ) { +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) { + G4cout << " G4ErrorMessenger::StepLengthAction SetStepLimit " << StepLengthLimitCmd->GetNewDoubleValue(newValue) << G4endl; + } +#endif + StepLengthAction->SetStepLimit(StepLengthLimitCmd->GetNewDoubleValue(newValue)); + } else if( command == MagFieldLimitCmd ) { +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) { + G4cout << " G4ErrorMessenger::MagFieldAction SetStepLimit " << MagFieldLimitCmd->GetNewDoubleValue(newValue) << G4endl; + } +#endif + MagFieldAction->SetStepLimit(MagFieldLimitCmd->GetNewDoubleValue(newValue)); + } else if( command == EnergyLossCmd ) { +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) { + G4cout << " G4ErrorMessenger::EnergyLossAction SetStepLimit " << EnergyLossCmd->GetNewDoubleValue(newValue) << G4endl; + } +#endif + EnergyLossAction->SetStepLimit(EnergyLossCmd->GetNewDoubleValue(newValue)); + } +} + diff --git a/source/error_propagation/src/G4ErrorPhysicsList.cc b/source/error_propagation/src/G4ErrorPhysicsList.cc new file mode 100644 index 0000000000..cf31bd904b --- /dev/null +++ b/source/error_propagation/src/G4ErrorPhysicsList.cc @@ -0,0 +1,226 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorPhysicsList.cc,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ + +#include "globals.hh" + +#include "G4ErrorPhysicsList.hh" +#include "G4ComptonScattering.hh" +#include "G4GammaConversion.hh" +#include "G4PhotoElectricEffect.hh" + +#include "G4eIonisation.hh" +#include "G4eBremsstrahlung.hh" +#include "G4eplusAnnihilation.hh" + +#include "G4MuIonisation.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuPairProduction.hh" + +#include "G4hIonisation.hh" + +#include "G4MuIonisation.hh" +#include "G4MuBremsstrahlung.hh" +#include "G4MuPairProduction.hh" + +#include "G4hIonisation.hh" + +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4ProcessVector.hh" +#include "G4ParticleTypes.hh" +#include "G4ParticleTable.hh" +#include "G4Material.hh" +#include "G4MaterialTable.hh" +#include "G4ios.hh" +#include "G4PhysicsTable.hh" +#include "G4Transportation.hh" + +#include "G4ErrorEnergyLoss.hh" + +//------------------------------------------------------------------------ +G4ErrorPhysicsList::G4ErrorPhysicsList(): G4VUserPhysicsList() +{ + defaultCutValue = 1.0E+9*cm; // set big step so that AlongStep computes all the energy +} + + +//------------------------------------------------------------------------ +G4ErrorPhysicsList::~G4ErrorPhysicsList() +{ +} + + +//------------------------------------------------------------------------ +void G4ErrorPhysicsList::ConstructParticle() +{ +// In this method, static member functions should be called + // for all particles which you want to use. + // This ensures that objects of these particle types will be + // created in the program. + // gamma + G4Gamma::GammaDefinition(); + // e+/- + G4Electron::ElectronDefinition(); + G4Positron::PositronDefinition(); + // mu+/- + G4MuonPlus::MuonPlusDefinition(); + G4MuonMinus::MuonMinusDefinition(); + +} + + +//------------------------------------------------------------------------ +void G4ErrorPhysicsList::ConstructProcess() +{ + G4Transportation* theTransportationProcess= new G4Transportation(); + +#ifdef G4VERBOSE + if (verboseLevel >= 4){ + G4cout << "G4VUserPhysicsList::ConstructProcess() "<< G4endl; + } +#endif + + // loop over all particles in G4ParticleTable + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + if (!particle->IsShortLived()) { + G4cout << particle << "G4ErrorPhysicsList:: particle process manager " << particle->GetParticleName() << " = " << particle->GetProcessManager() << G4endl; + // Add transportation process for all particles other than "shortlived" + if ( pmanager == 0) { + // Error !! no process manager + G4String particleName = particle->GetParticleName(); + G4Exception("G4ErrorPhysicsList::ConstructProcess","No process manager", + RunMustBeAborted, particleName ); + } else { + // add transportation with ordering = ( -1, "first", "first" ) + pmanager ->AddProcess(theTransportationProcess); + pmanager ->SetProcessOrderingToFirst(theTransportationProcess, idxAlongStep); + pmanager ->SetProcessOrderingToFirst(theTransportationProcess, idxPostStep); + } + } else { + // shortlived particle case + } + } + + ConstructEM(); +} + + +//------------------------------------------------------------------------ +#include "G4eBremsstrahlung.hh" +#include "G4eIonisation.hh" + +#include "G4eIonisation.hh" + +#include "G4MuBremsstrahlung.hh" +#include "G4MuIonisation.hh" +#include "G4MuPairProduction.hh" + +#include "G4PhysicsTable.hh" + +#include "G4VEnergyLoss.hh" + +#include "G4MuIonisation.hh" + +#include "G4ErrorStepLengthLimitProcess.hh" +#include "G4ErrorMagFieldLimitProcess.hh" +#include "G4ErrorMessenger.hh" + +void G4ErrorPhysicsList::ConstructEM() +{ + + G4ErrorEnergyLoss* eLossProcess = new G4ErrorEnergyLoss; + G4ErrorStepLengthLimitProcess* stepLengthLimitProcess = new G4ErrorStepLengthLimitProcess; + G4ErrorMagFieldLimitProcess* magFieldLimitProcess = new G4ErrorMagFieldLimitProcess; + new G4ErrorMessenger( stepLengthLimitProcess, magFieldLimitProcess, eLossProcess ); + + theParticleIterator->reset(); + while( (*theParticleIterator)() ){ + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + G4String particleName = particle->GetParticleName(); + + if (particleName == "gamma") { + // gamma + pmanager->AddDiscreteProcess(new G4GammaConversion()); + pmanager->AddDiscreteProcess(new G4ComptonScattering()); + pmanager->AddDiscreteProcess(new G4PhotoElectricEffect()); + + // } else if (particleName == "e-" || particleName == "e+" + // || particleName == "mu+" || particleName == "mu-" ) { + }else if (!particle->IsShortLived() && particle->GetPDGCharge() != 0 ) { + + pmanager->AddContinuousProcess(eLossProcess,1); + pmanager->AddDiscreteProcess( stepLengthLimitProcess, 2 ); + pmanager->AddDiscreteProcess( magFieldLimitProcess, 3 ); + + } else if ((!particle->IsShortLived()) && + (particle->GetPDGCharge() != 0.0) && + (particle->GetParticleName() != "chargedgeantino")) { + // all others charged particles except geantino + // G4VProcess* aMultipleScattering = new G4MultipleScattering(); + G4VProcess* anIonisation = new G4hIonisation(); + ////G4VProcess* theUserCuts = new G4UserSpecialCuts(); + + // + // add processes + pmanager->AddProcess(anIonisation); + // pmanager->AddProcess(aMultipleScattering); + ////pmanager->AddProcess(theUserCuts); + + // + // set ordering for AlongStepDoIt + // pmanager->SetProcessOrdering(aMultipleScattering, idxAlongStep,1); + pmanager->SetProcessOrdering(anIonisation, idxAlongStep,1); + + // + // set ordering for PostStepDoIt + // pmanager->SetProcessOrdering(aMultipleScattering, idxPostStep,1); + pmanager->SetProcessOrdering(anIonisation, idxPostStep,1); + ////pmanager->SetProcessOrdering(theUserCuts, idxPostStep,2); + } + } +} + + +//------------------------------------------------------------------------ +void G4ErrorPhysicsList::SetCuts() +{ + // " G4VUserPhysicsList::SetCutsWithDefault" method sets + // the default cut value or all particle types + SetCutsWithDefault(); + // if (verboseLevel>0) + // DumpCutValuesTable(); +} + diff --git a/source/error_propagation/src/G4ErrorPropagator.cc b/source/error_propagation/src/G4ErrorPropagator.cc new file mode 100644 index 0000000000..cf21c11522 --- /dev/null +++ b/source/error_propagation/src/G4ErrorPropagator.cc @@ -0,0 +1,459 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorPropagator.cc,v 1.6 2007/06/04 14:59:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// + +#include "G4ErrorPropagator.hh" +#include "G4ErrorPropagatorData.hh" +#include "G4ErrorFreeTrajState.hh" +#include "G4ErrorSurfaceTrajState.hh" +#include "G4ErrorGeomVolumeTarget.hh" +#include "G4ErrorSurfaceTarget.hh" + +#include "G4DynamicParticle.hh" +#include "G4Track.hh" +#include "G4SteppingManager.hh" +#include "G4EventManager.hh" +#include "G4TrackingManager.hh" +#include "G4ParticleTable.hh" +#include "G4StateManager.hh" + +#include "G4VPhysicalVolume.hh" +#include "G4PhysicalVolumeStore.hh" +#include "G4UnitsTable.hh" + +#include + + +//--------------------------------------------------------------------------- +G4ErrorPropagator::G4ErrorPropagator() +{ + verbose = G4ErrorPropagatorData::verbose(); +#ifdef G4EVERBOSE + if(verbose >= 5) G4cout << "G4ErrorPropagator " << this << G4endl; +#endif + //t theTrackingGeometry = 0; //by default set it to 0, and when propagation it will be set to the world + + theG4Track = 0; + + fpSteppingManager = G4EventManager::GetEventManager()->GetTrackingManager()->GetSteppingManager(); + + thePropIsInitialized = false; + +} + + +//----------------------------------------------------------------------- +G4int G4ErrorPropagator::Propagate( G4ErrorTrajState* currentTS, const G4ErrorTarget* target, G4ErrorMode mode ) +{ + // to start ierror is set to 1 (= OK) + G4int ierr = 1; + + G4ErrorPropagatorData* g4edata = G4ErrorPropagatorData::GetErrorPropagatorData(); + + //--- Do not propagate zero or too low energy particles + if( currentTS->GetMomentum().mag() < 1.E-9*MeV ) { + G4cerr << " !! G4ErrorPropagator::Propagate: energy too low to be propagated " << G4BestUnit(currentTS->GetMomentum().mag(),"Energy") << G4endl; + return -3; + } + + g4edata->SetMode( mode ); + +#ifdef G4EVERBOSE + if( verbose >= 1 ) G4cout << " =====> starting GEANT4E tracking for " << currentTS->GetParticleType() << " Forwards= " << g4edata->GetMode() << G4endl; + if(verbose >= 1 ) G4cout << G4endl << "@@@@@@@@@@@@@@@@@@@@@@@@@ NEW STEP " << G4endl; + + if( verbose >= 3 ){ + G4cout << " G4ErrorPropagator::Propagate initialTS "; + // initialTS.Dump(); + G4cout << *currentTS << G4endl; + target->Dump(G4String(" to target ")); + } +#endif + + g4edata->SetTarget( target ); + + //----- Create a track + if( theG4Track != 0 ) delete theG4Track; + theG4Track = InitG4Track( *currentTS ); + + //----- Create a G4ErrorFreeTrajState + G4ErrorFreeTrajState* currentTS_FREE = InitFreeTrajState( currentTS ); + + //----- Track the particle + ierr = MakeSteps( currentTS_FREE ); + + //------ Tracking ended, check if target has been reached + // if target not found + if( g4edata->GetState() != G4ErrorState_StoppedAtTarget ){ + if( theG4Track->GetKineticEnergy() > 0. ) { + ierr = -ierr - 10; + } else { + ierr = -ierr - 20; + } + *currentTS = *currentTS_FREE; + if(verbose >= 0 ) G4cerr << " !!ERROR G4ErrorPropagator: particle does not reach target " << *currentTS << G4endl; + } else { + GetFinalTrajState( currentTS, currentTS_FREE, target ); + } + +#ifdef G4EVERBOSE + if( verbose >= 1 ) G4cout << " G4ErrorPropagator: propagation ended " << G4endl; + if( verbose >= 2 ) G4cout << " Current TrajState " << currentTS << G4endl; +#endif + + // Inform end of tracking to physics processes + theG4Track->GetDefinition()->GetProcessManager()->EndTracking(); + + InvokePostUserTrackingAction( theG4Track ); + + + return ierr; +} + + +//----------------------------------------------------------------------- +G4int G4ErrorPropagator::PropagateOneStep( G4ErrorTrajState* currentTS ) +{ + G4ErrorPropagatorData* g4edata = G4ErrorPropagatorData::GetErrorPropagatorData(); + + if( g4edata->GetState() == G4ErrorState_PreInit || G4StateManager::GetStateManager()->GetCurrentState() != G4State_GeomClosed) { + //G4cout << g4edata << " G4ErrorState " << g4edata->GetState() << " <> " << G4ErrorState_Propagating + // << " G4State " << G4StateManager::GetStateManager()->GetCurrentState()<< " <> " << G4State_GeomClosed << G4endl; + G4Exception("!!! G4ErrorPropagator::PropagateOneStep called before initialization is done for this track, please call G4ErrorPropagatorManager::InitGeant4e() " ); + } + + // to start ierror is set to 0 (= OK) + G4int ierr = 0; + + //--- Do not propagate zero or too low energy particles + if( currentTS->GetMomentum().mag() < 1.E-9*MeV ) { + G4cerr << " !! G4ErrorPropagator::PropagateOneStep: energy too low to be propagated " << G4BestUnit(currentTS->GetMomentum().mag(),"Energy") << G4endl; + return -3; + } + +#ifdef G4EVERBOSE + if( verbose >= 1 ) G4cout << " =====> starting GEANT4E tracking for " << currentTS->GetParticleType() << " Forwards= " << g4edata->GetMode() << G4endl; + + if( verbose >= 3 ){ + G4cout << " G4ErrorPropagator::Propagate initialTS "; + G4cout << *currentTS << G4endl; + } +#endif + + // SetTargetToNavigator( (G4ErrorTarget*)0 ); + + //----- If it is the first step, create a track + if( theStepN == 0 ) theG4Track = InitG4Track( *currentTS ); // set to 0 by the initialization in G4ErrorPropagatorManager + theStepN++; + + //----- Create a G4ErrorFreeTrajState + G4ErrorFreeTrajState* currentTS_FREE = InitFreeTrajState( currentTS ); + + //----- Track the particle one step + ierr = MakeOneStep( currentTS_FREE ); + + //----- Get the state on target + GetFinalTrajState( currentTS, currentTS_FREE, g4edata->GetTarget() ); + + return ierr; +} + + +//--------------------------------------------------------------------------- +G4Track* G4ErrorPropagator::InitG4Track( G4ErrorTrajState& initialTS ) +{ + if( verbose >= 5 ) G4cout << "InitG4Track " << G4endl; + + //----- Close geometry + //- G4bool geometryToBeOptimized = true; + // if(verboseLevel>1) + //- G4GeometryManager* geomManager = G4GeometryManager::GetInstance(); + //- geomManager->OpenGeometry(); + //- geomManager->CloseGeometry(geometryToBeOptimized); + + //----- Create Particle + const G4String partType = initialTS.GetParticleType(); + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + G4ParticleDefinition* particle = particleTable->FindParticle(partType); + if( particle == 0) { + G4Exception( "!!! G4ErrorPropagator::InitG4Track: particle type not defined " + partType ); + } else { + + } + + G4DynamicParticle* DP = + new G4DynamicParticle(particle,initialTS.GetMomentum()); + DP->SetPolarization(0.,0.,0.); + // Set Charge + // if (abs(primaryParticle->GetCharge()-DP->GetPDGCharge())>eplus) { + // DP->SetCharge(primaryParticle->GetCharge()); + if( particle->GetPDGCharge() < 0 ) { + DP->SetCharge(-eplus); + } else { + DP->SetCharge(eplus); + } + // Set decay products to the DynamicParticle + //?? SetDecayProducts( primaryParticle, DP ); + + //----- Create Track + theG4Track = new G4Track(DP, 0., initialTS.GetPosition() ); + theG4Track->SetParentID(0); +#ifdef G4EVERBOSE + if(verbose >= 3) G4cout << " G4ErrorPropagator new track of energy: " << theG4Track->GetKineticEnergy() << G4endl; +#endif + + //---- Reproduce G4TrackingManager::ProcessOneTrack initialization + InvokePreUserTrackingAction( theG4Track ); + + if( fpSteppingManager == 0 ) { + // G4cerr << " event manager " << G4EventManager::GetEventManager() << G4endl; + G4Exception( "G4ErrorPropagator::InitG4Track. GEANT4e error: G4SteppingManager not initialized yet " ); + } else { + fpSteppingManager->SetInitialStep(theG4Track); + } + + // Give SteppingManger the maximum number of processes + fpSteppingManager->GetProcessNumber(); + + // Give track the pointer to the Step + theG4Track->SetStep(fpSteppingManager->GetStep()); + + // Inform beginning of tracking to physics processes + theG4Track->GetDefinition()->GetProcessManager()->StartTracking(theG4Track); + + initialTS.SetG4Track( theG4Track ); + + return theG4Track; +} + + +//----------------------------------------------------------------------- +G4int G4ErrorPropagator::MakeSteps( G4ErrorFreeTrajState* currentTS_FREE ) +{ + G4int ierr = 0; + //----- Track the particle Step-by-Step while it is alive + theStepLength = 0.; + + while( (theG4Track->GetTrackStatus() == fAlive) || + (theG4Track->GetTrackStatus() == fStopButAlive) ){ + ierr = MakeOneStep( currentTS_FREE ); + if( ierr != 0 ) break; + //----- Check if last step for GEANT4e + if( CheckIfLastStep( theG4Track ) ) { + if( verbose >= 5 ) G4cout << "!!!! Last Step reached " << G4endl; + break; + } + } + + return ierr; + +} + + +//----------------------------------------------------------------------- +G4int G4ErrorPropagator::MakeOneStep( G4ErrorFreeTrajState* currentTS_FREE ) +{ + G4ErrorPropagatorData* g4edata = G4ErrorPropagatorData::GetErrorPropagatorData(); + G4int ierr = 0; + + //---------- Track one step +#ifdef G4EVERBOSE + if(verbose >= 2 ) G4cout << G4endl << "@@@@@@@@@@@@@@@@@@@@@@@@@ NEW STEP " << G4endl; +#endif + + theG4Track->IncrementCurrentStepNumber(); + //- G4StepStatus stepStatus = + fpSteppingManager->Stepping(); //t + + //---------- Check if Target has been reached (and then set G4ErrorState) +#ifdef G4EVERBOSE + // if(verbose >= 5 ) G4cout << " process = " << theG4Track->GetStep()->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName() << " g4estate " << g4edata->PrintG4ErrorState() << G4endl; +#endif + + // G4ErrorPropagationNavigator limits the step if target is closer than boundary (but the winner process is always "Transportation": then geant4e will stop the track + if( theG4Track->GetStep()->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName() == "Transportation" ){ + if( g4edata->GetState() == G4ErrorState(G4ErrorState_TargetCloserThanBoundary) ){ // target or step length reached + +#ifdef G4EVERBOSE + if(verbose >= 5 ) G4cout << " transportation determined by geant4e " << G4endl; +#endif + + g4edata->SetState( G4ErrorState_StoppedAtTarget ); + } else if( g4edata->GetTarget()->GetType() == G4ErrorTarget_GeomVolume ) { + G4ErrorGeomVolumeTarget* target = (G4ErrorGeomVolumeTarget*)(g4edata->GetTarget()); + if( static_cast( target )->TargetReached( theG4Track->GetStep() ) ) { + g4edata->SetState( G4ErrorState_StoppedAtTarget ); + } + } + }else if( theG4Track->GetStep()->GetPostStepPoint()->GetProcessDefinedStep()->GetProcessName() == "G4ErrorTrackLengthTarget" ){ + g4edata->SetState( G4ErrorState_StoppedAtTarget ); + } + + /*if( g4edata->GetState() == G4ErrorState_StoppedAtTarget ) { + G4cout << " Run termination " << g4edata->GetState() << G4endl; + g4emgr->RunTermination(); + }*/ + + + //---------- Propagate error +#ifdef G4EVERBOSE + if(verbose >= 2 ) G4cout << " propagating error " << *currentTS_FREE << G4endl; +#endif + const G4Track* cTrack = const_cast(theG4Track); + ierr = currentTS_FREE->PropagateError( cTrack ); + +#ifdef G4EVERBOSE + if(verbose >= 3 ) G4cout << " PropagateError returns " << ierr << G4endl; +#endif + + currentTS_FREE->Update( cTrack ); + + theStepLength += theG4Track->GetStepLength(); + + if(ierr != 0 ) { + G4cerr << "!!! G4ErrorPropagator:MakeOneStep returns an error " << ierr << G4endl; + G4cerr << "!!! GEANT4 tracking will be stopped " << G4endl; + } + + return ierr; +} + + +//----------------------------------------------------------------------- +G4ErrorFreeTrajState* G4ErrorPropagator::InitFreeTrajState( G4ErrorTrajState* currentTS ) +{ + G4ErrorFreeTrajState* currentTS_FREE = 0; + //----- Transform the TrajState to Free coordinates if it is OnSurface + if( currentTS->GetTSType() == G4eTS_OS ){ + G4ErrorSurfaceTrajState* tssd = static_cast(currentTS); + //t if( theCurrentTS_FREE != 0 ) delete theCurrentTS_FREE; + currentTS_FREE = new G4ErrorFreeTrajState( *tssd ); + }else if( currentTS->GetTSType() == G4eTS_FREE ){ + currentTS_FREE = static_cast(currentTS); + } else { + G4Exception("G4ErrorPropagator::InitFreeTrajState WRONG TrajState " + currentTS->GetTSType()); + } + + return currentTS_FREE; +} + + + +//----------------------------------------------------------------------- +void G4ErrorPropagator::GetFinalTrajState( G4ErrorTrajState* currentTS, G4ErrorFreeTrajState* currentTS_FREE, const G4ErrorTarget* target ) +{ + + G4ErrorPropagatorData* g4edata = G4ErrorPropagatorData::GetErrorPropagatorData(); +#ifdef G4EVERBOSE + if(verbose >= 1 ) G4cout << " G4ErrorPropagator::Propagate: final state " << int(g4edata->GetState()) << " TSType " << currentTS->GetTSType() << G4endl; +#endif + + if( (currentTS->GetTSType() == G4eTS_FREE) || + (g4edata->GetState() != G4ErrorState_StoppedAtTarget) ){ + currentTS = currentTS_FREE; + } else if( currentTS->GetTSType() == G4eTS_OS ){ + if( target->GetType() == G4ErrorTarget_TrkL ){ + G4Exception("G4ErrorPropagator:GetFinalTrajState !! Using a G4ErrorSurfaceTrajState with a target of type G4ErrorTargetTrackLength "); + } + //- G4ErrorSurfaceTrajState* tssd = static_cast(currentTS); + // delete currentTS; + const G4ErrorTanPlaneTarget* targetWTP = static_cast(target); + *currentTS = G4ErrorSurfaceTrajState( *(static_cast(currentTS_FREE)), targetWTP->GetTangentPlane( currentTS_FREE->GetPosition() ) ); +#ifdef G4EVERBOSE + if(verbose >= 1 ) G4cout << currentTS << " returning tssd " << *currentTS << G4endl; +#endif + delete currentTS_FREE; + } +} + + +//------------------------------------------------------------------------- +G4bool G4ErrorPropagator::CheckIfLastStep( G4Track* aTrack ) +{ + G4bool exception = 0; + G4bool lastG4eStep = false; + G4ErrorPropagatorData* g4edata = G4ErrorPropagatorData::GetErrorPropagatorData(); + + if( verbose >= 4 ) G4cout << " G4ErrorPropagator::CheckIfLastStep G4ErrorState= " << int(g4edata->GetState()) << G4endl; + + //----- Check if this is the last step: track has reached the target or the end of world + if(g4edata->GetState() == G4ErrorState(G4ErrorState_StoppedAtTarget) ) { + lastG4eStep = true; +#ifdef G4EVERBOSE + if(verbose >= 5 ) G4cout << " G4ErrorPropagator::CheckIfLastStep " << lastG4eStep << " " << int(g4edata->GetState()) << G4endl; +#endif + } else if( aTrack->GetNextVolume() == 0 ) { + //----- If particle is out of world, without finding the G4ErrorTarget, give a n error/warning + lastG4eStep = true; + if( exception ){ + G4Exception(" !!!EXITING: G4ErrorPropagator::CheckIfLastStep: track extrapolated until end of World without finding the defined target "); + } else { + if( verbose >= 1 ) G4cerr << " !!!WARNING: G4ErrorPropagator::CheckIfLastStep: track extrapolated until end of World without finding the defined target " << G4endl; + } + //----- not last step from G4e, but track is stopped (energy exhausted) + } else if( aTrack->GetTrackStatus() == fStopAndKill ) { + if( exception ){ + G4cerr << " !!!EXITING: G4ErrorPropagator::CheckIfLastStep: track extrapolated until energy is exhausted without finding the defined target " << G4endl; + exit(1); + } else { + if( verbose >= 1 ) G4cerr << " !!!WARNING: G4ErrorPropagator::CheckIfLastStep: track extrapolated until energy is exhausted without finding the defined target " << G4endl; + lastG4eStep = 1; + } + } + + if( verbose >= 5 ) G4cout << " return CheckIfLastStep " << lastG4eStep << G4endl; + return lastG4eStep; +} + + + +//--------------------------------------------------------------------------- +void G4ErrorPropagator::InvokePreUserTrackingAction( G4Track* fpTrack ) +{ + const G4UserTrackingAction* fpUserTrackingAction = G4EventManager::GetEventManager()->GetUserTrackingAction(); + if( fpUserTrackingAction != NULL ) { + const_cast(fpUserTrackingAction)->PreUserTrackingAction((fpTrack) ); + } + +} + + +//--------------------------------------------------------------------------- +void G4ErrorPropagator::InvokePostUserTrackingAction( G4Track* fpTrack ) +{ + const G4UserTrackingAction* fpUserTrackingAction = G4EventManager::GetEventManager()->GetUserTrackingAction(); + if( fpUserTrackingAction != NULL ) { + const_cast(fpUserTrackingAction)->PostUserTrackingAction((fpTrack) ); + } + +} + diff --git a/source/error_propagation/src/G4ErrorPropagatorManager.cc b/source/error_propagation/src/G4ErrorPropagatorManager.cc new file mode 100644 index 0000000000..9a5e0afe01 --- /dev/null +++ b/source/error_propagation/src/G4ErrorPropagatorManager.cc @@ -0,0 +1,435 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorPropagatorManager.cc,v 1.3 2007/05/31 15:28:51 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// + +#include "G4MagIntegratorStepper.hh" +#include "G4Mag_UsualEqRhs.hh" +#include "G4Mag_EqRhs.hh" +#include "G4MagIntegratorDriver.hh" + +#include "G4ClassicalRK4.hh" +#include "G4ExactHelixStepper.hh" +#include "G4HelixExplicitEuler.hh" + +#include "G4ErrorPropagatorManager.hh" + +#include "G4EventManager.hh" +#include "G4ErrorRunManagerHelper.hh" +#include "G4ErrorPropagator.hh" +#include "G4ErrorMag_UsualEqRhs.hh" + +#include "G4VParticleChange.hh" +#include "G4ParticleChangeForMSC.hh" +#include "G4ParticleChange.hh" +#include "G4Track.hh" +#include "G4TransportationManager.hh" +#include "G4ErrorPropagationNavigator.hh" +#include "G4GeometryManager.hh" +#include "G4StateManager.hh" +#include "G4ChordFinder.hh" +#include "G4EquationOfMotion.hh" +#include "G4FieldManager.hh" +#include "G4VParticleChange.hh" + +G4ErrorPropagatorManager* +G4ErrorPropagatorManager::theG4ErrorPropagatorManager = 0; + +//----------------------------------------------------------------------- +G4ErrorPropagatorManager* G4ErrorPropagatorManager::GetErrorPropagatorManager() +{ + if( theG4ErrorPropagatorManager == NULL ) { + theG4ErrorPropagatorManager = new G4ErrorPropagatorManager; + } + + return theG4ErrorPropagatorManager; +} + + +//----------------------------------------------------------------------- +G4ErrorPropagatorManager::G4ErrorPropagatorManager() +{ + //----- Initialize a few things + //o theG4ErrorPropagatorManager = this; + + char* g4emverb = getenv("G4EVERBOSE"); + if( !g4emverb ) { + G4ErrorPropagatorData::GetErrorPropagatorData()->SetVerbose( 0 ); + } else { + G4ErrorPropagatorData::GetErrorPropagatorData()->SetVerbose( atoi( g4emverb ) ); + } + + thePropagator = 0; + + theEquationOfMotion = 0; + + StartG4ErrorRunManagerHelper(); + + G4ErrorPropagatorData::GetErrorPropagatorData()->SetState( G4ErrorState_PreInit ); + + theG4ErrorPropagationNavigator = 0; + + StartNavigator(); //navigator has to be initialized at the beggining !?!?! + + +} + + +//----------------------------------------------------------------------- +G4ErrorPropagatorManager::~G4ErrorPropagatorManager() +{ +} + + +//----------------------------------------------------------------------- +void G4ErrorPropagatorManager::StartG4ErrorRunManagerHelper() +{ + //----- Initialize G4ErrorRunManagerHelper + theG4ErrorRunManagerHelper = G4ErrorRunManagerHelper::GetRunManagerKernel(); + + if( theG4ErrorRunManagerHelper == 0 ) { + theG4ErrorRunManagerHelper = new G4ErrorRunManagerHelper(); + } + + //----- User Initialization classes + //--- GEANT4e PhysicsList + if( G4ErrorPropagatorData::verbose() >= 4 ) G4cout << " G4ErrorPropagatorManager::StartG4eRunManager() done " << theG4ErrorRunManagerHelper << G4endl; + //- theG4eRunManager->SetUserInitialization(new G4ErrorPhysicsList); + +} + + +//----------------------------------------------------------------------- +void G4ErrorPropagatorManager::StartNavigator() +{ + if( theG4ErrorPropagationNavigator == 0 ) { + G4TransportationManager*transportationManager = G4TransportationManager::GetTransportationManager(); + + G4Navigator* g4navi = transportationManager->GetNavigatorForTracking(); + + G4VPhysicalVolume* world = g4navi->GetWorldVolume(); + G4int verb = g4navi->GetVerboseLevel(); + delete g4navi; + + theG4ErrorPropagationNavigator = new G4ErrorPropagationNavigator(); + + if( world != 0 ) { + theG4ErrorPropagationNavigator->SetWorldVolume( world ); + } + theG4ErrorPropagationNavigator->SetVerboseLevel( verb ); + + transportationManager->SetNavigatorForTracking(theG4ErrorPropagationNavigator); + // G4ThreeVector center(0,0,0); + // theG4ErrorPropagationNavigator->LocateGlobalPointAndSetup(center,0,false); + + } + + if( G4ErrorPropagatorData::verbose() >= 2 ) G4cout << " theState at StartNavigator " << PrintG4ErrorState() << G4endl; + +} + + +//----------------------------------------------------------------------- +void G4ErrorPropagatorManager::InitGeant4e() +{ + if( G4ErrorPropagatorData::verbose() >= 1 ) G4cout << "InitGeant4e GEANT4e State= " << PrintG4ErrorState() << " GEANT4 State= " << PrintG4State() << G4endl; + G4ApplicationState currentState = G4StateManager::GetStateManager()->GetCurrentState(); + //----- Initialize run + // if( G4StateManager::GetStateManager()->GetCurrentState() == G4State_PreInit) { + + if( G4ErrorPropagatorData::GetErrorPropagatorData()->GetState() == G4ErrorState_PreInit ) { + if ( currentState == G4State_PreInit || currentState == G4State_Idle) { + // G4eRunManager::GetRunManager()->Initialize(); + theG4ErrorRunManagerHelper->InitializeGeometry(); + theG4ErrorRunManagerHelper->InitializePhysics(); + } + + InitFieldForBackwards(); + + //- G4StateManager::GetStateManager()->SetNewState(G4State_Idle); + + if( G4ErrorPropagatorData::verbose() >= 4 ) G4cout << " bef theG4ErrorPropagatorManager->RunInitialization() " << G4StateManager::GetStateManager()->GetCurrentState() << G4endl; + theG4ErrorRunManagerHelper->RunInitialization(); + if( G4ErrorPropagatorData::verbose() >= 4 ) G4cout << " aft theG4ErrorPropagatorManager->RunInitialization() " << G4StateManager::GetStateManager()->GetCurrentState() << G4endl; + + if( !thePropagator ) thePropagator = new G4ErrorPropagator(); // currently the only propagator possible + + InitTrackPropagation(); + } else { + G4cerr << "G4ErrorPropagatorManager::InitGeant4e: Illegal application state - " + << "G4ErrorPropagatorManager::InitGeant4e() ignored." << G4endl; + G4cerr << " GEANT4e State= " << PrintG4ErrorState() + //<< " GEANT4 State= " << PrintG4State() + << G4endl; + } + + //----- Set the tracking geometry for this propagation + //t SetTrackingGeometry(); + //----- Set the physics list for this propagation + //t SetPhysicsList(); + //----- Set the field propagation parameters for this propagation + //t SetFieldPropagationParameters(); + G4ErrorPropagatorData::GetErrorPropagatorData()->SetState( G4ErrorState_Init ); + + if( G4ErrorPropagatorData::verbose() >= 2 ) G4cout << "End InitGeant4e GEANT4e State= " << PrintG4ErrorState() << " GEANT4 State= " << PrintG4State() << G4endl; + + +} + + +//----------------------------------------------------------------------- +void G4ErrorPropagatorManager::InitTrackPropagation() +{ + thePropagator->SetStepN( 0 ); + + G4ErrorPropagatorData::GetErrorPropagatorData()->SetState( G4ErrorState_Propagating ); + +} + + +//----------------------------------------------------------------------- +G4bool G4ErrorPropagatorManager::InitFieldForBackwards() +{ + + if( G4ErrorPropagatorData::verbose() >= 4 ) G4cout << " G4ErrorPropagatorManager::InitFieldForBackwards() " << G4endl; + //----- Gets the current equation of motion + G4FieldManager* fieldMgr= G4TransportationManager::GetTransportationManager()->GetFieldManager(); + // G4cout << " fieldMgr " << fieldMgr << G4endl; + if( !fieldMgr ) return 0; + + // G4Field* myfield = fieldMgr->GetDetectorField(); + G4ChordFinder* cf = fieldMgr ->GetChordFinder(); + if( !cf ) return 0; + G4MagInt_Driver* mid = cf->GetIntegrationDriver(); + if( !mid ) return 0; + G4MagIntegratorStepper* stepper = const_cast(mid->GetStepper()); + if( !stepper ) return 0; + G4EquationOfMotion* equation = stepper->GetEquationOfMotion(); + + //----- Replaces the equation by a G4ErrorMag_UsualEqRhs to handle backwards tracking + if ( !dynamic_cast(equation) ) { + + G4MagneticField* myfield = (G4MagneticField*)fieldMgr->GetDetectorField(); + + // G4Mag_UsualEqRhs* fEquation_usual = dynamic_cast(equation); + if( theEquationOfMotion == 0 ) theEquationOfMotion = new G4ErrorMag_UsualEqRhs(myfield); + + //---- Pass the equation of motion to the G4MagIntegratorStepper + stepper->SetEquationOfMotion( theEquationOfMotion ); + + //--- change stepper for speed tests + G4MagIntegratorStepper* g4eStepper = new G4ClassicalRK4(theEquationOfMotion); + // G4MagIntegratorStepper* g4eStepper = new G4ExactHelixStepper(theEquationOfMotion); + + //---- + G4MagneticField* field = static_cast(const_cast(fieldMgr->GetDetectorField())); + G4ChordFinder* pChordFinder = new G4ChordFinder(field, 1.0e-2*mm, g4eStepper); + + fieldMgr->SetChordFinder(pChordFinder); + + } + + return 1; +} + + +//----------------------------------------------------------------------- +G4int G4ErrorPropagatorManager::Propagate( G4ErrorTrajState* currentTS, const G4ErrorTarget* target, G4ErrorMode mode ) +{ + G4ErrorPropagatorData::GetErrorPropagatorData()->SetMode( mode ); + if( !thePropagator ) thePropagator = new G4ErrorPropagator(); // currently the only propagator possible + + SetSteppingManagerVerboseLevel(); + InitTrackPropagation(); + + G4int ierr = thePropagator->Propagate( currentTS, target, mode ); + + EventTermination(); + + return ierr; +} + + +//----------------------------------------------------------------------- +G4int G4ErrorPropagatorManager::PropagateOneStep( G4ErrorTrajState* currentTS, G4ErrorMode mode ) +{ + G4ErrorPropagatorData::GetErrorPropagatorData()->SetMode( mode ); + + if( !thePropagator ) thePropagator = new G4ErrorPropagator(); // currently the only propagator possible + + SetSteppingManagerVerboseLevel(); + + return thePropagator->PropagateOneStep( currentTS ); +} + + +//----------------------------------------------------------------------- +G4bool G4ErrorPropagatorManager::CloseGeometry() +{ + G4GeometryManager* geomManager = G4GeometryManager::GetInstance(); + geomManager->OpenGeometry(); + if( G4StateManager::GetStateManager()->GetCurrentState() != G4State_GeomClosed) { + G4StateManager::GetStateManager()->SetNewState(G4State_Quit); + } + + return TRUE; +} + + +//--------------------------------------------------------------------------- +void G4ErrorPropagatorManager::SetUserInitialization(G4VUserDetectorConstruction* userInit) +{ + theG4ErrorRunManagerHelper->SetUserInitialization( userInit); +} + + +//--------------------------------------------------------------------------- +void G4ErrorPropagatorManager::SetUserInitialization(G4VPhysicalVolume* userInit) +{ + theG4ErrorRunManagerHelper->SetUserInitialization( userInit); +} + + +//--------------------------------------------------------------------------- +void G4ErrorPropagatorManager::SetUserInitialization(G4VUserPhysicsList* userInit) +{ + theG4ErrorRunManagerHelper->SetUserInitialization( userInit); +} + + +//--------------------------------------------------------------------------- +void G4ErrorPropagatorManager::SetUserAction(G4UserTrackingAction* userAction) +{ + G4EventManager::GetEventManager()->SetUserAction( userAction ); +} + + +//--------------------------------------------------------------------------- +void G4ErrorPropagatorManager::SetUserAction(G4UserSteppingAction* userAction) +{ + G4EventManager::GetEventManager()->SetUserAction( userAction ); +} + + +//--------------------------------------------------------------------------- +void G4ErrorPropagatorManager::SetSteppingManagerVerboseLevel() +{ + G4TrackingManager* trkmgr = G4EventManager::GetEventManager()->GetTrackingManager(); + trkmgr->GetSteppingManager()->SetVerboseLevel( trkmgr->GetVerboseLevel() ); +} + + +//--------------------------------------------------------------------------- +void G4ErrorPropagatorManager::EventTermination() +{ + G4ErrorPropagatorData::GetErrorPropagatorData()->SetState( G4ErrorState_Init ); +} + + +//--------------------------------------------------------------------------- +void G4ErrorPropagatorManager::RunTermination() +{ +G4ErrorPropagatorData::GetErrorPropagatorData()->SetState( G4ErrorState_PreInit ); + theG4ErrorRunManagerHelper->RunTermination(); +} + + +//--------------------------------------------------------------------------- +G4String G4ErrorPropagatorManager::PrintG4ErrorState() +{ + return PrintG4ErrorState( G4ErrorPropagatorData::GetErrorPropagatorData()->GetState() ); +} + + +//--------------------------------------------------------------------------- +G4String G4ErrorPropagatorManager::PrintG4ErrorState( G4ErrorState state ) +{ + G4String nam = ""; + switch (state){ + case G4ErrorState_PreInit: + nam = "G4ErrorState_PreInit"; + break; + case G4ErrorState_Init: + nam = "G4ErrorState_Init"; + break; + case G4ErrorState_Propagating: + nam = "G4ErrorState_Propagating"; + break; + case G4ErrorState_TargetCloserThanBoundary: + nam = "G4ErrorState_TargetCloserThanBoundary"; + break; + case G4ErrorState_StoppedAtTarget: + nam = "G4ErrorState_StoppedAtTarget"; + break; + } + + return nam; +} + + +//--------------------------------------------------------------------------- +G4String G4ErrorPropagatorManager::PrintG4State() +{ + return PrintG4State(G4StateManager::GetStateManager()->GetCurrentState()); +} + + +//--------------------------------------------------------------------------- +G4String G4ErrorPropagatorManager::PrintG4State( G4ApplicationState state ) +{ + G4String nam = ""; + switch ( state ){ + case G4State_PreInit: + nam = "G4State_PreInit"; + break; + case G4State_Init: + nam = "G4State_Init"; + break; + case G4State_Idle: + nam = "G4State_Idle"; + break; + case G4State_GeomClosed: + nam = "G4State_GeomClosed"; + break; + case G4State_EventProc: + nam = "G4State_EventProc"; + break; + case G4State_Quit: + nam = "G4State_Quit"; + break; + case G4State_Abort: + nam = "G4State_Abort"; + break; + } + + return nam; + +} diff --git a/source/error_propagation/src/G4ErrorRunManagerHelper.cc b/source/error_propagation/src/G4ErrorRunManagerHelper.cc new file mode 100644 index 0000000000..fba432009b --- /dev/null +++ b/source/error_propagation/src/G4ErrorRunManagerHelper.cc @@ -0,0 +1,182 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorRunManagerHelper.cc,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// + +#include "G4Navigator.hh" + +#include "G4Timer.hh" + +#include "G4ErrorRunManagerHelper.hh" + +#include "G4RunManagerKernel.hh" +#include "G4VUserDetectorConstruction.hh" +#include "G4ErrorPhysicsList.hh" +#include "G4TransportationManager.hh" +#include "G4RunManager.hh" + +//----------------------------------------------------------------------- + +G4ErrorRunManagerHelper* G4ErrorRunManagerHelper::fRunManagerKernel = 0; + +//----------------------------------------------------------------------- +G4ErrorRunManagerHelper* G4ErrorRunManagerHelper::GetRunManagerKernel() +{ return fRunManagerKernel; } + + +//----------------------------------------------------------------------- +G4ErrorRunManagerHelper::G4ErrorRunManagerHelper() +{ + if(fRunManagerKernel) + { G4Exception("G4eRunManageKernel constructed twice."); } + fRunManagerKernel = this; + + //----- Look if somebody has created a G4RunManagerKernel + theG4RunManagerKernel = G4RunManagerKernel::GetRunManagerKernel(); + if( theG4RunManagerKernel == 0 ) { + //--- if not create it + theG4RunManagerKernel = new G4RunManagerKernel(); + G4cout << " creating G4RunManagerKernel " << theG4RunManagerKernel << G4endl; + } + + theG4RunManagerKernel->SetVerboseLevel(2); + theUserPhysicsList = 0; + theUserWorld = 0; + +} + + +//----------------------------------------------------------------------- +G4ErrorRunManagerHelper::~G4ErrorRunManagerHelper() +{ +} + + +//----------------------------------------------------------------------- +void G4ErrorRunManagerHelper::SetUserInitialization(G4VUserDetectorConstruction* userInit) +{ + theUserWorld = userInit->Construct(); +} + + +//----------------------------------------------------------------------- +void G4ErrorRunManagerHelper::SetUserInitialization(G4VPhysicalVolume* userInit) +{ + theUserWorld = userInit; +} + + +//----------------------------------------------------------------------- +void G4ErrorRunManagerHelper::SetUserInitialization(G4VUserPhysicsList* userInit) +{ + theUserPhysicsList = userInit; +} + + +//----------------------------------------------------------------------- +void G4ErrorRunManagerHelper::InitializeGeometry() +{ + //check if user world has been directly called or someone initialized the world volume already + //----- First option: geometry has been defined to GEANT4e + if( theUserWorld != 0 ) { + theG4RunManagerKernel->DefineWorldVolume( theUserWorld ); + + //----- Second option: geometry has been defined to GEANT4, do nothing GEANT4 should take care + } else { + // G4cerr << "G4 TM " << G4TransportationManager::GetTransportationManager() + // << " NAV " << G4TransportationManager::GetTransportationManager()->GetNavigatorForTracking() + // << " WORLD " << G4TransportationManager::GetTransportationManager()->GetNavigatorForTracking()->GetWorldVolume() << G4endl; + //--- Check that indeed geometry has been defined to GEANT4 + if ( G4TransportationManager::GetTransportationManager() + ->GetNavigatorForTracking()->GetWorldVolume() == 0 ) { + G4Exception("G4ErrorRunManagerHelper::InitializeGeometry no world defined in your geometry!" ); + } + + } +} + + +//----------------------------------------------------------------------- +void G4ErrorRunManagerHelper::InitializePhysics() +{ + + G4cout << " G4ErrorRunManagerHelper::InitializePhysics " << G4endl; + + //----- First option: physics list has been defined to GEANT4e + if( theUserPhysicsList != 0 ) { + theG4RunManagerKernel->SetPhysics(theUserPhysicsList); + theG4RunManagerKernel->InitializePhysics(); + }else { + //----- Second option: physics list has been defined to GEANT4, do nothing GEANT4 should take care + if( G4RunManager::GetRunManager() != 0 && G4RunManager::GetRunManager()->GetUserPhysicsList() != 0 ){ + //--- Physics should be G4ErrorPhysicsList, else send a warning + if( static_cast(G4RunManager::GetRunManager()->GetUserPhysicsList()) != 0 ) { + G4cerr << " WARNING G4ErrorRunManagerHelper::InitializePhysics() physics list is not G4ErrorPhysicsList. Are you sure? " << G4endl; + } + } else { + //----- Third option: no physics list has been defined, define a G4ErrorPhysicsList + theG4RunManagerKernel->SetPhysics(new G4ErrorPhysicsList); + // theG4RunManagerKernel->SetPhysics(new ExN02PhysicsList); + theG4RunManagerKernel->InitializePhysics(); + } + } + +} + + +//----------------------------------------------------------------------- +void G4ErrorRunManagerHelper::RunInitialization() +{ + theG4RunManagerKernel->RunInitialization(); +} + + +//----------------------------------------------------------------------- +void G4ErrorRunManagerHelper::SetUserAction(G4UserTrackingAction* userAction) +{ + + G4EventManager::GetEventManager()->SetUserAction( userAction ); +} + + +//----------------------------------------------------------------------- +void G4ErrorRunManagerHelper::SetUserAction(G4UserSteppingAction* userAction) +{ + G4EventManager::GetEventManager()->SetUserAction( userAction ); +} + + +//----------------------------------------------------------------------- +void G4ErrorRunManagerHelper::RunTermination() +{ + theG4RunManagerKernel->RunTermination(); +} + diff --git a/source/error_propagation/src/G4ErrorStepLengthLimitProcess.cc b/source/error_propagation/src/G4ErrorStepLengthLimitProcess.cc new file mode 100644 index 0000000000..381c3047dd --- /dev/null +++ b/source/error_propagation/src/G4ErrorStepLengthLimitProcess.cc @@ -0,0 +1,71 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorStepLengthLimitProcess.cc,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// + +#include "G4ErrorStepLengthLimitProcess.hh" +#include "G4ErrorMessenger.hh" + +#ifdef G4VERBOSE +#include "G4ErrorPropagatorData.hh" +#endif + +//------------------------------------------------------------------------ +G4ErrorStepLengthLimitProcess:: +G4ErrorStepLengthLimitProcess(const G4String& processName) + : G4VErrorLimitProcess(processName) +{ + theStepLimit = 1000.*mm; // kInfinity; +} + + +//------------------------------------------------------------------------ +G4ErrorStepLengthLimitProcess::~G4ErrorStepLengthLimitProcess() +{ } + + +//------------------------------------------------------------------------ +G4double G4ErrorStepLengthLimitProcess:: +PostStepGetPhysicalInteractionLength( const G4Track&, G4double, + G4ForceCondition* condition ) +{ + *condition = NotForced; + +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) + { + G4cout << "G4ErrorStepLengthLimitProcess::PostStepGetPhysicalInteractionLength " + << theStepLimit << G4endl; + } +#endif + + return theStepLimit; +} diff --git a/source/error_propagation/src/G4ErrorSurfaceTrajParam.cc b/source/error_propagation/src/G4ErrorSurfaceTrajParam.cc new file mode 100644 index 0000000000..d5f8d5f6b7 --- /dev/null +++ b/source/error_propagation/src/G4ErrorSurfaceTrajParam.cc @@ -0,0 +1,121 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorSurfaceTrajParam.cc,v 1.3 2007/05/31 20:22:45 arce Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// + +#include "G4ErrorSurfaceTrajParam.hh" +#include + +#include "G4ThreeVector.hh" +#include "G4GeometryTolerance.hh" + +//------------------------------------------------------------------------ +G4ErrorSurfaceTrajParam:: +G4ErrorSurfaceTrajParam( const G4Point3D& pos, const G4Vector3D& mom, + const G4Vector3D& vecV, const G4Vector3D& vecW ) +{ + SetParameters( pos, mom, vecV, vecW ); +} + + +//------------------------------------------------------------------------ +G4ErrorSurfaceTrajParam:: +G4ErrorSurfaceTrajParam( const G4Point3D& pos, const G4Vector3D& mom, + const G4Plane3D& plane ) +{ + SetParameters( pos, mom, plane ); +} + +//------------------------------------------------------------------------ +void G4ErrorSurfaceTrajParam:: +SetParameters( const G4Point3D& pos, const G4Vector3D& mom, + const G4Plane3D& plane ) +{ + //--- Get two perpendicular vectors: first parallel X + // (unless normal is parallel to X, then take Y) + + G4double kCarTolerance = + G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + + G4ThreeVector Xvec(1.,0.,0.); + G4Vector3D vecV = -Xvec.cross(plane.normal()); + if( vecV.mag() < kCarTolerance ) + { + G4ThreeVector Zvec(0.,0.,1.); + vecV = Zvec.cross(plane.normal()); + } + + G4Vector3D vecW = plane.normal().cross( vecV ); + + SetParameters( pos, mom, vecV, vecW ); +} + + +//------------------------------------------------------------------------ +void G4ErrorSurfaceTrajParam:: +SetParameters( const G4Point3D& pos, const G4Vector3D& mom, + const G4Vector3D& vecV, const G4Vector3D& vecW ) +{ + if( mom.mag() > 0. ) { + fDir = mom; + fDir /= mom.mag(); + } else { + fDir = G4Vector3D(0.,0.,0.); + } + fVectorV = vecV / vecV.mag(); + fVectorW = vecW / vecW.mag(); + fInvP = 1./mom.mag(); + G4ThreeVector momv(mom); + //check 3 vectors are ortogonal and right handed + + fPV = momv.project( vecV ).mag(); + fPW = momv.project( vecW ).mag(); + + G4ThreeVector posv(pos); + fV = posv.project( vecV ).mag(); + fW = posv.project( vecW ).mag(); +} + + +//------------------------------------------------------------------------ +std::ostream& operator<<(std::ostream& out, const G4ErrorSurfaceTrajParam& tp) +{ + // long mode = out.setf(std::ios::fixed,std::ios::floatfield); + + // out << tp.theType; + // out << std::setprecision(5) << std::setw(10); + out << " InvP= " << tp.fInvP << " PV= " << tp.fPV + << " PW= " << tp.fPW << " V= " << tp.fV << " W= " << tp.fW << G4endl; + out << " vectorV direction= " << tp.fVectorV + << " vectorW direction= " << tp.fVectorW << G4endl; + + return out; +} diff --git a/source/error_propagation/src/G4ErrorSurfaceTrajState.cc b/source/error_propagation/src/G4ErrorSurfaceTrajState.cc new file mode 100644 index 0000000000..fa4afc1d38 --- /dev/null +++ b/source/error_propagation/src/G4ErrorSurfaceTrajState.cc @@ -0,0 +1,231 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorSurfaceTrajState.cc,v 1.6 2007/06/21 15:04:08 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// + +#include "G4ErrorSurfaceTrajState.hh" +#include "G4ErrorPropagatorData.hh" + +#include "G4Field.hh" +#include "G4FieldManager.hh" +#include "G4TransportationManager.hh" + +#include "G4ErrorMatrix.hh" + +#include + + +//------------------------------------------------------------------------ +G4ErrorSurfaceTrajState:: +G4ErrorSurfaceTrajState( const G4String& partType, const G4Point3D& pos, + const G4Vector3D& mom, const G4Vector3D& vecU, + const G4Vector3D& vecV, const G4ErrorTrajErr& errmat) + : G4ErrorTrajState( partType, pos, mom, errmat ) +{ + Init(); + fTrajParam = G4ErrorSurfaceTrajParam( pos, mom, vecU, vecV ); +} + + +//------------------------------------------------------------------------ +G4ErrorSurfaceTrajState:: +G4ErrorSurfaceTrajState( const G4String& partType, const G4Point3D& pos, + const G4Vector3D& mom, const G4Plane3D& plane, + const G4ErrorTrajErr& errmat ) + : G4ErrorTrajState( partType, pos, mom, errmat ) +{ + Init(); + fTrajParam = G4ErrorSurfaceTrajParam( pos, mom, plane ); + +} + + +//------------------------------------------------------------------------ +G4ErrorSurfaceTrajState:: +G4ErrorSurfaceTrajState( G4ErrorFreeTrajState& tpSC, const G4Plane3D& plane ) + : G4ErrorTrajState( tpSC.GetParticleType(), tpSC.GetPosition(), + tpSC.GetMomentum() ) +{ + // fParticleType = tpSC.GetParticleType(); + // fPosition = tpSC.GetPosition(); + // fMomentum = tpSC.GetMomentum(); + fTrajParam = G4ErrorSurfaceTrajParam( fPosition, fMomentum, plane ); + Init(); + + //----- Get the error matrix in SC coordinates + BuildErrorMatrix( tpSC, GetVectorV(), GetVectorW() ); +} + + +//------------------------------------------------------------------------ +G4ErrorSurfaceTrajState:: +G4ErrorSurfaceTrajState( G4ErrorFreeTrajState& tpSC, const G4Vector3D& vecU, + const G4Vector3D& vecV ) + : G4ErrorTrajState( tpSC.GetParticleType(), tpSC.GetPosition(), + tpSC.GetMomentum() ) +{ + fTrajParam = G4ErrorSurfaceTrajParam( fPosition, fMomentum, vecU, vecV ); + theTSType = G4eTS_OS; + //----- Get the error matrix in SC coordinates + BuildErrorMatrix( tpSC, vecU, vecV ); +} + + +//------------------------------------------------------------------------ +void G4ErrorSurfaceTrajState:: +BuildErrorMatrix( G4ErrorFreeTrajState& tpSC, const G4Vector3D&, + const G4Vector3D& ) +{ + G4double sclambda = tpSC.GetParameters().GetLambda(); + G4double scphi = tpSC.GetParameters().GetPhi(); + if( G4ErrorPropagatorData::GetErrorPropagatorData()->GetMode() == G4ErrorMode_PropBackwards ){ + sclambda *= -1; + scphi += CLHEP::pi; + } + G4double cosLambda = std::cos( sclambda ); + G4double sinLambda = std::sin( sclambda ); + G4double sinPhi = std::sin( scphi ); + G4double cosPhi = std::cos( scphi ); + +#ifdef G4EVERBOSE + if( iverbose >= 4) G4cout << " PM " << fMomentum.mag() << " pLambda " << sclambda << " pPhi " << scphi << G4endl; +#endif + + G4ThreeVector vTN( cosLambda*cosPhi, cosLambda*sinPhi,sinLambda ); + G4ThreeVector vUN( -sinPhi, cosPhi, 0. ); + G4ThreeVector vVN( -vTN.z()*vUN.y(),vTN.z()*vUN.x(), cosLambda ); + +#ifdef G4EVERBOSE + if( iverbose >= 4) G4cout << " SC2SD: vTN " << vTN << " vUN " << vUN << " vVN " << vVN << G4endl; +#endif + G4double UJ = vUN*GetVectorV(); + G4double UK = vUN*GetVectorW(); + G4double VJ = vVN*GetVectorV(); + G4double VK = vVN*GetVectorW(); + + + //--- Get transformation first + G4ErrorMatrix transfM(5, 5, 0 ); + //--- Get magnetic field + const G4Field* field = G4TransportationManager::GetTransportationManager()->GetFieldManager()->GetDetectorField(); + + G4Vector3D vectorU = GetVectorV().cross( GetVectorW() ); + +#ifdef G4EVERBOSE + if( iverbose >= 4) G4cout << "vectors " << vectorU << " " << GetVectorV() << " " << GetVectorW() << G4endl; +#endif + G4double T1R = 1. / ( vTN * vectorU ); + + if( fCharge != 0 && field ) { + G4double pos[3]; pos[0] = fPosition.x()*cm; pos[1] = fPosition.y()*cm; pos[2] = fPosition.z()*cm; + G4double Hd[3]; + field->GetFieldValue( pos, Hd ); + G4ThreeVector H = G4ThreeVector( Hd[0], Hd[1], Hd[2] ) / tesla *10.; //in kilogauus + G4double magH = H.mag(); + G4double invP = 1./(fMomentum.mag()/GeV); + G4double magHM = magH * invP; + if( magH != 0. ) { + G4double magHM2 = fCharge / magH; + G4double Q = -magHM * c_light/ (km/ns); +#ifdef G4EVERBOSE + if( iverbose >= 4) G4cout << GeV << " Q " << Q << " magHM " << magHM << " c_light/(km/ns) " << c_light/(km/ns) << G4endl; +#endif + + G4double sinz = -H*vUN * magHM2; + G4double cosz = H*vVN * magHM2; + G4double T3R = Q * std::pow(T1R,3); + G4double UI = vUN * vectorU; + G4double VI = vVN * vectorU; +#ifdef G4EVERBOSE + if( iverbose >= 4) { + G4cout << " T1R " << T1R << " T3R " << T3R << G4endl; + G4cout << " UI " << UI << " VI " << VI << " vectorU " << vectorU << G4endl; + G4cout << " UJ " << UJ << " VJ " << VJ << G4endl; + G4cout << " UK " << UK << " VK " << VK << G4endl; + } +#endif + + transfM[1][3] = -UI*( VK*cosz-UK*sinz)*T3R; + transfM[1][4] = -VI*( VK*cosz-UK*sinz)*T3R; + transfM[2][3] = UI*( VJ*cosz-UJ*sinz)*T3R; + transfM[2][4] = VI*( VJ*cosz-UJ*sinz)*T3R; + } + } + + G4double T2R = T1R * T1R; + transfM[0][0] = 1.; + transfM[1][1] = -UK*T2R; + transfM[1][2] = VK*cosLambda*T2R; + transfM[2][1] = UJ*T2R; + transfM[2][2] = -VJ*cosLambda*T2R; + transfM[3][3] = VK*T1R; + transfM[3][4] = -UK*T1R; + transfM[4][3] = -VJ*T1R; + transfM[4][4] = UJ*T1R; + +#ifdef G4EVERBOSE + if( iverbose >= 4) G4cout << " SC2SD transf matrix A= " << transfM << G4endl; +#endif + fError = G4ErrorTrajErr( tpSC.GetError().similarity( transfM ) ); + +#ifdef G4EVERBOSE + if( iverbose >= 1) G4cout << "G4EP: error matrix SC2SD " << fError << G4endl; + if( iverbose >= 4) G4cout << "G4ErrorSurfaceTrajState from SC " << *this << G4endl; +#endif + +} + + +//------------------------------------------------------------------------ +void G4ErrorSurfaceTrajState::Init() +{ + theTSType = G4eTS_OS; + BuildCharge(); +} + + +//------------------------------------------------------------------------ +void G4ErrorSurfaceTrajState::Dump( std::ostream& out ) const +{ + out << *this; +} + + +//------------------------------------------------------------------------ +std::ostream& operator<<(std::ostream& out, const G4ErrorSurfaceTrajState& ts) +{ + out.setf(std::ios::fixed,std::ios::floatfield); + + ts.DumpPosMomError( out ); + + out << " G4ErrorSurfaceTrajState: Params: " << ts.fTrajParam << G4endl; + return out; +} diff --git a/source/error_propagation/src/G4ErrorSymMatrix.cc b/source/error_propagation/src/G4ErrorSymMatrix.cc new file mode 100644 index 0000000000..fa85abc0cd --- /dev/null +++ b/source/error_propagation/src/G4ErrorSymMatrix.cc @@ -0,0 +1,2264 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorSymMatrix.cc,v 1.3 2007/06/21 15:04:10 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ + +#include "globals.hh" +#include +#include + +#include "G4ErrorSymMatrix.hh" +#include "G4ErrorMatrix.hh" + +// Simple operation for all elements + +#define SIMPLE_UOP(OPER) \ + G4ErrorMatrixIter a=m.begin(); \ + G4ErrorMatrixIter e=m.begin()+num_size(); \ + for(;a num_row()) + { G4ErrorMatrix::error("G4ErrorSymMatrix::sub: Index out of range"); } + G4ErrorMatrixIter a = mret.m.begin(); + G4ErrorMatrixConstIter b1 = m.begin() + (min_row+2)*(min_row-1)/2; + for(G4int irow=1; irow<=mret.num_row(); irow++) + { + G4ErrorMatrixConstIter b = b1; + for(G4int icol=1; icol<=irow; icol++) + { + *(a++) = *(b++); + } + b1 += irow+min_row-1; + } + return mret; +} + +G4ErrorSymMatrix G4ErrorSymMatrix::sub(G4int min_row, G4int max_row) +{ + G4ErrorSymMatrix mret(max_row-min_row+1); + if(max_row > num_row()) + { G4ErrorMatrix::error("G4ErrorSymMatrix::sub: Index out of range"); } + G4ErrorMatrixIter a = mret.m.begin(); + G4ErrorMatrixIter b1 = m.begin() + (min_row+2)*(min_row-1)/2; + for(G4int irow=1; irow<=mret.num_row(); irow++) + { + G4ErrorMatrixIter b = b1; + for(G4int icol=1; icol<=irow; icol++) + { + *(a++) = *(b++); + } + b1 += irow+min_row-1; + } + return mret; +} + +void G4ErrorSymMatrix::sub(G4int row,const G4ErrorSymMatrix &m1) +{ + if(row <1 || row+m1.num_row()-1 > num_row() ) + { G4ErrorMatrix::error("G4ErrorSymMatrix::sub: Index out of range"); } + G4ErrorMatrixConstIter a = m1.m.begin(); + G4ErrorMatrixIter b1 = m.begin() + (row+2)*(row-1)/2; + for(G4int irow=1; irow<=m1.num_row(); irow++) + { + G4ErrorMatrixIter b = b1; + for(G4int icol=1; icol<=irow; icol++) + { + *(b++) = *(a++); + } + b1 += irow+row-1; + } +} + +// +// Direct sum of two matricies +// + +G4ErrorSymMatrix dsum(const G4ErrorSymMatrix &m1, + const G4ErrorSymMatrix &m2) +{ + G4ErrorSymMatrix mret(m1.num_row() + m2.num_row(), 0); + mret.sub(1,m1); + mret.sub(m1.num_row()+1,m2); + return mret; +} + +/* ----------------------------------------------------------------------- + This section contains support routines for matrix.h. This section contains + The two argument functions +,-. They call the copy constructor and +=,-=. + ----------------------------------------------------------------------- */ + +G4ErrorSymMatrix G4ErrorSymMatrix::operator- () const +{ + G4ErrorSymMatrix m2(nrow); + G4ErrorMatrixConstIter a=m.begin(); + G4ErrorMatrixIter b=m2.m.begin(); + G4ErrorMatrixConstIter e=m.begin()+num_size(); + for(;a= k + for(G4int j=1;j<=num_row();j++) + { + G4ErrorMatrixIter mjk = mj; + G4ErrorMatrixIter mkj = m1j; + for(G4int k=1;k<=j;k++) + { + *(mjk++) += *sjk; + if(j!=k) *mkj += *sjk; + sjk++; + mkj += n; + } + mj += n; + m1j++; + } + return (*this); +} + +G4ErrorSymMatrix & G4ErrorSymMatrix::operator+=(const G4ErrorSymMatrix &m2) +{ + CHK_DIM_2(num_row(),m2.num_row(),num_col(),m2.num_col(),+=); + SIMPLE_BOP(+=) + return (*this); +} + +G4ErrorMatrix & G4ErrorMatrix::operator-=(const G4ErrorSymMatrix &m2) +{ + CHK_DIM_2(num_row(),m2.num_row(),num_col(),m2.num_col(),-=); + G4int n = num_col(); + G4ErrorMatrixConstIter sjk = m2.m.begin(); + G4ErrorMatrixIter m1j = m.begin(); + G4ErrorMatrixIter mj = m.begin(); + // j >= k + for(G4int j=1;j<=num_row();j++) + { + G4ErrorMatrixIter mjk = mj; + G4ErrorMatrixIter mkj = m1j; + for(G4int k=1;k<=j;k++) + { + *(mjk++) -= *sjk; + if(j!=k) *mkj -= *sjk; + sjk++; + mkj += n; + } + mj += n; + m1j++; + } + return (*this); +} + +G4ErrorSymMatrix & G4ErrorSymMatrix::operator-=(const G4ErrorSymMatrix &m2) +{ + CHK_DIM_2(num_row(),m2.num_row(),num_col(),m2.num_col(),-=); + SIMPLE_BOP(-=) + return (*this); +} + +G4ErrorSymMatrix & G4ErrorSymMatrix::operator/=(G4double t) +{ + SIMPLE_UOP(/=) + return (*this); +} + +G4ErrorSymMatrix & G4ErrorSymMatrix::operator*=(G4double t) +{ + SIMPLE_UOP(*=) + return (*this); +} + +G4ErrorMatrix & G4ErrorMatrix::operator=(const G4ErrorSymMatrix &m1) +{ + if(m1.nrow*m1.nrow != size) + { + size = m1.nrow * m1.nrow; + m.resize(size); + } + nrow = m1.nrow; + ncol = m1.nrow; + G4int n = ncol; + G4ErrorMatrixConstIter sjk = m1.m.begin(); + G4ErrorMatrixIter m1j = m.begin(); + G4ErrorMatrixIter mj = m.begin(); + // j >= k + for(G4int j=1;j<=num_row();j++) + { + G4ErrorMatrixIter mjk = mj; + G4ErrorMatrixIter mkj = m1j; + for(G4int k=1;k<=j;k++) + { + *(mjk++) = *sjk; + if(j!=k) *mkj = *sjk; + sjk++; + mkj += n; + } + mj += n; + m1j++; + } + return (*this); +} + +G4ErrorSymMatrix & G4ErrorSymMatrix::operator=(const G4ErrorSymMatrix &m1) +{ + if(m1.nrow != nrow) + { + nrow = m1.nrow; + size = m1.size; + m.resize(size); + } + m = m1.m; + return (*this); +} + +// Print the Matrix. + +std::ostream& operator<<(std::ostream &s, const G4ErrorSymMatrix &q) +{ + s << G4endl; + + // Fixed format needs 3 extra characters for field, + // while scientific needs 7 + + G4int width; + if(s.flags() & std::ios::fixed) + { + width = s.precision()+3; + } + else + { + width = s.precision()+7; + } + for(G4int irow = 1; irow<= q.num_row(); irow++) + { + for(G4int icol = 1; icol <= q.num_col(); icol++) + { + s.width(width); + s << q(irow,icol) << " "; + } + s << G4endl; + } + return s; +} + +G4ErrorSymMatrix G4ErrorSymMatrix:: +apply(G4double (*f)(G4double, G4int, G4int)) const +{ + G4ErrorSymMatrix mret(num_row()); + G4ErrorMatrixConstIter a = m.begin(); + G4ErrorMatrixIter b = mret.m.begin(); + for(G4int ir=1;ir<=num_row();ir++) + { + for(G4int ic=1;ic<=ir;ic++) + { + *(b++) = (*f)(*(a++), ir, ic); + } + } + return mret; +} + +void G4ErrorSymMatrix::assign (const G4ErrorMatrix &m1) +{ + if(m1.nrow != nrow) + { + nrow = m1.nrow; + size = nrow * (nrow+1) / 2; + m.resize(size); + } + G4ErrorMatrixConstIter a = m1.m.begin(); + G4ErrorMatrixIter b = m.begin(); + for(G4int r=1;r<=nrow;r++) + { + G4ErrorMatrixConstIter d = a; + for(G4int c=1;c<=r;c++) + { + *(b++) = *(d++); + } + a += nrow; + } +} + +G4ErrorSymMatrix G4ErrorSymMatrix::similarity(const G4ErrorMatrix &m1) const +{ + G4ErrorSymMatrix mret(m1.num_row()); + G4ErrorMatrix temp = m1*(*this); + +// If m1*(*this) has correct dimensions, then so will the m1.T multiplication. +// So there is no need to check dimensions again. + + G4int n = m1.num_col(); + G4ErrorMatrixIter mr = mret.m.begin(); + G4ErrorMatrixIter tempr1 = temp.m.begin(); + for(G4int r=1;r<=mret.num_row();r++) + { + G4ErrorMatrixConstIter m1c1 = m1.m.begin(); + for(G4int c=1;c<=r;c++) + { + G4double tmp = 0.0; + G4ErrorMatrixIter tempri = tempr1; + G4ErrorMatrixConstIter m1ci = m1c1; + for(G4int i=1;i<=m1.num_col();i++) + { + tmp+=(*(tempri++))*(*(m1ci++)); + } + *(mr++) = tmp; + m1c1 += n; + } + tempr1 += n; + } + return mret; +} + +G4ErrorSymMatrix G4ErrorSymMatrix::similarity(const G4ErrorSymMatrix &m1) const +{ + G4ErrorSymMatrix mret(m1.num_row()); + G4ErrorMatrix temp = m1*(*this); + G4int n = m1.num_col(); + G4ErrorMatrixIter mr = mret.m.begin(); + G4ErrorMatrixIter tempr1 = temp.m.begin(); + for(G4int r=1;r<=mret.num_row();r++) + { + G4ErrorMatrixConstIter m1c1 = m1.m.begin(); + G4int c; + for(c=1;c<=r;c++) + { + G4double tmp = 0.0; + G4ErrorMatrixIter tempri = tempr1; + G4ErrorMatrixConstIter m1ci = m1c1; + G4int i; + for(i=1;i= t2) + { + if (t3 >= t1) + { + temp = *(m.begin()+3); + det = c23*c12-c22*c13; + } + else + { + temp = *m.begin(); + det = c22*c33-c23*c23; + } + } + else if (t3 >= t2) + { + temp = *(m.begin()+3); + det = c23*c12-c22*c13; + } + else + { + temp = *(m.begin()+1); + det = c13*c23-c12*c33; + } + if (det==0) + { + ifail = 1; + return; + } + { + G4double s = temp/det; + G4ErrorMatrixIter mm = m.begin(); + *(mm++) = s*c11; + *(mm++) = s*c12; + *(mm++) = s*c22; + *(mm++) = s*c13; + *(mm++) = s*c23; + *(mm) = s*c33; + } + } + break; + case 2: + { + G4double det, temp, s; + det = (*m.begin())*(*(m.begin()+2)) - (*(m.begin()+1))*(*(m.begin()+1)); + if (det==0) + { + ifail = 1; + return; + } + s = 1.0/det; + *(m.begin()+1) *= -s; + temp = s*(*(m.begin()+2)); + *(m.begin()+2) = s*(*m.begin()); + *m.begin() = temp; + break; + } + case 1: + { + if ((*m.begin())==0) + { + ifail = 1; + return; + } + *m.begin() = 1.0/(*m.begin()); + break; + } + case 5: + { + invert5(ifail); + return; + } + case 6: + { + invert6(ifail); + return; + } + case 4: + { + invert4(ifail); + return; + } + default: + { + invertBunchKaufman(ifail); + return; + } + } + return; // inversion successful +} + +G4double G4ErrorSymMatrix::determinant() const +{ + static const G4int max_array = 20; + + // ir must point to an array which is ***1 longer than*** nrow + + static std::vector ir_vec (max_array+1); + if (ir_vec.size() <= static_cast(nrow)) + { + ir_vec.resize(nrow+1); + } + G4int * ir = &ir_vec[0]; + + G4double det; + G4ErrorMatrix mt(*this); + G4int i = mt.dfact_matrix(det, ir); + if(i==0) { return det; } + return 0.0; +} + +G4double G4ErrorSymMatrix::trace() const +{ + G4double t = 0.0; + for (G4int i=0; i xvec (max_array); + static std::vector pivv (max_array); + typedef std::vector::iterator pivIter; + if (xvec.size() < static_cast(nrow)) xvec.resize(nrow); + if (pivv.size() < static_cast(nrow)) pivv.resize(nrow); + // Note - resize should do nothing if the size is already larger than nrow, + // but on VC++ there are indications that it does so we check. + // Note - the data elements in a vector are guaranteed to be contiguous, + // so x[i] and piv[i] are optimally fast. + G4ErrorMatrixIter x = xvec.begin(); + // x[i] is used as helper storage, needs to have at least size nrow. + pivIter piv = pivv.begin(); + // piv[i] is used to store details of exchanges + + G4double temp1, temp2; + G4ErrorMatrixIter ip, mjj, iq; + G4double lambda, sigma; + const G4double alpha = .6404; // = (1+sqrt(17))/8 + const G4double epsilon = 32*DBL_EPSILON; + // whenever a sum of two doubles is below or equal to epsilon + // it is set to zero. + // this constant could be set to zero but then the algorithm + // doesn't neccessarily detect that a matrix is singular + + for (i = 0; i < nrow; i++) + { + piv[i] = i+1; + } + + ifail = 0; + + // compute the factorization P*A*P^T = L * D * L^T + // L is unit lower triangular, D is direct sum of 1x1 and 2x2 matrices + // L and D^-1 are stored in A = *this, P is stored in piv[] + + for (j=1; j < nrow; j+=s) // main loop over columns + { + mjj = m.begin() + j*(j-1)/2 + j-1; + lambda = 0; // compute lambda = max of A(j+1:n,j) + pivrow = j+1; + ip = m.begin() + (j+1)*j/2 + j-1; + for (i=j+1; i <= nrow ; ip += i++) + { + if (std::fabs(*ip) > lambda) + { + lambda = std::fabs(*ip); + pivrow = i; + } + } + if (lambda == 0 ) + { + if (*mjj == 0) + { + ifail = 1; + return; + } + s=1; + *mjj = 1./ *mjj; + } + else + { + if (std::fabs(*mjj) >= lambda*alpha) + { + s=1; + pivrow=j; + } + else + { + sigma = 0; // compute sigma = max A(pivrow, j:pivrow-1) + ip = m.begin() + pivrow*(pivrow-1)/2+j-1; + for (k=j; k < pivrow; k++) + { + if (std::fabs(*ip) > sigma) + sigma = std::fabs(*ip); + ip++; + } + if (sigma * std::fabs(*mjj) >= alpha * lambda * lambda) + { + s=1; + pivrow = j; + } + else if (std::fabs(*(m.begin()+pivrow*(pivrow-1)/2+pivrow-1)) + >= alpha * sigma) + { s=1; } + else + { s=2; } + } + if (pivrow == j) // no permutation neccessary + { + piv[j-1] = pivrow; + if (*mjj == 0) + { + ifail=1; + return; + } + temp2 = *mjj = 1./ *mjj; // invert D(j,j) + + // update A(j+1:n, j+1,n) + for (i=j+1; i <= nrow; i++) + { + temp1 = *(m.begin() + i*(i-1)/2 + j-1) * temp2; + ip = m.begin()+i*(i-1)/2+j; + for (k=j+1; k<=i; k++) + { + *ip -= temp1 * *(m.begin() + k*(k-1)/2 + j-1); + if (std::fabs(*ip) <= epsilon) + { *ip=0; } + ip++; + } + } + // update L + ip = m.begin() + (j+1)*j/2 + j-1; + for (i=j+1; i <= nrow; ip += i++) + { + *ip *= temp2; + } + } + else if (s==1) // 1x1 pivot + { + piv[j-1] = pivrow; + + // interchange rows and columns j and pivrow in + // submatrix (j:n,j:n) + ip = m.begin() + pivrow*(pivrow-1)/2 + j; + for (i=j+1; i < pivrow; i++, ip++) + { + temp1 = *(m.begin() + i*(i-1)/2 + j-1); + *(m.begin() + i*(i-1)/2 + j-1)= *ip; + *ip = temp1; + } + temp1 = *mjj; + *mjj = *(m.begin()+pivrow*(pivrow-1)/2+pivrow-1); + *(m.begin()+pivrow*(pivrow-1)/2+pivrow-1) = temp1; + ip = m.begin() + (pivrow+1)*pivrow/2 + j-1; + iq = ip + pivrow-j; + for (i = pivrow+1; i <= nrow; ip += i, iq += i++) + { + temp1 = *iq; + *iq = *ip; + *ip = temp1; + } + + if (*mjj == 0) + { + ifail = 1; + return; + } + temp2 = *mjj = 1./ *mjj; // invert D(j,j) + + // update A(j+1:n, j+1:n) + for (i = j+1; i <= nrow; i++) + { + temp1 = *(m.begin() + i*(i-1)/2 + j-1) * temp2; + ip = m.begin()+i*(i-1)/2+j; + for (k=j+1; k<=i; k++) + { + *ip -= temp1 * *(m.begin() + k*(k-1)/2 + j-1); + if (std::fabs(*ip) <= epsilon) + { *ip=0; } + ip++; + } + } + // update L + ip = m.begin() + (j+1)*j/2 + j-1; + for (i=j+1; i<=nrow; ip += i++) + { + *ip *= temp2; + } + } + else // s=2, ie use a 2x2 pivot + { + piv[j-1] = -pivrow; + piv[j] = 0; // that means this is the second row of a 2x2 pivot + + if (j+1 != pivrow) + { + // interchange rows and columns j+1 and pivrow in + // submatrix (j:n,j:n) + ip = m.begin() + pivrow*(pivrow-1)/2 + j+1; + for (i=j+2; i < pivrow; i++, ip++) + { + temp1 = *(m.begin() + i*(i-1)/2 + j); + *(m.begin() + i*(i-1)/2 + j) = *ip; + *ip = temp1; + } + temp1 = *(mjj + j + 1); + *(mjj + j + 1) = + *(m.begin() + pivrow*(pivrow-1)/2 + pivrow-1); + *(m.begin() + pivrow*(pivrow-1)/2 + pivrow-1) = temp1; + temp1 = *(mjj + j); + *(mjj + j) = *(m.begin() + pivrow*(pivrow-1)/2 + j-1); + *(m.begin() + pivrow*(pivrow-1)/2 + j-1) = temp1; + ip = m.begin() + (pivrow+1)*pivrow/2 + j; + iq = ip + pivrow-(j+1); + for (i = pivrow+1; i <= nrow; ip += i, iq += i++) + { + temp1 = *iq; + *iq = *ip; + *ip = temp1; + } + } + // invert D(j:j+1,j:j+1) + temp2 = *mjj * *(mjj + j + 1) - *(mjj + j) * *(mjj + j); + if (temp2 == 0) + { + G4cerr + << "G4ErrorSymMatrix::bunch_invert: error in pivot choice" + << G4endl; + } + temp2 = 1. / temp2; + + // this quotient is guaranteed to exist by the choice + // of the pivot + + temp1 = *mjj; + *mjj = *(mjj + j + 1) * temp2; + *(mjj + j + 1) = temp1 * temp2; + *(mjj + j) = - *(mjj + j) * temp2; + + if (j < nrow-1) // otherwise do nothing + { + // update A(j+2:n, j+2:n) + for (i=j+2; i <= nrow ; i++) + { + ip = m.begin() + i*(i-1)/2 + j-1; + temp1 = *ip * *mjj + *(ip + 1) * *(mjj + j); + if (std::fabs(temp1 ) <= epsilon) + { temp1 = 0; } + temp2 = *ip * *(mjj + j) + *(ip + 1) * *(mjj + j + 1); + if (std::fabs(temp2 ) <= epsilon) + { temp2 = 0; } + for (k = j+2; k <= i ; k++) + { + ip = m.begin() + i*(i-1)/2 + k-1; + iq = m.begin() + k*(k-1)/2 + j-1; + *ip -= temp1 * *iq + temp2 * *(iq+1); + if (std::fabs(*ip) <= epsilon) + { *ip = 0; } + } + } + // update L + for (i=j+2; i <= nrow ; i++) + { + ip = m.begin() + i*(i-1)/2 + j-1; + temp1 = *ip * *mjj + *(ip+1) * *(mjj + j); + if (std::fabs(temp1) <= epsilon) + { temp1 = 0; } + *(ip+1) = *ip * *(mjj + j) + *(ip+1) * *(mjj + j + 1); + if (std::fabs(*(ip+1)) <= epsilon) + { *(ip+1) = 0; } + *ip = temp1; + } + } + } + } + } // end of main loop over columns + + if (j == nrow) // the the last pivot is 1x1 + { + mjj = m.begin() + j*(j-1)/2 + j-1; + if (*mjj == 0) + { + ifail = 1; + return; + } + else + { + *mjj = 1. / *mjj; + } + } // end of last pivot code + + // computing the inverse from the factorization + + for (j = nrow ; j >= 1 ; j -= s) // loop over columns + { + mjj = m.begin() + j*(j-1)/2 + j-1; + if (piv[j-1] > 0) // 1x1 pivot, compute column j of inverse + { + s = 1; + if (j < nrow) + { + ip = m.begin() + (j+1)*j/2 + j-1; + for (i=0; i < nrow-j; ip += 1+j+i++) + { + x[i] = *ip; + } + for (i=j+1; i<=nrow ; i++) + { + temp2=0; + ip = m.begin() + i*(i-1)/2 + j; + for (k=0; k <= i-j-1; k++) + { temp2 += *ip++ * x[k]; } + for (ip += i-1; k < nrow-j; ip += 1+j+k++) + { temp2 += *ip * x[k]; } + *(m.begin()+ i*(i-1)/2 + j-1) = -temp2; + } + temp2 = 0; + ip = m.begin() + (j+1)*j/2 + j-1; + for (k=0; k < nrow-j; ip += 1+j+k++) + { temp2 += x[k] * *ip; } + *mjj -= temp2; + } + } + else //2x2 pivot, compute columns j and j-1 of the inverse + { + if (piv[j-1] != 0) + { G4cerr << "error in piv" << piv[j-1] << G4endl; } + s=2; + if (j < nrow) + { + ip = m.begin() + (j+1)*j/2 + j-1; + for (i=0; i < nrow-j; ip += 1+j+i++) + { + x[i] = *ip; + } + for (i=j+1; i<=nrow ; i++) + { + temp2 = 0; + ip = m.begin() + i*(i-1)/2 + j; + for (k=0; k <= i-j-1; k++) + { temp2 += *ip++ * x[k]; } + for (ip += i-1; k < nrow-j; ip += 1+j+k++) + { temp2 += *ip * x[k]; } + *(m.begin()+ i*(i-1)/2 + j-1) = -temp2; + } + temp2 = 0; + ip = m.begin() + (j+1)*j/2 + j-1; + for (k=0; k < nrow-j; ip += 1+j+k++) + { temp2 += x[k] * *ip; } + *mjj -= temp2; + temp2 = 0; + ip = m.begin() + (j+1)*j/2 + j-2; + for (i=j+1; i <= nrow; ip += i++) + { temp2 += *ip * *(ip+1); } + *(mjj-1) -= temp2; + ip = m.begin() + (j+1)*j/2 + j-2; + for (i=0; i < nrow-j; ip += 1+j+i++) + { + x[i] = *ip; + } + for (i=j+1; i <= nrow ; i++) + { + temp2 = 0; + ip = m.begin() + i*(i-1)/2 + j; + for (k=0; k <= i-j-1; k++) + { temp2 += *ip++ * x[k]; } + for (ip += i-1; k < nrow-j; ip += 1+j+k++) + { temp2 += *ip * x[k]; } + *(m.begin()+ i*(i-1)/2 + j-2)= -temp2; + } + temp2 = 0; + ip = m.begin() + (j+1)*j/2 + j-2; + for (k=0; k < nrow-j; ip += 1+j+k++) + { temp2 += x[k] * *ip; } + *(mjj-j) -= temp2; + } + } + + // interchange rows and columns j and piv[j-1] + // or rows and columns j and -piv[j-2] + + pivrow = (piv[j-1]==0)? -piv[j-2] : piv[j-1]; + ip = m.begin() + pivrow*(pivrow-1)/2 + j; + for (i=j+1;i < pivrow; i++, ip++) + { + temp1 = *(m.begin() + i*(i-1)/2 + j-1); + *(m.begin() + i*(i-1)/2 + j-1) = *ip; + *ip = temp1; + } + temp1 = *mjj; + *mjj = *(m.begin() + pivrow*(pivrow-1)/2 + pivrow-1); + *(m.begin() + pivrow*(pivrow-1)/2 + pivrow-1) = temp1; + if (s==2) + { + temp1 = *(mjj-1); + *(mjj-1) = *( m.begin() + pivrow*(pivrow-1)/2 + j-2); + *( m.begin() + pivrow*(pivrow-1)/2 + j-2) = temp1; + } + + ip = m.begin() + (pivrow+1)*pivrow/2 + j-1; // &A(i,j) + iq = ip + pivrow-j; + for (i = pivrow+1; i <= nrow; ip += i, iq += i++) + { + temp1 = *iq; + *iq = *ip; + *ip = temp1; + } + } // end of loop over columns (in computing inverse from factorization) + + return; // inversion successful +} + +G4double G4ErrorSymMatrix::posDefFraction5x5 = 1.0; +G4double G4ErrorSymMatrix::posDefFraction6x6 = 1.0; +G4double G4ErrorSymMatrix::adjustment5x5 = 0.0; +G4double G4ErrorSymMatrix::adjustment6x6 = 0.0; +const G4double G4ErrorSymMatrix::CHOLESKY_THRESHOLD_5x5 = .5; +const G4double G4ErrorSymMatrix::CHOLESKY_THRESHOLD_6x6 = .2; +const G4double G4ErrorSymMatrix::CHOLESKY_CREEP_5x5 = .005; +const G4double G4ErrorSymMatrix::CHOLESKY_CREEP_6x6 = .002; + +// Aij are indices for a 6x6 symmetric matrix. +// The indices for 5x5 or 4x4 symmetric matrices are the same, +// ignoring all combinations with an index which is inapplicable. + +#define A00 0 +#define A01 1 +#define A02 3 +#define A03 6 +#define A04 10 +#define A05 15 + +#define A10 1 +#define A11 2 +#define A12 4 +#define A13 7 +#define A14 11 +#define A15 16 + +#define A20 3 +#define A21 4 +#define A22 5 +#define A23 8 +#define A24 12 +#define A25 17 + +#define A30 6 +#define A31 7 +#define A32 8 +#define A33 9 +#define A34 13 +#define A35 18 + +#define A40 10 +#define A41 11 +#define A42 12 +#define A43 13 +#define A44 14 +#define A45 19 + +#define A50 15 +#define A51 16 +#define A52 17 +#define A53 18 +#define A54 19 +#define A55 20 + +void G4ErrorSymMatrix::invert5(G4int & ifail) +{ + if (posDefFraction5x5 >= CHOLESKY_THRESHOLD_5x5) + { + invertCholesky5(ifail); + posDefFraction5x5 = .9*posDefFraction5x5 + .1*(1-ifail); + if (ifail!=0) // Cholesky failed -- invert using Haywood + { + invertHaywood5(ifail); + } + } + else + { + if (posDefFraction5x5 + adjustment5x5 >= CHOLESKY_THRESHOLD_5x5) + { + invertCholesky5(ifail); + posDefFraction5x5 = .9*posDefFraction5x5 + .1*(1-ifail); + if (ifail!=0) // Cholesky failed -- invert using Haywood + { + invertHaywood5(ifail); + adjustment5x5 = 0; + } + } + else + { + invertHaywood5(ifail); + adjustment5x5 += CHOLESKY_CREEP_5x5; + } + } + return; +} + +void G4ErrorSymMatrix::invert6(G4int & ifail) +{ + if (posDefFraction6x6 >= CHOLESKY_THRESHOLD_6x6) + { + invertCholesky6(ifail); + posDefFraction6x6 = .9*posDefFraction6x6 + .1*(1-ifail); + if (ifail!=0) // Cholesky failed -- invert using Haywood + { + invertHaywood6(ifail); + } + } + else + { + if (posDefFraction6x6 + adjustment6x6 >= CHOLESKY_THRESHOLD_6x6) + { + invertCholesky6(ifail); + posDefFraction6x6 = .9*posDefFraction6x6 + .1*(1-ifail); + if (ifail!=0) // Cholesky failed -- invert using Haywood + { + invertHaywood6(ifail); + adjustment6x6 = 0; + } + } + else + { + invertHaywood6(ifail); + adjustment6x6 += CHOLESKY_CREEP_6x6; + } + } + return; +} + +void G4ErrorSymMatrix::invertHaywood5 (G4int & ifail) +{ + ifail = 0; + + // Find all NECESSARY 2x2 dets: (25 of them) + + G4double Det2_23_01 = m[A20]*m[A31] - m[A21]*m[A30]; + G4double Det2_23_02 = m[A20]*m[A32] - m[A22]*m[A30]; + G4double Det2_23_03 = m[A20]*m[A33] - m[A23]*m[A30]; + G4double Det2_23_12 = m[A21]*m[A32] - m[A22]*m[A31]; + G4double Det2_23_13 = m[A21]*m[A33] - m[A23]*m[A31]; + G4double Det2_23_23 = m[A22]*m[A33] - m[A23]*m[A32]; + G4double Det2_24_01 = m[A20]*m[A41] - m[A21]*m[A40]; + G4double Det2_24_02 = m[A20]*m[A42] - m[A22]*m[A40]; + G4double Det2_24_03 = m[A20]*m[A43] - m[A23]*m[A40]; + G4double Det2_24_04 = m[A20]*m[A44] - m[A24]*m[A40]; + G4double Det2_24_12 = m[A21]*m[A42] - m[A22]*m[A41]; + G4double Det2_24_13 = m[A21]*m[A43] - m[A23]*m[A41]; + G4double Det2_24_14 = m[A21]*m[A44] - m[A24]*m[A41]; + G4double Det2_24_23 = m[A22]*m[A43] - m[A23]*m[A42]; + G4double Det2_24_24 = m[A22]*m[A44] - m[A24]*m[A42]; + G4double Det2_34_01 = m[A30]*m[A41] - m[A31]*m[A40]; + G4double Det2_34_02 = m[A30]*m[A42] - m[A32]*m[A40]; + G4double Det2_34_03 = m[A30]*m[A43] - m[A33]*m[A40]; + G4double Det2_34_04 = m[A30]*m[A44] - m[A34]*m[A40]; + G4double Det2_34_12 = m[A31]*m[A42] - m[A32]*m[A41]; + G4double Det2_34_13 = m[A31]*m[A43] - m[A33]*m[A41]; + G4double Det2_34_14 = m[A31]*m[A44] - m[A34]*m[A41]; + G4double Det2_34_23 = m[A32]*m[A43] - m[A33]*m[A42]; + G4double Det2_34_24 = m[A32]*m[A44] - m[A34]*m[A42]; + G4double Det2_34_34 = m[A33]*m[A44] - m[A34]*m[A43]; + + // Find all NECESSARY 3x3 dets: (30 of them) + + G4double Det3_123_012 = m[A10]*Det2_23_12 - m[A11]*Det2_23_02 + + m[A12]*Det2_23_01; + G4double Det3_123_013 = m[A10]*Det2_23_13 - m[A11]*Det2_23_03 + + m[A13]*Det2_23_01; + G4double Det3_123_023 = m[A10]*Det2_23_23 - m[A12]*Det2_23_03 + + m[A13]*Det2_23_02; + G4double Det3_123_123 = m[A11]*Det2_23_23 - m[A12]*Det2_23_13 + + m[A13]*Det2_23_12; + G4double Det3_124_012 = m[A10]*Det2_24_12 - m[A11]*Det2_24_02 + + m[A12]*Det2_24_01; + G4double Det3_124_013 = m[A10]*Det2_24_13 - m[A11]*Det2_24_03 + + m[A13]*Det2_24_01; + G4double Det3_124_014 = m[A10]*Det2_24_14 - m[A11]*Det2_24_04 + + m[A14]*Det2_24_01; + G4double Det3_124_023 = m[A10]*Det2_24_23 - m[A12]*Det2_24_03 + + m[A13]*Det2_24_02; + G4double Det3_124_024 = m[A10]*Det2_24_24 - m[A12]*Det2_24_04 + + m[A14]*Det2_24_02; + G4double Det3_124_123 = m[A11]*Det2_24_23 - m[A12]*Det2_24_13 + + m[A13]*Det2_24_12; + G4double Det3_124_124 = m[A11]*Det2_24_24 - m[A12]*Det2_24_14 + + m[A14]*Det2_24_12; + G4double Det3_134_012 = m[A10]*Det2_34_12 - m[A11]*Det2_34_02 + + m[A12]*Det2_34_01; + G4double Det3_134_013 = m[A10]*Det2_34_13 - m[A11]*Det2_34_03 + + m[A13]*Det2_34_01; + G4double Det3_134_014 = m[A10]*Det2_34_14 - m[A11]*Det2_34_04 + + m[A14]*Det2_34_01; + G4double Det3_134_023 = m[A10]*Det2_34_23 - m[A12]*Det2_34_03 + + m[A13]*Det2_34_02; + G4double Det3_134_024 = m[A10]*Det2_34_24 - m[A12]*Det2_34_04 + + m[A14]*Det2_34_02; + G4double Det3_134_034 = m[A10]*Det2_34_34 - m[A13]*Det2_34_04 + + m[A14]*Det2_34_03; + G4double Det3_134_123 = m[A11]*Det2_34_23 - m[A12]*Det2_34_13 + + m[A13]*Det2_34_12; + G4double Det3_134_124 = m[A11]*Det2_34_24 - m[A12]*Det2_34_14 + + m[A14]*Det2_34_12; + G4double Det3_134_134 = m[A11]*Det2_34_34 - m[A13]*Det2_34_14 + + m[A14]*Det2_34_13; + G4double Det3_234_012 = m[A20]*Det2_34_12 - m[A21]*Det2_34_02 + + m[A22]*Det2_34_01; + G4double Det3_234_013 = m[A20]*Det2_34_13 - m[A21]*Det2_34_03 + + m[A23]*Det2_34_01; + G4double Det3_234_014 = m[A20]*Det2_34_14 - m[A21]*Det2_34_04 + + m[A24]*Det2_34_01; + G4double Det3_234_023 = m[A20]*Det2_34_23 - m[A22]*Det2_34_03 + + m[A23]*Det2_34_02; + G4double Det3_234_024 = m[A20]*Det2_34_24 - m[A22]*Det2_34_04 + + m[A24]*Det2_34_02; + G4double Det3_234_034 = m[A20]*Det2_34_34 - m[A23]*Det2_34_04 + + m[A24]*Det2_34_03; + G4double Det3_234_123 = m[A21]*Det2_34_23 - m[A22]*Det2_34_13 + + m[A23]*Det2_34_12; + G4double Det3_234_124 = m[A21]*Det2_34_24 - m[A22]*Det2_34_14 + + m[A24]*Det2_34_12; + G4double Det3_234_134 = m[A21]*Det2_34_34 - m[A23]*Det2_34_14 + + m[A24]*Det2_34_13; + G4double Det3_234_234 = m[A22]*Det2_34_34 - m[A23]*Det2_34_24 + + m[A24]*Det2_34_23; + + // Find all NECESSARY 4x4 dets: (15 of them) + + G4double Det4_0123_0123 = m[A00]*Det3_123_123 - m[A01]*Det3_123_023 + + m[A02]*Det3_123_013 - m[A03]*Det3_123_012; + G4double Det4_0124_0123 = m[A00]*Det3_124_123 - m[A01]*Det3_124_023 + + m[A02]*Det3_124_013 - m[A03]*Det3_124_012; + G4double Det4_0124_0124 = m[A00]*Det3_124_124 - m[A01]*Det3_124_024 + + m[A02]*Det3_124_014 - m[A04]*Det3_124_012; + G4double Det4_0134_0123 = m[A00]*Det3_134_123 - m[A01]*Det3_134_023 + + m[A02]*Det3_134_013 - m[A03]*Det3_134_012; + G4double Det4_0134_0124 = m[A00]*Det3_134_124 - m[A01]*Det3_134_024 + + m[A02]*Det3_134_014 - m[A04]*Det3_134_012; + G4double Det4_0134_0134 = m[A00]*Det3_134_134 - m[A01]*Det3_134_034 + + m[A03]*Det3_134_014 - m[A04]*Det3_134_013; + G4double Det4_0234_0123 = m[A00]*Det3_234_123 - m[A01]*Det3_234_023 + + m[A02]*Det3_234_013 - m[A03]*Det3_234_012; + G4double Det4_0234_0124 = m[A00]*Det3_234_124 - m[A01]*Det3_234_024 + + m[A02]*Det3_234_014 - m[A04]*Det3_234_012; + G4double Det4_0234_0134 = m[A00]*Det3_234_134 - m[A01]*Det3_234_034 + + m[A03]*Det3_234_014 - m[A04]*Det3_234_013; + G4double Det4_0234_0234 = m[A00]*Det3_234_234 - m[A02]*Det3_234_034 + + m[A03]*Det3_234_024 - m[A04]*Det3_234_023; + G4double Det4_1234_0123 = m[A10]*Det3_234_123 - m[A11]*Det3_234_023 + + m[A12]*Det3_234_013 - m[A13]*Det3_234_012; + G4double Det4_1234_0124 = m[A10]*Det3_234_124 - m[A11]*Det3_234_024 + + m[A12]*Det3_234_014 - m[A14]*Det3_234_012; + G4double Det4_1234_0134 = m[A10]*Det3_234_134 - m[A11]*Det3_234_034 + + m[A13]*Det3_234_014 - m[A14]*Det3_234_013; + G4double Det4_1234_0234 = m[A10]*Det3_234_234 - m[A12]*Det3_234_034 + + m[A13]*Det3_234_024 - m[A14]*Det3_234_023; + G4double Det4_1234_1234 = m[A11]*Det3_234_234 - m[A12]*Det3_234_134 + + m[A13]*Det3_234_124 - m[A14]*Det3_234_123; + + // Find the 5x5 det: + + G4double det = m[A00]*Det4_1234_1234 + - m[A01]*Det4_1234_0234 + + m[A02]*Det4_1234_0134 + - m[A03]*Det4_1234_0124 + + m[A04]*Det4_1234_0123; + + if ( det == 0 ) + { + ifail = 1; + return; + } + + G4double oneOverDet = 1.0/det; + G4double mn1OverDet = - oneOverDet; + + m[A00] = Det4_1234_1234 * oneOverDet; + m[A01] = Det4_1234_0234 * mn1OverDet; + m[A02] = Det4_1234_0134 * oneOverDet; + m[A03] = Det4_1234_0124 * mn1OverDet; + m[A04] = Det4_1234_0123 * oneOverDet; + + m[A11] = Det4_0234_0234 * oneOverDet; + m[A12] = Det4_0234_0134 * mn1OverDet; + m[A13] = Det4_0234_0124 * oneOverDet; + m[A14] = Det4_0234_0123 * mn1OverDet; + + m[A22] = Det4_0134_0134 * oneOverDet; + m[A23] = Det4_0134_0124 * mn1OverDet; + m[A24] = Det4_0134_0123 * oneOverDet; + + m[A33] = Det4_0124_0124 * oneOverDet; + m[A34] = Det4_0124_0123 * mn1OverDet; + + m[A44] = Det4_0123_0123 * oneOverDet; + + return; +} + +void G4ErrorSymMatrix::invertHaywood6 (G4int & ifail) +{ + ifail = 0; + + // Find all NECESSARY 2x2 dets: (39 of them) + + G4double Det2_34_01 = m[A30]*m[A41] - m[A31]*m[A40]; + G4double Det2_34_02 = m[A30]*m[A42] - m[A32]*m[A40]; + G4double Det2_34_03 = m[A30]*m[A43] - m[A33]*m[A40]; + G4double Det2_34_04 = m[A30]*m[A44] - m[A34]*m[A40]; + G4double Det2_34_12 = m[A31]*m[A42] - m[A32]*m[A41]; + G4double Det2_34_13 = m[A31]*m[A43] - m[A33]*m[A41]; + G4double Det2_34_14 = m[A31]*m[A44] - m[A34]*m[A41]; + G4double Det2_34_23 = m[A32]*m[A43] - m[A33]*m[A42]; + G4double Det2_34_24 = m[A32]*m[A44] - m[A34]*m[A42]; + G4double Det2_34_34 = m[A33]*m[A44] - m[A34]*m[A43]; + G4double Det2_35_01 = m[A30]*m[A51] - m[A31]*m[A50]; + G4double Det2_35_02 = m[A30]*m[A52] - m[A32]*m[A50]; + G4double Det2_35_03 = m[A30]*m[A53] - m[A33]*m[A50]; + G4double Det2_35_04 = m[A30]*m[A54] - m[A34]*m[A50]; + G4double Det2_35_05 = m[A30]*m[A55] - m[A35]*m[A50]; + G4double Det2_35_12 = m[A31]*m[A52] - m[A32]*m[A51]; + G4double Det2_35_13 = m[A31]*m[A53] - m[A33]*m[A51]; + G4double Det2_35_14 = m[A31]*m[A54] - m[A34]*m[A51]; + G4double Det2_35_15 = m[A31]*m[A55] - m[A35]*m[A51]; + G4double Det2_35_23 = m[A32]*m[A53] - m[A33]*m[A52]; + G4double Det2_35_24 = m[A32]*m[A54] - m[A34]*m[A52]; + G4double Det2_35_25 = m[A32]*m[A55] - m[A35]*m[A52]; + G4double Det2_35_34 = m[A33]*m[A54] - m[A34]*m[A53]; + G4double Det2_35_35 = m[A33]*m[A55] - m[A35]*m[A53]; + G4double Det2_45_01 = m[A40]*m[A51] - m[A41]*m[A50]; + G4double Det2_45_02 = m[A40]*m[A52] - m[A42]*m[A50]; + G4double Det2_45_03 = m[A40]*m[A53] - m[A43]*m[A50]; + G4double Det2_45_04 = m[A40]*m[A54] - m[A44]*m[A50]; + G4double Det2_45_05 = m[A40]*m[A55] - m[A45]*m[A50]; + G4double Det2_45_12 = m[A41]*m[A52] - m[A42]*m[A51]; + G4double Det2_45_13 = m[A41]*m[A53] - m[A43]*m[A51]; + G4double Det2_45_14 = m[A41]*m[A54] - m[A44]*m[A51]; + G4double Det2_45_15 = m[A41]*m[A55] - m[A45]*m[A51]; + G4double Det2_45_23 = m[A42]*m[A53] - m[A43]*m[A52]; + G4double Det2_45_24 = m[A42]*m[A54] - m[A44]*m[A52]; + G4double Det2_45_25 = m[A42]*m[A55] - m[A45]*m[A52]; + G4double Det2_45_34 = m[A43]*m[A54] - m[A44]*m[A53]; + G4double Det2_45_35 = m[A43]*m[A55] - m[A45]*m[A53]; + G4double Det2_45_45 = m[A44]*m[A55] - m[A45]*m[A54]; + + // Find all NECESSARY 3x3 dets: (65 of them) + + G4double Det3_234_012 = m[A20]*Det2_34_12 - m[A21]*Det2_34_02 + + m[A22]*Det2_34_01; + G4double Det3_234_013 = m[A20]*Det2_34_13 - m[A21]*Det2_34_03 + + m[A23]*Det2_34_01; + G4double Det3_234_014 = m[A20]*Det2_34_14 - m[A21]*Det2_34_04 + + m[A24]*Det2_34_01; + G4double Det3_234_023 = m[A20]*Det2_34_23 - m[A22]*Det2_34_03 + + m[A23]*Det2_34_02; + G4double Det3_234_024 = m[A20]*Det2_34_24 - m[A22]*Det2_34_04 + + m[A24]*Det2_34_02; + G4double Det3_234_034 = m[A20]*Det2_34_34 - m[A23]*Det2_34_04 + + m[A24]*Det2_34_03; + G4double Det3_234_123 = m[A21]*Det2_34_23 - m[A22]*Det2_34_13 + + m[A23]*Det2_34_12; + G4double Det3_234_124 = m[A21]*Det2_34_24 - m[A22]*Det2_34_14 + + m[A24]*Det2_34_12; + G4double Det3_234_134 = m[A21]*Det2_34_34 - m[A23]*Det2_34_14 + + m[A24]*Det2_34_13; + G4double Det3_234_234 = m[A22]*Det2_34_34 - m[A23]*Det2_34_24 + + m[A24]*Det2_34_23; + G4double Det3_235_012 = m[A20]*Det2_35_12 - m[A21]*Det2_35_02 + + m[A22]*Det2_35_01; + G4double Det3_235_013 = m[A20]*Det2_35_13 - m[A21]*Det2_35_03 + + m[A23]*Det2_35_01; + G4double Det3_235_014 = m[A20]*Det2_35_14 - m[A21]*Det2_35_04 + + m[A24]*Det2_35_01; + G4double Det3_235_015 = m[A20]*Det2_35_15 - m[A21]*Det2_35_05 + + m[A25]*Det2_35_01; + G4double Det3_235_023 = m[A20]*Det2_35_23 - m[A22]*Det2_35_03 + + m[A23]*Det2_35_02; + G4double Det3_235_024 = m[A20]*Det2_35_24 - m[A22]*Det2_35_04 + + m[A24]*Det2_35_02; + G4double Det3_235_025 = m[A20]*Det2_35_25 - m[A22]*Det2_35_05 + + m[A25]*Det2_35_02; + G4double Det3_235_034 = m[A20]*Det2_35_34 - m[A23]*Det2_35_04 + + m[A24]*Det2_35_03; + G4double Det3_235_035 = m[A20]*Det2_35_35 - m[A23]*Det2_35_05 + + m[A25]*Det2_35_03; + G4double Det3_235_123 = m[A21]*Det2_35_23 - m[A22]*Det2_35_13 + + m[A23]*Det2_35_12; + G4double Det3_235_124 = m[A21]*Det2_35_24 - m[A22]*Det2_35_14 + + m[A24]*Det2_35_12; + G4double Det3_235_125 = m[A21]*Det2_35_25 - m[A22]*Det2_35_15 + + m[A25]*Det2_35_12; + G4double Det3_235_134 = m[A21]*Det2_35_34 - m[A23]*Det2_35_14 + + m[A24]*Det2_35_13; + G4double Det3_235_135 = m[A21]*Det2_35_35 - m[A23]*Det2_35_15 + + m[A25]*Det2_35_13; + G4double Det3_235_234 = m[A22]*Det2_35_34 - m[A23]*Det2_35_24 + + m[A24]*Det2_35_23; + G4double Det3_235_235 = m[A22]*Det2_35_35 - m[A23]*Det2_35_25 + + m[A25]*Det2_35_23; + G4double Det3_245_012 = m[A20]*Det2_45_12 - m[A21]*Det2_45_02 + + m[A22]*Det2_45_01; + G4double Det3_245_013 = m[A20]*Det2_45_13 - m[A21]*Det2_45_03 + + m[A23]*Det2_45_01; + G4double Det3_245_014 = m[A20]*Det2_45_14 - m[A21]*Det2_45_04 + + m[A24]*Det2_45_01; + G4double Det3_245_015 = m[A20]*Det2_45_15 - m[A21]*Det2_45_05 + + m[A25]*Det2_45_01; + G4double Det3_245_023 = m[A20]*Det2_45_23 - m[A22]*Det2_45_03 + + m[A23]*Det2_45_02; + G4double Det3_245_024 = m[A20]*Det2_45_24 - m[A22]*Det2_45_04 + + m[A24]*Det2_45_02; + G4double Det3_245_025 = m[A20]*Det2_45_25 - m[A22]*Det2_45_05 + + m[A25]*Det2_45_02; + G4double Det3_245_034 = m[A20]*Det2_45_34 - m[A23]*Det2_45_04 + + m[A24]*Det2_45_03; + G4double Det3_245_035 = m[A20]*Det2_45_35 - m[A23]*Det2_45_05 + + m[A25]*Det2_45_03; + G4double Det3_245_045 = m[A20]*Det2_45_45 - m[A24]*Det2_45_05 + + m[A25]*Det2_45_04; + G4double Det3_245_123 = m[A21]*Det2_45_23 - m[A22]*Det2_45_13 + + m[A23]*Det2_45_12; + G4double Det3_245_124 = m[A21]*Det2_45_24 - m[A22]*Det2_45_14 + + m[A24]*Det2_45_12; + G4double Det3_245_125 = m[A21]*Det2_45_25 - m[A22]*Det2_45_15 + + m[A25]*Det2_45_12; + G4double Det3_245_134 = m[A21]*Det2_45_34 - m[A23]*Det2_45_14 + + m[A24]*Det2_45_13; + G4double Det3_245_135 = m[A21]*Det2_45_35 - m[A23]*Det2_45_15 + + m[A25]*Det2_45_13; + G4double Det3_245_145 = m[A21]*Det2_45_45 - m[A24]*Det2_45_15 + + m[A25]*Det2_45_14; + G4double Det3_245_234 = m[A22]*Det2_45_34 - m[A23]*Det2_45_24 + + m[A24]*Det2_45_23; + G4double Det3_245_235 = m[A22]*Det2_45_35 - m[A23]*Det2_45_25 + + m[A25]*Det2_45_23; + G4double Det3_245_245 = m[A22]*Det2_45_45 - m[A24]*Det2_45_25 + + m[A25]*Det2_45_24; + G4double Det3_345_012 = m[A30]*Det2_45_12 - m[A31]*Det2_45_02 + + m[A32]*Det2_45_01; + G4double Det3_345_013 = m[A30]*Det2_45_13 - m[A31]*Det2_45_03 + + m[A33]*Det2_45_01; + G4double Det3_345_014 = m[A30]*Det2_45_14 - m[A31]*Det2_45_04 + + m[A34]*Det2_45_01; + G4double Det3_345_015 = m[A30]*Det2_45_15 - m[A31]*Det2_45_05 + + m[A35]*Det2_45_01; + G4double Det3_345_023 = m[A30]*Det2_45_23 - m[A32]*Det2_45_03 + + m[A33]*Det2_45_02; + G4double Det3_345_024 = m[A30]*Det2_45_24 - m[A32]*Det2_45_04 + + m[A34]*Det2_45_02; + G4double Det3_345_025 = m[A30]*Det2_45_25 - m[A32]*Det2_45_05 + + m[A35]*Det2_45_02; + G4double Det3_345_034 = m[A30]*Det2_45_34 - m[A33]*Det2_45_04 + + m[A34]*Det2_45_03; + G4double Det3_345_035 = m[A30]*Det2_45_35 - m[A33]*Det2_45_05 + + m[A35]*Det2_45_03; + G4double Det3_345_045 = m[A30]*Det2_45_45 - m[A34]*Det2_45_05 + + m[A35]*Det2_45_04; + G4double Det3_345_123 = m[A31]*Det2_45_23 - m[A32]*Det2_45_13 + + m[A33]*Det2_45_12; + G4double Det3_345_124 = m[A31]*Det2_45_24 - m[A32]*Det2_45_14 + + m[A34]*Det2_45_12; + G4double Det3_345_125 = m[A31]*Det2_45_25 - m[A32]*Det2_45_15 + + m[A35]*Det2_45_12; + G4double Det3_345_134 = m[A31]*Det2_45_34 - m[A33]*Det2_45_14 + + m[A34]*Det2_45_13; + G4double Det3_345_135 = m[A31]*Det2_45_35 - m[A33]*Det2_45_15 + + m[A35]*Det2_45_13; + G4double Det3_345_145 = m[A31]*Det2_45_45 - m[A34]*Det2_45_15 + + m[A35]*Det2_45_14; + G4double Det3_345_234 = m[A32]*Det2_45_34 - m[A33]*Det2_45_24 + + m[A34]*Det2_45_23; + G4double Det3_345_235 = m[A32]*Det2_45_35 - m[A33]*Det2_45_25 + + m[A35]*Det2_45_23; + G4double Det3_345_245 = m[A32]*Det2_45_45 - m[A34]*Det2_45_25 + + m[A35]*Det2_45_24; + G4double Det3_345_345 = m[A33]*Det2_45_45 - m[A34]*Det2_45_35 + + m[A35]*Det2_45_34; + + // Find all NECESSARY 4x4 dets: (55 of them) + + G4double Det4_1234_0123 = m[A10]*Det3_234_123 - m[A11]*Det3_234_023 + + m[A12]*Det3_234_013 - m[A13]*Det3_234_012; + G4double Det4_1234_0124 = m[A10]*Det3_234_124 - m[A11]*Det3_234_024 + + m[A12]*Det3_234_014 - m[A14]*Det3_234_012; + G4double Det4_1234_0134 = m[A10]*Det3_234_134 - m[A11]*Det3_234_034 + + m[A13]*Det3_234_014 - m[A14]*Det3_234_013; + G4double Det4_1234_0234 = m[A10]*Det3_234_234 - m[A12]*Det3_234_034 + + m[A13]*Det3_234_024 - m[A14]*Det3_234_023; + G4double Det4_1234_1234 = m[A11]*Det3_234_234 - m[A12]*Det3_234_134 + + m[A13]*Det3_234_124 - m[A14]*Det3_234_123; + G4double Det4_1235_0123 = m[A10]*Det3_235_123 - m[A11]*Det3_235_023 + + m[A12]*Det3_235_013 - m[A13]*Det3_235_012; + G4double Det4_1235_0124 = m[A10]*Det3_235_124 - m[A11]*Det3_235_024 + + m[A12]*Det3_235_014 - m[A14]*Det3_235_012; + G4double Det4_1235_0125 = m[A10]*Det3_235_125 - m[A11]*Det3_235_025 + + m[A12]*Det3_235_015 - m[A15]*Det3_235_012; + G4double Det4_1235_0134 = m[A10]*Det3_235_134 - m[A11]*Det3_235_034 + + m[A13]*Det3_235_014 - m[A14]*Det3_235_013; + G4double Det4_1235_0135 = m[A10]*Det3_235_135 - m[A11]*Det3_235_035 + + m[A13]*Det3_235_015 - m[A15]*Det3_235_013; + G4double Det4_1235_0234 = m[A10]*Det3_235_234 - m[A12]*Det3_235_034 + + m[A13]*Det3_235_024 - m[A14]*Det3_235_023; + G4double Det4_1235_0235 = m[A10]*Det3_235_235 - m[A12]*Det3_235_035 + + m[A13]*Det3_235_025 - m[A15]*Det3_235_023; + G4double Det4_1235_1234 = m[A11]*Det3_235_234 - m[A12]*Det3_235_134 + + m[A13]*Det3_235_124 - m[A14]*Det3_235_123; + G4double Det4_1235_1235 = m[A11]*Det3_235_235 - m[A12]*Det3_235_135 + + m[A13]*Det3_235_125 - m[A15]*Det3_235_123; + G4double Det4_1245_0123 = m[A10]*Det3_245_123 - m[A11]*Det3_245_023 + + m[A12]*Det3_245_013 - m[A13]*Det3_245_012; + G4double Det4_1245_0124 = m[A10]*Det3_245_124 - m[A11]*Det3_245_024 + + m[A12]*Det3_245_014 - m[A14]*Det3_245_012; + G4double Det4_1245_0125 = m[A10]*Det3_245_125 - m[A11]*Det3_245_025 + + m[A12]*Det3_245_015 - m[A15]*Det3_245_012; + G4double Det4_1245_0134 = m[A10]*Det3_245_134 - m[A11]*Det3_245_034 + + m[A13]*Det3_245_014 - m[A14]*Det3_245_013; + G4double Det4_1245_0135 = m[A10]*Det3_245_135 - m[A11]*Det3_245_035 + + m[A13]*Det3_245_015 - m[A15]*Det3_245_013; + G4double Det4_1245_0145 = m[A10]*Det3_245_145 - m[A11]*Det3_245_045 + + m[A14]*Det3_245_015 - m[A15]*Det3_245_014; + G4double Det4_1245_0234 = m[A10]*Det3_245_234 - m[A12]*Det3_245_034 + + m[A13]*Det3_245_024 - m[A14]*Det3_245_023; + G4double Det4_1245_0235 = m[A10]*Det3_245_235 - m[A12]*Det3_245_035 + + m[A13]*Det3_245_025 - m[A15]*Det3_245_023; + G4double Det4_1245_0245 = m[A10]*Det3_245_245 - m[A12]*Det3_245_045 + + m[A14]*Det3_245_025 - m[A15]*Det3_245_024; + G4double Det4_1245_1234 = m[A11]*Det3_245_234 - m[A12]*Det3_245_134 + + m[A13]*Det3_245_124 - m[A14]*Det3_245_123; + G4double Det4_1245_1235 = m[A11]*Det3_245_235 - m[A12]*Det3_245_135 + + m[A13]*Det3_245_125 - m[A15]*Det3_245_123; + G4double Det4_1245_1245 = m[A11]*Det3_245_245 - m[A12]*Det3_245_145 + + m[A14]*Det3_245_125 - m[A15]*Det3_245_124; + G4double Det4_1345_0123 = m[A10]*Det3_345_123 - m[A11]*Det3_345_023 + + m[A12]*Det3_345_013 - m[A13]*Det3_345_012; + G4double Det4_1345_0124 = m[A10]*Det3_345_124 - m[A11]*Det3_345_024 + + m[A12]*Det3_345_014 - m[A14]*Det3_345_012; + G4double Det4_1345_0125 = m[A10]*Det3_345_125 - m[A11]*Det3_345_025 + + m[A12]*Det3_345_015 - m[A15]*Det3_345_012; + G4double Det4_1345_0134 = m[A10]*Det3_345_134 - m[A11]*Det3_345_034 + + m[A13]*Det3_345_014 - m[A14]*Det3_345_013; + G4double Det4_1345_0135 = m[A10]*Det3_345_135 - m[A11]*Det3_345_035 + + m[A13]*Det3_345_015 - m[A15]*Det3_345_013; + G4double Det4_1345_0145 = m[A10]*Det3_345_145 - m[A11]*Det3_345_045 + + m[A14]*Det3_345_015 - m[A15]*Det3_345_014; + G4double Det4_1345_0234 = m[A10]*Det3_345_234 - m[A12]*Det3_345_034 + + m[A13]*Det3_345_024 - m[A14]*Det3_345_023; + G4double Det4_1345_0235 = m[A10]*Det3_345_235 - m[A12]*Det3_345_035 + + m[A13]*Det3_345_025 - m[A15]*Det3_345_023; + G4double Det4_1345_0245 = m[A10]*Det3_345_245 - m[A12]*Det3_345_045 + + m[A14]*Det3_345_025 - m[A15]*Det3_345_024; + G4double Det4_1345_0345 = m[A10]*Det3_345_345 - m[A13]*Det3_345_045 + + m[A14]*Det3_345_035 - m[A15]*Det3_345_034; + G4double Det4_1345_1234 = m[A11]*Det3_345_234 - m[A12]*Det3_345_134 + + m[A13]*Det3_345_124 - m[A14]*Det3_345_123; + G4double Det4_1345_1235 = m[A11]*Det3_345_235 - m[A12]*Det3_345_135 + + m[A13]*Det3_345_125 - m[A15]*Det3_345_123; + G4double Det4_1345_1245 = m[A11]*Det3_345_245 - m[A12]*Det3_345_145 + + m[A14]*Det3_345_125 - m[A15]*Det3_345_124; + G4double Det4_1345_1345 = m[A11]*Det3_345_345 - m[A13]*Det3_345_145 + + m[A14]*Det3_345_135 - m[A15]*Det3_345_134; + G4double Det4_2345_0123 = m[A20]*Det3_345_123 - m[A21]*Det3_345_023 + + m[A22]*Det3_345_013 - m[A23]*Det3_345_012; + G4double Det4_2345_0124 = m[A20]*Det3_345_124 - m[A21]*Det3_345_024 + + m[A22]*Det3_345_014 - m[A24]*Det3_345_012; + G4double Det4_2345_0125 = m[A20]*Det3_345_125 - m[A21]*Det3_345_025 + + m[A22]*Det3_345_015 - m[A25]*Det3_345_012; + G4double Det4_2345_0134 = m[A20]*Det3_345_134 - m[A21]*Det3_345_034 + + m[A23]*Det3_345_014 - m[A24]*Det3_345_013; + G4double Det4_2345_0135 = m[A20]*Det3_345_135 - m[A21]*Det3_345_035 + + m[A23]*Det3_345_015 - m[A25]*Det3_345_013; + G4double Det4_2345_0145 = m[A20]*Det3_345_145 - m[A21]*Det3_345_045 + + m[A24]*Det3_345_015 - m[A25]*Det3_345_014; + G4double Det4_2345_0234 = m[A20]*Det3_345_234 - m[A22]*Det3_345_034 + + m[A23]*Det3_345_024 - m[A24]*Det3_345_023; + G4double Det4_2345_0235 = m[A20]*Det3_345_235 - m[A22]*Det3_345_035 + + m[A23]*Det3_345_025 - m[A25]*Det3_345_023; + G4double Det4_2345_0245 = m[A20]*Det3_345_245 - m[A22]*Det3_345_045 + + m[A24]*Det3_345_025 - m[A25]*Det3_345_024; + G4double Det4_2345_0345 = m[A20]*Det3_345_345 - m[A23]*Det3_345_045 + + m[A24]*Det3_345_035 - m[A25]*Det3_345_034; + G4double Det4_2345_1234 = m[A21]*Det3_345_234 - m[A22]*Det3_345_134 + + m[A23]*Det3_345_124 - m[A24]*Det3_345_123; + G4double Det4_2345_1235 = m[A21]*Det3_345_235 - m[A22]*Det3_345_135 + + m[A23]*Det3_345_125 - m[A25]*Det3_345_123; + G4double Det4_2345_1245 = m[A21]*Det3_345_245 - m[A22]*Det3_345_145 + + m[A24]*Det3_345_125 - m[A25]*Det3_345_124; + G4double Det4_2345_1345 = m[A21]*Det3_345_345 - m[A23]*Det3_345_145 + + m[A24]*Det3_345_135 - m[A25]*Det3_345_134; + G4double Det4_2345_2345 = m[A22]*Det3_345_345 - m[A23]*Det3_345_245 + + m[A24]*Det3_345_235 - m[A25]*Det3_345_234; + + // Find all NECESSARY 5x5 dets: (19 of them) + + G4double Det5_01234_01234 = m[A00]*Det4_1234_1234 - m[A01]*Det4_1234_0234 + + m[A02]*Det4_1234_0134 - m[A03]*Det4_1234_0124 + m[A04]*Det4_1234_0123; + G4double Det5_01235_01234 = m[A00]*Det4_1235_1234 - m[A01]*Det4_1235_0234 + + m[A02]*Det4_1235_0134 - m[A03]*Det4_1235_0124 + m[A04]*Det4_1235_0123; + G4double Det5_01235_01235 = m[A00]*Det4_1235_1235 - m[A01]*Det4_1235_0235 + + m[A02]*Det4_1235_0135 - m[A03]*Det4_1235_0125 + m[A05]*Det4_1235_0123; + G4double Det5_01245_01234 = m[A00]*Det4_1245_1234 - m[A01]*Det4_1245_0234 + + m[A02]*Det4_1245_0134 - m[A03]*Det4_1245_0124 + m[A04]*Det4_1245_0123; + G4double Det5_01245_01235 = m[A00]*Det4_1245_1235 - m[A01]*Det4_1245_0235 + + m[A02]*Det4_1245_0135 - m[A03]*Det4_1245_0125 + m[A05]*Det4_1245_0123; + G4double Det5_01245_01245 = m[A00]*Det4_1245_1245 - m[A01]*Det4_1245_0245 + + m[A02]*Det4_1245_0145 - m[A04]*Det4_1245_0125 + m[A05]*Det4_1245_0124; + G4double Det5_01345_01234 = m[A00]*Det4_1345_1234 - m[A01]*Det4_1345_0234 + + m[A02]*Det4_1345_0134 - m[A03]*Det4_1345_0124 + m[A04]*Det4_1345_0123; + G4double Det5_01345_01235 = m[A00]*Det4_1345_1235 - m[A01]*Det4_1345_0235 + + m[A02]*Det4_1345_0135 - m[A03]*Det4_1345_0125 + m[A05]*Det4_1345_0123; + G4double Det5_01345_01245 = m[A00]*Det4_1345_1245 - m[A01]*Det4_1345_0245 + + m[A02]*Det4_1345_0145 - m[A04]*Det4_1345_0125 + m[A05]*Det4_1345_0124; + G4double Det5_01345_01345 = m[A00]*Det4_1345_1345 - m[A01]*Det4_1345_0345 + + m[A03]*Det4_1345_0145 - m[A04]*Det4_1345_0135 + m[A05]*Det4_1345_0134; + G4double Det5_02345_01234 = m[A00]*Det4_2345_1234 - m[A01]*Det4_2345_0234 + + m[A02]*Det4_2345_0134 - m[A03]*Det4_2345_0124 + m[A04]*Det4_2345_0123; + G4double Det5_02345_01235 = m[A00]*Det4_2345_1235 - m[A01]*Det4_2345_0235 + + m[A02]*Det4_2345_0135 - m[A03]*Det4_2345_0125 + m[A05]*Det4_2345_0123; + G4double Det5_02345_01245 = m[A00]*Det4_2345_1245 - m[A01]*Det4_2345_0245 + + m[A02]*Det4_2345_0145 - m[A04]*Det4_2345_0125 + m[A05]*Det4_2345_0124; + G4double Det5_02345_01345 = m[A00]*Det4_2345_1345 - m[A01]*Det4_2345_0345 + + m[A03]*Det4_2345_0145 - m[A04]*Det4_2345_0135 + m[A05]*Det4_2345_0134; + G4double Det5_02345_02345 = m[A00]*Det4_2345_2345 - m[A02]*Det4_2345_0345 + + m[A03]*Det4_2345_0245 - m[A04]*Det4_2345_0235 + m[A05]*Det4_2345_0234; + G4double Det5_12345_01234 = m[A10]*Det4_2345_1234 - m[A11]*Det4_2345_0234 + + m[A12]*Det4_2345_0134 - m[A13]*Det4_2345_0124 + m[A14]*Det4_2345_0123; + G4double Det5_12345_01235 = m[A10]*Det4_2345_1235 - m[A11]*Det4_2345_0235 + + m[A12]*Det4_2345_0135 - m[A13]*Det4_2345_0125 + m[A15]*Det4_2345_0123; + G4double Det5_12345_01245 = m[A10]*Det4_2345_1245 - m[A11]*Det4_2345_0245 + + m[A12]*Det4_2345_0145 - m[A14]*Det4_2345_0125 + m[A15]*Det4_2345_0124; + G4double Det5_12345_01345 = m[A10]*Det4_2345_1345 - m[A11]*Det4_2345_0345 + + m[A13]*Det4_2345_0145 - m[A14]*Det4_2345_0135 + m[A15]*Det4_2345_0134; + G4double Det5_12345_02345 = m[A10]*Det4_2345_2345 - m[A12]*Det4_2345_0345 + + m[A13]*Det4_2345_0245 - m[A14]*Det4_2345_0235 + m[A15]*Det4_2345_0234; + G4double Det5_12345_12345 = m[A11]*Det4_2345_2345 - m[A12]*Det4_2345_1345 + + m[A13]*Det4_2345_1245 - m[A14]*Det4_2345_1235 + m[A15]*Det4_2345_1234; + + // Find the determinant + + G4double det = m[A00]*Det5_12345_12345 + - m[A01]*Det5_12345_02345 + + m[A02]*Det5_12345_01345 + - m[A03]*Det5_12345_01245 + + m[A04]*Det5_12345_01235 + - m[A05]*Det5_12345_01234; + + if ( det == 0 ) + { + ifail = 1; + return; + } + + G4double oneOverDet = 1.0/det; + G4double mn1OverDet = - oneOverDet; + + m[A00] = Det5_12345_12345*oneOverDet; + m[A01] = Det5_12345_02345*mn1OverDet; + m[A02] = Det5_12345_01345*oneOverDet; + m[A03] = Det5_12345_01245*mn1OverDet; + m[A04] = Det5_12345_01235*oneOverDet; + m[A05] = Det5_12345_01234*mn1OverDet; + + m[A11] = Det5_02345_02345*oneOverDet; + m[A12] = Det5_02345_01345*mn1OverDet; + m[A13] = Det5_02345_01245*oneOverDet; + m[A14] = Det5_02345_01235*mn1OverDet; + m[A15] = Det5_02345_01234*oneOverDet; + + m[A22] = Det5_01345_01345*oneOverDet; + m[A23] = Det5_01345_01245*mn1OverDet; + m[A24] = Det5_01345_01235*oneOverDet; + m[A25] = Det5_01345_01234*mn1OverDet; + + m[A33] = Det5_01245_01245*oneOverDet; + m[A34] = Det5_01245_01235*mn1OverDet; + m[A35] = Det5_01245_01234*oneOverDet; + + m[A44] = Det5_01235_01235*oneOverDet; + m[A45] = Det5_01235_01234*mn1OverDet; + + m[A55] = Det5_01234_01234*oneOverDet; + + return; +} + +void G4ErrorSymMatrix::invertCholesky5 (G4int & ifail) +{ + + // Invert by + // + // a) decomposing M = G*G^T with G lower triangular + // (if M is not positive definite this will fail, leaving this unchanged) + // b) inverting G to form H + // c) multiplying H^T * H to get M^-1. + // + // If the matrix is pos. def. it is inverted and 1 is returned. + // If the matrix is not pos. def. it remains unaltered and 0 is returned. + + G4double h10; // below-diagonal elements of H + G4double h20, h21; + G4double h30, h31, h32; + G4double h40, h41, h42, h43; + + G4double h00, h11, h22, h33, h44; // 1/diagonal elements of G = + // diagonal elements of H + + G4double g10; // below-diagonal elements of G + G4double g20, g21; + G4double g30, g31, g32; + G4double g40, g41, g42, g43; + + ifail = 1; // We start by assuing we won't succeed... + + // Form G -- compute diagonal members of H directly rather than of G + //------- + + // Scale first column by 1/sqrt(A00) + + h00 = m[A00]; + if (h00 <= 0) { return; } + h00 = 1.0 / std::sqrt(h00); + + g10 = m[A10] * h00; + g20 = m[A20] * h00; + g30 = m[A30] * h00; + g40 = m[A40] * h00; + + // Form G11 (actually, just h11) + + h11 = m[A11] - (g10 * g10); + if (h11 <= 0) { return; } + h11 = 1.0 / std::sqrt(h11); + + // Subtract inter-column column dot products from rest of column 1 and + // scale to get column 1 of G + + g21 = (m[A21] - (g10 * g20)) * h11; + g31 = (m[A31] - (g10 * g30)) * h11; + g41 = (m[A41] - (g10 * g40)) * h11; + + // Form G22 (actually, just h22) + + h22 = m[A22] - (g20 * g20) - (g21 * g21); + if (h22 <= 0) { return; } + h22 = 1.0 / std::sqrt(h22); + + // Subtract inter-column column dot products from rest of column 2 and + // scale to get column 2 of G + + g32 = (m[A32] - (g20 * g30) - (g21 * g31)) * h22; + g42 = (m[A42] - (g20 * g40) - (g21 * g41)) * h22; + + // Form G33 (actually, just h33) + + h33 = m[A33] - (g30 * g30) - (g31 * g31) - (g32 * g32); + if (h33 <= 0) { return; } + h33 = 1.0 / std::sqrt(h33); + + // Subtract inter-column column dot product from A43 and scale to get G43 + + g43 = (m[A43] - (g30 * g40) - (g31 * g41) - (g32 * g42)) * h33; + + // Finally form h44 - if this is possible inversion succeeds + + h44 = m[A44] - (g40 * g40) - (g41 * g41) - (g42 * g42) - (g43 * g43); + if (h44 <= 0) { return; } + h44 = 1.0 / std::sqrt(h44); + + // Form H = 1/G -- diagonal members of H are already correct + //------------- + + // The order here is dictated by speed considerations + + h43 = -h33 * g43 * h44; + h32 = -h22 * g32 * h33; + h42 = -h22 * (g32 * h43 + g42 * h44); + h21 = -h11 * g21 * h22; + h31 = -h11 * (g21 * h32 + g31 * h33); + h41 = -h11 * (g21 * h42 + g31 * h43 + g41 * h44); + h10 = -h00 * g10 * h11; + h20 = -h00 * (g10 * h21 + g20 * h22); + h30 = -h00 * (g10 * h31 + g20 * h32 + g30 * h33); + h40 = -h00 * (g10 * h41 + g20 * h42 + g30 * h43 + g40 * h44); + + // Change this to its inverse = H^T*H + //------------------------------------ + + m[A00] = h00 * h00 + h10 * h10 + h20 * h20 + h30 * h30 + h40 * h40; + m[A01] = h10 * h11 + h20 * h21 + h30 * h31 + h40 * h41; + m[A11] = h11 * h11 + h21 * h21 + h31 * h31 + h41 * h41; + m[A02] = h20 * h22 + h30 * h32 + h40 * h42; + m[A12] = h21 * h22 + h31 * h32 + h41 * h42; + m[A22] = h22 * h22 + h32 * h32 + h42 * h42; + m[A03] = h30 * h33 + h40 * h43; + m[A13] = h31 * h33 + h41 * h43; + m[A23] = h32 * h33 + h42 * h43; + m[A33] = h33 * h33 + h43 * h43; + m[A04] = h40 * h44; + m[A14] = h41 * h44; + m[A24] = h42 * h44; + m[A34] = h43 * h44; + m[A44] = h44 * h44; + + ifail = 0; + return; +} + +void G4ErrorSymMatrix::invertCholesky6 (G4int & ifail) +{ + // Invert by + // + // a) decomposing M = G*G^T with G lower triangular + // (if M is not positive definite this will fail, leaving this unchanged) + // b) inverting G to form H + // c) multiplying H^T * H to get M^-1. + // + // If the matrix is pos. def. it is inverted and 1 is returned. + // If the matrix is not pos. def. it remains unaltered and 0 is returned. + + G4double h10; // below-diagonal elements of H + G4double h20, h21; + G4double h30, h31, h32; + G4double h40, h41, h42, h43; + G4double h50, h51, h52, h53, h54; + + G4double h00, h11, h22, h33, h44, h55; // 1/diagonal elements of G = + // diagonal elements of H + + G4double g10; // below-diagonal elements of G + G4double g20, g21; + G4double g30, g31, g32; + G4double g40, g41, g42, g43; + G4double g50, g51, g52, g53, g54; + + ifail = 1; // We start by assuing we won't succeed... + + // Form G -- compute diagonal members of H directly rather than of G + //------- + + // Scale first column by 1/sqrt(A00) + + h00 = m[A00]; + if (h00 <= 0) { return; } + h00 = 1.0 / std::sqrt(h00); + + g10 = m[A10] * h00; + g20 = m[A20] * h00; + g30 = m[A30] * h00; + g40 = m[A40] * h00; + g50 = m[A50] * h00; + + // Form G11 (actually, just h11) + + h11 = m[A11] - (g10 * g10); + if (h11 <= 0) { return; } + h11 = 1.0 / std::sqrt(h11); + + // Subtract inter-column column dot products from rest of column 1 and + // scale to get column 1 of G + + g21 = (m[A21] - (g10 * g20)) * h11; + g31 = (m[A31] - (g10 * g30)) * h11; + g41 = (m[A41] - (g10 * g40)) * h11; + g51 = (m[A51] - (g10 * g50)) * h11; + + // Form G22 (actually, just h22) + + h22 = m[A22] - (g20 * g20) - (g21 * g21); + if (h22 <= 0) { return; } + h22 = 1.0 / std::sqrt(h22); + + // Subtract inter-column column dot products from rest of column 2 and + // scale to get column 2 of G + + g32 = (m[A32] - (g20 * g30) - (g21 * g31)) * h22; + g42 = (m[A42] - (g20 * g40) - (g21 * g41)) * h22; + g52 = (m[A52] - (g20 * g50) - (g21 * g51)) * h22; + + // Form G33 (actually, just h33) + + h33 = m[A33] - (g30 * g30) - (g31 * g31) - (g32 * g32); + if (h33 <= 0) { return; } + h33 = 1.0 / std::sqrt(h33); + + // Subtract inter-column column dot products from rest of column 3 and + // scale to get column 3 of G + + g43 = (m[A43] - (g30 * g40) - (g31 * g41) - (g32 * g42)) * h33; + g53 = (m[A53] - (g30 * g50) - (g31 * g51) - (g32 * g52)) * h33; + + // Form G44 (actually, just h44) + + h44 = m[A44] - (g40 * g40) - (g41 * g41) - (g42 * g42) - (g43 * g43); + if (h44 <= 0) { return; } + h44 = 1.0 / std::sqrt(h44); + + // Subtract inter-column column dot product from M54 and scale to get G54 + + g54 = (m[A54] - (g40 * g50) - (g41 * g51) - (g42 * g52) - (g43 * g53)) * h44; + + // Finally form h55 - if this is possible inversion succeeds + + h55 = m[A55] - (g50*g50) - (g51*g51) - (g52*g52) - (g53*g53) - (g54*g54); + if (h55 <= 0) { return; } + h55 = 1.0 / std::sqrt(h55); + + // Form H = 1/G -- diagonal members of H are already correct + //------------- + + // The order here is dictated by speed considerations + + h54 = -h44 * g54 * h55; + h43 = -h33 * g43 * h44; + h53 = -h33 * (g43 * h54 + g53 * h55); + h32 = -h22 * g32 * h33; + h42 = -h22 * (g32 * h43 + g42 * h44); + h52 = -h22 * (g32 * h53 + g42 * h54 + g52 * h55); + h21 = -h11 * g21 * h22; + h31 = -h11 * (g21 * h32 + g31 * h33); + h41 = -h11 * (g21 * h42 + g31 * h43 + g41 * h44); + h51 = -h11 * (g21 * h52 + g31 * h53 + g41 * h54 + g51 * h55); + h10 = -h00 * g10 * h11; + h20 = -h00 * (g10 * h21 + g20 * h22); + h30 = -h00 * (g10 * h31 + g20 * h32 + g30 * h33); + h40 = -h00 * (g10 * h41 + g20 * h42 + g30 * h43 + g40 * h44); + h50 = -h00 * (g10 * h51 + g20 * h52 + g30 * h53 + g40 * h54 + g50 * h55); + + // Change this to its inverse = H^T*H + //------------------------------------ + + m[A00] = h00 * h00 + h10 * h10 + h20 * h20 + h30 * h30 + h40 * h40 + h50*h50; + m[A01] = h10 * h11 + h20 * h21 + h30 * h31 + h40 * h41 + h50 * h51; + m[A11] = h11 * h11 + h21 * h21 + h31 * h31 + h41 * h41 + h51 * h51; + m[A02] = h20 * h22 + h30 * h32 + h40 * h42 + h50 * h52; + m[A12] = h21 * h22 + h31 * h32 + h41 * h42 + h51 * h52; + m[A22] = h22 * h22 + h32 * h32 + h42 * h42 + h52 * h52; + m[A03] = h30 * h33 + h40 * h43 + h50 * h53; + m[A13] = h31 * h33 + h41 * h43 + h51 * h53; + m[A23] = h32 * h33 + h42 * h43 + h52 * h53; + m[A33] = h33 * h33 + h43 * h43 + h53 * h53; + m[A04] = h40 * h44 + h50 * h54; + m[A14] = h41 * h44 + h51 * h54; + m[A24] = h42 * h44 + h52 * h54; + m[A34] = h43 * h44 + h53 * h54; + m[A44] = h44 * h44 + h54 * h54; + m[A05] = h50 * h55; + m[A15] = h51 * h55; + m[A25] = h52 * h55; + m[A35] = h53 * h55; + m[A45] = h54 * h55; + m[A55] = h55 * h55; + + ifail = 0; + return; +} + +void G4ErrorSymMatrix::invert4 (G4int & ifail) +{ + ifail = 0; + + // Find all NECESSARY 2x2 dets: (14 of them) + + G4double Det2_12_01 = m[A10]*m[A21] - m[A11]*m[A20]; + G4double Det2_12_02 = m[A10]*m[A22] - m[A12]*m[A20]; + G4double Det2_12_12 = m[A11]*m[A22] - m[A12]*m[A21]; + G4double Det2_13_01 = m[A10]*m[A31] - m[A11]*m[A30]; + G4double Det2_13_02 = m[A10]*m[A32] - m[A12]*m[A30]; + G4double Det2_13_03 = m[A10]*m[A33] - m[A13]*m[A30]; + G4double Det2_13_12 = m[A11]*m[A32] - m[A12]*m[A31]; + G4double Det2_13_13 = m[A11]*m[A33] - m[A13]*m[A31]; + G4double Det2_23_01 = m[A20]*m[A31] - m[A21]*m[A30]; + G4double Det2_23_02 = m[A20]*m[A32] - m[A22]*m[A30]; + G4double Det2_23_03 = m[A20]*m[A33] - m[A23]*m[A30]; + G4double Det2_23_12 = m[A21]*m[A32] - m[A22]*m[A31]; + G4double Det2_23_13 = m[A21]*m[A33] - m[A23]*m[A31]; + G4double Det2_23_23 = m[A22]*m[A33] - m[A23]*m[A32]; + + // Find all NECESSARY 3x3 dets: (10 of them) + + G4double Det3_012_012 = m[A00]*Det2_12_12 - m[A01]*Det2_12_02 + + m[A02]*Det2_12_01; + G4double Det3_013_012 = m[A00]*Det2_13_12 - m[A01]*Det2_13_02 + + m[A02]*Det2_13_01; + G4double Det3_013_013 = m[A00]*Det2_13_13 - m[A01]*Det2_13_03 + + m[A03]*Det2_13_01; + G4double Det3_023_012 = m[A00]*Det2_23_12 - m[A01]*Det2_23_02 + + m[A02]*Det2_23_01; + G4double Det3_023_013 = m[A00]*Det2_23_13 - m[A01]*Det2_23_03 + + m[A03]*Det2_23_01; + G4double Det3_023_023 = m[A00]*Det2_23_23 - m[A02]*Det2_23_03 + + m[A03]*Det2_23_02; + G4double Det3_123_012 = m[A10]*Det2_23_12 - m[A11]*Det2_23_02 + + m[A12]*Det2_23_01; + G4double Det3_123_013 = m[A10]*Det2_23_13 - m[A11]*Det2_23_03 + + m[A13]*Det2_23_01; + G4double Det3_123_023 = m[A10]*Det2_23_23 - m[A12]*Det2_23_03 + + m[A13]*Det2_23_02; + G4double Det3_123_123 = m[A11]*Det2_23_23 - m[A12]*Det2_23_13 + + m[A13]*Det2_23_12; + + // Find the 4x4 det: + + G4double det = m[A00]*Det3_123_123 + - m[A01]*Det3_123_023 + + m[A02]*Det3_123_013 + - m[A03]*Det3_123_012; + + if ( det == 0 ) + { + ifail = 1; + return; + } + + G4double oneOverDet = 1.0/det; + G4double mn1OverDet = - oneOverDet; + + m[A00] = Det3_123_123 * oneOverDet; + m[A01] = Det3_123_023 * mn1OverDet; + m[A02] = Det3_123_013 * oneOverDet; + m[A03] = Det3_123_012 * mn1OverDet; + + + m[A11] = Det3_023_023 * oneOverDet; + m[A12] = Det3_023_013 * mn1OverDet; + m[A13] = Det3_023_012 * oneOverDet; + + m[A22] = Det3_013_013 * oneOverDet; + m[A23] = Det3_013_012 * mn1OverDet; + + m[A33] = Det3_012_012 * oneOverDet; + + return; +} + +void G4ErrorSymMatrix::invertHaywood4 (G4int & ifail) +{ + invert4(ifail); // For the 4x4 case, the method we use for invert is already + // the Haywood method. +} + diff --git a/source/error_propagation/src/G4ErrorTrackLengthTarget.cc b/source/error_propagation/src/G4ErrorTrackLengthTarget.cc new file mode 100644 index 0000000000..ea7a01e5fe --- /dev/null +++ b/source/error_propagation/src/G4ErrorTrackLengthTarget.cc @@ -0,0 +1,140 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorTrackLengthTarget.cc,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// + +#include "G4ErrorTrackLengthTarget.hh" + +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "G4VProcess.hh" +#include "G4ProcessVector.hh" +#include "G4ProcessManager.hh" + +#ifdef G4VERBOSE +#include "G4ErrorPropagatorData.hh" //for verbosity checking +#endif + +//---------------------------------------------------------------------------- +G4ErrorTrackLengthTarget:: +G4ErrorTrackLengthTarget(const G4double maxTrkLength ) + : G4VDiscreteProcess ("G4ErrorTrackLengthTarget"), + theMaximumTrackLength( maxTrkLength ) +{ + theType = G4ErrorTarget_TrkL; + + G4ParticleTable::G4PTblDicIterator* theParticleIterator + = G4ParticleTable::GetParticleTable()->GetIterator(); + + // loop over all particles in G4ParticleTable + + theParticleIterator->reset(); + while( (*theParticleIterator)() ) + { + G4ParticleDefinition* particle = theParticleIterator->value(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + if (!particle->IsShortLived()) + { + // Add transportation process for all particles other than "shortlived" + if ( pmanager == 0) + { + // Error !! no process manager + G4String particleName = particle->GetParticleName(); + G4Exception("G4ErrorTrackLengthTarget::G4ErrorTrackLengthTarget", + "No process manager", RunMustBeAborted, particleName ); + } + else + { + G4ProcessVector* procvec = pmanager->GetProcessList(); + size_t isiz = procvec->size(); + G4bool processAlreadyDefined = false; + + for( size_t ii=0; ii < isiz; ii++ ) + { + if( ((*procvec)[ii])->GetProcessName() == "G4ErrorTrackLengthTarget") + { + pmanager->RemoveProcess( (*procvec)[ii] ); + processAlreadyDefined = true; + } + } + pmanager ->AddDiscreteProcess(this,4); + isiz = procvec->size(); + } + } + else + { + // shortlived particle case + } + } +} + + +//----------------------------------------------------------------------- +G4double G4ErrorTrackLengthTarget:: +PostStepGetPhysicalInteractionLength(const G4Track& track, G4double, + G4ForceCondition* condition ) +{ + *condition = NotForced; + return GetMeanFreePath( track, 0., condition ); +} + + +//----------------------------------------------------------------------- +G4double G4ErrorTrackLengthTarget:: +GetMeanFreePath(const class G4Track & track, G4double, enum G4ForceCondition *) +{ +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) + { + G4cout << " G4ErrorTrackLengthTarget::GetMeanFreePath " + << theMaximumTrackLength - track.GetTrackLength() << G4endl; + } +#endif + + return theMaximumTrackLength - track.GetTrackLength(); +} + + +G4VParticleChange* G4ErrorTrackLengthTarget:: +PostStepDoIt(const G4Track& aTrack, const G4Step& ) +{ + G4ParticleChange* aParticleChange = new G4ParticleChange; + aParticleChange->Initialize(aTrack); + return aParticleChange; +} + + +//----------------------------------------------------------------------- +void G4ErrorTrackLengthTarget::Dump( const G4String& msg ) const +{ + G4cout << msg << "G4ErrorTrackLengthTarget: max track length = " + << theMaximumTrackLength << G4endl; +} diff --git a/source/error_propagation/src/G4ErrorTrajState.cc b/source/error_propagation/src/G4ErrorTrajState.cc new file mode 100644 index 0000000000..6ce2aee23d --- /dev/null +++ b/source/error_propagation/src/G4ErrorTrajState.cc @@ -0,0 +1,123 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4ErrorTrajState.cc,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// + +#include "G4ErrorTrajState.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "G4ErrorPropagatorData.hh" + +#include + +//-------------------------------------------------------------------------- +G4ErrorTrajState::G4ErrorTrajState( const G4String& partType, + const G4Point3D& pos, + const G4Vector3D& mom, + const G4ErrorTrajErr& errmat) + : fParticleType(partType), fPosition(pos), fMomentum(mom), fError(errmat) +{ + iverbose = G4ErrorPropagatorData::verbose(); +} + + +//-------------------------------------------------------------------------- +G4int G4ErrorTrajState::PropagateError( const G4Track* ) +{ + G4cerr << "ERROR - G4ErrorTrajState::PropagateError()" << G4endl + << " Called for trajectory state type " + << G4int(GetTSType()) << G4endl; + G4Exception("G4ErrorTrajState::PropagateError", "GEANT4e-Error", + FatalException, "Wrong trajectory state type"); + return -1; +} + + +//-------------------------------------------------------------------------- +void G4ErrorTrajState::UpdatePosMom( const G4Point3D& pos, + const G4Vector3D& mom ) +{ + fPosition = pos; + fMomentum = mom; +} + + +//-------------------------------------------------------------------------- +void G4ErrorTrajState::SetData( const G4String& partType, + const G4Point3D& pos, const G4Vector3D& mom ) +{ + fParticleType = partType; + BuildCharge(); + fPosition = pos; + fMomentum = mom; +} + + +//-------------------------------------------------------------------------- +void G4ErrorTrajState::BuildCharge() +{ + G4ParticleTable* particleTable = G4ParticleTable::GetParticleTable(); + G4ParticleDefinition* particle = particleTable->FindParticle(fParticleType); + if( particle == 0) + { + G4cerr << "ERROR - G4ErrorTrajState::BuildCharge()" << G4endl + << " Particle type not defined: " << fParticleType << G4endl; + G4Exception( "G4ErrorTrajState::BuildCharge()", "GEANT4e-error", + FatalException, "Particle type not defined!"); + } + else + { + fCharge = particle->GetPDGCharge(); + } +} + + +//------------------------------------------------------------------------ +void G4ErrorTrajState::DumpPosMomError( std::ostream& out ) const +{ + out << *this; +} + + +//-------------------------------------------------------------------------- +std::ostream& operator<<(std::ostream& out, const G4ErrorTrajState& ts) +{ + // long mode = out.setf(std::ios::fixed,std::ios::floatfield); + out + << " G4ErrorTrajState of type " << ts.theTSType << " : partycle: " + << ts.fParticleType << " position: " << std::setw(6) << ts.fPosition + << " momentum: " << ts.fMomentum + << " error matrix "; + G4cout << ts.fError << G4endl; + + return out; +} + diff --git a/source/error_propagation/src/G4VErrorLimitProcess.cc b/source/error_propagation/src/G4VErrorLimitProcess.cc new file mode 100644 index 0000000000..1fd2161abd --- /dev/null +++ b/source/error_propagation/src/G4VErrorLimitProcess.cc @@ -0,0 +1,67 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4VErrorLimitProcess.cc,v 1.2 2007/05/29 14:41:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ------------------------------------------------------------ +// GEANT 4 class implementation file +// ------------------------------------------------------------ +// + +#include "G4VErrorLimitProcess.hh" +#include "G4ErrorMessenger.hh" + +//------------------------------------------------------------------------ +G4VErrorLimitProcess::G4VErrorLimitProcess(const G4String& processName) + : G4VDiscreteProcess (processName) +{ + theStepLimit = kInfinity; + theStepLength = kInfinity; +} + + +//------------------------------------------------------------------------ +G4VErrorLimitProcess::~G4VErrorLimitProcess() +{ +} + + +//------------------------------------------------------------------------ +G4double G4VErrorLimitProcess:: +GetMeanFreePath(const class G4Track &, G4double, enum G4ForceCondition *) +{ + return theStepLength; +} + + +//------------------------------------------------------------------------ +G4VParticleChange* G4VErrorLimitProcess:: +PostStepDoIt(const G4Track& aTrack, const G4Step& ) +{ + G4ParticleChange* aParticleChange = new G4ParticleChange; + aParticleChange->Initialize(aTrack); + return aParticleChange; +} diff --git a/source/event/History b/source/event/History index e633db9072..2f0dc87d1b 100644 --- a/source/event/History +++ b/source/event/History @@ -1,4 +1,4 @@ -$Id: History,v 1.108 2007/03/08 23:56:12 asaim Exp $ +$Id: History,v 1.113 2007/06/12 08:49:18 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,19 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +June 11, 2007, G.Santin (event-V08-03-02) +- Fix to normalisation of source intensities with multiple sources: + G4GeneralParticleSource::IntensityNormalization + +June 4, 2007, A.Howard (event-V08-03-01) +- Put back some classes required for scoring of biasing cells: + G4CellScorerStore and G4CellScorer + +May 31, 2007, A.Howard (event-V08-03-00) +- Removal of classes from old biasing/scoring scheme: + G4CellScorer, G4CellScorerStore, G4ScoreTable, G4Scorer +- Files remain on the HEAD for testing purposes + March 8, 2007, M.Asai (event-V08-02-01) - Consolidation of previous tag with a new flag in G4EventManager. diff --git a/source/event/include/G4CellScorer.hh b/source/event/include/G4CellScorer.hh index 875c16f5fd..3de2fd5c6e 100644 --- a/source/event/include/G4CellScorer.hh +++ b/source/event/include/G4CellScorer.hh @@ -25,7 +25,7 @@ // // // $Id: G4CellScorer.hh,v 1.2 2006/06/29 18:08:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4CellScorer diff --git a/source/event/include/G4CellScorerStore.hh b/source/event/include/G4CellScorerStore.hh index 5e7b599e91..f74e9279e4 100644 --- a/source/event/include/G4CellScorerStore.hh +++ b/source/event/include/G4CellScorerStore.hh @@ -25,7 +25,7 @@ // // // $Id: G4CellScorerStore.hh,v 1.3 2006/06/29 18:08:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4CellScorerStore diff --git a/source/event/include/G4ClassificationOfNewTrack.hh b/source/event/include/G4ClassificationOfNewTrack.hh index 2581a54f9e..4099e4dd03 100644 --- a/source/event/include/G4ClassificationOfNewTrack.hh +++ b/source/event/include/G4ClassificationOfNewTrack.hh @@ -25,7 +25,7 @@ // // // $Id: G4ClassificationOfNewTrack.hh,v 1.6 2006/06/29 18:08:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/event/include/G4EvManMessenger.hh b/source/event/include/G4EvManMessenger.hh index 9ffb634c66..eee3cc15e6 100644 --- a/source/event/include/G4EvManMessenger.hh +++ b/source/event/include/G4EvManMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4EvManMessenger.hh,v 1.6 2006/11/03 03:11:13 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4EvManMessenger_h diff --git a/source/event/include/G4Event.hh b/source/event/include/G4Event.hh index 479536ce49..eda8ed4c80 100644 --- a/source/event/include/G4Event.hh +++ b/source/event/include/G4Event.hh @@ -25,7 +25,7 @@ // // // $Id: G4Event.hh,v 1.17 2007/03/08 23:56:12 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4Event_h diff --git a/source/event/include/G4EventManager.hh b/source/event/include/G4EventManager.hh index 5b6b4cb0e4..1671665456 100644 --- a/source/event/include/G4EventManager.hh +++ b/source/event/include/G4EventManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4EventManager.hh,v 1.22 2007/03/08 23:56:12 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/event/include/G4HEPEvtInterface.hh b/source/event/include/G4HEPEvtInterface.hh index f8f03ca13a..f66afbed7d 100644 --- a/source/event/include/G4HEPEvtInterface.hh +++ b/source/event/include/G4HEPEvtInterface.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEPEvtInterface.hh,v 1.8 2006/06/29 18:08:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4HEPEvtInterface_h diff --git a/source/event/include/G4HEPEvtParticle.hh b/source/event/include/G4HEPEvtParticle.hh index 9b5b42c8a4..af5aa68c78 100644 --- a/source/event/include/G4HEPEvtParticle.hh +++ b/source/event/include/G4HEPEvtParticle.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEPEvtParticle.hh,v 1.9 2006/06/29 18:08:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/event/include/G4ParticleGun.hh b/source/event/include/G4ParticleGun.hh index 2192ee65ad..34718d41d6 100644 --- a/source/event/include/G4ParticleGun.hh +++ b/source/event/include/G4ParticleGun.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleGun.hh,v 1.8 2006/06/29 18:08:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4ParticleGun_h diff --git a/source/event/include/G4ParticleGunMessenger.hh b/source/event/include/G4ParticleGunMessenger.hh index 38095974f8..be772bfaea 100644 --- a/source/event/include/G4ParticleGunMessenger.hh +++ b/source/event/include/G4ParticleGunMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleGunMessenger.hh,v 1.8 2006/06/29 18:08:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/event/include/G4PrimaryTransformer.hh b/source/event/include/G4PrimaryTransformer.hh index 46f58df3ae..b066bd36d4 100644 --- a/source/event/include/G4PrimaryTransformer.hh +++ b/source/event/include/G4PrimaryTransformer.hh @@ -25,7 +25,7 @@ // // // $Id: G4PrimaryTransformer.hh,v 1.12 2006/06/29 18:08:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PromaryTransformer_h diff --git a/source/event/include/G4RayShooter.hh b/source/event/include/G4RayShooter.hh index 370dbe1ed8..220f0ed831 100644 --- a/source/event/include/G4RayShooter.hh +++ b/source/event/include/G4RayShooter.hh @@ -25,7 +25,7 @@ // // // $Id: G4RayShooter.hh,v 1.2 2006/06/29 18:08:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class description: diff --git a/source/event/include/G4StackChecker.hh b/source/event/include/G4StackChecker.hh index 8d0237b28a..9aab6b7a38 100644 --- a/source/event/include/G4StackChecker.hh +++ b/source/event/include/G4StackChecker.hh @@ -25,7 +25,7 @@ // // // $Id: G4StackChecker.hh,v 1.2 2006/06/29 18:09:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4StackChecker_h diff --git a/source/event/include/G4StackManager.hh b/source/event/include/G4StackManager.hh index 29693f4bdc..30e54c1ee6 100644 --- a/source/event/include/G4StackManager.hh +++ b/source/event/include/G4StackManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4StackManager.hh,v 1.12 2006/06/29 18:09:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/event/include/G4StackedTrack.hh b/source/event/include/G4StackedTrack.hh index f4cb7a0bed..d686d597cc 100644 --- a/source/event/include/G4StackedTrack.hh +++ b/source/event/include/G4StackedTrack.hh @@ -25,7 +25,7 @@ // // // $Id: G4StackedTrack.hh,v 1.10 2006/06/29 18:09:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Last Modification : 02/Feb/96 M.Asai diff --git a/source/event/include/G4StackingMessenger.hh b/source/event/include/G4StackingMessenger.hh index bf0701186b..243c936180 100644 --- a/source/event/include/G4StackingMessenger.hh +++ b/source/event/include/G4StackingMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4StackingMessenger.hh,v 1.5 2006/06/29 18:09:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4StackingMessenger_h diff --git a/source/event/include/G4TrackStack.hh b/source/event/include/G4TrackStack.hh index 47f7652c11..bb3c7debb7 100644 --- a/source/event/include/G4TrackStack.hh +++ b/source/event/include/G4TrackStack.hh @@ -25,7 +25,7 @@ // // // $Id: G4TrackStack.hh,v 1.6 2006/06/29 18:09:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Last Modification : 09/Dec/96 M.Asai diff --git a/source/event/include/G4TrajectoryContainer.hh b/source/event/include/G4TrajectoryContainer.hh index eb31de2caf..eba2b6f1a0 100644 --- a/source/event/include/G4TrajectoryContainer.hh +++ b/source/event/include/G4TrajectoryContainer.hh @@ -25,7 +25,7 @@ // // // $Id: G4TrajectoryContainer.hh,v 1.15 2006/06/29 18:09:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4TrajectoryContainer diff --git a/source/event/include/G4UserEventAction.hh b/source/event/include/G4UserEventAction.hh index a883e84acf..8d799c7b60 100644 --- a/source/event/include/G4UserEventAction.hh +++ b/source/event/include/G4UserEventAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4UserEventAction.hh,v 1.6 2006/06/29 18:09:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/event/include/G4UserStackingAction.hh b/source/event/include/G4UserStackingAction.hh index 6271d5089f..c58d35f3dc 100644 --- a/source/event/include/G4UserStackingAction.hh +++ b/source/event/include/G4UserStackingAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4UserStackingAction.hh,v 1.6 2006/06/29 18:09:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UserStackingAction_h diff --git a/source/event/include/G4VPrimaryGenerator.hh b/source/event/include/G4VPrimaryGenerator.hh index 4fee05edda..3e46d085ba 100644 --- a/source/event/include/G4VPrimaryGenerator.hh +++ b/source/event/include/G4VPrimaryGenerator.hh @@ -25,7 +25,7 @@ // // // $Id: G4VPrimaryGenerator.hh,v 1.8 2006/06/29 18:09:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VPrimaryGenerator_h diff --git a/source/event/include/G4VUserEventInformation.hh b/source/event/include/G4VUserEventInformation.hh index 6aeac4dbd6..ece7d6c97a 100644 --- a/source/event/include/G4VUserEventInformation.hh +++ b/source/event/include/G4VUserEventInformation.hh @@ -25,7 +25,7 @@ // // // $Id: G4VUserEventInformation.hh,v 1.2 2006/06/29 18:09:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/event/include/eventgendefs.hh b/source/event/include/eventgendefs.hh index 879fd503a9..8e8aa47cf3 100644 --- a/source/event/include/eventgendefs.hh +++ b/source/event/include/eventgendefs.hh @@ -25,7 +25,7 @@ // // // $Id: eventgendefs.hh,v 1.4 2006/06/29 18:09:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef EventGenerator_DEBUG #define EventGenerator_DEBUG diff --git a/source/event/include/evmandefs.hh b/source/event/include/evmandefs.hh index c778bc2157..38ea328576 100644 --- a/source/event/include/evmandefs.hh +++ b/source/event/include/evmandefs.hh @@ -25,7 +25,7 @@ // // // $Id: evmandefs.hh,v 1.4 2006/06/29 18:09:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ///#define G4EVENTMANAGER_DEBUG 1 diff --git a/source/event/include/trajectoryControl.hh b/source/event/include/trajectoryControl.hh index 5ffb917202..f315613794 100644 --- a/source/event/include/trajectoryControl.hh +++ b/source/event/include/trajectoryControl.hh @@ -25,7 +25,7 @@ // // // $Id: trajectoryControl.hh,v 1.4 2006/06/29 18:09:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ////#define G4_STORE_TRAJECTORY 1 diff --git a/source/event/src/G4CellScorer.cc b/source/event/src/G4CellScorer.cc index f4fc11ef59..3ebbb2f35d 100644 --- a/source/event/src/G4CellScorer.cc +++ b/source/event/src/G4CellScorer.cc @@ -25,7 +25,7 @@ // // // $Id: G4CellScorer.cc,v 1.4 2006/06/29 18:09:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/event/src/G4CellScorerStore.cc b/source/event/src/G4CellScorerStore.cc index 92eea4c9df..55458d5b8b 100644 --- a/source/event/src/G4CellScorerStore.cc +++ b/source/event/src/G4CellScorerStore.cc @@ -25,7 +25,7 @@ // // // $Id: G4CellScorerStore.cc,v 1.4 2006/06/29 18:09:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/event/src/G4EvManMessenger.cc b/source/event/src/G4EvManMessenger.cc index 892e979025..18c159cf58 100644 --- a/source/event/src/G4EvManMessenger.cc +++ b/source/event/src/G4EvManMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4EvManMessenger.cc,v 1.6 2006/11/03 03:11:13 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- diff --git a/source/event/src/G4Event.cc b/source/event/src/G4Event.cc index e0df3877fc..127ad142e7 100644 --- a/source/event/src/G4Event.cc +++ b/source/event/src/G4Event.cc @@ -25,7 +25,7 @@ // // // $Id: G4Event.cc,v 1.14 2007/03/07 02:44:16 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4Event diff --git a/source/event/src/G4EventManager.cc b/source/event/src/G4EventManager.cc index 4f82833862..db250fcd2a 100644 --- a/source/event/src/G4EventManager.cc +++ b/source/event/src/G4EventManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4EventManager.cc,v 1.30 2007/03/08 23:56:12 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/event/src/G4GeneralParticleSource.cc b/source/event/src/G4GeneralParticleSource.cc index b0aeb7b916..d293a0faa3 100644 --- a/source/event/src/G4GeneralParticleSource.cc +++ b/source/event/src/G4GeneralParticleSource.cc @@ -99,19 +99,23 @@ void G4GeneralParticleSource::IntensityNormalization() total += sourceIntensity[i] ; // sourceProbability.clear(); - sourceIntensity[0] = sourceIntensity[0]/total; - sourceProbability.push_back(sourceIntensity[0]); + std::vector sourceNormalizedIntensity; + sourceNormalizedIntensity.clear(); + + sourceNormalizedIntensity.push_back(sourceIntensity[0]/total); + sourceProbability.push_back(sourceNormalizedIntensity[0]); + for ( i = 1 ; i < sourceIntensity.size(); i++) { - sourceIntensity[i] = sourceIntensity[i]/total; - sourceProbability.push_back(sourceIntensity[i] + sourceProbability[i-1]); - } + sourceNormalizedIntensity.push_back(sourceIntensity[i]/total); + sourceProbability.push_back(sourceNormalizedIntensity[i] + sourceProbability[i-1]); + } // set source weights here based on sampling scheme (analog/flat) and intensities for ( i = 0 ; i < sourceIntensity.size(); i++) { if (!flat_sampling) { sourceVector[i]->GetBiasRndm()->SetIntensityWeight(1.); } else { - sourceVector[i]->GetBiasRndm()->SetIntensityWeight(sourceIntensity[i]*sourceIntensity.size()); + sourceVector[i]->GetBiasRndm()->SetIntensityWeight(sourceNormalizedIntensity[i]*sourceIntensity.size()); } } @@ -120,8 +124,8 @@ void G4GeneralParticleSource::IntensityNormalization() void G4GeneralParticleSource::ListSource() { - G4cout << " The number of particle source is " << sourceIntensity.size() << G4endl; - for (size_t i = 0 ; i < sourceIntensity.size(); i++) + G4cout << " The number of particle sources is " << sourceIntensity.size() << G4endl; + for (size_t i = 0 ; i < sourceIntensity.size(); i++) G4cout << " source " << i << " intensity is " << sourceIntensity[i] << G4endl; } diff --git a/source/event/src/G4HEPEvtInterface.cc b/source/event/src/G4HEPEvtInterface.cc index b88c2ca51a..7c0b93f83a 100644 --- a/source/event/src/G4HEPEvtInterface.cc +++ b/source/event/src/G4HEPEvtInterface.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEPEvtInterface.cc,v 1.11 2006/06/29 18:09:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/event/src/G4HEPEvtParticle.cc b/source/event/src/G4HEPEvtParticle.cc index 1ccbde8b12..10d01fb82b 100644 --- a/source/event/src/G4HEPEvtParticle.cc +++ b/source/event/src/G4HEPEvtParticle.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEPEvtParticle.cc,v 1.8 2006/06/29 18:09:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/event/src/G4ParticleGun.cc b/source/event/src/G4ParticleGun.cc index 85a3560429..ba07c0b788 100644 --- a/source/event/src/G4ParticleGun.cc +++ b/source/event/src/G4ParticleGun.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParticleGun.cc,v 1.12 2006/06/29 18:09:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4ParticleGun diff --git a/source/event/src/G4ParticleGunMessenger.cc b/source/event/src/G4ParticleGunMessenger.cc index c6715baff3..b42c6a82c9 100644 --- a/source/event/src/G4ParticleGunMessenger.cc +++ b/source/event/src/G4ParticleGunMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParticleGunMessenger.cc,v 1.14 2006/06/29 18:09:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4ParticleGunMessenger.hh" diff --git a/source/event/src/G4PrimaryTransformer.cc b/source/event/src/G4PrimaryTransformer.cc index 8ee15700aa..b941c94507 100644 --- a/source/event/src/G4PrimaryTransformer.cc +++ b/source/event/src/G4PrimaryTransformer.cc @@ -25,7 +25,7 @@ // // // $Id: G4PrimaryTransformer.cc,v 1.27 2006/06/29 18:09:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4PrimaryTransformer.hh" diff --git a/source/event/src/G4RayShooter.cc b/source/event/src/G4RayShooter.cc index d8e4324041..6b081ff300 100644 --- a/source/event/src/G4RayShooter.cc +++ b/source/event/src/G4RayShooter.cc @@ -25,7 +25,7 @@ // // // $Id: G4RayShooter.cc,v 1.2 2006/06/29 18:10:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4RayShooter.hh" diff --git a/source/event/src/G4Scorer.cc b/source/event/src/G4Scorer.cc deleted file mode 100644 index dedfeddeec..0000000000 --- a/source/event/src/G4Scorer.cc +++ /dev/null @@ -1,57 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4Scorer.cc,v 1.2 2006/06/29 18:10:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4Scorer.cc -// -// ---------------------------------------------------------------------- - -#include "G4Scorer.hh" - -G4Scorer::G4Scorer() - : - fCellStoreScorer(fCellScorerStore) -{ - fCellScorerStore.SetAutoScorerCreate(); -} - -G4Scorer::~G4Scorer() -{ -} - -void G4Scorer::Score(const G4Step &aStep, const G4GeometryCellStep &aPStep){ - fCellStoreScorer.Score(aStep, aPStep); -} - -const G4MapGeometryCellCellScorer &G4Scorer::GetMapGeometryCellCellScorer() const { - return fCellScorerStore.GetMapGeometryCellCellScorer(); -} - diff --git a/source/event/src/G4StackChecker.cc b/source/event/src/G4StackChecker.cc index 8cd6f30184..6d104839d6 100644 --- a/source/event/src/G4StackChecker.cc +++ b/source/event/src/G4StackChecker.cc @@ -25,7 +25,7 @@ // // // $Id: G4StackChecker.cc,v 1.2 2006/06/29 18:10:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4StackChecker.hh" diff --git a/source/event/src/G4StackManager.cc b/source/event/src/G4StackManager.cc index 41a525a6b2..fabb67b7e1 100644 --- a/source/event/src/G4StackManager.cc +++ b/source/event/src/G4StackManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4StackManager.cc,v 1.10 2006/06/29 18:10:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Last Modification : 09/Dec/96 M.Asai diff --git a/source/event/src/G4StackedTrack.cc b/source/event/src/G4StackedTrack.cc index 23e547dc49..40049c1cd0 100644 --- a/source/event/src/G4StackedTrack.cc +++ b/source/event/src/G4StackedTrack.cc @@ -25,7 +25,7 @@ // // // $Id: G4StackedTrack.cc,v 1.9 2006/06/29 18:10:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Last Modification : 02/Feb/96 M.Asai diff --git a/source/event/src/G4StackingMessenger.cc b/source/event/src/G4StackingMessenger.cc index 5184c45127..248eac3e37 100644 --- a/source/event/src/G4StackingMessenger.cc +++ b/source/event/src/G4StackingMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4StackingMessenger.cc,v 1.5 2006/06/29 18:10:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- diff --git a/source/event/src/G4TrackStack.cc b/source/event/src/G4TrackStack.cc index d20e8b452d..a01ca1b7e8 100644 --- a/source/event/src/G4TrackStack.cc +++ b/source/event/src/G4TrackStack.cc @@ -25,7 +25,7 @@ // // // $Id: G4TrackStack.cc,v 1.6 2006/06/29 18:10:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4TrackStack.hh" diff --git a/source/event/src/G4TrajectoryContainer.cc b/source/event/src/G4TrajectoryContainer.cc index 188a03425d..1591eea0f1 100644 --- a/source/event/src/G4TrajectoryContainer.cc +++ b/source/event/src/G4TrajectoryContainer.cc @@ -25,7 +25,7 @@ // // // $Id: G4TrajectoryContainer.cc,v 1.5 2006/06/29 18:10:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4TrajectoryContainer.hh" diff --git a/source/event/src/G4UserEventAction.cc b/source/event/src/G4UserEventAction.cc index 8d42d35161..ca2dc811de 100644 --- a/source/event/src/G4UserEventAction.cc +++ b/source/event/src/G4UserEventAction.cc @@ -25,7 +25,7 @@ // // // $Id: G4UserEventAction.cc,v 1.7 2006/06/29 18:10:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4UserEventAction.hh" diff --git a/source/event/src/G4UserStackingAction.cc b/source/event/src/G4UserStackingAction.cc index c836bd665f..8874184ac3 100644 --- a/source/event/src/G4UserStackingAction.cc +++ b/source/event/src/G4UserStackingAction.cc @@ -25,7 +25,7 @@ // // // $Id: G4UserStackingAction.cc,v 1.7 2006/06/29 18:10:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4UserStackingAction.hh" diff --git a/source/event/src/G4VPrimaryGenerator.cc b/source/event/src/G4VPrimaryGenerator.cc index e288486f34..981f025a33 100644 --- a/source/event/src/G4VPrimaryGenerator.cc +++ b/source/event/src/G4VPrimaryGenerator.cc @@ -25,7 +25,7 @@ // // // $Id: G4VPrimaryGenerator.cc,v 1.5 2006/06/29 18:10:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VPrimaryGenerator diff --git a/source/g3tog4/include/G3DetTable.hh b/source/g3tog4/include/G3DetTable.hh index 9b8365d011..df6601fc56 100644 --- a/source/g3tog4/include/G3DetTable.hh +++ b/source/g3tog4/include/G3DetTable.hh @@ -25,7 +25,7 @@ // // // $Id: G3DetTable.hh,v 1.9 2006/06/29 18:11:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G3DetTable class diff --git a/source/g3tog4/include/G3DetTableEntry.hh b/source/g3tog4/include/G3DetTableEntry.hh index bb59101686..0250341ab5 100644 --- a/source/g3tog4/include/G3DetTableEntry.hh +++ b/source/g3tog4/include/G3DetTableEntry.hh @@ -25,7 +25,7 @@ // // // $Id: G3DetTableEntry.hh,v 1.6 2006/06/29 18:11:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G3DetTableEntry class diff --git a/source/g3tog4/include/G3Division.hh b/source/g3tog4/include/G3Division.hh index 902ae2b362..52a0b4cc03 100644 --- a/source/g3tog4/include/G3Division.hh +++ b/source/g3tog4/include/G3Division.hh @@ -25,7 +25,7 @@ // // // $Id: G3Division.hh,v 1.8 2006/06/29 18:11:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3EleTable.hh b/source/g3tog4/include/G3EleTable.hh index e4d2affbbb..2c5a2bfdb6 100644 --- a/source/g3tog4/include/G3EleTable.hh +++ b/source/g3tog4/include/G3EleTable.hh @@ -25,7 +25,7 @@ // // // $Id: G3EleTable.hh,v 1.8 2006/06/29 18:11:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3G4Interface.hh b/source/g3tog4/include/G3G4Interface.hh index 369d602a94..7976dc5f8b 100644 --- a/source/g3tog4/include/G3G4Interface.hh +++ b/source/g3tog4/include/G3G4Interface.hh @@ -25,7 +25,7 @@ // // // $Id: G3G4Interface.hh,v 1.10 2006/06/29 18:11:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Interfaces for G3 equivalent routines // diff --git a/source/g3tog4/include/G3MatTable.hh b/source/g3tog4/include/G3MatTable.hh index 1869c5d362..f0a1fd0fe0 100644 --- a/source/g3tog4/include/G3MatTable.hh +++ b/source/g3tog4/include/G3MatTable.hh @@ -25,7 +25,7 @@ // // // $Id: G3MatTable.hh,v 1.13 2006/06/29 18:11:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3MatTableEntry.hh b/source/g3tog4/include/G3MatTableEntry.hh index aca8035351..ef17e40bf9 100644 --- a/source/g3tog4/include/G3MatTableEntry.hh +++ b/source/g3tog4/include/G3MatTableEntry.hh @@ -25,7 +25,7 @@ // // // $Id: G3MatTableEntry.hh,v 1.6 2006/06/29 18:11:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3MedTable.hh b/source/g3tog4/include/G3MedTable.hh index cac9a93dd8..7272c1c4cb 100644 --- a/source/g3tog4/include/G3MedTable.hh +++ b/source/g3tog4/include/G3MedTable.hh @@ -25,7 +25,7 @@ // // // $Id: G3MedTable.hh,v 1.13 2006/06/29 18:12:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3MedTableEntry.hh b/source/g3tog4/include/G3MedTableEntry.hh index 6f4ea76777..9da9669bd7 100644 --- a/source/g3tog4/include/G3MedTableEntry.hh +++ b/source/g3tog4/include/G3MedTableEntry.hh @@ -25,7 +25,7 @@ // // // $Id: G3MedTableEntry.hh,v 1.6 2006/06/29 18:12:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3PartTable.hh b/source/g3tog4/include/G3PartTable.hh index ca49536151..d7ebcb3efb 100644 --- a/source/g3tog4/include/G3PartTable.hh +++ b/source/g3tog4/include/G3PartTable.hh @@ -25,7 +25,7 @@ // // // $Id: G3PartTable.hh,v 1.10 2006/06/29 18:12:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3Pos.hh b/source/g3tog4/include/G3Pos.hh index da0b1046ba..02d3d24f40 100644 --- a/source/g3tog4/include/G3Pos.hh +++ b/source/g3tog4/include/G3Pos.hh @@ -25,7 +25,7 @@ // // // $Id: G3Pos.hh,v 1.11 2006/06/29 18:12:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3RotTable.hh b/source/g3tog4/include/G3RotTable.hh index fe712bf088..5546a9647f 100644 --- a/source/g3tog4/include/G3RotTable.hh +++ b/source/g3tog4/include/G3RotTable.hh @@ -25,7 +25,7 @@ // // // $Id: G3RotTable.hh,v 1.15 2006/06/29 18:12:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3RotTableEntry.hh b/source/g3tog4/include/G3RotTableEntry.hh index 95c560e211..ef331a0cb1 100644 --- a/source/g3tog4/include/G3RotTableEntry.hh +++ b/source/g3tog4/include/G3RotTableEntry.hh @@ -25,7 +25,7 @@ // // // $Id: G3RotTableEntry.hh,v 1.6 2006/06/29 18:12:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3SensVolVector.hh b/source/g3tog4/include/G3SensVolVector.hh index 1d87560987..8938ae1802 100644 --- a/source/g3tog4/include/G3SensVolVector.hh +++ b/source/g3tog4/include/G3SensVolVector.hh @@ -25,7 +25,7 @@ // // // $Id: G3SensVolVector.hh,v 1.7 2006/06/29 18:12:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // vector of logical volumes that were defined with // tracking medium with ISVOL=1 diff --git a/source/g3tog4/include/G3VolTable.hh b/source/g3tog4/include/G3VolTable.hh index 76d6a7b270..39f747a8a4 100644 --- a/source/g3tog4/include/G3VolTable.hh +++ b/source/g3tog4/include/G3VolTable.hh @@ -25,7 +25,7 @@ // // // $Id: G3VolTable.hh,v 1.18 2006/06/29 18:12:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3VolTableEntry.hh b/source/g3tog4/include/G3VolTableEntry.hh index 27afd02876..84277dd71e 100644 --- a/source/g3tog4/include/G3VolTableEntry.hh +++ b/source/g3tog4/include/G3VolTableEntry.hh @@ -25,7 +25,7 @@ // // // $Id: G3VolTableEntry.hh,v 1.9 2006/06/29 18:12:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class description: diff --git a/source/g3tog4/include/G3toG4.hh b/source/g3tog4/include/G3toG4.hh index dadf1b0a4b..fd25953658 100644 --- a/source/g3tog4/include/G3toG4.hh +++ b/source/g3tog4/include/G3toG4.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4.hh,v 1.9 2006/06/29 18:12:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // modified by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/include/G3toG4.inc b/source/g3tog4/include/G3toG4.inc index 1450d64079..305751b182 100644 --- a/source/g3tog4/include/G3toG4.inc +++ b/source/g3tog4/include/G3toG4.inc @@ -25,7 +25,7 @@ * * * $Id: G3toG4.inc,v 1.4 2006/06/29 18:12:35 gunter Exp $ -* GEANT4 tag $Name: geant4-08-02 $ +* GEANT4 tag $Name: geant4-09-00 $ * integer maxlines parameter (maxlines = 750) ! max no. of cmd lines per C++ source file diff --git a/source/g3tog4/include/G3toG4BuildTree.hh b/source/g3tog4/include/G3toG4BuildTree.hh index 97a67f875b..7065c02b86 100644 --- a/source/g3tog4/include/G3toG4BuildTree.hh +++ b/source/g3tog4/include/G3toG4BuildTree.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4BuildTree.hh,v 1.8 2006/06/29 18:12:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class Description: diff --git a/source/g3tog4/include/G3toG4MANY.hh b/source/g3tog4/include/G3toG4MANY.hh index 188d7a9618..3f3477bbe8 100644 --- a/source/g3tog4/include/G3toG4MANY.hh +++ b/source/g3tog4/include/G3toG4MANY.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4MANY.hh,v 1.3 2006/06/29 18:12:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class Description: diff --git a/source/g3tog4/include/G3toG4MakeSolid.hh b/source/g3tog4/include/G3toG4MakeSolid.hh index a18940c22a..1863960c58 100644 --- a/source/g3tog4/include/G3toG4MakeSolid.hh +++ b/source/g3tog4/include/G3toG4MakeSolid.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4MakeSolid.hh,v 1.7 2006/06/29 18:12:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------- // Class Description: diff --git a/source/g3tog4/include/G3toG4RotationMatrix.hh b/source/g3tog4/include/G3toG4RotationMatrix.hh index 3edc2e4078..e80e509c1f 100644 --- a/source/g3tog4/include/G3toG4RotationMatrix.hh +++ b/source/g3tog4/include/G3toG4RotationMatrix.hh @@ -25,7 +25,7 @@ // // // $Id: G3toG4RotationMatrix.hh,v 1.6 2006/06/29 18:12:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ---------------------- // Class description: // diff --git a/source/g3tog4/include/gcbank.inc b/source/g3tog4/include/gcbank.inc index 9fdd6c3eb3..fc8778a9ca 100644 --- a/source/g3tog4/include/gcbank.inc +++ b/source/g3tog4/include/gcbank.inc @@ -25,7 +25,7 @@ * * * $Id: gcbank.inc,v 1.4 2006/06/29 18:12:46 gunter Exp $ -* GEANT4 tag $Name: geant4-08-02 $ +* GEANT4 tag $Name: geant4-09-00 $ * INTEGER IQ,LQ,NZEBRA,IXSTOR,IXDIV,IXCONS,LMAIN,LR1,JCG INTEGER KWBANK,KWWORK,IWS diff --git a/source/g3tog4/src/G3DetTable.cc b/source/g3tog4/src/G3DetTable.cc index 8847b41cba..03c2d017df 100644 --- a/source/g3tog4/src/G3DetTable.cc +++ b/source/g3tog4/src/G3DetTable.cc @@ -25,7 +25,7 @@ // // // $Id: G3DetTable.cc,v 1.12 2006/06/29 18:12:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" #include "G3DetTable.hh" diff --git a/source/g3tog4/src/G3DetTableEntry.cc b/source/g3tog4/src/G3DetTableEntry.cc index d3ab96ee60..3d885b573b 100644 --- a/source/g3tog4/src/G3DetTableEntry.cc +++ b/source/g3tog4/src/G3DetTableEntry.cc @@ -25,7 +25,7 @@ // // // $Id: G3DetTableEntry.cc,v 1.5 2006/06/29 18:12:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" #include "G3DetTableEntry.hh" diff --git a/source/g3tog4/src/G3Division.cc b/source/g3tog4/src/G3Division.cc index 548bf6a5d2..d26fac5a38 100644 --- a/source/g3tog4/src/G3Division.cc +++ b/source/g3tog4/src/G3Division.cc @@ -25,7 +25,7 @@ // // // $Id: G3Division.cc,v 1.17 2006/06/29 18:12:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, V.Berejnoi 13.10.99 diff --git a/source/g3tog4/src/G3EleTable.cc b/source/g3tog4/src/G3EleTable.cc index fe7046c8e3..ee5596cc2b 100644 --- a/source/g3tog4/src/G3EleTable.cc +++ b/source/g3tog4/src/G3EleTable.cc @@ -25,7 +25,7 @@ // // // $Id: G3EleTable.cc,v 1.16 2006/06/29 18:12:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4Types.hh" diff --git a/source/g3tog4/src/G3MatTable.cc b/source/g3tog4/src/G3MatTable.cc index b8b520aa63..d252bbf74b 100644 --- a/source/g3tog4/src/G3MatTable.cc +++ b/source/g3tog4/src/G3MatTable.cc @@ -25,7 +25,7 @@ // // // $Id: G3MatTable.cc,v 1.16 2006/06/29 18:12:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3MatTableEntry.cc b/source/g3tog4/src/G3MatTableEntry.cc index 90e6f96ef2..cf667ab109 100644 --- a/source/g3tog4/src/G3MatTableEntry.cc +++ b/source/g3tog4/src/G3MatTableEntry.cc @@ -25,7 +25,7 @@ // // // $Id: G3MatTableEntry.cc,v 1.4 2006/06/29 18:13:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3MedTable.cc b/source/g3tog4/src/G3MedTable.cc index c0c391e8f9..98b3b18c16 100644 --- a/source/g3tog4/src/G3MedTable.cc +++ b/source/g3tog4/src/G3MedTable.cc @@ -25,7 +25,7 @@ // // // $Id: G3MedTable.cc,v 1.15 2006/06/29 18:13:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3MedTableEntry.cc b/source/g3tog4/src/G3MedTableEntry.cc index d79fea3c82..e48f1f7515 100644 --- a/source/g3tog4/src/G3MedTableEntry.cc +++ b/source/g3tog4/src/G3MedTableEntry.cc @@ -25,7 +25,7 @@ // // // $Id: G3MedTableEntry.cc,v 1.4 2006/06/29 18:13:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3NegVolPars.cc b/source/g3tog4/src/G3NegVolPars.cc index 5c63610300..ae681c9371 100644 --- a/source/g3tog4/src/G3NegVolPars.cc +++ b/source/g3tog4/src/G3NegVolPars.cc @@ -25,7 +25,7 @@ // // // $Id: G3NegVolPars.cc,v 1.13 2006/06/29 18:13:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // modified by I. Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G3PartTable.cc b/source/g3tog4/src/G3PartTable.cc index b4c7395267..cf30b1067b 100644 --- a/source/g3tog4/src/G3PartTable.cc +++ b/source/g3tog4/src/G3PartTable.cc @@ -25,7 +25,7 @@ // // // $Id: G3PartTable.cc,v 1.14 2006/06/29 18:13:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4Types.hh" diff --git a/source/g3tog4/src/G3Pos.cc b/source/g3tog4/src/G3Pos.cc index 131a4223cd..4f3781360b 100644 --- a/source/g3tog4/src/G3Pos.cc +++ b/source/g3tog4/src/G3Pos.cc @@ -25,7 +25,7 @@ // // // $Id: G3Pos.cc,v 1.9 2006/06/29 18:13:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // modified by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G3RotTable.cc b/source/g3tog4/src/G3RotTable.cc index 7473685a5e..2b298444ee 100644 --- a/source/g3tog4/src/G3RotTable.cc +++ b/source/g3tog4/src/G3RotTable.cc @@ -25,7 +25,7 @@ // // // $Id: G3RotTable.cc,v 1.16 2006/06/29 18:13:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3RotTableEntry.cc b/source/g3tog4/src/G3RotTableEntry.cc index 4bfddc18a3..ba9e24a421 100644 --- a/source/g3tog4/src/G3RotTableEntry.cc +++ b/source/g3tog4/src/G3RotTableEntry.cc @@ -25,7 +25,7 @@ // // // $Id: G3RotTableEntry.cc,v 1.4 2006/06/29 18:13:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G3VolTable.cc b/source/g3tog4/src/G3VolTable.cc index b97cf51806..a10cc98221 100644 --- a/source/g3tog4/src/G3VolTable.cc +++ b/source/g3tog4/src/G3VolTable.cc @@ -25,7 +25,7 @@ // // // $Id: G3VolTable.cc,v 1.22 2006/06/29 18:13:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // modified by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G3VolTableEntry.cc b/source/g3tog4/src/G3VolTableEntry.cc index 75ac3f7992..52d1f208b9 100644 --- a/source/g3tog4/src/G3VolTableEntry.cc +++ b/source/g3tog4/src/G3VolTableEntry.cc @@ -25,7 +25,7 @@ // // // $Id: G3VolTableEntry.cc,v 1.12 2006/06/29 18:13:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // modified by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G3fillParams.cc.archive b/source/g3tog4/src/G3fillParams.cc.archive index 7e5bf56299..146fc6050e 100644 --- a/source/g3tog4/src/G3fillParams.cc.archive +++ b/source/g3tog4/src/G3fillParams.cc.archive @@ -6,7 +6,7 @@ // and all its terms. // // $Id: G3fillParams.cc.archive,v 1.2 2003/06/16 16:50:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // extracted from clparse.cc by I. Hrivnacova, 30.7.99 diff --git a/source/g3tog4/src/G3toG4BuildTree.cc b/source/g3tog4/src/G3toG4BuildTree.cc index 99352f8066..cde0cf35f2 100644 --- a/source/g3tog4/src/G3toG4BuildTree.cc +++ b/source/g3tog4/src/G3toG4BuildTree.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4BuildTree.cc,v 1.20 2006/06/29 18:13:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // modified by I. Hrivnacova, 2.8.99 diff --git a/source/g3tog4/src/G3toG4MANY.cc b/source/g3tog4/src/G3toG4MANY.cc index 8b657f9027..dc44601067 100644 --- a/source/g3tog4/src/G3toG4MANY.cc +++ b/source/g3tog4/src/G3toG4MANY.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4MANY.cc,v 1.2 2006/06/29 18:13:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // By I. Hrivnacova, 22.10.01 diff --git a/source/g3tog4/src/G3toG4MakeSolid.cc b/source/g3tog4/src/G3toG4MakeSolid.cc index 28b131216f..286265e92d 100644 --- a/source/g3tog4/src/G3toG4MakeSolid.cc +++ b/source/g3tog4/src/G3toG4MakeSolid.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4MakeSolid.cc,v 1.10 2006/06/29 18:13:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // modified by I.Hrivnacova, V.Berejnoi 27 Sep 99 diff --git a/source/g3tog4/src/G3toG4RotationMatrix.cc b/source/g3tog4/src/G3toG4RotationMatrix.cc index d2e307f4fb..90c0763ee7 100644 --- a/source/g3tog4/src/G3toG4RotationMatrix.cc +++ b/source/g3tog4/src/G3toG4RotationMatrix.cc @@ -25,7 +25,7 @@ // // // $Id: G3toG4RotationMatrix.cc,v 1.4 2006/06/29 18:13:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G3toG4RotationMatrix.hh" diff --git a/source/g3tog4/src/G4BuildGeom.cc b/source/g3tog4/src/G4BuildGeom.cc index 20ce2f8fd9..77b568b8d5 100644 --- a/source/g3tog4/src/G4BuildGeom.cc +++ b/source/g3tog4/src/G4BuildGeom.cc @@ -25,7 +25,7 @@ // // // $Id: G4BuildGeom.cc,v 1.17 2006/06/29 18:13:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // modified by I. Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G4ggclos.cc b/source/g3tog4/src/G4ggclos.cc index 8975de74ac..8c3bf53ffe 100644 --- a/source/g3tog4/src/G4ggclos.cc +++ b/source/g3tog4/src/G4ggclos.cc @@ -25,7 +25,7 @@ // // // $Id: G4ggclos.cc,v 1.8 2006/06/29 18:13:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G3toG4.hh" #include "G3VolTable.hh" diff --git a/source/g3tog4/src/G4gsatt.cc b/source/g3tog4/src/G4gsatt.cc index 64a493b207..efe27885c2 100644 --- a/source/g3tog4/src/G4gsatt.cc +++ b/source/g3tog4/src/G4gsatt.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsatt.cc,v 1.13 2006/06/29 18:13:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "globals.hh" #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gsbool.cc b/source/g3tog4/src/G4gsbool.cc index b470ce4ae3..1b3980a1c8 100644 --- a/source/g3tog4/src/G4gsbool.cc +++ b/source/g3tog4/src/G4gsbool.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsbool.cc,v 1.2 2006/06/29 18:13:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, 13.10.01 diff --git a/source/g3tog4/src/G4gsdet.cc b/source/g3tog4/src/G4gsdet.cc index e9d5068509..90b7881c34 100644 --- a/source/g3tog4/src/G4gsdet.cc +++ b/source/g3tog4/src/G4gsdet.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsdet.cc,v 1.5 2006/06/29 18:13:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "globals.hh" #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gsdeta.cc b/source/g3tog4/src/G4gsdeta.cc index 6b9f97b22e..ccadbe2ea5 100644 --- a/source/g3tog4/src/G4gsdeta.cc +++ b/source/g3tog4/src/G4gsdeta.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsdeta.cc,v 1.6 2006/06/29 18:13:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // modified by I.Hrivnacova, 6 Oct 99 diff --git a/source/g3tog4/src/G4gsdetd.cc b/source/g3tog4/src/G4gsdetd.cc index 5a41f6ee2f..363ec5b277 100644 --- a/source/g3tog4/src/G4gsdetd.cc +++ b/source/g3tog4/src/G4gsdetd.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsdetd.cc,v 1.8 2006/06/29 18:13:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G3toG4.hh" #include "G3DetTable.hh" diff --git a/source/g3tog4/src/G4gsdeth.cc b/source/g3tog4/src/G4gsdeth.cc index e912dae61a..157ec82449 100644 --- a/source/g3tog4/src/G4gsdeth.cc +++ b/source/g3tog4/src/G4gsdeth.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsdeth.cc,v 1.8 2006/06/29 18:13:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G3toG4.hh" #include "G3DetTable.hh" diff --git a/source/g3tog4/src/G4gsdetu.cc b/source/g3tog4/src/G4gsdetu.cc index f746bd623b..bc754a652c 100644 --- a/source/g3tog4/src/G4gsdetu.cc +++ b/source/g3tog4/src/G4gsdetu.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsdetu.cc,v 1.6 2006/06/29 18:13:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gsdetv.cc b/source/g3tog4/src/G4gsdetv.cc index c509d940dd..2f66e12169 100644 --- a/source/g3tog4/src/G4gsdetv.cc +++ b/source/g3tog4/src/G4gsdetv.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsdetv.cc,v 1.10 2006/06/29 18:13:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4ios.hh" #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gsdk.cc b/source/g3tog4/src/G4gsdk.cc index 9cd81224a9..54c68e1853 100644 --- a/source/g3tog4/src/G4gsdk.cc +++ b/source/g3tog4/src/G4gsdk.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsdk.cc,v 1.7 2006/06/29 18:13:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4Decay.hh" #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gsdvn.cc b/source/g3tog4/src/G4gsdvn.cc index 7b075a2f71..962bfa104d 100644 --- a/source/g3tog4/src/G4gsdvn.cc +++ b/source/g3tog4/src/G4gsdvn.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsdvn.cc,v 1.10 2006/06/29 18:13:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 diff --git a/source/g3tog4/src/G4gsdvn2.cc b/source/g3tog4/src/G4gsdvn2.cc index 827fb97fbd..75f1431b71 100644 --- a/source/g3tog4/src/G4gsdvn2.cc +++ b/source/g3tog4/src/G4gsdvn2.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsdvn2.cc,v 1.8 2006/06/29 18:14:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 diff --git a/source/g3tog4/src/G4gsdvt.cc b/source/g3tog4/src/G4gsdvt.cc index 30fd981418..45fcc51d8f 100644 --- a/source/g3tog4/src/G4gsdvt.cc +++ b/source/g3tog4/src/G4gsdvt.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsdvt.cc,v 1.7 2006/06/29 18:14:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 diff --git a/source/g3tog4/src/G4gsdvt2.cc b/source/g3tog4/src/G4gsdvt2.cc index 47af3fc73d..64790310e5 100644 --- a/source/g3tog4/src/G4gsdvt2.cc +++ b/source/g3tog4/src/G4gsdvt2.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsdvt2.cc,v 1.7 2006/06/29 18:14:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, V.Berejnoi, 29 Oct 99 diff --git a/source/g3tog4/src/G4gsdvx.cc b/source/g3tog4/src/G4gsdvx.cc index 503415b9b1..cb83537263 100644 --- a/source/g3tog4/src/G4gsdvx.cc +++ b/source/g3tog4/src/G4gsdvx.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsdvx.cc,v 1.5 2006/06/29 18:14:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, V.Berejnoi, 27 Sep 99 diff --git a/source/g3tog4/src/G4gsmate.cc b/source/g3tog4/src/G4gsmate.cc index 45bfe59c1f..6a0107978e 100644 --- a/source/g3tog4/src/G4gsmate.cc +++ b/source/g3tog4/src/G4gsmate.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsmate.cc,v 1.12 2006/06/29 18:14:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G4gsmixt.cc b/source/g3tog4/src/G4gsmixt.cc index 67541e9c20..991a068b04 100644 --- a/source/g3tog4/src/G4gsmixt.cc +++ b/source/g3tog4/src/G4gsmixt.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsmixt.cc,v 1.13 2006/06/29 18:14:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, 27 Sep 99 diff --git a/source/g3tog4/src/G4gspart.cc b/source/g3tog4/src/G4gspart.cc index b4babd7714..2f4b9d905b 100644 --- a/source/g3tog4/src/G4gspart.cc +++ b/source/g3tog4/src/G4gspart.cc @@ -25,7 +25,7 @@ // // // $Id: G4gspart.cc,v 1.7 2006/06/29 18:14:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4ProcessManager.hh" #include "G3toG4.hh" diff --git a/source/g3tog4/src/G4gspos.cc b/source/g3tog4/src/G4gspos.cc index 322f938357..25b11ba645 100644 --- a/source/g3tog4/src/G4gspos.cc +++ b/source/g3tog4/src/G4gspos.cc @@ -25,7 +25,7 @@ // // // $Id: G4gspos.cc,v 1.13 2006/06/29 18:14:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G4gsposp.cc b/source/g3tog4/src/G4gsposp.cc index 37bc388874..d95b4db2be 100644 --- a/source/g3tog4/src/G4gsposp.cc +++ b/source/g3tog4/src/G4gsposp.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsposp.cc,v 1.16 2006/06/29 18:14:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/G4gsrotm.cc b/source/g3tog4/src/G4gsrotm.cc index cfe3a03f4d..5dd3523aed 100644 --- a/source/g3tog4/src/G4gsrotm.cc +++ b/source/g3tog4/src/G4gsrotm.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsrotm.cc,v 1.12 2006/06/29 18:14:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G3toG4.hh" #include "G3RotTable.hh" diff --git a/source/g3tog4/src/G4gstmed.cc b/source/g3tog4/src/G4gstmed.cc index 0e9dfa1aa6..6aa7700a2d 100644 --- a/source/g3tog4/src/G4gstmed.cc +++ b/source/g3tog4/src/G4gstmed.cc @@ -25,7 +25,7 @@ // // // $Id: G4gstmed.cc,v 1.7 2006/06/29 18:15:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // The last G4int argument of G4gstmed(..) is used for sending // info whether the Geant3 tracking medium parameters should diff --git a/source/g3tog4/src/G4gstpar.cc b/source/g3tog4/src/G4gstpar.cc index 190d89689b..0b082fadf0 100644 --- a/source/g3tog4/src/G4gstpar.cc +++ b/source/g3tog4/src/G4gstpar.cc @@ -25,7 +25,7 @@ // // // $Id: G4gstpar.cc,v 1.8 2006/06/29 18:15:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G3toG4.hh" #include "G3VolTable.hh" diff --git a/source/g3tog4/src/G4gsvolu.cc b/source/g3tog4/src/G4gsvolu.cc index 30212470b1..f0bcb85e61 100644 --- a/source/g3tog4/src/G4gsvolu.cc +++ b/source/g3tog4/src/G4gsvolu.cc @@ -25,7 +25,7 @@ // // // $Id: G4gsvolu.cc,v 1.10 2006/06/29 18:15:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by I.Hrivnacova, 13.10.99 diff --git a/source/g3tog4/src/clparse.cc b/source/g3tog4/src/clparse.cc index 076515be0b..5d88f8b96d 100644 --- a/source/g3tog4/src/clparse.cc +++ b/source/g3tog4/src/clparse.cc @@ -25,7 +25,7 @@ // // // $Id: clparse.cc,v 1.18 2006/06/29 18:15:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // modified by I.Hrivnacova // added G3SensVol diff --git a/source/g3tog4/src/g3routines.F b/source/g3tog4/src/g3routines.F index 4614a688f4..51b0e3e2c9 100644 --- a/source/g3tog4/src/g3routines.F +++ b/source/g3tog4/src/g3routines.F @@ -25,7 +25,7 @@ * * * $Id: g3routines.F,v 1.5 2006/06/29 18:15:10 gunter Exp $ -* GEANT4 tag $Name: geant4-08-02 $ +* GEANT4 tag $Name: geant4-09-00 $ * #define CALL_GEANT diff --git a/source/g3tog4/src/g3test.F.main b/source/g3tog4/src/g3test.F.main index 2a308ba345..f6f739dddc 100644 --- a/source/g3tog4/src/g3test.F.main +++ b/source/g3tog4/src/g3test.F.main @@ -6,7 +6,7 @@ * and all its terms. * * $Id: g3test.F.main,v 1.2 1999/12/05 17:50:16 gcosmo Exp $ -* GEANT4 tag $Name: geant4-08-02 $ +* GEANT4 tag $Name: geant4-09-00 $ * * * g3test diff --git a/source/g3tog4/src/g3tog4.F b/source/g3tog4/src/g3tog4.F index 2527946f42..6dfff2e1d3 100644 --- a/source/g3tog4/src/g3tog4.F +++ b/source/g3tog4/src/g3tog4.F @@ -25,7 +25,7 @@ * * * $Id: g3tog4.F,v 1.5 2006/06/29 18:15:12 gunter Exp $ -* GEANT4 tag $Name: geant4-08-02 $ +* GEANT4 tag $Name: geant4-09-00 $ * * * G3toG4 diff --git a/source/g3tog4/src/g4geom.cc.main b/source/g3tog4/src/g4geom.cc.main index ba5e25a505..fddc199e28 100644 --- a/source/g3tog4/src/g4geom.cc.main +++ b/source/g3tog4/src/g4geom.cc.main @@ -6,7 +6,7 @@ // and all its terms. // // $Id: g4geom.cc.main,v 1.2 1999/12/05 17:50:17 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // g4geom // diff --git a/source/g3tog4/src/jshape.F b/source/g3tog4/src/jshape.F index 9c9807dc16..2310c234c8 100644 --- a/source/g3tog4/src/jshape.F +++ b/source/g3tog4/src/jshape.F @@ -25,7 +25,7 @@ * * * $Id: jshape.F,v 1.4 2006/06/29 18:15:14 gunter Exp $ -* GEANT4 tag $Name: geant4-08-02 $ +* GEANT4 tag $Name: geant4-09-00 $ * * *-- Author : Jouko Vuoskoski, CERN, Jouko.Vuoskoski@cern.ch diff --git a/source/g3tog4/src/mztog4.F b/source/g3tog4/src/mztog4.F index 6394021095..56b24577d1 100644 --- a/source/g3tog4/src/mztog4.F +++ b/source/g3tog4/src/mztog4.F @@ -25,7 +25,7 @@ * * * $Id: mztog4.F,v 1.4 2006/06/29 18:15:16 gunter Exp $ -* GEANT4 tag $Name: geant4-08-02 $ +* GEANT4 tag $Name: geant4-09-00 $ * subroutine mztog4 ************************************************************************ diff --git a/source/g3tog4/src/rztog4.F b/source/g3tog4/src/rztog4.F index 194cddde9d..1cf063567c 100644 --- a/source/g3tog4/src/rztog4.F +++ b/source/g3tog4/src/rztog4.F @@ -25,7 +25,7 @@ * * * $Id: rztog4.F,v 1.4 2006/06/29 18:15:18 gunter Exp $ -* GEANT4 tag $Name: geant4-08-02 $ +* GEANT4 tag $Name: geant4-09-00 $ * program rztog4 ************************************************************************ diff --git a/source/g3tog4/src/tog4.F b/source/g3tog4/src/tog4.F index 77575107c6..6172f3ab78 100644 --- a/source/g3tog4/src/tog4.F +++ b/source/g3tog4/src/tog4.F @@ -25,7 +25,7 @@ * * * $Id: tog4.F,v 1.5 2006/06/29 18:15:21 gunter Exp $ -* GEANT4 tag $Name: geant4-08-02 $ +* GEANT4 tag $Name: geant4-09-00 $ * subroutine tog4 ************************************************************************ diff --git a/source/geometry/History b/source/geometry/History index 796188d082..dd1ec16be2 100644 --- a/source/geometry/History +++ b/source/geometry/History @@ -1,4 +1,4 @@ -$Id: History,v 1.36 2005/11/09 15:12:31 gcosmo Exp $ +$Id: History,v 1.39 2007/05/18 11:10:43 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,22 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May 18, 2007 Gabriele Cosmo geometry-V08-03-01 +----------------------------- +- Includes tags: geomdiv-V08-03-01, geomnav-V08-03-02, breps-V08-03-01, + geom-bool-V08-03-00, geom-csg-V08-03-01, + geom-specific-V08-03-01 and geom-solids-tests-V08-03-00. +- Use kAngTolerance and kRadTolerance from G4GeometryTolerance class. +- Coworks with tag "global-V08-03-03". + +May 11, 2007 Gabriele Cosmo geometry-V08-03-00 +----------------------------- +- Includes tags: geomvol-V08-03-00, geom-specific-V08-03-00, breps-V08-03-00, + geomnav-V08-03-00, geommng-V08-03-01, geomdiv-V08-03-00, + geombias-V08-03-00, field-V08-03-00. +- Use call to G4GeometryTolerance instead of kCarTolerance where needed. +- Requires tag "global-V08-03-00" and related tag set. + Nov 09, 2005 Gabriele Cosmo geometry-V07-01-00 ----------------------------- - Includes tags: geomsolids-V07-01-00, geomvol-V07-01-02, geombias-V07-01-00, diff --git a/source/geometry/biasing/History b/source/geometry/biasing/History index 7ecbf8773a..7f11c74317 100644 --- a/source/geometry/biasing/History +++ b/source/geometry/biasing/History @@ -1,4 +1,4 @@ -$Id: History,v 1.39 2005/11/09 14:47:39 gcosmo Exp $ +$Id: History,v 1.43 2007/06/04 13:05:14 ahoward Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,28 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +June 4th, 2007 A.Howard geombias-V08-03-02 + - Put back some missing store and scoring classes: + G4IStore, G4VCellScorerstore, G4VCellScorer + +May 31st, 2007 A.Howard geombias-V08-03-01 + - Removed classes from old biasing scheme. These are now replaced by + either CoupledTransportation (parallel navigation) or in + processe/biasing. In addition the scoring is implemented with the new + scoring frame-work (digits_hits) and processes/scoring. + - The following classes are removed: + G4IStore, G4ParallelNavigator, G4ParallelStepper, G4ParallelWorld, + G4VCellScorer, G4VCellScorerStore, G4VIStore, G4VParallelStepper, + G4VPGeoDriver, G4VScorer, G4ImportanceSplitExaminer, + G4VImportanceSplitExaminer, G4VWeightWindowExaminer, + G4WeightWindowExaminer + - Classes are kept in the HEAD for testing purposes. + +May 11th, 2007 G.Cosmo geombias-V08-03-00 + - Use call to G4GeometryTolerance instead of kCarTolerance constant in + G4ParallelNavigator. + - Requires tag "global-V08-03-00" and related tag set. + Nov, 9th 2005 G.Cosmo geombias-V07-01-00 - Implemented migration to for affected classes: G4ParallelNavigator and G4ImportanceAlgorithm. diff --git a/source/geometry/biasing/include/G4GeometryCell.hh b/source/geometry/biasing/include/G4GeometryCell.hh index cf6c07746d..73d1d89b94 100644 --- a/source/geometry/biasing/include/G4GeometryCell.hh +++ b/source/geometry/biasing/include/G4GeometryCell.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeometryCell.hh,v 1.6 2006/06/29 18:15:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4GeometryCell diff --git a/source/geometry/biasing/include/G4GeometryCellComp.hh b/source/geometry/biasing/include/G4GeometryCellComp.hh index 264bc8af5d..126ff8873e 100644 --- a/source/geometry/biasing/include/G4GeometryCellComp.hh +++ b/source/geometry/biasing/include/G4GeometryCellComp.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeometryCellComp.hh,v 1.2 2006/06/29 18:15:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4GeometryCellComp diff --git a/source/geometry/biasing/include/G4GeometryCellImportance.hh b/source/geometry/biasing/include/G4GeometryCellImportance.hh index 4c06be2c79..7ffbb51436 100644 --- a/source/geometry/biasing/include/G4GeometryCellImportance.hh +++ b/source/geometry/biasing/include/G4GeometryCellImportance.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeometryCellImportance.hh,v 1.4 2006/06/29 18:15:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4GeometryCellImportance diff --git a/source/geometry/biasing/include/G4GeometryCellStep.hh b/source/geometry/biasing/include/G4GeometryCellStep.hh index ff51702b9c..0647c3f1bf 100644 --- a/source/geometry/biasing/include/G4GeometryCellStep.hh +++ b/source/geometry/biasing/include/G4GeometryCellStep.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeometryCellStep.hh,v 1.2 2006/06/29 18:15:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4GeometryCellStep diff --git a/source/geometry/biasing/include/G4GeometryCellStepStream.hh b/source/geometry/biasing/include/G4GeometryCellStepStream.hh index 820e0bf3f7..bdce6484fd 100644 --- a/source/geometry/biasing/include/G4GeometryCellStepStream.hh +++ b/source/geometry/biasing/include/G4GeometryCellStepStream.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeometryCellStepStream.hh,v 1.3 2006/06/29 18:15:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Declarations diff --git a/source/geometry/biasing/include/G4GeometryCellWeight.hh b/source/geometry/biasing/include/G4GeometryCellWeight.hh index 8640c03e71..003edac325 100644 --- a/source/geometry/biasing/include/G4GeometryCellWeight.hh +++ b/source/geometry/biasing/include/G4GeometryCellWeight.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeometryCellWeight.hh,v 1.3 2006/06/29 18:16:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4GeometryCellWeight diff --git a/source/geometry/biasing/include/G4IStore.hh b/source/geometry/biasing/include/G4IStore.hh index 6917ad40bb..d05482257a 100644 --- a/source/geometry/biasing/include/G4IStore.hh +++ b/source/geometry/biasing/include/G4IStore.hh @@ -25,7 +25,7 @@ // // // $Id: G4IStore.hh,v 1.10 2006/06/29 18:16:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4IStore diff --git a/source/geometry/biasing/include/G4ImportanceAlgorithm.hh b/source/geometry/biasing/include/G4ImportanceAlgorithm.hh index 5f21384d9a..d139f6c5ba 100644 --- a/source/geometry/biasing/include/G4ImportanceAlgorithm.hh +++ b/source/geometry/biasing/include/G4ImportanceAlgorithm.hh @@ -25,7 +25,7 @@ // // // $Id: G4ImportanceAlgorithm.hh,v 1.7 2006/06/29 18:16:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4ImportanceAlgorithm diff --git a/source/geometry/biasing/include/G4ImportanceSplitExaminer.hh b/source/geometry/biasing/include/G4ImportanceSplitExaminer.hh deleted file mode 100644 index 96edbf36f7..0000000000 --- a/source/geometry/biasing/include/G4ImportanceSplitExaminer.hh +++ /dev/null @@ -1,80 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ImportanceSplitExaminer.hh,v 1.8 2006/06/29 18:16:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ImportanceSplitExaminer -// -// Class description: -// -// This class is used internally by importance sampling. -// Implementation of a importance split examiner -// (see G4VImportanceSplitExaminer). -// This implementation is used for sampling in a "parallel" -// geometry. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4ImportanceSplitExaminer_hh -#define G4ImportanceSplitExaminer_hh G4ImportanceSplitExaminer_hh - -#include "G4VImportanceSplitExaminer.hh" - -class G4VImportanceAlgorithm; -class G4VParallelStepper; -class G4VIStore; - -class G4ImportanceSplitExaminer: public G4VImportanceSplitExaminer -{ - -public: // with description - - G4ImportanceSplitExaminer(const G4VImportanceAlgorithm &aIalg, - const G4VParallelStepper &astepper, - const G4VIStore &istore); - - virtual ~G4ImportanceSplitExaminer(); - - virtual G4Nsplit_Weight Examine(G4double w) const; - // Get G4Nsplit_Weight for a given mother track weight. - - -private: - - G4ImportanceSplitExaminer(const G4ImportanceSplitExaminer &); - G4ImportanceSplitExaminer &operator=(const G4ImportanceSplitExaminer &); - -private: - - const G4VImportanceAlgorithm &fIalgorithm; - const G4VParallelStepper &fPStepper; - const G4VIStore &fIStore; -}; - - -#endif diff --git a/source/geometry/biasing/include/G4Nsplit_Weight.hh b/source/geometry/biasing/include/G4Nsplit_Weight.hh index 9d842e365e..32eedd8a76 100644 --- a/source/geometry/biasing/include/G4Nsplit_Weight.hh +++ b/source/geometry/biasing/include/G4Nsplit_Weight.hh @@ -25,7 +25,7 @@ // // // $Id: G4Nsplit_Weight.hh,v 1.11 2006/06/29 18:16:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Nsplit_Weight diff --git a/source/geometry/biasing/include/G4ParallelNavigator.hh b/source/geometry/biasing/include/G4ParallelNavigator.hh deleted file mode 100644 index bd7ed662f6..0000000000 --- a/source/geometry/biasing/include/G4ParallelNavigator.hh +++ /dev/null @@ -1,146 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelNavigator.hh,v 1.10 2006/06/29 18:16:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ParallelNavigator -// -// Class description: -// -// Used internaly for importance sampling and scoring in a "parallel" -// geometry. -// It implements the interface G4VPGeoDriver (see G4VPGeoDriver.hh). -// It uses a G4Navigator. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4ParallelNavigator_hh -#define G4ParallelNavigator_hh G4ParallelNavigator_hh - -#include "G4VPGeoDriver.hh" -#include "geomdefs.hh" - -#include "G4TouchableHandle.hh" -#include "G4Navigator.hh" - -class G4GeometryCell ; -class G4VPhysicalVolume; - -class G4ParallelNavigator : public G4VPGeoDriver -{ - -public: // with description - - explicit G4ParallelNavigator(G4VPhysicalVolume &aWorldVolume); - // initialise and create G4Navigator and a TouchableHistory - - virtual ~G4ParallelNavigator(); - // delete Touchable and Navigator - - virtual G4GeometryCell - LocateOnBoundary(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection); - // The location of a track according to it's position - // and direction in case the track crosses a boundary - // of a "parallel" geometry. - // Must be called in the PostDOIT of the ParallelTransportation. - // (The track crosses the boundary if PostDOIT gets called.) - - - virtual G4GeometryCell GetCurrentGeometryCell() const; - // get the current G4GeometryCell of the "parallel" geometry - - virtual G4double - ComputeStepLengthInit(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection); - // compute step length for a starting track. - - virtual G4double - ComputeStepLengthCrossBoundary(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection); - // compute the step length after a track crossed a boundary - // in a "parallel" geometry - - virtual G4double - ComputeStepLengthInVolume(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection); - // compute step length when track moves inside a volume. - - void SetVerboseity(G4int v); - -private: - - G4ParallelNavigator(const G4ParallelNavigator &); - G4ParallelNavigator &operator=(const G4ParallelNavigator &); - - G4double ComputeStepLengthShifted(const G4String &m, - const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection); - - G4double GetStepLength(const G4String &methodname, - const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection); - - G4double GetStepLengthUseLocate(const G4String &methodname, - const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection); - - void Locate(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection, - G4bool historysearch, - G4bool useDirection); - - void Error(const G4String &m, - const G4ThreeVector &pos, - const G4ThreeVector &dir); - - G4double Shift(G4double d); - -private: - - G4Navigator fNavigator; - G4int fNlocated; - G4int fMaxShiftedTrys; - G4TouchableHandle fCurrentTouchableH; - G4int fVerbose; -}; - -#endif - - - - - - - - - - - - - diff --git a/source/geometry/biasing/include/G4VCellScorer.hh b/source/geometry/biasing/include/G4VCellScorer.hh index 761e7400cd..4dff1de650 100644 --- a/source/geometry/biasing/include/G4VCellScorer.hh +++ b/source/geometry/biasing/include/G4VCellScorer.hh @@ -25,7 +25,7 @@ // // // $Id: G4VCellScorer.hh,v 1.7 2006/06/29 18:16:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4VCellScorer diff --git a/source/geometry/biasing/include/G4VCellScorerStore.hh b/source/geometry/biasing/include/G4VCellScorerStore.hh index 10274431dc..a6da90b1c3 100644 --- a/source/geometry/biasing/include/G4VCellScorerStore.hh +++ b/source/geometry/biasing/include/G4VCellScorerStore.hh @@ -25,7 +25,7 @@ // // // $Id: G4VCellScorerStore.hh,v 1.7 2006/06/29 18:16:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4VCellScorerStore diff --git a/source/geometry/biasing/include/G4VGCellFinder.hh b/source/geometry/biasing/include/G4VGCellFinder.hh index d872ada3c1..9e9ef8f6ba 100644 --- a/source/geometry/biasing/include/G4VGCellFinder.hh +++ b/source/geometry/biasing/include/G4VGCellFinder.hh @@ -25,7 +25,7 @@ // // // $Id: G4VGCellFinder.hh,v 1.2 2006/06/29 18:16:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4VGCellFinder diff --git a/source/geometry/biasing/include/G4VIStore.hh b/source/geometry/biasing/include/G4VIStore.hh index 75b0a1eeee..05f53d12e7 100644 --- a/source/geometry/biasing/include/G4VIStore.hh +++ b/source/geometry/biasing/include/G4VIStore.hh @@ -25,7 +25,7 @@ // // // $Id: G4VIStore.hh,v 1.9 2006/06/29 18:16:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4VIStore diff --git a/source/geometry/biasing/include/G4VImportanceAlgorithm.hh b/source/geometry/biasing/include/G4VImportanceAlgorithm.hh index 2efc907fce..f4ed37d2d4 100644 --- a/source/geometry/biasing/include/G4VImportanceAlgorithm.hh +++ b/source/geometry/biasing/include/G4VImportanceAlgorithm.hh @@ -25,7 +25,7 @@ // // // $Id: G4VImportanceAlgorithm.hh,v 1.8 2006/06/29 18:16:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4VImportanceAlgorithm diff --git a/source/geometry/biasing/include/G4VImportanceSplitExaminer.hh b/source/geometry/biasing/include/G4VImportanceSplitExaminer.hh index 2f0c08156f..bc8474f381 100644 --- a/source/geometry/biasing/include/G4VImportanceSplitExaminer.hh +++ b/source/geometry/biasing/include/G4VImportanceSplitExaminer.hh @@ -25,7 +25,7 @@ // // // $Id: G4VImportanceSplitExaminer.hh,v 1.5 2006/06/29 18:16:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4VImportanceSplitExaminer diff --git a/source/geometry/biasing/include/G4VPGeoDriver.hh b/source/geometry/biasing/include/G4VPGeoDriver.hh deleted file mode 100644 index 014448eea1..0000000000 --- a/source/geometry/biasing/include/G4VPGeoDriver.hh +++ /dev/null @@ -1,85 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4VPGeoDriver.hh,v 1.7 2006/06/29 18:16:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4VPGeoDriver -// -// Class description: -// -// Used internally by importance sampling and scoring in a "parallel" -// geometry. -// It defines an interface to "drive" or "move" a particle in a -// "parallel" geometry. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4VPGeoDriver_hh -#define G4VPGeoDriver_hh G4VPGeoDriver_hh - -#include "globals.hh" -#include "G4ThreeVector.hh" -#include "G4GeometryCell.hh" - -class G4VPhysicalVolume; - -class G4VPGeoDriver -{ - -public: // with description - - G4VPGeoDriver(); - virtual ~G4VPGeoDriver(); - - virtual G4GeometryCell LocateOnBoundary(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection) = 0; - // The location of a track according to it's position - // and direction in case the track crosses a boundary - // of a "parallel" geometry. - // Must be called in the PostDOIT of the ParallelTransportation. - // (The track crosses the boundary if PostDOIT gets called.) - - virtual G4GeometryCell GetCurrentGeometryCell() const = 0; - // get the current G4GeometryCell of the "parallel" geometry - - virtual G4double ComputeStepLengthInit(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection) = 0; - // compute step length for a starting track. - - virtual G4double ComputeStepLengthCrossBoundary(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection) = 0; - // compute the step length after a track crossed a boundary - // in a "parallel" geometry - - virtual G4double ComputeStepLengthInVolume(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection) = 0; - // compute step length when track moves inside a volume. - -}; - -#endif diff --git a/source/geometry/biasing/include/G4VParallelStepper.hh b/source/geometry/biasing/include/G4VParallelStepper.hh deleted file mode 100644 index 989ec67ffe..0000000000 --- a/source/geometry/biasing/include/G4VParallelStepper.hh +++ /dev/null @@ -1,73 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4VParallelStepper.hh,v 1.8 2006/06/29 18:16:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4VParallelStepper -// -// Class description: -// -// This interface is used internally by importance sampling and scoring -// in a "parallel" geometry. -// It abstracts a parallel stepper which servs to comunicate -// information about a G4GeometryCellStep between the "transportation" -// (done by G4ParallelTransport) of a track in a "parallel" geometry -// and a scorer for that geometry. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4VParallelStepper_hh -#define G4VParallelStepper_hh G4VParallelStepper_hh - -#include "G4GeometryCellStep.hh" - -class G4VParallelStepper -{ - -public: // with description - - G4VParallelStepper(); - virtual ~G4VParallelStepper(); - - virtual G4GeometryCellStep GetPStep() const = 0; - // get the current G4GeometryCellStep - - virtual void Init(const G4GeometryCell &agCell) = 0; - // initialise the parallel stepper and the G4GeometryCellStep - // pre and post G4GeometryCell of the step are set equal - - virtual void Update(const G4GeometryCell &agCell) = 0; - // to be called when crossing a boundary of the - // "parallel" geometry to update the G4GeometryCellStep - - virtual void UnSetCrossBoundary() = 0; - // to be called to unset the fCrossBoundary member of the G4GeometryCellStep - -}; - -#endif diff --git a/source/geometry/biasing/include/G4VWeightWindowAlgorithm.hh b/source/geometry/biasing/include/G4VWeightWindowAlgorithm.hh index cab1aec54e..ad25b99e22 100644 --- a/source/geometry/biasing/include/G4VWeightWindowAlgorithm.hh +++ b/source/geometry/biasing/include/G4VWeightWindowAlgorithm.hh @@ -25,7 +25,7 @@ // // // $Id: G4VWeightWindowAlgorithm.hh,v 1.8 2006/06/29 18:16:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4VWeightWindowAlgorithm diff --git a/source/geometry/biasing/include/G4VWeightWindowStore.hh b/source/geometry/biasing/include/G4VWeightWindowStore.hh index 95b696b05c..798d6e0669 100644 --- a/source/geometry/biasing/include/G4VWeightWindowStore.hh +++ b/source/geometry/biasing/include/G4VWeightWindowStore.hh @@ -25,7 +25,7 @@ // // // $Id: G4VWeightWindowStore.hh,v 1.3 2006/06/29 18:16:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4VWeightWindowStore diff --git a/source/geometry/biasing/include/G4WeightWindowAlgorithm.hh b/source/geometry/biasing/include/G4WeightWindowAlgorithm.hh index 9aec6d1618..4d327904e5 100644 --- a/source/geometry/biasing/include/G4WeightWindowAlgorithm.hh +++ b/source/geometry/biasing/include/G4WeightWindowAlgorithm.hh @@ -25,7 +25,7 @@ // // // $Id: G4WeightWindowAlgorithm.hh,v 1.7 2006/06/29 18:16:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4WeightWindowAlgorithm diff --git a/source/geometry/biasing/include/G4WeightWindowExaminer.hh b/source/geometry/biasing/include/G4WeightWindowExaminer.hh deleted file mode 100644 index fe71b7a419..0000000000 --- a/source/geometry/biasing/include/G4WeightWindowExaminer.hh +++ /dev/null @@ -1,82 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4WeightWindowExaminer.hh,v 1.3 2006/06/29 18:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4WeightWindowExaminer -// -// Class description: -// -// Implementation of an weight window examiner according to -// G4VWeightWindowExaminer interface. -// See also description in G4VWeightWindowExaminer.hh - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4WeightWindowExaminer_hh -#define G4WeightWindowExaminer_hh G4WeightWindowExaminer_hh - -#include "G4VWeightWindowExaminer.hh" - -class G4VWeightWindowAlgorithm; -class G4VParallelStepper; -class G4VWeightWindowStore; - -class G4WeightWindowExaminer: public G4VWeightWindowExaminer -{ - -public: // with description - - G4WeightWindowExaminer(const G4VWeightWindowAlgorithm &aWWalg, - const G4VParallelStepper &astepper, - const G4VWeightWindowStore &wwstore); - // constructor - - virtual ~G4WeightWindowExaminer(); - // destructor - - virtual G4Nsplit_Weight Examine(G4double w, G4double energy) const; - // evaluate the number of tracks and their weight according - // to the initial track weight and energy - - - -private: - - G4WeightWindowExaminer(const G4WeightWindowExaminer &); - G4WeightWindowExaminer &operator=(const G4WeightWindowExaminer &); - -private: - - const G4VWeightWindowAlgorithm &fWWalgorithm; - const G4VParallelStepper &fPStepper; - const G4VWeightWindowStore &fWWStore; -}; - - -#endif diff --git a/source/geometry/biasing/include/G4WeightWindowStore.hh b/source/geometry/biasing/include/G4WeightWindowStore.hh index 66e5953a89..c801b3ab9f 100644 --- a/source/geometry/biasing/include/G4WeightWindowStore.hh +++ b/source/geometry/biasing/include/G4WeightWindowStore.hh @@ -25,7 +25,7 @@ // // // $Id: G4WeightWindowStore.hh,v 1.3 2006/06/29 18:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4WeightWindowStore diff --git a/source/geometry/biasing/src/G4GeometryCell.cc b/source/geometry/biasing/src/G4GeometryCell.cc index 2a0ed7b866..ad82ca21a1 100644 --- a/source/geometry/biasing/src/G4GeometryCell.cc +++ b/source/geometry/biasing/src/G4GeometryCell.cc @@ -25,7 +25,7 @@ // // // $Id: G4GeometryCell.cc,v 1.6 2006/06/29 18:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4GeometryCellComp.cc b/source/geometry/biasing/src/G4GeometryCellComp.cc index 2a2b331f2b..c310f921fe 100644 --- a/source/geometry/biasing/src/G4GeometryCellComp.cc +++ b/source/geometry/biasing/src/G4GeometryCellComp.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4GeometryCellComp.cc,v 1.4 2006/06/29 18:17:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4GeometryCellImportance.cc b/source/geometry/biasing/src/G4GeometryCellImportance.cc index c1269ecaf0..3e1fd62857 100644 --- a/source/geometry/biasing/src/G4GeometryCellImportance.cc +++ b/source/geometry/biasing/src/G4GeometryCellImportance.cc @@ -25,7 +25,7 @@ // // // $Id: G4GeometryCellImportance.cc,v 1.5 2006/06/29 18:17:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4GeometryCellStep.cc b/source/geometry/biasing/src/G4GeometryCellStep.cc index 471b624f5f..dc88a4db0f 100644 --- a/source/geometry/biasing/src/G4GeometryCellStep.cc +++ b/source/geometry/biasing/src/G4GeometryCellStep.cc @@ -25,7 +25,7 @@ // // // $Id: G4GeometryCellStep.cc,v 1.2 2006/06/29 18:17:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4GeometryCellStepStream.cc b/source/geometry/biasing/src/G4GeometryCellStepStream.cc index 5a5b66614d..bfd2a536f1 100644 --- a/source/geometry/biasing/src/G4GeometryCellStepStream.cc +++ b/source/geometry/biasing/src/G4GeometryCellStepStream.cc @@ -25,7 +25,7 @@ // // // $Id: G4GeometryCellStepStream.cc,v 1.3 2006/06/29 18:17:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4IStore.cc b/source/geometry/biasing/src/G4IStore.cc index bd9b74265d..acf63949de 100644 --- a/source/geometry/biasing/src/G4IStore.cc +++ b/source/geometry/biasing/src/G4IStore.cc @@ -25,7 +25,7 @@ // // // $Id: G4IStore.cc,v 1.14 2006/06/29 18:17:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4ImportanceAlgorithm.cc b/source/geometry/biasing/src/G4ImportanceAlgorithm.cc index 7cbdac2391..9e1db8bf4d 100644 --- a/source/geometry/biasing/src/G4ImportanceAlgorithm.cc +++ b/source/geometry/biasing/src/G4ImportanceAlgorithm.cc @@ -25,7 +25,7 @@ // // // $Id: G4ImportanceAlgorithm.cc,v 1.14 2006/06/29 18:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4ImportanceSplitExaminer.cc b/source/geometry/biasing/src/G4ImportanceSplitExaminer.cc deleted file mode 100644 index 80b302ff4b..0000000000 --- a/source/geometry/biasing/src/G4ImportanceSplitExaminer.cc +++ /dev/null @@ -1,63 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ImportanceSplitExaminer.cc,v 1.8 2006/06/29 18:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4ImportanceSplitExaminer.cc -// -// ---------------------------------------------------------------------- - -#include "G4ImportanceSplitExaminer.hh" -#include "G4VParallelStepper.hh" -#include "G4VImportanceAlgorithm.hh" -#include "G4VIStore.hh" - -G4ImportanceSplitExaminer:: -G4ImportanceSplitExaminer(const G4VImportanceAlgorithm &aIalg, - const G4VParallelStepper &astepper, - const G4VIStore &istore) - : fIalgorithm(aIalg), - fPStepper(astepper), - fIStore(istore) -{} - -G4ImportanceSplitExaminer::~G4ImportanceSplitExaminer() -{} - - -G4Nsplit_Weight G4ImportanceSplitExaminer::Examine(G4double w) const -{ - G4GeometryCellStep pstep = fPStepper.GetPStep(); - G4Nsplit_Weight nw = fIalgorithm. - Calculate(fIStore.GetImportance(pstep.GetPreGeometryCell()), - fIStore.GetImportance(pstep.GetPostGeometryCell()), - w); - return nw; -} diff --git a/source/geometry/biasing/src/G4Nsplit_Weight.cc b/source/geometry/biasing/src/G4Nsplit_Weight.cc index ece6b9974e..63bc3033bb 100644 --- a/source/geometry/biasing/src/G4Nsplit_Weight.cc +++ b/source/geometry/biasing/src/G4Nsplit_Weight.cc @@ -25,7 +25,7 @@ // // // $Id: G4Nsplit_Weight.cc,v 1.10 2006/06/29 18:17:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4ParallelNavigator.cc b/source/geometry/biasing/src/G4ParallelNavigator.cc deleted file mode 100644 index d44882b059..0000000000 --- a/source/geometry/biasing/src/G4ParallelNavigator.cc +++ /dev/null @@ -1,282 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelNavigator.cc,v 1.20 2006/06/29 18:17:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4ParallelNavigator.cc -// -// ---------------------------------------------------------------------- - -#include "G4ParallelNavigator.hh" - -#include -#include "G4VParallelStepper.hh" - - -G4ParallelNavigator::G4ParallelNavigator(G4VPhysicalVolume &aWorldVolume) - : - fNlocated(0), - fMaxShiftedTrys(10), - fCurrentTouchableH((fNavigator.SetWorldVolume(&aWorldVolume), - fNavigator.CreateTouchableHistory())), - fVerbose(0) -{} - -G4ParallelNavigator::~G4ParallelNavigator() -{ -} - -// public functions - -G4GeometryCell G4ParallelNavigator:: -LocateOnBoundary(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection) -{/* - fNavigator->SetGeometricallyLimitedStep(); - fNavigator-> - LocateGlobalPointAndUpdateTouchableHandle( aPosition, - aDirection, - fCurrentTouchableH, - true); - fNlocated++; - */ - if (fVerbose>=2) { - G4cout.precision(12); - G4cout << "LOB: " << aPosition << ", " << aDirection << G4endl; - } - fNavigator.SetGeometricallyLimitedStep(); - Locate(aPosition, aDirection, true, false); - // since the track crosses a boundary ipdate stepper - G4GeometryCell g= GetCurrentGeometryCell(); - return g; -} - -G4double G4ParallelNavigator:: -ComputeStepLengthInit(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection) -{ - // initialization - fNlocated = 0; - if (fVerbose>=2) { - G4cout.precision(12); - G4cout << "CSInit: " << aPosition << ", " << aDirection << G4endl; - } - Locate(aPosition, aDirection, false, false); - return GetStepLength("ComputeStepLengthInit", - aPosition, aDirection); -} - -G4double G4ParallelNavigator:: -ComputeStepLengthCrossBoundary(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection) -{ - if (fNlocated == 0 ) { - Error("ComputeStepLengthCrossBoundary: no location done before call", - aPosition, aDirection); - } - if (fVerbose>=2) { - G4cout.precision(12); - G4cout << "CSCB: " << aPosition << ", " << aDirection << G4endl; - } - // if the track is on boundary the LocateOnBoundary was called - // in the DOIT of the ParalleTransport - - // but location in volume overcomes a problem with spheres - // fNavigator->LocateGlobalPointWithinVolume(aPosition); - return GetStepLength("ComputeStepLengthCrossBoundary", - aPosition, aDirection); -} - - -G4double G4ParallelNavigator:: -ComputeStepLengthInVolume(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection) -{ - if (fNlocated == 0 ) { - Error("ComputeStepLengthInVolume, no location done before call", - aPosition, aDirection); - } - if (fVerbose>=2) { - G4cout.precision(12); - G4cout << "CSinV: " << aPosition << ", " << aDirection << G4endl; - } - // if the track is not on the boundary and it's - // not the first step, the location must be inside the - // volume - - fNavigator.LocateGlobalPointWithinVolume(aPosition); - // Locate(aPosition, aDirection, true); // reduces stepLength<=0. calls - return GetStepLengthUseLocate("ComputeStepLengthInVolume", - aPosition, aDirection); -} - -// private functions - -void G4ParallelNavigator::Locate(const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection, - G4bool historysearch, - G4bool useDirection) -{ - if (fVerbose>=2) { - G4cout.precision(12); - G4cout << "Locate: " << aPosition << ", " << aDirection << G4endl; - } - fNavigator.LocateGlobalPointAndSetup( aPosition, - &aDirection, - historysearch, - !useDirection); - fCurrentTouchableH = fNavigator.CreateTouchableHistory(); - - fNlocated++; - - return; -} - - -G4double G4ParallelNavigator:: -GetStepLength(const G4String &methodname, - const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection) { - if (fVerbose>=2) { - G4cout.precision(12); - G4cout << "GetSL: " << aPosition << ", " << aDirection << G4endl; - } - G4double newSafety = 0.; - G4double stepLength = fNavigator.ComputeStep( aPosition, - aDirection, - kInfinity, - newSafety); - // if stepLength = 0 try shifting - if (stepLength<=2*kCarTolerance) { - stepLength = - ComputeStepLengthShifted(methodname, - aPosition, aDirection); - } - return stepLength; -} - -G4double G4ParallelNavigator:: -GetStepLengthUseLocate(const G4String &methodname, - const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection) { - if (fVerbose>=2) { - G4cout.precision(12); - G4cout << "GetSLuseLocate: " << aPosition << ", " << aDirection << G4endl; - } - G4double newSafety = 0; - G4double stepLength = fNavigator.ComputeStep( aPosition, aDirection, - kInfinity, newSafety); - // if stepLength = 0 try locate - if (stepLength<=2*kCarTolerance) { - Locate(aPosition, aDirection, true, true); - stepLength = GetStepLength(methodname + - "form GetStepLengthUseLocate", - aPosition, - aDirection); - } - return stepLength; -} - - -G4double -G4ParallelNavigator:: -ComputeStepLengthShifted(const G4String &m, - const G4ThreeVector &aPosition, - const G4ThreeVector &aDirection) -{ - G4ThreeVector shift_pos(aPosition); - G4double stepLength = 0.; - G4int trys = 0; - while (stepLength<=2*kCarTolerance && trys < fMaxShiftedTrys) { - shift_pos+=G4ThreeVector(Shift(aDirection.x()), - Shift(aDirection.y()), - Shift(aDirection.z())); - if (fVerbose>=1 || trys >= fMaxShiftedTrys - 1) { - G4cout << "G4ParallelNavigator::ComputeStepLengthShifted: invoked by: " - << m << G4endl; - G4cout << " trys = " - << ++trys << G4endl; - G4cout.precision(12); - G4cout << " shifted position: " << shift_pos - << ", direction: " << aDirection << G4endl; - } - fNavigator.SetGeometricallyLimitedStep(); - Locate(shift_pos, aDirection, true, false); // to get into the correct volume - G4double newSafety = 0; - fNavigator.LocateGlobalPointWithinVolume(aPosition); // to place at the correct position - stepLength = fNavigator.ComputeStep( aPosition, aDirection, - kInfinity, newSafety); - } - if (stepLength<=kCarTolerance) { - std::ostringstream os; - os << "still got stepLength<=kCarTolerance: " - << shift_pos - << "\n" - << '\0'; - G4String m = os.str(); - Error(m, aPosition, aDirection); - } - return stepLength; -} - -G4GeometryCell G4ParallelNavigator::GetCurrentGeometryCell() const -{ - return G4GeometryCell(*fCurrentTouchableH->GetVolume(), - fCurrentTouchableH->GetReplicaNumber()); -} - - -void G4ParallelNavigator::SetVerboseity(G4int v) { - fVerbose = v; -} - -void G4ParallelNavigator::Error(const G4String &m, - const G4ThreeVector &pos, - const G4ThreeVector &dir) -{ - G4cerr << "ERROR - G4ParallelNavigator: " << m << G4endl - << " aPosition: " << pos << G4endl - << " dir: " << dir << G4endl; - G4Exception("G4ParallelNavigator::Error()", - "FatalException", FatalException, m); -} - -G4double G4ParallelNavigator::Shift(G4double d) -{ - G4double s(0); - G4double ds(10 * kCarTolerance); - if (d>0){ - s = ds; - } - else if (d<0) { - s = -1 * ds; - } - return s; -} diff --git a/source/geometry/biasing/src/G4ParallelStepper.cc b/source/geometry/biasing/src/G4ParallelStepper.cc deleted file mode 100644 index 3067ef60b1..0000000000 --- a/source/geometry/biasing/src/G4ParallelStepper.cc +++ /dev/null @@ -1,116 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelStepper.cc,v 1.12 2006/06/29 18:17:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4ParallelStepper.cc -// -// ---------------------------------------------------------------------- - -#include "G4ParallelStepper.hh" -#include "G4VPhysicalVolume.hh" - -G4ParallelStepper::G4ParallelStepper() : - G4VParallelStepper(), - fPStep(0) -{} - -G4ParallelStepper::~G4ParallelStepper() -{ - if (fPStep) { - delete fPStep; - } -} - -G4ParallelStepper::G4ParallelStepper(const G4ParallelStepper &rhs) - : G4VParallelStepper(), fPStep(new G4GeometryCellStep(rhs.GetPStep())) -{ - if (!fPStep) { - Error("G4ParallelStepper:: new failed to create a G4GeometryCellStep!"); - } -} - -G4ParallelStepper &G4ParallelStepper::operator=(const G4ParallelStepper &rhs) -{ - if (this != &rhs) { - fPStep = new G4GeometryCellStep(rhs.GetPStep()); - if (!fPStep) { - Error("operator=: new failed to create a G4GeometryCellStep!"); - } - } - return *this; -} - -G4GeometryCellStep G4ParallelStepper::GetPStep() const { - G4GeometryCellStep p = *fPStep; - return p; -} - - -void G4ParallelStepper::Init(const G4GeometryCell &agCell) -{ - if (!fPStep) { - fPStep = new G4GeometryCellStep(agCell, agCell); - if (!fPStep) { - Error("Init new failed to create a G4GeometryCellStep!"); - } - - } - else { - fPStep->SetPreGeometryCell(agCell); - fPStep->SetPostGeometryCell(agCell); - fPStep->SetCrossBoundary(false); - } -} - -void G4ParallelStepper::Update(const G4GeometryCell &agCell) -{ - if (!fPStep) { - Error("fPStep == 0, Init not called?"); - } - fPStep->SetPreGeometryCell(fPStep->GetPostGeometryCell()); - fPStep->SetPostGeometryCell(agCell); - fPStep->SetCrossBoundary(true); -} - -void G4ParallelStepper::UnSetCrossBoundary() -{ - if (!fPStep) { - Error("fPStep == 0, Init not called?"); - } - fPStep->SetCrossBoundary(false); -} - -void G4ParallelStepper::Error(const G4String &m) -{ - G4cout << "ERROR: in G4ParallelStepper: " << m << G4endl; - G4Exception("G4ParallelStepper::Error()", - "FatalException", FatalException, m); -} diff --git a/source/geometry/biasing/src/G4ParallelWorld.cc b/source/geometry/biasing/src/G4ParallelWorld.cc deleted file mode 100644 index 1cb63ceae4..0000000000 --- a/source/geometry/biasing/src/G4ParallelWorld.cc +++ /dev/null @@ -1,70 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelWorld.cc,v 1.8 2006/06/29 18:17:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4ParallelWorld.cc -// -// ---------------------------------------------------------------------- - -#include "G4ParallelWorld.hh" -#include "G4ParallelStepper.hh" -#include "G4ParallelNavigator.hh" -#include "G4VPhysicalVolume.hh" - -G4ParallelWorld::G4ParallelWorld(G4VPhysicalVolume &worldvolume) - : fPstepper(new G4ParallelStepper), - fPdriver(new G4ParallelNavigator(worldvolume)) -{ - if (!fPstepper) { - G4Exception("G4ParallelWorld::G4ParallelWorld()", "FatalException", - FatalException, "NULL stepper. Failure in creation."); - } - if (!fPdriver) { - G4Exception("G4ParallelWorld::G4ParallelWorld()", "FatalException", - FatalException, "NULL navigator driver. Failure in creation."); - } -} - -G4ParallelWorld::~G4ParallelWorld() -{ - delete fPdriver; - delete fPstepper; -} - -G4VParallelStepper &G4ParallelWorld::GetParallelStepper() -{ - return *fPstepper; -} - -G4VPGeoDriver &G4ParallelWorld::GetGeoDriver() -{ - return *fPdriver; -} diff --git a/source/geometry/biasing/src/G4VCellScorer.cc b/source/geometry/biasing/src/G4VCellScorer.cc index 5567a7a68e..738323eed8 100644 --- a/source/geometry/biasing/src/G4VCellScorer.cc +++ b/source/geometry/biasing/src/G4VCellScorer.cc @@ -25,7 +25,7 @@ // // // $Id: G4VCellScorer.cc,v 1.6 2006/06/29 18:17:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VCellScorerStore.cc b/source/geometry/biasing/src/G4VCellScorerStore.cc index 982c0f52c1..dbf5430bbd 100644 --- a/source/geometry/biasing/src/G4VCellScorerStore.cc +++ b/source/geometry/biasing/src/G4VCellScorerStore.cc @@ -25,7 +25,7 @@ // // // $Id: G4VCellScorerStore.cc,v 1.4 2006/06/29 18:17:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VGCellFinder.cc b/source/geometry/biasing/src/G4VGCellFinder.cc index dcc609c446..5f13eef621 100644 --- a/source/geometry/biasing/src/G4VGCellFinder.cc +++ b/source/geometry/biasing/src/G4VGCellFinder.cc @@ -25,7 +25,7 @@ // // // $Id: G4VGCellFinder.cc,v 1.2 2006/06/29 18:17:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VIStore.cc b/source/geometry/biasing/src/G4VIStore.cc index bcadede4b4..ded50d3633 100644 --- a/source/geometry/biasing/src/G4VIStore.cc +++ b/source/geometry/biasing/src/G4VIStore.cc @@ -25,7 +25,7 @@ // // // $Id: G4VIStore.cc,v 1.2 2006/06/29 18:17:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VImportanceAlgorithm.cc b/source/geometry/biasing/src/G4VImportanceAlgorithm.cc index 963410ecae..dc37b76586 100644 --- a/source/geometry/biasing/src/G4VImportanceAlgorithm.cc +++ b/source/geometry/biasing/src/G4VImportanceAlgorithm.cc @@ -25,7 +25,7 @@ // // // $Id: G4VImportanceAlgorithm.cc,v 1.2 2006/06/29 18:17:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VImportanceSplitExaminer.cc b/source/geometry/biasing/src/G4VImportanceSplitExaminer.cc index a5a536f1b9..6b432a730b 100644 --- a/source/geometry/biasing/src/G4VImportanceSplitExaminer.cc +++ b/source/geometry/biasing/src/G4VImportanceSplitExaminer.cc @@ -25,7 +25,7 @@ // // // $Id: G4VImportanceSplitExaminer.cc,v 1.2 2006/06/29 18:17:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VWeightWindowAlgorithm.cc b/source/geometry/biasing/src/G4VWeightWindowAlgorithm.cc index 046fb59dff..61ed48e85d 100644 --- a/source/geometry/biasing/src/G4VWeightWindowAlgorithm.cc +++ b/source/geometry/biasing/src/G4VWeightWindowAlgorithm.cc @@ -25,7 +25,7 @@ // // // $Id: G4VWeightWindowAlgorithm.cc,v 1.2 2006/06/29 18:17:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4VWeightWindowExaminer.cc b/source/geometry/biasing/src/G4VWeightWindowExaminer.cc deleted file mode 100644 index bb5119f6c8..0000000000 --- a/source/geometry/biasing/src/G4VWeightWindowExaminer.cc +++ /dev/null @@ -1,43 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4VWeightWindowExaminer.cc,v 1.2 2006/06/29 18:17:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4VWeightWindowExaminer.cc -// -// ---------------------------------------------------------------------- - -#include "G4VWeightWindowExaminer.hh" - -G4VWeightWindowExaminer::G4VWeightWindowExaminer() -{} - -G4VWeightWindowExaminer::~G4VWeightWindowExaminer() -{} diff --git a/source/geometry/biasing/src/G4VWeightWindowStore.cc b/source/geometry/biasing/src/G4VWeightWindowStore.cc index 5fbfdbcdc1..9caa742cb8 100644 --- a/source/geometry/biasing/src/G4VWeightWindowStore.cc +++ b/source/geometry/biasing/src/G4VWeightWindowStore.cc @@ -25,7 +25,7 @@ // // // $Id: G4VWeightWindowStore.cc,v 1.3 2006/06/29 18:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4WeightWindowAlgorithm.cc b/source/geometry/biasing/src/G4WeightWindowAlgorithm.cc index bd17db83dd..69bc42ce1d 100644 --- a/source/geometry/biasing/src/G4WeightWindowAlgorithm.cc +++ b/source/geometry/biasing/src/G4WeightWindowAlgorithm.cc @@ -25,7 +25,7 @@ // // // $Id: G4WeightWindowAlgorithm.cc,v 1.8 2006/06/29 18:18:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/biasing/src/G4WeightWindowExaminer.cc b/source/geometry/biasing/src/G4WeightWindowExaminer.cc deleted file mode 100644 index 721bb29e73..0000000000 --- a/source/geometry/biasing/src/G4WeightWindowExaminer.cc +++ /dev/null @@ -1,66 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4WeightWindowExaminer.cc,v 1.2 2006/06/29 18:18:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4WeightWindowExaminer.cc -// -// ---------------------------------------------------------------------- - -#include "G4WeightWindowExaminer.hh" -#include "G4VParallelStepper.hh" -#include "G4VWeightWindowAlgorithm.hh" -#include "G4GeometryCellStep.hh" -#include "G4VWeightWindowStore.hh" - -G4WeightWindowExaminer:: -G4WeightWindowExaminer(const G4VWeightWindowAlgorithm &aWWalg, - const G4VParallelStepper &astepper, - const G4VWeightWindowStore &wwstore) - : fWWalgorithm(aWWalg), - fPStepper(astepper), - fWWStore(wwstore) -{} - -G4WeightWindowExaminer::~G4WeightWindowExaminer() -{} - - -G4Nsplit_Weight G4WeightWindowExaminer::Examine(G4double w, - G4double energy) const -{ - G4GeometryCellStep pstep = fPStepper.GetPStep(); - - G4Nsplit_Weight nw = fWWalgorithm. - Calculate(w, fWWStore.GetLowerWeitgh(pstep.GetPostGeometryCell(), - energy)); - - return nw; -} diff --git a/source/geometry/biasing/src/G4WeightWindowStore.cc b/source/geometry/biasing/src/G4WeightWindowStore.cc index 7787b4c306..eaec76196a 100644 --- a/source/geometry/biasing/src/G4WeightWindowStore.cc +++ b/source/geometry/biasing/src/G4WeightWindowStore.cc @@ -25,7 +25,7 @@ // // // $Id: G4WeightWindowStore.cc,v 1.5 2006/06/29 18:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/divisions/History b/source/geometry/divisions/History index f87fab2374..7828d874bf 100644 --- a/source/geometry/divisions/History +++ b/source/geometry/divisions/History @@ -1,4 +1,4 @@ -$Id: History,v 1.24 2006/06/08 16:21:34 gcosmo Exp $ +$Id: History,v 1.26 2007/05/18 07:27:40 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,15 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May, 18th, 2007 G.Cosmo (geomdiv-V08-03-01) +- Use kAngTolerance from G4GeometryTolerance class. +- Coworks with tag "global-V08-03-03". + +May, 11th, 2007 G.Cosmo (geomdiv-V08-03-00) +- Use call to G4GeometryTolerance instead of kCarTolerance constant in + G4VDivisionParameterisation. +- Requires tag "global-V08-03-00" and related tag set. + June 8th, 2006 G.Cosmo (geomdiv-V08-00-03) - Added CLHEP namespace to unit tests where missing. diff --git a/source/geometry/divisions/include/G4PVDivision.hh b/source/geometry/divisions/include/G4PVDivision.hh index beadc7dfe5..f5b30e6f6c 100644 --- a/source/geometry/divisions/include/G4PVDivision.hh +++ b/source/geometry/divisions/include/G4PVDivision.hh @@ -25,7 +25,7 @@ // // // $Id: G4PVDivision.hh,v 1.12 2006/06/29 18:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4PVDivision // diff --git a/source/geometry/divisions/include/G4PVDivisionFactory.hh b/source/geometry/divisions/include/G4PVDivisionFactory.hh index 18789395bf..5fc1c9dc98 100644 --- a/source/geometry/divisions/include/G4PVDivisionFactory.hh +++ b/source/geometry/divisions/include/G4PVDivisionFactory.hh @@ -25,7 +25,7 @@ // // // $Id: G4PVDivisionFactory.hh,v 1.2 2006/06/29 18:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4PVDivisionFactory diff --git a/source/geometry/divisions/include/G4ParameterisationBox.hh b/source/geometry/divisions/include/G4ParameterisationBox.hh index 4cdb728d7c..d710d4b39e 100644 --- a/source/geometry/divisions/include/G4ParameterisationBox.hh +++ b/source/geometry/divisions/include/G4ParameterisationBox.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationBox.hh,v 1.6 2006/06/29 18:18:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // classes G4ParameterisationBoxX, // G4ParameterisationBoxY, diff --git a/source/geometry/divisions/include/G4ParameterisationCons.hh b/source/geometry/divisions/include/G4ParameterisationCons.hh index 9c3c440d35..22ad345685 100644 --- a/source/geometry/divisions/include/G4ParameterisationCons.hh +++ b/source/geometry/divisions/include/G4ParameterisationCons.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationCons.hh,v 1.6 2006/06/29 18:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // classes G4ParameterisationConsRho, // G4ParameterisationConsPhi, diff --git a/source/geometry/divisions/include/G4ParameterisationPara.hh b/source/geometry/divisions/include/G4ParameterisationPara.hh index a297ba67da..ae89967582 100644 --- a/source/geometry/divisions/include/G4ParameterisationPara.hh +++ b/source/geometry/divisions/include/G4ParameterisationPara.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationPara.hh,v 1.7 2006/06/29 18:18:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // classes G4ParameterisationParaX, // G4ParameterisationParaY, diff --git a/source/geometry/divisions/include/G4ParameterisationPolycone.hh b/source/geometry/divisions/include/G4ParameterisationPolycone.hh index 4894621053..3b8d807aa1 100644 --- a/source/geometry/divisions/include/G4ParameterisationPolycone.hh +++ b/source/geometry/divisions/include/G4ParameterisationPolycone.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationPolycone.hh,v 1.7 2006/06/29 18:18:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // classes G4ParameterisationPolyconeRho, // G4ParameterisationPolyconePhi, diff --git a/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh b/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh index 88c4ff71d3..cc872766ba 100644 --- a/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh +++ b/source/geometry/divisions/include/G4ParameterisationPolyhedra.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationPolyhedra.hh,v 1.8 2006/06/29 18:18:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // classes G4ParameterisationPolyhedraRho, // G4ParameterisationPolyhedraPhi, diff --git a/source/geometry/divisions/include/G4ParameterisationTrd.hh b/source/geometry/divisions/include/G4ParameterisationTrd.hh index 61b280e111..2b1ebe5ff7 100644 --- a/source/geometry/divisions/include/G4ParameterisationTrd.hh +++ b/source/geometry/divisions/include/G4ParameterisationTrd.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationTrd.hh,v 1.7 2006/06/29 18:18:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // classes G4ParameterisationTrdX // G4ParameterisationTrdY diff --git a/source/geometry/divisions/include/G4ParameterisationTubs.hh b/source/geometry/divisions/include/G4ParameterisationTubs.hh index b89f0151cf..ee29594089 100644 --- a/source/geometry/divisions/include/G4ParameterisationTubs.hh +++ b/source/geometry/divisions/include/G4ParameterisationTubs.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationTubs.hh,v 1.6 2006/06/29 18:18:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // classes G4ParameterisationTubsRho // G4ParameterisationTubsPhi diff --git a/source/geometry/divisions/include/G4VDivisionParameterisation.hh b/source/geometry/divisions/include/G4VDivisionParameterisation.hh index 39af6e117d..2b3875949a 100644 --- a/source/geometry/divisions/include/G4VDivisionParameterisation.hh +++ b/source/geometry/divisions/include/G4VDivisionParameterisation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VDivisionParameterisation.hh,v 1.10 2006/06/29 18:18:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VDivisionParameterisation.hh,v 1.11 2007/05/11 13:26:26 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VDivisionParameterisation // @@ -104,6 +104,8 @@ class G4VDivisionParameterisation : public G4VPVParameterisation static G4int verbose; G4int theVoluFirstCopyNo; + + G4double kCarTolerance; }; #include "G4VDivisionParameterisation.icc" diff --git a/source/geometry/divisions/include/G4VDivisionParameterisation.icc b/source/geometry/divisions/include/G4VDivisionParameterisation.icc index 12fd4fe30d..c1e51d829e 100644 --- a/source/geometry/divisions/include/G4VDivisionParameterisation.icc +++ b/source/geometry/divisions/include/G4VDivisionParameterisation.icc @@ -25,7 +25,7 @@ // // // $Id: G4VDivisionParameterisation.icc,v 1.4 2006/06/29 18:18:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VDivisionParameterisation Inline Implementation file // diff --git a/source/geometry/divisions/src/G4PVDivision.cc b/source/geometry/divisions/src/G4PVDivision.cc index a6449669d2..b912248fb3 100644 --- a/source/geometry/divisions/src/G4PVDivision.cc +++ b/source/geometry/divisions/src/G4PVDivision.cc @@ -25,7 +25,7 @@ // // // $Id: G4PVDivision.cc,v 1.20 2006/06/29 18:18:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4PVDivision Implementation file // diff --git a/source/geometry/divisions/src/G4PVDivisionFactory.cc b/source/geometry/divisions/src/G4PVDivisionFactory.cc index 82df9198a9..f0c2924de6 100644 --- a/source/geometry/divisions/src/G4PVDivisionFactory.cc +++ b/source/geometry/divisions/src/G4PVDivisionFactory.cc @@ -25,7 +25,7 @@ // // // $Id: G4PVDivisionFactory.cc,v 1.2 2006/06/29 18:18:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4PVDivisionFactory Implementation file // diff --git a/source/geometry/divisions/src/G4ParameterisationBox.cc b/source/geometry/divisions/src/G4ParameterisationBox.cc index c32dac48f5..3dff79010b 100644 --- a/source/geometry/divisions/src/G4ParameterisationBox.cc +++ b/source/geometry/divisions/src/G4ParameterisationBox.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationBox.cc,v 1.10 2006/06/29 18:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4ParameterisationBox Implementation file // diff --git a/source/geometry/divisions/src/G4ParameterisationCons.cc b/source/geometry/divisions/src/G4ParameterisationCons.cc index 88058ac368..37394a2284 100644 --- a/source/geometry/divisions/src/G4ParameterisationCons.cc +++ b/source/geometry/divisions/src/G4ParameterisationCons.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationCons.cc,v 1.9 2006/06/29 18:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4ParameterisationCons Implementation file // diff --git a/source/geometry/divisions/src/G4ParameterisationPara.cc b/source/geometry/divisions/src/G4ParameterisationPara.cc index c1d2eba27d..a80a1709f7 100644 --- a/source/geometry/divisions/src/G4ParameterisationPara.cc +++ b/source/geometry/divisions/src/G4ParameterisationPara.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationPara.cc,v 1.11 2006/06/29 18:18:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4ParameterisationPara Implementation file // diff --git a/source/geometry/divisions/src/G4ParameterisationPolycone.cc b/source/geometry/divisions/src/G4ParameterisationPolycone.cc index 65acbd9d93..f17c3adf37 100644 --- a/source/geometry/divisions/src/G4ParameterisationPolycone.cc +++ b/source/geometry/divisions/src/G4ParameterisationPolycone.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationPolycone.cc,v 1.15 2006/06/29 18:18:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4ParameterisationPolycone Implementation file // diff --git a/source/geometry/divisions/src/G4ParameterisationPolyhedra.cc b/source/geometry/divisions/src/G4ParameterisationPolyhedra.cc index 3fa1c9c032..d4475baeca 100644 --- a/source/geometry/divisions/src/G4ParameterisationPolyhedra.cc +++ b/source/geometry/divisions/src/G4ParameterisationPolyhedra.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisationPolyhedra.cc,v 1.15 2006/06/29 18:18:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ParameterisationPolyhedra.cc,v 1.16 2007/05/18 07:27:23 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4ParameterisationPolyhedra Implementation file // @@ -37,6 +37,7 @@ #include #include "G4ThreeVector.hh" +#include "G4GeometryTolerance.hh" #include "G4RotationMatrix.hh" #include "G4VPhysicalVolume.hh" #include "G4LogicalVolume.hh" @@ -116,8 +117,9 @@ ConvertRadiusFactor(const G4Polyhedra& phedra) const G4double phiTotal = phedra.GetEndPhi() - phedra.GetStartPhi(); G4int nofSides = phedra.GetOriginalParameters()->numSide; - if ( (phiTotal <=0) || (phiTotal > 2*pi+kAngTolerance) ) - phiTotal = 2*pi; + if ( (phiTotal <=0) || (phiTotal > + 2*pi+G4GeometryTolerance::GetInstance()->GetAngularTolerance()) ) + { phiTotal = 2*pi; } return std::cos(0.5*phiTotal/nofSides); } diff --git a/source/geometry/divisions/src/G4ParameterisationTrd.cc b/source/geometry/divisions/src/G4ParameterisationTrd.cc index a0ff113ca1..68163d2e9d 100644 --- a/source/geometry/divisions/src/G4ParameterisationTrd.cc +++ b/source/geometry/divisions/src/G4ParameterisationTrd.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationTrd.cc,v 1.14 2006/06/29 18:18:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4ParameterisationTrd Implementation file // diff --git a/source/geometry/divisions/src/G4ParameterisationTubs.cc b/source/geometry/divisions/src/G4ParameterisationTubs.cc index 93683bae05..622c59ba3e 100644 --- a/source/geometry/divisions/src/G4ParameterisationTubs.cc +++ b/source/geometry/divisions/src/G4ParameterisationTubs.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisationTubs.cc,v 1.8 2006/06/29 18:18:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4ParameterisationTubs Implementation file // diff --git a/source/geometry/divisions/src/G4VDivisionParameterisation.cc b/source/geometry/divisions/src/G4VDivisionParameterisation.cc index f4aec60ed1..56837fcb13 100644 --- a/source/geometry/divisions/src/G4VDivisionParameterisation.cc +++ b/source/geometry/divisions/src/G4VDivisionParameterisation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VDivisionParameterisation.cc,v 1.11 2006/06/29 18:18:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VDivisionParameterisation.cc,v 1.12 2007/05/11 13:26:26 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VDivisionParameterisation Implementation file // @@ -38,6 +38,7 @@ #include "G4VPhysicalVolume.hh" #include "G4RotationMatrix.hh" #include "G4ReflectedSolid.hh" +#include "G4GeometryTolerance.hh" G4int G4VDivisionParameterisation::verbose = 5; @@ -61,6 +62,7 @@ G4VDivisionParameterisation( EAxis axis, G4int nDiv, #endif theVoluFirstCopyNo = 1; + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } //-------------------------------------------------------------------------- diff --git a/source/geometry/magneticfield/History b/source/geometry/magneticfield/History index 936acb5836..1a3e46b0e4 100644 --- a/source/geometry/magneticfield/History +++ b/source/geometry/magneticfield/History @@ -1,4 +1,4 @@ -$Id: History,v 1.117 2007/05/10 10:11:08 japost Exp $ +$Id: History,v 1.121 2007/06/08 09:38:43 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,34 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +June 8th, 2007 T. Nikitina - field-V08-03-03 +-------------------------- +- Relax FatalExeption to Warning in AccurateAdvance() for case of step zero + and return previous value. This fixes problem observed by ATLAS in release + 8.3 when using very conservative values for field parameters. + +May 18th, 2007 T. Nikitina - field-V08-03-02 +-------------------------- +- New class G4HelixMixedStepper, mixing helical stepper and RK + G4MagHelicalStepper +- Keep values of inverse Radius, .. +- New calculation of DistChord for SteppingAngle > pi + G4RKG3Stepper +- New calculation of DistChord for SteppingAngle > pi + +May 16th, 2007 G.Cosmo - field-V08-03-01 +------------------------- +- Introduced new class G4ErrorMag_UsualEqRhs used to reverse the magnetic + field when propagation is backwards for error propagation (by P.Arce). +- Coworks with tag "global-V08-03-02". + +May 11th, 2007 G.Cosmo - field-V08-03-00 +------------------------- +- Use call to G4GeometryTolerance instead of kCarTolerance constant in + G4MagIntegratorDriver. +- Requires tag "global-V08-03-00" and related tag set. + May 10th, 2007 J.Apostolakis - field-V08-02-01 ------------------------------- - G4MagIntegratorDriver: diff --git a/source/geometry/magneticfield/include/G4CashKarpRKF45.hh b/source/geometry/magneticfield/include/G4CashKarpRKF45.hh index 2572683ecc..f40f71ec51 100644 --- a/source/geometry/magneticfield/include/G4CashKarpRKF45.hh +++ b/source/geometry/magneticfield/include/G4CashKarpRKF45.hh @@ -25,7 +25,7 @@ // // // $Id: G4CashKarpRKF45.hh,v 1.10 2006/06/29 18:20:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4CashKarpRKF45 diff --git a/source/geometry/magneticfield/include/G4ChordFinder.hh b/source/geometry/magneticfield/include/G4ChordFinder.hh index b698d19f6d..78b0988a1d 100644 --- a/source/geometry/magneticfield/include/G4ChordFinder.hh +++ b/source/geometry/magneticfield/include/G4ChordFinder.hh @@ -25,7 +25,7 @@ // // // $Id: G4ChordFinder.hh,v 1.17 2006/06/29 18:21:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ChordFinder diff --git a/source/geometry/magneticfield/include/G4ChordFinder.icc b/source/geometry/magneticfield/include/G4ChordFinder.icc index 7cf12cd29d..e85d42a622 100644 --- a/source/geometry/magneticfield/include/G4ChordFinder.icc +++ b/source/geometry/magneticfield/include/G4ChordFinder.icc @@ -25,7 +25,7 @@ // // // $Id: G4ChordFinder.icc,v 1.12 2006/06/29 18:21:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4ChordFinder inline implementations // diff --git a/source/geometry/magneticfield/include/G4ChordFinderSaf.hh b/source/geometry/magneticfield/include/G4ChordFinderSaf.hh index 5686168961..ba21ad085d 100644 --- a/source/geometry/magneticfield/include/G4ChordFinderSaf.hh +++ b/source/geometry/magneticfield/include/G4ChordFinderSaf.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ChordFinderSaf.hh,v 1.3 2006/06/29 18:21:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ChordFinderRad diff --git a/source/geometry/magneticfield/include/G4ClassicalRK4.hh b/source/geometry/magneticfield/include/G4ClassicalRK4.hh index fe26d0c983..531b1172ad 100644 --- a/source/geometry/magneticfield/include/G4ClassicalRK4.hh +++ b/source/geometry/magneticfield/include/G4ClassicalRK4.hh @@ -25,7 +25,7 @@ // // // $Id: G4ClassicalRK4.hh,v 1.10 2006/06/29 18:21:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ClassicalRK4 diff --git a/source/geometry/magneticfield/include/G4DELPHIMagField.hh b/source/geometry/magneticfield/include/G4DELPHIMagField.hh index 5f58c0682e..e0b0322519 100644 --- a/source/geometry/magneticfield/include/G4DELPHIMagField.hh +++ b/source/geometry/magneticfield/include/G4DELPHIMagField.hh @@ -25,7 +25,7 @@ // // // $Id: G4DELPHIMagField.hh,v 1.4 2006/06/29 18:21:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4DELPHIMagField diff --git a/source/geometry/magneticfield/include/G4ElectricField.hh b/source/geometry/magneticfield/include/G4ElectricField.hh index 353981e043..916acea4ab 100644 --- a/source/geometry/magneticfield/include/G4ElectricField.hh +++ b/source/geometry/magneticfield/include/G4ElectricField.hh @@ -25,7 +25,7 @@ // // // $Id: G4ElectricField.hh,v 1.2 2006/06/29 18:21:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ElectricField diff --git a/source/geometry/magneticfield/include/G4ElectroMagneticField.hh b/source/geometry/magneticfield/include/G4ElectroMagneticField.hh index 56800da748..26a8bf3786 100644 --- a/source/geometry/magneticfield/include/G4ElectroMagneticField.hh +++ b/source/geometry/magneticfield/include/G4ElectroMagneticField.hh @@ -25,7 +25,7 @@ // // // $Id: G4ElectroMagneticField.hh,v 1.11 2006/06/29 18:22:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ElectroMagneticField diff --git a/source/geometry/magneticfield/include/G4EqMagElectricField.hh b/source/geometry/magneticfield/include/G4EqMagElectricField.hh index c45fb65180..da7c0b684c 100644 --- a/source/geometry/magneticfield/include/G4EqMagElectricField.hh +++ b/source/geometry/magneticfield/include/G4EqMagElectricField.hh @@ -25,7 +25,7 @@ // // // $Id: G4EqMagElectricField.hh,v 1.9 2006/06/29 18:22:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4EqMagElectricField diff --git a/source/geometry/magneticfield/include/G4EquationOfMotion.hh b/source/geometry/magneticfield/include/G4EquationOfMotion.hh index 9cb330aad4..5a71ed897a 100644 --- a/source/geometry/magneticfield/include/G4EquationOfMotion.hh +++ b/source/geometry/magneticfield/include/G4EquationOfMotion.hh @@ -25,7 +25,7 @@ // // // $Id: G4EquationOfMotion.hh,v 1.10 2006/06/29 18:22:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4EquationOfMotion diff --git a/source/geometry/magneticfield/include/G4EquationOfMotion.icc b/source/geometry/magneticfield/include/G4EquationOfMotion.icc index 8bb2b0a970..15491996d3 100644 --- a/source/geometry/magneticfield/include/G4EquationOfMotion.icc +++ b/source/geometry/magneticfield/include/G4EquationOfMotion.icc @@ -25,7 +25,7 @@ // // // $Id: G4EquationOfMotion.icc,v 1.9 2006/06/29 18:22:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Inline implementation diff --git a/source/geometry/magneticfield/include/G4ErrorMag_UsualEqRhs.hh b/source/geometry/magneticfield/include/G4ErrorMag_UsualEqRhs.hh new file mode 100644 index 0000000000..0290b504ea --- /dev/null +++ b/source/geometry/magneticfield/include/G4ErrorMag_UsualEqRhs.hh @@ -0,0 +1,63 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorMag_UsualEqRhs.hh,v 1.1 2007/05/16 12:54:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// -------------------------------------------------------------------- +// GEANT 4 class header file +// -------------------------------------------------------------------- +// +// Class description: +// +// Serves to reverse the magnetic field when propagation is backwards +// for error propagation. + +// History: +// - Created. P. Arce, September 2004 +// -------------------------------------------------------------------- + +#ifndef G4ErrorMag_UsualEqRhs_hh +#define G4ErrorMag_UsualEqRhs_hh + +#include "G4Mag_UsualEqRhs.hh" +#include "G4MagneticField.hh" + +class G4ErrorMag_UsualEqRhs : public G4Mag_UsualEqRhs +{ + public: // with description + + G4ErrorMag_UsualEqRhs( G4MagneticField* MagField ); + ~G4ErrorMag_UsualEqRhs(); + + void EvaluateRhsGivenB( const G4double y[], + const G4double B[3], + G4double dydx[] ) const; + // Reverses dedx if propagation is backwards +}; + +#endif /* G4MAG_USUAL_EQRHS */ diff --git a/source/geometry/magneticfield/include/G4ExactHelixStepper.hh b/source/geometry/magneticfield/include/G4ExactHelixStepper.hh index 42e8e294e0..242a81dd08 100644 --- a/source/geometry/magneticfield/include/G4ExactHelixStepper.hh +++ b/source/geometry/magneticfield/include/G4ExactHelixStepper.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ExactHelixStepper.hh,v 1.4 2006/06/29 18:22:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ExactHelixStepper.hh,v 1.5 2007/05/18 12:50:31 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ExactHelixStepper @@ -79,19 +79,18 @@ class G4ExactHelixStepper : public G4MagHelicalStepper G4ExactHelixStepper(const G4ExactHelixStepper&); G4ExactHelixStepper& operator=(const G4ExactHelixStepper&); // Private copy constructor and assignment operator. - - // static const G4double fUnitConstant; // ??????????? - // As in G4Mag_EqRhs.hh/cc where it is not used. + private: G4ThreeVector fBfieldValue; // Initial value of field at last step G4ThreeVector yInitialEHS, yFinalEHS; + G4ThreeVector pInitial; G4double fLastStepSize; // Length of last step G4double fYInSav[7]; // Starting state of x, p, ... // Values saved for calculating mid-point for chord - // G4Mag_EqRhs* fPtrMagEqOfMot; + G4Mag_EqRhs* fPtrMagEqOfMot; }; -// #include "G4ExactHelixStepper.icc" + #endif /* G4ExactHelixStepper_hh */ diff --git a/source/geometry/magneticfield/include/G4ExplicitEuler.hh b/source/geometry/magneticfield/include/G4ExplicitEuler.hh index 5e8e6604df..b442311393 100644 --- a/source/geometry/magneticfield/include/G4ExplicitEuler.hh +++ b/source/geometry/magneticfield/include/G4ExplicitEuler.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExplicitEuler.hh,v 1.9 2006/06/29 18:22:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ExplicitEuler diff --git a/source/geometry/magneticfield/include/G4Field.hh b/source/geometry/magneticfield/include/G4Field.hh index 5df5b81257..203100fb75 100644 --- a/source/geometry/magneticfield/include/G4Field.hh +++ b/source/geometry/magneticfield/include/G4Field.hh @@ -25,7 +25,7 @@ // // // $Id: G4Field.hh,v 1.10 2006/06/29 18:22:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4Field diff --git a/source/geometry/magneticfield/include/G4FieldManager.hh b/source/geometry/magneticfield/include/G4FieldManager.hh index fdc372f7b9..f7d12eedf4 100644 --- a/source/geometry/magneticfield/include/G4FieldManager.hh +++ b/source/geometry/magneticfield/include/G4FieldManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4FieldManager.hh,v 1.16 2006/06/29 18:22:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4FieldManager diff --git a/source/geometry/magneticfield/include/G4FieldManager.icc b/source/geometry/magneticfield/include/G4FieldManager.icc index 610c195c9b..e8a29ca3ba 100644 --- a/source/geometry/magneticfield/include/G4FieldManager.icc +++ b/source/geometry/magneticfield/include/G4FieldManager.icc @@ -25,7 +25,7 @@ // // // $Id: G4FieldManager.icc,v 1.12 2006/06/29 18:22:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4FieldManager inline implementation diff --git a/source/geometry/magneticfield/include/G4FieldTrack.hh b/source/geometry/magneticfield/include/G4FieldTrack.hh index 53c44b48d9..1a3506991b 100644 --- a/source/geometry/magneticfield/include/G4FieldTrack.hh +++ b/source/geometry/magneticfield/include/G4FieldTrack.hh @@ -25,7 +25,7 @@ // // // $Id: G4FieldTrack.hh,v 1.21 2006/11/13 18:24:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4FieldTrack diff --git a/source/geometry/magneticfield/include/G4FieldTrack.icc b/source/geometry/magneticfield/include/G4FieldTrack.icc index 5fa2db8f46..edba5e93ad 100644 --- a/source/geometry/magneticfield/include/G4FieldTrack.icc +++ b/source/geometry/magneticfield/include/G4FieldTrack.icc @@ -25,7 +25,7 @@ // // // $Id: G4FieldTrack.icc,v 1.21 2006/11/13 18:24:35 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- diff --git a/source/geometry/magneticfield/include/G4HarmonicPolMagField.hh b/source/geometry/magneticfield/include/G4HarmonicPolMagField.hh index a0b950b1f7..310e0a165b 100644 --- a/source/geometry/magneticfield/include/G4HarmonicPolMagField.hh +++ b/source/geometry/magneticfield/include/G4HarmonicPolMagField.hh @@ -25,7 +25,7 @@ // // // $Id: G4HarmonicPolMagField.hh,v 1.4 2006/06/29 18:22:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4HarmonicPolMagField // diff --git a/source/geometry/magneticfield/include/G4HelixExplicitEuler.hh b/source/geometry/magneticfield/include/G4HelixExplicitEuler.hh index 721d3644ca..94bb7dcdd6 100644 --- a/source/geometry/magneticfield/include/G4HelixExplicitEuler.hh +++ b/source/geometry/magneticfield/include/G4HelixExplicitEuler.hh @@ -25,7 +25,7 @@ // // // $Id: G4HelixExplicitEuler.hh,v 1.8 2006/06/29 18:22:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4HelixExplicitEuler diff --git a/source/geometry/magneticfield/include/G4HelixHeum.hh b/source/geometry/magneticfield/include/G4HelixHeum.hh index 116ea81188..c2cb09ce6b 100644 --- a/source/geometry/magneticfield/include/G4HelixHeum.hh +++ b/source/geometry/magneticfield/include/G4HelixHeum.hh @@ -25,7 +25,7 @@ // // // $Id: G4HelixHeum.hh,v 1.8 2006/06/29 18:22:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4HelixHeum diff --git a/source/geometry/magneticfield/include/G4HelixImplicitEuler.hh b/source/geometry/magneticfield/include/G4HelixImplicitEuler.hh index 3d056218c4..67ecf3d27e 100644 --- a/source/geometry/magneticfield/include/G4HelixImplicitEuler.hh +++ b/source/geometry/magneticfield/include/G4HelixImplicitEuler.hh @@ -25,7 +25,7 @@ // // // $Id: G4HelixImplicitEuler.hh,v 1.8 2006/06/29 18:22:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4HelixImplicitEuler diff --git a/source/geometry/biasing/include/G4VScorer.hh b/source/geometry/magneticfield/include/G4HelixMixedStepper.hh similarity index 54% rename from source/geometry/biasing/include/G4VScorer.hh rename to source/geometry/magneticfield/include/G4HelixMixedStepper.hh index d03f82664b..b8a3168822 100644 --- a/source/geometry/biasing/include/G4VScorer.hh +++ b/source/geometry/magneticfield/include/G4HelixMixedStepper.hh @@ -23,42 +23,63 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4VScorer.hh,v 1.2 2006/06/29 18:16:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4VScorer +// class G4HelixMixedStepper // // Class description: // -// This interface is known by scoring. Implementation of -// scorers should inherit from it. -// A scorer is applicable to a particle type. -// The scorer (inheriting from this interface) is informed -// about every step of a particle of the applicable type. -// The information consists of the G4Step and the G4GeometryCellStep -// (see G4GeometryCellStep.hh). +// G4HelixMixedStepper split the Method used for Integration in two: +// +// If Stepping Angle ( h / R_curve) < pi/3 : use Classical RK4Stepper +// Else use HelixExplicitEuler Stepper +// +// History: +// Derived from ExactHelicalStepper 18/05/07 +// +// ------------------------------------------------------------------- -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4VScorer_hh -#define G4VScorer_hh G4VScorer_hh - -class G4Step; -class G4GeometryCellStep; - -class G4VScorer +#ifndef G4HELIXMIXEDSTEPPER_HH +#define G4HELIXMIXEDSTEPPER_HH + +#include "G4MagHelicalStepper.hh" + + +class G4HelixMixedStepper: public G4MagHelicalStepper { -public: // with description + public: - G4VScorer(); + G4HelixMixedStepper(G4Mag_EqRhs *EqRhs); + ~G4HelixMixedStepper(); - virtual ~G4VScorer(); - - virtual void Score(const G4Step &step, const G4GeometryCellStep &gstep) = 0; - // perform scoring for the G4Step and G4GeometryCellStep -}; + void Stepper( const G4double y[], + const G4double dydx[], + G4double h, + G4double yout[], + G4double yerr[] ); + // Step 'integration' for step size 'h' + // If SteppingAngle=h/R_curve GetFieldValue(y, B); Bfield= G4ThreeVector( B[0], B[1], B[2] ); } + +inline G4double +G4MagHelicalStepper::GetInverseCurve(const G4double Momentum, + const G4double Bmag) +{ + + G4double inv_momentum = 1.0 / Momentum ; + G4double particleCharge = fPtrMagEqOfMot->FCof() / (eplus*c_light); + G4double fCoefficient = -fUnitConstant * particleCharge*inv_momentum; + + return fCoefficient*Bmag; +} +inline void G4MagHelicalStepper:: SetAngCurve(const G4double Ang) +{ +fAngCurve=Ang; + +} + +inline G4double G4MagHelicalStepper:: GetAngCurve() const +{ +return fAngCurve; + +} + +inline void G4MagHelicalStepper:: SetCurve(const G4double Curve) +{ + frCurve=Curve; +} + +inline G4double G4MagHelicalStepper:: GetCurve() const +{ +return frCurve; + +} + +inline void G4MagHelicalStepper:: SetRadHelix(const G4double Rad) +{ + frHelix=Rad; +} + +inline G4double G4MagHelicalStepper:: GetRadHelix() const +{ +return frHelix; + +} + + + + diff --git a/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh b/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh index d1854c7329..9edb51e90f 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh +++ b/source/geometry/magneticfield/include/G4MagIntegratorDriver.hh @@ -25,7 +25,7 @@ // // // $Id: G4MagIntegratorDriver.hh,v 1.20 2007/05/10 10:10:05 japost Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4MagInt_Driver diff --git a/source/geometry/magneticfield/include/G4MagIntegratorDriver.icc b/source/geometry/magneticfield/include/G4MagIntegratorDriver.icc index e517bb5819..97d1a11eb5 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorDriver.icc +++ b/source/geometry/magneticfield/include/G4MagIntegratorDriver.icc @@ -25,7 +25,7 @@ // // // $Id: G4MagIntegratorDriver.icc,v 1.13 2007/05/10 10:10:48 japost Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- diff --git a/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh b/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh index ba0769ae6d..1f6e7d5c5e 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh +++ b/source/geometry/magneticfield/include/G4MagIntegratorStepper.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4MagIntegratorStepper.hh,v 1.12 2006/09/20 09:31:01 japost Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4MagIntegratorStepper diff --git a/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc b/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc index 9999601f6b..ba5d5d308b 100644 --- a/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc +++ b/source/geometry/magneticfield/include/G4MagIntegratorStepper.icc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4MagIntegratorStepper.icc,v 1.10 2006/09/20 09:31:46 japost Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // inline diff --git a/source/geometry/magneticfield/include/G4Mag_EqRhs.hh b/source/geometry/magneticfield/include/G4Mag_EqRhs.hh index 958da3c56a..4305dbba4f 100644 --- a/source/geometry/magneticfield/include/G4Mag_EqRhs.hh +++ b/source/geometry/magneticfield/include/G4Mag_EqRhs.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mag_EqRhs.hh,v 1.9 2006/06/29 18:23:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4Mag_EqRhs diff --git a/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh b/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh index bb95582b09..9fdf92db87 100644 --- a/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh +++ b/source/geometry/magneticfield/include/G4Mag_SpinEqRhs.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mag_SpinEqRhs.hh,v 1.11 2006/06/29 18:23:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4Mag_SpinEqRhs diff --git a/source/geometry/magneticfield/include/G4Mag_UsualEqRhs.hh b/source/geometry/magneticfield/include/G4Mag_UsualEqRhs.hh index 936cbf6f7d..100456808a 100644 --- a/source/geometry/magneticfield/include/G4Mag_UsualEqRhs.hh +++ b/source/geometry/magneticfield/include/G4Mag_UsualEqRhs.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mag_UsualEqRhs.hh,v 1.7 2006/06/29 18:23:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4Mag_UsualEqRhs diff --git a/source/geometry/magneticfield/include/G4MagneticField.hh b/source/geometry/magneticfield/include/G4MagneticField.hh index 635a027538..bf1b5d1398 100644 --- a/source/geometry/magneticfield/include/G4MagneticField.hh +++ b/source/geometry/magneticfield/include/G4MagneticField.hh @@ -25,7 +25,7 @@ // // // $Id: G4MagneticField.hh,v 1.14 2006/06/29 18:23:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4MagneticField diff --git a/source/geometry/magneticfield/include/G4QuadrupoleMagField.hh b/source/geometry/magneticfield/include/G4QuadrupoleMagField.hh index 62d4228da4..e94767822f 100644 --- a/source/geometry/magneticfield/include/G4QuadrupoleMagField.hh +++ b/source/geometry/magneticfield/include/G4QuadrupoleMagField.hh @@ -25,7 +25,7 @@ // // // $Id: G4QuadrupoleMagField.hh,v 1.4 2006/06/29 18:23:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4QuadrupoleMagField diff --git a/source/geometry/magneticfield/include/G4RKG3_Stepper.hh b/source/geometry/magneticfield/include/G4RKG3_Stepper.hh index 9472700f5f..630e329e7b 100644 --- a/source/geometry/magneticfield/include/G4RKG3_Stepper.hh +++ b/source/geometry/magneticfield/include/G4RKG3_Stepper.hh @@ -24,8 +24,10 @@ // ******************************************************************** // // -// $Id: G4RKG3_Stepper.hh,v 1.11 2006/06/29 18:23:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// +// $Id: G4RKG3_Stepper.hh,v 1.13 2007/05/18 12:44:02 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// // // // class G4RKG3_Stepper @@ -33,7 +35,7 @@ // Class description: // // Integrator Runga-Kutta Stepper from Geant3. - +// // History: // - Created. J.Apostolakis, V.Grichine - 30.01.97 // ------------------------------------------------------------------- @@ -98,6 +100,11 @@ class G4RKG3_Stepper : public G4MagIntegratorStepper G4ThreeVector fyInitial, fyMidPoint, fyFinal; + G4ThreeVector fpInitial; + G4ThreeVector BfldIn; + G4double hStep; + + G4Mag_EqRhs* fPtrMagEqOfMot; }; #endif diff --git a/source/geometry/magneticfield/include/G4SimpleHeum.hh b/source/geometry/magneticfield/include/G4SimpleHeum.hh index 2e461d6626..60e529f9ac 100644 --- a/source/geometry/magneticfield/include/G4SimpleHeum.hh +++ b/source/geometry/magneticfield/include/G4SimpleHeum.hh @@ -25,7 +25,7 @@ // // // $Id: G4SimpleHeum.hh,v 1.8 2006/06/29 18:23:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4SimpleHeum diff --git a/source/geometry/magneticfield/include/G4SimpleRunge.hh b/source/geometry/magneticfield/include/G4SimpleRunge.hh index c22bd35902..c1399c958d 100644 --- a/source/geometry/magneticfield/include/G4SimpleRunge.hh +++ b/source/geometry/magneticfield/include/G4SimpleRunge.hh @@ -25,7 +25,7 @@ // // // $Id: G4SimpleRunge.hh,v 1.8 2006/06/29 18:23:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4SimpleRunge diff --git a/source/geometry/magneticfield/include/G4UniformElectricField.hh b/source/geometry/magneticfield/include/G4UniformElectricField.hh index fde4b237e1..52942c826a 100644 --- a/source/geometry/magneticfield/include/G4UniformElectricField.hh +++ b/source/geometry/magneticfield/include/G4UniformElectricField.hh @@ -25,7 +25,7 @@ // // // $Id: G4UniformElectricField.hh,v 1.9 2006/06/29 18:23:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4UniformElectricField diff --git a/source/geometry/magneticfield/include/G4UniformMagField.hh b/source/geometry/magneticfield/include/G4UniformMagField.hh index a65eaeb32d..a2267abed3 100644 --- a/source/geometry/magneticfield/include/G4UniformMagField.hh +++ b/source/geometry/magneticfield/include/G4UniformMagField.hh @@ -25,7 +25,7 @@ // // // $Id: G4UniformMagField.hh,v 1.9 2006/06/29 18:23:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4UniformMagField diff --git a/source/geometry/magneticfield/src/G4CashKarpRKF45.cc b/source/geometry/magneticfield/src/G4CashKarpRKF45.cc index 59743a6afd..eb1c85d300 100644 --- a/source/geometry/magneticfield/src/G4CashKarpRKF45.cc +++ b/source/geometry/magneticfield/src/G4CashKarpRKF45.cc @@ -25,7 +25,7 @@ // // // $Id: G4CashKarpRKF45.cc,v 1.14 2006/06/29 18:23:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // The Cash-Karp Runge-Kutta-Fehlberg 4/5 method is an embedded fourth // order method (giving fifth-order accuracy) for the solution of an ODE. diff --git a/source/geometry/magneticfield/src/G4ChordFinder.cc b/source/geometry/magneticfield/src/G4ChordFinder.cc index ae8fbd3cce..15d463f7ec 100644 --- a/source/geometry/magneticfield/src/G4ChordFinder.cc +++ b/source/geometry/magneticfield/src/G4ChordFinder.cc @@ -25,7 +25,7 @@ // // // $Id: G4ChordFinder.cc,v 1.47 2006/06/29 18:23:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // 25.02.97 John Apostolakis, design and implimentation diff --git a/source/geometry/magneticfield/src/G4ClassicalRK4.cc b/source/geometry/magneticfield/src/G4ClassicalRK4.cc index 218cddb0c2..43b09cf32c 100644 --- a/source/geometry/magneticfield/src/G4ClassicalRK4.cc +++ b/source/geometry/magneticfield/src/G4ClassicalRK4.cc @@ -25,7 +25,7 @@ // // // $Id: G4ClassicalRK4.cc,v 1.12 2006/06/29 18:23:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- diff --git a/source/geometry/magneticfield/src/G4DELPHIMagField.cc b/source/geometry/magneticfield/src/G4DELPHIMagField.cc index c9aa27df5e..07aa27ecc2 100644 --- a/source/geometry/magneticfield/src/G4DELPHIMagField.cc +++ b/source/geometry/magneticfield/src/G4DELPHIMagField.cc @@ -25,7 +25,7 @@ // // // $Id: G4DELPHIMagField.cc,v 1.6 2006/06/29 18:23:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------------- #include "G4DELPHIMagField.hh" diff --git a/source/geometry/magneticfield/src/G4ElectricField.cc b/source/geometry/magneticfield/src/G4ElectricField.cc index b8e9ddcdf5..45fd4a116b 100644 --- a/source/geometry/magneticfield/src/G4ElectricField.cc +++ b/source/geometry/magneticfield/src/G4ElectricField.cc @@ -25,7 +25,7 @@ // // // $Id: G4ElectricField.cc,v 1.2 2006/06/29 18:23:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- diff --git a/source/geometry/magneticfield/src/G4ElectroMagneticField.cc b/source/geometry/magneticfield/src/G4ElectroMagneticField.cc index 89d5686ca1..adb9db6b49 100644 --- a/source/geometry/magneticfield/src/G4ElectroMagneticField.cc +++ b/source/geometry/magneticfield/src/G4ElectroMagneticField.cc @@ -25,7 +25,7 @@ // // // $Id: G4ElectroMagneticField.cc,v 1.3 2006/06/29 18:23:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- diff --git a/source/geometry/magneticfield/src/G4EqMagElectricField.cc b/source/geometry/magneticfield/src/G4EqMagElectricField.cc index 8f39bacb72..b625c45fbb 100644 --- a/source/geometry/magneticfield/src/G4EqMagElectricField.cc +++ b/source/geometry/magneticfield/src/G4EqMagElectricField.cc @@ -25,7 +25,7 @@ // // // $Id: G4EqMagElectricField.cc,v 1.13 2006/06/29 18:23:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // This is the standard right-hand side for equation of motion. diff --git a/source/geometry/magneticfield/src/G4EquationOfMotion.cc b/source/geometry/magneticfield/src/G4EquationOfMotion.cc index d681bed0f4..2504150ded 100644 --- a/source/geometry/magneticfield/src/G4EquationOfMotion.cc +++ b/source/geometry/magneticfield/src/G4EquationOfMotion.cc @@ -25,7 +25,7 @@ // // // $Id: G4EquationOfMotion.cc,v 1.9 2006/06/29 18:23:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- diff --git a/source/processes/transportation/src/G4PScoreConfigurator.cc b/source/geometry/magneticfield/src/G4ErrorMag_UsualEqRhs.cc similarity index 59% rename from source/processes/transportation/src/G4PScoreConfigurator.cc rename to source/geometry/magneticfield/src/G4ErrorMag_UsualEqRhs.cc index b61589cdb2..c141a7a4b6 100644 --- a/source/processes/transportation/src/G4PScoreConfigurator.cc +++ b/source/geometry/magneticfield/src/G4ErrorMag_UsualEqRhs.cc @@ -24,54 +24,48 @@ // ******************************************************************** // // -// $Id: G4PScoreConfigurator.cc,v 1.9 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ErrorMag_UsualEqRhs.cc,v 1.1 2007/05/16 12:54:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// ---------------------------------------------------------------------- -// Class G4PScoreConfigurator // -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- +// -------------------------------------------------------------------- +// GEANT 4 class implementation file +// -------------------------------------------------------------------- -#include "G4PScoreConfigurator.hh" - -#include "G4VTrackTerminator.hh" -#include "G4PScoreProcess.hh" - -G4PScoreConfigurator:: -G4PScoreConfigurator(const G4String &particlename, - G4VParallelStepper &pstepper, - G4VScorer &scorer) - : fPlacer(particlename), - fPStepper(pstepper), - fScorer(scorer), - fPScoreProcess(0) -{ -} - -G4PScoreConfigurator::~G4PScoreConfigurator() -{ - if (fPScoreProcess) - { - fPlacer.RemoveProcess(fPScoreProcess); - delete fPScoreProcess; - } -} +#include "G4ErrorMag_UsualEqRhs.hh" +#include "G4ErrorPropagatorData.hh" -void G4PScoreConfigurator::Configure(G4VSamplerConfigurator *) +//--------------------------------------------------------------------- + +G4ErrorMag_UsualEqRhs::G4ErrorMag_UsualEqRhs( G4MagneticField* MagField ) + : G4Mag_UsualEqRhs( MagField ) { - fPScoreProcess = new G4PScoreProcess(fPStepper, fScorer); - if (!fPScoreProcess) - { - G4Exception("G4PScoreConfigurator::Configure()", "FatalError", - FatalException, "Failed to allocate G4PScoreProcess !"); - } - fPlacer.AddProcessAsSecondDoIt(fPScoreProcess); } -const G4VTrackTerminator * -G4PScoreConfigurator::GetTrackTerminator() const +G4ErrorMag_UsualEqRhs::~G4ErrorMag_UsualEqRhs() { - return fPScoreProcess; } + +//--------------------------------------------------------------------- +void +G4ErrorMag_UsualEqRhs::EvaluateRhsGivenB( const G4double y[], + const G4double B[3], + G4double dydx[] ) const +{ + + G4Mag_UsualEqRhs::EvaluateRhsGivenB(y, B, dydx ); + if(G4ErrorPropagatorData::GetErrorPropagatorData()->GetMode() + == G4ErrorMode_PropBackwards) + { + G4double momentum_mag_square = sqr(y[3]) + sqr(y[4]) + sqr(y[5]); + G4double inv_momentum_magnitude = 1.0 / std::sqrt( momentum_mag_square ); + + G4double cof = FCof()*inv_momentum_magnitude; + + dydx[3] = cof*(y[4]*(-B[2]) - y[5]*(-B[1])) ; + dydx[4] = cof*(y[5]*(-B[0]) - y[3]*(-B[2])) ; + dydx[5] = cof*(y[3]*(-B[1]) - y[4]*(-B[0])) ; + } + return; +} diff --git a/source/geometry/magneticfield/src/G4ExactHelixStepper.cc b/source/geometry/magneticfield/src/G4ExactHelixStepper.cc index d3798069dc..6d3edde840 100644 --- a/source/geometry/magneticfield/src/G4ExactHelixStepper.cc +++ b/source/geometry/magneticfield/src/G4ExactHelixStepper.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ExactHelixStepper.cc,v 1.4 2006/06/29 18:23:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ExactHelixStepper.cc,v 1.6 2007/05/18 15:49:18 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // Helix a-la-Explicity Euler: x_1 = x_0 + helix(h) // with helix(h) being a helix piece of length h @@ -53,6 +53,7 @@ G4ExactHelixStepper::G4ExactHelixStepper(G4Mag_EqRhs *EqRhs) for(i=0;i TO-DO - const G4int nvar = 6 ; + // Implementation : must check whether h/R > pi !! + // If( h/R < pi) DistChord=h/2*tan(Ang_curve/4) + // Else DistChord=R_helix + // + G4double distChord; + G4double H_helix; + H_helix=fLastStepSize; + G4double Ang_curve=GetAngCurve(); + if(Ang_curveStepper(yInput,dydx,Step,yOut,yErr); + + } + else{ + const G4int nvar = 6 ; + G4int i; + G4double yTemp[7], yIn[7] ; + G4ThreeVector Bfld_midpoint; + // Saving yInput because yInput and yOut can be aliases for same array + for(i=0;i 2 pi !! + // If( h/R < pi) use G4LineSection::DistLine + // Else DistChord=R_helix + // + G4double distChord; + G4double H_helix; + H_helix=fLastStepSize; + G4double Ang_curve=GetAngCurve(); + + if(Ang_curveFCof() / (eplus*c_light); - G4double fCoefficient = (fUnitConstant / velocityVal) * particleCharge; + R_1=GetInverseCurve(velocityVal,Bmag); // for too small magnetic fields there is no curvature // (include momentum here) FIXME - if( Bmag < 1e-12 ) { - LinearStep( yIn, h, yHelix ); + if( (std::fabs(R_1) < 1e-10)||(Bmag<1e-12) ) { + LinearStep( yIn, h, yHelix ); + // Store and/or calculate parameters for chord distance. + + SetAngCurve(1.); + SetCurve(h); + SetRadHelix(0.); + } else { // Bnorm = Bfld.unit(); Bnorm = (1.0/Bmag)*Bfld; @@ -104,16 +111,8 @@ G4MagHelicalStepper::AdvanceHelix( const G4double yIn[], // B_v_P = std::sqrt( 1 - B_d_P * B_d_P); // Fraction of P perp to B - // calculate the radius^-1 of the helix and the stepping angle - - // R_1 = - fPtrMagEqOfMot->FCof() * Bmag; // / B_v_P - but this cancels - R_1 = - fCoefficient * Bmag; // / B_v_P - but this cancels - - // again in Theta - so we don't need it. - if( std::fabs(R_1) < 1e-10 ) { - LinearStep( yIn, h, yHelix ); - } else { - + // calculate the stepping angle + Theta = R_1 * h; // * B_v_P; // Trigonometrix @@ -152,7 +151,17 @@ G4MagHelicalStepper::AdvanceHelix( const G4double yIn[], yHelix[5] = velocityVal * endTangent.z(); // Store and/or calculate parameters for chord distance. - } + + G4ThreeVector B_x_P_x_B = B_x_P.cross(Bnorm); + G4double ptan=B_x_P_x_B.dot(initVelocity); + G4double particleCharge = fPtrMagEqOfMot->FCof() / (eplus*c_light); + R_Helix =std::abs( ptan/(fUnitConstant * particleCharge*Bmag)); + + SetAngCurve(std::abs(Theta)); + SetCurve(std::abs(R)); + SetRadHelix(R_Helix); + + } } @@ -176,14 +185,14 @@ G4MagHelicalStepper::Stepper( const G4double yInput[], G4double yTemp[7], yIn[7] ; G4ThreeVector Bfld_initial, Bfld_midpoint; - + // Saving yInput because yInput and yOut can be aliases for same array for(i=0;i 2 pi !! - // Method below is good only for < 2 pi + // Check whether h/R > pi !! + // Method DistLine is good only for < pi - return G4LineSection::Distline( yMidPoint, yInitial, yFinal ); - // This is a class method that gives distance of Mid - // from the Chord between the Initial and Final points. + G4double Ang=GetAngCurve(); + + if(Ang #include "G4MagIntegratorDriver.hh" #include "G4FieldTrack.hh" @@ -154,10 +154,14 @@ G4MagInt_Driver::AccurateAdvance(G4FieldTrack& y_current, // Ensure that hstep > 0 if( hstep <= 0.0 ) { - G4cerr << " Hstep is " << hstep << G4endl; + if(hstep==0.0){ G4cerr << " G4MagIntegratorDriver::AccurateAdvance(): Hstep is " << hstep << G4endl; + return succeeded; + } + else{ G4Exception("G4MagInt_Driver::AccurateAdvance()", - "Requested Integration Step is zero or negative: it must be positive", - FatalException, "Requested-Step-not-Positive."); + "Requested Integration Step is negative: it must be positive", + FatalException, "Requested-Step-is-Negative"); + } } y_current.DumpToArray( ystart ); @@ -427,7 +431,7 @@ G4MagInt_Driver::WarnEndPointTooFar (G4double endPointDist, maxRelError_last_printed = maxRelError; if( dbg - && (h > kCarTolerance) + && (h > G4GeometryTolerance::GetInstance()->GetSurfaceTolerance()) && ( (dbg>1) || prNewMax || (endPointDist >= h*(1.+eps) ) ) ){ static G4int noWarnings = 0; diff --git a/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc b/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc index 41ad4a3a5e..09333cc516 100644 --- a/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc +++ b/source/geometry/magneticfield/src/G4MagIntegratorStepper.cc @@ -25,7 +25,7 @@ // // // $Id: G4MagIntegratorStepper.cc,v 1.11 2006/06/29 18:24:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- diff --git a/source/geometry/magneticfield/src/G4Mag_EqRhs.cc b/source/geometry/magneticfield/src/G4Mag_EqRhs.cc index 7759815b35..fc314eaec3 100644 --- a/source/geometry/magneticfield/src/G4Mag_EqRhs.cc +++ b/source/geometry/magneticfield/src/G4Mag_EqRhs.cc @@ -25,7 +25,7 @@ // // // $Id: G4Mag_EqRhs.cc,v 1.11 2006/06/29 18:24:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This is the standard right-hand side for equation of motion // in a pure Magnetic Field . diff --git a/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc b/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc index e04433a077..ab41381864 100644 --- a/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc +++ b/source/geometry/magneticfield/src/G4Mag_SpinEqRhs.cc @@ -25,7 +25,7 @@ // // // $Id: G4Mag_SpinEqRhs.cc,v 1.12 2006/06/29 18:24:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // This is the standard right-hand side for equation of motion. // This version of the right-hand side includes the three components diff --git a/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc b/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc index e4c964f96e..5f7ee25163 100644 --- a/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc +++ b/source/geometry/magneticfield/src/G4Mag_UsualEqRhs.cc @@ -25,7 +25,7 @@ // // // $Id: G4Mag_UsualEqRhs.cc,v 1.12 2006/06/29 18:24:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // This is the 'standard' right-hand side for the equation of motion diff --git a/source/geometry/magneticfield/src/G4MagneticField.cc b/source/geometry/magneticfield/src/G4MagneticField.cc index b3cc1e412b..6fb8ee1bcc 100644 --- a/source/geometry/magneticfield/src/G4MagneticField.cc +++ b/source/geometry/magneticfield/src/G4MagneticField.cc @@ -25,7 +25,7 @@ // // // $Id: G4MagneticField.cc,v 1.3 2006/06/29 18:24:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- diff --git a/source/geometry/magneticfield/src/G4QuadrupoleMagField.cc b/source/geometry/magneticfield/src/G4QuadrupoleMagField.cc index 842793a26e..eb5edce233 100644 --- a/source/geometry/magneticfield/src/G4QuadrupoleMagField.cc +++ b/source/geometry/magneticfield/src/G4QuadrupoleMagField.cc @@ -25,7 +25,7 @@ // // // $Id: G4QuadrupoleMagField.cc,v 1.4 2006/06/29 18:24:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- diff --git a/source/geometry/magneticfield/src/G4RKG3_Stepper.cc b/source/geometry/magneticfield/src/G4RKG3_Stepper.cc index 4cb3ff260e..5d7fe6da80 100644 --- a/source/geometry/magneticfield/src/G4RKG3_Stepper.cc +++ b/source/geometry/magneticfield/src/G4RKG3_Stepper.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RKG3_Stepper.cc,v 1.12 2007/04/26 12:23:55 tnikitin Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4RKG3_Stepper.cc,v 1.14 2007/05/18 12:44:28 tnikitin Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- @@ -36,8 +36,9 @@ G4RKG3_Stepper::G4RKG3_Stepper(G4Mag_EqRhs *EqRhs) : G4MagIntegratorStepper(EqRhs,6) { - // G4Exception("G4RKG3_Stepper::G4RKG3_Stepper()", "NotImplemented", - // FatalException, "Stepper not yet available."); + + fPtrMagEqOfMot=EqRhs; + } G4RKG3_Stepper::~G4RKG3_Stepper() @@ -51,33 +52,27 @@ void G4RKG3_Stepper::Stepper( const G4double yInput[7], G4double yErr[]) { G4double B[3]; - // G4double yderiv[6]; - // G4double alpha2, beta2; G4int nvar = 6 ; - // G4double beTemp2, beta2=0; - G4int i; G4double by15 = 1. / 15. ; // was 0.066666666 ; + G4double yTemp[7], dydxTemp[6], yIn[7] ; // Saving yInput because yInput and yOut can be aliases for same array for(i=0;iGetFieldValue(yIn,B); - // G4RKG3_Stepper::StepWithEst(yIn, dydx, Step, yOut,alpha2, beta2, B1, B2 ); - StepNoErr(yIn, dydx,h, yTemp,B) ; - // RightHandSide(yTemp,dydxTemp) ; - GetEquationOfMotion()->EvaluateRhsGivenB(yTemp,B,dydxTemp) ; - StepNoErr(yTemp,dydxTemp,h,yOut,B); // ,beTemp2) ; - // beta2 += beTemp2; - // beta2 *= 0.5; + //Store Bfld for DistChord Calculation + for(i=0;i<3;i++)BfldIn[i]=B[i]; + // RightHandSide(yTemp,dydxTemp) ; + + GetEquationOfMotion()->EvaluateRhsGivenB(yTemp,B,dydxTemp) ; + StepNoErr(yTemp,dydxTemp,h,yOut,B); + // Store midpoint, chord calculation fyMidPoint = G4ThreeVector( yTemp[0], yTemp[1], yTemp[2]); @@ -92,16 +87,12 @@ void G4RKG3_Stepper::Stepper( const G4double yInput[7], yOut[i] += yErr[i]*by15 ; // Provides 5th order of accuracy } -// for(i=0;iEvaluateRhsReturnB(tIn,dydx,B1) ; // Correction for momentum not a velocity + // Need the protection !!! must be not zero mom=std::sqrt(tIn[3]*tIn[3]+tIn[4]*tIn[4]+tIn[5]*tIn[5]); for(i=0;i<3;i++) @@ -201,23 +193,71 @@ void G4RKG3_Stepper::StepNoErr(const G4double tIn[7], #endif } + // --------------------------------------------------------------------------- G4double G4RKG3_Stepper::DistChord() const { - // Soon: must check whether h/R > 2 pi !! - // Method below is good only for < 2 pi + // Implementation : must check whether h/R > pi !! + // If( h/R < pi) use G4LineSection::DistLine + // Else use DistChord=R_helix G4double distChord,distLine; - - if (fyInitial != fyFinal) { - distLine= G4LineSection::Distline(fyMidPoint,fyInitial,fyFinal ); - - distChord = distLine; - }else{ - distChord = (fyMidPoint-fyInitial).mag(); - } - + //Calculation of R_helix and R_curv + G4double R_helix; + G4double R_curv; + G4double H_helix=hStep; + G4double Bmag=BfldIn.mag(); + + G4ThreeVector initVelocity= fpInitial; + G4double velocityVal = initVelocity.mag(); + G4ThreeVector initTangent = (1.0/velocityVal) * initVelocity; // .unit(); + + const G4double fUnitConstant = 0.299792458 * (GeV/(tesla*m)); + G4double particleCharge = fPtrMagEqOfMot->FCof() / (eplus*c_light); + G4double fCoefficient = (fUnitConstant ) * particleCharge; + + // for too small field there is no curvature + + if( Bmag>1e-12 ) { + + // Bnorm = Bfld.unit(); + G4ThreeVector Bnorm = (1.0/Bmag)*BfldIn; + + // calculate the direction of the force + + G4ThreeVector B_x_P = Bnorm.cross(initTangent); + + // parallel and perp vectors + + G4ThreeVector B_x_P_x_B = B_x_P.cross(Bnorm); + G4double ptan=B_x_P_x_B.dot(initVelocity); + + R_helix =std::abs(( 1./fCoefficient)* ptan/Bmag); + R_curv=std::abs(( 1./fCoefficient)* velocityVal/Bmag); + + // G4cout<<"Bfld="< #include @@ -163,6 +164,10 @@ class G4Region // Flag 'unique' is true if there is only one parent region containing // the current region. + inline void SetRegionalSteppingAction(G4UserSteppingAction* rusa); + inline G4UserSteppingAction* GetRegionalSteppingAction() const; + // Set/Get method of the regional user stepping action + public: // without description G4Region(__void__&); @@ -197,6 +202,8 @@ class G4Region G4FastSimulationManager* fFastSimulationManager; G4VPhysicalVolume* fWorldPhys; + + G4UserSteppingAction* fRegionalSteppingAction; }; #include "G4Region.icc" diff --git a/source/geometry/management/include/G4Region.icc b/source/geometry/management/include/G4Region.icc index 5e22d17620..7a969961ab 100644 --- a/source/geometry/management/include/G4Region.icc +++ b/source/geometry/management/include/G4Region.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Region.icc,v 1.13 2006/06/29 18:31:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Region.icc,v 1.15 2007/04/28 01:48:29 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4Region Inline Implementation file @@ -274,4 +274,20 @@ void G4Region::AddMaterial(G4Material* aMaterial) } } +// ******************************************************************** +// SetRegionalSteppingAction +// ******************************************************************** +// +inline +void G4Region::SetRegionalSteppingAction(G4UserSteppingAction* rusa) +{ fRegionalSteppingAction = rusa; } + +// ******************************************************************** +// GetRegionalSteppingAction +// ******************************************************************** +// +inline +G4UserSteppingAction* G4Region::GetRegionalSteppingAction() const +{ return fRegionalSteppingAction; } + diff --git a/source/geometry/management/include/G4RegionStore.hh b/source/geometry/management/include/G4RegionStore.hh index ebaf6d829a..fe8b6cc152 100644 --- a/source/geometry/management/include/G4RegionStore.hh +++ b/source/geometry/management/include/G4RegionStore.hh @@ -25,7 +25,7 @@ // // // $Id: G4RegionStore.hh,v 1.10 2006/11/30 10:39:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4RegionStore // diff --git a/source/geometry/management/include/G4SmartVoxelHeader.hh b/source/geometry/management/include/G4SmartVoxelHeader.hh index 6e2d69c8c7..ca934654ff 100644 --- a/source/geometry/management/include/G4SmartVoxelHeader.hh +++ b/source/geometry/management/include/G4SmartVoxelHeader.hh @@ -25,7 +25,7 @@ // // // $Id: G4SmartVoxelHeader.hh,v 1.10 2006/06/29 18:32:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4SmartVoxelHeader // diff --git a/source/geometry/management/include/G4SmartVoxelHeader.icc b/source/geometry/management/include/G4SmartVoxelHeader.icc index db1726491e..6e0d7edcc1 100644 --- a/source/geometry/management/include/G4SmartVoxelHeader.icc +++ b/source/geometry/management/include/G4SmartVoxelHeader.icc @@ -25,7 +25,7 @@ // // // $Id: G4SmartVoxelHeader.icc,v 1.6 2006/06/29 18:32:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4SmartVoxelHeader Inline implementation diff --git a/source/geometry/management/include/G4SmartVoxelNode.hh b/source/geometry/management/include/G4SmartVoxelNode.hh index f2e7b135ff..d71a36a370 100644 --- a/source/geometry/management/include/G4SmartVoxelNode.hh +++ b/source/geometry/management/include/G4SmartVoxelNode.hh @@ -25,7 +25,7 @@ // // // $Id: G4SmartVoxelNode.hh,v 1.10 2006/06/29 18:32:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4SmartVoxelNode // diff --git a/source/geometry/management/include/G4SmartVoxelNode.icc b/source/geometry/management/include/G4SmartVoxelNode.icc index 83b590e92a..42fe9d11e2 100644 --- a/source/geometry/management/include/G4SmartVoxelNode.icc +++ b/source/geometry/management/include/G4SmartVoxelNode.icc @@ -25,7 +25,7 @@ // // // $Id: G4SmartVoxelNode.icc,v 1.5 2006/06/29 18:32:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4SmartVoxelNode Inline implementation diff --git a/source/geometry/management/include/G4SmartVoxelProxy.hh b/source/geometry/management/include/G4SmartVoxelProxy.hh index 1e356c76b3..d363362fa8 100644 --- a/source/geometry/management/include/G4SmartVoxelProxy.hh +++ b/source/geometry/management/include/G4SmartVoxelProxy.hh @@ -25,7 +25,7 @@ // // // $Id: G4SmartVoxelProxy.hh,v 1.8 2006/06/29 18:32:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4SmartVoxelProxy // diff --git a/source/geometry/management/include/G4SmartVoxelProxy.icc b/source/geometry/management/include/G4SmartVoxelProxy.icc index c0082c4258..2ff6d4e979 100644 --- a/source/geometry/management/include/G4SmartVoxelProxy.icc +++ b/source/geometry/management/include/G4SmartVoxelProxy.icc @@ -25,7 +25,7 @@ // // // $Id: G4SmartVoxelProxy.icc,v 1.4 2006/06/29 18:32:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4SmartVoxelProxy Inline implementation diff --git a/source/geometry/management/include/G4SmartVoxelStat.hh b/source/geometry/management/include/G4SmartVoxelStat.hh index 4f9062c5e5..0f3016d308 100644 --- a/source/geometry/management/include/G4SmartVoxelStat.hh +++ b/source/geometry/management/include/G4SmartVoxelStat.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4SmartVoxelStat.hh,v 1.4 2006/06/29 18:32:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/management/include/G4SolidStore.hh b/source/geometry/management/include/G4SolidStore.hh index 985201e1cd..73238c6e28 100644 --- a/source/geometry/management/include/G4SolidStore.hh +++ b/source/geometry/management/include/G4SolidStore.hh @@ -25,7 +25,7 @@ // // // $Id: G4SolidStore.hh,v 1.13 2007/04/10 10:13:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4SolidStore // diff --git a/source/geometry/management/include/G4TouchableHandle.hh b/source/geometry/management/include/G4TouchableHandle.hh index 71d5bbb11f..bc18f98f65 100644 --- a/source/geometry/management/include/G4TouchableHandle.hh +++ b/source/geometry/management/include/G4TouchableHandle.hh @@ -25,7 +25,7 @@ // // // $Id: G4TouchableHandle.hh,v 1.6 2006/06/29 18:32:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class G4TouchableHandle // diff --git a/source/geometry/management/include/G4VCurvedTrajectoryFilter.hh b/source/geometry/management/include/G4VCurvedTrajectoryFilter.hh index 2163669457..2ef95c9327 100644 --- a/source/geometry/management/include/G4VCurvedTrajectoryFilter.hh +++ b/source/geometry/management/include/G4VCurvedTrajectoryFilter.hh @@ -25,7 +25,7 @@ // // // $Id: G4VCurvedTrajectoryFilter.hh,v 1.3 2006/06/29 18:32:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4VCurevedTrajectoryFilter diff --git a/source/geometry/management/include/G4VNestedParameterisation.hh b/source/geometry/management/include/G4VNestedParameterisation.hh index 1197e812e9..4c44e666b2 100644 --- a/source/geometry/management/include/G4VNestedParameterisation.hh +++ b/source/geometry/management/include/G4VNestedParameterisation.hh @@ -25,7 +25,7 @@ // // // $Id: G4VNestedParameterisation.hh,v 1.6 2006/06/29 18:32:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VNestedParameterisation // diff --git a/source/geometry/management/include/G4VPVDivisionFactory.hh b/source/geometry/management/include/G4VPVDivisionFactory.hh index 3eadd46e47..3cd855d1d8 100644 --- a/source/geometry/management/include/G4VPVDivisionFactory.hh +++ b/source/geometry/management/include/G4VPVDivisionFactory.hh @@ -25,7 +25,7 @@ // // // $Id: G4VPVDivisionFactory.hh,v 1.2 2006/06/29 18:32:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4VPVDivisionFactory diff --git a/source/geometry/management/include/G4VPVParameterisation.hh b/source/geometry/management/include/G4VPVParameterisation.hh index 7f86a0cbc1..850d905538 100644 --- a/source/geometry/management/include/G4VPVParameterisation.hh +++ b/source/geometry/management/include/G4VPVParameterisation.hh @@ -25,7 +25,7 @@ // // // $Id: G4VPVParameterisation.hh,v 1.12 2006/06/29 18:32:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VPVParamterisation // diff --git a/source/geometry/management/include/G4VPhysicalVolume.hh b/source/geometry/management/include/G4VPhysicalVolume.hh index 786c7d2d65..f7d8c1d8be 100644 --- a/source/geometry/management/include/G4VPhysicalVolume.hh +++ b/source/geometry/management/include/G4VPhysicalVolume.hh @@ -25,7 +25,7 @@ // // // $Id: G4VPhysicalVolume.hh,v 1.17 2007/04/11 08:00:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4VPhysicalVolume diff --git a/source/geometry/management/include/G4VPhysicalVolume.icc b/source/geometry/management/include/G4VPhysicalVolume.icc index e34def2fbb..68eab02818 100644 --- a/source/geometry/management/include/G4VPhysicalVolume.icc +++ b/source/geometry/management/include/G4VPhysicalVolume.icc @@ -25,7 +25,7 @@ // // // $Id: G4VPhysicalVolume.icc,v 1.10 2006/06/29 18:32:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4VPhysicalVolume Inline Implementation diff --git a/source/geometry/management/include/G4VSolid.hh b/source/geometry/management/include/G4VSolid.hh index fa1bcc9a99..f0a2724510 100644 --- a/source/geometry/management/include/G4VSolid.hh +++ b/source/geometry/management/include/G4VSolid.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSolid.hh,v 1.25 2006/10/19 15:43:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VSolid.hh,v 1.26 2007/05/11 13:30:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4VSolid @@ -107,6 +107,9 @@ class G4VSolid inline void SetName(const G4String& name); // Sets the current shape's name. + inline G4double GetTolerance() const; + // Returns the cached geometrical tolerance. + virtual G4bool CalculateExtent(const EAxis pAxis, const G4VoxelLimits& pVoxelLimit, const G4AffineTransform& pTransform, @@ -290,6 +293,10 @@ class G4VSolid // Accuracy is limited by the second argument or the statistics // expressed by the first argument. +protected: + + G4double kCarTolerance; // Cached geometrical tolerance + private: void ClipPolygonToSimpleLimits(G4ThreeVectorList& pPolygon, diff --git a/source/geometry/management/include/G4VSolid.icc b/source/geometry/management/include/G4VSolid.icc index 4a0062298a..85aa242444 100644 --- a/source/geometry/management/include/G4VSolid.icc +++ b/source/geometry/management/include/G4VSolid.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSolid.icc,v 1.8 2006/06/29 18:33:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VSolid.icc,v 1.9 2007/05/11 13:30:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4VSolid Inline implementation @@ -55,3 +55,9 @@ void G4VSolid::SetName(const G4String& name) { fshapeName=name; } + +inline +G4double G4VSolid::GetTolerance() const +{ + return kCarTolerance; +} diff --git a/source/geometry/management/include/G4VStoreNotifier.hh b/source/geometry/management/include/G4VStoreNotifier.hh index d58c77356e..f59a6e9176 100644 --- a/source/geometry/management/include/G4VStoreNotifier.hh +++ b/source/geometry/management/include/G4VStoreNotifier.hh @@ -25,7 +25,7 @@ // // // $Id: G4VStoreNotifier.hh,v 1.3 2006/06/29 18:33:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VStoreNotifier // diff --git a/source/geometry/management/include/G4VTouchable.hh b/source/geometry/management/include/G4VTouchable.hh index dafcd7deca..9fdbcf3233 100644 --- a/source/geometry/management/include/G4VTouchable.hh +++ b/source/geometry/management/include/G4VTouchable.hh @@ -25,7 +25,7 @@ // // // $Id: G4VTouchable.hh,v 1.9 2006/06/29 18:33:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4VTouchable diff --git a/source/geometry/management/include/G4VTouchable.icc b/source/geometry/management/include/G4VTouchable.icc index 74f9902ad2..883381de88 100644 --- a/source/geometry/management/include/G4VTouchable.icc +++ b/source/geometry/management/include/G4VTouchable.icc @@ -25,7 +25,7 @@ // // // $Id: G4VTouchable.icc,v 1.9 2006/06/29 18:33:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4VTouchable Inline implementation diff --git a/source/geometry/management/include/G4VUserRegionInformation.hh b/source/geometry/management/include/G4VUserRegionInformation.hh index ed4e260848..80cbef813d 100644 --- a/source/geometry/management/include/G4VUserRegionInformation.hh +++ b/source/geometry/management/include/G4VUserRegionInformation.hh @@ -25,7 +25,7 @@ // // // $Id: G4VUserRegionInformation.hh,v 1.4 2006/06/29 18:33:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/management/include/G4VVolumeMaterialScanner.hh b/source/geometry/management/include/G4VVolumeMaterialScanner.hh index d729266f1b..3af9298d6a 100644 --- a/source/geometry/management/include/G4VVolumeMaterialScanner.hh +++ b/source/geometry/management/include/G4VVolumeMaterialScanner.hh @@ -25,7 +25,7 @@ // // // $Id: G4VVolumeMaterialScanner.hh,v 1.4 2006/06/29 18:33:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VVolumeMaterialScanner // diff --git a/source/geometry/management/include/G4VoxelLimits.hh b/source/geometry/management/include/G4VoxelLimits.hh index 8e6ad4c27b..28b964d46b 100644 --- a/source/geometry/management/include/G4VoxelLimits.hh +++ b/source/geometry/management/include/G4VoxelLimits.hh @@ -25,7 +25,7 @@ // // // $Id: G4VoxelLimits.hh,v 1.9 2006/06/29 18:33:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VoxelLimits // diff --git a/source/geometry/management/include/G4VoxelLimits.icc b/source/geometry/management/include/G4VoxelLimits.icc index 87dcf3b825..120c587b88 100644 --- a/source/geometry/management/include/G4VoxelLimits.icc +++ b/source/geometry/management/include/G4VoxelLimits.icc @@ -25,7 +25,7 @@ // // // $Id: G4VoxelLimits.icc,v 1.4 2006/06/29 18:33:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4VoxelLimits Inline implementation diff --git a/source/geometry/management/include/meshdefs.hh b/source/geometry/management/include/meshdefs.hh index a1a90838f3..5090749bce 100644 --- a/source/geometry/management/include/meshdefs.hh +++ b/source/geometry/management/include/meshdefs.hh @@ -25,7 +25,7 @@ // // // $Id: meshdefs.hh,v 1.7 2006/06/29 18:33:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Tube/Cone Meshing constants for extent calculations diff --git a/source/geometry/management/include/voxeldefs.hh b/source/geometry/management/include/voxeldefs.hh index 83e1b551d5..38428a6e90 100644 --- a/source/geometry/management/include/voxeldefs.hh +++ b/source/geometry/management/include/voxeldefs.hh @@ -25,7 +25,7 @@ // // // $Id: voxeldefs.hh,v 1.7 2006/06/29 18:33:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/geometry/management/src/G4BlockingList.cc b/source/geometry/management/src/G4BlockingList.cc index 1a5e9d3a3e..9b8f4f409e 100644 --- a/source/geometry/management/src/G4BlockingList.cc +++ b/source/geometry/management/src/G4BlockingList.cc @@ -25,7 +25,7 @@ // // // $Id: G4BlockingList.cc,v 1.3 2006/06/29 18:33:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4BlockingList Implementation diff --git a/source/geometry/management/src/G4ErrorCylSurfaceTarget.cc b/source/geometry/management/src/G4ErrorCylSurfaceTarget.cc new file mode 100644 index 0000000000..202833b395 --- /dev/null +++ b/source/geometry/management/src/G4ErrorCylSurfaceTarget.cc @@ -0,0 +1,226 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorCylSurfaceTarget.cc,v 1.4 2007/06/20 12:50:48 arce Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// -------------------------------------------------------------------- +// GEANT 4 class implementation file +// -------------------------------------------------------------------- + +#include "G4ErrorCylSurfaceTarget.hh" +#include "G4GeometryTolerance.hh" + +#ifdef G4VERBOSE +#include "G4ErrorPropagatorData.hh" //for verbosity checking +#endif + +#include "geomdefs.hh" +#include "G4Plane3D.hh" + +//--------------------------------------------------------------------- + +G4ErrorCylSurfaceTarget:: +G4ErrorCylSurfaceTarget( const G4double& radius, + const G4ThreeVector& trans, + const G4RotationMatrix& rotm ) + : fradius(radius) +{ + theType = G4ErrorTarget_CylindricalSurface; + + ftransform = G4AffineTransform( rotm.inverse(), -trans ); +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 2 ) { + Dump( " $$$ creating G4ErrorCylSurfaceTarget "); + } +#endif +} + +//--------------------------------------------------------------------- + +G4ErrorCylSurfaceTarget:: +G4ErrorCylSurfaceTarget( const G4double& radius, + const G4AffineTransform& trans ) + : fradius(radius), ftransform(trans.Inverse()) +{ + theType = G4ErrorTarget_CylindricalSurface; + +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 2 ) + { + Dump( " $$$ creating G4ErrorCylSurfaceTarget "); + } +#endif +} + +//--------------------------------------------------------------------- + +G4ErrorCylSurfaceTarget::~G4ErrorCylSurfaceTarget() +{ +} + +//--------------------------------------------------------------------- + +G4double G4ErrorCylSurfaceTarget:: +GetDistanceFromPoint( const G4ThreeVector& point, + const G4ThreeVector& dir ) const +{ + if( dir.mag() == 0. ) + { + G4Exception("G4ErrorCylSurfaceTarget::GetDistanceFromPoint()", + "InvalidSetup", FatalException, "Direction is zero !"); + } + + //----- Get intersection point + G4ThreeVector localPoint = ftransform.TransformPoint( point ); + G4ThreeVector localDir = ftransform.TransformAxis( dir ); + G4ThreeVector inters = IntersectLocal(localPoint, localDir); + + G4double dist = (localPoint-inters).mag(); + +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) + { + G4cout << " G4ErrorCylSurfaceTarget::GetDistanceFromPoint():" << G4endl + << " Global point " << point << " dir " << dir << G4endl + << " Intersection " << inters << G4endl + << " Distance " << dist << G4endl; + Dump( " CylSurface: " ); + } +#endif + + return dist; +} + + +//--------------------------------------------------------------------- + +G4double G4ErrorCylSurfaceTarget:: +GetDistanceFromPoint( const G4ThreeVector& point ) const +{ + G4ThreeVector localPoint = ftransform.TransformPoint( point ); + +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) + { + G4cout << " G4ErrorCylSurfaceTarget::GetDistanceFromPoint:" << G4endl + << " Global point " << point << G4endl + << " Distance " << fradius - localPoint.perp() << G4endl; + Dump( " CylSurface: " ); + } +#endif + + return fradius - localPoint.perp(); +} + +//--------------------------------------------------------------------- + +G4ThreeVector G4ErrorCylSurfaceTarget:: +IntersectLocal( const G4ThreeVector& localPoint, + const G4ThreeVector& localDir ) const +{ + G4double eqa = localDir.x()*localDir.x()+localDir.y()*localDir.y(); + G4double eqb = 2*(localPoint.x()*localDir.x()+localPoint.y()*localDir.y()); + G4double eqc = -fradius*fradius+localPoint.x()*localPoint.x() + +localPoint.y()*localPoint.y(); + G4int inside = (localPoint.perp() > fradius) ? -1 : 1; + G4double lambda; + + if( eqa*inside > 0. ) + { + lambda = (-eqb + std::sqrt(eqb*eqb-4*eqa*eqc) ) / (2.*eqa); + } + else if( eqa*inside < 0. ) + { + lambda = (-eqb - std::sqrt(eqb*eqb-4*eqa*eqc) ) / (2.*eqa); + } + else + { + if( eqb != 0. ) + { + lambda = -eqc/eqb; + } + else + { + G4cerr << "WARNING - G4ErrorCylSurfaceTarget::IntersectLocal()" << G4endl + << " Point: " << localPoint << ", direction: " + << localDir << G4endl; + Dump( " CylSurface: " ); + G4Exception("G4ErrorCylSurfaceTarget::IntersectLocal()", + "IllegalCondition", + JustWarning, "Intersection not possible !"); + lambda = kInfinity; + } + } + + G4ThreeVector inters = localPoint + lambda*localDir/localDir.mag(); + +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 4 ) { + G4cout << " G4ErrorCylSurfaceTarget::IntersectLocal " << inters << " " << inters.perp() << " localPoint " << localPoint << " localDir " << localDir << G4endl; + } +#endif + + return inters; +} + +//--------------------------------------------------------------------- + +G4Plane3D G4ErrorCylSurfaceTarget:: +GetTangentPlane( const G4ThreeVector& point ) const +{ + G4ThreeVector localPoint = ftransform.TransformPoint( point ); + + // check that point is at cylinder surface + // + if( std::fabs( localPoint.perp() - fradius ) + > 1000.*G4GeometryTolerance::GetInstance()->GetSurfaceTolerance() ) + { + G4cerr << "WARNING - G4ErrorCylSurfaceTarget::GetTangentPlane()" << G4endl + << " Point: " << point << ", local: " << localPoint + << G4endl + << " is not at surface, but far away by: " + << localPoint.perp() - fradius << " !" << G4endl; + G4Exception("G4ErrorCylSurfaceTarget::GetTangentPlane()", + "IllegalCondition", JustWarning, + "Local point not at surface !"); + } + + G4Normal3D normal = localPoint - ftransform.NetTranslation(); + + return G4Plane3D( normal, point ); +} + + +//--------------------------------------------------------------------- + +void G4ErrorCylSurfaceTarget::Dump( const G4String& msg ) const +{ + G4cout << msg << " radius " << fradius + << " centre " << ftransform.NetTranslation() + << " rotation " << ftransform.NetRotation() << G4endl; +} diff --git a/source/geometry/management/src/G4ErrorPlaneSurfaceTarget.cc b/source/geometry/management/src/G4ErrorPlaneSurfaceTarget.cc new file mode 100644 index 0000000000..5be9625ccc --- /dev/null +++ b/source/geometry/management/src/G4ErrorPlaneSurfaceTarget.cc @@ -0,0 +1,180 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorPlaneSurfaceTarget.cc,v 1.2 2007/06/19 11:28:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// -------------------------------------------------------------------- +// GEANT 4 class implementation file +// -------------------------------------------------------------------- + +#include "G4ErrorPlaneSurfaceTarget.hh" + +#ifdef G4VERBOSE +#include "G4ErrorPropagatorData.hh" //for verbosity checking +#endif + +#include "G4Point3D.hh" +#include "G4ThreeVector.hh" + +//--------------------------------------------------------------------- + +G4ErrorPlaneSurfaceTarget:: +G4ErrorPlaneSurfaceTarget(G4double a, G4double b, G4double c, G4double d) + : G4Plane3D( a, b, c, d ) +{ + theType = G4ErrorTarget_PlaneSurface; + +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 2 ) + { + Dump( " $$$ creating G4ErrorPlaneSurfaceTarget from parameters"); + } +#endif +} + +//--------------------------------------------------------------------- + +G4ErrorPlaneSurfaceTarget:: +G4ErrorPlaneSurfaceTarget(const G4Normal3D &n, const G4Point3D &p) + : G4Plane3D( n, p ) +{ + theType = G4ErrorTarget_PlaneSurface; + +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 2 ) + { + Dump( " $$$ creating G4ErrorPlaneSurfaceTarget from point and normal"); + } +#endif +} + +//--------------------------------------------------------------------- + +G4ErrorPlaneSurfaceTarget:: +G4ErrorPlaneSurfaceTarget(const G4Point3D &p1, + const G4Point3D &p2, + const G4Point3D &p3) + : G4Plane3D( p1, p2, p3 ) +{ + theType = G4ErrorTarget_PlaneSurface; + +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 2 ) + { + Dump( " $$$ creating G4ErrorPlaneSurfaceTarget from three points"); + } +#endif +} + +//--------------------------------------------------------------------- + +G4ErrorPlaneSurfaceTarget::~G4ErrorPlaneSurfaceTarget() +{ +} + +//--------------------------------------------------------------------- + +G4ThreeVector G4ErrorPlaneSurfaceTarget:: +Intersect( const G4ThreeVector& pt, const G4ThreeVector& dir ) const +{ + G4double lam = GetDistanceFromPoint( pt, dir ); + G4Point3D inters = pt + lam * dir; + +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 4 ) + { + G4cerr << " $$$ creating G4ErrorPlaneSurfaceTarget::Intersect " + << inters << G4endl; + } +#endif + + return inters; +} + +//--------------------------------------------------------------------- + +G4double G4ErrorPlaneSurfaceTarget:: +GetDistanceFromPoint( const G4ThreeVector& pt, const G4ThreeVector& dir ) const +{ + if( std::fabs( dir.mag() -1. ) > 1.E-6 ) + { + G4cerr << "WARNING - G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint()" + << G4endl + << " Direction is not a unit vector: " << dir << " !" + << G4endl; + } + G4double dist = -(a_ * pt.x() + b_ * pt.y() + c_ * pt.z() + d_) + / (a_ * dir.x() + b_ * dir.y() + c_ * dir.z() ); + +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) + { + G4cout << " G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint()" << G4endl + << " Point: " << pt << ", Direction: " << dir << G4endl + << " Distance: " << dist << G4endl; + } +#endif + + return dist; +} + +//--------------------------------------------------------------------- + +G4double G4ErrorPlaneSurfaceTarget:: +GetDistanceFromPoint( const G4ThreeVector& pt ) const +{ + G4ThreeVector vec = point() - pt; + G4double alpha = std::acos( vec * normal() / vec.mag() / normal().mag() ); + G4double dist = std::fabs(vec.mag() * std::cos( alpha )); + +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) + { + G4cout << " G4ErrorPlaneSurfaceTarget::GetDistanceFromPoint()" << G4endl + << " Point: " << pt << G4endl + << " Distance: " << dist << G4endl; + } +#endif + + return dist; +} + +//--------------------------------------------------------------------- + +G4Plane3D G4ErrorPlaneSurfaceTarget:: +GetTangentPlane( const G4ThreeVector& ) const +{ + return *this; +} + + +void G4ErrorPlaneSurfaceTarget::Dump( const G4String& msg ) const +{ + G4cout << msg << " point = " << point() + << " normal = " << normal() << G4endl; +} diff --git a/source/geometry/biasing/src/G4VScorer.cc b/source/geometry/management/src/G4ErrorSurfaceTarget.cc similarity index 85% rename from source/geometry/biasing/src/G4VScorer.cc rename to source/geometry/management/src/G4ErrorSurfaceTarget.cc index 32d11620d3..f2c6ab5821 100644 --- a/source/geometry/biasing/src/G4VScorer.cc +++ b/source/geometry/management/src/G4ErrorSurfaceTarget.cc @@ -24,22 +24,15 @@ // ******************************************************************** // // -// $Id: G4VScorer.cc,v 1.2 2006/06/29 18:17:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ErrorSurfaceTarget.cc,v 1.1 2007/05/16 12:50:52 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// ---------------------------------------------------------------------- -// GEANT 4 class source file // -// G4VScorer.cc -// -// ---------------------------------------------------------------------- +// -------------------------------------------------------------------- +// GEANT 4 class implementation file +// -------------------------------------------------------------------- +#include "G4ErrorSurfaceTarget.hh" -#include "G4VScorer.hh" - -G4VScorer::G4VScorer() -{} - -G4VScorer::~G4VScorer() -{} - +G4ErrorSurfaceTarget::G4ErrorSurfaceTarget(){} +G4ErrorSurfaceTarget::~G4ErrorSurfaceTarget(){} diff --git a/source/geometry/biasing/src/G4VPGeoDriver.cc b/source/geometry/management/src/G4ErrorTanPlaneTarget.cc similarity index 85% rename from source/geometry/biasing/src/G4VPGeoDriver.cc rename to source/geometry/management/src/G4ErrorTanPlaneTarget.cc index 117785e7f1..a5265d9369 100644 --- a/source/geometry/biasing/src/G4VPGeoDriver.cc +++ b/source/geometry/management/src/G4ErrorTanPlaneTarget.cc @@ -24,21 +24,15 @@ // ******************************************************************** // // -// $Id: G4VPGeoDriver.cc,v 1.2 2006/06/29 18:17:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ErrorTanPlaneTarget.cc,v 1.1 2007/05/16 12:50:52 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// ---------------------------------------------------------------------- -// GEANT 4 class source file // -// G4VPGeoDriver.cc -// -// ---------------------------------------------------------------------- +// -------------------------------------------------------------------- +// GEANT 4 class implementation file +// -------------------------------------------------------------------- +#include "G4ErrorTanPlaneTarget.hh" -#include "G4VPGeoDriver.hh" -G4VPGeoDriver::G4VPGeoDriver() -{} - -G4VPGeoDriver::~G4VPGeoDriver() -{} - +G4ErrorTanPlaneTarget::G4ErrorTanPlaneTarget(){} +G4ErrorTanPlaneTarget::~G4ErrorTanPlaneTarget(){} diff --git a/examples/extended/biasing/B03/exampleB03.cc b/source/geometry/management/src/G4ErrorTarget.cc similarity index 76% rename from examples/extended/biasing/B03/exampleB03.cc rename to source/geometry/management/src/G4ErrorTarget.cc index 9799c2c529..e97c4a649f 100644 --- a/examples/extended/biasing/B03/exampleB03.cc +++ b/source/geometry/management/src/G4ErrorTarget.cc @@ -24,30 +24,31 @@ // ******************************************************************** // // -// $Id: exampleB03.cc,v 1.12 2006/06/29 16:34:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ErrorTarget.cc,v 1.1 2007/05/16 12:50:52 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// -// -------------------------------------------------------------- -// GEANT 4 - exampleB03 // -// -------------------------------------------------------------- -// Comments -// This main may not be used at all. Instead you may use python or -// lizard an execute the script B03RunApplication in them. -// -// This main function may used to test B03AppBase::GetB03AppBase(). -// -// -------------------------------------------------------------- +// -------------------------------------------------------------------- +// GEANT 4 class implementation file +// -------------------------------------------------------------------- -#include "B03AppBase.hh" -#include "globals.hh" +#include "G4ErrorTarget.hh" -int main(int argc, char **argv) -{ +G4ErrorTarget::G4ErrorTarget(){} +G4ErrorTarget::~G4ErrorTarget(){} - B03AppBase &base = B03AppBase::GetB03AppBase(); - - return 0; +G4double G4ErrorTarget::GetDistanceFromPoint( const G4ThreeVector&, + const G4ThreeVector& ) const +{ + return DBL_MAX; } +G4double G4ErrorTarget::GetDistanceFromPoint( const G4ThreeVector& ) const +{ + return DBL_MAX; +} + +G4bool G4ErrorTarget::TargetReached(const G4Step*) +{ + return 0; +} diff --git a/source/geometry/management/src/G4GeometryManager.cc b/source/geometry/management/src/G4GeometryManager.cc index ebbff3ef2a..cca79423a5 100644 --- a/source/geometry/management/src/G4GeometryManager.cc +++ b/source/geometry/management/src/G4GeometryManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GeometryManager.cc,v 1.18 2006/06/29 18:33:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4GeometryManager.cc,v 1.19 2007/05/11 13:30:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4GeometryManager // @@ -50,6 +50,12 @@ #include "G4SmartVoxelHeader.hh" #include "voxeldefs.hh" +// Needed for setting the extent for tolerance value +// +#include "G4GeometryTolerance.hh" +#include "G4SolidStore.hh" +#include "G4VSolid.hh" + // *************************************************************************** // Static class variable: ptr to single instance of class // *************************************************************************** @@ -61,8 +67,8 @@ G4GeometryManager* G4GeometryManager::fgInstance = 0; // *************************************************************************** // G4GeometryManager::G4GeometryManager() + : fIsClosed(false) { - fIsClosed=false; } // *************************************************************************** @@ -261,7 +267,10 @@ void G4GeometryManager::BuildOptimisations(G4bool allOpts, // Scan recursively the associated logical volume tree // tVolume = pVolume->GetLogicalVolume(); - if (tVolume->GetNoDaughters()) { BuildOptimisations(allOpts, tVolume->GetDaughter(0)); } + if (tVolume->GetNoDaughters()) + { + BuildOptimisations(allOpts, tVolume->GetDaughter(0)); + } } // *************************************************************************** @@ -301,7 +310,29 @@ void G4GeometryManager::DeleteOptimisations(G4VPhysicalVolume* pVolume) // Scan recursively the associated logical volume tree // tVolume = pVolume->GetLogicalVolume(); - if (tVolume->GetNoDaughters()) { DeleteOptimisations(tVolume->GetDaughter(0)); } + if (tVolume->GetNoDaughters()) + { + DeleteOptimisations(tVolume->GetDaughter(0)); + } +} + +// *************************************************************************** +// Sets the maximum extent of the world volume. The operation is allowed only +// if NO solids have been created already. +// *************************************************************************** +// +void G4GeometryManager::SetWorldMaximumExtent(G4double extent) +{ + if (G4SolidStore::GetInstance()->size()) + { + // Sanity check to assure that extent is fixed BEFORE creating + // any geometry object (solids in this case) + // + G4Exception("G4GeometryManager::SetMaximumExtent()", + "NotApplicable", FatalException, + "Extent can be set only BEFORE creating any geometry object!"); + } + G4GeometryTolerance::GetInstance()->SetSurfaceTolerance(extent); } // *************************************************************************** diff --git a/source/geometry/management/src/G4IdentityTrajectoryFilter.cc b/source/geometry/management/src/G4IdentityTrajectoryFilter.cc index 257a01b990..7cd44798ec 100644 --- a/source/geometry/management/src/G4IdentityTrajectoryFilter.cc +++ b/source/geometry/management/src/G4IdentityTrajectoryFilter.cc @@ -25,7 +25,7 @@ // // // $Id: G4IdentityTrajectoryFilter.cc,v 1.4 2006/10/02 10:09:24 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------------ diff --git a/source/geometry/management/src/G4LogicalVolume.cc b/source/geometry/management/src/G4LogicalVolume.cc index 6825e75cea..a4dbba4b97 100644 --- a/source/geometry/management/src/G4LogicalVolume.cc +++ b/source/geometry/management/src/G4LogicalVolume.cc @@ -25,7 +25,7 @@ // // // $Id: G4LogicalVolume.cc,v 1.32 2006/11/30 10:39:28 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4LogicalVolume Implementation diff --git a/source/geometry/management/src/G4LogicalVolumeStore.cc b/source/geometry/management/src/G4LogicalVolumeStore.cc index 7da10b1af8..ad468126f5 100644 --- a/source/geometry/management/src/G4LogicalVolumeStore.cc +++ b/source/geometry/management/src/G4LogicalVolumeStore.cc @@ -25,7 +25,7 @@ // // // $Id: G4LogicalVolumeStore.cc,v 1.18 2007/04/10 10:13:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4LogicalVolumeStore // diff --git a/source/geometry/management/src/G4PhysicalVolumeStore.cc b/source/geometry/management/src/G4PhysicalVolumeStore.cc index dd84ac25fa..6d5844b1b0 100644 --- a/source/geometry/management/src/G4PhysicalVolumeStore.cc +++ b/source/geometry/management/src/G4PhysicalVolumeStore.cc @@ -25,7 +25,7 @@ // // // $Id: G4PhysicalVolumeStore.cc,v 1.19 2007/04/10 10:13:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4PhysicalVolumeStore // diff --git a/source/geometry/management/src/G4ReflectedSolid.cc b/source/geometry/management/src/G4ReflectedSolid.cc index ee65ad9d84..0118f55ff4 100644 --- a/source/geometry/management/src/G4ReflectedSolid.cc +++ b/source/geometry/management/src/G4ReflectedSolid.cc @@ -26,7 +26,7 @@ // // $Id: G4ReflectedSolid.cc,v 1.11 2006/11/08 09:56:33 gcosmo Exp $ // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Implementation for G4ReflectedSolid class for boolean // operations between other solids diff --git a/source/geometry/management/src/G4Region.cc b/source/geometry/management/src/G4Region.cc index 7db763e7b9..4b6d7e2398 100644 --- a/source/geometry/management/src/G4Region.cc +++ b/source/geometry/management/src/G4Region.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Region.cc,v 1.22 2007/03/20 22:29:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4Region.cc,v 1.23 2007/04/26 21:20:53 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4Region Implementation @@ -47,7 +47,7 @@ // G4Region::G4Region(const G4String& pName) : fName(pName), fRegionMod(true), fCut(0), fUserInfo(0), fUserLimits(0), - fFastSimulationManager(0), fWorldPhys(0) + fFastSimulationManager(0), fWorldPhys(0), fRegionalSteppingAction(0) { G4RegionStore* rStore = G4RegionStore::GetInstance(); if (rStore->GetRegion(pName,false)) @@ -71,7 +71,7 @@ G4Region::G4Region(const G4String& pName) // G4Region::G4Region( __void__& ) : fName(""), fRegionMod(true), fCut(0), fUserInfo(0), fUserLimits(0), - fFastSimulationManager(0), fWorldPhys(0) + fFastSimulationManager(0), fWorldPhys(0), fRegionalSteppingAction(0) { // Register to store // diff --git a/source/geometry/management/src/G4RegionStore.cc b/source/geometry/management/src/G4RegionStore.cc index 43e0a12ece..bfdc91f27d 100644 --- a/source/geometry/management/src/G4RegionStore.cc +++ b/source/geometry/management/src/G4RegionStore.cc @@ -25,7 +25,7 @@ // // // $Id: G4RegionStore.cc,v 1.13 2007/04/10 10:13:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4RegionStore // diff --git a/source/geometry/management/src/G4SmartVoxelHeader.cc b/source/geometry/management/src/G4SmartVoxelHeader.cc index aea2378c13..c6d8aa0100 100644 --- a/source/geometry/management/src/G4SmartVoxelHeader.cc +++ b/source/geometry/management/src/G4SmartVoxelHeader.cc @@ -25,7 +25,7 @@ // // // $Id: G4SmartVoxelHeader.cc,v 1.28 2006/06/29 18:33:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4SmartVoxelHeader diff --git a/source/geometry/management/src/G4SmartVoxelNode.cc b/source/geometry/management/src/G4SmartVoxelNode.cc index 53fbc357da..b03370a4ad 100644 --- a/source/geometry/management/src/G4SmartVoxelNode.cc +++ b/source/geometry/management/src/G4SmartVoxelNode.cc @@ -25,7 +25,7 @@ // // // $Id: G4SmartVoxelNode.cc,v 1.6 2006/06/29 18:33:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class G4SmartVoxelNode // diff --git a/source/geometry/management/src/G4SmartVoxelProxy.cc b/source/geometry/management/src/G4SmartVoxelProxy.cc index 24a10730aa..2147ee04c5 100644 --- a/source/geometry/management/src/G4SmartVoxelProxy.cc +++ b/source/geometry/management/src/G4SmartVoxelProxy.cc @@ -25,7 +25,7 @@ // // // $Id: G4SmartVoxelProxy.cc,v 1.3 2006/06/29 18:33:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class G4SmartVoxelProxy // diff --git a/source/geometry/management/src/G4SmartVoxelStat.cc b/source/geometry/management/src/G4SmartVoxelStat.cc index fc2f2e3621..b61510a8e6 100644 --- a/source/geometry/management/src/G4SmartVoxelStat.cc +++ b/source/geometry/management/src/G4SmartVoxelStat.cc @@ -25,7 +25,7 @@ // // // $Id: G4SmartVoxelStat.cc,v 1.3 2006/06/29 18:33:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/management/src/G4SolidStore.cc b/source/geometry/management/src/G4SolidStore.cc index 3da71b6970..7b587db646 100644 --- a/source/geometry/management/src/G4SolidStore.cc +++ b/source/geometry/management/src/G4SolidStore.cc @@ -25,7 +25,7 @@ // // // $Id: G4SolidStore.cc,v 1.17 2007/04/10 10:13:50 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4SolidStore // diff --git a/source/geometry/management/src/G4VCurvedTrajectoryFilter.cc b/source/geometry/management/src/G4VCurvedTrajectoryFilter.cc index ff647f5e5c..41f2e05d6d 100644 --- a/source/geometry/management/src/G4VCurvedTrajectoryFilter.cc +++ b/source/geometry/management/src/G4VCurvedTrajectoryFilter.cc @@ -25,7 +25,7 @@ // // // $Id: G4VCurvedTrajectoryFilter.cc,v 1.3 2006/06/29 18:33:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // -------------------------------------------------------------------- #include "G4VCurvedTrajectoryFilter.hh" diff --git a/source/geometry/management/src/G4VNestedParameterisation.cc b/source/geometry/management/src/G4VNestedParameterisation.cc index 89dc4b1a20..c4627f09e6 100644 --- a/source/geometry/management/src/G4VNestedParameterisation.cc +++ b/source/geometry/management/src/G4VNestedParameterisation.cc @@ -25,7 +25,7 @@ // // // $Id: G4VNestedParameterisation.cc,v 1.6 2006/06/29 18:33:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VNestedParameterisation implementation // diff --git a/source/geometry/management/src/G4VPVDivisionFactory.cc b/source/geometry/management/src/G4VPVDivisionFactory.cc index 3f720f61c0..ff0efc93b8 100644 --- a/source/geometry/management/src/G4VPVDivisionFactory.cc +++ b/source/geometry/management/src/G4VPVDivisionFactory.cc @@ -25,7 +25,7 @@ // // // $Id: G4VPVDivisionFactory.cc,v 1.2 2006/06/29 18:34:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VPVDivisionFactory Implementation file // diff --git a/source/geometry/management/src/G4VPVParameterisation.cc b/source/geometry/management/src/G4VPVParameterisation.cc index 0f54e18504..0373946429 100644 --- a/source/geometry/management/src/G4VPVParameterisation.cc +++ b/source/geometry/management/src/G4VPVParameterisation.cc @@ -25,7 +25,7 @@ // // // $Id: G4VPVParameterisation.cc,v 1.7 2006/06/29 18:34:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Default implementations for Parameterisations that do not // parameterise solid and/or material. diff --git a/source/geometry/management/src/G4VPhysicalVolume.cc b/source/geometry/management/src/G4VPhysicalVolume.cc index eebf5fbe5d..f1e457a608 100644 --- a/source/geometry/management/src/G4VPhysicalVolume.cc +++ b/source/geometry/management/src/G4VPhysicalVolume.cc @@ -25,7 +25,7 @@ // // // $Id: G4VPhysicalVolume.cc,v 1.14 2007/04/11 08:00:12 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4VPhysicalVolume Implementation diff --git a/source/geometry/management/src/G4VSolid.cc b/source/geometry/management/src/G4VSolid.cc index 50407d0bf8..d6e6832b2d 100644 --- a/source/geometry/management/src/G4VSolid.cc +++ b/source/geometry/management/src/G4VSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSolid.cc,v 1.33 2006/10/23 08:33:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VSolid.cc,v 1.34 2007/05/11 13:30:12 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VSolid // @@ -46,6 +46,7 @@ #include "G4SolidStore.hh" #include "globals.hh" #include "Randomize.hh" +#include "G4GeometryTolerance.hh" #include "G4VoxelLimits.hh" #include "G4AffineTransform.hh" @@ -60,6 +61,8 @@ G4VSolid::G4VSolid(const G4String& name) : fshapeName(name) { + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + // Register to store // G4SolidStore::GetInstance()->Register(this); diff --git a/source/geometry/management/src/G4VoxelLimits.cc b/source/geometry/management/src/G4VoxelLimits.cc index 29de26244c..97b9257a44 100644 --- a/source/geometry/management/src/G4VoxelLimits.cc +++ b/source/geometry/management/src/G4VoxelLimits.cc @@ -25,7 +25,7 @@ // // // $Id: G4VoxelLimits.cc,v 1.11 2006/06/29 18:34:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VoxelLimits // diff --git a/source/geometry/navigation/GNUmakefile b/source/geometry/navigation/GNUmakefile index 2610e5fdfc..c69b8333db 100644 --- a/source/geometry/navigation/GNUmakefile +++ b/source/geometry/navigation/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2004/06/11 14:17:15 gcosmo Exp $ +# $Id: GNUmakefile,v 1.3 2007/05/18 15:53:15 ahoward Exp $ # -------------------------------------------------------------------- # GNUmakefile for geometry/volumes library. Gabriele Cosmo, 16/11/96. # -------------------------------------------------------------------- @@ -27,6 +27,9 @@ endif ifdef G4DEBUG_FIELD CPPFLAGS += -DG4DEBUG_FIELD endif +ifdef G4DEBUG_PATHFINDER + CPPFLAGS += -DG4DEBUG_PATHFINDER +endif include $(G4INSTALL)/config/common.gmk diff --git a/source/geometry/navigation/History b/source/geometry/navigation/History index c058cd1cd3..0915cbe505 100644 --- a/source/geometry/navigation/History +++ b/source/geometry/navigation/History @@ -1,4 +1,4 @@ -$Id: History,v 1.73.2.1 2007/04/26 15:23:01 gcosmo Exp $ +$Id: History,v 1.84.2.2 2007/06/08 10:09:19 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,12 +17,90 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- -April 26th, 2007 - T.Nikitina (geomnav-V08-02-01a) +June 8th, 2007 - T.Nikitina (geomnav-V08-03-02b) +--------------------------- +- G4PropagatorInField: + o Put in the constructor creation of array of FieldTracks used in + LocateInterSectionPoint(). + o Change in ReEstimateNewPoint() in order to handle cases with zero step + caused by diffCurve=0. + +May 18th, 2007 - J.Apostolakis +------------------------------ +- G4PropagatorInField: in case of proposed step less than tolerance, + now return 'kInfinity' as per convention of geometry instead of 'DBL_MAX'. + +May 30th, 2007 - G.Cosmo (geomnav-V08-03-02a) +------------------------ +- Added method CheckPointExiting() in G4AuxiliaryNavServices utility + class (by P.Arce). +- Added G4DEBUG_PATHFINDER flag to GNUmakefile. + +May 18th, 2007 - G.Cosmo (geomnav-V08-03-02) +------------------------ +- Use kAngTolerance and kRadTolerance from G4GeometryTolerance class. +- Coworks with tag "global-V08-03-03". + +May 16th, 2007 - G.Cosmo (geomnav-V08-03-01) +------------------------ +- Introduced new class G4ErrorPropagationNavigator, a specialised navigator + for performing double navigation in the detector geometry and on the + target surface for error propagation (by P.Arce). +- Fixed bug in G4GeomTestSegment in case of TestPoint on the surface, + reducing cases of reported spurious overlaps. +- Coworks with tag "global-V08-03-02". + +May 16th, 2007 - J.Apostolakis (geomnav-V08-03-00a) +------------------------------ +- Moved to G4PathFinder version without extra prints + +April 26th, 2007 - G.Cosmo (geomnav-V08-03-00) +-------------------------- +- Use call to G4GeometryTolerance instead of kCarTolerance where needed. +- Revised data members in G4SafetyHelper to conform to convention. +- Requires tag "global-V08-03-00" and related tag set. + +April 26th, 2007 - T.Nikitina (geomnav-V08-02-03) ----------------------------- - Fixed case of out of range access in G4GeomTestSegment responsible for crashes observed when recursive-grid test for overlaps was run. Addressing problem report #784. +April 20th, 2007 - G.Cosmo (geomnav-V08-02-02) +-------------------------- +- Some cleanup and minor cosmetics ... + +April 12st, 2007 - V.Ivanchenko +------------------------------- +- G4SafetyHelper become a unique class, which can be accessed via + G4TransporationManager. Depending on type of navigation (single + world or multiple navigation) it uses mass navigator or G4PathFinder. + All calls from EM processes to geometry are provided by G4SafetyHelper. +- G4TransportationManager: added G4SafetyHelper. +- G4PathFinder: initialisation of G4SafetyHelper. +- Tagged "geomnav-V08-02-02-beta2". + +March 31st, 2007 - J. Apostolakis +--------------------------------- +- G4Navigator: + o New method CheckNextStep() makes a trial step, without + changing the state of the Navigator (to be verified). + It is a variant of ComputeStep, whose signature it shares. +- Tagged "geomnav-V08-02-02-beta1". + +February 13th, 2007 - J.Apostolakis +----------------------------------- +- G4Navigator: + o Improvement for creating touchable history when located outside world. + Retain whether last point was located outside, and if so call default + TouchableHistory constructor (that initialised world to null). + NOTE: testing found problems with SteppingManager::SetInitialStep() + as the Vertex physical volume was not set. Protection is potentially + required, or bigger issue to be resolved. + Currently, changes in G4Navigator.hh,cc are safe, but the fix in .icc is + temporarly suspended and NOT included. +- Attempted fix created Dec 7th, 2006 + February 13th, 2007 - J.Apostolakis (geomnav-V08-02-01) ----------------------------------- - G4PropagatorInField: @@ -43,21 +121,20 @@ January 31st, 2007 - G.Cosmo (geomnav-V08-02-00) November 23rd, 2006 - J.Apostolakis (geomnav-V08-01-08) ----------------------------------- - G4PathFinder: - o Fix when report a problem - only if move > safety (additional check) *Key change* - o Revised condition for extra checking against safety + o Fix when report a problem only if move > safety (additional check). + o Revised condition for extra checking against safety. o Many small and cosmetic changes in debug printing. November 18th, 2006 - J.Apostolakis (geomnav-V08-01-07) ----------------------------------- - G4PathFinder: - o Fix for problem when step is fully taken - -- Note: this occurs due to optimisation in PiF that avoids calling G4(Multi)Navigator!! + o Fix for problem when step is fully taken. + Note: this occurs due to optimisation in PiF that avoids calling + G4(Multi)Navigator!! o Function LimitedString( ELimited lim ) enables printing this enum - -Small/cosmetic -- G4PathFinder: - o Improved printing in IntersectChord. Deleted/simplified few prints in ComputeStep -- G4MultiNavigator - cleanup, cosmetics + o Improved printing in IntersectChord. Deleted/simplified few prints in + ComputeStep(). +- G4MultiNavigator: cleanup, cosmetics November 13th, 2006 - G.Cosmo (geomnav-V08-01-06) ----------------------------- @@ -65,11 +142,12 @@ November 13th, 2006 - G.Cosmo (geomnav-V08-01-06) November 11th, 2006 - J.Apostolakis (geomnav-V08-01-05) ----------------------------------- -G4PathFinder improvements for parallel Navigation - - ComputeStep method signature extended to add volume - - Use G4MultiNavigator for tracking in field. -G4MultiNavigator: several fixes, primarily for - taking care of condition of geometry limited step. +- G4PathFinder improvements for parallel Navigation + o ComputeStep method signature extended to add volume + o Use G4MultiNavigator for tracking in field. +- G4MultiNavigator: + o Several fixes, primarily for taking care of condition of + geometry limited step. November 11th, 2006 - J.Apostolakis (geomnav-V08-01-04) ----------------------------------- diff --git a/source/geometry/navigation/include/G4AuxiliaryNavServices.hh b/source/geometry/navigation/include/G4AuxiliaryNavServices.hh index 7a485c222c..61366d7c73 100644 --- a/source/geometry/navigation/include/G4AuxiliaryNavServices.hh +++ b/source/geometry/navigation/include/G4AuxiliaryNavServices.hh @@ -24,16 +24,15 @@ // ******************************************************************** // // -// $Id: G4AuxiliaryNavServices.hh,v 1.3 2006/06/29 18:35:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AuxiliaryNavServices.hh,v 1.4 2007/05/22 07:48:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // -// class G4NormalNavigation +// class G4AuxiliaryNavServices // // Class description: // -// Utility for navigation in volumes containing only G4PVPlacement -// daughter volumes. +// Utility class for navigation. // History: // - Created: Paul Kent, Aug 96 @@ -65,6 +64,14 @@ class G4AuxiliaryNavServices // or along it. // Else returns false. + static G4bool CheckPointExiting( const G4VSolid* sampleSolid, + const G4ThreeVector& localPoint, + const G4ThreeVector* globalDirection, + const G4AffineTransform& sampleTransform ); + // + // Is the track (point, direction) exiting the solid 'sampleSolid' ? + // Returns true if we are going to exit the volume. + private: G4bool testOne(); diff --git a/source/geometry/navigation/include/G4AuxiliaryNavServices.icc b/source/geometry/navigation/include/G4AuxiliaryNavServices.icc index a43880592e..d68eaf5815 100644 --- a/source/geometry/navigation/include/G4AuxiliaryNavServices.icc +++ b/source/geometry/navigation/include/G4AuxiliaryNavServices.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AuxiliaryNavServices.icc,v 1.3 2006/06/29 18:35:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AuxiliaryNavServices.icc,v 1.4 2007/05/22 07:48:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4AuxiliaryNavServices Inline implementation @@ -86,3 +86,51 @@ CheckPointOnSurface( const G4VSolid* sampleSolid, } return enter; } + +// -------------------------------------------------------------------- + +inline G4bool +G4AuxiliaryNavServices:: +CheckPointExiting( const G4VSolid* sampleSolid, + const G4ThreeVector& localPoint, + const G4ThreeVector* globalDirection, + const G4AffineTransform& sampleTransform ) +{ + if( !globalDirection ) { return false; } + + G4ThreeVector localDirection, sampleNormal; + G4bool exiting = false; + + EInside insideSolid = sampleSolid->Inside(localPoint); + if( (insideSolid==kSurface) ) + { + localDirection= sampleTransform.TransformAxis(*globalDirection); + + // Check whether we are exiting the volume + // + sampleNormal = sampleSolid->SurfaceNormal(localPoint); + if ( sampleNormal.dot(localDirection) >= 0 ) + { + if( sampleNormal.dot(localDirection) == 0 ) + { + // We can't decide yet, let's make sure we're entering the solid. + // If by a confusion we entered the next solid we find out now + // whether to leave or to exiting. + // This happens when we're on the surface or edge shared by two + // solids + // + G4double distanceToIn = + sampleSolid->DistanceToIn( localPoint, localDirection ); + if( distanceToIn != kInfinity ) + { + exiting = true; + } + } + else + { + exiting = true; + } + } + } + return exiting; +} diff --git a/source/geometry/navigation/include/G4DrawVoxels.hh b/source/geometry/navigation/include/G4DrawVoxels.hh index 95416e5a7b..25170de0e8 100644 --- a/source/geometry/navigation/include/G4DrawVoxels.hh +++ b/source/geometry/navigation/include/G4DrawVoxels.hh @@ -25,7 +25,7 @@ // // // $Id: G4DrawVoxels.hh,v 1.3 2006/06/29 18:35:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4DrawVoxels diff --git a/source/geometry/navigation/include/G4ErrorPropagationNavigator.hh b/source/geometry/navigation/include/G4ErrorPropagationNavigator.hh new file mode 100644 index 0000000000..1bdea39448 --- /dev/null +++ b/source/geometry/navigation/include/G4ErrorPropagationNavigator.hh @@ -0,0 +1,72 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorPropagationNavigator.hh,v 1.1 2007/05/16 12:49:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// -------------------------------------------------------------------- +// GEANT 4 class header file +// -------------------------------------------------------------------- +// +// Class Description: +// +// Class for performing double navigation in the detector geometry and +// on the target surface for error propagation. It overloads ComputeStep() +// and ComputeSafety() methods. + +// History: +// - Created. P. Arce, September 2004 +// -------------------------------------------------------------------- + +#ifndef G4ErrorPropagationNavigator_hh +#define G4ErrorPropagationNavigator_hh + +#include "G4Navigator.hh" +#include "G4ThreeVector.hh" + +class G4ErrorPropagationNavigator : public G4Navigator +{ + public: // with description + + G4ErrorPropagationNavigator(); + ~G4ErrorPropagationNavigator(); + + G4double ComputeStep (const G4ThreeVector &pGlobalPoint, + const G4ThreeVector &pDirection, + const G4double pCurrentProposedStepLength, + G4double &pNewSafety); + // Calls the navigation in the detector geometry and then checks + // if the distance to surface is smaller than the proposed step + + G4double ComputeSafety(const G4ThreeVector &globalpoint, + const G4double pProposedMaxLength = DBL_MAX); + // Calls the navigation in the detector geometry and then checks + // if the distance to surface is smaller than the proposed safety + +}; + +#endif diff --git a/source/geometry/navigation/include/G4GeomTestErrorList.hh b/source/geometry/navigation/include/G4GeomTestErrorList.hh index 05276ea26f..300ddef7bf 100644 --- a/source/geometry/navigation/include/G4GeomTestErrorList.hh +++ b/source/geometry/navigation/include/G4GeomTestErrorList.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeomTestErrorList.hh,v 1.3 2006/06/29 18:35:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/navigation/include/G4GeomTestLogger.hh b/source/geometry/navigation/include/G4GeomTestLogger.hh index df68f84a05..24e21011ab 100644 --- a/source/geometry/navigation/include/G4GeomTestLogger.hh +++ b/source/geometry/navigation/include/G4GeomTestLogger.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeomTestLogger.hh,v 1.3 2006/06/29 18:35:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/navigation/include/G4GeomTestOverlapList.hh b/source/geometry/navigation/include/G4GeomTestOverlapList.hh index 473d262d46..b1b9fc1d0a 100644 --- a/source/geometry/navigation/include/G4GeomTestOverlapList.hh +++ b/source/geometry/navigation/include/G4GeomTestOverlapList.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeomTestOverlapList.hh,v 1.3 2006/06/29 18:35:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/navigation/include/G4GeomTestOvershootList.hh b/source/geometry/navigation/include/G4GeomTestOvershootList.hh index ac824bd986..8e2513d16e 100644 --- a/source/geometry/navigation/include/G4GeomTestOvershootList.hh +++ b/source/geometry/navigation/include/G4GeomTestOvershootList.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeomTestOvershootList.hh,v 1.3 2006/06/29 18:35:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/navigation/include/G4GeomTestPoint.hh b/source/geometry/navigation/include/G4GeomTestPoint.hh index a11ea79b5c..8b152413ae 100644 --- a/source/geometry/navigation/include/G4GeomTestPoint.hh +++ b/source/geometry/navigation/include/G4GeomTestPoint.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeomTestPoint.hh,v 1.3 2006/06/29 18:35:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/navigation/include/G4GeomTestSegment.hh b/source/geometry/navigation/include/G4GeomTestSegment.hh index 9a010739e4..6e607b8d73 100644 --- a/source/geometry/navigation/include/G4GeomTestSegment.hh +++ b/source/geometry/navigation/include/G4GeomTestSegment.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GeomTestSegment.hh,v 1.3 2006/06/29 18:35:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4GeomTestSegment.hh,v 1.4 2007/05/11 13:43:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file @@ -78,6 +78,8 @@ class G4GeomTestSegment const G4ThreeVector p0,v; std::vector points; + + G4double kCarTolerance; }; #endif diff --git a/source/geometry/navigation/include/G4GeomTestStreamLogger.hh b/source/geometry/navigation/include/G4GeomTestStreamLogger.hh index a4e30204a0..0e5a82bc49 100644 --- a/source/geometry/navigation/include/G4GeomTestStreamLogger.hh +++ b/source/geometry/navigation/include/G4GeomTestStreamLogger.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeomTestStreamLogger.hh,v 1.3 2006/06/29 18:35:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/navigation/include/G4GeomTestVolPoint.hh b/source/geometry/navigation/include/G4GeomTestVolPoint.hh index 31f25b5117..c89c6f2078 100644 --- a/source/geometry/navigation/include/G4GeomTestVolPoint.hh +++ b/source/geometry/navigation/include/G4GeomTestVolPoint.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeomTestVolPoint.hh,v 1.3 2006/06/29 18:35:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/navigation/include/G4GeomTestVolume.hh b/source/geometry/navigation/include/G4GeomTestVolume.hh index 425c1273ec..6f24b6876f 100644 --- a/source/geometry/navigation/include/G4GeomTestVolume.hh +++ b/source/geometry/navigation/include/G4GeomTestVolume.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeomTestVolume.hh,v 1.3 2006/06/29 18:35:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/navigation/include/G4GeometryMessenger.hh b/source/geometry/navigation/include/G4GeometryMessenger.hh index 00a6784782..d8dda240e1 100644 --- a/source/geometry/navigation/include/G4GeometryMessenger.hh +++ b/source/geometry/navigation/include/G4GeometryMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4GeometryMessenger.hh,v 1.4 2006/06/29 18:35:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/navigation/include/G4MultiNavigator.hh b/source/geometry/navigation/include/G4MultiNavigator.hh index 55d321e7c4..782b7e9d0c 100644 --- a/source/geometry/navigation/include/G4MultiNavigator.hh +++ b/source/geometry/navigation/include/G4MultiNavigator.hh @@ -25,7 +25,7 @@ // // // $Id: G4MultiNavigator.hh,v 1.3 2006/11/13 17:34:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4MultiNavigator diff --git a/source/geometry/navigation/include/G4Navigator.hh b/source/geometry/navigation/include/G4Navigator.hh index f874f2d392..f7f00196b8 100644 --- a/source/geometry/navigation/include/G4Navigator.hh +++ b/source/geometry/navigation/include/G4Navigator.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Navigator.hh,v 1.19 2006/12/07 15:09:18 japost Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4Navigator.hh,v 1.23 2007/05/11 13:43:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4Navigator @@ -99,6 +99,12 @@ class G4Navigator // is returned together with the computed isotropic safety // distance. Geometry must be closed. + G4double CheckNextStep(const G4ThreeVector &pGlobalPoint, + const G4ThreeVector &pDirection, + const G4double pCurrentProposedStepLength, + G4double &pNewSafety); + // Same as above, but do not disturb the state of the Navigator. + virtual G4VPhysicalVolume* ResetHierarchyAndLocate(const G4ThreeVector &point, const G4ThreeVector &direction, @@ -233,7 +239,7 @@ class G4Navigator // verifications and more strict correctness conditions. // Is effective only with G4VERBOSE set. - void PrintState(); + void PrintState() const; // Print the internal state of the Navigator (for debugging). // The level of detail is according to the verbosity. @@ -253,6 +259,15 @@ class G4Navigator // Values: 1 (small problem), 5 (correcting), // 9 (ready to abandon), 10 (abandoned) + // inline + void SetSavedState(); + // ( fValidExitNormal, fExitNormal, fExiting, fEntering, + // fBlockedPhysicalVolume, fBlockedReplicaNo, fLastStepWasZero); + // inline + void RestoreSavedState(); + // Copy aspects of the state, to enable a non-state changing + // call to ComputeStep + public: // with description inline G4ThreeVector GetCurrentLocalCoordinate() const; @@ -291,6 +306,9 @@ class G4Navigator protected: // without description + G4double kCarTolerance; + // Geometrical tolerance for surface thickness of shapes. + // // BEGIN State information // @@ -372,22 +390,34 @@ class G4Navigator // END State information // + // Save key state information (NOT the navigation history stack) // - // BEGIN Tracking Invariants - // + struct G4SaveNavigatorState + { + G4ThreeVector sExitNormal; + G4bool sValidExitNormal; + G4bool sEntering, sExiting; + G4VPhysicalVolume* spBlockedPhysicalVolume; + G4int sBlockedReplicaNo; + G4int sLastStepWasZero; + // Potentially relevant + // + G4bool sLocatedOutsideWorld; + G4ThreeVector sLastLocatedPointLocal; + G4bool sEnteredDaughter, sExitedMother; + G4ThreeVector sPreviousSftOrigin; + G4double sPreviousSafety; + } fSaveState; + + // Tracking Invariants + // G4VPhysicalVolume *fTopPhysical; // A link to the topmost physical volume in the detector. // Must be positioned at the origin and unrotated. + // Utility information // - // END Tracking Invariants - // - - // - // BEGIN Utility information - // - G4bool fCheck; // Check-mode flag [if true, more strict checks are performed]. G4bool fPushed; @@ -395,11 +425,6 @@ class G4Navigator G4int fVerbose; // Verbose(ness) level [if > 0, printout can occur]. - // - // END Utility Invariants - // - - // // Helpers/Utility classes // G4NormalNavigation fnormalNav; diff --git a/source/geometry/navigation/include/G4Navigator.icc b/source/geometry/navigation/include/G4Navigator.icc index 50ef8aa65d..d11c60b944 100644 --- a/source/geometry/navigation/include/G4Navigator.icc +++ b/source/geometry/navigation/include/G4Navigator.icc @@ -25,7 +25,7 @@ // // // $Id: G4Navigator.icc,v 1.12 2006/10/27 09:13:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4Navigator Inline implementation diff --git a/source/geometry/navigation/include/G4NormalNavigation.hh b/source/geometry/navigation/include/G4NormalNavigation.hh index ab74a7304d..9729e17d55 100644 --- a/source/geometry/navigation/include/G4NormalNavigation.hh +++ b/source/geometry/navigation/include/G4NormalNavigation.hh @@ -25,7 +25,7 @@ // // // $Id: G4NormalNavigation.hh,v 1.4 2006/06/29 18:36:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4NormalNavigation diff --git a/source/geometry/navigation/include/G4NormalNavigation.icc b/source/geometry/navigation/include/G4NormalNavigation.icc index 304c5abf60..54e625e112 100644 --- a/source/geometry/navigation/include/G4NormalNavigation.icc +++ b/source/geometry/navigation/include/G4NormalNavigation.icc @@ -25,7 +25,7 @@ // // // $Id: G4NormalNavigation.icc,v 1.4 2006/06/29 18:36:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4NormalNavigation Inline Implementation diff --git a/source/geometry/navigation/include/G4ParameterisedNavigation.hh b/source/geometry/navigation/include/G4ParameterisedNavigation.hh index b4fadc9c95..34a778d53c 100644 --- a/source/geometry/navigation/include/G4ParameterisedNavigation.hh +++ b/source/geometry/navigation/include/G4ParameterisedNavigation.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisedNavigation.hh,v 1.5 2006/06/29 18:36:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ParameterisedNavigation diff --git a/source/geometry/navigation/include/G4ParameterisedNavigation.icc b/source/geometry/navigation/include/G4ParameterisedNavigation.icc index fba91b2eac..11983f9395 100644 --- a/source/geometry/navigation/include/G4ParameterisedNavigation.icc +++ b/source/geometry/navigation/include/G4ParameterisedNavigation.icc @@ -25,7 +25,7 @@ // // // $Id: G4ParameterisedNavigation.icc,v 1.6 2006/06/29 18:36:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ParameterisedNavigation Inline implementation diff --git a/source/geometry/navigation/include/G4PathFinder.hh b/source/geometry/navigation/include/G4PathFinder.hh index 510043d221..45bdcbfca5 100644 --- a/source/geometry/navigation/include/G4PathFinder.hh +++ b/source/geometry/navigation/include/G4PathFinder.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PathFinder.hh,v 1.20 2006/11/11 01:23:35 japost Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PathFinder.hh,v 1.23 2007/05/16 15:59:06 japost Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4PathFinder // @@ -42,28 +42,21 @@ // 7.10.05 John Apostolakis, Draft design // 26.04.06 John Apostolakis, Revised design and first implementation // --------------------------------------------------------------------------- - #ifndef G4PATHFINDER_HH #define G4PATHFINDER_HH 1 -#include "G4Types.hh" #include +#include "G4Types.hh" #include "G4FieldTrack.hh" -// class G4FieldManager; // #include "G4FieldManager.hh" -// class G4Navigator; -// class G4VPhysicalVolume; -// class G4VCurvedTrajectoryFilter; + class G4TransportationManager; class G4Navigator; + #include "G4TouchableHandle.hh" #include "G4FieldTrack.hh" - -// enum ELimited { kDoNot, kUnique, kSharedTransport, kSharedOther, kUndefLimited }; -// #include "G4Elimited.hh" - -// class G4MultiNavigator; // --> Moved Elimited to G4MultiNavigator #include "G4MultiNavigator.hh" + class G4PropagatorInField; class G4PathFinder @@ -71,122 +64,131 @@ class G4PathFinder public: // with description - static G4PathFinder* GetInstance(); // Singleton - ~G4PathFinder(); + static G4PathFinder* GetInstance(); + // + // Retrieve singleton instance - - // Attempt next step - // - G4double ComputeStep( const G4FieldTrack &pFieldTrack, // Or update non-c - G4double pCurrentProposedStepLength, - G4int navigatorId, - G4int stepNo, // See next step / check - G4double &pNewSafety, // for this geom - ELimited &limitedStep, - G4FieldTrack &EndState, - G4VPhysicalVolume* currentVolume - ); + G4double ComputeStep( const G4FieldTrack &pFieldTrack,// Or update non-c + G4double pCurrentProposedStepLength, + G4int navigatorId, + G4int stepNo, // See next step/check + G4double &pNewSafety, // for this geom + ELimited &limitedStep, + G4FieldTrack &EndState, + G4VPhysicalVolume* currentVolume ); + // // Compute the next geometric Step -- Curved or linear void Locate( const G4ThreeVector& position, - const G4ThreeVector& direction, - G4bool relativeSearch= true); - // Make primary relocation of global point in all navigators, and update them. + const G4ThreeVector& direction, + G4bool relativeSearch=true); + // + // Make primary relocation of global point in all navigators, + // and update them. void ReLocate( const G4ThreeVector& position ); + // // Make secondary relocation of global point (within safety only) - // in all navigators, and update them. + // in all navigators, and update them. void PrepareNewTrack( G4ThreeVector position, G4ThreeVector direction); - // Check and cache set of active navigators + // + // Check and cache set of active navigators. - G4TouchableHandle CreateTouchableHandle( G4int navId) const; - // Also? G4TouchableCreator& GetTouchableCreator( G4int navId ) const; + G4TouchableHandle CreateTouchableHandle( G4int navId ) const; inline G4VPhysicalVolume* GetLocatedVolume( G4int navId ) const; - // ----------------------------------------------------------------- + // ----------------------------------------------------------------- + inline void SetChargeMomentumMass( G4double charge, // in e+ units G4double momentum, // in Geant4 units G4double pMass ); - inline G4bool IsParticleLooping() const; + inline G4bool IsParticleLooping() const; - G4double GetCurrentSafety() const { return fMinSafety; } + inline G4double GetCurrentSafety() const; + // // Minimum value of safety after last ComputeStep G4double ComputeSafety( const G4ThreeVector& pGlobalPoint ); - // Recompute safety for the relevant point - the endpoint of the last step!! + // + // Recompute safety for the relevant point + // the endpoint of the last step!! - void EnableParallelNavigation(G4bool enableChoice= true); + void EnableParallelNavigation( G4bool enableChoice=true ); + // // Must call it to ensure that PathFinder is prepared, - // especially for curved tracks - // --> if true it switches PropagatorInField to use MultiNavigator. - // Must call it with false to undo (=PiF use Navigator for tracking!) + // especially for curved tracks. If true it switches PropagatorInField + // to use MultiNavigator. Must call it with false to undo (=PiF use + // Navigator for tracking!) inline G4int SetVerboseLevel(G4int lev=-1); - // inline G4int GetVerboseLevel() const; public: // with description inline G4int GetMaxLoopCount() const; inline void SetMaxLoopCount( G4int new_max ); + // // A maximum for the number of steps that a (looping) particle can take. public: // without description - void MovePoint(){ fRelocatedPoint= true; } - // Signal that location will be moved -- internal use primarily + + inline void MovePoint(); + // + // Signal that location will be moved -- internal use primarily + + G4String& LimitedString( ELimited lim ); + // Convert ELimited to string protected: // without description + G4double DoNextLinearStep( const G4FieldTrack &FieldTrack, - G4double proposedStepLength); + G4double proposedStepLength); G4double DoNextCurvedStep( const G4FieldTrack &FieldTrack, - G4double proposedStepLength, - G4VPhysicalVolume* pCurrentPhysVolume); + G4double proposedStepLength, + G4VPhysicalVolume* pCurrentPhysVolume); void WhichLimited(); - void PrintLimited(); // Print key details out - for debugging - // - // void SetTrajectoryFilter(G4VCurvedTrajectoryFilter* filter); - // Set the filter that examines & stores 'intermediate' - // curved trajectory points. Currently only position is stored. + void PrintLimited(); + // + // Print key details out - for debugging void ClearState(); + // // Clear all the State of this class and its current associates inline G4bool UseSafetyForOptimization( G4bool ); - // Whether to safety to discard - // unneccesary calls to navigator (thus 'optimising' performance) + // + // Whether use safety to discard unneccesary calls to navigator protected: - G4Navigator* GetNavigator(G4int n) const { - if( (n>fNoActiveNavigators)||(n<0)){ n=0; } - return fpNavigator[n]; - } - private: G4PathFinder(); // Singleton + ~G4PathFinder(); + + inline G4Navigator* GetNavigator(G4int n) const; private: // ---------------------------------------------------------------------- // DATA Members // ---------------------------------------------------------------------- - // std::vector fActiveNavigators; - // - G4MultiNavigator *fpMultiNavigator; - // Object that enables G4PropagatorInField to see many geometries + + G4MultiNavigator *fpMultiNavigator; + // Object that enables G4PropagatorInField to see many geometries G4int fNoActiveNavigators; - // G4int fNoNavigators; G4bool fNewTrack; // Flag a new track (ensure first step) - static const G4int fMaxNav = 8; // rename to kMaxNoNav ?? - // enum EMaximumNavs { fMaxNav = 8; } + static const G4int fMaxNav = 8; // rename to kMaxNoNav ?? + + // Global state (retained during stepping for one track) + + G4Navigator* fpNavigator[fMaxNav]; - // Global state (retained during stepping for one track - G4Navigator* fpNavigator[fMaxNav]; // G4Navigator** fpNavigator; // State after a step computation + ELimited fLimitedStep[fMaxNav]; G4bool fLimitTruth[fMaxNav]; G4double fCurrentStepSize[fMaxNav]; @@ -194,11 +196,12 @@ class G4PathFinder G4double fMinSafety; G4double fMinStep; // As reported by Navigators -- can be kInfinity - G4double fTrueMinStep; // Corrected in case >= proposed + G4double fTrueMinStep; // Corrected in case >= proposed + // State after calling 'locate' + G4VPhysicalVolume* fLocatedVolume[fMaxNav]; G4ThreeVector fLastLocatedPosition; - // G4ThreeVector fLastLocatedDirection; G4FieldTrack fEndState; // End point storage @@ -217,24 +220,44 @@ class G4PathFinder G4int fVerboseLevel; // For debuging purposes G4int fMax_loop_count; - // Limit for the number of sub-steps taken in one call to ComputeStep + // Limit for the number of sub-steps taken in one call to ComputeStep G4TransportationManager* fpTransportManager; // Cache for frequent use - G4PropagatorInField* fpFieldPropagator; + G4PropagatorInField* fpFieldPropagator; + + G4double kCarTolerance; }; // ******************************************************************** // Inline methods. // ******************************************************************** + inline G4VPhysicalVolume* G4PathFinder::GetLocatedVolume( G4int navId ) const -{ G4VPhysicalVolume* vol=0; - if( (navId < fMaxNav) && (navId >=0) ) { vol= fLocatedVolume[navId]; } - return vol; +{ + G4VPhysicalVolume* vol=0; + if( (navId < fMaxNav) && (navId >=0) ) { vol= fLocatedVolume[navId]; } + return vol; } inline G4int G4PathFinder::SetVerboseLevel(G4int newLevel) -{ G4int old= fVerboseLevel; fVerboseLevel= newLevel; return old; +{ + G4int old= fVerboseLevel; fVerboseLevel= newLevel; return old; +} + +inline G4double G4PathFinder::GetCurrentSafety() const +{ + return fMinSafety; +} + +inline void G4PathFinder::MovePoint() +{ + fRelocatedPoint= true; +} + +inline G4Navigator* G4PathFinder::GetNavigator(G4int n) const +{ + if( (n>fNoActiveNavigators)||(n<0)) { n=0; } + return fpNavigator[n]; } -// #include "G4PathFinder.icc" #endif diff --git a/source/geometry/navigation/include/G4PropagatorInField.hh b/source/geometry/navigation/include/G4PropagatorInField.hh index 5c4e806a59..0b08a8a83e 100644 --- a/source/geometry/navigation/include/G4PropagatorInField.hh +++ b/source/geometry/navigation/include/G4PropagatorInField.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PropagatorInField.hh,v 1.10 2006/11/11 01:25:29 japost Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PropagatorInField.hh,v 1.13 2007/06/08 09:49:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4PropagatorInField // @@ -238,8 +238,8 @@ class G4PropagatorInField G4int fVerboseLevel; // For debuging purposes - // Limit for the number of sub-steps taken in one call to ComputeStep G4int fMax_loop_count; + // Limit for the number of sub-steps taken in one call to ComputeStep // Variables to keep track of "abnormal" case - which causes loop // @@ -254,21 +254,32 @@ class G4PropagatorInField G4double fCharge, fInitialMomentumModulus, fMass; - // Last safety origin & value: for optimisation G4ThreeVector fPreviousSftOrigin; G4double fPreviousSafety; G4bool fUseSafetyForOptimisation; + // Last safety origin & value: for optimisation - // Flag whether field manager has been set for the current step G4bool fSetFieldMgr; + // Flag whether field manager has been set for the current step + + G4double kCarTolerance; + // Geometrical tolerance defining surface thickness private: - // The filter encapsulates the algorithm which selects which - // intermediate points should be stored in a trajectory. - // When it is NULL, no intermediate points will be stored. - // Else PIF::ComputeStep must submit (all) intermediate - // points it calculates, to this filter. (jacek 04/11/2002) + + static const G4int max_depth=4; + G4FieldTrack* ptrInterMedFT[max_depth+1]; + // Used to store intermediate values of tracks in case of + // too slow progress + +private: + G4VCurvedTrajectoryFilter* fpTrajectoryFilter; + // The filter encapsulates the algorithm which selects which + // intermediate points should be stored in a trajectory. + // When it is NULL, no intermediate points will be stored. + // Else PIF::ComputeStep must submit (all) intermediate + // points it calculates, to this filter. (jacek 04/11/2002) }; // ******************************************************************** @@ -278,4 +289,3 @@ private: #include "G4PropagatorInField.icc" #endif - diff --git a/source/geometry/navigation/include/G4PropagatorInField.icc b/source/geometry/navigation/include/G4PropagatorInField.icc index fc105d94f4..b46fd3449e 100644 --- a/source/geometry/navigation/include/G4PropagatorInField.icc +++ b/source/geometry/navigation/include/G4PropagatorInField.icc @@ -25,7 +25,7 @@ // // // $Id: G4PropagatorInField.icc,v 1.10 2006/11/13 17:34:08 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------------------ diff --git a/source/geometry/navigation/include/G4ReplicaNavigation.hh b/source/geometry/navigation/include/G4ReplicaNavigation.hh index 1a3df0411a..8a3a5e2c80 100644 --- a/source/geometry/navigation/include/G4ReplicaNavigation.hh +++ b/source/geometry/navigation/include/G4ReplicaNavigation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ReplicaNavigation.hh,v 1.4 2006/06/29 18:36:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ReplicaNavigation.hh,v 1.6 2007/05/18 07:31:09 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ReplicaNavigation @@ -145,6 +145,7 @@ class G4ReplicaNavigation G4bool fCheck; G4int fVerbose; + G4double kCarTolerance, kRadTolerance, kAngTolerance; }; #include "G4ReplicaNavigation.icc" diff --git a/source/geometry/navigation/include/G4ReplicaNavigation.icc b/source/geometry/navigation/include/G4ReplicaNavigation.icc index 5d3ea1dfac..c49bb1a925 100644 --- a/source/geometry/navigation/include/G4ReplicaNavigation.icc +++ b/source/geometry/navigation/include/G4ReplicaNavigation.icc @@ -25,7 +25,7 @@ // // // $Id: G4ReplicaNavigation.icc,v 1.5 2006/06/29 18:36:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ReplicaNavigation Inline implementation diff --git a/source/geometry/navigation/include/G4SafetyHelper.hh b/source/geometry/navigation/include/G4SafetyHelper.hh index a1f1950140..5057e05ebc 100644 --- a/source/geometry/navigation/include/G4SafetyHelper.hh +++ b/source/geometry/navigation/include/G4SafetyHelper.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SafetyHelper.hh,v 1.3 2006/10/31 16:53:06 japost Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SafetyHelper.hh,v 1.7 2007/05/02 15:32:13 japost Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4SafetyHelper @@ -36,61 +36,105 @@ // knowledge of the safety, and the step size for the 'mass' geometry // First version: J. Apostolakis, July 5th, 2006 +// Modified: +// 10.04.07 V.Ivanchenko Use unique G4SafetyHelper // -------------------------------------------------------------------- #ifndef G4SAFETYHELPER_HH #define G4SAFETYHELPER_HH 1 #include + #include "G4Types.hh" #include "G4ThreeVector.hh" +#include "G4Navigator.hh" -class G4Navigator; class G4PathFinder; class G4SafetyHelper { - public: // with description +public: // with description - G4SafetyHelper(); - ~G4SafetyHelper(); + G4SafetyHelper(); + ~G4SafetyHelper(); // // Constructor and destructor - G4double ComputeMassStep( const G4ThreeVector &position, - const G4ThreeVector &direction, - G4double &newSafety ); + G4double CheckNextStep( const G4ThreeVector& position, + const G4ThreeVector& direction, + const G4double currentMaxStep, + G4double& newSafety ); // - // Return step for mass geometry + // Return linear step for mass geometry - G4double ComputeSafety( const G4ThreeVector& pGlobalPoint ); + G4double ComputeSafety( const G4ThreeVector& pGlobalPoint ); // // Return safety for all geometries - void ReLocateWithinVolume(const G4ThreeVector& pGlobalPoint ); + void Locate(const G4ThreeVector& pGlobalPoint, + const G4ThreeVector& direction); + // + // Locate the point for all geometries + + void ReLocateWithinVolume(const G4ThreeVector& pGlobalPoint ); // // Relocate the point in the volume of interest -public: // with description - static void EnableParallelNavigation(G4bool parallel) - { fUseParallelGeometries= parallel; } + inline void EnableParallelNavigation(G4bool parallel); // // To have parallel worlds considered, must be true. // Alternative is to use single (mass) Navigator directly - void InitialiseNavigator(); + void InitialiseNavigator(); // // Check for new navigator for tracking, and reinitialise pointer + inline G4VPhysicalVolume* GetWorldVolume(); + inline void SetCurrentSafety(G4double val, const G4ThreeVector& pos); + +public: // without description + + void InitialiseHelper(); + private: - G4PathFinder* fpPathFinder; - G4Navigator* fpMassNavigator; - G4int fMassNavigatorId; + G4PathFinder* fpPathFinder; + G4Navigator* fpMassNavigator; + G4int fMassNavigatorId; - static G4bool fUseParallelGeometries; - // Flag whether to use PathFinder or single (mass) Navigator directly + G4bool fUseParallelGeometries; + // Flag whether to use PathFinder or single (mass) Navigator directly + G4bool fFirstCall; + // Flag of first call + // State used during tracking -- for optimisation + G4ThreeVector fLastSafetyPosition; + G4double fLastSafety; + const G4double fRecomputeFactor; + // parameter for further optimisation: + // if ( move < fact*safety ) do fast recomputation of safety + // End State (tracking) }; +// Inline definitions + +inline +void G4SafetyHelper::EnableParallelNavigation(G4bool parallel) +{ + fUseParallelGeometries = parallel; +} + +inline +G4VPhysicalVolume* G4SafetyHelper::GetWorldVolume() +{ + return fpMassNavigator->GetWorldVolume(); +} + +inline +void G4SafetyHelper::SetCurrentSafety(G4double val, const G4ThreeVector& pos) +{ + fLastSafety = val; + fLastSafetyPosition = pos; +} + #endif diff --git a/source/geometry/navigation/include/G4TransportationManager.hh b/source/geometry/navigation/include/G4TransportationManager.hh index d4c8bff6ea..55d521ddfa 100644 --- a/source/geometry/navigation/include/G4TransportationManager.hh +++ b/source/geometry/navigation/include/G4TransportationManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TransportationManager.hh,v 1.10 2006/11/03 20:03:26 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4TransportationManager.hh,v 1.12 2007/04/20 15:28:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4TransportationManager // @@ -46,6 +46,7 @@ #define G4TransportationManager_hh #include "G4Navigator.hh" +#include "G4SafetyHelper.hh" #include @@ -83,6 +84,9 @@ class G4TransportationManager inline std::vector::iterator GetWorldsIterator(); // Return an iterator to the list of registered worlds + inline G4SafetyHelper* GetSafetyHelper() const; + // Return the pointer to the navigation safety helper instance + G4VPhysicalVolume* GetParallelWorld ( const G4String& worldName ); // Return an exact copy of the tracking world volume. If already // existing just return the pointer @@ -131,6 +135,7 @@ class G4TransportationManager G4PropagatorInField* fPropagatorInField; G4FieldManager* fFieldManager; G4GeometryMessenger* fGeomMessenger; + G4SafetyHelper* fSafetyHelper; static G4TransportationManager* fTransportationManager; }; diff --git a/source/geometry/navigation/include/G4TransportationManager.icc b/source/geometry/navigation/include/G4TransportationManager.icc index 0a33a90351..1442866611 100644 --- a/source/geometry/navigation/include/G4TransportationManager.icc +++ b/source/geometry/navigation/include/G4TransportationManager.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TransportationManager.icc,v 1.9 2006/11/03 20:16:50 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4TransportationManager.icc,v 1.10 2007/04/20 15:28:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 inlined function members implementation // ------------------------------------------------------------ @@ -50,7 +50,8 @@ G4Navigator* G4TransportationManager::GetNavigatorForTracking() const // ---------------------------------------------------------------------------- // SetWorldForTracking() // -// Set the tracking world volume. This method is to be invoked by G4RunManagerKernel. +// Set the tracking world volume. +// This method is to be invoked by G4RunManagerKernel. // inline void G4TransportationManager::SetWorldForTracking(G4VPhysicalVolume* theWorld) @@ -154,3 +155,14 @@ G4TransportationManager::GetWorldsIterator() = std::vector::iterator(fWorlds.begin()); return iterator; } + +// ---------------------------------------------------------------------------- +// GetSafetyHelper() +// +// Return pointer to the created navigation safety helper instance. +// +inline +G4SafetyHelper* G4TransportationManager::GetSafetyHelper() const +{ + return fSafetyHelper; +} diff --git a/source/geometry/navigation/include/G4VoxelNavigation.hh b/source/geometry/navigation/include/G4VoxelNavigation.hh index b45384f1d4..b4d6be2de3 100644 --- a/source/geometry/navigation/include/G4VoxelNavigation.hh +++ b/source/geometry/navigation/include/G4VoxelNavigation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VoxelNavigation.hh,v 1.4 2006/06/29 18:36:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VoxelNavigation.hh,v 1.5 2007/05/11 13:43:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4VoxelNavigation @@ -146,8 +146,9 @@ class G4VoxelNavigation // END Voxel Stack information // - G4bool fCheck; - G4int fVerbose; + G4bool fCheck; + G4int fVerbose; + G4double kCarTolerance; }; #include "G4VoxelNavigation.icc" diff --git a/source/geometry/navigation/include/G4VoxelNavigation.icc b/source/geometry/navigation/include/G4VoxelNavigation.icc index 6beaa0b5c3..4b92b20f34 100644 --- a/source/geometry/navigation/include/G4VoxelNavigation.icc +++ b/source/geometry/navigation/include/G4VoxelNavigation.icc @@ -25,7 +25,7 @@ // // // $Id: G4VoxelNavigation.icc,v 1.4 2006/06/29 18:36:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4VoxelNavigation Inline implementation diff --git a/source/geometry/navigation/src/G4AuxiliaryNavServices.cc b/source/geometry/navigation/src/G4AuxiliaryNavServices.cc index 1da0c991e4..5516d6babd 100644 --- a/source/geometry/navigation/src/G4AuxiliaryNavServices.cc +++ b/source/geometry/navigation/src/G4AuxiliaryNavServices.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4AuxiliaryNavServices.cc,v 1.3 2006/06/29 18:36:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- diff --git a/source/geometry/navigation/src/G4DrawVoxels.cc b/source/geometry/navigation/src/G4DrawVoxels.cc index 9f528b2788..d89f5bc775 100644 --- a/source/geometry/navigation/src/G4DrawVoxels.cc +++ b/source/geometry/navigation/src/G4DrawVoxels.cc @@ -25,7 +25,7 @@ // // // $Id: G4DrawVoxels.cc,v 1.4 2006/06/29 18:36:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4DrawVoxels diff --git a/source/geometry/navigation/src/G4ErrorPropagationNavigator.cc b/source/geometry/navigation/src/G4ErrorPropagationNavigator.cc new file mode 100644 index 0000000000..befa135262 --- /dev/null +++ b/source/geometry/navigation/src/G4ErrorPropagationNavigator.cc @@ -0,0 +1,149 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4ErrorPropagationNavigator.cc,v 1.1 2007/05/16 12:49:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// -------------------------------------------------------------------- +// GEANT 4 class implementation file +// -------------------------------------------------------------------- + +#include "G4ErrorPropagationNavigator.hh" + +#include "globals.hh" +#include "G4ThreeVector.hh" +#include "G4ErrorPropagatorData.hh" +#include "G4ErrorSurfaceTarget.hh" + +//------------------------------------------------------------------- + +G4ErrorPropagationNavigator::G4ErrorPropagationNavigator() + : G4Navigator() +{ +} + +//------------------------------------------------------------------- + +G4ErrorPropagationNavigator::~G4ErrorPropagationNavigator() +{ +} + +//------------------------------------------------------------------- + +G4double G4ErrorPropagationNavigator:: +ComputeStep ( const G4ThreeVector &pGlobalPoint, + const G4ThreeVector &pDirection, + const G4double pCurrentProposedStepLength, + G4double &pNewSafety ) +{ + G4double Step = G4Navigator::ComputeStep(pGlobalPoint, pDirection, + pCurrentProposedStepLength, + pNewSafety); + + G4ErrorPropagatorData * g4edata + = G4ErrorPropagatorData::GetErrorPropagatorData(); + + if (g4edata !=0) + { + const G4ErrorTarget* target = g4edata->GetTarget(); + if( target != 0 ) + { + G4double StepPlane(target->GetDistanceFromPoint(pGlobalPoint,pDirection)); + + if( StepPlane < 0. ) // Negative means target is crossed, will not be found + { + StepPlane = DBL_MAX; + } +#ifdef G4VERBOSE + if( G4ErrorPropagatorData::verbose() >= 4 ) + { + G4cout << "G4ErrorPropagationNavigator::ComputeStep()" << G4endl + << " Target step: " << StepPlane + << ", Transportation step: " << Step << G4endl; + target->Dump( "G4ErrorPropagationNavigator::ComputeStep Target " ); + } +#endif + + if(StepPlane= 2 ) + { + G4cout << "G4ErrorPropagationNavigator::ComputeStep()" << G4endl + << " TargetCloserThanBoundary: " << StepPlane << " < " + << Step << G4endl; + } +#endif + Step = StepPlane; + g4edata->SetState(G4ErrorState_TargetCloserThanBoundary); + } + else + { + g4edata->SetState(G4ErrorState_Propagating); + } + } + } + pNewSafety = ComputeSafety(pGlobalPoint, pCurrentProposedStepLength); + +#ifdef G4VERBOSE + if( G4ErrorPropagatorData::verbose() >= 3 ) + { + G4cout << "G4ErrorPropagationNavigator::ComputeStep()" << G4endl + << " Step: " << Step << ", ComputeSafety: " << pNewSafety + << G4endl; + } +#endif + + return Step; +} + +//------------------------------------------------------------------- + +G4double G4ErrorPropagationNavigator:: +ComputeSafety( const G4ThreeVector &pGlobalpoint, + const G4double pMaxLength ) +{ + G4double newSafety = G4Navigator::ComputeSafety(pGlobalpoint, pMaxLength); + + G4ErrorPropagatorData *g4edata + = G4ErrorPropagatorData::GetErrorPropagatorData(); + + if (g4edata !=0) + { + const G4ErrorTarget* target = g4edata->GetTarget(); + if( target != 0 ) + { + G4double distance = target->GetDistanceFromPoint(pGlobalpoint); + + if(distanceGetSurfaceTolerance(); FindPoints(logger); } @@ -117,6 +119,7 @@ void G4GeomTestSegment::PatchInconsistencies( G4GeomTestLogger *logger ) // std::vector::iterator curr = points.begin(); do { + std::vector::iterator next = curr + 1; // @@ -130,6 +133,7 @@ void G4GeomTestSegment::PatchInconsistencies( G4GeomTestLogger *logger ) if (next->Entering() != curr->Entering()) { curr = next + 1; next = curr + 1; + break; } @@ -138,6 +142,7 @@ void G4GeomTestSegment::PatchInconsistencies( G4GeomTestLogger *logger ) // next = points.erase(next); curr = next - 1; + } if (curr == points.end()) break; @@ -145,6 +150,7 @@ void G4GeomTestSegment::PatchInconsistencies( G4GeomTestLogger *logger ) // // The next point should be entering... // + if (!curr->Entering()) { // // Point is out of sequence: @@ -152,9 +158,10 @@ void G4GeomTestSegment::PatchInconsistencies( G4GeomTestLogger *logger ) // G4double s = curr->GetDistance(); G4ThreeVector p = p0 + s*v; + G4ThreeVector p1 = p - 10*kCarTolerance*v; - if (solid->Inside(p1) == kOutside) { + if (solid->Inside(p1) == kOutside||(solid->Inside(p1)== kSurface)) { // // We are missing an entrance point near the current // point. Add one. @@ -172,9 +179,10 @@ void G4GeomTestSegment::PatchInconsistencies( G4GeomTestLogger *logger ) s = prev->GetDistance(); p = p0 + s*v; + p1 = p + 10*kCarTolerance*v; - - if (solid->Inside(p1) == kOutside) { + if ((solid->Inside(p1) == kOutside)||(solid->Inside(p1)== kSurface)) { + // // We are missing an entrance point near the previous // point. Add one. @@ -189,8 +197,6 @@ void G4GeomTestSegment::PatchInconsistencies( G4GeomTestLogger *logger ) // Oh oh. No solution. Delete the current point and complain. // logger->SolidProblem( solid, "Spurious exiting intersection point", p ); - // G4cout<<" dir="<GetDistance()<<" entering="<Entering()<<" SigneNorm="<SurfaceNormal(p))<Entering() ) { // // But is missing. Check immediately after this point. @@ -240,6 +247,7 @@ void G4GeomTestSegment::PatchInconsistencies( G4GeomTestLogger *logger ) } if(curr!=points.end()){curr = next + 1;} + } while( curr != points.end() ); // @@ -258,14 +266,15 @@ void G4GeomTestSegment::PatchInconsistencies( G4GeomTestLogger *logger ) // void G4GeomTestSegment::FindSomePoints( G4GeomTestLogger *logger, G4bool forward ) -{ +{ G4double sign = forward ? +1 : -1; G4ThreeVector p(p0); G4ThreeVector vSearch(sign*v); G4double s(0); G4bool entering; - + G4double vSurfN; + // G4cout<<"Entering Find Some Points vSearch="<DistanceToIn(p,vSearch); + //G4cout<<"Outside DistToIn="<= kInfinity) return; s += sign*dist; entering = true; break; case kSurface: - entering = (v.dot(solid->SurfaceNormal(p)) < 0); + vSurfN=vSearch.dot(solid->SurfaceNormal(p)); + if(std::abs(vSurfN)Inside(p); + if (inside == kOutside) { + entering = false; + break; + } + } + entering = false; } else { dist = solid->DistanceToIn(p,vSearch); + //G4cout<<"if exiting distToIn="<= kInfinity) return; if ( (dist > kCarTolerance) diff --git a/source/geometry/navigation/src/G4GeomTestStreamLogger.cc b/source/geometry/navigation/src/G4GeomTestStreamLogger.cc index d7e70179e3..6cf4d87e99 100644 --- a/source/geometry/navigation/src/G4GeomTestStreamLogger.cc +++ b/source/geometry/navigation/src/G4GeomTestStreamLogger.cc @@ -25,7 +25,7 @@ // // // $Id: G4GeomTestStreamLogger.cc,v 1.3 2006/06/29 18:36:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/navigation/src/G4GeomTestVolPoint.cc b/source/geometry/navigation/src/G4GeomTestVolPoint.cc index fc9c95dec8..88797b7958 100644 --- a/source/geometry/navigation/src/G4GeomTestVolPoint.cc +++ b/source/geometry/navigation/src/G4GeomTestVolPoint.cc @@ -25,7 +25,7 @@ // // // $Id: G4GeomTestVolPoint.cc,v 1.3 2006/06/29 18:36:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/navigation/src/G4GeomTestVolume.cc b/source/geometry/navigation/src/G4GeomTestVolume.cc index f1a3e1f71b..9173c6823c 100644 --- a/source/geometry/navigation/src/G4GeomTestVolume.cc +++ b/source/geometry/navigation/src/G4GeomTestVolume.cc @@ -25,7 +25,7 @@ // // // $Id: G4GeomTestVolume.cc,v 1.5 2006/06/29 18:36:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/navigation/src/G4GeometryMessenger.cc b/source/geometry/navigation/src/G4GeometryMessenger.cc index 4e463bfee4..49f088fd6c 100644 --- a/source/geometry/navigation/src/G4GeometryMessenger.cc +++ b/source/geometry/navigation/src/G4GeometryMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4GeometryMessenger.cc,v 1.5 2006/06/29 18:36:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/navigation/src/G4Navigator.cc b/source/geometry/navigation/src/G4Navigator.cc index 2a402c8170..8ee92da29f 100644 --- a/source/geometry/navigation/src/G4Navigator.cc +++ b/source/geometry/navigation/src/G4Navigator.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4Navigator.cc,v 1.25.2.1 2007/01/31 15:05:07 gcosmo Exp $ +// $Id: G4Navigator.cc,v 1.31 2007/05/11 13:43:59 gcosmo Exp $ // GEANT4 tag $ Name: $ // // class G4Navigator Implementation @@ -37,6 +37,7 @@ #include "G4ios.hh" #include +#include "G4GeometryTolerance.hh" #include "G4VPhysicalVolume.hh" // ******************************************************************** @@ -52,6 +53,8 @@ G4Navigator::G4Navigator() fActionThreshold_NoZeroSteps = 10; fAbandonThreshold_NoZeroSteps = 25; + + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } // ******************************************************************** @@ -155,6 +158,7 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, else { fLastLocatedPointLocal = localPoint; + fLocatedOutsideWorld = true; return 0; // Have exited world volume } // A fix for the case where a volume is "entered" at an edge @@ -276,6 +280,7 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, else { fLastLocatedPointLocal = localPoint; + fLocatedOutsideWorld = true; return 0; // Have exited world volume } } @@ -313,6 +318,7 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, else { fLastLocatedPointLocal = localPoint; + fLocatedOutsideWorld = true; return 0; // Have exited world volume } } @@ -438,6 +444,8 @@ G4Navigator::LocateGlobalPointAndSetup( const G4ThreeVector& globalPoint, G4cout.precision(oldcoutPrec); #endif + fLocatedOutsideWorld= false; + return targetPhysical; } @@ -508,6 +516,47 @@ G4Navigator::LocateGlobalPointWithinVolume(const G4ThreeVector& pGlobalpoint) fExitedMother = false; // Boundary not encountered, did not exit } +// ******************************************************************** +// SetSavedState +// +// Save the state, in case this is a parasitic call +// Save fValidExitNormal, fExitNormal, fExiting, fEntering, +// fBlockedPhysicalVolume, fBlockedReplicaNo, fLastStepWasZero; +// ******************************************************************** +// +void G4Navigator::SetSavedState() +{ + // fSaveExitNormal = fExitNormal; + fSaveState.sExitNormal = fExitNormal; + fSaveState.sValidExitNormal = fValidExitNormal; + fSaveState.sExiting = fExiting; + fSaveState.sEntering = fEntering; + + fSaveState.spBlockedPhysicalVolume = fBlockedPhysicalVolume; + fSaveState.sBlockedReplicaNo = fBlockedReplicaNo, + + fSaveState.sLastStepWasZero = fLastStepWasZero; +} + +// ******************************************************************** +// RestoreSavedState +// +// Restore the state (in Compute Step), in case this is a parasitic call +// ******************************************************************** +// +void G4Navigator::RestoreSavedState() +{ + fExitNormal = fSaveState.sExitNormal; + fValidExitNormal = fSaveState.sValidExitNormal; + fExiting = fSaveState.sExiting; + fEntering = fSaveState.sEntering; + + fBlockedPhysicalVolume = fSaveState.spBlockedPhysicalVolume; + fBlockedReplicaNo = fSaveState.sBlockedReplicaNo, + + fLastStepWasZero = fSaveState.sLastStepWasZero; +} + // ******************************************************************** // ComputeStep // @@ -882,10 +931,8 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint, } #ifdef G4VERBOSE - if( fVerbose > 1 ) - { - if( fVerbose == 4 ) - { + if( fVerbose > 1 ) { + if( fVerbose >= 4 ) { G4cout << " ----- Upon exiting :" << G4endl; PrintState(); } @@ -902,6 +949,35 @@ G4double G4Navigator::ComputeStep( const G4ThreeVector &pGlobalpoint, return Step; } +// ******************************************************************** +// CheckNextStep +// +// Compute the step without altering the navigator state +// ******************************************************************** +// +G4double G4Navigator::CheckNextStep( const G4ThreeVector& pGlobalpoint, + const G4ThreeVector& pDirection, + const G4double pCurrentProposedStepLength, + G4double& pNewSafety) +{ + G4double step; + + // Save the state, for this parasitic call + // + SetSavedState(); + + step = ComputeStep ( pGlobalpoint, + pDirection, + pCurrentProposedStepLength, + pNewSafety ); + + // If a parasitic call, then attempt to restore the key parts of the state + // + RestoreSavedState(); + + return step; +} + // ******************************************************************** // ResetState // @@ -929,6 +1005,9 @@ void G4Navigator::ResetState() fBlockedPhysicalVolume = 0; fBlockedReplicaNo = -1; + + fLastLocatedPointLocal = G4ThreeVector( DBL_MAX, -DBL_MAX, 0.0 ); + fLocatedOutsideWorld = false; } // ******************************************************************** @@ -1149,7 +1228,7 @@ G4TouchableHistoryHandle G4Navigator::CreateTouchableHistoryHandle() const // PrintState // ******************************************************************** // -void G4Navigator::PrintState() +void G4Navigator::PrintState() const { G4int oldcoutPrec = G4cout.precision(4); if( fVerbose == 4 ) diff --git a/source/geometry/navigation/src/G4NormalNavigation.cc b/source/geometry/navigation/src/G4NormalNavigation.cc index 3eac3c2112..69085930d3 100644 --- a/source/geometry/navigation/src/G4NormalNavigation.cc +++ b/source/geometry/navigation/src/G4NormalNavigation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NormalNavigation.cc,v 1.8 2006/06/29 18:37:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NormalNavigation.cc,v 1.9 2007/05/11 13:43:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4NormalNavigation Implementation @@ -122,7 +122,7 @@ G4NormalNavigation::ComputeStep(const G4ThreeVector &localPoint, G4double estDistToSolid= motherSolid->DistanceToIn(localPoint); G4cout << " Estimated isotropic distance to solid (distToIn)= " << estDistToSolid << G4endl; - if( estDistToSolid > 100.0 * kCarTolerance ) + if( estDistToSolid > 100.0 * motherSolid->GetTolerance() ) { motherSolid->DumpInfo(); G4Exception("G4NormalNavigation::ComputeStep()", diff --git a/source/geometry/navigation/src/G4ParameterisedNavigation.cc b/source/geometry/navigation/src/G4ParameterisedNavigation.cc index e3168c144c..33775a9b05 100644 --- a/source/geometry/navigation/src/G4ParameterisedNavigation.cc +++ b/source/geometry/navigation/src/G4ParameterisedNavigation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParameterisedNavigation.cc,v 1.10 2006/06/29 18:37:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ParameterisedNavigation.cc,v 1.11 2007/05/11 13:43:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ParameterisedNavigation Implementation @@ -167,7 +167,7 @@ G4double G4ParameterisedNavigation:: G4double estDistToSolid= motherSolid->DistanceToIn(localPoint); G4cout << " Estimated isotropic distance to solid (distToIn)= " << estDistToSolid << G4endl; - if( estDistToSolid > 100.0 * kCarTolerance ) + if( estDistToSolid > 100.0 * motherSolid->GetTolerance() ) { motherSolid->DumpInfo(); G4Exception("G4ParameterisedNavigation::ComputeStep()", diff --git a/source/geometry/navigation/src/G4PathFinder.cc b/source/geometry/navigation/src/G4PathFinder.cc index 9ca3130f25..c864061f7b 100644 --- a/source/geometry/navigation/src/G4PathFinder.cc +++ b/source/geometry/navigation/src/G4PathFinder.cc @@ -24,35 +24,25 @@ // ******************************************************************** // // -// $Id: G4PathFinder.cc,v 1.25 2006/12/13 15:43:32 gunter Exp $ +// $Id: G4PathFinder.cc,v 1.32 2007/05/18 07:31:03 gcosmo Exp $ // GEANT4 tag $ Name: $ // // class G4PathFinder Implementation // // Original author: John Apostolakis, April 2006 -// Revisions: -// 21.05.06 J.Apostolakis First implementation coworks with MassNavigator -// 23.05.06 M.Asai Change to new navigator numbering of G4Transp..Manager -// 31.05.06 J.Apostolakis New Relocate method, to relocate within volume -// 25.10.06 G.Cosmo pTransportManager ptr a data member - singleton issue -// 31.10.06 J.Apostolakis Revised Relocate, to check proposed position vs safety +// // -------------------------------------------------------------------- #include "G4PathFinder.hh" -// #include "G4ios.hh" -// #include -// class G4VPhysicalVolume; -// #include "G4VPhysicalVolume.hh" +class G4FieldManager; -class G4FieldManager; // #include "G4FieldManager.hh" +#include "G4GeometryTolerance.hh" #include "G4Navigator.hh" #include "G4PropagatorInField.hh" #include "G4TransportationManager.hh" #include "G4MultiNavigator.hh" -// class G4VCurvedTrajectoryFilter; - #include // ******************************************************************** @@ -74,15 +64,17 @@ G4PathFinder::GetInstance() G4PathFinder::G4PathFinder() // : fpActiveNavigators() : fEndState( G4ThreeVector(), G4ThreeVector(), 0., 0., 0., 0., 0.), - fRelocatedPoint(true), - fLastStepNo(-1), - fVerboseLevel(0) + fRelocatedPoint(true), + fLastStepNo(-1), + fVerboseLevel(0) { fpMultiNavigator= new G4MultiNavigator(); fpTransportManager= G4TransportationManager::GetTransportationManager(); fpFieldPropagator = fpTransportManager->GetPropagatorInField() ; + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + fNoActiveNavigators= 0; G4ThreeVector Big3Vector( DBL_MAX, DBL_MAX, DBL_MAX ); fLastLocatedPosition= Big3Vector; @@ -124,24 +116,26 @@ G4PathFinder::EnableParallelNavigation(G4bool enableChoice) if( enableChoice ){ // navigatorForPropagation= fpMultiNavigator; - G4SafetyHelper::EnableParallelNavigation(true); // Enable Msc to use PF + // Enable SafetyHelper to use PF + fpTransportManager->GetSafetyHelper()->EnableParallelNavigation(true); }else{ // fpNavigator[0]; // must be mass Navigator navigatorForPropagation= massNavigator; - G4SafetyHelper::EnableParallelNavigation(false); // Disable Msc from using PF + // Disable SafetyHelper to use PF + fpTransportManager->GetSafetyHelper()->EnableParallelNavigation(false); } fpFieldPropagator->SetNavigatorForPropagating(navigatorForPropagation); } G4double G4PathFinder::ComputeStep( const G4FieldTrack &InitialFieldTrack, - G4double proposedStepLength, - G4int navigatorId, - G4int stepNo, // find next step - G4double &pNewSafety, // for this geom - ELimited &limitedStep, - G4FieldTrack &EndState, - G4VPhysicalVolume* currentVolume) + G4double proposedStepLength, + G4int navigatorId, + G4int stepNo, // find next step + G4double &pNewSafety, // for this geom + ELimited &limitedStep, + G4FieldTrack &EndState, + G4VPhysicalVolume* currentVolume) { // --- G4int navigatorNo=-1; @@ -150,15 +144,15 @@ G4PathFinder::ComputeStep( const G4FieldTrack &InitialFieldTrack, G4cout << " -------------------------" << G4endl; G4cout << " G4PathFinder::ComputeStep - entered " << G4endl; G4cout << " - stepNo = " << std::setw(4) << stepNo << " " - << " navigatorId = " << std::setw(2) << navigatorId << " " - << " proposed step len = " << proposedStepLength << " " - << G4endl; + << " navigatorId = " << std::setw(2) << navigatorId << " " + << " proposed step len = " << proposedStepLength << " " + << G4endl; G4cout << " PF::ComputeStep: step= " << stepNo - << " nav = " << navigatorId - << " trial-step-len " << proposedStepLength - << " from " << InitialFieldTrack.GetPosition() - << " dir " << InitialFieldTrack.GetMomentumDirection() - << G4endl; + << " nav = " << navigatorId + << " trial-step-len " << proposedStepLength + << " from " << InitialFieldTrack.GetPosition() + << " dir " << InitialFieldTrack.GetMomentumDirection() + << G4endl; } if( navigatorId <= fNoActiveNavigators ){ @@ -190,10 +184,10 @@ G4PathFinder::ComputeStep( const G4FieldTrack &InitialFieldTrack, G4ThreeVector newDirection = InitialFieldTrack.GetMomentumDirection(); if( fVerboseLevel > 2 ) { G4double moveLen= std::sqrt( moveLenSq ); - G4cout << " G4PathFinder::ComputeStep : Point moved since last step " - << " -- at step # = " << stepNo << G4endl - << " by " << moveLen - << " to " << newPosition << G4endl; + G4cout << " G4PathFinder::ComputeStep : Point moved since last step " + << " -- at step # = " << stepNo << G4endl + << " by " << moveLen + << " to " << newPosition << G4endl; } // fRelocatedPoint= true; // It has moved !! @@ -201,7 +195,7 @@ G4PathFinder::ComputeStep( const G4FieldTrack &InitialFieldTrack, #ifdef G4VERBOSE if( fVerboseLevel > 2 ) { - G4cout << " Calling PathFinder::Locate() from G4PathFinder::ComputeStep() " << G4endl; + G4cout << " Calling PathFinder::Locate() from G4PathFinder::ComputeStep() " << G4endl; } #endif // Relocate to cope with this move -- else could abort !? @@ -216,10 +210,10 @@ G4PathFinder::ComputeStep( const G4FieldTrack &InitialFieldTrack, G4FieldManager* fieldMgr=0; G4bool fieldExertsForce = false ; if( (particleCharge != 0.0) ) { // || ( magDipoleMoment != 0.0 ) ) { - fieldMgr= fpFieldPropagator->FindAndSetFieldManager( currentVolume ); - // Protect for case where field manager has no field (= field is zero) - fieldExertsForce = (fieldMgr != 0) - && (fieldMgr->GetDetectorField() != 0); + fieldMgr= fpFieldPropagator->FindAndSetFieldManager( currentVolume ); + // Protect for case where field manager has no field (= field is zero) + fieldExertsForce = (fieldMgr != 0) + && (fieldMgr->GetDetectorField() != 0); } // G4cout << "G4PF::CS> Field exerts force = " << fieldExertsForce << G4endl; if( fieldExertsForce ) { @@ -239,8 +233,8 @@ G4PathFinder::ComputeStep( const G4FieldTrack &InitialFieldTrack, #ifdef G4VERBOSE if( fVerboseLevel > 1 ){ G4cout << " G4P::CS -> Not calling DoNextLinearStep: " - << " stepNo= " << stepNo << " last= " << fLastStepNo - << " new= " << fNewTrack << " Step already done" << G4endl; + << " stepNo= " << stepNo << " last= " << fLastStepNo + << " new= " << fNewTrack << " Step already done" << G4endl; } #endif } @@ -256,10 +250,10 @@ G4PathFinder::ComputeStep( const G4FieldTrack &InitialFieldTrack, if( fVerboseLevel > 0 ){ G4cout << " G4PathFinder::ComputeStep returns " << fCurrentStepSize[ navigatorNo ] - << " for Navigator " << navigatorNo + << " for Navigator " << navigatorNo << " Limited step = " << limitedStep << " Safety(mm) = " << pNewSafety / mm - << G4endl; + << G4endl; } return fCurrentStepSize[ navigatorNo ]; @@ -295,10 +289,10 @@ G4PathFinder::PrepareNewTrack( const G4ThreeVector position, if( fNoActiveNavigators > fMaxNav ){ G4cerr << "Too many active Navigators (worlds). G4PathFinder fails." << G4endl; G4cout << " Fatal error: Transportation Manager has "<< fNoActiveNavigators - << " active navigators. " - << " This is more than the number allowed = " << fMaxNav << G4endl; + << " active navigators. " + << " This is more than the number allowed = " << fMaxNav << G4endl; G4Exception("G4PathFinder::PrepareNewTrack()", "TooManyNavigators", - FatalException, "Too many active Navigators / worlds"); + FatalException, "Too many active Navigators / worlds"); } fpMultiNavigator->PrepareNavigators(); @@ -335,19 +329,19 @@ void ReportMove( G4ThreeVector OldVector, G4ThreeVector NewVector, G4String Quan G4ThreeVector moveVec = ( NewVector - OldVector ); G4cerr << G4endl - << "**************************************************************" << G4endl; + << "**************************************************************" << G4endl; G4cerr << "Endpoint has moved between value returned by ComputeStep" - << " and call to Locate. " << G4endl - << "Change of " << Quantity << " is " << moveVec.mag() / mm << " mm long, " - << " and its vector is " << (1.0/mm) * moveVec << " mm " << G4endl - << "Endpoint of ComputeStep was " << OldVector - << " and current position to locate is " << NewVector << G4endl; + << " and call to Locate. " << G4endl + << "Change of " << Quantity << " is " << moveVec.mag() / mm << " mm long, " + << " and its vector is " << (1.0/mm) * moveVec << " mm " << G4endl + << "Endpoint of ComputeStep was " << OldVector + << " and current position to locate is " << NewVector << G4endl; } void G4PathFinder::Locate( const G4ThreeVector& position, - const G4ThreeVector& direction, - G4bool relative) + const G4ThreeVector& direction, + G4bool relative) { // Locate the point in each geometry std::vector::iterator pNavIter= fpTransportManager->GetActiveNavigatorsIterator(); @@ -359,8 +353,8 @@ G4PathFinder::Locate( const G4ThreeVector& position, if( (!fNewTrack) && (!fRelocatedPoint) && ( moveLenSq> kCarTolerance*kCarTolerance ) ){ // ( moveLenSq> 0.0) ){ ReportMove( position, lastEndPosition, "Position" ); G4Exception( "G4PathFinder::Locate", "201-LocateUnexpectedPoint", - JustWarning, // FatalException, - "Location is not where last ComputeStep ended."); + JustWarning, // FatalException, + "Location is not where last ComputeStep ended."); } fLastLocatedPosition= position; @@ -369,12 +363,12 @@ G4PathFinder::Locate( const G4ThreeVector& position, G4cout << " G4PathFinder::Locate : entered " << G4endl; G4cout << " -------------------- -------" << G4endl; G4cout << " Locating at position " << position << " with direction " << direction - << " relative= " << relative << G4endl; + << " relative= " << relative << G4endl; if ( (fVerboseLevel > 1) || ( moveLenSq > 0.0) ){ G4cout << " lastEndPosition = " << lastEndPosition - << " moveVec = " << moveVec - << " newTr = " << fNewTrack - << " relocated = " << fRelocatedPoint << G4endl; + << " moveVec = " << moveVec + << " newTr = " << fNewTrack + << " relocated = " << fRelocatedPoint << G4endl; } } @@ -393,8 +387,8 @@ G4PathFinder::Locate( const G4ThreeVector& position, G4VPhysicalVolume *pLocated= (*pNavIter)->LocateGlobalPointAndSetup( position, &direction, //*************************************// - relative, - false); + relative, + false); // Set the state related to the location fLocatedVolume[num] = pLocated; @@ -404,11 +398,11 @@ G4PathFinder::Locate( const G4ThreeVector& position, if( fVerboseLevel > 2 ){ G4cout << " - In world " << num - << " geomLimStp= " << fLimitTruth[num] - << " gives volume= " << pLocated ; + << " geomLimStp= " << fLimitTruth[num] + << " gives volume= " << pLocated ; if( pLocated ){ - G4cout << " name = '" << pLocated->GetName() << "'"; - G4cout << " - CopyNo= " << pLocated->GetCopyNo(); + G4cout << " name = '" << pLocated->GetName() << "'"; + G4cout << " - CopyNo= " << pLocated->GetCopyNo(); } G4cout << G4endl; } @@ -422,8 +416,12 @@ G4PathFinder::Locate( const G4ThreeVector& position, void G4PathFinder::ReLocate( const G4ThreeVector& position ) - // const G4ThreeVector& direction, G4bool relative ) + // const G4ThreeVector& direction, G4bool relative ) { + + static const G4double kRadTolerance = + G4GeometryTolerance::GetInstance()->GetRadialTolerance(); + // Locate the point in each geometry std::vector::iterator pNavIter= fpTransportManager->GetActiveNavigatorsIterator(); const G4double cErrorTolerance=1e-12; @@ -455,9 +453,9 @@ G4PathFinder::ReLocate( const G4ThreeVector& position ) // G4double distCheckStart_sq= ( moveLenStartSq - fMinSafety*fMinSafety ); G4double distCheckEnd_sq= ( moveLenEndPosSq - endPointSafety_Est1 - *endPointSafety_Est1 ); + *endPointSafety_Est1 ); G4double distCheckSaf_sq= ( moveLenSafSq - fMinSafety_atSafLocation - *fMinSafety_atSafLocation ); + *fMinSafety_atSafLocation ); // G4bool longMoveStart = distCheckStart_sq > 0.0; G4bool longMoveEnd = distCheckEnd_sq > 0.0; G4bool longMoveSaf = distCheckSaf_sq > 0.0; @@ -483,38 +481,38 @@ G4PathFinder::ReLocate( const G4ThreeVector& position ) // this apparent move further than safety if( fVerboseLevel > 0 ) - G4cout << " G4PF:Relocate> Ratio to revised safety is " - << std::fabs(moveMinusSafety)/revisedSafety << G4endl; + G4cout << " G4PF:Relocate> Ratio to revised safety is " + << std::fabs(moveMinusSafety)/revisedSafety << G4endl; // G4double absMoveMinusSafety= std::fabs(moveMinusSafety); - G4bool smallRatio= absMoveMinusSafety < kRadTolerance * revisedSafety ; - G4double maxCoordPos = std::max( - std::max( std::fabs(position.x()), - std::fabs(position.y())), - std::fabs(position.z()) ); - G4bool smallValue= absMoveMinusSafety < cErrorTolerance * maxCoordPos; + G4bool smallRatio= absMoveMinusSafety < kRadTolerance * revisedSafety ; + G4double maxCoordPos = std::max( + std::max( std::fabs(position.x()), + std::fabs(position.y())), + std::fabs(position.z()) ); + G4bool smallValue= absMoveMinusSafety < cErrorTolerance * maxCoordPos; if( ! (smallRatio || smallValue) ) { - G4cout << " G4PF:Relocate> Ratio to revised safety is " - << std::fabs(moveMinusSafety)/revisedSafety << G4endl; - G4cout << " Difference of move and safety is not very small." << G4endl; - }else{ - moveMinusSafety = 0.0; - longMoveRevisedEnd = false; // Numerical issue -- not too long! + G4cout << " G4PF:Relocate> Ratio to revised safety is " + << std::fabs(moveMinusSafety)/revisedSafety << G4endl; + G4cout << " Difference of move and safety is not very small." << G4endl; + }else{ + moveMinusSafety = 0.0; + longMoveRevisedEnd = false; // Numerical issue -- not too long! #ifdef G4DEBUG_PATHFINDER - G4cout << " Difference of move and safety is very small in magnitude, " - << absMoveMinusSafety << G4endl; - if( smallRatio ) { - G4cout << " ratio to safety " << revisedSafety - << " is " << absMoveMinusSafety / revisedSafety - << "smaller than " << kRadTolerance << " of safety "; - }else{ - G4cout << " as fraction " << absMoveMinusSafety / maxCoordPos - << " of position vector max-coord " << maxCoordPos - << " smaller than " << cErrorTolerance ; - } + G4cout << " Difference of move and safety is very small in magnitude, " + << absMoveMinusSafety << G4endl; + if( smallRatio ) { + G4cout << " ratio to safety " << revisedSafety + << " is " << absMoveMinusSafety / revisedSafety + << "smaller than " << kRadTolerance << " of safety "; + }else{ + G4cout << " as fraction " << absMoveMinusSafety / maxCoordPos + << " of position vector max-coord " << maxCoordPos + << " smaller than " << cErrorTolerance ; + } G4cout << " -- reset moveMinusSafety to " << moveMinusSafety << G4endl; #endif - } + } } if ( longMoveEnd && longMoveSaf && longMoveRevisedEnd && (moveMinusSafety>0.0)) { @@ -522,31 +520,31 @@ G4PathFinder::ReLocate( const G4ThreeVector& position ) G4int oldPrec= G4cout.precision(9); G4cout << " Problem in G4PathFinder::Relocate() " << G4endl; G4cout << " Moved from last endpoint by " << moveLenEndPosition - // << " Moved from last located by " << std::sqrt(moveLenStartSq) - << " compared to end safety (from preStep point) = " - << endPointSafety_Est1 << G4endl; + // << " Moved from last located by " << std::sqrt(moveLenStartSq) + << " compared to end safety (from preStep point) = " + << endPointSafety_Est1 << G4endl; - G4cout << " --> last PreStep Location was " << fPreStepLocation << G4endl; - G4cout << " safety value = " << fMinSafety_PreStepPt << G4endl; - G4cout << " --> last EndStep Location was " << lastEndPosition << G4endl; - G4cout << " safety value = " << endPointSafety_Est1 - << " raw-value = " << endPointSafety_raw << G4endl; - G4cout << " --> Calling again at this endpoint, we get " - << revisedSafety << " as safety value." << G4endl; - G4cout << " --> last position for safety " << fSafetyLocation << G4endl; - G4cout << " its safety value = " << fMinSafety_atSafLocation << G4endl; - G4cout << " move from safety location = " << std::sqrt(moveLenSafSq) << G4endl; - // moveVecSafety.mag() *** (position-fSafetyLocation).mag() << G4endl; - G4cout << " safety - Move-from-end= " - << revisedSafety - moveLenEndPosition << " (negative is Bad.)" << G4endl; + G4cout << " --> last PreStep Location was " << fPreStepLocation << G4endl; + G4cout << " safety value = " << fMinSafety_PreStepPt << G4endl; + G4cout << " --> last EndStep Location was " << lastEndPosition << G4endl; + G4cout << " safety value = " << endPointSafety_Est1 + << " raw-value = " << endPointSafety_raw << G4endl; + G4cout << " --> Calling again at this endpoint, we get " + << revisedSafety << " as safety value." << G4endl; + G4cout << " --> last position for safety " << fSafetyLocation << G4endl; + G4cout << " its safety value = " << fMinSafety_atSafLocation << G4endl; + G4cout << " move from safety location = " << std::sqrt(moveLenSafSq) << G4endl; + // moveVecSafety.mag() *** (position-fSafetyLocation).mag() << G4endl; + G4cout << " safety - Move-from-end= " + << revisedSafety - moveLenEndPosition << " (negative is Bad.)" << G4endl; - G4cout << " Debub: distCheckRevisedEnd = " << distCheckRevisedEnd << G4endl; + G4cout << " Debub: distCheckRevisedEnd = " << distCheckRevisedEnd << G4endl; - ReportMove( lastEndPosition, position, "Position" ); - G4Exception( "G4PathFinder::ReLocate", "205-RelocatePointTooFar", - FatalException, - "ReLocation is further than end-safety value from step-end point (and the other-safety-value around the last-called safety 'check' point.)"); - G4cout.precision(oldPrec); + ReportMove( lastEndPosition, position, "Position" ); + G4Exception( "G4PathFinder::ReLocate", "205-RelocatePointTooFar", + FatalException, + "ReLocation is further than end-safety value from step-end point (and the other-safety-value around the last-called safety 'check' point.)"); + G4cout.precision(oldPrec); } } @@ -560,9 +558,9 @@ G4PathFinder::ReLocate( const G4ThreeVector& position ) // << " relative= " << relative << G4endl; if ( (fVerboseLevel > -1) || ( moveLenEndPosSq > 0.0) ){ G4cout << " lastEndPosition = " << lastEndPosition - << " moveVec from step-end = " << moveVecEndPos - << " is new Track = " << fNewTrack - << " relocated = " << fRelocatedPoint << G4endl; + << " moveVec from step-end = " << moveVecEndPos + << " is new Track = " << fNewTrack + << " relocated = " << fRelocatedPoint << G4endl; } } #endif @@ -586,7 +584,7 @@ G4PathFinder::ReLocate( const G4ThreeVector& position ) if( fVerboseLevel > 2 ){ G4cout << " G4PathFinder::ReLocate : exiting " - << " at position " << fLastLocatedPosition << G4endl; + << " at position " << fLastLocatedPosition << G4endl; G4cout << G4endl; } @@ -613,15 +611,15 @@ G4double G4PathFinder::ComputeSafety( const G4ThreeVector& position ) // fNewSafety[num]= safety; // G4cout << " Navigator # " << num << " gives safety = " << safety << G4endl; - } + } fSafetyLocation= position; fMinSafety_atSafLocation = minSafety; if( fVerboseLevel > 1 ) { G4cout << " G4PathFinder::ComputeSafety - returns " - << minSafety << " at location " << position - << G4endl; + << minSafety << " at location " << position + << G4endl; } return minSafety; } @@ -650,15 +648,15 @@ G4PathFinder::CreateTouchableHandle( G4int navId ) const { // Workaround to ensure that the touchable is fixed !! // TODO: fix touchHist->UpdateYourself( locatedVolume, - touchHist->GetHistory() ); + touchHist->GetHistory() ); } if( fVerboseLevel > 2 ) { G4String VolumeName("None"); if( locatedVolume ) { VolumeName= locatedVolume->GetName(); } G4cout << " Touchable History created at address " << touchHist - << " volume = " << locatedVolume << " name= " << VolumeName - << G4endl; + << " volume = " << locatedVolume << " name= " << VolumeName + << G4endl; } return G4TouchableHandle(touchHist); @@ -666,8 +664,8 @@ G4PathFinder::CreateTouchableHandle( G4int navId ) const G4double G4PathFinder::DoNextLinearStep( const G4FieldTrack &initialState, - G4double proposedStepLength - ) + G4double proposedStepLength + ) { // --- // G4Navigator* navigator; @@ -694,9 +692,9 @@ G4PathFinder::DoNextLinearStep( const G4FieldTrack &initialState, step= (*pNavigatorIter)->ComputeStep( initialPosition, - initialDirection, - proposedStepLength, - safety ); + initialDirection, + proposedStepLength, + safety ); if( safety < minSafety ){ minSafety = safety; } if( step < minStep ) { minStep= step; } // Later can reduce the proposed step to the latest minStep value @@ -733,8 +731,8 @@ G4PathFinder::DoNextLinearStep( const G4FieldTrack &initialState, if( fVerboseLevel > 1 ){ G4cout << "G4PathFinder::DoNextLinearStep : " - << " initialPosition = " << initialPosition - << " and endPosition = " << endPosition<< G4endl; + << " initialPosition = " << initialPosition + << " and endPosition = " << endPosition<< G4endl; } fEndState.SetPosition( endPosition ); @@ -804,22 +802,20 @@ G4PathFinder::WhichLimited() // Flag which processes limited the step void G4PathFinder::PrintLimited() { - G4String& LimitedString( ELimited lim ); - // Report results -- for checking G4cout << "G4PathFinder::PrintLimited reports: " ; G4cout << " Minimum step (true)= " << fTrueMinStep - << " reported min = " << fMinStep - << G4endl; + << " reported min = " << fMinStep + << G4endl; if( (fCurrentStepNo <= 2) || (fVerboseLevel>=2) ) { G4cout << std::setw(5) << " Step#" << " " - << std::setw(5) << " NavId" << " " - << std::setw(12) << " step-size " << " " - << std::setw(12) << " raw-size " << " " - << std::setw(12) << " pre-safety " << " " - << std::setw(15) << " Limited / flag" << " " + << std::setw(5) << " NavId" << " " + << std::setw(12) << " step-size " << " " + << std::setw(12) << " raw-size " << " " + << std::setw(12) << " pre-safety " << " " + << std::setw(15) << " Limited / flag" << " " << std::setw(15) << " World " << " " - << G4endl; + << G4endl; } int num; for ( num= 0; num < fNoActiveNavigators; num++ ) { @@ -831,11 +827,11 @@ G4PathFinder::PrintLimited() G4int oldPrec= G4cout.precision(9); // const char *BooleanValue[2] = { " NO", "YES" } ; G4cout << std::setw(5) << fCurrentStepNo << " " - << std::setw(5) << num << " " - << std::setw(12) << stepLen << " " - << std::setw(12) << rawStep << " " - << std::setw(12) << fNewSafety[num] << " " - << std::setw(5) << (fLimitTruth[num] ? "YES" : " NO") << " "; + << std::setw(5) << num << " " + << std::setw(12) << stepLen << " " + << std::setw(12) << rawStep << " " + << std::setw(12) << fNewSafety[num] << " " + << std::setw(5) << (fLimitTruth[num] ? "YES" : " NO") << " "; G4String limitedStr= LimitedString(fLimitedStep[num]); G4cout << " " << std::setw(15) << limitedStr << " "; G4cout.precision(oldPrec); @@ -845,7 +841,7 @@ G4PathFinder::PrintLimited() if (pNav) { G4VPhysicalVolume *pWorld= pNav->GetWorldVolume(); if( pWorld ) { - WorldName = pWorld->GetName(); + WorldName = pWorld->GetName(); } } G4cout << " " << WorldName ; @@ -859,8 +855,8 @@ G4PathFinder::PrintLimited() G4double G4PathFinder::DoNextCurvedStep( const G4FieldTrack &initialState, - G4double proposedStepLength, - G4VPhysicalVolume* pCurrentPhysicalVolume ) + G4double proposedStepLength, + G4VPhysicalVolume* pCurrentPhysicalVolume ) { const G4double toleratedRelativeError= 1.0e-10; if( fVerboseLevel > 2 ) @@ -871,28 +867,29 @@ G4PathFinder::DoNextCurvedStep( const G4FieldTrack &initialState, if( fVerboseLevel > 2 ) G4cout << " Initial value of field track is " << fieldTrack - << " and proposed step= " << proposedStepLength << G4endl; + << " and proposed step= " << proposedStepLength << G4endl; // Allow Propagator In Field to do the hard work, calling G4MultiNavigator minStep= fpFieldPropagator->ComputeStep( fieldTrack, - proposedStepLength, - newSafety, - pCurrentPhysicalVolume ); + proposedStepLength, + newSafety, + pCurrentPhysicalVolume ); // fieldTrack now contains the endpoint information fEndState= fieldTrack; fMinStep= minStep; fTrueMinStep = std::min( minStep, proposedStepLength ); - if( fVerboseLevel > 2 ) + if( fVerboseLevel > 2 ){ G4cout << "G4PathFinder::DoNextCurvedStep : " << G4endl - << " initialState = " << initialState << G4endl - << " and endState = " << fEndState << G4endl; + << " initialState = " << initialState << G4endl + << " and endState = " << fEndState << G4endl; + G4cout << "G4PathFinder::DoNextCurvedStep : " + << " minStep = " << minStep + << " proposedStepLength " << proposedStepLength + << " safety = " << newSafety << G4endl; + } G4double currentStepSize = 0; - G4cout << "G4PathFinder::DoNextCurvedStep : " - << " minStep = " << minStep - << " proposedStepLength " << proposedStepLength - << " safety = " << newSafety << G4endl; if( minStep < proposedStepLength ) { // if == , then a boundary found at end ?? // Recover the remaining information from MultiNavigator @@ -902,14 +899,14 @@ G4PathFinder::DoNextCurvedStep( const G4FieldTrack &initialState, ELimited didLimit; finalStep= fpMultiNavigator->ObtainFinalStep( numNav, lastPreSafety, - minStepLast, didLimit ); + minStepLast, didLimit ); currentStepSize = fTrueMinStep; G4double diffStep= 0.0; if( (minStepLast != kInfinity) ){ - diffStep = (finalStep-minStepLast); - if ( std::abs(diffStep) <= toleratedRelativeError * finalStep ) - { diffStep = 0.0; } - currentStepSize += diffStep; + diffStep = (finalStep-minStepLast); + if ( std::abs(diffStep) <= toleratedRelativeError * finalStep ) + { diffStep = 0.0; } + currentStepSize += diffStep; } fCurrentStepSize[numNav] = currentStepSize; @@ -934,25 +931,25 @@ G4PathFinder::DoNextCurvedStep( const G4FieldTrack &initialState, G4bool StepError= (currentStepSize < 0) || ( (minStepLast != kInfinity) && (diffStep < 0) ) ; if( StepError || (fVerboseLevel > 2) ){ - - G4String& LimitedString( ELimited lim ); - G4String limitedString= LimitedString( fLimitedStep[numNav] ); - - G4cout << " G4PathFinder::ComputeStep. Geometry " << numNav << " step= " << fCurrentStepSize[numNav] - << " from final-step= " << finalStep - << " fTrueMinStep= " << fTrueMinStep - << " minStepLast= " << minStepLast - << " limited = " << (fLimitTruth[numNav] ? "YES" : " NO") << " "; - G4cout << " status = " << limitedString << " #= " << didLimit << G4endl; - - if( StepError ) { + + // G4String& LimitedString( ELimited lim ); + G4String limitedString= LimitedString( fLimitedStep[numNav] ); + + G4cout << " G4PathFinder::ComputeStep. Geometry " << numNav << " step= " << fCurrentStepSize[numNav] + << " from final-step= " << finalStep + << " fTrueMinStep= " << fTrueMinStep + << " minStepLast= " << minStepLast + << " limited = " << (fLimitTruth[numNav] ? "YES" : " NO") << " "; + G4cout << " status = " << limitedString << " #= " << didLimit << G4endl; + + if( StepError ) { G4cerr << " currentStepSize = " << currentStepSize << " diffStep= " << diffStep << G4endl; - G4cerr << "ERROR in computing step size for this navigator." << G4endl; - G4Exception( "G4PathFinder::DoNextCurvedStep", "207-StepGoingBackwards", - FatalException, - "Incorrect calculation of step size for one navigator" ); - } + G4cerr << "ERROR in computing step size for this navigator." << G4endl; + G4Exception( "G4PathFinder::DoNextCurvedStep", "207-StepGoingBackwards", + FatalException, + "Incorrect calculation of step size for one navigator" ); + } } } // for num Navigators @@ -960,9 +957,9 @@ G4PathFinder::DoNextCurvedStep( const G4FieldTrack &initialState, } // else if ( minStep > proposedStepLength ) { // ie minStep == kInfinity else if ( (minStep == proposedStepLength) - || (minStep == kInfinity) - || ( std::abs(minStep-proposedStepLength) < toleratedRelativeError * proposedStepLength ) - ) { + || (minStep == kInfinity) + || ( std::abs(minStep-proposedStepLength) < toleratedRelativeError * proposedStepLength ) + ) { // In case the step was not limited, use default responses // --> all Navigators // Also avoid problems in case of PathFinder using safety to optimise @@ -981,12 +978,12 @@ G4PathFinder::DoNextCurvedStep( const G4FieldTrack &initialState, else{ // (minStep > proposedStepLength) and not (minStep == kInfinity) G4cerr << G4endl; G4cerr << "ERROR in G4PathFinder::DoNextCurvedStep " - << " currentStepSize = " << minStep << " is larger than " - << " proposed StepSize = " << proposedStepLength - << G4endl; + << " currentStepSize = " << minStep << " is larger than " + << " proposed StepSize = " << proposedStepLength + << G4endl; G4Exception( "G4PathFinder::DoNextCurvedStep", "208-StepLongerThanRequested", - FatalException, - "Incorrect calculation of step size for one navigator" ); + FatalException, + "Incorrect calculation of step size for one navigator" ); } if( fVerboseLevel > 2 ){ @@ -997,12 +994,14 @@ G4PathFinder::DoNextCurvedStep( const G4FieldTrack &initialState, return minStep; } -static G4String StrDoNot("DoNot"), StrUnique("Unique"), - StrUndefined("Undefined"), StrSharedTransport("SharedTransport"), - StrSharedOther("SharedOther"); - -G4String& LimitedString( ELimited lim ) +G4String& G4PathFinder::LimitedString( ELimited lim ) { + static G4String StrDoNot("DoNot"), + StrUnique("Unique"), + StrUndefined("Undefined"), + StrSharedTransport("SharedTransport"), + StrSharedOther("SharedOther"); + G4String* limitedStr; switch ( lim ) { case kDoNot: limitedStr= &StrDoNot; break; @@ -1011,11 +1010,9 @@ G4String& LimitedString( ELimited lim ) case kSharedOther: limitedStr = &StrSharedOther; break; default: limitedStr = &StrUndefined; break; } - return *limitedStr; } - #if 0 // Potential extension ..... ?? // Return relevant step @@ -1023,19 +1020,19 @@ G4String& LimitedString( ELimited lim ) G4double G4PathFinder::ComputeLinearStep(const G4ThreeVector &pGlobalPoint, - const G4ThreeVector &pDirection, - G4double pCurrentProposedStepLength, - G4double &pNewSafety, - G4bool &limitedStep, - G4int stepNo, // See next step / check - G4int navId ) + const G4ThreeVector &pDirection, + G4double pCurrentProposedStepLength, + G4double &pNewSafety, + G4bool &limitedStep, + G4int stepNo, // See next step/check + G4int navId ) { G4cout << pGlobalPoint << pDirection << pCurrentProposedStepLength - << pNewSafety << limitedStep << stepNo << navId << G4endl; + << pNewSafety << limitedStep << stepNo << navId << G4endl; G4cout << " G4PathFinder::ComputeLinearStep" << G4endl; G4Exception( " G4PathFinder::ComputeLinearStep is Null", "203-No Method", - FatalException, "G4PathFinder::ComputeLinearStep is Null" ); + FatalException, "G4PathFinder::ComputeLinearStep is Null" ); return 0.500 * pCurrentProposedStepLength; } #endif diff --git a/source/geometry/navigation/src/G4PropagatorInField.cc b/source/geometry/navigation/src/G4PropagatorInField.cc index c7d98746ea..a62030951a 100644 --- a/source/geometry/navigation/src/G4PropagatorInField.cc +++ b/source/geometry/navigation/src/G4PropagatorInField.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PropagatorInField.cc,v 1.30 2007/01/25 21:27:50 japost Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4PropagatorInField.cc,v 1.35 2007/06/08 10:05:46 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // This class implements an algorithm to track a particle in a @@ -46,6 +46,7 @@ #include "G4ThreeVector.hh" #include "G4VPhysicalVolume.hh" #include "G4Navigator.hh" +#include "G4GeometryTolerance.hh" #include "G4VCurvedTrajectoryFilter.hh" #include "G4ChordFinder.hh" @@ -80,15 +81,27 @@ G4PropagatorInField::G4PropagatorInField( G4Navigator *theNavigator, fPreviousSftOrigin= G4ThreeVector(0.,0.,0.); fPreviousSafety= 0.0; + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + // In case of too slow progress in finding Intersection Point + // intermediates Points on the Track must be stored. + // Initialise the array of Pointers [max_depth+1] to do this + + G4ThreeVector zeroV(0.0,0.0,0.0); + for (G4int idepth=0; idepthCreateNewTrajectorySegment(); } @@ -487,19 +506,7 @@ G4PropagatorInField::LocateIntersectionPoint( G4int depth=0; // Depth counts how many subdivisions of initial step made - const G4int max_depth=4; // Max allowed depth, test parameter - // Intermediates Points on the Track = Subdivided Points must be stored. - // Use array of Pointers [max_depth+1] to do this - // Array of pointers to the Intermediate G4FieldTrack - - G4FieldTrack* ptrInterMedFT[max_depth+1]; - G4ThreeVector zeroV(0.0,0.0,0.0); - for (G4int idepth=0; idepth " - << "Start=" << std::setw(12) << StartPointA << " " + << "Start=" << std::setw(12) << StartPointA << " " << "End= " << std::setw(8) << EndPointB << " " << "StepIn=" << std::setw(8) << LinearStepLength << " " << "NewSft=" << std::setw(8) << NewSafety << " " @@ -1200,16 +1203,23 @@ ReEstimateEndpoint( const G4FieldTrack &CurrentStateA, { G4double currentCurveLen= newEndPoint.GetCurveLength(); G4double advanceLength= endCurveLen - currentCurveLen ; - + if (std::abs(advanceLength)AccurateAdvance(newEndPoint, advanceLength, fEpsilonStep); // *************** } while( !goodAdvance && (++itrial < no_trials) ); - if( goodAdvance ) { + if( goodAdvance ) + { retEndPoint= newEndPoint; - }else{ + } + else + { retEndPoint= EstimatedEndStateB; // Could not improve without major work !! } @@ -1217,16 +1227,22 @@ ReEstimateEndpoint( const G4FieldTrack &CurrentStateA, // below are some diagnostics only -- before the return! // static const G4String MethodName("G4PropagatorInField::ReEstimateEndpoint"); + #ifdef G4VERBOSE G4int latest_good_trials=0; - if( itrial > 1) { - if( fVerboseLevel > 0 ) { + if( itrial > 1) + { + if( fVerboseLevel > 0 ) + { G4cout << MethodName << " called - goodAdv= " << goodAdvance - << " trials = " << itrial << " previous good= " << latest_good_trials - << G4endl; + << " trials = " << itrial + << " previous good= " << latest_good_trials + << G4endl; } latest_good_trials=0; - }else{ + } + else + { latest_good_trials++; } #endif @@ -1234,13 +1250,16 @@ ReEstimateEndpoint( const G4FieldTrack &CurrentStateA, #ifdef G4DEBUG_FIELD G4double lengthDone= newEndPoint.GetCurveLength() - CurrentStateA.GetCurveLength(); - if( !goodAdvance ) { - if( fVerboseLevel >= 3 ){ + if( !goodAdvance ) + { + if( fVerboseLevel >= 3 ) + { G4cout << MethodName << "> AccurateAdvance failed " ; G4cout << " in " << itrial << " integration trials/steps. " << G4endl G4cout << " It went only " << lengthDone << " instead of " << curveDist << " -- a difference of " << curveDist - lengthDone << G4endl; - G4cout << " ReEstimateEndpoint> Reset endPoint to original value!" << G4endl; + G4cout << " ReEstimateEndpoint> Reset endPoint to original value!" + << G4endl; } } @@ -1263,10 +1282,12 @@ ReEstimateEndpoint( const G4FieldTrack &CurrentStateA, } #else // Statistics on the RMS value of the corrections + static G4int noCorrections=0; static G4double sumCorrectionsSq = 0; noCorrections++; - if( goodAdvance ){ + if( goodAdvance ) + { sumCorrectionsSq += (EstimatedEndStateB.GetPosition() - newEndPoint.GetPosition()).mag2(); } @@ -1285,36 +1306,38 @@ ReEstimateEndpoint( const G4FieldTrack &CurrentStateA, // the points are not re-used in subsequent steps, therefore THIS // METHOD MUST BE CALLED EXACTLY ONCE PER STEP. (jacek 08/11/2002) - std::vector* -G4PropagatorInField::GimmeTrajectoryVectorAndForgetIt() const { +G4PropagatorInField::GimmeTrajectoryVectorAndForgetIt() const +{ // NB, GimmeThePointsAndForgetThem really forgets them, so it can // only be called (exactly) once for each step. - if (fpTrajectoryFilter) { + + if (fpTrajectoryFilter) + { return fpTrajectoryFilter->GimmeThePointsAndForgetThem(); - } else { - return NULL; + } + else + { + return 0; } } void -G4PropagatorInField::SetTrajectoryFilter(G4VCurvedTrajectoryFilter* filter) { +G4PropagatorInField::SetTrajectoryFilter(G4VCurvedTrajectoryFilter* filter) +{ fpTrajectoryFilter = filter; } - void G4PropagatorInField::ClearPropagatorState() { - // G4Exception("G4PropagatorInField::ClearPropagatorState()", "NotImplemented", - // FatalException, "Functionality not yet implemented."); - // Goal: Clear all memory of previous steps, cached information + fParticleIsLooping= false; fNoZeroStep= 0; End_PointAndTangent= G4FieldTrack( G4ThreeVector(0.,0.,0.), - G4ThreeVector(0.,0.,0.),0.0,0.0,0.0,0.0,0.0); - + G4ThreeVector(0.,0.,0.), + 0.0,0.0,0.0,0.0,0.0); fFull_CurveLen_of_LastAttempt = -1; fLast_ProposedStepLength = -1; @@ -1322,8 +1345,8 @@ void G4PropagatorInField::ClearPropagatorState() fPreviousSafety= 0.0; } -G4FieldManager* -G4PropagatorInField::FindAndSetFieldManager( G4VPhysicalVolume* pCurrentPhysicalVolume) +G4FieldManager* G4PropagatorInField:: +FindAndSetFieldManager( G4VPhysicalVolume* pCurrentPhysicalVolume) { G4FieldManager* currentFieldMgr; @@ -1348,7 +1371,9 @@ G4int G4PropagatorInField::SetVerboseLevel( G4int Verbose ) G4int oldval= fVerboseLevel; fVerboseLevel= Verbose; - // Forward the verbose level 'reduced' to ChordFinder, MagIntegratorDriver ... ? + // Forward the verbose level 'reduced' to ChordFinder, + // MagIntegratorDriver ... ? + // G4MagInt_Driver* integrDriver= GetChordFinder()->GetIntegrationDriver(); integrDriver->SetVerboseLevel( Verbose - 2 ); G4cout << "Set Driver verbosity to " << Verbose - 2 << G4endl; diff --git a/source/geometry/navigation/src/G4ReplicaNavigation.cc b/source/geometry/navigation/src/G4ReplicaNavigation.cc index b694525e85..a7007dad55 100644 --- a/source/geometry/navigation/src/G4ReplicaNavigation.cc +++ b/source/geometry/navigation/src/G4ReplicaNavigation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ReplicaNavigation.cc,v 1.11 2006/06/29 18:37:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ReplicaNavigation.cc,v 1.13 2007/05/18 07:31:03 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ReplicaNavigation Implementation @@ -40,6 +40,7 @@ #include "G4SmartVoxelProxy.hh" #include "G4SmartVoxelNode.hh" #include "G4VSolid.hh" +#include "G4GeometryTolerance.hh" #include @@ -50,6 +51,9 @@ G4ReplicaNavigation::G4ReplicaNavigation() : fCheck(false), fVerbose(0) { + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); + kAngTolerance = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); } // ******************************************************************** diff --git a/source/geometry/navigation/src/G4SafetyHelper.cc b/source/geometry/navigation/src/G4SafetyHelper.cc index 7ab5a0c00e..6b01743437 100644 --- a/source/geometry/navigation/src/G4SafetyHelper.cc +++ b/source/geometry/navigation/src/G4SafetyHelper.cc @@ -23,131 +23,141 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4SafetyHelper.cc,v 1.7 2006/11/14 10:22:12 japost Exp $ +// $Id: G4SafetyHelper.cc,v 1.12 2007/05/09 12:57:31 japost Exp $ // GEANT4 tag $ Name: $ - +// +// class G4SafetyHelper Implementation +// +// Original author: John Apostolakis, 2006 +// +// -------------------------------------------------------------------- #include "G4SafetyHelper.hh" #include "G4PathFinder.hh" #include "G4TransportationManager.hh" #include "G4Navigator.hh" -// #include "G4Exception.hh" #include "globals.hh" -G4bool G4SafetyHelper::fUseParallelGeometries= false; - // By default, one geometry only - -G4SafetyHelper::G4SafetyHelper() +G4SafetyHelper::G4SafetyHelper() : + fUseParallelGeometries(false), // By default, one geometry only + fFirstCall(true), + fLastSafetyPosition(0.0,0.0,0.0), + fLastSafety(0.0), + fRecomputeFactor(0.2) { - fpPathFinder= G4PathFinder::GetInstance(); - - InitialiseNavigator(); + fpPathFinder= 0; // Cannot initialise this yet - a loop results + + // Initialization of the Navigator pointer is postponed, and must + // be undertaken by another class calling InitialiseHelper() + fpMassNavigator= 0; + fMassNavigatorId= -1; } void G4SafetyHelper::InitialiseNavigator() { - // G4Navigator* - static G4TransportationManager* pTransportMgr= - G4TransportationManager::GetTransportationManager(); + fpPathFinder= G4PathFinder::GetInstance(); + + G4TransportationManager* pTransportMgr= + G4TransportationManager::GetTransportationManager(); - fpMassNavigator = pTransportMgr->GetNavigatorForTracking(); + fpMassNavigator = pTransportMgr->GetNavigatorForTracking(); - fMassNavigatorId = pTransportMgr->ActivateNavigator( fpMassNavigator ); -} + // Check + G4VPhysicalVolume* worldPV = fpMassNavigator->GetWorldVolume(); + if( worldPV == 0 ) + { + G4Exception("G4SafetyHelper::InitialiseNavigator", + "InvalidNavigatorWorld", FatalException, + "Found that existing tracking Navigator has NULL world"); + } + + fMassNavigatorId = pTransportMgr->ActivateNavigator( fpMassNavigator ); +} + +void G4SafetyHelper::InitialiseHelper() +{ + fLastSafetyPosition = G4ThreeVector(0.0,0.0,0.0); + fLastSafety = 0.0; + if (fFirstCall) { InitialiseNavigator(); } + fFirstCall = false; +} G4SafetyHelper::~G4SafetyHelper() {} G4double -G4SafetyHelper::ComputeMassStep( const G4ThreeVector &position, - const G4ThreeVector &direction, - G4double &newSafety ) -{ - // Step for mass geometry - G4double linearStep; - const G4double proposedStep = DBL_MAX; +G4SafetyHelper::CheckNextStep(const G4ThreeVector &position, + const G4ThreeVector &direction, + const G4double currentMaxStep, + G4double& newSafety ) +{ + // Distance in the Mass geometry + // + G4double linstep = fpMassNavigator->CheckNextStep( position, + direction, + currentMaxStep, + newSafety); + fLastSafetyPosition = position; + fLastSafety = newSafety; - // Check - G4VPhysicalVolume* worldPV= fpMassNavigator->GetWorldVolume(); - if( worldPV == 0 ) { - G4Exception("G4SafetyHelper::ComputeMassStep", - "InvalidNavigatorWorld", - FatalException, - "Found that existing mass Navigator has null world"); + // TO-DO: Can replace this with a call to PathFinder + // giving id of Mass Geometry --> this avoid doing the work twice + return linstep; +} + +G4double G4SafetyHelper::ComputeSafety( const G4ThreeVector& position ) +{ + G4double newSafety; + + // return last value if position is not significantly changed + // + G4double moveLen = (position-fLastSafetyPosition).mag(); + if(moveLen >= fRecomputeFactor*fLastSafety) + { + fLastSafetyPosition = position; + + if( !fUseParallelGeometries ) + { + // Safety for mass geometry + fLastSafety = fpMassNavigator->ComputeSafety(position); } - - fpMassNavigator->LocateGlobalPointWithinVolume(position); - // Potentially dangerous to relocate the point. - // Safe in PostStepDoIt -- and possibly in AlongStepGPIL - - G4cout << "G4SafetyHelper::ComputeMassStep " - << " trial step size = " << proposedStep << " ." << G4endl; - - // Distance in the Mass geometry - linearStep = fpMassNavigator->ComputeStep( position, - direction, - proposedStep, - newSafety); - - fpMassNavigator->LocateGlobalPointWithinVolume(position); - G4cout << "G4UrbanMscModel relocates mass Navigator back to " - << position << G4endl; - - // TO-DO: Can replace this with a call to PathFinder - // giving id of Mass Geometry --> this avoid doing the work twice - - return linearStep; + else + { + // Safety for all geometries + fLastSafety = fpPathFinder->ComputeSafety( position ); + } + newSafety = fLastSafety; + } + else + { + newSafety = fLastSafety-moveLen; + } + return newSafety; } -G4double G4SafetyHelper::ComputeSafety( const G4ThreeVector& position ) +void G4SafetyHelper::ReLocateWithinVolume( const G4ThreeVector &newPosition ) { - // Safety for all geometries - G4double newsafety= 0.0; - - if( !fUseParallelGeometries) { - // Old code: safety for mass geometry - fpMassNavigator->LocateGlobalPointWithinVolume(position); - newsafety = fpMassNavigator->ComputeSafety(position); - }else{ - - // fpPathFinder->ReLocate( position ); // Safe in PostStepDoIt only ?? - newsafety= fpPathFinder->ComputeSafety( position ); - -#ifdef CHECK_WITH_ONE_GEOM - // Check against mass safety - fpMassNavigator->LocateGlobalPointWithinVolume(position); - G4double mass_safety = fpMassNavigator->ComputeSafety(position); - - // For initial tests check assume that mass is only geometry - if( (mass_safety - newsafety) > 1e-4 * newsafety ){ - G4cerr << " ERROR in G4SafetyHelper " << G4endl - << " Safety from PathFinder is " << newsafety << " " - << " not equal to " << mass_safety << " " << G4endl; - G4Exception("G4SafetyHelper::ComputeSafety", "SafetyError", - FatalException, - "Incompatible safeties between navigator and pathfinder" ); - exit(1); - } -#endif - } - return newsafety; + if( !fUseParallelGeometries ) + { + fpMassNavigator->LocateGlobalPointWithinVolume( newPosition ); + } + else + { + fpPathFinder->ReLocate( newPosition ); + } } - -void G4SafetyHelper::ReLocateWithinVolume( const G4ThreeVector &newPosition ) +void G4SafetyHelper::Locate( const G4ThreeVector& newPosition, + const G4ThreeVector& newDirection) { - -#ifdef G4VERBOSE_HELPER - G4int oldPrec= G4cout.precision( 10 ); - G4cout << " G4SafetyHelper::ReLocateWithinVolume " - << " calling PathFinder->ReLocating at position " << newPosition << G4endl; - G4cout.precision( oldPrec ); -#endif - - if( !fUseParallelGeometries) { - fpMassNavigator->LocateGlobalPointWithinVolume( newPosition ); - }else{ - fpPathFinder->ReLocate( newPosition ); - } + if( !fUseParallelGeometries) + { + fpMassNavigator->LocateGlobalPointAndSetup(newPosition, &newDirection, + true, false); + } + else + { + fpPathFinder->Locate( newPosition, newDirection ); + } } diff --git a/source/geometry/navigation/src/G4TransportationManager.cc b/source/geometry/navigation/src/G4TransportationManager.cc index f4f4c9e8d5..192a3d0a55 100644 --- a/source/geometry/navigation/src/G4TransportationManager.cc +++ b/source/geometry/navigation/src/G4TransportationManager.cc @@ -24,14 +24,15 @@ // ******************************************************************** // // -// $Id: G4TransportationManager.cc,v 1.14 2006/06/29 18:37:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4TransportationManager.cc,v 1.15 2007/04/12 11:51:48 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4TransportationManager // // Created : J.Apostolakis, 1997 // Reviewed: G.Cosmo, 2006 +// 10.04.07 V.Ivanchenko Use unique G4SafetyHelper // // -------------------------------------------------------------------- @@ -68,6 +69,7 @@ G4TransportationManager::G4TransportationManager() fFieldManager = new G4FieldManager(); fPropagatorInField = new G4PropagatorInField(trackingNavigator, fFieldManager); + fSafetyHelper = new G4SafetyHelper(); } else { @@ -88,6 +90,7 @@ G4TransportationManager::~G4TransportationManager() delete fPropagatorInField; ClearNavigators(); delete fGeomMessenger; + delete fSafetyHelper; } // ---------------------------------------------------------------------------- diff --git a/source/geometry/navigation/src/G4VoxelNavigation.cc b/source/geometry/navigation/src/G4VoxelNavigation.cc index fd6c2ab491..ec3e92007e 100644 --- a/source/geometry/navigation/src/G4VoxelNavigation.cc +++ b/source/geometry/navigation/src/G4VoxelNavigation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VoxelNavigation.cc,v 1.6 2006/06/29 18:37:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VoxelNavigation.cc,v 1.7 2007/05/11 13:43:59 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4VoxelNavigation Implementation @@ -35,6 +35,7 @@ // -------------------------------------------------------------------- #include "G4VoxelNavigation.hh" +#include "G4GeometryTolerance.hh" // ******************************************************************** // Constructor @@ -51,6 +52,7 @@ G4VoxelNavigation::G4VoxelNavigation() fCheck(false), fVerbose(0) { + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } // ******************************************************************** diff --git a/source/geometry/solids/BREPS/History b/source/geometry/solids/BREPS/History index b288be6345..f00dc3f336 100644 --- a/source/geometry/solids/BREPS/History +++ b/source/geometry/solids/BREPS/History @@ -1,4 +1,4 @@ -$Id: History,v 1.64 2006/10/19 15:35:55 gcosmo Exp $ +$Id: History,v 1.66 2007/05/18 07:33:48 gcosmo Exp $ ---------------------------------------------------------------------------- ========================================================= @@ -17,6 +17,14 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +18/05/2007 : G. Cosmo breps-V08-03-01 +- Use kAngTolerance and kRadTolerance from G4GeometryTolerance class. +- Coworks with tag "global-V08-03-03". + +11/05/2007 : G. Cosmo breps-V08-03-00 +- Use call to G4GeometryTolerance instead of kCarTolerance where needed. +- Requires tag "global-V08-03-00" and related tag set. + 19/10/2006 : G. Cosmo breps-V08-01-00 - Added GetSurfaceArea() method, accessors and modifiers to base class G4BREPSolid, implementing the caching mechanism as for volumes. diff --git a/source/geometry/solids/BREPS/include/G4Assembly.hh b/source/geometry/solids/BREPS/include/G4Assembly.hh index 51719d884d..c08a60c617 100644 --- a/source/geometry/solids/BREPS/include/G4Assembly.hh +++ b/source/geometry/solids/BREPS/include/G4Assembly.hh @@ -25,7 +25,7 @@ // // // $Id: G4Assembly.hh,v 1.10 2006/06/29 18:37:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Assembly diff --git a/source/geometry/solids/BREPS/include/G4Assembly.icc b/source/geometry/solids/BREPS/include/G4Assembly.icc index b378d1526e..19f0c4ed09 100644 --- a/source/geometry/solids/BREPS/include/G4Assembly.icc +++ b/source/geometry/solids/BREPS/include/G4Assembly.icc @@ -25,7 +25,7 @@ // // // $Id: G4Assembly.icc,v 1.4 2006/06/29 18:37:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Axis2Placement3D.hh b/source/geometry/solids/BREPS/include/G4Axis2Placement3D.hh index 39c0387adf..34411dc9a7 100644 --- a/source/geometry/solids/BREPS/include/G4Axis2Placement3D.hh +++ b/source/geometry/solids/BREPS/include/G4Axis2Placement3D.hh @@ -25,7 +25,7 @@ // // // $Id: G4Axis2Placement3D.hh,v 1.5 2006/06/29 18:37:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Axis2Placement3D diff --git a/source/geometry/solids/BREPS/include/G4Axis2Placement3D.icc b/source/geometry/solids/BREPS/include/G4Axis2Placement3D.icc index 783e667f1f..49caf73eb8 100644 --- a/source/geometry/solids/BREPS/include/G4Axis2Placement3D.icc +++ b/source/geometry/solids/BREPS/include/G4Axis2Placement3D.icc @@ -25,7 +25,7 @@ // // // $Id: G4Axis2Placement3D.icc,v 1.9 2006/06/29 18:37:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4BREPSolid.hh b/source/geometry/solids/BREPS/include/G4BREPSolid.hh index c2b8008195..389edf2639 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolid.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolid.hh @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolid.hh,v 1.17 2006/10/19 15:35:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BREPSolid diff --git a/source/geometry/solids/BREPS/include/G4BREPSolid.icc b/source/geometry/solids/BREPS/include/G4BREPSolid.icc index d1cc6ea545..fe2748af82 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolid.icc +++ b/source/geometry/solids/BREPS/include/G4BREPSolid.icc @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolid.icc,v 1.9 2006/10/20 14:23:19 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh b/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh index 7d01726af8..35a9446cf7 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidBox.hh @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolidBox.hh,v 1.9 2006/06/29 18:37:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidBox diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh b/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh index a5195f7100..3d9f085ee9 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidCone.hh @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolidCone.hh,v 1.11 2006/06/29 18:37:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidCone diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh b/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh index c6f3dace8d..a8d62a1bcc 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidCylinder.hh @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolidCylinder.hh,v 1.10 2006/06/29 18:37:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidCylinder diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh b/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh index ea24212775..f763e15f2d 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidOpenPCone.hh @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolidOpenPCone.hh,v 1.9 2006/06/29 18:37:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidOpenPCone diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh b/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh index 6555b262ee..26e0ef4cb5 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidPCone.hh @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolidPCone.hh,v 1.14 2006/06/29 18:37:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidPCone diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh b/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh index d6dc4cac51..3aa358cfef 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidPolyhedra.hh @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolidPolyhedra.hh,v 1.14 2006/06/29 18:37:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidPolyhedra diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh b/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh index 49e5a8868e..dbf81c7501 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidSphere.hh @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolidSphere.hh,v 1.11 2006/06/29 18:38:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidSphere diff --git a/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh b/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh index 72f7f74e05..a4f6d0e1f5 100644 --- a/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh +++ b/source/geometry/solids/BREPS/include/G4BREPSolidTorus.hh @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolidTorus.hh,v 1.10 2006/06/29 18:38:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BREPSolidTorus diff --git a/source/geometry/solids/BREPS/include/G4BSplineCurve.hh b/source/geometry/solids/BREPS/include/G4BSplineCurve.hh index 4b7d34242a..ee8e516ef0 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineCurve.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineCurve.hh @@ -25,7 +25,7 @@ // // // $Id: G4BSplineCurve.hh,v 1.13 2006/06/29 18:38:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BSplineCurve diff --git a/source/geometry/solids/BREPS/include/G4BSplineCurve.icc b/source/geometry/solids/BREPS/include/G4BSplineCurve.icc index bd16530c80..009c267708 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineCurve.icc +++ b/source/geometry/solids/BREPS/include/G4BSplineCurve.icc @@ -25,7 +25,7 @@ // // // $Id: G4BSplineCurve.icc,v 1.7 2006/06/29 18:38:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4BSplineCurveWithKnots.hh b/source/geometry/solids/BREPS/include/G4BSplineCurveWithKnots.hh index 7bd4590faf..a33af5fa03 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineCurveWithKnots.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineCurveWithKnots.hh @@ -25,7 +25,7 @@ // // // $Id: G4BSplineCurveWithKnots.hh,v 1.5 2006/06/29 18:38:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BSplineCurveWithKnots diff --git a/source/geometry/solids/BREPS/include/G4BSplineSurface.hh b/source/geometry/solids/BREPS/include/G4BSplineSurface.hh index 0f2ba399cf..43e027469a 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineSurface.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4BSplineSurface.hh,v 1.11 2006/06/29 18:38:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BSplineSurface diff --git a/source/geometry/solids/BREPS/include/G4BSplineSurface.icc b/source/geometry/solids/BREPS/include/G4BSplineSurface.icc index ccddfe5dcf..576a78fee2 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineSurface.icc +++ b/source/geometry/solids/BREPS/include/G4BSplineSurface.icc @@ -25,7 +25,7 @@ // // // $Id: G4BSplineSurface.icc,v 1.6 2006/06/29 18:38:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4BSplineSurfaceWithKnots.hh b/source/geometry/solids/BREPS/include/G4BSplineSurfaceWithKnots.hh index d48ba61be6..a113dce9f4 100644 --- a/source/geometry/solids/BREPS/include/G4BSplineSurfaceWithKnots.hh +++ b/source/geometry/solids/BREPS/include/G4BSplineSurfaceWithKnots.hh @@ -25,7 +25,7 @@ // // // $Id: G4BSplineSurfaceWithKnots.hh,v 1.4 2006/06/29 18:38:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BSplineSurfaceWithKnots diff --git a/source/geometry/solids/BREPS/include/G4BezierSurface.hh b/source/geometry/solids/BREPS/include/G4BezierSurface.hh index 21b72b1b53..36d8aeed06 100644 --- a/source/geometry/solids/BREPS/include/G4BezierSurface.hh +++ b/source/geometry/solids/BREPS/include/G4BezierSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4BezierSurface.hh,v 1.7 2006/06/29 18:38:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BezierSurface diff --git a/source/geometry/solids/BREPS/include/G4BezierSurface.icc b/source/geometry/solids/BREPS/include/G4BezierSurface.icc index cd0ed0b82b..2025d6bc1d 100644 --- a/source/geometry/solids/BREPS/include/G4BezierSurface.icc +++ b/source/geometry/solids/BREPS/include/G4BezierSurface.icc @@ -25,7 +25,7 @@ // // // $Id: G4BezierSurface.icc,v 1.4 2006/06/29 18:38:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh b/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh index d69ccd6688..6a884ddb33 100644 --- a/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh +++ b/source/geometry/solids/BREPS/include/G4BoundingBox3D.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BoundingBox3D.hh,v 1.6 2006/06/29 18:38:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4BoundingBox3D.hh,v 1.7 2007/05/11 13:49:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BoundingBox3D @@ -99,7 +99,8 @@ private: G4int test_result; G4Point3D MiddlePoint; - G4Vector3D GeantBox; + G4Vector3D GeantBox; + G4double kCarTolerance; }; #include "G4BoundingBox3D.icc" diff --git a/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc b/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc index a85afe269a..451ee5e1aa 100644 --- a/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc +++ b/source/geometry/solids/BREPS/include/G4BoundingBox3D.icc @@ -25,7 +25,7 @@ // // // $Id: G4BoundingBox3D.icc,v 1.4 2006/06/29 18:38:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4CircularCurve.hh b/source/geometry/solids/BREPS/include/G4CircularCurve.hh index 7c3b3e596f..b13239e9dd 100644 --- a/source/geometry/solids/BREPS/include/G4CircularCurve.hh +++ b/source/geometry/solids/BREPS/include/G4CircularCurve.hh @@ -25,7 +25,7 @@ // // // $Id: G4CircularCurve.hh,v 1.9 2006/06/29 18:38:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4CircularCurve diff --git a/source/geometry/solids/BREPS/include/G4CircularCurve.icc b/source/geometry/solids/BREPS/include/G4CircularCurve.icc index 2141ce3d9b..93be5688da 100644 --- a/source/geometry/solids/BREPS/include/G4CircularCurve.icc +++ b/source/geometry/solids/BREPS/include/G4CircularCurve.icc @@ -25,7 +25,7 @@ // // // $Id: G4CircularCurve.icc,v 1.6 2006/06/29 18:38:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4CompositeCurve.hh b/source/geometry/solids/BREPS/include/G4CompositeCurve.hh index bb30b26a6c..9c30a7befd 100644 --- a/source/geometry/solids/BREPS/include/G4CompositeCurve.hh +++ b/source/geometry/solids/BREPS/include/G4CompositeCurve.hh @@ -25,7 +25,7 @@ // // // $Id: G4CompositeCurve.hh,v 1.8 2006/06/29 18:38:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4CompositeCurve diff --git a/source/geometry/solids/BREPS/include/G4CompositeCurve.icc b/source/geometry/solids/BREPS/include/G4CompositeCurve.icc index ab7b74c98d..45aa9465c3 100644 --- a/source/geometry/solids/BREPS/include/G4CompositeCurve.icc +++ b/source/geometry/solids/BREPS/include/G4CompositeCurve.icc @@ -25,7 +25,7 @@ // // // $Id: G4CompositeCurve.icc,v 1.5 2006/06/29 18:38:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Conic.hh b/source/geometry/solids/BREPS/include/G4Conic.hh index 0820d1576e..e811da0a7b 100644 --- a/source/geometry/solids/BREPS/include/G4Conic.hh +++ b/source/geometry/solids/BREPS/include/G4Conic.hh @@ -25,7 +25,7 @@ // // // $Id: G4Conic.hh,v 1.7 2006/06/29 18:38:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Conic diff --git a/source/geometry/solids/BREPS/include/G4Conic.icc b/source/geometry/solids/BREPS/include/G4Conic.icc index 16eb9d003b..47b542fdd8 100644 --- a/source/geometry/solids/BREPS/include/G4Conic.icc +++ b/source/geometry/solids/BREPS/include/G4Conic.icc @@ -25,7 +25,7 @@ // // // $Id: G4Conic.icc,v 1.4 2006/06/29 18:38:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4ConicalSurface.hh b/source/geometry/solids/BREPS/include/G4ConicalSurface.hh index c5b6d86ef1..9f383ec5b0 100644 --- a/source/geometry/solids/BREPS/include/G4ConicalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4ConicalSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4ConicalSurface.hh,v 1.10 2006/06/29 18:38:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4ConicalSurface diff --git a/source/geometry/solids/BREPS/include/G4ConicalSurface.icc b/source/geometry/solids/BREPS/include/G4ConicalSurface.icc index 4acd679ade..ce27214585 100644 --- a/source/geometry/solids/BREPS/include/G4ConicalSurface.icc +++ b/source/geometry/solids/BREPS/include/G4ConicalSurface.icc @@ -25,7 +25,7 @@ // // // $Id: G4ConicalSurface.icc,v 1.4 2006/06/29 18:38:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4ControlPoints.hh b/source/geometry/solids/BREPS/include/G4ControlPoints.hh index b851befa92..59e7e055a5 100644 --- a/source/geometry/solids/BREPS/include/G4ControlPoints.hh +++ b/source/geometry/solids/BREPS/include/G4ControlPoints.hh @@ -25,7 +25,7 @@ // // // $Id: G4ControlPoints.hh,v 1.7 2006/06/29 18:38:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4ControlPoints diff --git a/source/geometry/solids/BREPS/include/G4ControlPoints.icc b/source/geometry/solids/BREPS/include/G4ControlPoints.icc index 758b2539fb..95744016b6 100644 --- a/source/geometry/solids/BREPS/include/G4ControlPoints.icc +++ b/source/geometry/solids/BREPS/include/G4ControlPoints.icc @@ -25,7 +25,7 @@ // // // $Id: G4ControlPoints.icc,v 1.3 2006/06/29 18:38:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4ConvexHull.hh b/source/geometry/solids/BREPS/include/G4ConvexHull.hh index 2e56c6808a..d5a99bae4f 100644 --- a/source/geometry/solids/BREPS/include/G4ConvexHull.hh +++ b/source/geometry/solids/BREPS/include/G4ConvexHull.hh @@ -25,7 +25,7 @@ // // // $Id: G4ConvexHull.hh,v 1.7 2006/06/29 18:38:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4ConvexHull diff --git a/source/geometry/solids/BREPS/include/G4Curve.hh b/source/geometry/solids/BREPS/include/G4Curve.hh index ad88002bac..871076aff4 100644 --- a/source/geometry/solids/BREPS/include/G4Curve.hh +++ b/source/geometry/solids/BREPS/include/G4Curve.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Curve.hh,v 1.10 2006/06/29 18:38:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Curve.hh,v 1.11 2007/05/11 13:49:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Curve @@ -166,6 +166,7 @@ class G4Curve G4double pRange; G4bool bounded; G4int sameSense; + G4double kCarTolerance; private: diff --git a/source/geometry/solids/BREPS/include/G4Curve.icc b/source/geometry/solids/BREPS/include/G4Curve.icc index 7828794c10..a67c9527c0 100644 --- a/source/geometry/solids/BREPS/include/G4Curve.icc +++ b/source/geometry/solids/BREPS/include/G4Curve.icc @@ -25,7 +25,7 @@ // // // $Id: G4Curve.icc,v 1.7 2006/06/29 18:38:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4CurvePoint.hh b/source/geometry/solids/BREPS/include/G4CurvePoint.hh index 60ac9ac695..e019485f8f 100644 --- a/source/geometry/solids/BREPS/include/G4CurvePoint.hh +++ b/source/geometry/solids/BREPS/include/G4CurvePoint.hh @@ -25,7 +25,7 @@ // // // $Id: G4CurvePoint.hh,v 1.6 2006/06/29 18:39:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4CurvePoint diff --git a/source/geometry/solids/BREPS/include/G4CurvePoint.icc b/source/geometry/solids/BREPS/include/G4CurvePoint.icc index d1cf75fb93..96efea155a 100644 --- a/source/geometry/solids/BREPS/include/G4CurvePoint.icc +++ b/source/geometry/solids/BREPS/include/G4CurvePoint.icc @@ -25,7 +25,7 @@ // // // $Id: G4CurvePoint.icc,v 1.4 2006/06/29 18:39:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4CurveRayIntersection.hh b/source/geometry/solids/BREPS/include/G4CurveRayIntersection.hh index 009d3e488f..78aee85e47 100644 --- a/source/geometry/solids/BREPS/include/G4CurveRayIntersection.hh +++ b/source/geometry/solids/BREPS/include/G4CurveRayIntersection.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4CurveRayIntersection.hh,v 1.5 2006/06/29 18:39:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4CurveRayIntersection.hh,v 1.6 2007/05/11 13:49:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4CurveRayIntersection @@ -100,6 +100,7 @@ protected: const G4Ray* r; G4double d; + G4double kCarTolerance; static const G4int dFlag; }; diff --git a/source/geometry/solids/BREPS/include/G4CurveRayIntersection.icc b/source/geometry/solids/BREPS/include/G4CurveRayIntersection.icc index 42d4c41f6c..54d0a9516d 100644 --- a/source/geometry/solids/BREPS/include/G4CurveRayIntersection.icc +++ b/source/geometry/solids/BREPS/include/G4CurveRayIntersection.icc @@ -25,7 +25,7 @@ // // // $Id: G4CurveRayIntersection.icc,v 1.4 2006/06/29 18:39:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4CurveVector.hh b/source/geometry/solids/BREPS/include/G4CurveVector.hh index 06bfc0a81d..5a4356e2c4 100644 --- a/source/geometry/solids/BREPS/include/G4CurveVector.hh +++ b/source/geometry/solids/BREPS/include/G4CurveVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4CurveVector.hh,v 1.7 2006/06/29 18:39:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4CurveVector diff --git a/source/geometry/solids/BREPS/include/G4CylindricalSurface.hh b/source/geometry/solids/BREPS/include/G4CylindricalSurface.hh index 19957c29a3..5bcbc3ebca 100644 --- a/source/geometry/solids/BREPS/include/G4CylindricalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4CylindricalSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4CylindricalSurface.hh,v 1.10 2006/06/29 18:39:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4CylindricalSurface diff --git a/source/geometry/solids/BREPS/include/G4CylindricalSurface.icc b/source/geometry/solids/BREPS/include/G4CylindricalSurface.icc index ec1d76318a..331768f1d2 100644 --- a/source/geometry/solids/BREPS/include/G4CylindricalSurface.icc +++ b/source/geometry/solids/BREPS/include/G4CylindricalSurface.icc @@ -25,7 +25,7 @@ // // // $Id: G4CylindricalSurface.icc,v 1.4 2006/06/29 18:39:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Ellipse.hh b/source/geometry/solids/BREPS/include/G4Ellipse.hh index 7e6368ad1b..30297292e5 100644 --- a/source/geometry/solids/BREPS/include/G4Ellipse.hh +++ b/source/geometry/solids/BREPS/include/G4Ellipse.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ellipse.hh,v 1.10 2006/06/29 18:39:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Ellipse diff --git a/source/geometry/solids/BREPS/include/G4Ellipse.icc b/source/geometry/solids/BREPS/include/G4Ellipse.icc index 5c5cd39267..724459ce6c 100644 --- a/source/geometry/solids/BREPS/include/G4Ellipse.icc +++ b/source/geometry/solids/BREPS/include/G4Ellipse.icc @@ -25,7 +25,7 @@ // // // $Id: G4Ellipse.icc,v 1.8 2006/06/29 18:39:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4FConicalSurface.hh b/source/geometry/solids/BREPS/include/G4FConicalSurface.hh index 6dff9a53c4..23906d9fcd 100644 --- a/source/geometry/solids/BREPS/include/G4FConicalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4FConicalSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4FConicalSurface.hh,v 1.13 2006/06/29 18:39:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4FConicalSurface diff --git a/source/geometry/solids/BREPS/include/G4FConicalSurface.icc b/source/geometry/solids/BREPS/include/G4FConicalSurface.icc index 575dcdaad4..0681a44158 100644 --- a/source/geometry/solids/BREPS/include/G4FConicalSurface.icc +++ b/source/geometry/solids/BREPS/include/G4FConicalSurface.icc @@ -25,7 +25,7 @@ // // // $Id: G4FConicalSurface.icc,v 1.4 2006/06/29 18:39:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4FCylindricalSurface.hh b/source/geometry/solids/BREPS/include/G4FCylindricalSurface.hh index 2ef876ebfa..ecd1ebd032 100644 --- a/source/geometry/solids/BREPS/include/G4FCylindricalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4FCylindricalSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4FCylindricalSurface.hh,v 1.13 2006/06/29 18:39:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4FCylindricalSurface diff --git a/source/geometry/solids/BREPS/include/G4FCylindricalSurface.icc b/source/geometry/solids/BREPS/include/G4FCylindricalSurface.icc index 46f28c08c1..d58019f1ab 100644 --- a/source/geometry/solids/BREPS/include/G4FCylindricalSurface.icc +++ b/source/geometry/solids/BREPS/include/G4FCylindricalSurface.icc @@ -25,7 +25,7 @@ // // // $Id: G4FCylindricalSurface.icc,v 1.4 2006/06/29 18:39:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4FPlane.hh b/source/geometry/solids/BREPS/include/G4FPlane.hh index 38f590c706..a9d137ed67 100644 --- a/source/geometry/solids/BREPS/include/G4FPlane.hh +++ b/source/geometry/solids/BREPS/include/G4FPlane.hh @@ -25,7 +25,7 @@ // // // $Id: G4FPlane.hh,v 1.13 2006/06/29 18:39:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4FPlane diff --git a/source/geometry/solids/BREPS/include/G4FPlane.icc b/source/geometry/solids/BREPS/include/G4FPlane.icc index 7099d03793..2f96e91eef 100644 --- a/source/geometry/solids/BREPS/include/G4FPlane.icc +++ b/source/geometry/solids/BREPS/include/G4FPlane.icc @@ -25,7 +25,7 @@ // // // $Id: G4FPlane.icc,v 1.6 2006/06/29 18:39:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Globals.hh b/source/geometry/solids/BREPS/include/G4Globals.hh index cd9b2d0b0c..3a9d27daf5 100644 --- a/source/geometry/solids/BREPS/include/G4Globals.hh +++ b/source/geometry/solids/BREPS/include/G4Globals.hh @@ -25,7 +25,7 @@ // // // $Id: G4Globals.hh,v 1.5 2006/06/29 18:39:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: A.Breakstone // Adaptation: J.Sulkimo, P.Urban. diff --git a/source/geometry/solids/BREPS/include/G4Hyperbola.hh b/source/geometry/solids/BREPS/include/G4Hyperbola.hh index 10659c25a2..f5c8f087f2 100644 --- a/source/geometry/solids/BREPS/include/G4Hyperbola.hh +++ b/source/geometry/solids/BREPS/include/G4Hyperbola.hh @@ -25,7 +25,7 @@ // // // $Id: G4Hyperbola.hh,v 1.10 2006/06/29 18:39:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Hyperbola diff --git a/source/geometry/solids/BREPS/include/G4Hyperbola.icc b/source/geometry/solids/BREPS/include/G4Hyperbola.icc index 409654cf2d..d0fca2ecd5 100644 --- a/source/geometry/solids/BREPS/include/G4Hyperbola.icc +++ b/source/geometry/solids/BREPS/include/G4Hyperbola.icc @@ -25,7 +25,7 @@ // // // $Id: G4Hyperbola.icc,v 1.9 2006/06/29 18:39:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4KnotVector.hh b/source/geometry/solids/BREPS/include/G4KnotVector.hh index f4b4bf87c3..4875e8aa60 100644 --- a/source/geometry/solids/BREPS/include/G4KnotVector.hh +++ b/source/geometry/solids/BREPS/include/G4KnotVector.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4KnotVector.hh,v 1.9 2006/06/29 18:39:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4KnotVector.hh,v 1.10 2007/05/11 13:49:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4KnotVector @@ -101,6 +101,9 @@ class G4KnotVector G4double *knots; // Knot vector. + G4double kCarTolerance; + // Surface thickness. + }; #include "G4KnotVector.icc" diff --git a/source/geometry/solids/BREPS/include/G4KnotVector.icc b/source/geometry/solids/BREPS/include/G4KnotVector.icc index a6e148b351..580208cfa1 100644 --- a/source/geometry/solids/BREPS/include/G4KnotVector.icc +++ b/source/geometry/solids/BREPS/include/G4KnotVector.icc @@ -25,7 +25,7 @@ // // // $Id: G4KnotVector.icc,v 1.5 2006/06/29 18:39:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Line.hh b/source/geometry/solids/BREPS/include/G4Line.hh index 08acc5ad0d..4cb08c67ea 100644 --- a/source/geometry/solids/BREPS/include/G4Line.hh +++ b/source/geometry/solids/BREPS/include/G4Line.hh @@ -25,7 +25,7 @@ // // // $Id: G4Line.hh,v 1.9 2006/06/29 18:39:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Line diff --git a/source/geometry/solids/BREPS/include/G4Line.icc b/source/geometry/solids/BREPS/include/G4Line.icc index 6302c8f7ae..7b149f8bd0 100644 --- a/source/geometry/solids/BREPS/include/G4Line.icc +++ b/source/geometry/solids/BREPS/include/G4Line.icc @@ -25,7 +25,7 @@ // // // $Id: G4Line.icc,v 1.9 2006/06/29 18:39:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4OsloMatrix.hh b/source/geometry/solids/BREPS/include/G4OsloMatrix.hh index 7ae95a1665..a5085730f2 100644 --- a/source/geometry/solids/BREPS/include/G4OsloMatrix.hh +++ b/source/geometry/solids/BREPS/include/G4OsloMatrix.hh @@ -25,7 +25,7 @@ // // // $Id: G4OsloMatrix.hh,v 1.6 2006/06/29 18:39:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4OsloMatrix diff --git a/source/geometry/solids/BREPS/include/G4OsloMatrix.icc b/source/geometry/solids/BREPS/include/G4OsloMatrix.icc index 6f5d399414..271c97fcd0 100644 --- a/source/geometry/solids/BREPS/include/G4OsloMatrix.icc +++ b/source/geometry/solids/BREPS/include/G4OsloMatrix.icc @@ -25,7 +25,7 @@ // // // $Id: G4OsloMatrix.icc,v 1.4 2006/06/29 18:39:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Parabola.hh b/source/geometry/solids/BREPS/include/G4Parabola.hh index edeeaff63c..321942e940 100644 --- a/source/geometry/solids/BREPS/include/G4Parabola.hh +++ b/source/geometry/solids/BREPS/include/G4Parabola.hh @@ -25,7 +25,7 @@ // // // $Id: G4Parabola.hh,v 1.10 2006/06/29 18:39:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Parabola diff --git a/source/geometry/solids/BREPS/include/G4Parabola.icc b/source/geometry/solids/BREPS/include/G4Parabola.icc index cce0358193..1fca323ce6 100644 --- a/source/geometry/solids/BREPS/include/G4Parabola.icc +++ b/source/geometry/solids/BREPS/include/G4Parabola.icc @@ -25,7 +25,7 @@ // // // $Id: G4Parabola.icc,v 1.8 2006/06/29 18:39:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4PlacedSolid.hh b/source/geometry/solids/BREPS/include/G4PlacedSolid.hh index dac96f5fe6..76ccf20ede 100644 --- a/source/geometry/solids/BREPS/include/G4PlacedSolid.hh +++ b/source/geometry/solids/BREPS/include/G4PlacedSolid.hh @@ -25,7 +25,7 @@ // // // $Id: G4PlacedSolid.hh,v 1.10 2006/06/29 18:39:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4PlacedSolid diff --git a/source/geometry/solids/BREPS/include/G4PlacedSolid.icc b/source/geometry/solids/BREPS/include/G4PlacedSolid.icc index 538d65b0e2..123ac0f2c4 100644 --- a/source/geometry/solids/BREPS/include/G4PlacedSolid.icc +++ b/source/geometry/solids/BREPS/include/G4PlacedSolid.icc @@ -25,7 +25,7 @@ // // // $Id: G4PlacedSolid.icc,v 1.8 2006/06/29 18:40:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4PlacementVector.hh b/source/geometry/solids/BREPS/include/G4PlacementVector.hh index 4f8efab486..76e29e253a 100644 --- a/source/geometry/solids/BREPS/include/G4PlacementVector.hh +++ b/source/geometry/solids/BREPS/include/G4PlacementVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4PlacementVector.hh,v 1.7 2006/06/29 18:40:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4PlacementVector diff --git a/source/geometry/solids/BREPS/include/G4Plane.hh b/source/geometry/solids/BREPS/include/G4Plane.hh index 6bf7324498..10334dc375 100644 --- a/source/geometry/solids/BREPS/include/G4Plane.hh +++ b/source/geometry/solids/BREPS/include/G4Plane.hh @@ -25,7 +25,7 @@ // // // $Id: G4Plane.hh,v 1.6 2006/06/29 18:40:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Plane diff --git a/source/geometry/solids/BREPS/include/G4Point3DVector.hh b/source/geometry/solids/BREPS/include/G4Point3DVector.hh index 73f385428f..2e0b40d2f8 100644 --- a/source/geometry/solids/BREPS/include/G4Point3DVector.hh +++ b/source/geometry/solids/BREPS/include/G4Point3DVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4Point3DVector.hh,v 1.8 2006/06/29 18:40:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Point3DVector diff --git a/source/geometry/solids/BREPS/include/G4PointRat.hh b/source/geometry/solids/BREPS/include/G4PointRat.hh index 231890f900..4a28111155 100644 --- a/source/geometry/solids/BREPS/include/G4PointRat.hh +++ b/source/geometry/solids/BREPS/include/G4PointRat.hh @@ -25,7 +25,7 @@ // // // $Id: G4PointRat.hh,v 1.10 2006/06/29 18:40:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4PointRat diff --git a/source/geometry/solids/BREPS/include/G4PointRat.icc b/source/geometry/solids/BREPS/include/G4PointRat.icc index 0af2b2c735..b1150d4f5a 100644 --- a/source/geometry/solids/BREPS/include/G4PointRat.icc +++ b/source/geometry/solids/BREPS/include/G4PointRat.icc @@ -25,7 +25,7 @@ // // // $Id: G4PointRat.icc,v 1.4 2006/06/29 18:40:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh b/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh index 7520e8ead3..8baf923a19 100644 --- a/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh +++ b/source/geometry/solids/BREPS/include/G4ProjectedSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProjectedSurface.hh,v 1.7 2006/06/29 18:40:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4ProjectedSurface diff --git a/source/geometry/solids/BREPS/include/G4ProjectedSurface.icc b/source/geometry/solids/BREPS/include/G4ProjectedSurface.icc index 39c777b5ac..04fc27871a 100644 --- a/source/geometry/solids/BREPS/include/G4ProjectedSurface.icc +++ b/source/geometry/solids/BREPS/include/G4ProjectedSurface.icc @@ -25,7 +25,7 @@ // // // $Id: G4ProjectedSurface.icc,v 1.5 2006/06/29 18:40:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Ray.hh b/source/geometry/solids/BREPS/include/G4Ray.hh index 555f0c8459..96ae3c7686 100644 --- a/source/geometry/solids/BREPS/include/G4Ray.hh +++ b/source/geometry/solids/BREPS/include/G4Ray.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ray.hh,v 1.9 2006/06/29 18:40:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Ray diff --git a/source/geometry/solids/BREPS/include/G4Ray.icc b/source/geometry/solids/BREPS/include/G4Ray.icc index be9c8189be..b786f32f7a 100644 --- a/source/geometry/solids/BREPS/include/G4Ray.icc +++ b/source/geometry/solids/BREPS/include/G4Ray.icc @@ -25,7 +25,7 @@ // // // $Id: G4Ray.icc,v 1.7 2006/06/29 18:40:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4RectangularTrimmedSurface.hh b/source/geometry/solids/BREPS/include/G4RectangularTrimmedSurface.hh index 1e65ff7ee9..875f1281d2 100644 --- a/source/geometry/solids/BREPS/include/G4RectangularTrimmedSurface.hh +++ b/source/geometry/solids/BREPS/include/G4RectangularTrimmedSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4RectangularTrimmedSurface.hh,v 1.8 2006/06/29 18:40:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4BezierSurface diff --git a/source/geometry/solids/BREPS/include/G4STEPEntity.hh b/source/geometry/solids/BREPS/include/G4STEPEntity.hh index 9cfc0d3790..12c598d19e 100644 --- a/source/geometry/solids/BREPS/include/G4STEPEntity.hh +++ b/source/geometry/solids/BREPS/include/G4STEPEntity.hh @@ -25,7 +25,7 @@ // // // $Id: G4STEPEntity.hh,v 1.7 2006/06/29 18:40:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4STEPEntity diff --git a/source/geometry/solids/BREPS/include/G4Sort.hh b/source/geometry/solids/BREPS/include/G4Sort.hh index 44cd4d98be..843358b456 100644 --- a/source/geometry/solids/BREPS/include/G4Sort.hh +++ b/source/geometry/solids/BREPS/include/G4Sort.hh @@ -25,7 +25,7 @@ // // // $Id: G4Sort.hh,v 1.5 2006/06/29 18:40:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/source/geometry/solids/BREPS/include/G4SphericalSurface.hh b/source/geometry/solids/BREPS/include/G4SphericalSurface.hh index bef784538c..c58e0a3132 100644 --- a/source/geometry/solids/BREPS/include/G4SphericalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4SphericalSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4SphericalSurface.hh,v 1.10 2006/06/29 18:40:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4SphericalSurface diff --git a/source/geometry/solids/BREPS/include/G4SphericalSurface.icc b/source/geometry/solids/BREPS/include/G4SphericalSurface.icc index df2454115e..c90ecf1422 100644 --- a/source/geometry/solids/BREPS/include/G4SphericalSurface.icc +++ b/source/geometry/solids/BREPS/include/G4SphericalSurface.icc @@ -25,7 +25,7 @@ // // // $Id: G4SphericalSurface.icc,v 1.4 2006/06/29 18:40:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4Surface.hh b/source/geometry/solids/BREPS/include/G4Surface.hh index 146c73dca2..6d2cd4afc4 100644 --- a/source/geometry/solids/BREPS/include/G4Surface.hh +++ b/source/geometry/solids/BREPS/include/G4Surface.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Surface.hh,v 1.9 2006/06/29 18:40:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Surface.hh,v 1.10 2007/05/11 13:49:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4Surface @@ -191,6 +191,8 @@ protected: G4SurfaceBoundary surfaceBoundary; // The boundaries of the surface. + G4double kCarTolerance; + G4int Intersected; // BSplineSurface and FPlane sets it, no one gets it. diff --git a/source/geometry/solids/BREPS/include/G4Surface.icc b/source/geometry/solids/BREPS/include/G4Surface.icc index ca223860b7..b1e5d2f82d 100644 --- a/source/geometry/solids/BREPS/include/G4Surface.icc +++ b/source/geometry/solids/BREPS/include/G4Surface.icc @@ -25,7 +25,7 @@ // // // $Id: G4Surface.icc,v 1.5 2006/06/29 18:40:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4SurfaceBoundary.hh b/source/geometry/solids/BREPS/include/G4SurfaceBoundary.hh index 5a030a54d1..2631f0a66b 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceBoundary.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceBoundary.hh @@ -25,7 +25,7 @@ // // // $Id: G4SurfaceBoundary.hh,v 1.8 2006/06/29 18:40:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4SurfaceBoundary diff --git a/source/geometry/solids/BREPS/include/G4SurfaceBoundary.icc b/source/geometry/solids/BREPS/include/G4SurfaceBoundary.icc index db4e3e8114..2eac1b0158 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceBoundary.icc +++ b/source/geometry/solids/BREPS/include/G4SurfaceBoundary.icc @@ -25,7 +25,7 @@ // // // $Id: G4SurfaceBoundary.icc,v 1.5 2006/06/29 18:40:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4SurfaceList.hh b/source/geometry/solids/BREPS/include/G4SurfaceList.hh index 9859801593..0975989395 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceList.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceList.hh @@ -25,7 +25,7 @@ // // // $Id: G4SurfaceList.hh,v 1.6 2006/06/29 18:40:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4SurfaceList diff --git a/source/geometry/solids/BREPS/include/G4SurfaceOfLinearExtrusion.hh b/source/geometry/solids/BREPS/include/G4SurfaceOfLinearExtrusion.hh index c2e8c1130d..44c4d985f7 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceOfLinearExtrusion.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceOfLinearExtrusion.hh @@ -25,7 +25,7 @@ // // // $Id: G4SurfaceOfLinearExtrusion.hh,v 1.5 2006/06/29 18:40:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4SurfaceOfLinearExtrusion diff --git a/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh b/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh index 7dccfac2a9..59d9dfb2e6 100644 --- a/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh +++ b/source/geometry/solids/BREPS/include/G4SurfaceOfRevolution.hh @@ -25,7 +25,7 @@ // // // $Id: G4SurfaceOfRevolution.hh,v 1.5 2006/06/29 18:40:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4SurfaceOfRevolution diff --git a/source/geometry/solids/BREPS/include/G4ThreeMat.hh b/source/geometry/solids/BREPS/include/G4ThreeMat.hh index 6abdd80e3d..d1ace67a34 100644 --- a/source/geometry/solids/BREPS/include/G4ThreeMat.hh +++ b/source/geometry/solids/BREPS/include/G4ThreeMat.hh @@ -25,7 +25,7 @@ // // // $Id: G4ThreeMat.hh,v 1.10 2006/06/29 18:40:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4ThreeMat diff --git a/source/geometry/solids/BREPS/include/G4ToroidalSurface.hh b/source/geometry/solids/BREPS/include/G4ToroidalSurface.hh index c33333aafa..d629b39690 100644 --- a/source/geometry/solids/BREPS/include/G4ToroidalSurface.hh +++ b/source/geometry/solids/BREPS/include/G4ToroidalSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4ToroidalSurface.hh,v 1.7 2006/06/29 18:41:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4ToroidalSurface diff --git a/source/geometry/solids/BREPS/include/G4ToroidalSurface.icc b/source/geometry/solids/BREPS/include/G4ToroidalSurface.icc index 78e1e8a683..e80b94b943 100644 --- a/source/geometry/solids/BREPS/include/G4ToroidalSurface.icc +++ b/source/geometry/solids/BREPS/include/G4ToroidalSurface.icc @@ -25,7 +25,7 @@ // // // $Id: G4ToroidalSurface.icc,v 1.4 2006/06/29 18:41:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/BREPS/include/G4UVHit.hh b/source/geometry/solids/BREPS/include/G4UVHit.hh index 4c734610db..be8b6460c0 100644 --- a/source/geometry/solids/BREPS/include/G4UVHit.hh +++ b/source/geometry/solids/BREPS/include/G4UVHit.hh @@ -25,7 +25,7 @@ // // // $Id: G4UVHit.hh,v 1.7 2006/06/29 18:41:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4UVHit diff --git a/source/geometry/solids/BREPS/src/G4Assembly.cc b/source/geometry/solids/BREPS/src/G4Assembly.cc index 22c0b4f0ac..e3d67368a7 100644 --- a/source/geometry/solids/BREPS/src/G4Assembly.cc +++ b/source/geometry/solids/BREPS/src/G4Assembly.cc @@ -25,7 +25,7 @@ // // // $Id: G4Assembly.cc,v 1.6 2006/06/29 18:41:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4Axis2Placement3D.cc b/source/geometry/solids/BREPS/src/G4Axis2Placement3D.cc index 475e11ad0c..5dca9db74e 100644 --- a/source/geometry/solids/BREPS/src/G4Axis2Placement3D.cc +++ b/source/geometry/solids/BREPS/src/G4Axis2Placement3D.cc @@ -25,7 +25,7 @@ // // // $Id: G4Axis2Placement3D.cc,v 1.9 2006/06/29 18:41:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolid.cc b/source/geometry/solids/BREPS/src/G4BREPSolid.cc index fa6ac5522d..4488b716b0 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolid.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolid.cc @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolid.cc,v 1.36 2006/10/19 15:35:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc b/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc index b43c79b825..5707dd75d5 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidBox.cc @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolidBox.cc,v 1.10 2006/06/29 18:41:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc b/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc index 60a5b9cc77..2e6b0ff641 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidCone.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BREPSolidCone.cc,v 1.15 2006/06/29 18:41:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc b/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc index 5f4768f52d..e65601b41e 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidCylinder.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BREPSolidCylinder.cc,v 1.11 2006/06/29 18:41:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc b/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc index a2ec609141..e71df2d49c 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidOpenPCone.cc @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolidOpenPCone.cc,v 1.11 2006/06/29 18:41:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc b/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc index f0c2aea5c2..bb8f1a4ace 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidPCone.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BREPSolidPCone.cc,v 1.38 2006/06/29 18:41:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc b/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc index 8e12d3cd48..7eb3a8bbb9 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidPolyhedra.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BREPSolidPolyhedra.cc,v 1.34 2006/06/29 18:41:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc b/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc index 02b8f51fe0..90cb998cc1 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidSphere.cc @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolidSphere.cc,v 1.11 2006/06/29 18:41:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc b/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc index 9f29be242c..3dd774b29e 100644 --- a/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc +++ b/source/geometry/solids/BREPS/src/G4BREPSolidTorus.cc @@ -25,7 +25,7 @@ // // // $Id: G4BREPSolidTorus.cc,v 1.9 2006/06/29 18:41:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BSplineCurve.cc b/source/geometry/solids/BREPS/src/G4BSplineCurve.cc index 23f06d0b91..5de1f2032a 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineCurve.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineCurve.cc @@ -25,7 +25,7 @@ // // // $Id: G4BSplineCurve.cc,v 1.12 2006/06/29 18:41:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BSplineCurveWithKnots.cc b/source/geometry/solids/BREPS/src/G4BSplineCurveWithKnots.cc index 474ca862d9..bd61c6c612 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineCurveWithKnots.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineCurveWithKnots.cc @@ -25,7 +25,7 @@ // // // $Id: G4BSplineCurveWithKnots.cc,v 1.5 2006/06/29 18:41:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BSplineSurface.cc b/source/geometry/solids/BREPS/src/G4BSplineSurface.cc index 63b1a5a956..fb91755888 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineSurface.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineSurface.cc @@ -25,7 +25,7 @@ // // // $Id: G4BSplineSurface.cc,v 1.14 2006/06/29 18:41:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BSplineSurfaceWithKnots.cc b/source/geometry/solids/BREPS/src/G4BSplineSurfaceWithKnots.cc index 1b9e81d092..94ce3fda8c 100644 --- a/source/geometry/solids/BREPS/src/G4BSplineSurfaceWithKnots.cc +++ b/source/geometry/solids/BREPS/src/G4BSplineSurfaceWithKnots.cc @@ -25,7 +25,7 @@ // // // $Id: G4BSplineSurfaceWithKnots.cc,v 1.4 2006/06/29 18:41:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BezierSurface.cc b/source/geometry/solids/BREPS/src/G4BezierSurface.cc index 3ee079c49e..d7e79c4686 100644 --- a/source/geometry/solids/BREPS/src/G4BezierSurface.cc +++ b/source/geometry/solids/BREPS/src/G4BezierSurface.cc @@ -25,7 +25,7 @@ // // // $Id: G4BezierSurface.cc,v 1.9 2006/06/29 18:41:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc b/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc index d8cc092638..29814c76de 100644 --- a/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc +++ b/source/geometry/solids/BREPS/src/G4BoundingBox3D.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4BoundingBox3D.cc,v 1.10 2006/06/29 18:41:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4BoundingBox3D.cc,v 1.11 2007/05/11 13:49:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -36,6 +36,7 @@ #include "G4BoundingBox3D.hh" #include "geomdefs.hh" +#include "G4GeometryTolerance.hh" const G4BoundingBox3D G4BoundingBox3D:: space( G4Point3D(-kInfinity, -kInfinity, -kInfinity), @@ -83,6 +84,8 @@ void G4BoundingBox3D::Init(const G4Point3D& p1, const G4Point3D& p2) // Maybe temporary // Create a BBox bigger than the reality + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + box_min.setX( std::min(p1.x(), p2.x()) - kCarTolerance ); box_min.setY( std::min(p1.y(), p2.y()) - kCarTolerance ); box_min.setZ( std::min(p1.z(), p2.z()) - kCarTolerance ); @@ -357,10 +360,7 @@ G4double G4BoundingBox3D::DistanceToIn(const G4Point3D& p, // If smin <= kCarTolerance then only clipping `tolerant' Area // -> no intersection - G4double kCarTolerance = 0; - - if (smin>kCarTolerance && smin<=smax) - snxt=smin; + if ((smin>0.) && (smin<=smax)) { snxt=smin; } return snxt; } diff --git a/source/geometry/solids/BREPS/src/G4CircularCurve.cc b/source/geometry/solids/BREPS/src/G4CircularCurve.cc index a4a6041ec9..02997e036e 100644 --- a/source/geometry/solids/BREPS/src/G4CircularCurve.cc +++ b/source/geometry/solids/BREPS/src/G4CircularCurve.cc @@ -25,7 +25,7 @@ // // // $Id: G4CircularCurve.cc,v 1.10 2006/06/29 18:41:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4CompositeCurve.cc b/source/geometry/solids/BREPS/src/G4CompositeCurve.cc index 1e2c194b36..5ba565e3d2 100644 --- a/source/geometry/solids/BREPS/src/G4CompositeCurve.cc +++ b/source/geometry/solids/BREPS/src/G4CompositeCurve.cc @@ -25,7 +25,7 @@ // // // $Id: G4CompositeCurve.cc,v 1.13 2006/06/29 18:41:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4Conic.cc b/source/geometry/solids/BREPS/src/G4Conic.cc index fb05b6d1e1..7a40a7bba4 100644 --- a/source/geometry/solids/BREPS/src/G4Conic.cc +++ b/source/geometry/solids/BREPS/src/G4Conic.cc @@ -25,7 +25,7 @@ // // // $Id: G4Conic.cc,v 1.8 2006/06/29 18:41:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4ConicalSurface.cc b/source/geometry/solids/BREPS/src/G4ConicalSurface.cc index 08c5331221..8b1968a411 100644 --- a/source/geometry/solids/BREPS/src/G4ConicalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4ConicalSurface.cc @@ -25,7 +25,7 @@ // // // $Id: G4ConicalSurface.cc,v 1.11 2006/06/29 18:41:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4ControlPoints.cc b/source/geometry/solids/BREPS/src/G4ControlPoints.cc index 9a48ce9d4f..0c571a7508 100644 --- a/source/geometry/solids/BREPS/src/G4ControlPoints.cc +++ b/source/geometry/solids/BREPS/src/G4ControlPoints.cc @@ -25,7 +25,7 @@ // // // $Id: G4ControlPoints.cc,v 1.8 2006/06/29 18:42:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4Curve.cc b/source/geometry/solids/BREPS/src/G4Curve.cc index 274cc325fe..1126168f97 100644 --- a/source/geometry/solids/BREPS/src/G4Curve.cc +++ b/source/geometry/solids/BREPS/src/G4Curve.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Curve.cc,v 1.7 2006/06/29 18:42:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Curve.cc,v 1.8 2007/05/11 13:49:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -35,10 +35,12 @@ // ---------------------------------------------------------------------- #include "G4Curve.hh" +#include "G4GeometryTolerance.hh" G4Curve::G4Curve() : bBox(G4BoundingBox3D::space), bounded(false), sameSense(true) { + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } G4Curve::~G4Curve() diff --git a/source/geometry/solids/BREPS/src/G4CurvePoint.cc b/source/geometry/solids/BREPS/src/G4CurvePoint.cc index f5658efe7c..068191a824 100644 --- a/source/geometry/solids/BREPS/src/G4CurvePoint.cc +++ b/source/geometry/solids/BREPS/src/G4CurvePoint.cc @@ -25,7 +25,7 @@ // // // $Id: G4CurvePoint.cc,v 1.5 2006/06/29 18:42:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4CurveRayIntersection.cc b/source/geometry/solids/BREPS/src/G4CurveRayIntersection.cc index 960a5f7a5a..05fe245461 100644 --- a/source/geometry/solids/BREPS/src/G4CurveRayIntersection.cc +++ b/source/geometry/solids/BREPS/src/G4CurveRayIntersection.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4CurveRayIntersection.cc,v 1.6 2006/06/29 18:42:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4CurveRayIntersection.cc,v 1.7 2007/05/11 13:49:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -35,12 +35,14 @@ // ---------------------------------------------------------------------- #include "G4CurveRayIntersection.hh" +#include "G4GeometryTolerance.hh" const G4int G4CurveRayIntersection::dFlag= 4; G4CurveRayIntersection::G4CurveRayIntersection() : r(0), d(kInfinity) { + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } G4CurveRayIntersection::G4CurveRayIntersection(G4Curve& c0, const G4Ray& r0) diff --git a/source/geometry/solids/BREPS/src/G4CylindricalSurface.cc b/source/geometry/solids/BREPS/src/G4CylindricalSurface.cc index 3b88e55377..8d198ed470 100644 --- a/source/geometry/solids/BREPS/src/G4CylindricalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4CylindricalSurface.cc @@ -25,7 +25,7 @@ // // // $Id: G4CylindricalSurface.cc,v 1.8 2006/06/29 18:42:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4Ellipse.cc b/source/geometry/solids/BREPS/src/G4Ellipse.cc index d7b718b1ba..d2040c26d2 100644 --- a/source/geometry/solids/BREPS/src/G4Ellipse.cc +++ b/source/geometry/solids/BREPS/src/G4Ellipse.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Ellipse.cc,v 1.11 2006/06/29 18:42:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Ellipse.cc,v 1.12 2007/05/18 07:33:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -36,6 +36,8 @@ #include "G4Ellipse.hh" +#include "G4GeometryTolerance.hh" + G4Ellipse::G4Ellipse() { } @@ -90,8 +92,8 @@ G4Curve* G4Ellipse::Project(const G4Transform3D& tr) newLocation.setZ(0); G4double axisZ = ( tr*position.GetPZ() ).unit().z(); - if (std::abs(axisZ)GetAngularTolerance()) + { return 0; } G4Vector3D newAxis(0, 0, axisZ>0? +1: -1); diff --git a/source/geometry/solids/BREPS/src/G4FConicalSurface.cc b/source/geometry/solids/BREPS/src/G4FConicalSurface.cc index 9e468f37c4..b11c9e885f 100644 --- a/source/geometry/solids/BREPS/src/G4FConicalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4FConicalSurface.cc @@ -25,7 +25,7 @@ // // // $Id: G4FConicalSurface.cc,v 1.19 2006/06/29 18:42:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc b/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc index 01fcdb42a2..265ccf7d9d 100644 --- a/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4FCylindricalSurface.cc @@ -25,7 +25,7 @@ // // // $Id: G4FCylindricalSurface.cc,v 1.16 2006/06/29 18:42:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4FPlane.cc b/source/geometry/solids/BREPS/src/G4FPlane.cc index fc8f615ceb..6ed762d808 100644 --- a/source/geometry/solids/BREPS/src/G4FPlane.cc +++ b/source/geometry/solids/BREPS/src/G4FPlane.cc @@ -25,7 +25,7 @@ // // // $Id: G4FPlane.cc,v 1.16 2006/06/29 18:42:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4Hyperbola.cc b/source/geometry/solids/BREPS/src/G4Hyperbola.cc index 35b00921ed..c497367c52 100644 --- a/source/geometry/solids/BREPS/src/G4Hyperbola.cc +++ b/source/geometry/solids/BREPS/src/G4Hyperbola.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Hyperbola.cc,v 1.11 2006/06/29 18:42:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Hyperbola.cc,v 1.12 2007/05/18 07:33:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -36,6 +36,7 @@ #include "G4Hyperbola.hh" #include "G4CurvePoint.hh" +#include "G4GeometryTolerance.hh" G4Hyperbola::G4Hyperbola() { @@ -100,7 +101,7 @@ G4Curve* G4Hyperbola::Project(const G4Transform3D& tr) newLocation.setZ(0); G4double axisZ= (tr*position.GetPZ()).unit().z(); - if (std::abs(axisZ)GetAngularTolerance()) { return 0; } @@ -164,7 +165,8 @@ void G4Hyperbola::InitBounded() { G4double x_i= position.GetPX()(i); - if (std::abs(x_i) <= kAngTolerance) + if (std::abs(x_i) <= + G4GeometryTolerance::GetInstance()->GetAngularTolerance()) { G4double tanhu= - (semiImagAxis*position.GetPY()(i)) / (semiAxis*x_i); diff --git a/source/geometry/solids/BREPS/src/G4KnotVector.cc b/source/geometry/solids/BREPS/src/G4KnotVector.cc index 1e6ebfdc81..922811c5e4 100644 --- a/source/geometry/solids/BREPS/src/G4KnotVector.cc +++ b/source/geometry/solids/BREPS/src/G4KnotVector.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4KnotVector.cc,v 1.8 2006/06/29 18:42:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4KnotVector.cc,v 1.9 2007/05/11 13:49:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -35,10 +35,12 @@ // ---------------------------------------------------------------------- #include "G4KnotVector.hh" +#include "G4GeometryTolerance.hh" G4KnotVector::G4KnotVector() { knots=(G4double*)0; + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } G4KnotVector::G4KnotVector(G4int sz) diff --git a/source/geometry/solids/BREPS/src/G4Line.cc b/source/geometry/solids/BREPS/src/G4Line.cc index c9fe2a54f9..ca7c3b1244 100644 --- a/source/geometry/solids/BREPS/src/G4Line.cc +++ b/source/geometry/solids/BREPS/src/G4Line.cc @@ -25,7 +25,7 @@ // // // $Id: G4Line.cc,v 1.10 2006/06/29 18:42:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4OsloMatrix.cc b/source/geometry/solids/BREPS/src/G4OsloMatrix.cc index 767ef380bb..65ea05da09 100644 --- a/source/geometry/solids/BREPS/src/G4OsloMatrix.cc +++ b/source/geometry/solids/BREPS/src/G4OsloMatrix.cc @@ -25,7 +25,7 @@ // // // $Id: G4OsloMatrix.cc,v 1.6 2006/06/29 18:42:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4Parabola.cc b/source/geometry/solids/BREPS/src/G4Parabola.cc index 737872c9fd..e199b5f223 100644 --- a/source/geometry/solids/BREPS/src/G4Parabola.cc +++ b/source/geometry/solids/BREPS/src/G4Parabola.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Parabola.cc,v 1.8 2006/06/29 18:42:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Parabola.cc,v 1.9 2007/05/18 07:33:31 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -36,6 +36,7 @@ #include "G4Parabola.hh" #include "G4CurvePoint.hh" +#include "G4GeometryTolerance.hh" G4Parabola::G4Parabola(){} G4Parabola::~G4Parabola(){} @@ -80,8 +81,8 @@ G4Curve* G4Parabola::Project(const G4Transform3D& tr) { G4double axisZ= (tr*position.GetPZ()).unit().z(); - if (std::abs(axisZ)GetAngularTolerance()) + { return 0; } G4Vector3D newAxis(0, 0, axisZ>0? +1: -1); @@ -128,7 +129,8 @@ void G4Parabola::InitBounded() { G4double x_i= position.GetPX()(i); - if (std::abs(x_i) <= kAngTolerance) + if (std::abs(x_i) <= + G4GeometryTolerance::GetInstance()->GetAngularTolerance()) { G4double u= - position.GetPY()(i) / x_i; if (IsPOn(u)) diff --git a/source/geometry/solids/BREPS/src/G4PlacedSolid.cc b/source/geometry/solids/BREPS/src/G4PlacedSolid.cc index 9c1ee0e3df..94e73c95e3 100644 --- a/source/geometry/solids/BREPS/src/G4PlacedSolid.cc +++ b/source/geometry/solids/BREPS/src/G4PlacedSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PlacedSolid.cc,v 1.5 2006/06/29 18:42:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PlacedSolid.cc,v 1.6 2007/05/11 13:49:32 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -35,6 +35,7 @@ // ---------------------------------------------------------------------- #include "G4PlacedSolid.hh" +#include "G4GeometryTolerance.hh" G4PlacedSolid::G4PlacedSolid() { @@ -47,7 +48,6 @@ G4PlacedSolid::G4PlacedSolid() G4PlacedSolid::G4PlacedSolid(G4BREPSolid* s, G4Axis2Placement3D* p) { solid =s; - if(p) { G4double x,y,z; @@ -64,6 +64,8 @@ G4PlacedSolid::G4PlacedSolid(G4BREPSolid* s, G4Axis2Placement3D* p) z = tmpvec.z(); G4ThreeVector x_axis(x,y,z); + G4double kCarTolerance = G4GeometryTolerance::GetInstance() + ->GetSurfaceTolerance(); if( (xGetSurfaceTolerance(); } G4Surface::~G4Surface() diff --git a/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc b/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc index 69840919fa..4e781391a4 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceBoundary.cc @@ -25,7 +25,7 @@ // // // $Id: G4SurfaceBoundary.cc,v 1.14 2006/06/29 18:42:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4SurfaceList.cc b/source/geometry/solids/BREPS/src/G4SurfaceList.cc index 292e6d3af0..1768050606 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceList.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceList.cc @@ -25,7 +25,7 @@ // // // $Id: G4SurfaceList.cc,v 1.7 2006/06/29 18:42:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4SurfaceOfLinearExtrusion.cc b/source/geometry/solids/BREPS/src/G4SurfaceOfLinearExtrusion.cc index 472b792355..6cf87cc2f0 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceOfLinearExtrusion.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceOfLinearExtrusion.cc @@ -25,7 +25,7 @@ // // // $Id: G4SurfaceOfLinearExtrusion.cc,v 1.4 2006/06/29 18:42:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4SurfaceOfRevolution.cc b/source/geometry/solids/BREPS/src/G4SurfaceOfRevolution.cc index 926815b4ef..c2198f3680 100644 --- a/source/geometry/solids/BREPS/src/G4SurfaceOfRevolution.cc +++ b/source/geometry/solids/BREPS/src/G4SurfaceOfRevolution.cc @@ -28,7 +28,7 @@ // and all its terms. // // $Id: G4SurfaceOfRevolution.cc,v 1.4 2006/06/29 18:42:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4ThreeMat.cc b/source/geometry/solids/BREPS/src/G4ThreeMat.cc index 91e89c49c0..e651fac956 100644 --- a/source/geometry/solids/BREPS/src/G4ThreeMat.cc +++ b/source/geometry/solids/BREPS/src/G4ThreeMat.cc @@ -25,7 +25,7 @@ // // // $Id: G4ThreeMat.cc,v 1.8 2006/06/29 18:42:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc b/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc index afa506ddb8..a58717d89d 100644 --- a/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc +++ b/source/geometry/solids/BREPS/src/G4ToroidalSurface.cc @@ -25,7 +25,7 @@ // // // $Id: G4ToroidalSurface.cc,v 1.10 2006/06/29 18:42:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/geometry/solids/Boolean/History b/source/geometry/solids/Boolean/History index e36055b58e..30e55802cc 100644 --- a/source/geometry/solids/Boolean/History +++ b/source/geometry/solids/Boolean/History @@ -1,5 +1,5 @@ -$Id: History,v 1.60 2006/11/08 09:39:37 gcosmo Exp $ +$Id: History,v 1.61 2007/05/18 07:36:34 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,11 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + May 18, 2007 G.Cosmo geom-bool-V08-03-00 + - Use kAngTolerance and kRadTolerance from G4GeometryTolerance class. + - Updated unit tests. + - Coworks with tag "global-V08-03-03". + Nov 08, 2006 G.Cosmo geom-bool-V08-01-02 - Fixed compilation problems on SUN-CC for changes in the last tag. Added inclusion of header in G4IntersectionSolid.cc and diff --git a/source/geometry/solids/Boolean/include/G4BooleanSolid.hh b/source/geometry/solids/Boolean/include/G4BooleanSolid.hh index 37672bc924..92ea4415f0 100644 --- a/source/geometry/solids/Boolean/include/G4BooleanSolid.hh +++ b/source/geometry/solids/Boolean/include/G4BooleanSolid.hh @@ -25,7 +25,7 @@ // // // $Id: G4BooleanSolid.hh,v 1.15 2006/10/19 15:34:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4BooleanSolid diff --git a/source/geometry/solids/Boolean/include/G4BooleanSolid.icc b/source/geometry/solids/Boolean/include/G4BooleanSolid.icc index 2d82b25c10..6b4c7fbfe1 100644 --- a/source/geometry/solids/Boolean/include/G4BooleanSolid.icc +++ b/source/geometry/solids/Boolean/include/G4BooleanSolid.icc @@ -25,7 +25,7 @@ // // // $Id: G4BooleanSolid.icc,v 1.4 2006/10/20 14:20:54 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh b/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh index f9f01e2a4c..8b203e5e51 100644 --- a/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh +++ b/source/geometry/solids/Boolean/include/G4DisplacedSolid.hh @@ -25,7 +25,7 @@ // // // $Id: G4DisplacedSolid.hh,v 1.19 2006/06/29 18:43:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4DisplacedSolid diff --git a/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh b/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh index 489f9751ea..3f86d2d487 100644 --- a/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh +++ b/source/geometry/solids/Boolean/include/G4IntersectionSolid.hh @@ -25,7 +25,7 @@ // // // $Id: G4IntersectionSolid.hh,v 1.9 2006/06/29 18:43:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4IntersectionSolid diff --git a/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh b/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh index da476d02c0..45d6289971 100644 --- a/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh +++ b/source/geometry/solids/Boolean/include/G4SubtractionSolid.hh @@ -25,7 +25,7 @@ // // // $Id: G4SubtractionSolid.hh,v 1.9 2006/06/29 18:43:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4SubtractionSolid diff --git a/source/geometry/solids/Boolean/include/G4UnionSolid.hh b/source/geometry/solids/Boolean/include/G4UnionSolid.hh index fa54c29bea..0b24882242 100644 --- a/source/geometry/solids/Boolean/include/G4UnionSolid.hh +++ b/source/geometry/solids/Boolean/include/G4UnionSolid.hh @@ -25,7 +25,7 @@ // // // $Id: G4UnionSolid.hh,v 1.10 2006/06/29 18:43:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4UnionSolid diff --git a/source/geometry/solids/Boolean/src/G4BooleanSolid.cc b/source/geometry/solids/Boolean/src/G4BooleanSolid.cc index 0abccd8f4d..66e16a9b55 100644 --- a/source/geometry/solids/Boolean/src/G4BooleanSolid.cc +++ b/source/geometry/solids/Boolean/src/G4BooleanSolid.cc @@ -25,7 +25,7 @@ // // // $Id: G4BooleanSolid.cc,v 1.21 2006/10/19 15:34:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Implementation for the abstract base class for solids created by boolean // operations between other solids diff --git a/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc b/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc index 85feb5af25..7ab917ca32 100644 --- a/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc +++ b/source/geometry/solids/Boolean/src/G4DisplacedSolid.cc @@ -25,7 +25,7 @@ // // // $Id: G4DisplacedSolid.cc,v 1.27 2006/06/29 18:43:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Implementation for G4DisplacedSolid class for boolean // operations between other solids diff --git a/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc b/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc index bc8c3bcf85..dc2376f871 100644 --- a/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc +++ b/source/geometry/solids/Boolean/src/G4IntersectionSolid.cc @@ -25,7 +25,7 @@ // // // $Id: G4IntersectionSolid.cc,v 1.30 2006/11/08 09:37:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Implementation of methods for the class G4IntersectionSolid // diff --git a/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc b/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc index c16721a5a2..db3ce36b03 100644 --- a/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc +++ b/source/geometry/solids/Boolean/src/G4SubtractionSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SubtractionSolid.cc,v 1.29 2006/11/07 14:05:46 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SubtractionSolid.cc,v 1.30 2007/05/18 07:35:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // Implementation of methods for the class G4IntersectionSolid // @@ -43,6 +43,7 @@ #include "G4VoxelLimits.hh" #include "G4VPVParameterisation.hh" +#include "G4GeometryTolerance.hh" #include "G4VGraphicsScene.hh" #include "G4Polyhedron.hh" @@ -144,8 +145,14 @@ EInside G4SubtractionSolid::Inside( const G4ThreeVector& p ) const ( positionA == kSurface && positionB == kSurface && ( fPtrSolidA->SurfaceNormal(p) - fPtrSolidB->SurfaceNormal(p) ).mag2() > - 1000*kRadTolerance ) ) return kSurface; - else return kOutside; + 1000*G4GeometryTolerance::GetInstance()->GetRadialTolerance() ) ) + { + return kSurface; + } + else + { + return kOutside; + } } } diff --git a/source/geometry/solids/Boolean/src/G4UnionSolid.cc b/source/geometry/solids/Boolean/src/G4UnionSolid.cc index 72526804ed..5e2fab8714 100644 --- a/source/geometry/solids/Boolean/src/G4UnionSolid.cc +++ b/source/geometry/solids/Boolean/src/G4UnionSolid.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UnionSolid.cc,v 1.33 2006/11/08 09:37:41 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4UnionSolid.cc,v 1.34 2007/05/18 07:35:37 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // Implementation of methods for the class G4IntersectionSolid // @@ -44,6 +44,7 @@ #include "G4VoxelLimits.hh" #include "G4VPVParameterisation.hh" +#include "G4GeometryTolerance.hh" #include "G4VGraphicsScene.hh" #include "G4Polyhedron.hh" @@ -151,7 +152,10 @@ EInside G4UnionSolid::Inside( const G4ThreeVector& p ) const ( positionA == kSurface && positionB == kSurface && ( fPtrSolidA->SurfaceNormal(p) + fPtrSolidB->SurfaceNormal(p) ).mag2() < - 1000*kRadTolerance ) ) return kInside; + 1000*G4GeometryTolerance::GetInstance()->GetRadialTolerance() ) ) + { + return kInside; + } else { if( ( positionA != kInside && positionB == kSurface ) || diff --git a/source/geometry/solids/CSG/History b/source/geometry/solids/CSG/History index 5ad3718780..bc30d9dfed 100644 --- a/source/geometry/solids/CSG/History +++ b/source/geometry/solids/CSG/History @@ -1,4 +1,4 @@ -$Id: History,v 1.92 2006/10/19 15:34:03 gcosmo Exp $ +$Id: History,v 1.96 2007/05/18 07:38:17 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,19 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May 18, 2007 G.Cosmo geom-csg-V08-03-01 +- Use kAngTolerance and kRadTolerance from G4GeometryTolerance class. +- Coworks with tag "global-V08-03-03". + +May 16, 2007 T.Nikitina geom-csg-V08-03-00 +- G4Tubs: fixed bug for DistanceToOut(p,v) for phi section. + Bug was causing segmentation fault in recursive_test (problem report #784). + For v crossing the center of the tub DistanceToOut was always giving + Radial distance and not distance in Phi. +- G4Cons: fixed bug for DistanceToOut(p,v) for phi section, + the same as for G4Tubs. +- Updated unit tests. + Oct 19, 2006 G.Cosmo geom-csg-V08-01-00 - Added explicit computation for GetSurfaceArea() for all solids (by H.Dierckx). diff --git a/source/geometry/solids/CSG/include/G4Box.hh b/source/geometry/solids/CSG/include/G4Box.hh index 89ee3dc9ac..d225ecd0eb 100644 --- a/source/geometry/solids/CSG/include/G4Box.hh +++ b/source/geometry/solids/CSG/include/G4Box.hh @@ -25,7 +25,7 @@ // // // $Id: G4Box.hh,v 1.17 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/geometry/solids/CSG/include/G4Box.icc b/source/geometry/solids/CSG/include/G4Box.icc index 980cf8d61e..73eec9bc53 100644 --- a/source/geometry/solids/CSG/include/G4Box.icc +++ b/source/geometry/solids/CSG/include/G4Box.icc @@ -25,7 +25,7 @@ // // // $Id: G4Box.icc,v 1.6 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4CSGSolid.hh b/source/geometry/solids/CSG/include/G4CSGSolid.hh index 2ac9ebc5cc..c2212ba88a 100644 --- a/source/geometry/solids/CSG/include/G4CSGSolid.hh +++ b/source/geometry/solids/CSG/include/G4CSGSolid.hh @@ -25,7 +25,7 @@ // // // $Id: G4CSGSolid.hh,v 1.12 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Cons.hh b/source/geometry/solids/CSG/include/G4Cons.hh index bf428b11e3..6cb443be2a 100644 --- a/source/geometry/solids/CSG/include/G4Cons.hh +++ b/source/geometry/solids/CSG/include/G4Cons.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Cons.hh,v 1.17 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Cons.hh,v 1.18 2007/05/18 07:38:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -183,6 +183,8 @@ class G4Cons : public G4CSGSolid private: + G4double kRadTolerance, kAngTolerance; + G4double fRmin1,fRmin2, fRmax1,fRmax2, fDz, diff --git a/source/geometry/solids/CSG/include/G4Cons.icc b/source/geometry/solids/CSG/include/G4Cons.icc index 7875f820fe..0f3c9e3b98 100644 --- a/source/geometry/solids/CSG/include/G4Cons.icc +++ b/source/geometry/solids/CSG/include/G4Cons.icc @@ -25,7 +25,7 @@ // // // $Id: G4Cons.icc,v 1.6 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Orb.hh b/source/geometry/solids/CSG/include/G4Orb.hh index 7cbe0a31e0..82cc0c9e42 100644 --- a/source/geometry/solids/CSG/include/G4Orb.hh +++ b/source/geometry/solids/CSG/include/G4Orb.hh @@ -25,7 +25,7 @@ // // // $Id: G4Orb.hh,v 1.11 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Orb.icc b/source/geometry/solids/CSG/include/G4Orb.icc index 5045fab9a9..d94cadbfff 100644 --- a/source/geometry/solids/CSG/include/G4Orb.icc +++ b/source/geometry/solids/CSG/include/G4Orb.icc @@ -25,7 +25,7 @@ // // // $Id: G4Orb.icc,v 1.5 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Para.hh b/source/geometry/solids/CSG/include/G4Para.hh index de2811997c..37c5035867 100644 --- a/source/geometry/solids/CSG/include/G4Para.hh +++ b/source/geometry/solids/CSG/include/G4Para.hh @@ -25,7 +25,7 @@ // // // $Id: G4Para.hh,v 1.18 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Para.icc b/source/geometry/solids/CSG/include/G4Para.icc index ee490db3f8..55c1ebbdcf 100644 --- a/source/geometry/solids/CSG/include/G4Para.icc +++ b/source/geometry/solids/CSG/include/G4Para.icc @@ -25,7 +25,7 @@ // // // $Id: G4Para.icc,v 1.7 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Sphere.hh b/source/geometry/solids/CSG/include/G4Sphere.hh index 3bcea72da0..f3b2847a1e 100644 --- a/source/geometry/solids/CSG/include/G4Sphere.hh +++ b/source/geometry/solids/CSG/include/G4Sphere.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Sphere.hh,v 1.19 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Sphere.hh,v 1.20 2007/05/18 07:38:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -184,6 +184,8 @@ class G4Sphere : public G4CSGSolid private: + G4double kAngTolerance, kRadTolerance; + G4double fRmin,fRmax, fSPhi,fDPhi, fSTheta,fDTheta; diff --git a/source/geometry/solids/CSG/include/G4Sphere.icc b/source/geometry/solids/CSG/include/G4Sphere.icc index 1f0034d334..7f636c58f1 100644 --- a/source/geometry/solids/CSG/include/G4Sphere.icc +++ b/source/geometry/solids/CSG/include/G4Sphere.icc @@ -25,7 +25,7 @@ // // // $Id: G4Sphere.icc,v 1.7 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Torus.hh b/source/geometry/solids/CSG/include/G4Torus.hh index fac0f4e2a0..77d20c8131 100644 --- a/source/geometry/solids/CSG/include/G4Torus.hh +++ b/source/geometry/solids/CSG/include/G4Torus.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Torus.hh,v 1.26 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Torus.hh,v 1.27 2007/05/18 07:38:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -193,6 +193,11 @@ class G4Torus : public G4CSGSolid G4ThreeVector ApproxSurfaceNormal( const G4ThreeVector& p) const; // Algorithm for SurfaceNormal() following the original // specification for points not on the surface + + private: + + G4double kRadTolerance, kAngTolerance; + // Radial and angular tolerances }; #include "G4Torus.icc" diff --git a/source/geometry/solids/CSG/include/G4Torus.icc b/source/geometry/solids/CSG/include/G4Torus.icc index 32c67dd59e..f30ec1e438 100644 --- a/source/geometry/solids/CSG/include/G4Torus.icc +++ b/source/geometry/solids/CSG/include/G4Torus.icc @@ -25,7 +25,7 @@ // // // $Id: G4Torus.icc,v 1.6 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Trap.hh b/source/geometry/solids/CSG/include/G4Trap.hh index d6f2f6d67e..8f8dc9f3e5 100644 --- a/source/geometry/solids/CSG/include/G4Trap.hh +++ b/source/geometry/solids/CSG/include/G4Trap.hh @@ -25,7 +25,7 @@ // // // $Id: G4Trap.hh,v 1.17 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Trap.icc b/source/geometry/solids/CSG/include/G4Trap.icc index 691ffb1906..d2372cf697 100644 --- a/source/geometry/solids/CSG/include/G4Trap.icc +++ b/source/geometry/solids/CSG/include/G4Trap.icc @@ -25,7 +25,7 @@ // // // $Id: G4Trap.icc,v 1.8 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Trd.hh b/source/geometry/solids/CSG/include/G4Trd.hh index cf48263853..a932c530c7 100644 --- a/source/geometry/solids/CSG/include/G4Trd.hh +++ b/source/geometry/solids/CSG/include/G4Trd.hh @@ -25,7 +25,7 @@ // // // $Id: G4Trd.hh,v 1.16 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/include/G4Trd.icc b/source/geometry/solids/CSG/include/G4Trd.icc index f5e0eff02d..29650beae3 100644 --- a/source/geometry/solids/CSG/include/G4Trd.icc +++ b/source/geometry/solids/CSG/include/G4Trd.icc @@ -25,7 +25,7 @@ // // // $Id: G4Trd.icc,v 1.7 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/include/G4Tubs.hh b/source/geometry/solids/CSG/include/G4Tubs.hh index e2886304be..395caeb8d7 100644 --- a/source/geometry/solids/CSG/include/G4Tubs.hh +++ b/source/geometry/solids/CSG/include/G4Tubs.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Tubs.hh,v 1.16 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Tubs.hh,v 1.17 2007/05/18 07:38:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -178,6 +178,11 @@ class G4Tubs : public G4CSGSolid G4ThreeVector ApproxSurfaceNormal( const G4ThreeVector& p ) const; // Algorithm for SurfaceNormal() following the original // specification for points not on the surface + + private: + + G4double kRadTolerance, kAngTolerance; + // Radial and angular tolerances }; #include "G4Tubs.icc" diff --git a/source/geometry/solids/CSG/include/G4Tubs.icc b/source/geometry/solids/CSG/include/G4Tubs.icc index 060e870e54..06f9eedd07 100644 --- a/source/geometry/solids/CSG/include/G4Tubs.icc +++ b/source/geometry/solids/CSG/include/G4Tubs.icc @@ -25,7 +25,7 @@ // // // $Id: G4Tubs.icc,v 1.7 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 inline definitions file diff --git a/source/geometry/solids/CSG/src/G4Box.cc b/source/geometry/solids/CSG/src/G4Box.cc index 59cb55d40c..b38c1c05e5 100644 --- a/source/geometry/solids/CSG/src/G4Box.cc +++ b/source/geometry/solids/CSG/src/G4Box.cc @@ -25,7 +25,7 @@ // // // $Id: G4Box.cc,v 1.44 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/geometry/solids/CSG/src/G4CSGSolid.cc b/source/geometry/solids/CSG/src/G4CSGSolid.cc index b180e56f60..994e253296 100644 --- a/source/geometry/solids/CSG/src/G4CSGSolid.cc +++ b/source/geometry/solids/CSG/src/G4CSGSolid.cc @@ -25,7 +25,7 @@ // // // $Id: G4CSGSolid.cc,v 1.13 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/CSG/src/G4Cons.cc b/source/geometry/solids/CSG/src/G4Cons.cc index 66f4a97f81..74c9f13bcf 100644 --- a/source/geometry/solids/CSG/src/G4Cons.cc +++ b/source/geometry/solids/CSG/src/G4Cons.cc @@ -24,8 +24,9 @@ // ******************************************************************** // // -// $Id: G4Cons.cc,v 1.48 2006/06/29 18:45:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Cons.cc,v 1.53 2007/05/18 07:38:00 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// // // class G4Cons // @@ -53,6 +54,7 @@ #include "G4VoxelLimits.hh" #include "G4AffineTransform.hh" +#include "G4GeometryTolerance.hh" #include "G4VPVParameterisation.hh" @@ -91,6 +93,9 @@ G4Cons::G4Cons( const G4String& pName, { // Check z-len + kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); + kAngTolerance = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); + if ( pDz > 0 ) fDz = pDz ; else @@ -176,17 +181,19 @@ G4Cons::~G4Cons() EInside G4Cons::Inside(const G4ThreeVector& p) const { - G4double r2, rl, rh, pPhi, tolRMin, tolRMax ; + G4double r2, rl, rh, pPhi, tolRMin, tolRMax; // rh2, rl2 ; EInside in; if (std::fabs(p.z()) > fDz + kCarTolerance*0.5 ) return in = kOutside; else if(std::fabs(p.z()) >= fDz - kCarTolerance*0.5 ) in = kSurface; - else in = kInside; + else in = kInside; r2 = p.x()*p.x() + p.y()*p.y() ; rl = 0.5*(fRmin2*(p.z() + fDz) + fRmin1*(fDz - p.z()))/fDz ; rh = 0.5*(fRmax2*(p.z()+fDz)+fRmax1*(fDz-p.z()))/fDz; + // rh2 = rh*rh; + tolRMin = rl - kRadTolerance*0.5 ; if ( tolRMin < 0 ) tolRMin = 0 ; tolRMax = rh + kRadTolerance*0.5 ; @@ -199,7 +206,8 @@ EInside G4Cons::Inside(const G4ThreeVector& p) const if (in == kInside) // else it's kSurface already { - if (r2 < tolRMin*tolRMin || r2 >= tolRMax*tolRMax) in = kSurface; + if (r2 < tolRMin*tolRMin || r2 >= tolRMax*tolRMax) in = kSurface; + // if (r2 <= tolRMin*tolRMin || r2-rh2 >= -rh*kRadTolerance) in = kSurface; } if ( ( fDPhi < twopi - kAngTolerance ) && ( (p.x() != 0.0 ) || (p.y() != 0.0) ) ) @@ -1264,6 +1272,15 @@ G4double G4Cons::DistanceToIn( const G4ThreeVector& p, } } if (snxt < kCarTolerance*0.5) snxt = 0.; + +#ifdef consdebug + G4cout.precision(24); + G4cout<<"G4Cons::DistanceToIn(p,v) "<GetRadialTolerance(); - if (pRmax >= 10*kCarTolerance ) fRmax = pRmax; + // Check radius + // + if (pRmax >= 10*kCarTolerance ) + { + fRmax = pRmax; + } else { G4Exception("G4Orb::G4Orb()", "InvalidSetup", FatalException, diff --git a/source/geometry/solids/CSG/src/G4Para.cc b/source/geometry/solids/CSG/src/G4Para.cc index d5067b301e..eed638c0d4 100644 --- a/source/geometry/solids/CSG/src/G4Para.cc +++ b/source/geometry/solids/CSG/src/G4Para.cc @@ -25,7 +25,7 @@ // // // $Id: G4Para.cc,v 1.39 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4Para // diff --git a/source/geometry/solids/CSG/src/G4Sphere.cc b/source/geometry/solids/CSG/src/G4Sphere.cc index 1b4aa92254..c6142fb247 100644 --- a/source/geometry/solids/CSG/src/G4Sphere.cc +++ b/source/geometry/solids/CSG/src/G4Sphere.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Sphere.cc,v 1.56 2006/06/29 18:45:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Sphere.cc,v 1.57 2007/05/18 07:38:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4Sphere // @@ -57,6 +57,7 @@ #include "G4VoxelLimits.hh" #include "G4AffineTransform.hh" +#include "G4GeometryTolerance.hh" #include "G4VPVParameterisation.hh" @@ -93,6 +94,9 @@ G4Sphere::G4Sphere( const G4String& pName, { fEpsilon = 1.0e-14; + kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); + kAngTolerance = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); + // Check radii if (pRmin=0) diff --git a/source/geometry/solids/CSG/src/G4Torus.cc b/source/geometry/solids/CSG/src/G4Torus.cc index 021bb72b19..4fb4bd2834 100644 --- a/source/geometry/solids/CSG/src/G4Torus.cc +++ b/source/geometry/solids/CSG/src/G4Torus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Torus.cc,v 1.60 2006/10/19 15:33:37 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Torus.cc,v 1.61 2007/05/18 07:38:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4Torus @@ -52,6 +52,7 @@ #include "G4VoxelLimits.hh" #include "G4AffineTransform.hh" +#include "G4GeometryTolerance.hh" #include "G4JTPolynomialSolver.hh" #include "G4VPVParameterisation.hh" @@ -99,6 +100,10 @@ G4Torus::SetAllParameters( G4double pRmin, fCubicVolume = 0.; fSurfaceArea = 0.; fpPolyhedron = 0; + + kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); + kAngTolerance = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); + if ( pRtor >= pRmax+1.e3*kCarTolerance ) // Check swept radius, as in G4Cons { fRtor = pRtor ; diff --git a/source/geometry/solids/CSG/src/G4Trap.cc b/source/geometry/solids/CSG/src/G4Trap.cc index dbc33b4bfd..bfab121d5d 100644 --- a/source/geometry/solids/CSG/src/G4Trap.cc +++ b/source/geometry/solids/CSG/src/G4Trap.cc @@ -25,7 +25,7 @@ // // // $Id: G4Trap.cc,v 1.42 2006/10/19 15:33:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4Trap // diff --git a/source/geometry/solids/CSG/src/G4Trd.cc b/source/geometry/solids/CSG/src/G4Trd.cc index 2247b63295..108401adb6 100644 --- a/source/geometry/solids/CSG/src/G4Trd.cc +++ b/source/geometry/solids/CSG/src/G4Trd.cc @@ -25,7 +25,7 @@ // // // $Id: G4Trd.cc,v 1.34 2006/10/19 15:33:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Implementation for G4Trd class diff --git a/source/geometry/solids/CSG/src/G4Tubs.cc b/source/geometry/solids/CSG/src/G4Tubs.cc index 8333817e95..c31f285a24 100644 --- a/source/geometry/solids/CSG/src/G4Tubs.cc +++ b/source/geometry/solids/CSG/src/G4Tubs.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Tubs.cc,v 1.60 2006/06/29 18:45:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Tubs.cc,v 1.63 2007/05/18 07:38:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4Tubs @@ -33,6 +33,7 @@ // History: // // +// 11.05.07 T.Nikitina: bug fixed in DistanceToOut(p,v,..) for phi < 2pi // 03.05.05 V.Grichine: SurfaceNormal(p) according to J. Apostolakis proposal // 16.03.05 V.Grichine: SurfaceNormal(p) with edges/corners for boolean // 20.07.01 V.Grichine: bug fixed in Inside(p) @@ -61,6 +62,7 @@ #include "G4VoxelLimits.hh" #include "G4AffineTransform.hh" +#include "G4GeometryTolerance.hh" #include "G4VPVParameterisation.hh" @@ -89,6 +91,9 @@ G4Tubs::G4Tubs( const G4String &pName, : G4CSGSolid(pName) { + kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); + kAngTolerance = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); + if (pDz>0) // Check z-len { fDz = pDz ; @@ -439,7 +444,8 @@ EInside G4Tubs::Inside( const G4ThreeVector& p ) const // if not inside, try outer tolerant phi boundaries pPhi = std::atan2(p.y(),p.x()) ; - + if((tolRMin==0)&&(p.x()==0)&&(p.y()==0)){in=kSurface;} + else{ if ( pPhi < -kAngTolerance*0.5 ) pPhi += twopi ; // 0<=pPhi<2pi if ( fSPhi >= 0 ) @@ -473,7 +479,8 @@ EInside G4Tubs::Inside( const G4ThreeVector& p ) const { in = kInside ; } - } + } + } } } else // Try generous boundaries @@ -1369,6 +1376,13 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, cPhi = fSPhi + fDPhi*0.5 ; sinCPhi = std::sin(cPhi) ; cosCPhi = std::cos(cPhi) ; + // add angle calculation with correction + // of the difference in domain of atan2 and Sphi + vphi = std::atan2(v.y(),v.x()) ; + + if ( vphi < fSPhi - kAngTolerance*0.5 ) vphi += twopi ; + else if ( vphi > fSPhi + fDPhi + kAngTolerance*0.5 ) vphi -= twopi; + if ( p.x() || p.y() ) // Check if on z axis (rho not needed later) { @@ -1382,7 +1396,7 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, compS = -sinSPhi*v.x() + cosSPhi*v.y() ; compE = sinEPhi*v.x() - cosEPhi*v.y() ; sidephi = kNull; - + // if ( pDistS <= 0 && pDistE <= 0 ) if( ( (fDPhi <= pi) && ( (pDistS <= 0.5*kCarTolerance) @@ -1391,21 +1405,30 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, && (pDistE > 0.5*kCarTolerance) ) ) ) { // Inside both phi *full* planes + if ( compS < 0 ) { sphi = pDistS/compS ; + if (sphi >= -0.5*kCarTolerance) { xi = p.x() + sphi*v.x() ; yi = p.y() + sphi*v.y() ; - + // Check intersecting with correct half-plane // (if not -> no intersect) // - if ((yi*cosCPhi-xi*sinCPhi)>=0) - { - sphi = kInfinity ; + if((std::abs(xi)<=kCarTolerance)&&(std::abs(yi)<=kCarTolerance)){ + if(((fSPhi-0.5*kAngTolerance)<=vphi)&&((ePhi+0.5*kAngTolerance)>=vphi)) + { sphi = kInfinity; } + } + else + if ((yi*cosCPhi-xi*sinCPhi)>=0) + { + sphi = kInfinity ; + } + else { sidephi = kSPhi ; @@ -1428,15 +1451,24 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, if ( compE < 0 ) { sphi2 = pDistE/compE ; - + // Only check further if < starting phi intersection // if ( (sphi2 > -0.5*kCarTolerance) && (sphi2 < sphi) ) { xi = p.x() + sphi2*v.x() ; yi = p.y() + sphi2*v.y() ; - - // Check intersecting with correct half-plane + + if((std::abs(xi)<=kCarTolerance)&&(std::abs(yi)<=kCarTolerance)){ + // Leaving via ending phi + if(!(((fSPhi-0.5*kAngTolerance)<=vphi)&&((ePhi+0.5*kAngTolerance)>=vphi))){ + sidephi = kEPhi ; + if ( pDistE <= -kCarTolerance*0.5 ) sphi = sphi2 ; + else sphi = 0.0 ; + } + } + + else // Check intersecting with correct half-plane if ( (yi*cosCPhi-xi*sinCPhi) >= 0) { @@ -1459,8 +1491,13 @@ G4double G4Tubs::DistanceToOut( const G4ThreeVector& p, // On z axis + travel not || to z axis -> if phi of vector direction // within phi of shape, Step limited by rmax, else Step =0 - vphi = std::atan2(v.y(),v.x()) ; - if ( (fSPhi < vphi) && (vphi < fSPhi + fDPhi) ) + // vphi = std::atan2(v.y(),v.x()) ;//defined previosly + //G4cout<<"In axis vphi="<GetSurfaceTolerance(); } + // // Destructor // @@ -57,6 +60,7 @@ G4ClippablePolygon::~G4ClippablePolygon() { } + // // AddVertexInOrder // @@ -75,7 +79,6 @@ void G4ClippablePolygon::ClearAllVertices() } - // // Clip // diff --git a/source/geometry/solids/specific/src/G4Ellipsoid.cc b/source/geometry/solids/specific/src/G4Ellipsoid.cc index 9fd799113e..39defc5b6e 100644 --- a/source/geometry/solids/specific/src/G4Ellipsoid.cc +++ b/source/geometry/solids/specific/src/G4Ellipsoid.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4Ellipsoid.cc,v 1.13 2006/10/20 13:45:20 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Ellipsoid.cc,v 1.14 2007/05/18 07:39:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4Ellipsoid // @@ -43,6 +43,7 @@ #include "G4VoxelLimits.hh" #include "G4AffineTransform.hh" +#include "G4GeometryTolerance.hh" #include "meshdefs.hh" @@ -73,6 +74,8 @@ G4Ellipsoid::G4Ellipsoid(const G4String& pName, // note: for users that want to use the full ellipsoid it is useful // to include a default for the cuts + kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); + // Check Semi-Axis if ( (pxSemiAxis>0.) && (pySemiAxis>0.) && (pzSemiAxis>0.) ) { diff --git a/source/geometry/solids/specific/src/G4EllipticalCone.cc b/source/geometry/solids/specific/src/G4EllipticalCone.cc index 43992234d0..bacc3d9ec1 100644 --- a/source/geometry/solids/specific/src/G4EllipticalCone.cc +++ b/source/geometry/solids/specific/src/G4EllipticalCone.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EllipticalCone.cc,v 1.12 2006/10/20 13:45:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4EllipticalCone.cc,v 1.13 2007/05/18 07:39:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // Implementation of G4EllipticalCone class // @@ -46,6 +46,7 @@ #include "G4SolidExtentList.hh" #include "G4VoxelLimits.hh" #include "G4AffineTransform.hh" +#include "G4GeometryTolerance.hh" #include "meshdefs.hh" @@ -74,6 +75,8 @@ G4EllipticalCone::G4EllipticalCone(const G4String& pName, zTopCut(0.) { + kRadTolerance = G4GeometryTolerance::GetInstance()->GetRadialTolerance(); + // Check Semi-Axis // if ( (pxSemiAxis > 0.) && (pySemiAxis > 0.) && (pzMax > 0.) ) diff --git a/source/geometry/solids/specific/src/G4EllipticalTube.cc b/source/geometry/solids/specific/src/G4EllipticalTube.cc index 45fe6cd240..9c49c70b65 100644 --- a/source/geometry/solids/specific/src/G4EllipticalTube.cc +++ b/source/geometry/solids/specific/src/G4EllipticalTube.cc @@ -25,7 +25,7 @@ // // // $Id: G4EllipticalTube.cc,v 1.27 2006/10/20 13:45:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4EnclosingCylinder.cc b/source/geometry/solids/specific/src/G4EnclosingCylinder.cc index 200fdde013..71c7432a39 100644 --- a/source/geometry/solids/specific/src/G4EnclosingCylinder.cc +++ b/source/geometry/solids/specific/src/G4EnclosingCylinder.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EnclosingCylinder.cc,v 1.9 2006/06/29 18:48:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4EnclosingCylinder.cc,v 1.10 2007/05/11 13:54:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -40,6 +40,7 @@ #include "G4EnclosingCylinder.hh" #include "G4ReduciblePolygon.hh" +#include "G4GeometryTolerance.hh" // // Constructor @@ -59,7 +60,9 @@ G4EnclosingCylinder::G4EnclosingCylinder( const G4ReduciblePolygon *rz, radius = rz->Amax(); zHi = rz->Bmax(); zLo = rz->Bmin(); - + + G4double kCarTolerance = G4GeometryTolerance::GetInstance() + ->GetSurfaceTolerance(); // // Save phi info // diff --git a/source/geometry/solids/specific/src/G4ExtrudedSolid.cc b/source/geometry/solids/specific/src/G4ExtrudedSolid.cc index 145e701e6d..98ab5f55b5 100644 --- a/source/geometry/solids/specific/src/G4ExtrudedSolid.cc +++ b/source/geometry/solids/specific/src/G4ExtrudedSolid.cc @@ -25,7 +25,7 @@ // // // $Id: G4ExtrudedSolid.cc,v 1.7 2007/05/02 14:59:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4Hype.cc b/source/geometry/solids/specific/src/G4Hype.cc index c428c0e809..fa9972d842 100644 --- a/source/geometry/solids/specific/src/G4Hype.cc +++ b/source/geometry/solids/specific/src/G4Hype.cc @@ -26,7 +26,7 @@ // // $Id: G4Hype.cc,v 1.25 2006/10/20 13:45:21 gcosmo Exp $ // $Original: G4Hype.cc,v 1.0 1998/06/09 16:57:50 safai Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4IntersectingCone.cc b/source/geometry/solids/specific/src/G4IntersectingCone.cc index afe916f4ac..d378c674fc 100644 --- a/source/geometry/solids/specific/src/G4IntersectingCone.cc +++ b/source/geometry/solids/specific/src/G4IntersectingCone.cc @@ -25,7 +25,7 @@ // // // $Id: G4IntersectingCone.cc,v 1.8 2006/06/29 18:48:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4PolyPhiFace.cc b/source/geometry/solids/specific/src/G4PolyPhiFace.cc index 4ba54b2ef9..507f28dcc0 100644 --- a/source/geometry/solids/specific/src/G4PolyPhiFace.cc +++ b/source/geometry/solids/specific/src/G4PolyPhiFace.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PolyPhiFace.cc,v 1.10 2006/06/29 18:48:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PolyPhiFace.cc,v 1.12 2007/05/31 13:52:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -44,6 +44,7 @@ #include "G4ReduciblePolygon.hh" #include "G4AffineTransform.hh" #include "G4SolidExtentList.hh" +#include "G4GeometryTolerance.hh" // // Constructor @@ -60,6 +61,8 @@ G4PolyPhiFace::G4PolyPhiFace( const G4ReduciblePolygon *rz, G4double deltaPhi, G4double phiOther ) { + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + numEdges = rz->NumVertices(); rMin = rz->Amin(); @@ -323,7 +326,9 @@ void G4PolyPhiFace::CopyStuff( const G4PolyPhiFace &source ) zMin = source.zMin; zMax = source.zMax; allBehind = source.allBehind; - + + kCarTolerance = source.kCarTolerance; + // // Corner dynamic array // diff --git a/source/geometry/solids/specific/src/G4Polycone.cc b/source/geometry/solids/specific/src/G4Polycone.cc index 5c93a24513..9f14ec132b 100644 --- a/source/geometry/solids/specific/src/G4Polycone.cc +++ b/source/geometry/solids/specific/src/G4Polycone.cc @@ -25,7 +25,7 @@ // // // $Id: G4Polycone.cc,v 1.37 2007/04/26 13:34:04 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4PolyconeSide.cc b/source/geometry/solids/specific/src/G4PolyconeSide.cc index 08f1bc5f4c..1a56768ca7 100644 --- a/source/geometry/solids/specific/src/G4PolyconeSide.cc +++ b/source/geometry/solids/specific/src/G4PolyconeSide.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PolyconeSide.cc,v 1.14 2007/02/01 09:20:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4PolyconeSide.cc,v 1.16 2007/05/31 13:52:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -44,6 +44,7 @@ #include "G4AffineTransform.hh" #include "meshdefs.hh" #include "G4SolidExtentList.hh" +#include "G4GeometryTolerance.hh" // // Constructor @@ -61,6 +62,8 @@ G4PolyconeSide::G4PolyconeSide( const G4PolyconeSideRZ *prevRZ, G4bool isAllBehind ) : corners(0) { + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + // // Record values // @@ -204,6 +207,8 @@ void G4PolyconeSide::CopyStuff( const G4PolyconeSide &source ) deltaPhi = source.deltaPhi; phiIsOpen = source.phiIsOpen; allBehind = source.allBehind; + + kCarTolerance = source.kCarTolerance; cone = new G4IntersectingCone( *source.cone ); diff --git a/source/geometry/solids/specific/src/G4Polyhedra.cc b/source/geometry/solids/specific/src/G4Polyhedra.cc index 182c2e212a..bb59711fb3 100644 --- a/source/geometry/solids/specific/src/G4Polyhedra.cc +++ b/source/geometry/solids/specific/src/G4Polyhedra.cc @@ -25,7 +25,7 @@ // // // $Id: G4Polyhedra.cc,v 1.33 2007/01/22 12:58:53 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4PolyhedraSide.cc b/source/geometry/solids/specific/src/G4PolyhedraSide.cc index 528254f7da..27ce77c8b2 100644 --- a/source/geometry/solids/specific/src/G4PolyhedraSide.cc +++ b/source/geometry/solids/specific/src/G4PolyhedraSide.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PolyhedraSide.cc,v 1.11 2006/06/29 18:48:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PolyhedraSide.cc,v 1.13 2007/05/31 13:52:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -43,6 +43,7 @@ #include "G4ClippablePolygon.hh" #include "G4AffineTransform.hh" #include "G4SolidExtentList.hh" +#include "G4GeometryTolerance.hh" // // Constructor @@ -60,6 +61,9 @@ G4PolyhedraSide::G4PolyhedraSide( const G4PolyhedraSideRZ *prevRZ, G4bool thePhiIsOpen, G4bool isAllBehind ) { + + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + // // Record values // @@ -352,6 +356,8 @@ void G4PolyhedraSide::CopyStuff( const G4PolyhedraSide &source ) lenPhi[0] = source.lenPhi[0]; lenPhi[1] = source.lenPhi[1]; edgeNorm = source.edgeNorm; + + kCarTolerance = source.kCarTolerance; cone = new G4IntersectingCone( *source.cone ); diff --git a/source/geometry/solids/specific/src/G4QuadrangularFacet.cc b/source/geometry/solids/specific/src/G4QuadrangularFacet.cc index 7dcc694c0d..537c879de7 100644 --- a/source/geometry/solids/specific/src/G4QuadrangularFacet.cc +++ b/source/geometry/solids/specific/src/G4QuadrangularFacet.cc @@ -25,7 +25,7 @@ // ******************************************************************** // // $Id: G4QuadrangularFacet.cc,v 1.5 2007/02/15 17:04:10 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // diff --git a/source/geometry/solids/specific/src/G4ReduciblePolygon.cc b/source/geometry/solids/specific/src/G4ReduciblePolygon.cc index ee63c04516..62e6b0eb74 100644 --- a/source/geometry/solids/specific/src/G4ReduciblePolygon.cc +++ b/source/geometry/solids/specific/src/G4ReduciblePolygon.cc @@ -25,7 +25,7 @@ // // // $Id: G4ReduciblePolygon.cc,v 1.11 2006/06/29 18:48:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4SolidExtentList.cc b/source/geometry/solids/specific/src/G4SolidExtentList.cc index b4ccdec66b..970e708608 100644 --- a/source/geometry/solids/specific/src/G4SolidExtentList.cc +++ b/source/geometry/solids/specific/src/G4SolidExtentList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SolidExtentList.cc,v 1.4 2006/06/29 18:48:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SolidExtentList.cc,v 1.5 2007/05/11 13:54:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -40,6 +40,7 @@ #include "G4SolidExtentList.hh" #include "G4VoxelLimits.hh" +#include "G4GeometryTolerance.hh" // @@ -130,6 +131,8 @@ void G4SolidExtentList::AddSurface( const G4ClippablePolygon &surface ) // G4bool G4SolidExtentList::GetExtent( G4double &min, G4double &max ) const { + G4double kCarTolerance = G4GeometryTolerance::GetInstance() + ->GetSurfaceTolerance(); // // Did we have any surfaces within the limits? // diff --git a/source/geometry/solids/specific/src/G4TessellatedSolid.cc b/source/geometry/solids/specific/src/G4TessellatedSolid.cc index 2004c6067c..4cd87f46ef 100644 --- a/source/geometry/solids/specific/src/G4TessellatedSolid.cc +++ b/source/geometry/solids/specific/src/G4TessellatedSolid.cc @@ -25,7 +25,7 @@ // ******************************************************************** // // $Id: G4TessellatedSolid.cc,v 1.9 2007/02/12 12:08:33 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // diff --git a/source/geometry/solids/specific/src/G4Tet.cc b/source/geometry/solids/specific/src/G4Tet.cc index 2693fcf6de..02a86b901c 100644 --- a/source/geometry/solids/specific/src/G4Tet.cc +++ b/source/geometry/solids/specific/src/G4Tet.cc @@ -28,7 +28,7 @@ // ******************************************************************** // // $Id: G4Tet.cc,v 1.11 2006/11/13 08:58:03 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4Tet // diff --git a/source/geometry/solids/specific/src/G4TriangularFacet.cc b/source/geometry/solids/specific/src/G4TriangularFacet.cc index d84f6937d9..b920770044 100644 --- a/source/geometry/solids/specific/src/G4TriangularFacet.cc +++ b/source/geometry/solids/specific/src/G4TriangularFacet.cc @@ -25,7 +25,7 @@ // ******************************************************************** // // $Id: G4TriangularFacet.cc,v 1.7 2007/02/15 17:03:49 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // diff --git a/source/geometry/solids/specific/src/G4TwistBoxSide.cc b/source/geometry/solids/specific/src/G4TwistBoxSide.cc index ff788e860c..628f26201b 100644 --- a/source/geometry/solids/specific/src/G4TwistBoxSide.cc +++ b/source/geometry/solids/specific/src/G4TwistBoxSide.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistBoxSide.cc,v 1.5 2006/06/29 18:49:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4TwistBoxSide.cc,v 1.6 2007/05/23 09:31:02 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -174,7 +174,7 @@ G4ThreeVector G4TwistBoxSide::GetNormal(const G4ThreeVector &tmpxx, G4ThreeVector normal = NormAng(phi,u) ; // the normal vector at phi,u -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << "normal vector = " << normal << G4endl ; G4cout << "phi = " << phi << " , u = " << u << G4endl ; #endif @@ -235,7 +235,7 @@ G4int G4TwistBoxSide::DistanceToSurface(const G4ThreeVector &gp, G4ThreeVector p = ComputeLocalPoint(gp); G4ThreeVector v = ComputeLocalDirection(gv); -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << "Local point p = " << p << G4endl ; G4cout << "Local direction v = " << v << G4endl ; #endif @@ -313,7 +313,7 @@ G4int G4TwistBoxSide::DistanceToSurface(const G4ThreeVector &gp, c[0] = 36*(2* fDz*(v.x() - fTAlph*v.y()) - fdeltaX*v.z() + fdeltaY*fTAlph*v.z()) ; -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << "coef = " << c[0] << " " << c[1] << " " << c[2] << " " @@ -330,7 +330,7 @@ G4int G4TwistBoxSide::DistanceToSurface(const G4ThreeVector &gp, for (G4int i = 0 ; i fYAxisMax - ctol) { + } + else if (yprime > fYAxisMax - ctol) + { areacode |= (sAxis0 & (sAxisY | sAxisMax)) | sBoundary; - if (yprime >= fYAxisMax + ctol) isoutside = true; + if (yprime >= fYAxisMax + ctol) { isoutside = true; } } // test boundary of z-axis - if (xx.z() < fAxisMin[zaxis] + ctol) { + if (xx.z() < fAxisMin[zaxis] + ctol) + { areacode |= (sAxis1 & (sAxisZ | sAxisMin)); - if (areacode & sBoundary) areacode |= sCorner; // xx is on the corner. - else areacode |= sBoundary; - if (xx.z() <= fAxisMin[zaxis] - ctol) isoutside = true; + if (areacode & sBoundary) // xx is on the corner + { areacode |= sCorner; } - } else if (xx.z() > fAxisMax[zaxis] - ctol) { + else + { areacode |= sBoundary; } + if (xx.z() <= fAxisMin[zaxis] - ctol) { isoutside = true; } + } + else if (xx.z() > fAxisMax[zaxis] - ctol) + { areacode |= (sAxis1 & (sAxisZ | sAxisMax)); - if (areacode & sBoundary) areacode |= sCorner; // xx is on the corner. - else areacode |= sBoundary; - if (xx.z() >= fAxisMax[zaxis] + ctol) isoutside = true; + if (areacode & sBoundary) // xx is on the corner + { areacode |= sCorner; } + else + { areacode |= sBoundary; } + if (xx.z() >= fAxisMax[zaxis] + ctol) { isoutside = true; } } // if isoutside = true, clear inside bit. // if not on boundary, add axis information. - if (isoutside) { + if (isoutside) + { G4int tmpareacode = areacode & (~sInside); areacode = tmpareacode; - } else if ((areacode & sBoundary) != sBoundary) { + } + else if ((areacode & sBoundary) != sBoundary) + { areacode |= (sAxis0 & sAxisY) | (sAxis1 & sAxisZ); } - } else { - + } + else + { // boundary of y-axis - if (yprime < fYAxisMin ) { + if (yprime < fYAxisMin ) + { areacode |= (sAxis0 & (sAxisY | sAxisMin)) | sBoundary; - } else if (yprime > fYAxisMax) { + } + else if (yprime > fYAxisMax) + { areacode |= (sAxis0 & (sAxisY | sAxisMax)) | sBoundary; } // boundary of z-axis - if (xx.z() < fAxisMin[zaxis]) { + if (xx.z() < fAxisMin[zaxis]) + { areacode |= (sAxis1 & (sAxisZ | sAxisMin)); - if (areacode & sBoundary) areacode |= sCorner; // xx is on the corner. - else areacode |= sBoundary; - - } else if (xx.z() > fAxisMax[zaxis]) { + if (areacode & sBoundary) // xx is on the corner + { areacode |= sCorner; } + else + { areacode |= sBoundary; } + } + else if (xx.z() > fAxisMax[zaxis]) + { areacode |= (sAxis1 & (sAxisZ | sAxisMax)) ; - if (areacode & sBoundary) areacode |= sCorner; // xx is on the corner. - else areacode |= sBoundary; + if (areacode & sBoundary) // xx is on the corner + { areacode |= sCorner; } + else + { areacode |= sBoundary; } } - if ((areacode & sBoundary) != sBoundary) { + if ((areacode & sBoundary) != sBoundary) + { areacode |= (sAxis0 & sAxisY) | (sAxis1 & sAxisZ); } } return areacode; - } else { + } + else + { G4Exception("G4TwistTrapAlphaSide::GetAreaCode()", "NotImplemented", FatalException, "Feature NOT implemented !"); @@ -888,15 +928,17 @@ void G4TwistTrapAlphaSide::SetCorners() // Set Corner points in local coodinate. - if (fAxis[0] == kYAxis && fAxis[1] == kZAxis) { + if (fAxis[0] == kYAxis && fAxis[1] == kZAxis) + { G4double x, y, z; // corner of Axis0min and Axis1min - x = -fdeltaX/2. + (fDx1 - fDy1*fTAlph)*std::cos(fPhiTwist/2.) - - fDy1*std::sin(fPhiTwist/2.) ; - y = -fdeltaY/2. - - fDy1*std::cos(fPhiTwist/2.) + (-fDx1 + fDy1*fTAlph)*std::sin(fPhiTwist/2.) ; + // + x = -fdeltaX/2. + (fDx1 - fDy1*fTAlph)*std::cos(fPhiTwist/2.) + - fDy1*std::sin(fPhiTwist/2.); + y = -fdeltaY/2. - fDy1*std::cos(fPhiTwist/2.) + + (-fDx1 + fDy1*fTAlph)*std::sin(fPhiTwist/2.); z = -fDz ; // G4cout << "SetCorners: " << x << ", " << y << ", " << z << G4endl ; @@ -904,41 +946,43 @@ void G4TwistTrapAlphaSide::SetCorners() SetCorner(sC0Min1Min, x, y, z); // corner of Axis0max and Axis1min - x = -fdeltaX/2. + (fDx2 + fDy1*fTAlph)*std::cos(fPhiTwist/2.) + - fDy1*std::sin(fPhiTwist/2.) ; - y = -fdeltaY/2. + - fDy1*std::cos(fPhiTwist/2.) - (fDx2 + fDy1*fTAlph)*std::sin(fPhiTwist/2.) ; + // + x = -fdeltaX/2. + (fDx2 + fDy1*fTAlph)*std::cos(fPhiTwist/2.) + + fDy1*std::sin(fPhiTwist/2.); + y = -fdeltaY/2. + fDy1*std::cos(fPhiTwist/2.) + - (fDx2 + fDy1*fTAlph)*std::sin(fPhiTwist/2.); z = -fDz ; // G4cout << "SetCorners: " << x << ", " << y << ", " << z << G4endl ; SetCorner(sC0Max1Min, x, y, z); - // corner of Axis0max and Axis1max - x = fdeltaX/2. + (fDx4 + fDy2*fTAlph)*std::cos(fPhiTwist/2.) - - fDy2*std::sin(fPhiTwist/2.) ; - y = fdeltaY/2. + - fDy2*std::cos(fPhiTwist/2.) + (fDx4 + fDy2*fTAlph)*std::sin(fPhiTwist/2.) ; + // corner of Axis0max and Axis1max + // + x = fdeltaX/2. + (fDx4 + fDy2*fTAlph)*std::cos(fPhiTwist/2.) + - fDy2*std::sin(fPhiTwist/2.); + y = fdeltaY/2. + fDy2*std::cos(fPhiTwist/2.) + + (fDx4 + fDy2*fTAlph)*std::sin(fPhiTwist/2.); z = fDz ; // G4cout << "SetCorners: " << x << ", " << y << ", " << z << G4endl ; SetCorner(sC0Max1Max, x, y, z); - - + // corner of Axis0min and Axis1max - x = fdeltaX/2. + (fDx3 - fDy2*fTAlph)*std::cos(fPhiTwist/2.) + - fDy2*std::sin(fPhiTwist/2.) ; - y = fdeltaY/2. - - fDy2*std::cos(fPhiTwist/2.) + (fDx3 - fDy2*fTAlph)*std::sin(fPhiTwist/2.) ; + x = fdeltaX/2. + (fDx3 - fDy2*fTAlph)*std::cos(fPhiTwist/2.) + + fDy2*std::sin(fPhiTwist/2.) ; + y = fdeltaY/2. - fDy2*std::cos(fPhiTwist/2.) + + (fDx3 - fDy2*fTAlph)*std::sin(fPhiTwist/2.) ; z = fDz ; // G4cout << "SetCorners: " << x << ", " << y << ", " << z << G4endl ; SetCorner(sC0Min1Max, x, y, z); - } else { - + } + else + { G4Exception("G4TwistTrapAlphaSide::SetCorners()", "NotImplemented", FatalException, "Method NOT implemented !"); @@ -955,8 +999,8 @@ void G4TwistTrapAlphaSide::SetBoundaries() G4ThreeVector direction; - if (fAxis[0] == kYAxis && fAxis[1] == kZAxis) { - + if (fAxis[0] == kYAxis && fAxis[1] == kZAxis) + { // sAxis0 & sAxisMin direction = GetCorner(sC0Min1Max) - GetCorner(sC0Min1Min); direction = direction.unit(); @@ -981,55 +1025,81 @@ void G4TwistTrapAlphaSide::SetBoundaries() SetBoundary(sAxis1 & (sAxisZ | sAxisMax), direction, GetCorner(sC0Min1Max), sAxisY); - } else { - - G4Exception("G4TwistTrapAlphaSide::SetCorners()", - "NotImplemented", FatalException, - "Feature NOT implemented !"); } - + else + { + G4Exception("G4TwistTrapAlphaSide::SetCorners()", + "NotImplemented", FatalException, + "Feature NOT implemented !"); + } } //===================================================================== //* GetPhiUAtX -------------------------------------------------------- -void G4TwistTrapAlphaSide::GetPhiUAtX( G4ThreeVector p, G4double &phi, G4double &u) +void +G4TwistTrapAlphaSide::GetPhiUAtX( G4ThreeVector p, G4double &phi, G4double &u ) { // find closest point XX on surface for a given point p - // X0 is a point on the surface, d is the direction ( both for a fixed z = pz) + // X0 is a point on the surface, d is the direction + // ( both for a fixed z = pz) // phi is given by the z coordinate of p - phi = p.z()/(2*fDz)*fPhiTwist ; - u = (fPhiTwist*(2*fDx1*fDx1 - 2*fDx2*fDx2 - fa1md1*(fDx3 + fDx4) - 4*(fDx3plus1 + fDx4plus2)*fDy1*fTAlph) - 2*(2*fDx1*fDx1 - 2*fDx2*fDx2 + fa1md1*(fDx3 + fDx4) + 4*(fDx3minus1 + fDx4minus2)*fDy1*fTAlph)*phi - 4*(fa1md1*(fdeltaX*phi - fPhiTwist*p.x()) + 4*fDy1*(fdeltaY*phi + fdeltaX*fTAlph*phi - fPhiTwist*(fTAlph*p.x() + p.y())))*std::cos(phi) - 4*(fa1md1*fdeltaY*phi - 4*fdeltaX*fDy1*phi + 4*fdeltaY*fDy1*fTAlph*phi + 4*fDy1*fPhiTwist*p.x() - fPhiTwist*(fa1md1 + 4*fDy1*fTAlph)*p.y())*std::sin(phi))/(fDy1* fPhiTwist*((std::fabs(((fa1md1 + 4*fDy1*fTAlph)*std::cos(phi))/fDy1 - 4*std::sin(phi)))*(std::fabs(((fa1md1 + 4*fDy1*fTAlph)*std::cos(phi))/fDy1 - 4*std::sin(phi))) + (std::fabs(4*std::cos(phi) + ((fa1md1 + 4*fDy1*fTAlph)*std::sin(phi))/fDy1))*(std::fabs(4*std::cos(phi) + ((fa1md1 + 4*fDy1*fTAlph)*std::sin(phi))/fDy1)))) ; - + u = (fPhiTwist*(2*fDx1*fDx1 - 2*fDx2*fDx2 - fa1md1*(fDx3 + fDx4) + - 4*(fDx3plus1 + fDx4plus2)*fDy1*fTAlph) + - 2*(2*fDx1*fDx1 - 2*fDx2*fDx2 + fa1md1*(fDx3 + fDx4) + + 4*(fDx3minus1 + fDx4minus2)*fDy1*fTAlph)*phi + - 4*(fa1md1*(fdeltaX*phi - fPhiTwist*p.x()) + + 4*fDy1*(fdeltaY*phi + fdeltaX*fTAlph*phi + - fPhiTwist*(fTAlph*p.x() + p.y())))*std::cos(phi) + - 4*(fa1md1*fdeltaY*phi - 4*fdeltaX*fDy1*phi + + 4*fdeltaY*fDy1*fTAlph*phi + 4*fDy1*fPhiTwist*p.x() + - fPhiTwist*(fa1md1 + 4*fDy1*fTAlph)*p.y())*std::sin(phi)) + /(fDy1* fPhiTwist*((std::fabs(((fa1md1 + 4*fDy1*fTAlph)*std::cos(phi)) + /fDy1 - 4*std::sin(phi))) + *(std::fabs(((fa1md1 + 4*fDy1*fTAlph)*std::cos(phi)) + /fDy1 - 4*std::sin(phi))) + + (std::fabs(4*std::cos(phi) + + ((fa1md1 + 4*fDy1*fTAlph)*std::sin(phi))/fDy1)) + * (std::fabs(4*std::cos(phi) + + ((fa1md1 + 4*fDy1*fTAlph)*std::sin(phi))/fDy1)))) ; } //===================================================================== //* ProjectPoint ------------------------------------------------------ -G4ThreeVector G4TwistTrapAlphaSide::ProjectPoint(const G4ThreeVector &p, - G4bool isglobal) +G4ThreeVector +G4TwistTrapAlphaSide::ProjectPoint(const G4ThreeVector &p, G4bool isglobal) { // Get Rho at p.z() on Hyperbolic Surface. + G4ThreeVector tmpp; - if (isglobal) { + if (isglobal) + { tmpp = fRot.inverse()*p - fTrans; - } else { + } + else + { tmpp = p; } G4double phi ; G4double u ; - GetPhiUAtX( tmpp, phi, u ) ; // calculate (phi, u) for a point p close the surface + GetPhiUAtX( tmpp, phi, u ) ; + // calculate (phi, u) for a point p close the surface - G4ThreeVector xx = SurfacePoint(phi,u) ; // transform back to cartesian coordinates + G4ThreeVector xx = SurfacePoint(phi,u) ; + // transform back to cartesian coordinates - if (isglobal) { + if (isglobal) + { return (fRot * xx + fTrans); - } else { + } + else + { return xx; } } @@ -1037,7 +1107,9 @@ G4ThreeVector G4TwistTrapAlphaSide::ProjectPoint(const G4ThreeVector &p, //===================================================================== //* GetFacets --------------------------------------------------------- -void G4TwistTrapAlphaSide::GetFacets( G4int m, G4int n, G4double xyz[][3], G4int faces[][4], G4int iside ) +void +G4TwistTrapAlphaSide::GetFacets( G4int m, G4int n, G4double xyz[][3], + G4int faces[][4], G4int iside ) { G4double phi ; @@ -1051,31 +1123,33 @@ void G4TwistTrapAlphaSide::GetFacets( G4int m, G4int n, G4double xyz[][3], G4int // calculate the (n-1)*(m-1) vertices - G4int i,j ; - - for ( i = 0 ; iGetRadialTolerance(); G4int areacode = sInside; diff --git a/source/geometry/solids/specific/src/G4TwistTubsHypeSide.cc b/source/geometry/solids/specific/src/G4TwistTubsHypeSide.cc index c1cd3195cd..833b484fea 100644 --- a/source/geometry/solids/specific/src/G4TwistTubsHypeSide.cc +++ b/source/geometry/solids/specific/src/G4TwistTubsHypeSide.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistTubsHypeSide.cc,v 1.5 2006/06/29 18:49:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4TwistTubsHypeSide.cc,v 1.6 2007/05/18 07:39:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -43,6 +43,7 @@ // -------------------------------------------------------------------- #include "G4TwistTubsHypeSide.hh" +#include "G4GeometryTolerance.hh" //===================================================================== //* constructors ------------------------------------------------------ @@ -184,7 +185,8 @@ G4ThreeVector G4TwistTubsHypeSide::GetNormal(const G4ThreeVector &tmpxx, EInside G4TwistTubsHypeSide::Inside(const G4ThreeVector &gp) { // Inside returns - static const G4double halftol = 0.5 * kRadTolerance; + static const G4double halftol + = 0.5 * G4GeometryTolerance::GetInstance()->GetRadialTolerance(); if (fInside.gp == gp) { return fInside.inside; @@ -507,7 +509,8 @@ G4int G4TwistTubsHypeSide::DistanceToSurface(const G4ThreeVector &gp, // We arranged G4Hype::ApproxDistOutside and G4Hype::ApproxDistInside // for this function. See these discriptions. - static const G4double halftol = 0.5 * kRadTolerance; + static const G4double halftol + = 0.5 * G4GeometryTolerance::GetInstance()->GetRadialTolerance(); fCurStat.ResetfDone(kDontValidate, &gp); diff --git a/source/geometry/solids/specific/src/G4TwistTubsSide.cc b/source/geometry/solids/specific/src/G4TwistTubsSide.cc index 8de546068c..3b594687eb 100644 --- a/source/geometry/solids/specific/src/G4TwistTubsSide.cc +++ b/source/geometry/solids/specific/src/G4TwistTubsSide.cc @@ -25,7 +25,7 @@ // // // $Id: G4TwistTubsSide.cc,v 1.5 2006/06/29 18:49:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4TwistedBox.cc b/source/geometry/solids/specific/src/G4TwistedBox.cc index 7a93e24373..8cbaec9fc5 100644 --- a/source/geometry/solids/specific/src/G4TwistedBox.cc +++ b/source/geometry/solids/specific/src/G4TwistedBox.cc @@ -25,7 +25,7 @@ // // // $Id: G4TwistedBox.cc,v 1.12 2006/06/29 18:49:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4TwistedTrap.cc b/source/geometry/solids/specific/src/G4TwistedTrap.cc index 9aa695bdad..17c663395e 100644 --- a/source/geometry/solids/specific/src/G4TwistedTrap.cc +++ b/source/geometry/solids/specific/src/G4TwistedTrap.cc @@ -25,7 +25,7 @@ // // // $Id: G4TwistedTrap.cc,v 1.14 2006/06/29 18:49:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4TwistedTrd.cc b/source/geometry/solids/specific/src/G4TwistedTrd.cc index 95673efacf..7103e13ef6 100644 --- a/source/geometry/solids/specific/src/G4TwistedTrd.cc +++ b/source/geometry/solids/specific/src/G4TwistedTrd.cc @@ -25,7 +25,7 @@ // // // $Id: G4TwistedTrd.cc,v 1.7 2006/06/29 18:49:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4TwistedTubs.cc b/source/geometry/solids/specific/src/G4TwistedTubs.cc index a6308e0079..35b1e3fd22 100644 --- a/source/geometry/solids/specific/src/G4TwistedTubs.cc +++ b/source/geometry/solids/specific/src/G4TwistedTubs.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TwistedTubs.cc,v 1.23 2006/10/20 13:45:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4TwistedTubs.cc,v 1.24 2007/05/18 07:39:56 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -44,6 +44,7 @@ #include "G4TwistedTubs.hh" +#include "G4GeometryTolerance.hh" #include "G4VoxelLimits.hh" #include "G4AffineTransform.hh" #include "G4SolidExtentList.hh" @@ -470,7 +471,8 @@ void G4TwistedTubs::AddPolyToExtent( const G4ThreeVector &v0, EInside G4TwistedTubs::Inside(const G4ThreeVector& p) const { - static const G4double halftol = 0.5 * kRadTolerance; + static const G4double halftol + = 0.5 * G4GeometryTolerance::GetInstance()->GetRadialTolerance(); // static G4int timerid = -1; // G4Timer timer(timerid, "G4TwistedTubs", "Inside"); // timer.Start(); diff --git a/source/geometry/solids/specific/src/G4VCSGfaceted.cc b/source/geometry/solids/specific/src/G4VCSGfaceted.cc index dae0766dd6..3d695e0548 100644 --- a/source/geometry/solids/specific/src/G4VCSGfaceted.cc +++ b/source/geometry/solids/specific/src/G4VCSGfaceted.cc @@ -30,7 +30,7 @@ // and all its terms. // // $Id: G4VCSGfaceted.cc,v 1.20 2006/10/20 14:21:36 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- diff --git a/source/geometry/solids/specific/src/G4VFacet.cc b/source/geometry/solids/specific/src/G4VFacet.cc index fa6c964cf1..b24774cdbf 100644 --- a/source/geometry/solids/specific/src/G4VFacet.cc +++ b/source/geometry/solids/specific/src/G4VFacet.cc @@ -24,8 +24,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VFacet.cc,v 1.4 2007/02/12 09:34:45 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4VFacet.cc,v 1.5 2007/05/11 13:54:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% // @@ -48,13 +48,15 @@ #include "G4VFacet.hh" #include "globals.hh" +#include "G4GeometryTolerance.hh" /////////////////////////////////////////////////////////////////////////////// // G4VFacet::G4VFacet () { dirTolerance = 1.0E-14; - + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); + P.clear(); E.clear(); diff --git a/source/geometry/solids/specific/src/G4VTwistSurface.cc b/source/geometry/solids/specific/src/G4VTwistSurface.cc index 8b2ec4ea1a..590f1f0e29 100644 --- a/source/geometry/solids/specific/src/G4VTwistSurface.cc +++ b/source/geometry/solids/specific/src/G4VTwistSurface.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VTwistSurface.cc,v 1.5 2006/06/29 18:49:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VTwistSurface.cc,v 1.9 2007/05/31 13:52:48 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -42,9 +42,11 @@ // from original version in Jupiter-2.5.02 application. // -------------------------------------------------------------------- -#include "G4VTwistSurface.hh" #include +#include "G4VTwistSurface.hh" +#include "G4GeometryTolerance.hh" + const G4int G4VTwistSurface::sOutside = 0x00000000; const G4int G4VTwistSurface::sInside = 0x10000000; const G4int G4VTwistSurface::sBoundary = 0x20000000; @@ -93,6 +95,7 @@ G4VTwistSurface::G4VTwistSurface(const G4String &name) fAmIOnLeftSide.me.set(kInfinity, kInfinity, kInfinity); fAmIOnLeftSide.vec.set(kInfinity, kInfinity, kInfinity); + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } G4VTwistSurface::G4VTwistSurface(const G4String &name, @@ -127,6 +130,7 @@ G4VTwistSurface::G4VTwistSurface(const G4String &name, fAmIOnLeftSide.me.set(kInfinity, kInfinity, kInfinity); fAmIOnLeftSide.vec.set(kInfinity, kInfinity, kInfinity); + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); } //===================================================================== @@ -160,6 +164,9 @@ G4int G4VTwistSurface::AmIOnLeftSide(const G4ThreeVector &me, // of me.cross(vec).) // If me is on boundary of vec, return 0. + static const G4double kAngTolerance + = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); + static G4RotationMatrix unitrot; // unit matrix static const G4RotationMatrix rottol = unitrot.rotateZ(0.5*kAngTolerance); static const G4RotationMatrix invrottol = unitrot.rotateZ(-1.*kAngTolerance); @@ -202,7 +209,7 @@ G4int G4VTwistSurface::AmIOnLeftSide(const G4ThreeVector &me, } } -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << " === G4VTwistSurface::AmIOnLeftSide() ==============" << G4endl; G4cout << " Name , returncode : " << fName << " " @@ -277,7 +284,7 @@ G4double G4VTwistSurface::DistanceToIn(const G4ThreeVector &gp, const G4ThreeVector &gv, G4ThreeVector &gxxbest) { -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << " ~~~~~ G4VTwistSurface::DistanceToIn(p,v) - Start ~~~~~" << G4endl; G4cout << " Name : " << fName << G4endl; G4cout << " gp : " << gp << G4endl; @@ -318,7 +325,7 @@ G4double G4VTwistSurface::DistanceToIn(const G4ThreeVector &gp, if ((normal * gv) >= 0) { -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << " G4VTwistSurface::DistanceToIn(p,v): " << "particle goes outword the surface." << G4endl; #endif @@ -335,7 +342,7 @@ G4double G4VTwistSurface::DistanceToIn(const G4ThreeVector &gp, bestgxx = gxx[i]; besti = i; -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << " G4VTwistSurface::DistanceToIn(p,v): " << " areacode sInside name, distance = " << fName << " "<< bestdistance << G4endl; @@ -383,7 +390,7 @@ G4double G4VTwistSurface::DistanceToIn(const G4ThreeVector &gp, if (IsInside(tmpareacode[k])) { -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << " G4VTwistSurface:DistanceToIn(p,v): " << " intersection "<< tmpgxx[k] << G4endl << " is inside of neighbour surface of " << fName @@ -426,7 +433,7 @@ G4double G4VTwistSurface::DistanceToIn(const G4ThreeVector &gp, bestdistance = distance[i]; gxxbest = gxx[i]; besti = i; -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << " G4VTwistSurface::DistanceToIn(p,v): " << " areacode sBoundary & sBoundary distance = " << fName << " " << distance[i] << G4endl; @@ -439,7 +446,7 @@ G4double G4VTwistSurface::DistanceToIn(const G4ThreeVector &gp, gxxbest = bestgxx; -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG if (besti < 0) { G4cout << "~~~~~ G4VTwistSurface::DistanceToIn(p,v) - return ~~~~" << G4endl; G4cout << " No intersections " << G4endl; @@ -465,7 +472,7 @@ G4double G4VTwistSurface::DistanceToOut(const G4ThreeVector &gp, const G4ThreeVector &gv, G4ThreeVector &gxxbest) { -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << "~~~~~ G4VTwistSurface::DistanceToOut(p,v) - Start ~~~~" << G4endl; G4cout << " Name : " << fName << G4endl; G4cout << " gp : " << gp << G4endl; @@ -501,7 +508,7 @@ G4double G4VTwistSurface::DistanceToOut(const G4ThreeVector &gp, G4ThreeVector normal = GetNormal(gxx[i], true); if (normal * gv <= 0) { // particle goes toword inside of solid, return kInfinity -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << " G4VTwistSurface::DistanceToOut(p,v): normal*gv < 0, normal " << fName << " " << normal << G4endl; @@ -516,7 +523,7 @@ G4double G4VTwistSurface::DistanceToOut(const G4ThreeVector &gp, } } -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG if (besti < 0) { G4cout << "~~~~~ G4VTwistSurface::DistanceToOut(p,v) - return ~~~" << G4endl; G4cout << " No intersections " << G4endl; @@ -541,7 +548,7 @@ G4double G4VTwistSurface::DistanceToOut(const G4ThreeVector &gp, G4double G4VTwistSurface::DistanceTo(const G4ThreeVector &gp, G4ThreeVector &gxxbest) { -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << "~~~~~ G4VTwistSurface::DistanceTo(p) - Start ~~~~~~~~~" << G4endl; G4cout << " Name : " << fName << G4endl; G4cout << " gp : " << gp << G4endl; @@ -563,7 +570,7 @@ G4double G4VTwistSurface::DistanceTo(const G4ThreeVector &gp, nxx = DistanceToSurface(gp, gxx, distance, areacode); gxxbest = gxx[0]; -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << "~~~~~ G4VTwistSurface::DistanceTo(p) - return ~~~~~~~~" << G4endl; G4cout << " Name : " << fName << G4endl; G4cout << " gxx : " << gxxbest << G4endl; diff --git a/source/geometry/solids/specific/src/G4VTwistedFaceted.cc b/source/geometry/solids/specific/src/G4VTwistedFaceted.cc index 26a553d47e..a0859711e9 100644 --- a/source/geometry/solids/specific/src/G4VTwistedFaceted.cc +++ b/source/geometry/solids/specific/src/G4VTwistedFaceted.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VTwistedFaceted.cc,v 1.14 2006/10/20 13:45:21 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VTwistedFaceted.cc,v 1.18 2007/05/25 09:42:34 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -46,6 +46,7 @@ #include "G4SolidExtentList.hh" #include "G4ClippablePolygon.hh" #include "G4VPVParameterisation.hh" +#include "G4GeometryTolerance.hh" #include "meshdefs.hh" #include "G4VGraphicsScene.hh" @@ -93,6 +94,9 @@ G4VTwistedFaceted( const G4String &pname, // Name of instance fDy2 = pDy2 ; fDz = pDz ; + G4double kAngTolerance + = G4GeometryTolerance::GetInstance()->GetAngularTolerance(); + // maximum values // fDxDown = ( fDx1 > fDx2 ? fDx1 : fDx2 ) ; @@ -117,7 +121,7 @@ G4VTwistedFaceted( const G4String &pname, // Name of instance } } -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG if ( fDx1 == fDx2 && fDx3 == fDx4 ) { G4cout << "Trapezoid is a box" << G4endl ; @@ -494,7 +498,7 @@ EInside G4VTwistedFaceted::Inside(const G4ThreeVector& p) const G4double yMax = GetValueB(phi)/2. ; // b(phi)/2 is limit G4double yMin = -yMax ; -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << "inside called: p = " << p << G4endl ; G4cout << "fDx1 = " << fDx1 << G4endl ; @@ -547,7 +551,7 @@ EInside G4VTwistedFaceted::Inside(const G4ThreeVector& p) const } } -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << "inside = " << fLastInside.inside << G4endl ; #endif @@ -689,11 +693,11 @@ G4double G4VTwistedFaceted::DistanceToIn (const G4ThreeVector& p, //for (i=1; i < 2 ; i++) { -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << G4endl << "surface " << i << ": " << G4endl << G4endl ; #endif G4double tmpdistance = surfaces[i]->DistanceToIn(p, v, xx); -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << "Solid DistanceToIn : distance = " << tmpdistance << G4endl ; G4cout << "intersection point = " << xx << G4endl ; #endif @@ -705,7 +709,7 @@ G4double G4VTwistedFaceted::DistanceToIn (const G4ThreeVector& p, } } -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << "best distance = " << distance << G4endl ; #endif @@ -799,7 +803,7 @@ G4double G4VTwistedFaceted::DistanceToIn (const G4ThreeVector& p) const } } // switch end - return kInfinity; + return 0; } @@ -946,6 +950,17 @@ G4double G4VTwistedFaceted::DistanceToOut( const G4ThreeVector& p ) const { case (kOutside) : { +#ifdef G4SPECSDEBUG + G4cout.precision(16) ; + G4cout << G4endl ; + DumpInfo(); + G4cout << "Position:" << G4endl << G4endl ; + G4cout << "p.x() = " << p.x()/mm << " mm" << G4endl ; + G4cout << "p.y() = " << p.y()/mm << " mm" << G4endl ; + G4cout << "p.z() = " << p.z()/mm << " mm" << G4endl << G4endl ; + G4Exception("G4VTwistedFaceted::DistanceToOut(p)", "Notification", + JustWarning, "Point p is outside !?" ); +#endif } case (kSurface) : { @@ -996,7 +1011,7 @@ G4double G4VTwistedFaceted::DistanceToOut( const G4ThreeVector& p ) const } } // switch end - return 0; + return kInfinity; } @@ -1184,7 +1199,7 @@ G4ThreeVector G4VTwistedFaceted::GetPointOnSurface() const G4double a5 = fLowerEndcap->GetSurfaceArea() ; G4double a6 = fUpperEndcap->GetSurfaceArea() ; -#ifdef G4SPECSDEBUG +#ifdef G4TWISTDEBUG G4cout << "Surface 0 deg = " << a1 << G4endl ; G4cout << "Surface 90 deg = " << a2 << G4endl ; G4cout << "Surface 180 deg = " << a3 << G4endl ; diff --git a/source/geometry/volumes/History b/source/geometry/volumes/History index 5e4a1e8635..1ea8e0bcd7 100644 --- a/source/geometry/volumes/History +++ b/source/geometry/volumes/History @@ -1,4 +1,4 @@ -$Id: History,v 1.145 2007/04/11 07:56:55 gcosmo Exp $ +$Id: History,v 1.146 2007/05/11 14:00:23 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,11 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May 11th, 2007 G.Cosmo - geomvol-V08-03-00 +- Use call to G4GeometryTolerance instead of kCarTolerance in + G4ReflectionFactory. +- Requires tag "global-V08-03-00" and related tag set. + Apr 11th, 2007 G.Cosmo - geomvol-V08-02-02 - More extensions to the CheckOverlaps() algorithm: o Added possibility to define a tolerance for reporting overlaps; added diff --git a/source/geometry/volumes/include/G4AssemblyTriplet.hh b/source/geometry/volumes/include/G4AssemblyTriplet.hh index 80d7687caf..f58e686c7b 100644 --- a/source/geometry/volumes/include/G4AssemblyTriplet.hh +++ b/source/geometry/volumes/include/G4AssemblyTriplet.hh @@ -25,7 +25,7 @@ // // // $Id: G4AssemblyTriplet.hh,v 1.2 2006/06/29 18:56:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Class G4AssemblyTriplet diff --git a/source/geometry/volumes/include/G4AssemblyTriplet.icc b/source/geometry/volumes/include/G4AssemblyTriplet.icc index 4dcc9d49e9..745084fb69 100644 --- a/source/geometry/volumes/include/G4AssemblyTriplet.icc +++ b/source/geometry/volumes/include/G4AssemblyTriplet.icc @@ -25,7 +25,7 @@ // // // $Id: G4AssemblyTriplet.icc,v 1.2 2006/06/29 18:56:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Class G4AssemblyTriplet - inline implementation diff --git a/source/geometry/volumes/include/G4AssemblyVolume.hh b/source/geometry/volumes/include/G4AssemblyVolume.hh index 614bd92ec0..8614f1d814 100644 --- a/source/geometry/volumes/include/G4AssemblyVolume.hh +++ b/source/geometry/volumes/include/G4AssemblyVolume.hh @@ -25,7 +25,7 @@ // // // $Id: G4AssemblyVolume.hh,v 1.7 2006/06/29 18:56:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Class G4AssemblyVolume diff --git a/source/geometry/volumes/include/G4AssemblyVolume.icc b/source/geometry/volumes/include/G4AssemblyVolume.icc index 3cc7f04b1a..06e22adc59 100644 --- a/source/geometry/volumes/include/G4AssemblyVolume.icc +++ b/source/geometry/volumes/include/G4AssemblyVolume.icc @@ -25,7 +25,7 @@ // // // $Id: G4AssemblyVolume.icc,v 1.3 2006/06/29 18:56:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Class G4AssemblyVolume - inline implementation diff --git a/source/geometry/volumes/include/G4GRSSolid.hh b/source/geometry/volumes/include/G4GRSSolid.hh index 07c33ea324..dd0cda659b 100644 --- a/source/geometry/volumes/include/G4GRSSolid.hh +++ b/source/geometry/volumes/include/G4GRSSolid.hh @@ -25,7 +25,7 @@ // // // $Id: G4GRSSolid.hh,v 1.8 2006/06/29 18:56:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4GRSSolid diff --git a/source/geometry/volumes/include/G4GRSSolid.icc b/source/geometry/volumes/include/G4GRSSolid.icc index 0dc2f87239..54e452c2a7 100644 --- a/source/geometry/volumes/include/G4GRSSolid.icc +++ b/source/geometry/volumes/include/G4GRSSolid.icc @@ -25,7 +25,7 @@ // // // $Id: G4GRSSolid.icc,v 1.9 2006/06/29 18:56:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4GRSSolid inline implementation diff --git a/source/geometry/volumes/include/G4GRSSolidHandle.hh b/source/geometry/volumes/include/G4GRSSolidHandle.hh index 72ac458cac..c28fc5c98e 100644 --- a/source/geometry/volumes/include/G4GRSSolidHandle.hh +++ b/source/geometry/volumes/include/G4GRSSolidHandle.hh @@ -25,7 +25,7 @@ // // // $Id: G4GRSSolidHandle.hh,v 1.6 2006/06/29 18:56:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class G4GRSSolidHandle // diff --git a/source/geometry/volumes/include/G4GRSVolume.hh b/source/geometry/volumes/include/G4GRSVolume.hh index ca10981adc..3cf93d8bbc 100644 --- a/source/geometry/volumes/include/G4GRSVolume.hh +++ b/source/geometry/volumes/include/G4GRSVolume.hh @@ -25,7 +25,7 @@ // // // $Id: G4GRSVolume.hh,v 1.8 2006/06/29 18:57:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4GRSVolume diff --git a/source/geometry/volumes/include/G4GRSVolume.icc b/source/geometry/volumes/include/G4GRSVolume.icc index 2917b50491..73f1f49600 100644 --- a/source/geometry/volumes/include/G4GRSVolume.icc +++ b/source/geometry/volumes/include/G4GRSVolume.icc @@ -25,7 +25,7 @@ // // // $Id: G4GRSVolume.icc,v 1.10 2006/06/29 18:57:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4GRSVolume inline implementation diff --git a/source/geometry/volumes/include/G4GRSVolumeHandle.hh b/source/geometry/volumes/include/G4GRSVolumeHandle.hh index 99ddaf8f30..dbe918e67c 100644 --- a/source/geometry/volumes/include/G4GRSVolumeHandle.hh +++ b/source/geometry/volumes/include/G4GRSVolumeHandle.hh @@ -25,7 +25,7 @@ // // // $Id: G4GRSVolumeHandle.hh,v 1.6 2006/06/29 18:57:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class G4GRSVolumeHandle // diff --git a/source/geometry/volumes/include/G4LogicalBorderSurface.hh b/source/geometry/volumes/include/G4LogicalBorderSurface.hh index ec0d60cf55..639a90481a 100644 --- a/source/geometry/volumes/include/G4LogicalBorderSurface.hh +++ b/source/geometry/volumes/include/G4LogicalBorderSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4LogicalBorderSurface.hh,v 1.14 2006/06/29 18:57:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4LogicalBorderSurface // diff --git a/source/geometry/volumes/include/G4LogicalBorderSurface.icc b/source/geometry/volumes/include/G4LogicalBorderSurface.icc index 6d70c6b194..5b41c17f52 100644 --- a/source/geometry/volumes/include/G4LogicalBorderSurface.icc +++ b/source/geometry/volumes/include/G4LogicalBorderSurface.icc @@ -25,7 +25,7 @@ // // // $Id: G4LogicalBorderSurface.icc,v 1.9 2006/06/29 18:57:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4LogicalBorderSurface inline implementation diff --git a/source/geometry/volumes/include/G4LogicalSkinSurface.hh b/source/geometry/volumes/include/G4LogicalSkinSurface.hh index 8d9ba0ae71..2cab15cd4b 100644 --- a/source/geometry/volumes/include/G4LogicalSkinSurface.hh +++ b/source/geometry/volumes/include/G4LogicalSkinSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4LogicalSkinSurface.hh,v 1.14 2006/06/29 18:57:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4LogicalSkinSurface // diff --git a/source/geometry/volumes/include/G4LogicalSkinSurface.icc b/source/geometry/volumes/include/G4LogicalSkinSurface.icc index ddf24f26ac..40d1eebd63 100644 --- a/source/geometry/volumes/include/G4LogicalSkinSurface.icc +++ b/source/geometry/volumes/include/G4LogicalSkinSurface.icc @@ -25,7 +25,7 @@ // // // $Id: G4LogicalSkinSurface.icc,v 1.9 2006/06/29 18:57:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4LogicalSkinSurface inline implementation diff --git a/source/geometry/volumes/include/G4NavigationHistory.hh b/source/geometry/volumes/include/G4NavigationHistory.hh index eb5b9caa31..81e360690a 100644 --- a/source/geometry/volumes/include/G4NavigationHistory.hh +++ b/source/geometry/volumes/include/G4NavigationHistory.hh @@ -25,7 +25,7 @@ // // // $Id: G4NavigationHistory.hh,v 1.13 2006/06/29 18:57:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4NavigationHistory // diff --git a/source/geometry/volumes/include/G4NavigationHistory.icc b/source/geometry/volumes/include/G4NavigationHistory.icc index ade6965a97..c67bb3f917 100644 --- a/source/geometry/volumes/include/G4NavigationHistory.icc +++ b/source/geometry/volumes/include/G4NavigationHistory.icc @@ -25,7 +25,7 @@ // // // $Id: G4NavigationHistory.icc,v 1.12 2006/06/29 18:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4NavigationHistory Inline implementation diff --git a/source/geometry/volumes/include/G4NavigationLevel.hh b/source/geometry/volumes/include/G4NavigationLevel.hh index 472a370bc1..aa6bf9309d 100644 --- a/source/geometry/volumes/include/G4NavigationLevel.hh +++ b/source/geometry/volumes/include/G4NavigationLevel.hh @@ -25,7 +25,7 @@ // // // $Id: G4NavigationLevel.hh,v 1.16 2006/06/29 18:57:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4NavigationLevel // diff --git a/source/geometry/volumes/include/G4NavigationLevel.icc b/source/geometry/volumes/include/G4NavigationLevel.icc index 448337b1ae..b991bbe82d 100644 --- a/source/geometry/volumes/include/G4NavigationLevel.icc +++ b/source/geometry/volumes/include/G4NavigationLevel.icc @@ -25,7 +25,7 @@ // // // $Id: G4NavigationLevel.icc,v 1.20 2006/06/29 18:57:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // 30.09.97 J.Apostolakis Initial version. // diff --git a/source/geometry/volumes/include/G4NavigationLevelRep.hh b/source/geometry/volumes/include/G4NavigationLevelRep.hh index 55d5d44293..6662ae9188 100644 --- a/source/geometry/volumes/include/G4NavigationLevelRep.hh +++ b/source/geometry/volumes/include/G4NavigationLevelRep.hh @@ -25,7 +25,7 @@ // // // $Id: G4NavigationLevelRep.hh,v 1.9 2006/06/29 18:57:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4NavigationLevelRep // diff --git a/source/geometry/volumes/include/G4NavigationLevelRep.icc b/source/geometry/volumes/include/G4NavigationLevelRep.icc index 4ac4ee1a8f..acd6079290 100644 --- a/source/geometry/volumes/include/G4NavigationLevelRep.icc +++ b/source/geometry/volumes/include/G4NavigationLevelRep.icc @@ -25,7 +25,7 @@ // // // $Id: G4NavigationLevelRep.icc,v 1.14 2006/06/29 18:57:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // 1 October 1997 J.Apostolakis Initial version. // diff --git a/source/geometry/volumes/include/G4PVParameterised.hh b/source/geometry/volumes/include/G4PVParameterised.hh index e414ba6d1e..e766ba14d7 100644 --- a/source/geometry/volumes/include/G4PVParameterised.hh +++ b/source/geometry/volumes/include/G4PVParameterised.hh @@ -25,7 +25,7 @@ // // // $Id: G4PVParameterised.hh,v 1.8 2007/04/11 07:56:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4PVParameterised diff --git a/source/geometry/volumes/include/G4PVPlacement.hh b/source/geometry/volumes/include/G4PVPlacement.hh index 053f57708a..4592fd69f8 100644 --- a/source/geometry/volumes/include/G4PVPlacement.hh +++ b/source/geometry/volumes/include/G4PVPlacement.hh @@ -25,7 +25,7 @@ // // // $Id: G4PVPlacement.hh,v 1.8 2007/04/11 07:56:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4PVPlacement diff --git a/source/geometry/volumes/include/G4PVReplica.hh b/source/geometry/volumes/include/G4PVReplica.hh index 0f54200fe5..2464a3d567 100644 --- a/source/geometry/volumes/include/G4PVReplica.hh +++ b/source/geometry/volumes/include/G4PVReplica.hh @@ -25,7 +25,7 @@ // // // $Id: G4PVReplica.hh,v 1.5 2006/06/29 18:57:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4PVReplica diff --git a/source/geometry/volumes/include/G4ReflectionFactory.hh b/source/geometry/volumes/include/G4ReflectionFactory.hh index 6217455ea9..5ecf009df2 100644 --- a/source/geometry/volumes/include/G4ReflectionFactory.hh +++ b/source/geometry/volumes/include/G4ReflectionFactory.hh @@ -25,7 +25,7 @@ // // // $Id: G4ReflectionFactory.hh,v 1.3 2006/06/29 18:57:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4ReflectionFactory diff --git a/source/geometry/volumes/include/G4TouchableHistory.hh b/source/geometry/volumes/include/G4TouchableHistory.hh index 28d056df34..ab0a3bc1a0 100644 --- a/source/geometry/volumes/include/G4TouchableHistory.hh +++ b/source/geometry/volumes/include/G4TouchableHistory.hh @@ -25,7 +25,7 @@ // // // $Id: G4TouchableHistory.hh,v 1.8 2006/06/29 18:57:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4TouchableHistory diff --git a/source/geometry/volumes/include/G4TouchableHistory.icc b/source/geometry/volumes/include/G4TouchableHistory.icc index 6227ffbda3..9b28c966e6 100644 --- a/source/geometry/volumes/include/G4TouchableHistory.icc +++ b/source/geometry/volumes/include/G4TouchableHistory.icc @@ -25,7 +25,7 @@ // // // $Id: G4TouchableHistory.icc,v 1.9 2006/06/29 18:57:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4TouchableHistory inline implementation diff --git a/source/geometry/volumes/include/G4TouchableHistoryHandle.hh b/source/geometry/volumes/include/G4TouchableHistoryHandle.hh index a60213e94f..f06036783e 100644 --- a/source/geometry/volumes/include/G4TouchableHistoryHandle.hh +++ b/source/geometry/volumes/include/G4TouchableHistoryHandle.hh @@ -25,7 +25,7 @@ // // // $Id: G4TouchableHistoryHandle.hh,v 1.6 2006/06/29 18:57:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class G4TouchableHistoryHandle // diff --git a/source/geometry/volumes/src/G4AssemblyVolume.cc b/source/geometry/volumes/src/G4AssemblyVolume.cc index 18b28eed22..bf665d1d35 100644 --- a/source/geometry/volumes/src/G4AssemblyVolume.cc +++ b/source/geometry/volumes/src/G4AssemblyVolume.cc @@ -25,7 +25,7 @@ // // // $Id: G4AssemblyVolume.cc,v 1.10 2006/06/29 18:57:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Class G4AssemblyVolume - implementation diff --git a/source/geometry/volumes/src/G4GRSSolid.cc b/source/geometry/volumes/src/G4GRSSolid.cc index 644a696742..ea2c551221 100644 --- a/source/geometry/volumes/src/G4GRSSolid.cc +++ b/source/geometry/volumes/src/G4GRSSolid.cc @@ -25,7 +25,7 @@ // // // $Id: G4GRSSolid.cc,v 1.8 2006/06/29 18:57:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4GRSSolid Implementation diff --git a/source/geometry/volumes/src/G4GRSVolume.cc b/source/geometry/volumes/src/G4GRSVolume.cc index d6451bc1df..4ebd02f5a7 100644 --- a/source/geometry/volumes/src/G4GRSVolume.cc +++ b/source/geometry/volumes/src/G4GRSVolume.cc @@ -25,7 +25,7 @@ // // // $Id: G4GRSVolume.cc,v 1.8 2006/06/29 18:57:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4GRSVolume Implementation diff --git a/source/geometry/volumes/src/G4LogicalBorderSurface.cc b/source/geometry/volumes/src/G4LogicalBorderSurface.cc index 32b5245550..eab9645c2d 100644 --- a/source/geometry/volumes/src/G4LogicalBorderSurface.cc +++ b/source/geometry/volumes/src/G4LogicalBorderSurface.cc @@ -25,7 +25,7 @@ // // // $Id: G4LogicalBorderSurface.cc,v 1.14 2006/06/29 18:57:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // G4LogicalBorderSurface Implementation diff --git a/source/geometry/volumes/src/G4LogicalSkinSurface.cc b/source/geometry/volumes/src/G4LogicalSkinSurface.cc index b4844bc2cb..019e70e60c 100644 --- a/source/geometry/volumes/src/G4LogicalSkinSurface.cc +++ b/source/geometry/volumes/src/G4LogicalSkinSurface.cc @@ -25,7 +25,7 @@ // // // $Id: G4LogicalSkinSurface.cc,v 1.13 2006/06/29 18:57:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // G4LogicalSkinSurface Implementation diff --git a/source/geometry/volumes/src/G4NavigationHistory.cc b/source/geometry/volumes/src/G4NavigationHistory.cc index 3b559dc3ed..2825cec76a 100644 --- a/source/geometry/volumes/src/G4NavigationHistory.cc +++ b/source/geometry/volumes/src/G4NavigationHistory.cc @@ -25,7 +25,7 @@ // // // $Id: G4NavigationHistory.cc,v 1.10 2006/06/29 18:58:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4NavigationHistory Implementation diff --git a/source/geometry/volumes/src/G4NavigationLevel.cc b/source/geometry/volumes/src/G4NavigationLevel.cc index ab7ddc35e8..b7137d2035 100644 --- a/source/geometry/volumes/src/G4NavigationLevel.cc +++ b/source/geometry/volumes/src/G4NavigationLevel.cc @@ -25,7 +25,7 @@ // // // $Id: G4NavigationLevel.cc,v 1.4 2006/06/29 18:58:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // 30.09.97 J.Apostolakis Initial version. // diff --git a/source/geometry/volumes/src/G4NavigationLevelRep.cc b/source/geometry/volumes/src/G4NavigationLevelRep.cc index 7428f4959b..31c7545427 100644 --- a/source/geometry/volumes/src/G4NavigationLevelRep.cc +++ b/source/geometry/volumes/src/G4NavigationLevelRep.cc @@ -25,7 +25,7 @@ // // // $Id: G4NavigationLevelRep.cc,v 1.2 2006/06/29 18:58:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // 1 October 1997 J.Apostolakis Initial version. // diff --git a/source/geometry/volumes/src/G4PVParameterised.cc b/source/geometry/volumes/src/G4PVParameterised.cc index 0c1c62384a..eaf76dde6d 100644 --- a/source/geometry/volumes/src/G4PVParameterised.cc +++ b/source/geometry/volumes/src/G4PVParameterised.cc @@ -25,7 +25,7 @@ // // // $Id: G4PVParameterised.cc,v 1.10 2007/04/11 07:56:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4PVParameterised diff --git a/source/geometry/volumes/src/G4PVPlacement.cc b/source/geometry/volumes/src/G4PVPlacement.cc index 977670d5b4..c3d5d723a3 100644 --- a/source/geometry/volumes/src/G4PVPlacement.cc +++ b/source/geometry/volumes/src/G4PVPlacement.cc @@ -25,7 +25,7 @@ // // // $Id: G4PVPlacement.cc,v 1.16 2007/04/11 07:56:38 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4PVPlacement Implementation diff --git a/source/geometry/volumes/src/G4PVReplica.cc b/source/geometry/volumes/src/G4PVReplica.cc index d33e21bdce..976c2cd044 100644 --- a/source/geometry/volumes/src/G4PVReplica.cc +++ b/source/geometry/volumes/src/G4PVReplica.cc @@ -25,7 +25,7 @@ // // // $Id: G4PVReplica.cc,v 1.7 2006/06/29 18:58:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4PVReplica Implementation diff --git a/source/geometry/volumes/src/G4ReflectionFactory.cc b/source/geometry/volumes/src/G4ReflectionFactory.cc index 5ed1909a4c..de543f0ed9 100644 --- a/source/geometry/volumes/src/G4ReflectionFactory.cc +++ b/source/geometry/volumes/src/G4ReflectionFactory.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ReflectionFactory.cc,v 1.5 2006/06/29 18:58:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ReflectionFactory.cc,v 1.6 2007/05/11 13:58:35 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Class G4ReflectionFactory Implementation @@ -60,7 +60,8 @@ #include "G4LogicalVolume.hh" #include "G4PVPlacement.hh" #include "G4PVReplica.hh" -#include "G4VPVDivisionFactory.hh" +#include "G4VPVDivisionFactory.hh" +#include "G4GeometryTolerance.hh" G4ReflectionFactory* G4ReflectionFactory::fInstance = 0; const G4String G4ReflectionFactory::fDefaultNameExtension = "_refl"; @@ -87,7 +88,8 @@ G4ReflectionFactory::G4ReflectionFactory() // Protected singleton constructor. // --- - fScalePrecision = 10.*kCarTolerance; + fScalePrecision = 10. + * G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); fInstance = this; } diff --git a/source/geometry/volumes/src/G4TouchableHistory.cc b/source/geometry/volumes/src/G4TouchableHistory.cc index 4fb1c4865a..e75178c5e7 100644 --- a/source/geometry/volumes/src/G4TouchableHistory.cc +++ b/source/geometry/volumes/src/G4TouchableHistory.cc @@ -25,7 +25,7 @@ // // // $Id: G4TouchableHistory.cc,v 1.12 2006/06/29 18:58:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4TouchableHistory Implementation diff --git a/source/global/HEPGeometry/include/G4LorentzRotation.hh b/source/global/HEPGeometry/include/G4LorentzRotation.hh index 861f11f2ab..3e88f1dc18 100644 --- a/source/global/HEPGeometry/include/G4LorentzRotation.hh +++ b/source/global/HEPGeometry/include/G4LorentzRotation.hh @@ -25,7 +25,7 @@ // // // $Id: G4LorentzRotation.hh,v 1.5 2006/06/29 18:59:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4LorentzRotation_hh #define G4LorentzRotation_hh diff --git a/source/global/HEPGeometry/include/G4LorentzVector.hh b/source/global/HEPGeometry/include/G4LorentzVector.hh index 132befe201..c724eb9714 100644 --- a/source/global/HEPGeometry/include/G4LorentzVector.hh +++ b/source/global/HEPGeometry/include/G4LorentzVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4LorentzVector.hh,v 1.5 2006/06/29 18:59:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4LorentzVector_hh #define G4LorentzVector_hh diff --git a/source/global/HEPGeometry/include/G4Normal3D.hh b/source/global/HEPGeometry/include/G4Normal3D.hh index 4bc0221142..e398788036 100644 --- a/source/global/HEPGeometry/include/G4Normal3D.hh +++ b/source/global/HEPGeometry/include/G4Normal3D.hh @@ -25,7 +25,7 @@ // // // $Id: G4Normal3D.hh,v 1.5 2006/06/29 18:59:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NORMAL3D_HH #define G4NORMAL3D_HH diff --git a/source/global/HEPGeometry/include/G4Plane3D.hh b/source/global/HEPGeometry/include/G4Plane3D.hh index f67210ccd2..7dd73727cb 100644 --- a/source/global/HEPGeometry/include/G4Plane3D.hh +++ b/source/global/HEPGeometry/include/G4Plane3D.hh @@ -25,7 +25,7 @@ // // // $Id: G4Plane3D.hh,v 1.5 2006/06/29 18:59:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4PLANE3D_HH #define G4PLANE3D_HH diff --git a/source/global/HEPGeometry/include/G4Point3D.hh b/source/global/HEPGeometry/include/G4Point3D.hh index e40642ace2..302d887c4c 100644 --- a/source/global/HEPGeometry/include/G4Point3D.hh +++ b/source/global/HEPGeometry/include/G4Point3D.hh @@ -25,7 +25,7 @@ // // // $Id: G4Point3D.hh,v 1.5 2006/06/29 18:59:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4POINT3D_HH #define G4POINT3D_HH diff --git a/source/global/HEPGeometry/include/G4Transform3D.hh b/source/global/HEPGeometry/include/G4Transform3D.hh index 4480dcb4c3..d9f5b472bb 100644 --- a/source/global/HEPGeometry/include/G4Transform3D.hh +++ b/source/global/HEPGeometry/include/G4Transform3D.hh @@ -25,7 +25,7 @@ // // // $Id: G4Transform3D.hh,v 1.5 2006/06/29 18:59:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4TRANSFORM3D_HH #define G4TRANSFORM3D_HH diff --git a/source/global/HEPGeometry/include/G4Vector3D.hh b/source/global/HEPGeometry/include/G4Vector3D.hh index 5751ede66a..e3c337003b 100644 --- a/source/global/HEPGeometry/include/G4Vector3D.hh +++ b/source/global/HEPGeometry/include/G4Vector3D.hh @@ -25,7 +25,7 @@ // // // $Id: G4Vector3D.hh,v 1.5 2006/06/29 18:59:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VECTOR3D_HH #define G4VECTOR3D_HH diff --git a/source/global/HEPGeometry/include/geomdefs.hh b/source/global/HEPGeometry/include/geomdefs.hh index 1c22abf7ea..669a2f50c2 100644 --- a/source/global/HEPGeometry/include/geomdefs.hh +++ b/source/global/HEPGeometry/include/geomdefs.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: geomdefs.hh,v 1.6 2006/06/29 18:59:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: geomdefs.hh,v 1.8 2007/05/18 07:21:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -42,17 +42,6 @@ // `Infinity' - Distance returned for no intersection etc. static const G4double kInfinity = 9.0E99; -// Thickness of shapes for Inside function / tracking. -// Should be greater than largest math error from the shape -// distance calculation routines. -// Tolerance is centred on surface: Inside routine uses a -// tolerance dx +/- kTol/2 -// Note: values not `tuned', and because of approximations kRadtolerance and -// kAngTolerance may not always be used as an exact radius -static const G4double kCarTolerance = 1E-9*mm; -static const G4double kRadTolerance = 1E-9*mm; -static const G4double kAngTolerance = 1E-9*rad; - // Minimum cosine of angle between surface normal & track direction // for exiting normal optimisation static const double kMinExitingNormalCosine = 1E-3; diff --git a/source/global/HEPNumerics/include/G4AnalyticalPolSolver.hh b/source/global/HEPNumerics/include/G4AnalyticalPolSolver.hh index 78c412d7d9..f8739df051 100644 --- a/source/global/HEPNumerics/include/G4AnalyticalPolSolver.hh +++ b/source/global/HEPNumerics/include/G4AnalyticalPolSolver.hh @@ -25,7 +25,7 @@ // // // $Id: G4AnalyticalPolSolver.hh,v 1.5 2006/06/29 18:59:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4ChebyshevApproximation.hh b/source/global/HEPNumerics/include/G4ChebyshevApproximation.hh index 262fc4a36c..556885b923 100644 --- a/source/global/HEPNumerics/include/G4ChebyshevApproximation.hh +++ b/source/global/HEPNumerics/include/G4ChebyshevApproximation.hh @@ -25,7 +25,7 @@ // // // $Id: G4ChebyshevApproximation.hh,v 1.6 2006/06/29 18:59:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4DataInterpolation.hh b/source/global/HEPNumerics/include/G4DataInterpolation.hh index f453087205..e0d8a98f71 100644 --- a/source/global/HEPNumerics/include/G4DataInterpolation.hh +++ b/source/global/HEPNumerics/include/G4DataInterpolation.hh @@ -25,7 +25,7 @@ // // // $Id: G4DataInterpolation.hh,v 1.5 2006/06/29 18:59:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4GaussChebyshevQ.hh b/source/global/HEPNumerics/include/G4GaussChebyshevQ.hh index 18ea9f02fd..a2eb6e196f 100644 --- a/source/global/HEPNumerics/include/G4GaussChebyshevQ.hh +++ b/source/global/HEPNumerics/include/G4GaussChebyshevQ.hh @@ -25,7 +25,7 @@ // // // $Id: G4GaussChebyshevQ.hh,v 1.5 2006/06/29 18:59:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4GaussHermiteQ.hh b/source/global/HEPNumerics/include/G4GaussHermiteQ.hh index 98bc8971df..9e3edafcb5 100644 --- a/source/global/HEPNumerics/include/G4GaussHermiteQ.hh +++ b/source/global/HEPNumerics/include/G4GaussHermiteQ.hh @@ -25,7 +25,7 @@ // // // $Id: G4GaussHermiteQ.hh,v 1.6 2006/06/29 18:59:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4GaussJacobiQ.hh b/source/global/HEPNumerics/include/G4GaussJacobiQ.hh index 2bde6bdb21..03a5ba11a3 100644 --- a/source/global/HEPNumerics/include/G4GaussJacobiQ.hh +++ b/source/global/HEPNumerics/include/G4GaussJacobiQ.hh @@ -25,7 +25,7 @@ // // // $Id: G4GaussJacobiQ.hh,v 1.5 2006/06/29 18:59:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4GaussLaguerreQ.hh b/source/global/HEPNumerics/include/G4GaussLaguerreQ.hh index 86450b7692..cd480ead6f 100644 --- a/source/global/HEPNumerics/include/G4GaussLaguerreQ.hh +++ b/source/global/HEPNumerics/include/G4GaussLaguerreQ.hh @@ -25,7 +25,7 @@ // // // $Id: G4GaussLaguerreQ.hh,v 1.6 2006/06/29 18:59:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4GaussLegendreQ.hh b/source/global/HEPNumerics/include/G4GaussLegendreQ.hh index 6d3c38792a..63e63b3f27 100644 --- a/source/global/HEPNumerics/include/G4GaussLegendreQ.hh +++ b/source/global/HEPNumerics/include/G4GaussLegendreQ.hh @@ -25,7 +25,7 @@ // // // $Id: G4GaussLegendreQ.hh,v 1.6 2006/06/29 18:59:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4Integrator.hh b/source/global/HEPNumerics/include/G4Integrator.hh index 957d78ad1e..db7df09ba7 100644 --- a/source/global/HEPNumerics/include/G4Integrator.hh +++ b/source/global/HEPNumerics/include/G4Integrator.hh @@ -25,7 +25,7 @@ // // // $Id: G4Integrator.hh,v 1.7 2006/06/29 18:59:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4Integrator.icc b/source/global/HEPNumerics/include/G4Integrator.icc index 2061f610b5..39892ca3e6 100644 --- a/source/global/HEPNumerics/include/G4Integrator.icc +++ b/source/global/HEPNumerics/include/G4Integrator.icc @@ -25,7 +25,7 @@ // // // $Id: G4Integrator.icc,v 1.13 2006/06/29 18:59:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Implementation of G4Integrator methods. // diff --git a/source/global/HEPNumerics/include/G4JTPolynomialSolver.hh b/source/global/HEPNumerics/include/G4JTPolynomialSolver.hh index 75db603bfd..148cac8226 100644 --- a/source/global/HEPNumerics/include/G4JTPolynomialSolver.hh +++ b/source/global/HEPNumerics/include/G4JTPolynomialSolver.hh @@ -25,7 +25,7 @@ // // // $Id: G4JTPolynomialSolver.hh,v 1.6 2006/06/29 18:59:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4PolynomialSolver.hh b/source/global/HEPNumerics/include/G4PolynomialSolver.hh index a4c6ef8ebe..f79ddc37db 100644 --- a/source/global/HEPNumerics/include/G4PolynomialSolver.hh +++ b/source/global/HEPNumerics/include/G4PolynomialSolver.hh @@ -25,7 +25,7 @@ // // // $Id: G4PolynomialSolver.hh,v 1.4 2006/06/29 18:59:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4PolynomialSolver // diff --git a/source/global/HEPNumerics/include/G4PolynomialSolver.icc b/source/global/HEPNumerics/include/G4PolynomialSolver.icc index 2f1a4d4d84..82680bf66d 100644 --- a/source/global/HEPNumerics/include/G4PolynomialSolver.icc +++ b/source/global/HEPNumerics/include/G4PolynomialSolver.icc @@ -25,7 +25,7 @@ // // // $Id: G4PolynomialSolver.icc,v 1.8 2006/06/29 18:59:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4PolynomialSolver // diff --git a/source/global/HEPNumerics/include/G4SimpleIntegration.hh b/source/global/HEPNumerics/include/G4SimpleIntegration.hh index bbd21b6ae5..8985f9ef0b 100644 --- a/source/global/HEPNumerics/include/G4SimpleIntegration.hh +++ b/source/global/HEPNumerics/include/G4SimpleIntegration.hh @@ -25,7 +25,7 @@ // // // $Id: G4SimpleIntegration.hh,v 1.6 2006/06/29 18:59:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/include/G4SimplexDownhill.hh b/source/global/HEPNumerics/include/G4SimplexDownhill.hh new file mode 100644 index 0000000000..e9c9c32da3 --- /dev/null +++ b/source/global/HEPNumerics/include/G4SimplexDownhill.hh @@ -0,0 +1,111 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4SimplexDownhill.hh,v 1.3 2007/06/21 15:04:12 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// Class description: +// +// Class implementing minimization of a function of n variables. +// Reference: "A Simplex method for function minimization" +// by J. A. Nelder and R. Mead, Computer Journal, 7, 308 (1965) +// and also: "Numerical Recipes in C: the art of scientific computing" +// by William H., Cambridge University Press ISBN 0521437202 (1992) + +// Author: Tatsumi Koi (SLAC/SCCS), 2007 +// -------------------------------------------------------------------------- + +#ifndef G4SimplexDownhill +#define G4SimplexDownhill_h + +#include "globals.hh" + +#include +#include + +template +class G4SimplexDownhill +{ + + public: // with description + + G4SimplexDownhill( T* tp , G4int n ) + { target = tp; init(); numberOfVariable = n; } + + ~G4SimplexDownhill(); + + G4double GetMinimum(); + + std::vector< G4double > GetMinimumPoint(); + + + private: + + G4double getValue( std::vector< G4double > x ) + { return target->GetValueOfMinimizingFunction( x ); } + + void initialize(); + std::vector< std::vector< G4double > > currentSimplex; + + void calHeights(); + std::vector< G4double > currentHeights; + G4double currentValue; + + std::vector< G4double > calCentroid( G4int ); + + G4bool isItGoodEnough(); + + std::vector< G4double > getReflectionPoint( std::vector< G4double > , + std::vector< G4double > ); + std::vector< G4double > getExpansionPoint( std::vector< G4double > , + std::vector< G4double > ); + std::vector< G4double > getContractionPoint( std::vector< G4double > , + std::vector< G4double > ); + + void doDownhill(); + + void init(); + + private: + + T* target; + + G4int numberOfVariable; + + G4double alpha; + G4double beta; + G4double gamma; + G4double max_se; + G4double max_ratio; + G4int maximum_no_trial; + G4bool minimized; + + std::vector< G4double > minimumPoint; +}; + +#include "G4SimplexDownhill.icc" + +#endif diff --git a/source/global/HEPNumerics/include/G4SimplexDownhill.icc b/source/global/HEPNumerics/include/G4SimplexDownhill.icc new file mode 100644 index 0000000000..4712bc2418 --- /dev/null +++ b/source/global/HEPNumerics/include/G4SimplexDownhill.icc @@ -0,0 +1,443 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4SimplexDownhill.icc,v 1.2 2007/05/11 13:05:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// Author: Tatsumi Koi (SLAC/SCCS), 2007 +// -------------------------------------------------------------------------- + +#include +#include +#include + +template void G4SimplexDownhill::init() +{ + alpha = 2.0; // refrection coefficient: 0 < alpha + beta = 0.5; // contraction coefficient: 0 < beta < 1 + gamma = 2.0; // expantion coefficient: 1 < gamma + + maximum_no_trial = 10000; + max_se = FLT_MIN; + //max_ratio = FLT_EPSILON/1; + max_ratio = DBL_EPSILON/1; + minimized = false; +} + + +/* + +void G4SimplexDownhill:: +SetFunction( G4int n , G4double( *afunc )( std::vector < G4double > ) ) +{ + numberOfVariable = n; + theFunction = afunc; + minimized = false; +} + +*/ + + +template +G4double G4SimplexDownhill::GetMinimum() +{ + + initialize(); + +// First Tryal; + + //G4cout << "Begin First Trials" << G4endl; + doDownhill(); + //G4cout << "End First Trials" << G4endl; + + std::vector< G4double >::iterator it_minh = + std::min_element( currentHeights.begin() , currentHeights.end() ); + G4int imin = -1; + G4int i = 0; + for ( std::vector< G4double >::iterator it = currentHeights.begin(); + it != currentHeights.end(); it++ ) + { + if ( it == it_minh ) + { + imin = i; + } + i++; + } + std::vector< G4double > minimumPoint = currentSimplex[ imin ]; + +// Second Trial + + //std::vector< G4double > minimumPoint = currentSimplex[ 0 ]; + initialize(); + + currentSimplex[ numberOfVariable ] = minimumPoint; + + //G4cout << "Begin Second Trials" << G4endl; + doDownhill(); + //G4cout << "End Second Trials" << G4endl; + + G4double sum = std::accumulate( currentHeights.begin() , + currentHeights.end() , 0.0 ); + G4double average = sum/(numberOfVariable+1); + G4double minimum = average; + + minimized = true; + + return minimum; + +} + + + +template +void G4SimplexDownhill::initialize() +{ + + currentSimplex.resize( numberOfVariable+1 ); + currentHeights.resize( numberOfVariable+1 ); + + for ( G4int i = 0 ; i < numberOfVariable ; i++ ) + { + std::vector< G4double > avec ( numberOfVariable , 0.0 ); + avec[ i ] = 1.0; + currentSimplex[ i ] = avec; + } + + //std::vector< G4double > avec ( numberOfVariable , 0.0 ); + std::vector< G4double > avec ( numberOfVariable , 1 ); + currentSimplex[ numberOfVariable ] = avec; + +} + + + +template +void G4SimplexDownhill::calHeights() +{ + + for ( G4int i = 0 ; i <= numberOfVariable ; i++ ) + { + currentHeights[i] = getValue ( currentSimplex[i] ); + } + +} + + + +template +std::vector< G4double > G4SimplexDownhill::calCentroid( G4int ih ) +{ + + std::vector< G4double > centroid ( numberOfVariable , 0.0 ); + + G4int i = 0; + for ( std::vector< std::vector< G4double > >::iterator + it = currentSimplex.begin(); it != currentSimplex.end() ; it++ ) + { + if ( i != ih ) + { + for ( G4int j = 0 ; j < numberOfVariable ; j++ ) + { + centroid[j] += (*it)[j]/numberOfVariable; + } + } + i++; + } + + return centroid; +} + + + +template +std::vector< G4double > G4SimplexDownhill:: +getReflectionPoint( std::vector< G4double > p , + std::vector< G4double > centroid ) +{ + //G4cout << "Reflection" << G4endl; + + std::vector< G4double > reflectionP ( numberOfVariable , 0.0 ); + + for ( G4int i = 0 ; i < numberOfVariable ; i++ ) + { + reflectionP[ i ] = ( 1 + alpha ) * centroid[ i ] - alpha * p[ i ]; + } + + return reflectionP; +} + + + +template +std::vector< G4double > G4SimplexDownhill:: +getExpansionPoint( std::vector< G4double > p , + std::vector< G4double > centroid ) +{ + //G4cout << "Expantion" << G4endl; + + std::vector< G4double > expansionP ( numberOfVariable , 0.0 ); + + for ( G4int i = 0 ; i < numberOfVariable ; i++ ) + { + expansionP[i] = ( 1 - gamma ) * centroid[i] + gamma * p[i]; + } + + return expansionP; +} + +template +std::vector< G4double > G4SimplexDownhill:: +getContractionPoint( std::vector< G4double > p , + std::vector< G4double > centroid ) +{ + //G4cout << "Contraction" << G4endl; + + std::vector< G4double > contractionP ( numberOfVariable , 0.0 ); + + for ( G4int i = 0 ; i < numberOfVariable ; i++ ) + { + contractionP[i] = ( 1 - beta ) * centroid[i] + beta * p[i]; + } + + return contractionP; +} + + + +template +G4bool G4SimplexDownhill::isItGoodEnough() +{ + G4bool result = false; + + G4double sum = std::accumulate( currentHeights.begin() , + currentHeights.end() , 0.0 ); + G4double average = sum/(numberOfVariable+1); + //G4cout << "average " << average << G4endl; + + G4double delta = 0.0; + for ( G4int i = 0 ; i <= numberOfVariable ; i++ ) + { + delta += std::abs ( currentHeights[ i ] - average ); + } + //G4cout << "ratio of delta to average is " + // << delta / (numberOfVariable+1) / average << G4endl; + + if ( delta/(numberOfVariable+1)/average < max_ratio ) + { + result = true; + } + +/* + G4double sigma = 0.0; + G4cout << "average " << average << G4endl; + for ( G4int i = 0 ; i <= numberOfVariable ; i++ ) + { + sigma += ( currentHeights[ i ] - average ) + *( currentHeights[ i ] - average ); + } + + G4cout << "standard error of hs " + << std::sqrt ( sigma ) / (numberOfVariable+1) << G4endl; + if ( std::sqrt ( sigma ) / (numberOfVariable+1) < max_se ) + { + result = true; + } +*/ + + return result; +} + + + +template +void G4SimplexDownhill::doDownhill() +{ + + G4int nth_trial = 0; + + while ( nth_trial < maximum_no_trial ) + { + +/* + G4cout << "Begining " << nth_trial << "th trial " << G4endl; + for ( G4int j = 0 ; j <= numberOfVariable ; j++ ) + { + G4cout << "SimplexPoint " << j << ": "; + for ( G4int i = 0 ; i < numberOfVariable ; i++ ) + { + G4cout << currentSimplex[j][i] + << " "; + } + G4cout << G4endl; + } +*/ + + calHeights(); + + if ( isItGoodEnough() ) + { + break; + } + + std::vector< G4double >::iterator it_maxh = + std::max_element( currentHeights.begin() , currentHeights.end() ); + std::vector< G4double >::iterator it_minh = + std::min_element( currentHeights.begin() , currentHeights.end() );; + + G4double h_H = *it_maxh; + G4double h_L = *it_minh; + + G4int ih = 0;; + G4int il = 0; + G4double h_H2 =0.0; + G4int i = 0; + for ( std::vector< G4double >::iterator + it = currentHeights.begin(); it != currentHeights.end(); it++ ) + { + if ( it == it_maxh ) + { + ih = i; + } + else + { + h_H2 = std::max( h_H2 , *it ); + } + + if ( it == it_minh ) + { + il = i; + } + i++; + } + + //G4cout << "max " << h_H << " " << ih << G4endl; + //G4cout << "max-dash " << h_H2 << G4endl; + //G4cout << "min " << h_L << " " << il << G4endl; + + std::vector< G4double > centroidPoint = calCentroid ( ih ); + + // REFLECTION + std::vector< G4double > reflectionPoint = + getReflectionPoint( currentSimplex[ ih ] , centroidPoint ); + + G4double h = getValue( reflectionPoint ); + + if ( h <= h_L ) + { + // EXPANSION + std::vector< G4double > expansionPoint = + getExpansionPoint( reflectionPoint , centroidPoint ); + G4double hh = getValue( expansionPoint ); + + if ( hh <= h_L ) + { + // Replace + currentSimplex[ ih ] = expansionPoint; + //G4cout << "A" << G4endl; + } + else + { + // Replace + currentSimplex[ ih ] = reflectionPoint; + //G4cout << "B1" << G4endl; + } + } + else + { + if ( h <= h_H2 ) + { + // Replace + currentSimplex[ ih ] = reflectionPoint; + //G4cout << "B2" << G4endl; + } + else + { + if ( h <= h_H ) + { + // Replace + currentSimplex[ ih ] = reflectionPoint; + //G4cout << "BC" << G4endl; + } + // CONTRACTION + std::vector< G4double > contractionPoint = + getContractionPoint( currentSimplex[ ih ] , centroidPoint ); + G4double hh = getValue( contractionPoint ); + if ( hh <= h_H ) + { + // Replace + currentSimplex[ ih ] = contractionPoint; + //G4cout << "C" << G4endl; + } + else + { + // Replace + for ( G4int j = 0 ; j <= numberOfVariable ; j++ ) + { + std::vector< G4double > vec ( numberOfVariable , 0.0 ); + for ( G4int k = 0 ; k < numberOfVariable ; k++ ) + { + vec[ k ] = ( currentSimplex[ j ][ k ] + + currentSimplex[ il ][ k ] ) / 2.0; + } + currentSimplex[ j ] = vec; + } + //G4cout << "D" << G4endl; + } + } + + } + + nth_trial++; + } +} + + + +template +std::vector< G4double > G4SimplexDownhill::GetMinimumPoint() +{ + if ( minimized != true ) + { + GetMinimum(); + } + + std::vector< G4double >::iterator it_minh = + std::min_element( currentHeights.begin() , currentHeights.end() );; + G4int imin = -1; + G4int i = 0; + for ( std::vector< G4double >::iterator + it = currentHeights.begin(); it != currentHeights.end(); it++ ) + { + if ( it == it_minh ) + { + imin = i; + } + i++; + } + std::vector< G4double > minimumPoint = currentSimplex[ imin ]; + + return minimumPoint; +} diff --git a/source/global/HEPNumerics/include/G4VGaussianQuadrature.hh b/source/global/HEPNumerics/include/G4VGaussianQuadrature.hh index 0b984bbca1..efb6574ebc 100644 --- a/source/global/HEPNumerics/include/G4VGaussianQuadrature.hh +++ b/source/global/HEPNumerics/include/G4VGaussianQuadrature.hh @@ -25,7 +25,7 @@ // // // $Id: G4VGaussianQuadrature.hh,v 1.7 2006/06/29 18:59:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class description: // diff --git a/source/global/HEPNumerics/src/G4AnalyticalPolSolver.cc b/source/global/HEPNumerics/src/G4AnalyticalPolSolver.cc index 0d7d91f553..81ec2a0c83 100644 --- a/source/global/HEPNumerics/src/G4AnalyticalPolSolver.cc +++ b/source/global/HEPNumerics/src/G4AnalyticalPolSolver.cc @@ -25,7 +25,7 @@ // // // $Id: G4AnalyticalPolSolver.cc,v 1.6 2006/06/29 19:00:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "globals.hh" diff --git a/source/global/HEPNumerics/src/G4ChebyshevApproximation.cc b/source/global/HEPNumerics/src/G4ChebyshevApproximation.cc index cccddc5d4d..d367a6fb53 100644 --- a/source/global/HEPNumerics/src/G4ChebyshevApproximation.cc +++ b/source/global/HEPNumerics/src/G4ChebyshevApproximation.cc @@ -25,7 +25,7 @@ // // // $Id: G4ChebyshevApproximation.cc,v 1.6 2006/06/29 19:00:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4ChebyshevApproximation.hh" diff --git a/source/global/HEPNumerics/src/G4DataInterpolation.cc b/source/global/HEPNumerics/src/G4DataInterpolation.cc index 43f3773a9c..ea9d6ab393 100644 --- a/source/global/HEPNumerics/src/G4DataInterpolation.cc +++ b/source/global/HEPNumerics/src/G4DataInterpolation.cc @@ -25,7 +25,7 @@ // // // $Id: G4DataInterpolation.cc,v 1.8 2006/06/29 19:00:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4DataInterpolation.hh" diff --git a/source/global/HEPNumerics/src/G4GaussChebyshevQ.cc b/source/global/HEPNumerics/src/G4GaussChebyshevQ.cc index e6fa561013..8afe6ef1b3 100644 --- a/source/global/HEPNumerics/src/G4GaussChebyshevQ.cc +++ b/source/global/HEPNumerics/src/G4GaussChebyshevQ.cc @@ -25,7 +25,7 @@ // // // $Id: G4GaussChebyshevQ.cc,v 1.6 2006/06/29 19:00:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4GaussChebyshevQ.hh" diff --git a/source/global/HEPNumerics/src/G4GaussHermiteQ.cc b/source/global/HEPNumerics/src/G4GaussHermiteQ.cc index a1ad374fdd..330e35fe8c 100644 --- a/source/global/HEPNumerics/src/G4GaussHermiteQ.cc +++ b/source/global/HEPNumerics/src/G4GaussHermiteQ.cc @@ -25,7 +25,7 @@ // // // $Id: G4GaussHermiteQ.cc,v 1.7 2006/06/29 19:00:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4GaussHermiteQ.hh" diff --git a/source/global/HEPNumerics/src/G4GaussJacobiQ.cc b/source/global/HEPNumerics/src/G4GaussJacobiQ.cc index ae437e0bec..36ef848046 100644 --- a/source/global/HEPNumerics/src/G4GaussJacobiQ.cc +++ b/source/global/HEPNumerics/src/G4GaussJacobiQ.cc @@ -25,7 +25,7 @@ // // // $Id: G4GaussJacobiQ.cc,v 1.7 2006/06/29 19:00:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4GaussJacobiQ.hh" diff --git a/source/global/HEPNumerics/src/G4GaussLaguerreQ.cc b/source/global/HEPNumerics/src/G4GaussLaguerreQ.cc index b234b50c53..76c6572c84 100644 --- a/source/global/HEPNumerics/src/G4GaussLaguerreQ.cc +++ b/source/global/HEPNumerics/src/G4GaussLaguerreQ.cc @@ -25,7 +25,7 @@ // // // $Id: G4GaussLaguerreQ.cc,v 1.7 2006/06/29 19:00:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4GaussLaguerreQ.hh" diff --git a/source/global/HEPNumerics/src/G4GaussLegendreQ.cc b/source/global/HEPNumerics/src/G4GaussLegendreQ.cc index 873cf023bf..b779daaba6 100644 --- a/source/global/HEPNumerics/src/G4GaussLegendreQ.cc +++ b/source/global/HEPNumerics/src/G4GaussLegendreQ.cc @@ -25,7 +25,7 @@ // // // $Id: G4GaussLegendreQ.cc,v 1.7 2006/06/29 19:00:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4GaussLegendreQ.hh" diff --git a/source/global/HEPNumerics/src/G4JTPolynomialSolver.cc b/source/global/HEPNumerics/src/G4JTPolynomialSolver.cc index adfbbd9146..4c91afeb75 100644 --- a/source/global/HEPNumerics/src/G4JTPolynomialSolver.cc +++ b/source/global/HEPNumerics/src/G4JTPolynomialSolver.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4JTPolynomialSolver.cc,v 1.5 2006/06/29 19:00:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/global/HEPNumerics/src/G4SimpleIntegration.cc b/source/global/HEPNumerics/src/G4SimpleIntegration.cc index ed9d79bf49..98d6caa7ea 100644 --- a/source/global/HEPNumerics/src/G4SimpleIntegration.cc +++ b/source/global/HEPNumerics/src/G4SimpleIntegration.cc @@ -25,7 +25,7 @@ // // // $Id: G4SimpleIntegration.cc,v 1.7 2006/06/29 19:00:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Implementation file for simple integration methods // diff --git a/source/global/HEPNumerics/src/G4VGaussianQuadrature.cc b/source/global/HEPNumerics/src/G4VGaussianQuadrature.cc index 0b1e8a2e81..c8760a5ae7 100644 --- a/source/global/HEPNumerics/src/G4VGaussianQuadrature.cc +++ b/source/global/HEPNumerics/src/G4VGaussianQuadrature.cc @@ -25,7 +25,7 @@ // // // $Id: G4VGaussianQuadrature.cc,v 1.7 2006/06/29 19:00:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Implementation file for G4VGaussianQuadrature virtual base class // diff --git a/source/global/HEPRandom/include/G4Poisson.hh b/source/global/HEPRandom/include/G4Poisson.hh index f30b3dfc7b..f74ebf9e02 100644 --- a/source/global/HEPRandom/include/G4Poisson.hh +++ b/source/global/HEPRandom/include/G4Poisson.hh @@ -25,7 +25,7 @@ // // // $Id: G4Poisson.hh,v 1.9 2006/06/29 19:00:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/HEPRandom/include/G4RandomDirection.hh b/source/global/HEPRandom/include/G4RandomDirection.hh index 95f52cba77..3fb8bbec6e 100644 --- a/source/global/HEPRandom/include/G4RandomDirection.hh +++ b/source/global/HEPRandom/include/G4RandomDirection.hh @@ -25,7 +25,7 @@ // // // $Id: G4RandomDirection.hh,v 1.3 2006/06/29 19:00:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/HEPRandom/include/Randomize.hh b/source/global/HEPRandom/include/Randomize.hh index f5defe12db..5f36955dc8 100644 --- a/source/global/HEPRandom/include/Randomize.hh +++ b/source/global/HEPRandom/include/Randomize.hh @@ -25,7 +25,7 @@ // // // $Id: Randomize.hh,v 1.7 2006/06/29 19:00:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef randomize_h #define randomize_h 1 diff --git a/source/global/History b/source/global/History index 3133f5feee..7a28c96ebe 100644 --- a/source/global/History +++ b/source/global/History @@ -1,4 +1,4 @@ -$Id: History,v 1.177 2007/04/25 11:40:55 gcosmo Exp $ +$Id: History,v 1.186 2007/06/18 13:26:58 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,47 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Jun 18, 2007 G.Cosmo (global-V08-03-07) +- Force static initialisation to G4GeometryTolerance singleton, to overcome + problems in startup on MacOS for the case of redundant link list of + libraries. + +Jun 05, 2007 G.Cosmo (global-V08-03-06) +- Fixed compilation warnings on Intel icc compiler for useless const + specification in return values of G4ErrorPropagatorData methods. + +Jun 05, 2007 G.Cosmo (global-V08-03-05) +- Define static methods not inline in G4ErrorPropagatorData class, to allow + for generation of DLLs on Windows. + +May 30, 2007 G.Cosmo (global-V08-03-04) +- Changed date for release 9.0. + +May 18, 2007 G.Cosmo (global-V08-03-03) +- Removed kAngTolerance and kRadTolerance constants, now provided by the + G4GeometryTolerance class. Values are still kept as the original set in + geomdefs.hh and cannot be changed. + +May 16, 2007 G.Cosmo (global-V08-03-02) +- Introduced new utility class G4ErrorPropagatorData to provide access to + mode, state, target and manager verbosity for the error propagation + classes (by P.Arce). + +May 13, 2007 V.Ivanchenko (global-V08-03-01) +- Fixed bug in G4LPhysicsVector constructor: initialise vectors of + length=nbin+1 (one bin is hidden for users). Addresses bug report #942. + +May 11, 2007 G.Cosmo (global-V08-03-00) +- Added G4GeometryTolerance singleton class for the definition of + tunable geometrical tolerances. The Cartesian tolerance can either be set + to a fixed value (kCarTolerance=1E-9 mm) or to a value computed on the basis + of the maximum extent of the world volume assigned through the + G4GeometryManager at the beginning of the application -before- any + geometrical object is created. +- Old static constant 'kCarTolerance' has been removed. +- Added new class G4SimplexDownhill in HEPNumerics module: a Simplex method + for function minimization. + Apr 25, 2007 G.Cosmo (global-V08-02-02) - Changed date for release 8.3. diff --git a/source/global/management/include/G4Allocator.hh b/source/global/management/include/G4Allocator.hh index a81b7228c3..035df9d9de 100644 --- a/source/global/management/include/G4Allocator.hh +++ b/source/global/management/include/G4Allocator.hh @@ -25,7 +25,7 @@ // // // $Id: G4Allocator.hh,v 1.18 2006/06/29 19:01:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4AllocatorPool.hh b/source/global/management/include/G4AllocatorPool.hh index c35d2eb609..48e05fb89b 100644 --- a/source/global/management/include/G4AllocatorPool.hh +++ b/source/global/management/include/G4AllocatorPool.hh @@ -25,7 +25,7 @@ // // // $Id: G4AllocatorPool.hh,v 1.5 2006/06/29 19:01:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------------- diff --git a/source/global/management/include/G4ApplicationState.hh b/source/global/management/include/G4ApplicationState.hh index 918856597b..0ee04da867 100644 --- a/source/global/management/include/G4ApplicationState.hh +++ b/source/global/management/include/G4ApplicationState.hh @@ -25,7 +25,7 @@ // // // $Id: G4ApplicationState.hh,v 1.4 2006/06/29 19:01:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4APPLICATIONSTATE_H diff --git a/source/global/management/include/G4DataVector.hh b/source/global/management/include/G4DataVector.hh index 89c20f2a7e..e83a60435e 100644 --- a/source/global/management/include/G4DataVector.hh +++ b/source/global/management/include/G4DataVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4DataVector.hh,v 1.14 2006/06/29 19:01:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4DataVector.icc b/source/global/management/include/G4DataVector.icc index 1ce6393cea..3204112c49 100644 --- a/source/global/management/include/G4DataVector.icc +++ b/source/global/management/include/G4DataVector.icc @@ -25,7 +25,7 @@ // // // $Id: G4DataVector.icc,v 1.2 2006/06/29 19:01:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4DataVector inline implementation diff --git a/examples/advanced/hadrontherapy/include/HadrontherapyProtonPrecompound.hh b/source/global/management/include/G4ErrorPropagatorData.hh similarity index 53% rename from examples/advanced/hadrontherapy/include/HadrontherapyProtonPrecompound.hh rename to source/global/management/include/G4ErrorPropagatorData.hh index 8653332093..199b9dd092 100644 --- a/examples/advanced/hadrontherapy/include/HadrontherapyProtonPrecompound.hh +++ b/source/global/management/include/G4ErrorPropagatorData.hh @@ -23,61 +23,82 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadrontherapyProtonPrecompound.hh; May 2005 -// ---------------------------------------------------------------------------- -// GEANT 4 - Hadrontherapy example -// ---------------------------------------------------------------------------- -// Code developed by: // -// G.A.P. Cirrone(a)*, F. Di Rosa(a), S. Guatelli(b), G. Russo(a) -// -// (a) Laboratori Nazionali del Sud -// of the National Institute for Nuclear Physics, Catania, Italy -// (b) National Institute for Nuclear Physics Section of Genova, genova, Italy -// -// * cirrone@lns.infn.it -// ---------------------------------------------------------------------------- -#ifndef HadrontherapyProtonPrecompound_h -#define HadrontherapyProtonPrecompound_h 1 +// $Id: G4ErrorPropagatorData.hh,v 1.3 2007/06/08 10:33:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// -------------------------------------------------------------------- +// GEANT 4 class header file +// -------------------------------------------------------------------- +// +// Class Description: +// +// Utility class to provide access to mode, state, target +// and manager verbosity for the error propagation classes. + +// History: +// - Created. P.Arce, 2004. +// -------------------------------------------------------------------- + +#ifndef G4ErrorPropagatorData_HH +#define G4ErrorPropagatorData_HH -#include "G4VPhysicsConstructor.hh" #include "globals.hh" -#include "G4ProtonInelasticCrossSection.hh" -#include "G4NeutronInelasticCrossSection.hh" -#include "G4ProtonInelasticProcess.hh" -#include "G4NeutronInelasticProcess.hh" -#include "G4DeuteronInelasticProcess.hh" -#include "G4TritonInelasticProcess.hh" -#include "G4AlphaInelasticProcess.hh" -#include "G4ExcitationHandler.hh" -class HadrontherapyProtonPrecompound: public G4VPhysicsConstructor +enum G4ErrorMode { G4ErrorMode_PropForwards = 1, + G4ErrorMode_PropBackwards, + G4ErrorMode_PropTest }; + +enum G4ErrorState { G4ErrorState_PreInit = 1, + G4ErrorState_Init, + G4ErrorState_Propagating, + G4ErrorState_TargetCloserThanBoundary, + G4ErrorState_StoppedAtTarget }; +class G4ErrorTarget; + +class G4ErrorPropagatorData { - public: - HadrontherapyProtonPrecompound(const G4String& name = "proton-precompound"); - virtual ~HadrontherapyProtonPrecompound(); - protected: - // Construct particle and physics - void ConstructParticle(){}; - void ConstructProcess(); +public: // with description + + static G4ErrorPropagatorData* GetErrorPropagatorData(); + // Singleton instance + + // Get and Set methods + G4ErrorMode GetMode() const; + void SetMode( G4ErrorMode mode ); + + G4ErrorState GetState() const; + void SetState( G4ErrorState sta ); + + const G4ErrorTarget* GetTarget( G4bool mustExist = 0) const; + void SetTarget( const G4ErrorTarget* target ); + + static G4int verbose(); + static void SetVerbose( G4int ver ); + private: - G4ExcitationHandler theHandler; - G4ProtonInelasticProcess protonInelasticProcess; - G4ProtonInelasticCrossSection protonInelasticCrossSection; - G4NeutronInelasticProcess neutronInelasticProcess; - G4NeutronInelasticCrossSection neutronInelasticCrossSection; - G4DeuteronInelasticProcess deuteronInelasticProcess; - G4TritonInelasticProcess tritonInelasticProcess; - G4AlphaInelasticProcess alphaInelasticProcess; + + G4ErrorPropagatorData(); + ~G4ErrorPropagatorData(); + // constructor and destructor are private + +private: + + static G4ErrorPropagatorData* theErrorPropagatorData; + + G4ErrorMode theMode; + + G4ErrorState theState; + + G4ErrorTarget* theTarget; + + static G4int theVerbosity; + }; + +#include "G4ErrorPropagatorData.icc" + #endif - - - - - - - - diff --git a/source/processes/transportation/src/G4MassGCellFinder.cc b/source/global/management/include/G4ErrorPropagatorData.icc similarity index 64% rename from source/processes/transportation/src/G4MassGCellFinder.cc rename to source/global/management/include/G4ErrorPropagatorData.icc index 7b6d64ccd7..ae03b7d691 100644 --- a/source/processes/transportation/src/G4MassGCellFinder.cc +++ b/source/global/management/include/G4ErrorPropagatorData.icc @@ -24,42 +24,53 @@ // ******************************************************************** // // -// $Id: G4MassGCellFinder.cc,v 1.5 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ErrorPropagatorData.icc,v 1.4 2007/06/08 10:33:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// ---------------------------------------------------------------------- -// GEANT 4 class source file // -// G4MassGCellFinder.cc +// Class G4ErrorPropagatorData inline implementation // -// ---------------------------------------------------------------------- +// -------------------------------------------------------------------- -#include "G4MassGCellFinder.hh" -#include "G4TouchableHandle.hh" -#include "G4Step.hh" - -G4MassGCellFinder::G4MassGCellFinder() +inline +G4ErrorMode G4ErrorPropagatorData::GetMode() const { + return theMode; } -G4MassGCellFinder::~G4MassGCellFinder() +inline +void G4ErrorPropagatorData::SetMode( G4ErrorMode mode ) { + theMode = mode; } -G4GeometryCell -G4MassGCellFinder::GetPreGeometryCell(const G4Step &aStep) const + +inline +void G4ErrorPropagatorData::SetState( G4ErrorState sta ) { - const G4TouchableHandle& th = - aStep.GetPreStepPoint()->GetTouchableHandle(); - G4GeometryCell g(*th->GetVolume(), th->GetReplicaNumber()); - return g; + theState = sta; } -G4GeometryCell -G4MassGCellFinder::GetPostGeometryCell(const G4Step &aStep) const +inline +G4ErrorState G4ErrorPropagatorData::GetState() const { - const G4TouchableHandle& th = - aStep.GetPostStepPoint()->GetTouchableHandle(); - G4GeometryCell g(*th->GetVolume(), th->GetReplicaNumber()); - return g; + return theState; +} + +inline +const G4ErrorTarget* G4ErrorPropagatorData::GetTarget( G4bool mustExist ) const +{ + if( theTarget == 0 && mustExist ) + { + G4Exception("G4ErrorPropagatorData::GetTarget()", + "InvalidSetup", FatalException, + "G4ErrorPropagator defined but without final target!"); + } + return theTarget; +} + +inline +void G4ErrorPropagatorData::SetTarget( const G4ErrorTarget* target ) +{ + theTarget = const_cast(target); } diff --git a/source/global/management/include/G4ExceptionSeverity.hh b/source/global/management/include/G4ExceptionSeverity.hh index 2a11f4fd82..5084586fa8 100644 --- a/source/global/management/include/G4ExceptionSeverity.hh +++ b/source/global/management/include/G4ExceptionSeverity.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExceptionSeverity.hh,v 1.3 2006/06/29 19:01:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class Description: // diff --git a/source/global/management/include/G4FPEDetection.hh b/source/global/management/include/G4FPEDetection.hh index 5df045fa02..f5a6dd0f57 100644 --- a/source/global/management/include/G4FPEDetection.hh +++ b/source/global/management/include/G4FPEDetection.hh @@ -25,7 +25,7 @@ // // // $Id: G4FPEDetection.hh,v 1.2 2006/11/15 16:00:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -*- C++ -*- diff --git a/source/global/management/include/G4FastVector.hh b/source/global/management/include/G4FastVector.hh index 032cf52968..0e187c1420 100644 --- a/source/global/management/include/G4FastVector.hh +++ b/source/global/management/include/G4FastVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4FastVector.hh,v 1.5 2006/06/29 19:01:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4GeometryTolerance.hh b/source/global/management/include/G4GeometryTolerance.hh new file mode 100644 index 0000000000..1a02c7b1b5 --- /dev/null +++ b/source/global/management/include/G4GeometryTolerance.hh @@ -0,0 +1,95 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4GeometryTolerance.hh,v 1.2 2007/06/18 13:26:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// -------------------------------------------------------------------- +// GEANT 4 class header file +// +// Class Description: +// +// A singleton class for computation and storage of the tolerance values +// used by the geometry modeler for precision on boundaries. +// The Cartesian tolerance defines the thickness of the surface of the +// geometrical shapes for their inner funtions and for the tracking. The +// tolerance must be greater than the largest mathematical error from the +// shape distance calculation functions. The tolerance is centred on the +// surface, e.g. the Inside() method of a solid uses a tolerance dx +/- kTol/2. +// The Cartesian tolerance can either be set to a fixed value (1E-9 mm) +// or to a value computed on the basis of the maximum extent of the +// world volume assigned through the G4GeometryManager at the beginning +// of the application -before- any geometrical object is created. + +// ---------------- G4GeometryTolerance ---------------- +// +// Author: G.Cosmo (CERN), October 2006 +// ------------------------------------------------------------ + +#ifndef G4GeometryTolerance_hh +#define G4GeometryTolerance_hh + +#include "G4Types.hh" + +class G4GeometryTolerance +{ + friend class G4GeometryManager; + + public: // with description + + static G4GeometryTolerance* GetInstance(); + // Get a pointer to the unique G4GeometryTolerance, + // creating it if necessary and setting the tolerances. + G4double GetSurfaceTolerance() const; + // Returns the current Cartesian tolerance of a surface. + G4double GetAngularTolerance() const; + // Returns the current angular tolerance. + G4double GetRadialTolerance() const; + // Returns the current radial tolerance. + + protected: + + static void SetSurfaceTolerance(G4double worldExtent); + // Sets the Cartesian surface tolerance to a value computed + // from the maximum extent of the world volume. This method + // can be called only once, and is done only through the + // G4GeometryManager class. + + G4GeometryTolerance(); + ~G4GeometryTolerance(); + // Protected constructor and destructor. + + private: + + static G4GeometryTolerance* fInstance; + static G4double fCarTolerance; + static G4double fAngTolerance; + static G4double fRadTolerance; + static G4bool fInitialised; + }; + +#endif // G4GeometryTolerance_hh + diff --git a/source/global/management/include/G4LPhysicsFreeVector.hh b/source/global/management/include/G4LPhysicsFreeVector.hh index f402c7902e..26d3d93736 100644 --- a/source/global/management/include/G4LPhysicsFreeVector.hh +++ b/source/global/management/include/G4LPhysicsFreeVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4LPhysicsFreeVector.hh,v 1.8 2006/06/29 19:01:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------------ diff --git a/source/global/management/include/G4LPhysicsFreeVector.icc b/source/global/management/include/G4LPhysicsFreeVector.icc index c6b4bf5846..dcefd468c2 100644 --- a/source/global/management/include/G4LPhysicsFreeVector.icc +++ b/source/global/management/include/G4LPhysicsFreeVector.icc @@ -25,7 +25,7 @@ // // // $Id: G4LPhysicsFreeVector.icc,v 1.7 2006/06/29 19:02:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------------ diff --git a/source/global/management/include/G4OrderedTable.hh b/source/global/management/include/G4OrderedTable.hh index e44301fa4d..30ac3efcd0 100644 --- a/source/global/management/include/G4OrderedTable.hh +++ b/source/global/management/include/G4OrderedTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4OrderedTable.hh,v 1.13 2006/06/29 19:02:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4PhysicsFreeVector.hh b/source/global/management/include/G4PhysicsFreeVector.hh index c00de5b5e9..d27fe68818 100644 --- a/source/global/management/include/G4PhysicsFreeVector.hh +++ b/source/global/management/include/G4PhysicsFreeVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4PhysicsFreeVector.hh,v 1.10 2006/06/29 19:02:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsLinearVector.hh b/source/global/management/include/G4PhysicsLinearVector.hh index 7a9cde0530..a525a2b918 100644 --- a/source/global/management/include/G4PhysicsLinearVector.hh +++ b/source/global/management/include/G4PhysicsLinearVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4PhysicsLinearVector.hh,v 1.10 2006/06/29 19:02:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsLnVector.hh b/source/global/management/include/G4PhysicsLnVector.hh index 970e14a524..dac193d1b2 100644 --- a/source/global/management/include/G4PhysicsLnVector.hh +++ b/source/global/management/include/G4PhysicsLnVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4PhysicsLnVector.hh,v 1.12 2006/06/29 19:02:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsLogVector.hh b/source/global/management/include/G4PhysicsLogVector.hh index f9572c38c7..e140524a39 100644 --- a/source/global/management/include/G4PhysicsLogVector.hh +++ b/source/global/management/include/G4PhysicsLogVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4PhysicsLogVector.hh,v 1.11 2006/06/29 19:02:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //-------------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsOrderedFreeVector.hh b/source/global/management/include/G4PhysicsOrderedFreeVector.hh index 837259af90..de79989cc5 100644 --- a/source/global/management/include/G4PhysicsOrderedFreeVector.hh +++ b/source/global/management/include/G4PhysicsOrderedFreeVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4PhysicsOrderedFreeVector.hh,v 1.9 2006/06/29 19:02:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //////////////////////////////////////////////////////////////////////// // PhysicsOrderedFreeVector Class Definition diff --git a/source/global/management/include/G4PhysicsOrderedFreeVector.icc b/source/global/management/include/G4PhysicsOrderedFreeVector.icc index af76256b25..59d707c343 100644 --- a/source/global/management/include/G4PhysicsOrderedFreeVector.icc +++ b/source/global/management/include/G4PhysicsOrderedFreeVector.icc @@ -25,7 +25,7 @@ // // // $Id: G4PhysicsOrderedFreeVector.icc,v 1.8 2006/06/29 19:02:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //////////////////////////////////////////////////////////////////////// // PhysicsOrderedFreeVector Class Inline Functions Definitions diff --git a/source/global/management/include/G4PhysicsTable.hh b/source/global/management/include/G4PhysicsTable.hh index 82b226d2ed..32b216986c 100644 --- a/source/global/management/include/G4PhysicsTable.hh +++ b/source/global/management/include/G4PhysicsTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4PhysicsTable.hh,v 1.17 2006/06/29 19:02:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4PhysicsTable.icc b/source/global/management/include/G4PhysicsTable.icc index 556bc6425e..0e058a29ba 100644 --- a/source/global/management/include/G4PhysicsTable.icc +++ b/source/global/management/include/G4PhysicsTable.icc @@ -25,7 +25,7 @@ // // // $Id: G4PhysicsTable.icc,v 1.8 2006/06/29 19:02:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4PhysicsVector.hh b/source/global/management/include/G4PhysicsVector.hh index abdc4b9bfa..0652f60c99 100644 --- a/source/global/management/include/G4PhysicsVector.hh +++ b/source/global/management/include/G4PhysicsVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4PhysicsVector.hh,v 1.14 2006/06/29 19:02:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsVector.icc b/source/global/management/include/G4PhysicsVector.icc index 9e9b660106..ce489e862c 100644 --- a/source/global/management/include/G4PhysicsVector.icc +++ b/source/global/management/include/G4PhysicsVector.icc @@ -25,7 +25,7 @@ // // // $Id: G4PhysicsVector.icc,v 1.9 2006/06/29 19:02:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/global/management/include/G4PhysicsVectorType.hh b/source/global/management/include/G4PhysicsVectorType.hh index 17802cc124..50a75ed13f 100644 --- a/source/global/management/include/G4PhysicsVectorType.hh +++ b/source/global/management/include/G4PhysicsVectorType.hh @@ -25,7 +25,7 @@ // // // $Id: G4PhysicsVectorType.hh,v 1.4 2006/06/29 19:02:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // diff --git a/source/global/management/include/G4ReferenceCountedHandle.hh b/source/global/management/include/G4ReferenceCountedHandle.hh index c6fd738851..30ac095930 100644 --- a/source/global/management/include/G4ReferenceCountedHandle.hh +++ b/source/global/management/include/G4ReferenceCountedHandle.hh @@ -25,7 +25,7 @@ // // // $Id: G4ReferenceCountedHandle.hh,v 1.15 2006/06/29 19:02:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Class G4ReferenceCountedHandle diff --git a/source/global/management/include/G4RotationMatrix.hh b/source/global/management/include/G4RotationMatrix.hh index a4b8442738..def2e8fb23 100644 --- a/source/global/management/include/G4RotationMatrix.hh +++ b/source/global/management/include/G4RotationMatrix.hh @@ -25,7 +25,7 @@ // // // $Id: G4RotationMatrix.hh,v 1.5 2006/06/29 19:02:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/include/G4SIunits.hh b/source/global/management/include/G4SIunits.hh index 318e81e1ff..7f18376b46 100644 --- a/source/global/management/include/G4SIunits.hh +++ b/source/global/management/include/G4SIunits.hh @@ -25,7 +25,7 @@ // // // $Id: G4SIunits.hh,v 1.5 2006/09/15 08:16:10 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // diff --git a/source/global/management/include/G4SliceTimer.hh b/source/global/management/include/G4SliceTimer.hh index 02c0a418c1..f43476fe3f 100644 --- a/source/global/management/include/G4SliceTimer.hh +++ b/source/global/management/include/G4SliceTimer.hh @@ -25,7 +25,7 @@ // // // $Id: G4SliceTimer.hh,v 1.1 2006/10/23 07:43:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/include/G4SliceTimer.icc b/source/global/management/include/G4SliceTimer.icc index 5be1993fa1..327e5fabb2 100644 --- a/source/global/management/include/G4SliceTimer.icc +++ b/source/global/management/include/G4SliceTimer.icc @@ -25,7 +25,7 @@ // // // $Id: G4SliceTimer.icc,v 1.1 2006/10/23 07:43:31 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4StateManager.hh b/source/global/management/include/G4StateManager.hh index 66e2fe6774..8d2079440d 100644 --- a/source/global/management/include/G4StateManager.hh +++ b/source/global/management/include/G4StateManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4StateManager.hh,v 1.10 2006/06/29 19:02:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4StateManager.icc b/source/global/management/include/G4StateManager.icc index a6cbdaa00c..56c8a1001e 100644 --- a/source/global/management/include/G4StateManager.icc +++ b/source/global/management/include/G4StateManager.icc @@ -25,7 +25,7 @@ // // // $Id: G4StateManager.icc,v 1.2 2006/06/29 19:03:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4String.hh b/source/global/management/include/G4String.hh index 554e5b7dfc..60596ee1ac 100644 --- a/source/global/management/include/G4String.hh +++ b/source/global/management/include/G4String.hh @@ -25,7 +25,7 @@ // // // $Id: G4String.hh,v 1.6 2006/06/29 19:03:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/global/management/include/G4String.icc b/source/global/management/include/G4String.icc index 7205cbd3ff..fa4f961dbc 100644 --- a/source/global/management/include/G4String.icc +++ b/source/global/management/include/G4String.icc @@ -25,7 +25,7 @@ // // // $Id: G4String.icc,v 1.8 2006/06/29 19:03:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/global/management/include/G4ThreeVector.hh b/source/global/management/include/G4ThreeVector.hh index 3693289d87..1ea5e58d1c 100644 --- a/source/global/management/include/G4ThreeVector.hh +++ b/source/global/management/include/G4ThreeVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4ThreeVector.hh,v 1.5 2006/06/29 19:03:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/include/G4Timer.hh b/source/global/management/include/G4Timer.hh index f874ddd6d3..1c78b90ea2 100644 --- a/source/global/management/include/G4Timer.hh +++ b/source/global/management/include/G4Timer.hh @@ -25,7 +25,7 @@ // // // $Id: G4Timer.hh,v 1.14 2006/06/29 19:03:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/include/G4Timer.icc b/source/global/management/include/G4Timer.icc index 71654aafd8..ed7986acd3 100644 --- a/source/global/management/include/G4Timer.icc +++ b/source/global/management/include/G4Timer.icc @@ -25,7 +25,7 @@ // // // $Id: G4Timer.icc,v 1.2 2006/06/29 19:03:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4Tokenizer.hh b/source/global/management/include/G4Tokenizer.hh index b6b328ddd0..1a9e1a3b72 100644 --- a/source/global/management/include/G4Tokenizer.hh +++ b/source/global/management/include/G4Tokenizer.hh @@ -25,7 +25,7 @@ // // // $Id: G4Tokenizer.hh,v 1.2 2006/06/29 19:03:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/global/management/include/G4TwoVector.hh b/source/global/management/include/G4TwoVector.hh index 6e072ee31c..5c7b335014 100644 --- a/source/global/management/include/G4TwoVector.hh +++ b/source/global/management/include/G4TwoVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4TwoVector.hh,v 1.1 2007/02/09 12:10:30 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/include/G4Types.hh b/source/global/management/include/G4Types.hh index 2481fef9c6..ba20912ff9 100644 --- a/source/global/management/include/G4Types.hh +++ b/source/global/management/include/G4Types.hh @@ -25,7 +25,7 @@ // // // $Id: G4Types.hh,v 1.14 2006/06/29 19:03:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 native types diff --git a/source/global/management/include/G4UnitsTable.hh b/source/global/management/include/G4UnitsTable.hh index 1e93069a02..55013d6241 100644 --- a/source/global/management/include/G4UnitsTable.hh +++ b/source/global/management/include/G4UnitsTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4UnitsTable.hh,v 1.18 2006/11/30 10:37:57 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ----------------------------------------------------------------- diff --git a/source/global/management/include/G4UnitsTable.icc b/source/global/management/include/G4UnitsTable.icc index 5c3c79cdcd..0e3b696bd0 100644 --- a/source/global/management/include/G4UnitsTable.icc +++ b/source/global/management/include/G4UnitsTable.icc @@ -25,7 +25,7 @@ // // // $Id: G4UnitsTable.icc,v 1.2 2006/06/29 19:03:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4UserLimits.hh b/source/global/management/include/G4UserLimits.hh index 57aaebdc62..2d4b0630c1 100644 --- a/source/global/management/include/G4UserLimits.hh +++ b/source/global/management/include/G4UserLimits.hh @@ -25,7 +25,7 @@ // // // $Id: G4UserLimits.hh,v 1.9 2006/06/29 19:03:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // class G4UserLimits diff --git a/source/global/management/include/G4UserLimits.icc b/source/global/management/include/G4UserLimits.icc index 4a910a1c19..03d61e7edb 100644 --- a/source/global/management/include/G4UserLimits.icc +++ b/source/global/management/include/G4UserLimits.icc @@ -25,7 +25,7 @@ // // // $Id: G4UserLimits.icc,v 1.8 2006/06/29 19:03:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/global/management/include/G4VExceptionHandler.hh b/source/global/management/include/G4VExceptionHandler.hh index 95771aa1d3..023a5caa2c 100644 --- a/source/global/management/include/G4VExceptionHandler.hh +++ b/source/global/management/include/G4VExceptionHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4VExceptionHandler.hh,v 1.2 2006/06/29 19:03:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4VNotifier.hh b/source/global/management/include/G4VNotifier.hh index 9179eb9f56..2be6f1d0aa 100644 --- a/source/global/management/include/G4VNotifier.hh +++ b/source/global/management/include/G4VNotifier.hh @@ -25,7 +25,7 @@ // // // $Id: G4VNotifier.hh,v 1.2 2006/06/29 19:03:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4VNotifier // diff --git a/source/global/management/include/G4VStateDependent.hh b/source/global/management/include/G4VStateDependent.hh index 32b264a93b..8e56f0ce7d 100644 --- a/source/global/management/include/G4VStateDependent.hh +++ b/source/global/management/include/G4VStateDependent.hh @@ -25,7 +25,7 @@ // // // $Id: G4VStateDependent.hh,v 1.5 2006/06/29 19:03:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/global/management/include/G4Version.hh b/source/global/management/include/G4Version.hh index afaf79fb39..9ce9cd6de9 100644 --- a/source/global/management/include/G4Version.hh +++ b/source/global/management/include/G4Version.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Version.hh,v 1.9 2007/04/25 11:40:40 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4Version.hh,v 1.10 2007/05/30 10:37:01 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // Version information // @@ -46,18 +46,18 @@ // |--> patch number #ifndef G4VERSION_NUMBER -#define G4VERSION_NUMBER 830 +#define G4VERSION_NUMBER 900 #endif #ifndef G4VERSION_TAG -#define G4VERSION_TAG "$Name: geant4-08-03 $" +#define G4VERSION_TAG "$Name: geant4-09-00 $" #endif // as variables #include "G4String.hh" -static const G4String G4Version = "$Name: geant4-08-03 $"; -static const G4String G4Date = "(5-May-2007)"; +static const G4String G4Version = "$Name: geant4-09-00 $"; +static const G4String G4Date = "(29-June-2007)"; #endif diff --git a/source/global/management/include/G4coutDestination.hh b/source/global/management/include/G4coutDestination.hh index 66dd5bfc08..668e15071c 100644 --- a/source/global/management/include/G4coutDestination.hh +++ b/source/global/management/include/G4coutDestination.hh @@ -25,7 +25,7 @@ // // // $Id: G4coutDestination.hh,v 1.6 2006/06/29 19:03:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/global/management/include/G4ios.hh b/source/global/management/include/G4ios.hh index 0191317c0c..ff0210aa01 100644 --- a/source/global/management/include/G4ios.hh +++ b/source/global/management/include/G4ios.hh @@ -25,7 +25,7 @@ // // // $Id: G4ios.hh,v 1.10 2006/06/29 19:03:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/global/management/include/G4strstreambuf.hh b/source/global/management/include/G4strstreambuf.hh index 982ca883ea..4442813e49 100644 --- a/source/global/management/include/G4strstreambuf.hh +++ b/source/global/management/include/G4strstreambuf.hh @@ -25,7 +25,7 @@ // // // $Id: G4strstreambuf.hh,v 1.15 2006/06/29 19:03:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ==================================================================== // // G4strstreambuf diff --git a/source/global/management/include/G4strstreambuf.icc b/source/global/management/include/G4strstreambuf.icc index 42d16fcc4c..23a112b216 100644 --- a/source/global/management/include/G4strstreambuf.icc +++ b/source/global/management/include/G4strstreambuf.icc @@ -25,7 +25,7 @@ // // // $Id: G4strstreambuf.icc,v 1.13 2006/06/29 19:03:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ==================================================================== // G4strstreambuf.icc // diff --git a/source/global/management/include/globals.hh b/source/global/management/include/globals.hh index 456c157eb3..84288db00d 100644 --- a/source/global/management/include/globals.hh +++ b/source/global/management/include/globals.hh @@ -25,7 +25,7 @@ // // // $Id: globals.hh,v 1.27 2006/06/29 19:03:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Global Constants and typedefs diff --git a/source/global/management/include/templates.hh b/source/global/management/include/templates.hh index 6425edf31e..d595c5b2af 100644 --- a/source/global/management/include/templates.hh +++ b/source/global/management/include/templates.hh @@ -25,7 +25,7 @@ // // // $Id: templates.hh,v 1.10 2006/06/29 19:03:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -*- C++ -*- diff --git a/source/global/management/src/G4AllocatorPool.cc b/source/global/management/src/G4AllocatorPool.cc index c3403f21a8..e10a9ec0a0 100644 --- a/source/global/management/src/G4AllocatorPool.cc +++ b/source/global/management/src/G4AllocatorPool.cc @@ -25,7 +25,7 @@ // // // $Id: G4AllocatorPool.cc,v 1.4 2006/06/29 19:03:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/src/G4DataVector.cc b/source/global/management/src/G4DataVector.cc index 1fbc2b749a..8a8f9fcd08 100644 --- a/source/global/management/src/G4DataVector.cc +++ b/source/global/management/src/G4DataVector.cc @@ -25,7 +25,7 @@ // // // $Id: G4DataVector.cc,v 1.8 2006/06/29 19:03:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/transportation/src/G4ParallelGCellFinder.cc b/source/global/management/src/G4ErrorPropagatorData.cc similarity index 65% rename from source/processes/transportation/src/G4ParallelGCellFinder.cc rename to source/global/management/src/G4ErrorPropagatorData.cc index a77b5e8ad2..9014a26feb 100644 --- a/source/processes/transportation/src/G4ParallelGCellFinder.cc +++ b/source/global/management/src/G4ErrorPropagatorData.cc @@ -24,39 +24,43 @@ // ******************************************************************** // // -// $Id: G4ParallelGCellFinder.cc,v 1.5 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ErrorPropagatorData.cc,v 1.3 2007/06/05 13:04:30 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// ---------------------------------------------------------------------- -// GEANT 4 class source file // -// G4ParallelGCellFinder.cc -// -// ---------------------------------------------------------------------- +// -------------------------------------------------------------------- +// GEANT 4 class implementation file +// -------------------------------------------------------------------- -#include "G4ParallelGCellFinder.hh" -#include "G4VParallelStepper.hh" +#include "G4ErrorPropagatorData.hh" -G4ParallelGCellFinder:: -G4ParallelGCellFinder(const G4VParallelStepper &astepper) - : fPStepper(astepper) +//------------------------------------------------------------------- + +G4ErrorPropagatorData* G4ErrorPropagatorData::theErrorPropagatorData = 0; + +G4int G4ErrorPropagatorData::theVerbosity = 0; + +//------------------------------------------------------------------- + +G4ErrorPropagatorData::G4ErrorPropagatorData(){} +G4ErrorPropagatorData::~G4ErrorPropagatorData(){} + +G4ErrorPropagatorData* G4ErrorPropagatorData::GetErrorPropagatorData() { + static G4ErrorPropagatorData errorPropagatorData; + if( !theErrorPropagatorData ) + { + theErrorPropagatorData = &errorPropagatorData; + } + return theErrorPropagatorData; } -G4ParallelGCellFinder::~G4ParallelGCellFinder() +G4int G4ErrorPropagatorData::verbose() { + return theVerbosity; } -G4GeometryCell -G4ParallelGCellFinder::GetPreGeometryCell(const G4Step &) const +void G4ErrorPropagatorData::SetVerbose( G4int ver ) { - G4GeometryCell g(fPStepper.GetPStep().GetPreGeometryCell()); - return g; -} - -G4GeometryCell -G4ParallelGCellFinder::GetPostGeometryCell(const G4Step &) const -{ - G4GeometryCell g(fPStepper.GetPStep().GetPostGeometryCell()); - return g; + theVerbosity = ver; } diff --git a/source/global/management/src/G4Exception.cc b/source/global/management/src/G4Exception.cc index 786b48f00b..e4bea9edfc 100644 --- a/source/global/management/src/G4Exception.cc +++ b/source/global/management/src/G4Exception.cc @@ -25,7 +25,7 @@ // // // $Id: G4Exception.cc,v 1.20 2006/06/29 19:04:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/global/management/src/G4GeometryTolerance.cc b/source/global/management/src/G4GeometryTolerance.cc new file mode 100644 index 0000000000..d3ffc78572 --- /dev/null +++ b/source/global/management/src/G4GeometryTolerance.cc @@ -0,0 +1,122 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4GeometryTolerance.cc,v 1.2 2007/06/18 13:26:40 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// class G4GeometryTolerance +// +// Implementation +// +// Author: +// 30.10.06 - G.Cosmo, first implementation +// -------------------------------------------------------------------- + +#include "G4GeometryTolerance.hh" +#include "globals.hh" + +// *************************************************************************** +// Static class data +// *************************************************************************** +// +G4GeometryTolerance* G4GeometryTolerance::fInstance = 0; +G4bool G4GeometryTolerance::fInitialised = false; +G4double G4GeometryTolerance::fCarTolerance = 1E-9*mm; +G4double G4GeometryTolerance::fAngTolerance = 1E-9*rad; +G4double G4GeometryTolerance::fRadTolerance = 1E-9*mm; + +// *************************************************************************** +// Constructor. +// *************************************************************************** +// +G4GeometryTolerance::G4GeometryTolerance() +{ +} + +// *************************************************************************** +// Empty destructor. +// *************************************************************************** +// +G4GeometryTolerance::~G4GeometryTolerance() +{ +} + +// *************************************************************************** +// Returns the instance of the singleton. +// Creates it in case it's called for the first time. +// *************************************************************************** +// +G4GeometryTolerance* G4GeometryTolerance::GetInstance() +{ + static G4GeometryTolerance theToleranceManager; + if (!fInstance) + { + fInstance = &theToleranceManager; + } + return fInstance; +} + +// *************************************************************************** +// Accessors. +// *************************************************************************** +// +G4double G4GeometryTolerance::GetSurfaceTolerance() const +{ + return fCarTolerance; +} + +G4double G4GeometryTolerance::GetAngularTolerance() const +{ + return fAngTolerance; +} + +G4double G4GeometryTolerance::GetRadialTolerance() const +{ + return fRadTolerance; +} + +// *************************************************************************** +// Sets the tolerance to a value computed on the basis of the world volume +// extent provided as argument. The method can be called only once. +// *************************************************************************** +// +void G4GeometryTolerance::SetSurfaceTolerance(G4double worldExtent) +{ + if (!fInitialised) + { + fCarTolerance = worldExtent*1E-11*mm; + fInitialised = true; + } + else + { + G4cout << "WARNING - G4GeometryTolerance::SetSurfaceTolerance()" << G4endl + << " Tolerance can only be set once. Currently set to: " + << fCarTolerance/mm << " mm." << G4endl; + G4Exception("G4GeometryTolerance::SetSurfaceTolerance()", + "NotApplicable", JustWarning, + "The tolerance has been already set!"); + } +} diff --git a/source/global/management/src/G4LPhysicsFreeVector.cc b/source/global/management/src/G4LPhysicsFreeVector.cc index 0c7e04b3e4..1e35642cba 100644 --- a/source/global/management/src/G4LPhysicsFreeVector.cc +++ b/source/global/management/src/G4LPhysicsFreeVector.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4LPhysicsFreeVector.cc,v 1.10 2006/06/29 19:04:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4LPhysicsFreeVector.cc,v 1.12 2007/05/14 10:27:06 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------------- @@ -36,12 +36,10 @@ // F.W. Jones, TRIUMF, 04-JUN-96 // // 27-MAR-97 FWJ: first version for Alpha release -// 11-NOV-00 H.Kurashige : use STL vector for dataVector and binVector -// #include "G4LPhysicsFreeVector.hh" -#include +#include "G4ios.hh" G4LPhysicsFreeVector::G4LPhysicsFreeVector() : verboseLevel(0) @@ -66,9 +64,9 @@ G4LPhysicsFreeVector::G4LPhysicsFreeVector(size_t nbin, lastEnergy = 0.; lastValue = 0.; lastBin = 0; - binVector.reserve(nbin); - dataVector.reserve(nbin); - for (size_t i=0; i* - GetInstance(G4String storeKey, G4bool& isNew); - // Returns a pointer to the definitions accessed by the given - // key. "isNew" is true if definitions pointer is new and - // therefore the needs filling. The store keeps the ownership - // of the returned pointer. See G4Trajectory::GetAttDefs for an - // example of the use of this class. + std::map* + GetInstance(G4String storeKey, G4bool& isNew); + // Returns a pointer to the definitions accessed by the given key. + // "isNew" is true if definitions pointer is new and therefore the + // needs filling. The store keeps the ownership of the returned + // pointer. See G4Trajectory::GetAttDefs for an example of the use + // of this class. - static G4bool GetStoreKey - (const std::map* definitions, G4String& key); - // Returns true and assigns key if definitions are amongst those - // maintained in the store. + G4bool GetStoreKey + (const std::map* definitions, G4String& key); + // Returns true and assigns key if definitions are amongst those + // maintained in the store. - ~G4AttDefStore(); - // Destructor. + extern std::map*> m_defsmaps; - protected: - - G4AttDefStore(); - - private: - - G4AttDefStore(const G4AttDefStore&); - G4AttDefStore& operator=(const G4AttDefStore&); - - static std::map*> m_defsmaps; - static G4AttDefStore* theInstance; -}; +} #endif //G4ATTDEFSTORE_H diff --git a/source/graphics_reps/include/G4AttDefT.hh b/source/graphics_reps/include/G4AttDefT.hh index bb1d15a4af..de81d5cd48 100644 --- a/source/graphics_reps/include/G4AttDefT.hh +++ b/source/graphics_reps/include/G4AttDefT.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4AttDefT.hh,v 1.2 2006/12/13 15:43:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Templated G4AttDef. Generates type key for given template parameter. // diff --git a/source/graphics_reps/include/G4AttHolder.hh b/source/graphics_reps/include/G4AttHolder.hh index cce1e7e3a2..39241acaac 100644 --- a/source/graphics_reps/include/G4AttHolder.hh +++ b/source/graphics_reps/include/G4AttHolder.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4AttHolder.hh,v 1.4 2006/11/01 10:11:44 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AttHolder.hh,v 1.6 2007/06/08 14:24:29 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4ATTHOLDER_HH #define G4ATTHOLDER_HH @@ -48,8 +48,8 @@ #include #include -class G4AttValue; -class G4AttDef; +#include "G4AttValue.hh" +#include "G4AttDef.hh" class G4AttHolder { @@ -71,6 +71,8 @@ public: // life. private: + G4AttHolder(const G4AttHolder&); // Copy construction not allowed. + G4AttHolder& operator=(const G4AttHolder&); // Assignment not allowed. std::vector*> fValues; std::vector*> fDefs; }; diff --git a/source/graphics_reps/include/G4AttUtils.hh b/source/graphics_reps/include/G4AttUtils.hh index 8faffa1c69..9a18589f9d 100644 --- a/source/graphics_reps/include/G4AttUtils.hh +++ b/source/graphics_reps/include/G4AttUtils.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4AttUtils.hh,v 1.1 2006/09/11 18:04:58 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay September 2006 // diff --git a/source/graphics_reps/include/G4AttValue.hh b/source/graphics_reps/include/G4AttValue.hh index 7eb93652b4..ba7c9e6b44 100644 --- a/source/graphics_reps/include/G4AttValue.hh +++ b/source/graphics_reps/include/G4AttValue.hh @@ -25,7 +25,7 @@ // // // $Id: G4AttValue.hh,v 1.5 2006/06/29 19:05:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4ATTVALUE_HH #define G4ATTVALUE_HH diff --git a/source/graphics_reps/include/G4Circle.hh b/source/graphics_reps/include/G4Circle.hh index d426ccd6ba..c02f811ba9 100644 --- a/source/graphics_reps/include/G4Circle.hh +++ b/source/graphics_reps/include/G4Circle.hh @@ -25,7 +25,7 @@ // // // $Id: G4Circle.hh,v 1.9 2006/06/29 19:05:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 17/11/96. diff --git a/source/graphics_reps/include/G4Color.hh b/source/graphics_reps/include/G4Color.hh index 62da0864c7..2e89c651f6 100644 --- a/source/graphics_reps/include/G4Color.hh +++ b/source/graphics_reps/include/G4Color.hh @@ -25,7 +25,7 @@ // // // $Id: G4Color.hh,v 1.5 2006/06/29 19:05:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 20th October 1996 diff --git a/source/graphics_reps/include/G4Colour.hh b/source/graphics_reps/include/G4Colour.hh index 25f3629ef5..d3037eb88f 100644 --- a/source/graphics_reps/include/G4Colour.hh +++ b/source/graphics_reps/include/G4Colour.hh @@ -25,7 +25,7 @@ // // // $Id: G4Colour.hh,v 1.14 2007/01/05 14:06:28 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 20th October 1996 diff --git a/source/graphics_reps/include/G4ConversionFatalError.hh b/source/graphics_reps/include/G4ConversionFatalError.hh index 8ff9580c8b..a43dd6a7a3 100644 --- a/source/graphics_reps/include/G4ConversionFatalError.hh +++ b/source/graphics_reps/include/G4ConversionFatalError.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ConversionFatalError.hh,v 1.2 2006/12/13 15:44:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Fatal G4Exception error // diff --git a/source/graphics_reps/include/G4ConversionUtils.hh b/source/graphics_reps/include/G4ConversionUtils.hh index 20d555590a..afaffe9063 100644 --- a/source/graphics_reps/include/G4ConversionUtils.hh +++ b/source/graphics_reps/include/G4ConversionUtils.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ConversionUtils.hh,v 1.2 2006/09/12 18:29:31 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay September 2006 // diff --git a/source/graphics_reps/include/G4CreatorFactoryT.hh b/source/graphics_reps/include/G4CreatorFactoryT.hh index 49225a3947..0d5c59915a 100644 --- a/source/graphics_reps/include/G4CreatorFactoryT.hh +++ b/source/graphics_reps/include/G4CreatorFactoryT.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4CreatorFactoryT.hh,v 1.2 2006/12/13 15:44:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Generic identifier-creator based factory. Based on // factory presented in "Modern C++ Design, Andrei Alexandrescu" diff --git a/source/graphics_reps/include/G4DimensionedDouble.hh b/source/graphics_reps/include/G4DimensionedDouble.hh index cfa6315ce3..2174f8bf9e 100644 --- a/source/graphics_reps/include/G4DimensionedDouble.hh +++ b/source/graphics_reps/include/G4DimensionedDouble.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4DimensionedDouble.hh,v 1.2 2006/12/13 15:44:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Dimensioned G4double. // diff --git a/source/graphics_reps/include/G4DimensionedThreeVector.hh b/source/graphics_reps/include/G4DimensionedThreeVector.hh index a19c7145ab..717cce4b64 100644 --- a/source/graphics_reps/include/G4DimensionedThreeVector.hh +++ b/source/graphics_reps/include/G4DimensionedThreeVector.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4DimensionedThreeVector.hh,v 1.2 2006/12/13 15:44:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Dimensioned G4Threevector. // diff --git a/source/graphics_reps/include/G4DimensionedType.hh b/source/graphics_reps/include/G4DimensionedType.hh index d0234b89d8..09d755a724 100644 --- a/source/graphics_reps/include/G4DimensionedType.hh +++ b/source/graphics_reps/include/G4DimensionedType.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4DimensionedType.hh,v 1.3 2006/12/13 15:44:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Generic dimensioned type. // diff --git a/source/graphics_reps/include/G4NURBS.hh b/source/graphics_reps/include/G4NURBS.hh index c5843d521c..1a2d89f5a4 100644 --- a/source/graphics_reps/include/G4NURBS.hh +++ b/source/graphics_reps/include/G4NURBS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NURBS.hh,v 1.10 2006/06/29 19:05:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Olivier Crumeyrolle 12 September 1996 diff --git a/source/graphics_reps/include/G4NURBSbox.hh b/source/graphics_reps/include/G4NURBSbox.hh index 4f6ece7f19..3bcf97de9b 100644 --- a/source/graphics_reps/include/G4NURBSbox.hh +++ b/source/graphics_reps/include/G4NURBSbox.hh @@ -25,7 +25,7 @@ // // // $Id: G4NURBSbox.hh,v 1.9 2006/06/29 19:05:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Olivier Crumeyrolle 12 September 1996 diff --git a/source/graphics_reps/include/G4NURBScylinder.hh b/source/graphics_reps/include/G4NURBScylinder.hh index 3f8131f77d..49a69e6bcf 100644 --- a/source/graphics_reps/include/G4NURBScylinder.hh +++ b/source/graphics_reps/include/G4NURBScylinder.hh @@ -25,7 +25,7 @@ // // // $Id: G4NURBScylinder.hh,v 1.9 2006/06/29 19:05:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Olivier Crumeyrolle 12 September 1996 diff --git a/source/graphics_reps/include/G4NURBShexahedron.hh b/source/graphics_reps/include/G4NURBShexahedron.hh index e141c2d59d..97c0ed44d6 100644 --- a/source/graphics_reps/include/G4NURBShexahedron.hh +++ b/source/graphics_reps/include/G4NURBShexahedron.hh @@ -25,7 +25,7 @@ // // // $Id: G4NURBShexahedron.hh,v 1.9 2006/06/29 19:05:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hexa hedron builder prototype // OC 17 9 96 diff --git a/source/graphics_reps/include/G4NURBStube.hh b/source/graphics_reps/include/G4NURBStube.hh index 5611312b16..57d5551f78 100644 --- a/source/graphics_reps/include/G4NURBStube.hh +++ b/source/graphics_reps/include/G4NURBStube.hh @@ -25,7 +25,7 @@ // // // $Id: G4NURBStube.hh,v 1.9 2006/06/29 19:05:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Olivier Crumeyrolle 12 September 1996 diff --git a/source/graphics_reps/include/G4NURBStubesector.hh b/source/graphics_reps/include/G4NURBStubesector.hh index 9f7aa80bc7..4eaf570d5f 100644 --- a/source/graphics_reps/include/G4NURBStubesector.hh +++ b/source/graphics_reps/include/G4NURBStubesector.hh @@ -25,7 +25,7 @@ // // // $Id: G4NURBStubesector.hh,v 1.8 2006/06/29 19:05:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Olivier Crumeyrolle 12 September 1996 diff --git a/source/graphics_reps/include/G4PlacedPolyhedron.hh b/source/graphics_reps/include/G4PlacedPolyhedron.hh index 89622340b1..0e6f859602 100644 --- a/source/graphics_reps/include/G4PlacedPolyhedron.hh +++ b/source/graphics_reps/include/G4PlacedPolyhedron.hh @@ -25,7 +25,7 @@ // // // $Id: G4PlacedPolyhedron.hh,v 1.11 2006/06/29 19:05:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // Class Description: diff --git a/source/graphics_reps/include/G4Point3DList.hh b/source/graphics_reps/include/G4Point3DList.hh index 4cdccf482f..5f88d9527c 100644 --- a/source/graphics_reps/include/G4Point3DList.hh +++ b/source/graphics_reps/include/G4Point3DList.hh @@ -25,7 +25,7 @@ // // // $Id: G4Point3DList.hh,v 1.12 2006/06/29 19:05:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison July 1995 diff --git a/source/graphics_reps/include/G4Polyhedron.hh b/source/graphics_reps/include/G4Polyhedron.hh index 5fdaec2e2b..c3420aab61 100644 --- a/source/graphics_reps/include/G4Polyhedron.hh +++ b/source/graphics_reps/include/G4Polyhedron.hh @@ -25,7 +25,7 @@ // // // $Id: G4Polyhedron.hh,v 1.18 2006/06/29 19:05:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4POLYHEDRON_HH #define G4POLYHEDRON_HH diff --git a/source/graphics_reps/include/G4Polyline.hh b/source/graphics_reps/include/G4Polyline.hh index 2cea300011..1ab7d5069e 100644 --- a/source/graphics_reps/include/G4Polyline.hh +++ b/source/graphics_reps/include/G4Polyline.hh @@ -25,7 +25,7 @@ // // // $Id: G4Polyline.hh,v 1.13 2006/06/29 19:05:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison July 1995 diff --git a/source/graphics_reps/include/G4Polymarker.hh b/source/graphics_reps/include/G4Polymarker.hh index 23a4a404d2..eeb15578e3 100644 --- a/source/graphics_reps/include/G4Polymarker.hh +++ b/source/graphics_reps/include/G4Polymarker.hh @@ -25,7 +25,7 @@ // // // $Id: G4Polymarker.hh,v 1.11 2006/06/29 19:05:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison November 1996 diff --git a/source/graphics_reps/include/G4Polymarker.icc b/source/graphics_reps/include/G4Polymarker.icc index e5a2b2f5b5..532f2aac1e 100644 --- a/source/graphics_reps/include/G4Polymarker.icc +++ b/source/graphics_reps/include/G4Polymarker.icc @@ -25,7 +25,7 @@ // // // $Id: G4Polymarker.icc,v 1.4 2006/06/29 19:05:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison November 1996 diff --git a/source/graphics_reps/include/G4Scale.hh b/source/graphics_reps/include/G4Scale.hh index 89bb0d5e34..b6e08cafff 100644 --- a/source/graphics_reps/include/G4Scale.hh +++ b/source/graphics_reps/include/G4Scale.hh @@ -25,7 +25,7 @@ // // // $Id: G4Scale.hh,v 1.7 2006/06/29 19:05:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 21st July 2001. diff --git a/source/graphics_reps/include/G4Scale.icc b/source/graphics_reps/include/G4Scale.icc index 4516bc9bdb..bab2a6d3a6 100644 --- a/source/graphics_reps/include/G4Scale.icc +++ b/source/graphics_reps/include/G4Scale.icc @@ -25,7 +25,7 @@ // // // $Id: G4Scale.icc,v 1.3 2006/06/29 19:05:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 21st July 2001. diff --git a/source/graphics_reps/include/G4SmartFilter.hh b/source/graphics_reps/include/G4SmartFilter.hh index 3c31f25d32..426fe556b7 100644 --- a/source/graphics_reps/include/G4SmartFilter.hh +++ b/source/graphics_reps/include/G4SmartFilter.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4SmartFilter.hh,v 1.3 2006/08/25 19:39:39 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Filter with additional funcionality such as active and inverted states, // and filtering statistics diff --git a/source/graphics_reps/include/G4Square.hh b/source/graphics_reps/include/G4Square.hh index 8a2dd0abdb..725770c165 100644 --- a/source/graphics_reps/include/G4Square.hh +++ b/source/graphics_reps/include/G4Square.hh @@ -25,7 +25,7 @@ // // // $Id: G4Square.hh,v 1.8 2006/06/29 19:06:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 17/11/96. diff --git a/source/graphics_reps/include/G4Square.icc b/source/graphics_reps/include/G4Square.icc index 476afc2e9a..7a784df26c 100644 --- a/source/graphics_reps/include/G4Square.icc +++ b/source/graphics_reps/include/G4Square.icc @@ -25,7 +25,7 @@ // // // $Id: G4Square.icc,v 1.4 2006/06/29 19:06:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 17/11/96. diff --git a/source/graphics_reps/include/G4Text.hh b/source/graphics_reps/include/G4Text.hh index 52bf9eca50..a3411af1d1 100644 --- a/source/graphics_reps/include/G4Text.hh +++ b/source/graphics_reps/include/G4Text.hh @@ -25,7 +25,7 @@ // // // $Id: G4Text.hh,v 1.10 2006/06/29 19:06:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 17/11/96. diff --git a/source/graphics_reps/include/G4Text.icc b/source/graphics_reps/include/G4Text.icc index b5625a41af..c1d8e42759 100644 --- a/source/graphics_reps/include/G4Text.icc +++ b/source/graphics_reps/include/G4Text.icc @@ -25,7 +25,7 @@ // // // $Id: G4Text.icc,v 1.4 2006/06/29 19:06:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 17/11/96. diff --git a/source/graphics_reps/include/G4TypeKey.hh b/source/graphics_reps/include/G4TypeKey.hh index dbdcd6c957..4c9e184fa6 100644 --- a/source/graphics_reps/include/G4TypeKey.hh +++ b/source/graphics_reps/include/G4TypeKey.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TypeKey.hh,v 1.2 2006/12/13 15:44:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Base type key class // diff --git a/source/graphics_reps/include/G4TypeKeyT.hh b/source/graphics_reps/include/G4TypeKeyT.hh index 749b252c02..16f481c444 100644 --- a/source/graphics_reps/include/G4TypeKeyT.hh +++ b/source/graphics_reps/include/G4TypeKeyT.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TypeKeyT.hh,v 1.2 2006/12/13 15:44:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Type key class // diff --git a/source/graphics_reps/include/G4VFilter.hh b/source/graphics_reps/include/G4VFilter.hh index 731f732bb0..b4074aa164 100644 --- a/source/graphics_reps/include/G4VFilter.hh +++ b/source/graphics_reps/include/G4VFilter.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VFilter.hh,v 1.4 2006/08/25 19:39:39 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Abstract filter class. // diff --git a/source/graphics_reps/include/G4VGraphicsScene.hh b/source/graphics_reps/include/G4VGraphicsScene.hh index fa86e458ef..8896d20c6d 100644 --- a/source/graphics_reps/include/G4VGraphicsScene.hh +++ b/source/graphics_reps/include/G4VGraphicsScene.hh @@ -25,7 +25,7 @@ // // // $Id: G4VGraphicsScene.hh,v 1.9 2006/07/10 15:19:29 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // John Allison 19th July 1996 // // Class Description: diff --git a/source/graphics_reps/include/G4VMarker.hh b/source/graphics_reps/include/G4VMarker.hh index e5ae06b697..c2fcc3bfb3 100644 --- a/source/graphics_reps/include/G4VMarker.hh +++ b/source/graphics_reps/include/G4VMarker.hh @@ -25,7 +25,7 @@ // // // $Id: G4VMarker.hh,v 1.12 2006/06/29 19:06:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4VMarker - base class for markers - circles, squares, etc. diff --git a/source/graphics_reps/include/G4VMarker.icc b/source/graphics_reps/include/G4VMarker.icc index 242b726e82..fd19d6d96d 100644 --- a/source/graphics_reps/include/G4VMarker.icc +++ b/source/graphics_reps/include/G4VMarker.icc @@ -25,7 +25,7 @@ // // // $Id: G4VMarker.icc,v 1.7 2006/06/29 19:06:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/graphics_reps/include/G4VVisManager.hh b/source/graphics_reps/include/G4VVisManager.hh index 4338df741d..f426cd4ddb 100644 --- a/source/graphics_reps/include/G4VVisManager.hh +++ b/source/graphics_reps/include/G4VVisManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4VVisManager.hh,v 1.13 2006/09/12 18:29:31 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // John Allison 19/Oct/1996. // // Class Description: diff --git a/source/graphics_reps/include/G4VisAttributes.hh b/source/graphics_reps/include/G4VisAttributes.hh index 5360fb38de..11655f5e43 100644 --- a/source/graphics_reps/include/G4VisAttributes.hh +++ b/source/graphics_reps/include/G4VisAttributes.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisAttributes.hh,v 1.19 2007/01/05 14:12:13 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 23rd October 1996 diff --git a/source/graphics_reps/include/G4VisAttributes.icc b/source/graphics_reps/include/G4VisAttributes.icc index fd86e2f84b..2470d63265 100644 --- a/source/graphics_reps/include/G4VisAttributes.icc +++ b/source/graphics_reps/include/G4VisAttributes.icc @@ -25,7 +25,7 @@ // // // $Id: G4VisAttributes.icc,v 1.14 2007/01/05 14:12:13 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 18th November 1996 diff --git a/source/graphics_reps/include/G4VisExtent.hh b/source/graphics_reps/include/G4VisExtent.hh index cf85e983b6..96e3bdb4f2 100644 --- a/source/graphics_reps/include/G4VisExtent.hh +++ b/source/graphics_reps/include/G4VisExtent.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisExtent.hh,v 1.10 2006/06/29 19:06:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A.Walkden 28/11/95 diff --git a/source/graphics_reps/include/G4Visible.hh b/source/graphics_reps/include/G4Visible.hh index 537ace2cd5..7399073d4c 100644 --- a/source/graphics_reps/include/G4Visible.hh +++ b/source/graphics_reps/include/G4Visible.hh @@ -25,7 +25,7 @@ // // // $Id: G4Visible.hh,v 1.13 2006/11/07 11:53:16 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 30th October 1996 diff --git a/source/graphics_reps/include/G4Visible.icc b/source/graphics_reps/include/G4Visible.icc index dd0db72e65..56c7164327 100644 --- a/source/graphics_reps/include/G4Visible.icc +++ b/source/graphics_reps/include/G4Visible.icc @@ -25,7 +25,7 @@ // // // $Id: G4Visible.icc,v 1.8 2006/11/07 11:53:16 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 30th October 1996 diff --git a/source/graphics_reps/include/HepPolyhedron.h b/source/graphics_reps/include/HepPolyhedron.h index 5df4b0ce43..4b72776da4 100644 --- a/source/graphics_reps/include/HepPolyhedron.h +++ b/source/graphics_reps/include/HepPolyhedron.h @@ -25,7 +25,7 @@ // // // $Id: HepPolyhedron.h,v 1.21 2006/06/29 19:06:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Class Description: diff --git a/source/graphics_reps/src/G4AttCheck.cc b/source/graphics_reps/src/G4AttCheck.cc index 910b8096d8..a9cb1ad840 100644 --- a/source/graphics_reps/src/G4AttCheck.cc +++ b/source/graphics_reps/src/G4AttCheck.cc @@ -25,7 +25,7 @@ // // // $Id: G4AttCheck.cc,v 1.15 2006/11/07 11:50:22 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4AttCheck.hh" diff --git a/source/graphics_reps/src/G4AttDef.cc b/source/graphics_reps/src/G4AttDef.cc index f57811b59d..e1e564fe6f 100644 --- a/source/graphics_reps/src/G4AttDef.cc +++ b/source/graphics_reps/src/G4AttDef.cc @@ -25,7 +25,7 @@ // // // $Id: G4AttDef.cc,v 1.2 2006/11/01 10:15:05 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4AttDef.hh" diff --git a/source/graphics_reps/src/G4AttDefStore.cc b/source/graphics_reps/src/G4AttDefStore.cc index 4c7cd9b0c3..cece1f5e28 100644 --- a/source/graphics_reps/src/G4AttDefStore.cc +++ b/source/graphics_reps/src/G4AttDefStore.cc @@ -24,28 +24,20 @@ // ******************************************************************** // // -// $Id: G4AttDefStore.cc,v 1.10 2006/11/01 10:08:41 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AttDefStore.cc,v 1.11 2007/04/03 13:58:08 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4AttDefStore.hh" #include "G4AttDef.hh" -G4AttDefStore* G4AttDefStore::theInstance = 0; -std::map*> G4AttDefStore::m_defsmaps; +namespace G4AttDefStore { + +std::map*> m_defsmaps; std::map* -G4AttDefStore::GetInstance(G4String storeKey, G4bool& isNew) +GetInstance(G4String storeKey, G4bool& isNew) { - // Create the private static instance first to allow for - // the deletion of the definitions in the store - // - static G4AttDefStore theStore; - if (!theInstance) - { - theInstance = &theStore; - } - // Allocate the new map if not existing already // and return it to the caller // @@ -67,14 +59,9 @@ G4AttDefStore::GetInstance(G4String storeKey, G4bool& isNew) return definitions; } -G4bool G4AttDefStore::GetStoreKey +G4bool GetStoreKey (const std::map* definitions, G4String& key) { - if (!theInstance) - { - return false; - } - std::map*>::const_iterator i; for (i = m_defsmaps.begin(); i != m_defsmaps.end(); ++i) { @@ -88,24 +75,4 @@ G4bool G4AttDefStore::GetStoreKey return false; } -G4AttDefStore::G4AttDefStore() -{ -} - -G4AttDefStore::~G4AttDefStore() -{ - std::map*>::iterator iStore, iStore_tmp; - for ( iStore = m_defsmaps.begin(); iStore != m_defsmaps.end(); ) - { - if (iStore->second) - { - delete iStore->second; - iStore_tmp = iStore++; - m_defsmaps.erase(iStore_tmp); - } - else - { - ++iStore; - } - } -} +} // End namespace G4AttDefStore. diff --git a/source/graphics_reps/src/G4AttHolder.cc b/source/graphics_reps/src/G4AttHolder.cc index c242e5bb73..6c461fc38f 100644 --- a/source/graphics_reps/src/G4AttHolder.cc +++ b/source/graphics_reps/src/G4AttHolder.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4AttHolder.cc,v 1.3 2006/11/01 10:11:44 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4AttHolder.hh" diff --git a/source/graphics_reps/src/G4AttUtils.cc b/source/graphics_reps/src/G4AttUtils.cc index b843c76abe..2c08d2f141 100644 --- a/source/graphics_reps/src/G4AttUtils.cc +++ b/source/graphics_reps/src/G4AttUtils.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4AttUtils.cc,v 1.1 2006/09/11 18:04:59 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay September 2006 // diff --git a/source/graphics_reps/src/G4Circle.cc b/source/graphics_reps/src/G4Circle.cc index 209af99ca5..02b80ab73e 100644 --- a/source/graphics_reps/src/G4Circle.cc +++ b/source/graphics_reps/src/G4Circle.cc @@ -25,7 +25,7 @@ // // // $Id: G4Circle.cc,v 1.7 2006/06/29 19:06:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/graphics_reps/src/G4Colour.cc b/source/graphics_reps/src/G4Colour.cc index c5582de053..f5fd26b707 100644 --- a/source/graphics_reps/src/G4Colour.cc +++ b/source/graphics_reps/src/G4Colour.cc @@ -25,7 +25,7 @@ // // // $Id: G4Colour.cc,v 1.11 2007/01/05 14:06:28 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 20th October 1996 diff --git a/source/graphics_reps/src/G4NURBS.cc b/source/graphics_reps/src/G4NURBS.cc index 9e138906c7..f89f711845 100644 --- a/source/graphics_reps/src/G4NURBS.cc +++ b/source/graphics_reps/src/G4NURBS.cc @@ -25,7 +25,7 @@ // // // $Id: G4NURBS.cc,v 1.9 2006/06/29 19:06:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Olivier Crumeyrolle 12 September 1996 diff --git a/source/graphics_reps/src/G4NURBSbox.cc b/source/graphics_reps/src/G4NURBSbox.cc index 204c277f7c..a3250a3d82 100644 --- a/source/graphics_reps/src/G4NURBSbox.cc +++ b/source/graphics_reps/src/G4NURBSbox.cc @@ -25,7 +25,7 @@ // // // $Id: G4NURBSbox.cc,v 1.7 2006/06/29 19:06:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Olivier Crumeyrolle 12 September 1996 diff --git a/source/graphics_reps/src/G4NURBScylinder.cc b/source/graphics_reps/src/G4NURBScylinder.cc index fe17ef8719..1562b32b5d 100644 --- a/source/graphics_reps/src/G4NURBScylinder.cc +++ b/source/graphics_reps/src/G4NURBScylinder.cc @@ -25,7 +25,7 @@ // // // $Id: G4NURBScylinder.cc,v 1.8 2006/06/29 19:06:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Olivier Crumeyrolle 12 September 1996 diff --git a/source/graphics_reps/src/G4NURBShexahedron.cc b/source/graphics_reps/src/G4NURBShexahedron.cc index db78bb74c6..7101f5758f 100644 --- a/source/graphics_reps/src/G4NURBShexahedron.cc +++ b/source/graphics_reps/src/G4NURBShexahedron.cc @@ -25,7 +25,7 @@ // // // $Id: G4NURBShexahedron.cc,v 1.7 2006/06/29 19:06:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // hexahedron implementation // OC 17 9 96 diff --git a/source/graphics_reps/src/G4NURBStube.cc b/source/graphics_reps/src/G4NURBStube.cc index 62fdec8cd0..8c5ff39ecf 100644 --- a/source/graphics_reps/src/G4NURBStube.cc +++ b/source/graphics_reps/src/G4NURBStube.cc @@ -25,7 +25,7 @@ // // // $Id: G4NURBStube.cc,v 1.8 2006/06/29 19:06:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Olivier Crumeyrolle 12 September 1996 diff --git a/source/graphics_reps/src/G4NURBStubesector.cc b/source/graphics_reps/src/G4NURBStubesector.cc index 0901744cee..b887b674cd 100644 --- a/source/graphics_reps/src/G4NURBStubesector.cc +++ b/source/graphics_reps/src/G4NURBStubesector.cc @@ -25,7 +25,7 @@ // // // $Id: G4NURBStubesector.cc,v 1.12 2006/06/29 19:06:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Olivier Crumeyrolle 12 September 1996 diff --git a/source/graphics_reps/src/G4PlacedPolyhedron.cc b/source/graphics_reps/src/G4PlacedPolyhedron.cc index b9bde765dd..cedfa24247 100644 --- a/source/graphics_reps/src/G4PlacedPolyhedron.cc +++ b/source/graphics_reps/src/G4PlacedPolyhedron.cc @@ -25,7 +25,7 @@ // // // $Id: G4PlacedPolyhedron.cc,v 1.4 2006/06/29 19:06:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4PlacedPolyhedron.hh" diff --git a/source/graphics_reps/src/G4Point3DList.cc b/source/graphics_reps/src/G4Point3DList.cc index 296dbcfc36..d1a6b163af 100644 --- a/source/graphics_reps/src/G4Point3DList.cc +++ b/source/graphics_reps/src/G4Point3DList.cc @@ -25,7 +25,7 @@ // // // $Id: G4Point3DList.cc,v 1.7 2006/06/29 19:07:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison July 1995 diff --git a/source/graphics_reps/src/G4Polyhedron.cc b/source/graphics_reps/src/G4Polyhedron.cc index e0d5f162a3..595b3abf09 100644 --- a/source/graphics_reps/src/G4Polyhedron.cc +++ b/source/graphics_reps/src/G4Polyhedron.cc @@ -25,7 +25,7 @@ // // // $Id: G4Polyhedron.cc,v 1.20 2006/06/29 19:07:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4Polyhedron.hh" diff --git a/source/graphics_reps/src/G4Polyline.cc b/source/graphics_reps/src/G4Polyline.cc index 079fe0b6c6..a3c906edb8 100644 --- a/source/graphics_reps/src/G4Polyline.cc +++ b/source/graphics_reps/src/G4Polyline.cc @@ -25,7 +25,7 @@ // // // $Id: G4Polyline.cc,v 1.11 2006/06/29 19:07:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison July 1995 diff --git a/source/graphics_reps/src/G4Polymarker.cc b/source/graphics_reps/src/G4Polymarker.cc index c94b3d21b1..dcaae2ff67 100644 --- a/source/graphics_reps/src/G4Polymarker.cc +++ b/source/graphics_reps/src/G4Polymarker.cc @@ -25,7 +25,7 @@ // // // $Id: G4Polymarker.cc,v 1.11 2006/06/29 19:07:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison November 1996 diff --git a/source/graphics_reps/src/G4Scale.cc b/source/graphics_reps/src/G4Scale.cc index 50c216d2c9..94e8c9c2dd 100644 --- a/source/graphics_reps/src/G4Scale.cc +++ b/source/graphics_reps/src/G4Scale.cc @@ -25,7 +25,7 @@ // // // $Id: G4Scale.cc,v 1.9 2006/06/29 19:07:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 21st July 2001 diff --git a/source/graphics_reps/src/G4Square.cc b/source/graphics_reps/src/G4Square.cc index 25d761a580..4f9e6e78fe 100644 --- a/source/graphics_reps/src/G4Square.cc +++ b/source/graphics_reps/src/G4Square.cc @@ -25,7 +25,7 @@ // // // $Id: G4Square.cc,v 1.6 2006/06/29 19:07:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/graphics_reps/src/G4Text.cc b/source/graphics_reps/src/G4Text.cc index 53c72de04a..b5f50fe73e 100644 --- a/source/graphics_reps/src/G4Text.cc +++ b/source/graphics_reps/src/G4Text.cc @@ -25,7 +25,7 @@ // // // $Id: G4Text.cc,v 1.9 2006/06/29 19:07:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 17/11/96. diff --git a/source/graphics_reps/src/G4VMarker.cc b/source/graphics_reps/src/G4VMarker.cc index 70bf5cd99c..85cf6c5dc1 100644 --- a/source/graphics_reps/src/G4VMarker.cc +++ b/source/graphics_reps/src/G4VMarker.cc @@ -25,7 +25,7 @@ // // // $Id: G4VMarker.cc,v 1.11 2006/06/29 19:07:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/graphics_reps/src/G4VVisManager.cc b/source/graphics_reps/src/G4VVisManager.cc index 43d4b8d302..7608c139f9 100644 --- a/source/graphics_reps/src/G4VVisManager.cc +++ b/source/graphics_reps/src/G4VVisManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4VVisManager.cc,v 1.4 2006/06/29 19:07:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Abstract interface for GEANT4 Visualization Manager. diff --git a/source/graphics_reps/src/G4VisAttributes.cc b/source/graphics_reps/src/G4VisAttributes.cc index 539f3d5a6e..4152e3989b 100644 --- a/source/graphics_reps/src/G4VisAttributes.cc +++ b/source/graphics_reps/src/G4VisAttributes.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisAttributes.cc,v 1.16 2007/01/05 14:12:13 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 23rd October 1996 diff --git a/source/graphics_reps/src/G4VisExtent.cc b/source/graphics_reps/src/G4VisExtent.cc index f24f6e7314..0b267a2abe 100644 --- a/source/graphics_reps/src/G4VisExtent.cc +++ b/source/graphics_reps/src/G4VisExtent.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisExtent.cc,v 1.10 2006/06/29 19:07:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // A.Walkden 28/11/95 diff --git a/source/graphics_reps/src/G4Visible.cc b/source/graphics_reps/src/G4Visible.cc index 52365f6303..6e42effc26 100644 --- a/source/graphics_reps/src/G4Visible.cc +++ b/source/graphics_reps/src/G4Visible.cc @@ -25,7 +25,7 @@ // // // $Id: G4Visible.cc,v 1.17 2006/11/07 11:53:16 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 30th October 1996 diff --git a/source/graphics_reps/src/HepPolyhedron.cc b/source/graphics_reps/src/HepPolyhedron.cc index a394798db5..e47bf1519b 100644 --- a/source/graphics_reps/src/HepPolyhedron.cc +++ b/source/graphics_reps/src/HepPolyhedron.cc @@ -25,7 +25,7 @@ // // // $Id: HepPolyhedron.cc,v 1.23 2006/11/07 11:48:51 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/intercoms/include/G4UIaliasList.hh b/source/intercoms/include/G4UIaliasList.hh index a13d26b85f..a24c2ede77 100644 --- a/source/intercoms/include/G4UIaliasList.hh +++ b/source/intercoms/include/G4UIaliasList.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIaliasList.hh,v 1.6 2006/06/29 19:07:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UIaliasList_h diff --git a/source/intercoms/include/G4UIbatch.hh b/source/intercoms/include/G4UIbatch.hh index 9f31c16dc1..15066add9a 100644 --- a/source/intercoms/include/G4UIbatch.hh +++ b/source/intercoms/include/G4UIbatch.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIbatch.hh,v 1.9 2006/06/29 19:07:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $id$ diff --git a/source/intercoms/include/G4UIcmdWith3Vector.hh b/source/intercoms/include/G4UIcmdWith3Vector.hh index 57876840aa..37465021fc 100644 --- a/source/intercoms/include/G4UIcmdWith3Vector.hh +++ b/source/intercoms/include/G4UIcmdWith3Vector.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWith3Vector.hh,v 1.7 2006/06/29 19:07:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/include/G4UIcmdWith3VectorAndUnit.hh b/source/intercoms/include/G4UIcmdWith3VectorAndUnit.hh index 6c1d750046..782d347d3a 100644 --- a/source/intercoms/include/G4UIcmdWith3VectorAndUnit.hh +++ b/source/intercoms/include/G4UIcmdWith3VectorAndUnit.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWith3VectorAndUnit.hh,v 1.8 2006/06/29 19:07:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/include/G4UIcmdWithABool.hh b/source/intercoms/include/G4UIcmdWithABool.hh index 09b1608e46..13e5c5beea 100644 --- a/source/intercoms/include/G4UIcmdWithABool.hh +++ b/source/intercoms/include/G4UIcmdWithABool.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWithABool.hh,v 1.7 2006/06/29 19:07:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/include/G4UIcmdWithADouble.hh b/source/intercoms/include/G4UIcmdWithADouble.hh index 6a4486ca52..9b0670a8d6 100644 --- a/source/intercoms/include/G4UIcmdWithADouble.hh +++ b/source/intercoms/include/G4UIcmdWithADouble.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWithADouble.hh,v 1.7 2006/06/29 19:07:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/include/G4UIcmdWithADoubleAndUnit.hh b/source/intercoms/include/G4UIcmdWithADoubleAndUnit.hh index 5fd6dea1a9..07241d4fb9 100644 --- a/source/intercoms/include/G4UIcmdWithADoubleAndUnit.hh +++ b/source/intercoms/include/G4UIcmdWithADoubleAndUnit.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWithADoubleAndUnit.hh,v 1.8 2006/06/29 19:07:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/include/G4UIcmdWithAString.hh b/source/intercoms/include/G4UIcmdWithAString.hh index 8674eb45d8..e4a753bd3e 100644 --- a/source/intercoms/include/G4UIcmdWithAString.hh +++ b/source/intercoms/include/G4UIcmdWithAString.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWithAString.hh,v 1.5 2006/06/29 19:07:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/include/G4UIcmdWithAnInteger.hh b/source/intercoms/include/G4UIcmdWithAnInteger.hh index b8ae8d6012..de447ee13d 100644 --- a/source/intercoms/include/G4UIcmdWithAnInteger.hh +++ b/source/intercoms/include/G4UIcmdWithAnInteger.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWithAnInteger.hh,v 1.7 2006/06/29 19:08:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/include/G4UIcmdWithoutParameter.hh b/source/intercoms/include/G4UIcmdWithoutParameter.hh index cde0cc1126..f81c9dd97c 100644 --- a/source/intercoms/include/G4UIcmdWithoutParameter.hh +++ b/source/intercoms/include/G4UIcmdWithoutParameter.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWithoutParameter.hh,v 1.5 2006/06/29 19:08:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/include/G4UIcommand.hh b/source/intercoms/include/G4UIcommand.hh index 994d8efdc2..73e7049311 100644 --- a/source/intercoms/include/G4UIcommand.hh +++ b/source/intercoms/include/G4UIcommand.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcommand.hh,v 1.15 2006/06/29 19:08:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/include/G4UIcommandStatus.hh b/source/intercoms/include/G4UIcommandStatus.hh index 6fc90acf18..36ee9ac3d5 100644 --- a/source/intercoms/include/G4UIcommandStatus.hh +++ b/source/intercoms/include/G4UIcommandStatus.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcommandStatus.hh,v 1.5 2006/06/29 19:08:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UIcommandStatus_h diff --git a/source/intercoms/include/G4UIcommandTree.hh b/source/intercoms/include/G4UIcommandTree.hh index 4a15b46469..5e4344f8d2 100644 --- a/source/intercoms/include/G4UIcommandTree.hh +++ b/source/intercoms/include/G4UIcommandTree.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcommandTree.hh,v 1.15 2006/06/29 19:08:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UIcommandTree_h diff --git a/source/intercoms/include/G4UIcontrolMessenger.hh b/source/intercoms/include/G4UIcontrolMessenger.hh index 3e4cf3f833..ca9ed29c79 100644 --- a/source/intercoms/include/G4UIcontrolMessenger.hh +++ b/source/intercoms/include/G4UIcontrolMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcontrolMessenger.hh,v 1.11 2006/06/29 19:08:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UIcontrolMessenger_h diff --git a/source/intercoms/include/G4UIdirectory.hh b/source/intercoms/include/G4UIdirectory.hh index 4e27c74691..22e0b7478f 100644 --- a/source/intercoms/include/G4UIdirectory.hh +++ b/source/intercoms/include/G4UIdirectory.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIdirectory.hh,v 1.5 2006/06/29 19:08:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/include/G4UImanager.hh b/source/intercoms/include/G4UImanager.hh index 64cab1f60a..2c842ad8e9 100644 --- a/source/intercoms/include/G4UImanager.hh +++ b/source/intercoms/include/G4UImanager.hh @@ -25,7 +25,7 @@ // // // $Id: G4UImanager.hh,v 1.21 2006/06/29 19:08:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UImanager_h diff --git a/source/intercoms/include/G4UImessenger.hh b/source/intercoms/include/G4UImessenger.hh index 396568286c..6fbea44d18 100644 --- a/source/intercoms/include/G4UImessenger.hh +++ b/source/intercoms/include/G4UImessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4UImessenger.hh,v 1.9 2006/06/29 19:08:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UImessenger_h diff --git a/source/intercoms/include/G4UIparameter.hh b/source/intercoms/include/G4UIparameter.hh index 78cf397ee5..ed969489f3 100644 --- a/source/intercoms/include/G4UIparameter.hh +++ b/source/intercoms/include/G4UIparameter.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIparameter.hh,v 1.9 2006/06/29 19:08:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------------- diff --git a/source/intercoms/include/G4UIsession.hh b/source/intercoms/include/G4UIsession.hh index 2575b1a57c..124f7159af 100644 --- a/source/intercoms/include/G4UIsession.hh +++ b/source/intercoms/include/G4UIsession.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIsession.hh,v 1.5 2006/06/29 19:08:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $id$ diff --git a/source/intercoms/include/G4UItokenNum.hh b/source/intercoms/include/G4UItokenNum.hh index 980534ec71..b9aeebe4e3 100644 --- a/source/intercoms/include/G4UItokenNum.hh +++ b/source/intercoms/include/G4UItokenNum.hh @@ -25,7 +25,7 @@ // // // $Id: G4UItokenNum.hh,v 1.8 2006/06/29 19:08:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4UItokenNum.hh diff --git a/source/intercoms/include/G4UnitsMessenger.hh b/source/intercoms/include/G4UnitsMessenger.hh index ce6bef1731..51db29e2e6 100644 --- a/source/intercoms/include/G4UnitsMessenger.hh +++ b/source/intercoms/include/G4UnitsMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4UnitsMessenger.hh,v 1.5 2006/06/29 19:08:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class description // diff --git a/source/intercoms/include/G4VFlavoredParallelWorld.hh b/source/intercoms/include/G4VFlavoredParallelWorld.hh index 5f04259d0b..9333fd3c3f 100644 --- a/source/intercoms/include/G4VFlavoredParallelWorld.hh +++ b/source/intercoms/include/G4VFlavoredParallelWorld.hh @@ -25,7 +25,7 @@ // // // $Id: G4VFlavoredParallelWorld.hh,v 1.5 2006/11/03 17:44:40 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Abstract interface for GEANT4 Flavored Parallel World. diff --git a/source/intercoms/include/G4VGlobalFastSimulationManager.hh b/source/intercoms/include/G4VGlobalFastSimulationManager.hh index e7127df105..f66aa3c017 100644 --- a/source/intercoms/include/G4VGlobalFastSimulationManager.hh +++ b/source/intercoms/include/G4VGlobalFastSimulationManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4VGlobalFastSimulationManager.hh,v 1.5 2006/06/29 19:08:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Abstract interface for GEANT4 Global Fast Simulation Manager. diff --git a/source/intercoms/src/G4UIaliasList.cc b/source/intercoms/src/G4UIaliasList.cc index e1eedf1311..626c16683c 100644 --- a/source/intercoms/src/G4UIaliasList.cc +++ b/source/intercoms/src/G4UIaliasList.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIaliasList.cc,v 1.6 2006/06/29 19:08:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4UIaliasList.hh" diff --git a/source/intercoms/src/G4UIbatch.cc b/source/intercoms/src/G4UIbatch.cc index 10ba2b8b9e..fcab4480d8 100644 --- a/source/intercoms/src/G4UIbatch.cc +++ b/source/intercoms/src/G4UIbatch.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIbatch.cc,v 1.14 2006/06/29 19:08:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4UIbatch.hh" diff --git a/source/intercoms/src/G4UIcmdWith3Vector.cc b/source/intercoms/src/G4UIcmdWith3Vector.cc index ca4fe6f2a3..f443606a3f 100644 --- a/source/intercoms/src/G4UIcmdWith3Vector.cc +++ b/source/intercoms/src/G4UIcmdWith3Vector.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWith3Vector.cc,v 1.8 2006/06/29 19:08:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/src/G4UIcmdWith3VectorAndUnit.cc b/source/intercoms/src/G4UIcmdWith3VectorAndUnit.cc index d8ec0e7ffe..98c37f8eaf 100644 --- a/source/intercoms/src/G4UIcmdWith3VectorAndUnit.cc +++ b/source/intercoms/src/G4UIcmdWith3VectorAndUnit.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWith3VectorAndUnit.cc,v 1.9 2006/06/29 19:08:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/src/G4UIcmdWithABool.cc b/source/intercoms/src/G4UIcmdWithABool.cc index 9f82e01f51..cffd296595 100644 --- a/source/intercoms/src/G4UIcmdWithABool.cc +++ b/source/intercoms/src/G4UIcmdWithABool.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWithABool.cc,v 1.8 2006/06/29 19:08:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/src/G4UIcmdWithADouble.cc b/source/intercoms/src/G4UIcmdWithADouble.cc index ca0f3b4bf5..98daa5d7a6 100644 --- a/source/intercoms/src/G4UIcmdWithADouble.cc +++ b/source/intercoms/src/G4UIcmdWithADouble.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWithADouble.cc,v 1.8 2006/06/29 19:08:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/src/G4UIcmdWithADoubleAndUnit.cc b/source/intercoms/src/G4UIcmdWithADoubleAndUnit.cc index c024c3d854..1be0ad18c2 100644 --- a/source/intercoms/src/G4UIcmdWithADoubleAndUnit.cc +++ b/source/intercoms/src/G4UIcmdWithADoubleAndUnit.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWithADoubleAndUnit.cc,v 1.9 2006/06/29 19:08:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/src/G4UIcmdWithAString.cc b/source/intercoms/src/G4UIcmdWithAString.cc index 19c774fa5d..8d57391375 100644 --- a/source/intercoms/src/G4UIcmdWithAString.cc +++ b/source/intercoms/src/G4UIcmdWithAString.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWithAString.cc,v 1.6 2006/06/29 19:08:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/src/G4UIcmdWithAnInteger.cc b/source/intercoms/src/G4UIcmdWithAnInteger.cc index da981a8a5b..0bc247de3d 100644 --- a/source/intercoms/src/G4UIcmdWithAnInteger.cc +++ b/source/intercoms/src/G4UIcmdWithAnInteger.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWithAnInteger.cc,v 1.8 2006/06/29 19:08:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/src/G4UIcmdWithoutParameter.cc b/source/intercoms/src/G4UIcmdWithoutParameter.cc index 0ae2f0d02a..54548d9222 100644 --- a/source/intercoms/src/G4UIcmdWithoutParameter.cc +++ b/source/intercoms/src/G4UIcmdWithoutParameter.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIcmdWithoutParameter.cc,v 1.4 2006/06/29 19:08:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/src/G4UIcommand.cc b/source/intercoms/src/G4UIcommand.cc index f6eda5bd25..c83892b35f 100644 --- a/source/intercoms/src/G4UIcommand.cc +++ b/source/intercoms/src/G4UIcommand.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIcommand.cc,v 1.25 2006/06/29 19:08:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/src/G4UIcommandTree.cc b/source/intercoms/src/G4UIcommandTree.cc index 79eaae7809..92a49e812e 100644 --- a/source/intercoms/src/G4UIcommandTree.cc +++ b/source/intercoms/src/G4UIcommandTree.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIcommandTree.cc,v 1.13 2006/06/29 19:08:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4UIcommandTree.hh" diff --git a/source/intercoms/src/G4UIcontrolMessenger.cc b/source/intercoms/src/G4UIcontrolMessenger.cc index 39820e9913..c0e088c6c4 100644 --- a/source/intercoms/src/G4UIcontrolMessenger.cc +++ b/source/intercoms/src/G4UIcontrolMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIcontrolMessenger.cc,v 1.10 2006/06/29 19:09:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include diff --git a/source/intercoms/src/G4UIdirectory.cc b/source/intercoms/src/G4UIdirectory.cc index c14e33c92d..1fd98e191c 100644 --- a/source/intercoms/src/G4UIdirectory.cc +++ b/source/intercoms/src/G4UIdirectory.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIdirectory.cc,v 1.4 2006/06/29 19:09:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/src/G4UImanager.cc b/source/intercoms/src/G4UImanager.cc index 9e4ee882a0..e8a5932ed4 100644 --- a/source/intercoms/src/G4UImanager.cc +++ b/source/intercoms/src/G4UImanager.cc @@ -25,7 +25,7 @@ // // // $Id: G4UImanager.cc,v 1.32 2006/10/17 16:32:49 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------------- diff --git a/source/intercoms/src/G4UImessenger.cc b/source/intercoms/src/G4UImessenger.cc index e94efc9603..9fdf8b8aa2 100644 --- a/source/intercoms/src/G4UImessenger.cc +++ b/source/intercoms/src/G4UImessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4UImessenger.cc,v 1.7 2006/06/29 19:09:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4UImessenger.hh" diff --git a/source/intercoms/src/G4UIparameter.cc b/source/intercoms/src/G4UIparameter.cc index b6796ee185..8c666f2742 100644 --- a/source/intercoms/src/G4UIparameter.cc +++ b/source/intercoms/src/G4UIparameter.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIparameter.cc,v 1.14 2006/06/29 19:09:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4UIparameter.hh" diff --git a/source/intercoms/src/G4UIsession.cc b/source/intercoms/src/G4UIsession.cc index eafea6e6cc..1c60a2ee05 100644 --- a/source/intercoms/src/G4UIsession.cc +++ b/source/intercoms/src/G4UIsession.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIsession.cc,v 1.7 2006/06/29 19:09:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------------- diff --git a/source/intercoms/src/G4UnitsMessenger.cc b/source/intercoms/src/G4UnitsMessenger.cc index 308af601ca..19dadb4b6f 100644 --- a/source/intercoms/src/G4UnitsMessenger.cc +++ b/source/intercoms/src/G4UnitsMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4UnitsMessenger.cc,v 1.7 2006/06/29 19:09:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/intercoms/src/G4VGlobalFastSimulationManager.cc b/source/intercoms/src/G4VGlobalFastSimulationManager.cc index 726ac86e29..3a2a2c9eed 100644 --- a/source/intercoms/src/G4VGlobalFastSimulationManager.cc +++ b/source/intercoms/src/G4VGlobalFastSimulationManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4VGlobalFastSimulationManager.cc,v 1.5 2006/06/29 19:09:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Abstract interface for GEANT4 Global Fast Simulation Manager. diff --git a/source/interfaces/GAG/include/G4UIGAG.hh b/source/interfaces/GAG/include/G4UIGAG.hh index bd8c9950b6..f74afdfa86 100644 --- a/source/interfaces/GAG/include/G4UIGAG.hh +++ b/source/interfaces/GAG/include/G4UIGAG.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIGAG.hh,v 1.7 2006/06/29 19:09:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4UIGAG.hh // GAG(Geant4 adaptive GUI) interface class diff --git a/source/interfaces/GAG/include/G4UIGainServer.hh b/source/interfaces/GAG/include/G4UIGainServer.hh index 761dfce4a5..e46b225931 100644 --- a/source/interfaces/GAG/include/G4UIGainServer.hh +++ b/source/interfaces/GAG/include/G4UIGainServer.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIGainServer.hh,v 1.5 2006/06/29 19:09:21 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // diff --git a/source/interfaces/GAG/src/G4UIGAG.cc b/source/interfaces/GAG/src/G4UIGAG.cc index eef0db5f14..38d357eb1a 100644 --- a/source/interfaces/GAG/src/G4UIGAG.cc +++ b/source/interfaces/GAG/src/G4UIGAG.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIGAG.cc,v 1.18 2006/06/29 19:09:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4UIGAG.cc // 18.Feb.98 M.Nagamatu and T.Kodama created G4UIGAG from G4UIterminal diff --git a/source/interfaces/GAG/src/G4UIGainServer.cc b/source/interfaces/GAG/src/G4UIGainServer.cc index ab0ded4098..b1a4241d68 100644 --- a/source/interfaces/GAG/src/G4UIGainServer.cc +++ b/source/interfaces/GAG/src/G4UIGainServer.cc @@ -26,7 +26,7 @@ // // 12/06/2002 G4UIGainServer H. MInamimoto and H. Yoshida created // $Id: G4UIGainServer.cc,v 1.10 2006/06/29 19:09:25 gunter Exp $ -// $Name: geant4-08-02 $ +// $Name: geant4-09-00 $ // #ifndef WIN32 diff --git a/source/interfaces/History b/source/interfaces/History index 1deb344c8d..d6ba51c02d 100644 --- a/source/interfaces/History +++ b/source/interfaces/History @@ -1,4 +1,4 @@ -$Id: History,v 1.78 2005/11/28 18:20:20 gcosmo Exp $ +$Id: History,v 1.82 2007/06/19 10:38:28 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,18 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +19 June 2007, Gabriele Cosmo (interfaces-V08-03-02) +- Fix compilation error on Windows ('theShell' not declared). + +14 June 2007, Koichi Murakami (interfaces-V08-03-01) +- fixed the problem with Ctl-C termination for bash users. + * G4VUIshell : add a virtual method ResetTerminal() + * G4UItcsh : add a method ResetTerminal() + * G4UIterminal : add terminal reset when Ctl-C termination + +22 May 2007, Koichi Murakami (interface-V08-03-00) +- G4UIterminal.cc: implement signal handler for soft-abort + 28 November 2005, Gabriele Cosmo (interface-V07-01-02) - G4UIXm.cc migrated to sstream diff --git a/source/interfaces/basic/GNUmakefile b/source/interfaces/basic/GNUmakefile index eaea997edf..3f0ff6ecaa 100644 --- a/source/interfaces/basic/GNUmakefile +++ b/source/interfaces/basic/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.2 2005/01/26 08:50:58 gcosmo Exp $ +# $Id: GNUmakefile,v 1.3 2007/05/21 07:30:33 kmura Exp $ # ------------------------------------------------------------- # GNUmakefile for interfaces/basic library. John Allison, 6/7/98. @@ -15,5 +15,32 @@ include $(G4INSTALL)/config/interactivity.gmk CPPFLAGS += -I$(G4BASE)/global/management/include CPPFLAGS += -I$(G4BASE)/interfaces/common/include CPPFLAGS += -I$(G4BASE)/intercoms/include +CPPFLAGS += -I$(G4BASE)/global/management/include \ + -I$(G4BASE)/global/HEPRandom/include \ + -I$(G4BASE)/global/HEPGeometry/include \ + -I$(G4BASE)/run/include \ + -I$(G4BASE)/event/include \ + -I$(G4BASE)/track/include \ + -I$(G4BASE)/tracking/include \ + -I$(G4BASE)/particles/management/include \ + -I$(G4BASE)/processes/management/include \ + -I$(G4BASE)/processes/cuts/include \ + -I$(G4BASE)/processes/electromagnetic/utils/include \ + -I$(G4BASE)/processes/transportation/include \ + -I$(G4BASE)/processes/decay/include \ + -I$(G4BASE)/materials/include \ + -I$(G4BASE)/geometry/management/include \ + -I$(G4BASE)/geometry/volumes/include \ + -I$(G4BASE)/geometry/navigation/include \ + -I$(G4BASE)/geometry/magneticfield/include \ + -I$(G4BASE)/geometry/biasing/include \ + -I$(G4BASE)/digits_hits/detector/include \ + -I$(G4BASE)/digits_hits/hits/include \ + -I$(G4BASE)/digits_hits/digits/include \ + -I$(G4BASE)/interfaces/common/include \ + -I$(G4BASE)/interfaces/basic/include \ + -I$(G4BASE)/intercoms/include \ + -I$(G4BASE)/graphics_reps/include include $(G4INSTALL)/config/common.gmk + diff --git a/source/interfaces/basic/include/G4UIArrayString.hh b/source/interfaces/basic/include/G4UIArrayString.hh index 43c5e4c2e5..1919f0a2fd 100644 --- a/source/interfaces/basic/include/G4UIArrayString.hh +++ b/source/interfaces/basic/include/G4UIArrayString.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIArrayString.hh,v 1.3 2006/06/29 19:09:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UIArrayString_h diff --git a/source/interfaces/basic/include/G4UIWin32.hh b/source/interfaces/basic/include/G4UIWin32.hh index 595926f9b0..4e689a60c9 100644 --- a/source/interfaces/basic/include/G4UIWin32.hh +++ b/source/interfaces/basic/include/G4UIWin32.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIWin32.hh,v 1.14 2006/06/29 19:09:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UIWin32_h #define G4UIWin32_h diff --git a/source/interfaces/basic/include/G4UIXaw.hh b/source/interfaces/basic/include/G4UIXaw.hh index 1a0fd9a176..2bfc634efa 100644 --- a/source/interfaces/basic/include/G4UIXaw.hh +++ b/source/interfaces/basic/include/G4UIXaw.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIXaw.hh,v 1.6 2006/06/29 19:09:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UIXaw_h #define G4UIXaw_h diff --git a/source/interfaces/basic/include/G4UIXm.hh b/source/interfaces/basic/include/G4UIXm.hh index 9c420524d9..38cd851a00 100644 --- a/source/interfaces/basic/include/G4UIXm.hh +++ b/source/interfaces/basic/include/G4UIXm.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIXm.hh,v 1.13 2006/06/29 19:09:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UIXm_h #define G4UIXm_h diff --git a/source/interfaces/basic/include/G4UIcsh.hh b/source/interfaces/basic/include/G4UIcsh.hh index 699b345d93..de150942dc 100644 --- a/source/interfaces/basic/include/G4UIcsh.hh +++ b/source/interfaces/basic/include/G4UIcsh.hh @@ -25,7 +25,7 @@ // // // $Id: G4UIcsh.hh,v 1.4 2006/06/29 19:09:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UIcsh_h diff --git a/source/interfaces/basic/include/G4UItcsh.hh b/source/interfaces/basic/include/G4UItcsh.hh index d8ee07e8c8..d446a0358a 100644 --- a/source/interfaces/basic/include/G4UItcsh.hh +++ b/source/interfaces/basic/include/G4UItcsh.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UItcsh.hh,v 1.7 2006/06/29 19:09:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4UItcsh.hh,v 1.8 2007/06/14 05:44:58 kmura Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UItcsh_h @@ -39,7 +39,7 @@ #include "G4UIcommand.hh" #include "G4UIcommandTree.hh" -// +// ==================================================================== // Description: // This class gives tcsh-like shell. // @@ -67,6 +67,7 @@ // %/ ... current working directory // %h ... history# (different from G4 history#) // +// ==================================================================== class G4UItcsh : public G4VUIshell { protected: @@ -124,8 +125,13 @@ public: void SetLsColor(TermColorIndex dirColor, TermColorIndex cmdColor); virtual G4String GetCommandLine(const char* msg=0); + + virtual void ResetTerminal(); }; +// ==================================================================== +// inline functions +// ==================================================================== inline G4bool G4UItcsh::IsCursorLast() const { if(cursorPosition == G4int(commandLine.length()+1)) return TRUE; diff --git a/source/interfaces/basic/include/G4UIterminal.hh b/source/interfaces/basic/include/G4UIterminal.hh index 5439aef096..23db73d72b 100644 --- a/source/interfaces/basic/include/G4UIterminal.hh +++ b/source/interfaces/basic/include/G4UIterminal.hh @@ -23,19 +23,11 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// $Id: G4UIterminal.hh,v 1.10 2007/05/22 01:51:05 kmura Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// $Id: G4UIterminal.hh,v 1.9 2006/06/29 19:09:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// - -#ifndef G4UIterminal_h -#define G4UIterminal_h 1 - -#include -#include "G4UImanager.hh" -#include "G4VBasicShell.hh" -#include "G4VUIshell.hh" - +// ==================================================================== +// G4UIterminal.cc // // Description: // @@ -68,7 +60,14 @@ // - Add more functionality, if need. // // For more detail, see source codes. -// +// ==================================================================== +#ifndef G4UIterminal_h +#define G4UIterminal_h 1 + +#include +#include "G4UImanager.hh" +#include "G4VBasicShell.hh" +#include "G4VUIshell.hh" class G4UIterminal : public G4VBasicShell { private: @@ -81,7 +80,7 @@ private: G4bool iCont; public: - G4UIterminal(G4VUIshell* aShell=0); + G4UIterminal(G4VUIshell* aShell=0, G4bool qsig=true); ~G4UIterminal(); void SetPrompt(const G4String& prompt); diff --git a/source/interfaces/basic/include/G4VUIshell.hh b/source/interfaces/basic/include/G4VUIshell.hh index fa62056f19..d9d839fe9e 100644 --- a/source/interfaces/basic/include/G4VUIshell.hh +++ b/source/interfaces/basic/include/G4VUIshell.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VUIshell.hh,v 1.6 2006/06/29 19:09:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VUIshell.hh,v 1.7 2007/06/14 05:44:58 kmura Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VUIshell_h @@ -33,7 +33,7 @@ #include "globals.hh" -// +// ==================================================================== // Description: // This class is the abstract base class for various UI shells. // @@ -49,6 +49,7 @@ // %s ... current application status // %/ ... current working directory // +// ==================================================================== // terminal color index enum TermColorIndex{ BLACK=0, RED, GREEN, YELLOW, @@ -94,10 +95,13 @@ public: // get command string from a command line virtual G4String GetCommandLine(const char* msg=0)= 0; + + virtual void ResetTerminal(); }; - -// inlines... +// ==================================================================== +// inline functions +// ==================================================================== inline void G4VUIshell::SetNColumn(G4int ncol) { nColumn= ncol; diff --git a/source/interfaces/basic/src/G4UIArrayString.cc b/source/interfaces/basic/src/G4UIArrayString.cc index e225c02696..19a43d7eeb 100644 --- a/source/interfaces/basic/src/G4UIArrayString.cc +++ b/source/interfaces/basic/src/G4UIArrayString.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIArrayString.cc,v 1.8 2006/06/29 19:09:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include diff --git a/source/interfaces/basic/src/G4UIWin32.cc b/source/interfaces/basic/src/G4UIWin32.cc index 52ed4836e3..5f24abc84f 100644 --- a/source/interfaces/basic/src/G4UIWin32.cc +++ b/source/interfaces/basic/src/G4UIWin32.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIWin32.cc,v 1.13 2006/06/29 19:09:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G.Barrand diff --git a/source/interfaces/basic/src/G4UIXaw.cc b/source/interfaces/basic/src/G4UIXaw.cc index 412b75f724..8edc3749d3 100644 --- a/source/interfaces/basic/src/G4UIXaw.cc +++ b/source/interfaces/basic/src/G4UIXaw.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIXaw.cc,v 1.6 2006/06/29 19:09:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G.Barrand diff --git a/source/interfaces/basic/src/G4UIXm.cc b/source/interfaces/basic/src/G4UIXm.cc index c816a485f0..c31d56192d 100644 --- a/source/interfaces/basic/src/G4UIXm.cc +++ b/source/interfaces/basic/src/G4UIXm.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIXm.cc,v 1.14 2006/06/29 19:09:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G.Barrand diff --git a/source/interfaces/basic/src/G4UIcsh.cc b/source/interfaces/basic/src/G4UIcsh.cc index 4b73be4973..d31191216e 100644 --- a/source/interfaces/basic/src/G4UIcsh.cc +++ b/source/interfaces/basic/src/G4UIcsh.cc @@ -25,7 +25,7 @@ // // // $Id: G4UIcsh.cc,v 1.8 2006/06/29 19:09:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4UIcsh.hh" diff --git a/source/interfaces/basic/src/G4UItcsh.cc b/source/interfaces/basic/src/G4UItcsh.cc index 28a182c439..6d4388642f 100644 --- a/source/interfaces/basic/src/G4UItcsh.cc +++ b/source/interfaces/basic/src/G4UItcsh.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UItcsh.cc,v 1.12 2006/06/29 19:09:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4UItcsh.cc,v 1.14 2007/06/14 05:44:58 kmura Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef WIN32 @@ -75,10 +75,10 @@ G4UItcsh::~G4UItcsh() ///////////////////// { } - -/////////////////////////// + +////////////////////////////////////////// void G4UItcsh::MakePrompt(const char* msg) -/////////////////////////// +////////////////////////////////////////// { if(promptSetting.length()<=1) { promptString= promptSetting; @@ -129,6 +129,15 @@ void G4UItcsh::MakePrompt(const char* msg) promptString.append(G4String(promptSetting[i])); } + +////////////////////////////// +void G4UItcsh::ResetTerminal() +////////////////////////////// +{ + RestoreTerm(); +} + + // -------------------------------------------------------------------- // commad line operations // -------------------------------------------------------------------- @@ -464,14 +473,14 @@ void G4UItcsh::CompleteCommand() else jhead++; G4int jt= input.find_last_of('/'); - if(jt +#ifndef WIN32 +#include "G4RunManager.hh" +#include +#endif -////////////////////////////////////////////// -G4UIterminal::G4UIterminal(G4VUIshell* aShell) -////////////////////////////////////////////// +// ==================================================================== +// signal handler for soft-abort +// ==================================================================== + +static G4VUIshell* theshell= 0; + +#ifndef WIN32 + +//////////////////////////////// +static void SignalHandler(G4int) +//////////////////////////////// +{ + G4RunManager* runManager= G4RunManager::GetRunManager(); + G4StateManager* stateManager= G4StateManager::GetStateManager(); + G4ApplicationState state= stateManager-> GetCurrentState(); + + if(state==G4State_GeomClosed || state==G4State_EventProc) { + G4cout << "aborting Run ..."; + runManager-> AbortRun(true); + G4cout << G4endl; + } else { + G4cout << G4endl + << "Session terminated." << G4endl; + theshell-> ResetTerminal(); + delete runManager; + exit(0); + } + + // for original Unix / System V + signal(SIGINT, SignalHandler); +} +#endif + +// ==================================================================== +// +// class description +// +// ==================================================================== + +/////////////////////////////////////////////////////////// +G4UIterminal::G4UIterminal(G4VUIshell* aShell, G4bool qsig) +/////////////////////////////////////////////////////////// { UI= G4UImanager::GetUIpointer(); UI-> SetSession(this); @@ -51,6 +97,14 @@ G4UIterminal::G4UIterminal(G4VUIshell* aShell) if(aShell) shell= aShell; else shell= new G4UIcsh; + theshell= shell; // locally stored for the signal handler + + // add signal handler + if(qsig) { +#ifndef WIN32 + signal(SIGINT, SignalHandler); +#endif + } } ///////////////////////////// diff --git a/source/interfaces/basic/src/G4VUIshell.cc b/source/interfaces/basic/src/G4VUIshell.cc index 35751d6df3..ccf1acba83 100644 --- a/source/interfaces/basic/src/G4VUIshell.cc +++ b/source/interfaces/basic/src/G4VUIshell.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VUIshell.cc,v 1.9 2006/06/29 19:09:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VUIshell.cc,v 1.10 2007/06/14 05:44:58 kmura Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4UImanager.hh" @@ -58,9 +58,9 @@ G4VUIshell::~G4VUIshell() { } -///////////////////////////// +//////////////////////////////////////////// void G4VUIshell::MakePrompt(const char* msg) -///////////////////////////// +//////////////////////////////////////////// { if(promptSetting.length()<=1) { promptString= promptSetting; @@ -105,6 +105,13 @@ void G4VUIshell::MakePrompt(const char* msg) } +//////////////////////////////// +void G4VUIshell::ResetTerminal() +//////////////////////////////// +{ + +} + // -------------------------------------------------------------------- // G4command operations // -------------------------------------------------------------------- @@ -307,3 +314,4 @@ void G4VUIshell::ListCommand(const G4String& dir, G4UIArrayString arrayString(stream); arrayString.Show(nColumn); } + diff --git a/source/interfaces/common/include/G4VBasicShell.hh b/source/interfaces/common/include/G4VBasicShell.hh index dafddcb90a..fd04700c97 100644 --- a/source/interfaces/common/include/G4VBasicShell.hh +++ b/source/interfaces/common/include/G4VBasicShell.hh @@ -25,7 +25,7 @@ // // // $Id: G4VBasicShell.hh,v 1.7 2006/06/29 19:10:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VBasicShell_H diff --git a/source/interfaces/common/include/G4VInteractorManager.hh b/source/interfaces/common/include/G4VInteractorManager.hh index e64f9cdd33..0ca5c62389 100644 --- a/source/interfaces/common/include/G4VInteractorManager.hh +++ b/source/interfaces/common/include/G4VInteractorManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4VInteractorManager.hh,v 1.9 2006/06/29 19:10:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G.Barrand diff --git a/source/interfaces/common/include/G4Win32.hh b/source/interfaces/common/include/G4Win32.hh index 7dc41ffa64..4017594ae5 100644 --- a/source/interfaces/common/include/G4Win32.hh +++ b/source/interfaces/common/include/G4Win32.hh @@ -25,7 +25,7 @@ // // // $Id: G4Win32.hh,v 1.8 2006/06/29 19:10:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // To unify Windows message treatment between // G4/interfaces Windows sessions and G4/visualizations Windows drivers. diff --git a/source/interfaces/common/include/G4Xt.hh b/source/interfaces/common/include/G4Xt.hh index 6579444eef..11a992cf62 100644 --- a/source/interfaces/common/include/G4Xt.hh +++ b/source/interfaces/common/include/G4Xt.hh @@ -25,7 +25,7 @@ // // // $Id: G4Xt.hh,v 1.6 2006/06/29 19:10:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // To unify X11 event treatment between // G4/interfaces Xt sessions and G4/visualizations Xt drivers. diff --git a/source/interfaces/common/src/G4VBasicShell.cc b/source/interfaces/common/src/G4VBasicShell.cc index 3403cf2bb2..336f1251cb 100644 --- a/source/interfaces/common/src/G4VBasicShell.cc +++ b/source/interfaces/common/src/G4VBasicShell.cc @@ -25,7 +25,7 @@ // // // $Id: G4VBasicShell.cc,v 1.12 2006/06/29 19:10:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4VBasicShell.hh" diff --git a/source/interfaces/common/src/G4VInteractorManager.cc b/source/interfaces/common/src/G4VInteractorManager.cc index 7c47dded99..69eef6d428 100644 --- a/source/interfaces/common/src/G4VInteractorManager.cc +++ b/source/interfaces/common/src/G4VInteractorManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4VInteractorManager.cc,v 1.13 2006/06/29 19:10:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G.Barrand diff --git a/source/interfaces/common/src/G4Win32.cc b/source/interfaces/common/src/G4Win32.cc index c5a480d36f..e139c19d77 100644 --- a/source/interfaces/common/src/G4Win32.cc +++ b/source/interfaces/common/src/G4Win32.cc @@ -25,7 +25,7 @@ // // // $Id: G4Win32.cc,v 1.9 2006/06/29 19:10:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G.Barrand diff --git a/source/interfaces/common/src/G4Xt.cc b/source/interfaces/common/src/G4Xt.cc index e5c1fa1dae..e787c5e809 100644 --- a/source/interfaces/common/src/G4Xt.cc +++ b/source/interfaces/common/src/G4Xt.cc @@ -25,7 +25,7 @@ // // // $Id: G4Xt.cc,v 1.11 2006/06/29 19:10:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G.Barrand diff --git a/source/materials/History b/source/materials/History index cdeefc78ad..d73ed68b91 100644 --- a/source/materials/History +++ b/source/materials/History @@ -1,4 +1,4 @@ -$Id: History,v 1.80 2007/01/10 18:54:30 vnivanch Exp $ +$Id: History,v 1.87 2007/06/20 09:21:45 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,7 +17,27 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- -10-07-01 V.Ivanchenko (materials-V08-02-00) +19-06-07 V.Ivanchenko (materials-V08-03-02) +- G4SandiaTable - comment out destruction of G4OrderedTable + +15-06-07 V.Ivanchenko (materials-V08-03-01) +- G4SandiaTable - fixed non-initilised pointer in constructor, int -> G4int + +14-06-07 V.Ivanchenko (materials-V08-03-00) +- G4SandiaTable - added deletion of elements of the table in destructor +- G4NistElementBuilder - protection (Z>=limitNumElements) inside BuildElement + (Mokka request) + +02-05-07 V.Ivanchenko (materials-V08-02-02) +- G4NistManager and G4NistElementBuilder - add GetNistFirstIsotopeN + and GetNumberOfNistIsotopes methods + +25-04-07 P.Gumplinger (materials-V08-02-01) +- add file G4SurfaceProperty.cc, modify G4SurfaceProperty.hh to provide + a static G4SurfacePropertyTable akin to G4MaterialTable + add G4Exception to SetGROUPVEL when E_photon <= 0 + +10-07-06 V.Ivanchenko (materials-V08-02-00) - G4Material - fill fAtomVector in the case, when material is built from Element mass fractions - G4NistMaterialBuilder - add liquids O2 and N2 diff --git a/source/materials/include/G4AtomicShells.hh b/source/materials/include/G4AtomicShells.hh index 7279b8ca10..44ff33415d 100644 --- a/source/materials/include/G4AtomicShells.hh +++ b/source/materials/include/G4AtomicShells.hh @@ -25,7 +25,7 @@ // // // $Id: G4AtomicShells.hh,v 1.7 2006/10/17 15:15:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // class description // diff --git a/source/materials/include/G4Element.hh b/source/materials/include/G4Element.hh index a4798c45a3..acb8abcc4b 100644 --- a/source/materials/include/G4Element.hh +++ b/source/materials/include/G4Element.hh @@ -25,7 +25,7 @@ // // // $Id: G4Element.hh,v 1.22 2006/10/17 15:15:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class description diff --git a/source/materials/include/G4ElementTable.hh b/source/materials/include/G4ElementTable.hh index c36a2e2875..91b27f20f0 100644 --- a/source/materials/include/G4ElementTable.hh +++ b/source/materials/include/G4ElementTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4ElementTable.hh,v 1.6 2006/06/29 19:10:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/materials/include/G4ElementVector.hh b/source/materials/include/G4ElementVector.hh index 981f178368..72f135c32a 100644 --- a/source/materials/include/G4ElementVector.hh +++ b/source/materials/include/G4ElementVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4ElementVector.hh,v 1.6 2006/06/29 19:11:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/materials/include/G4IonisParamElm.hh b/source/materials/include/G4IonisParamElm.hh index 3e1c569d0d..274320125e 100644 --- a/source/materials/include/G4IonisParamElm.hh +++ b/source/materials/include/G4IonisParamElm.hh @@ -25,7 +25,7 @@ // // // $Id: G4IonisParamElm.hh,v 1.9 2006/06/29 19:11:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class description diff --git a/source/materials/include/G4IonisParamMat.hh b/source/materials/include/G4IonisParamMat.hh index 5f24240e9a..68aae10c90 100644 --- a/source/materials/include/G4IonisParamMat.hh +++ b/source/materials/include/G4IonisParamMat.hh @@ -25,7 +25,7 @@ // // // $Id: G4IonisParamMat.hh,v 1.9 2006/06/29 19:11:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class description diff --git a/source/materials/include/G4Isotope.hh b/source/materials/include/G4Isotope.hh index 7f72c52764..34bc24ee8e 100644 --- a/source/materials/include/G4Isotope.hh +++ b/source/materials/include/G4Isotope.hh @@ -25,7 +25,7 @@ // // // $Id: G4Isotope.hh,v 1.19 2006/06/29 19:11:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/materials/include/G4IsotopeVector.hh b/source/materials/include/G4IsotopeVector.hh index 90d420b5b6..8bae4ade49 100644 --- a/source/materials/include/G4IsotopeVector.hh +++ b/source/materials/include/G4IsotopeVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4IsotopeVector.hh,v 1.6 2006/06/29 19:11:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/materials/include/G4MPVEntry.hh b/source/materials/include/G4MPVEntry.hh index 57b7ccbd57..59ec36d435 100644 --- a/source/materials/include/G4MPVEntry.hh +++ b/source/materials/include/G4MPVEntry.hh @@ -25,7 +25,7 @@ // // // $Id: G4MPVEntry.hh,v 1.6 2006/06/29 19:11:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/include/G4Material.hh b/source/materials/include/G4Material.hh index 49ea500963..b97835d704 100644 --- a/source/materials/include/G4Material.hh +++ b/source/materials/include/G4Material.hh @@ -25,7 +25,7 @@ // // // $Id: G4Material.hh,v 1.25 2006/06/29 19:11:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class description diff --git a/source/materials/include/G4MaterialPropertiesTable.hh b/source/materials/include/G4MaterialPropertiesTable.hh index beb33dd3be..df98c2d9e0 100644 --- a/source/materials/include/G4MaterialPropertiesTable.hh +++ b/source/materials/include/G4MaterialPropertiesTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4MaterialPropertiesTable.hh,v 1.18 2006/06/29 19:11:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/include/G4MaterialPropertyVector.hh b/source/materials/include/G4MaterialPropertyVector.hh index 5c956265c4..e62a670c75 100644 --- a/source/materials/include/G4MaterialPropertyVector.hh +++ b/source/materials/include/G4MaterialPropertyVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4MaterialPropertyVector.hh,v 1.10 2006/06/29 19:11:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/include/G4MaterialTable.hh b/source/materials/include/G4MaterialTable.hh index 923e0fb388..331c698e17 100644 --- a/source/materials/include/G4MaterialTable.hh +++ b/source/materials/include/G4MaterialTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4MaterialTable.hh,v 1.6 2006/06/29 19:11:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/materials/include/G4NistElementBuilder.hh b/source/materials/include/G4NistElementBuilder.hh index 60d3ff02a0..a44cfaed15 100644 --- a/source/materials/include/G4NistElementBuilder.hh +++ b/source/materials/include/G4NistElementBuilder.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4NistElementBuilder.hh,v 1.11 2007/01/10 18:53:45 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4NistElementBuilder.hh,v 1.12 2007/05/02 11:22:35 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4NistElementBuilder_h #define G4NistElementBuilder_h 1 @@ -42,6 +42,7 @@ // 27.02.06 V.Ivanchenko Return m=0 if Z&N combination is out of NIST // 27.02.06 V.Ivanchneko add GetAtomicMassAmu // 17.10.06 V.Ivanchneko add GetAtomicMass and GetNistElementNames methods +// 02.05.07 V.Ivanchneko add GetNistFirstIsotopeN and GetNumberOfNistIsotopes // //---------------------------------------------------------------------------- // @@ -76,9 +77,12 @@ public: G4double GetIsotopeAbundance (G4int Z, G4int N); - G4int GetMaxNumElements() {return maxNumElements-1;}; + G4int GetNistFirstIsotopeN(G4int Z); + G4int GetNumberOfNistIsotopes(G4int Z); - void SetVerbose (G4int vb) {verbose = vb;}; + G4int GetMaxNumElements(); + + void SetVerbose (G4int); void PrintElement (G4int Z); // Find or build a G4Element by atomic number @@ -176,6 +180,20 @@ inline G4double G4NistElementBuilder::GetIsotopeAbundance(G4int Z, G4int N) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +inline G4int G4NistElementBuilder::GetNistFirstIsotopeN(G4int Z) +{ + return nFirstIsotope[Z]; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline G4int G4NistElementBuilder::GetNumberOfNistIsotopes(G4int Z) +{ + return nIsotopes[Z]; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + inline const std::vector& G4NistElementBuilder::GetElementNames() const { @@ -184,5 +202,19 @@ const std::vector& G4NistElementBuilder::GetElementNames() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +inline G4int G4NistElementBuilder::GetMaxNumElements() +{ + return maxNumElements-1; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline void G4NistElementBuilder::SetVerbose(G4int val) +{ + verbose = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + #endif diff --git a/source/materials/include/G4NistManager.hh b/source/materials/include/G4NistManager.hh index 2307ffc36e..9f93d9b716 100644 --- a/source/materials/include/G4NistManager.hh +++ b/source/materials/include/G4NistManager.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4NistManager.hh,v 1.9 2006/10/17 15:15:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NistManager.hh,v 1.12 2007/05/02 11:22:35 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------------- @@ -42,6 +42,7 @@ // 11.05.06 V.Ivanchneko add warning flag to FindMaterial method // 17.10.06 V.Ivanchneko add methods: GetAtomicMass, GetNistElementNames, // GetNistMaterialNames +// 02.05.07 V.Ivanchneko add GetNistFirstIsotopeN and GetNumberOfNistIsotopes // // Class Description: // @@ -103,6 +104,10 @@ public: G4double GetIsotopeMass(G4int Z, G4int N) const; G4double GetAtomicMass(G4int Z, G4int N) const; + // Number of isotopes + G4int GetNistFirstIsotopeN(G4int Z) const; + G4int GetNumberOfNistIsotopes(G4int Z) const; + G4double GetIsotopeAbundance(G4int Z, G4int N) const; void PrintElement(const G4String&); @@ -145,7 +150,7 @@ public: G4double temp, G4double pres, G4bool isotopes=true); - size_t GetNumberOfMaterials() {return nMaterials;}; + size_t GetNumberOfMaterials(); void SetVerbose(G4int); G4int GetVerbose(); @@ -171,11 +176,20 @@ private: G4NistElementBuilder* elmBuilder; G4NistMaterialBuilder* matBuilder; G4NistMessenger* messenger; + }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +inline +size_t G4NistManager::GetNumberOfMaterials() +{ + return nMaterials; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + inline G4Element* G4NistManager::GetElement(size_t index) { @@ -251,6 +265,22 @@ G4double G4NistManager::GetIsotopeAbundance(G4int Z, G4int N) const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... +inline +G4int G4NistManager::GetNistFirstIsotopeN(G4int Z) const +{ + return elmBuilder->GetNistFirstIsotopeN(Z); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline +G4int G4NistManager::GetNumberOfNistIsotopes(G4int Z) const +{ + return elmBuilder->GetNumberOfNistIsotopes(Z); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + inline const std::vector& G4NistManager::GetNistElementNames() const { diff --git a/source/materials/include/G4NistMaterialBuilder.hh b/source/materials/include/G4NistMaterialBuilder.hh index 8245b826d9..c15692d073 100644 --- a/source/materials/include/G4NistMaterialBuilder.hh +++ b/source/materials/include/G4NistMaterialBuilder.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4NistMaterialBuilder.hh,v 1.9 2006/10/17 15:15:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4NistMaterialBuilder_h #define G4NistMaterialBuilder_h 1 diff --git a/source/materials/include/G4NistMessenger.hh b/source/materials/include/G4NistMessenger.hh index d050a89862..2e76909bf8 100644 --- a/source/materials/include/G4NistMessenger.hh +++ b/source/materials/include/G4NistMessenger.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NistMessenger.hh,v 1.2 2006/06/29 19:12:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NistMessenger.hh,v 1.4 2007/05/02 10:48:52 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // File name: G4NistMessenger // @@ -34,6 +34,7 @@ // Creation date: 23.12.2004 // // Modifications: +// 29.04.07 V.Ivanchenko add recCmd // // // Class Description: @@ -83,7 +84,7 @@ class G4NistMessenger: public G4UImessenger public: G4NistMessenger(G4NistManager* ); - ~G4NistMessenger(); + virtual ~G4NistMessenger(); void SetNewValue(G4UIcommand*, G4String); @@ -102,6 +103,7 @@ private: G4UIdirectory* g4Dir; G4UIcmdWithAString* g4ElmCmd; G4UIcmdWithAString* g4MatCmd; + }; #endif diff --git a/source/materials/include/G4OpticalSurface.hh b/source/materials/include/G4OpticalSurface.hh index 879e2f3b71..557e3efea4 100644 --- a/source/materials/include/G4OpticalSurface.hh +++ b/source/materials/include/G4OpticalSurface.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpticalSurface.hh,v 1.8 2006/06/29 19:12:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/include/G4SandiaTable.hh b/source/materials/include/G4SandiaTable.hh index d0314fb596..18b6138e7d 100644 --- a/source/materials/include/G4SandiaTable.hh +++ b/source/materials/include/G4SandiaTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4SandiaTable.hh,v 1.14 2006/06/29 19:12:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // class description // diff --git a/source/materials/include/G4StaticSandiaData.hh b/source/materials/include/G4StaticSandiaData.hh index 2854093dfe..c2d4261d61 100644 --- a/source/materials/include/G4StaticSandiaData.hh +++ b/source/materials/include/G4StaticSandiaData.hh @@ -25,7 +25,7 @@ // // // $Id: G4StaticSandiaData.hh,v 1.7 2006/06/29 19:12:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... diff --git a/source/materials/include/G4SurfaceProperty.hh b/source/materials/include/G4SurfaceProperty.hh index 0facd227ff..65422da179 100644 --- a/source/materials/include/G4SurfaceProperty.hh +++ b/source/materials/include/G4SurfaceProperty.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SurfaceProperty.hh,v 1.3 2006/06/29 19:12:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SurfaceProperty.hh,v 1.4 2007/04/25 16:18:34 gum Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// @@ -54,9 +54,15 @@ // Includes ///////////// +#include + #include "G4Types.hh" #include "G4String.hh" +class G4SurfaceProperty; + +typedef std::vector G4SurfacePropertyTable; + enum G4SurfaceType { dielectric_metal, // dielectric-metal interface @@ -94,6 +100,7 @@ public: // With description G4SurfaceType type = x_ray) : theName(name), theType(type) { + theSurfacePropertyTable.push_back(this); } // Constructor of a X-ray optical surface object. @@ -119,6 +126,12 @@ public: // With description void SetType(const G4SurfaceType type){theType = type;}; // Sets the surface type. + static void CleanSurfacePropertyTable(); + static const G4SurfacePropertyTable* GetSurfacePropertyTable(); + static size_t GetNumberOfSurfaceProperties(); + static void DumpInfo(); + // To handle the table of surface properties. + protected: // ------------------ @@ -129,6 +142,8 @@ protected: G4SurfaceType theType; // Surface type + static G4SurfacePropertyTable theSurfacePropertyTable; + // The static Table of SurfaceProperties. }; //////////////////// diff --git a/source/materials/src/G4AtomicShells.cc b/source/materials/src/G4AtomicShells.cc index 2696b03465..31737df52e 100644 --- a/source/materials/src/G4AtomicShells.cc +++ b/source/materials/src/G4AtomicShells.cc @@ -25,7 +25,7 @@ // // // $Id: G4AtomicShells.cc,v 1.7 2006/10/17 15:15:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... diff --git a/source/materials/src/G4Element.cc b/source/materials/src/G4Element.cc index bbae462e6e..e5090b29ec 100644 --- a/source/materials/src/G4Element.cc +++ b/source/materials/src/G4Element.cc @@ -25,7 +25,7 @@ // // // $Id: G4Element.cc,v 1.24 2006/10/17 15:15:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/materials/src/G4IonisParamElm.cc b/source/materials/src/G4IonisParamElm.cc index 8e7321f9d8..5a6e47ad2a 100644 --- a/source/materials/src/G4IonisParamElm.cc +++ b/source/materials/src/G4IonisParamElm.cc @@ -25,7 +25,7 @@ // // // $Id: G4IonisParamElm.cc,v 1.14 2006/06/29 19:12:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... diff --git a/source/materials/src/G4IonisParamMat.cc b/source/materials/src/G4IonisParamMat.cc index 0558adb1af..6d81e91000 100644 --- a/source/materials/src/G4IonisParamMat.cc +++ b/source/materials/src/G4IonisParamMat.cc @@ -25,7 +25,7 @@ // // // $Id: G4IonisParamMat.cc,v 1.18 2006/06/29 19:12:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... diff --git a/source/materials/src/G4Isotope.cc b/source/materials/src/G4Isotope.cc index 959a8c56e9..38be8a7df0 100644 --- a/source/materials/src/G4Isotope.cc +++ b/source/materials/src/G4Isotope.cc @@ -25,7 +25,7 @@ // // // $Id: G4Isotope.cc,v 1.20 2006/10/17 15:15:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/materials/src/G4MPVEntry.cc b/source/materials/src/G4MPVEntry.cc index 71579bd41d..e553a5cc71 100644 --- a/source/materials/src/G4MPVEntry.cc +++ b/source/materials/src/G4MPVEntry.cc @@ -25,7 +25,7 @@ // // // $Id: G4MPVEntry.cc,v 1.7 2006/06/29 19:12:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/src/G4Material.cc b/source/materials/src/G4Material.cc index 72c293e26b..a23f98ebbd 100644 --- a/source/materials/src/G4Material.cc +++ b/source/materials/src/G4Material.cc @@ -25,7 +25,7 @@ // // // $Id: G4Material.cc,v 1.35 2007/01/10 12:00:29 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... // diff --git a/source/materials/src/G4MaterialPropertiesTable.cc b/source/materials/src/G4MaterialPropertiesTable.cc index 8b01621ee0..f79632aaf9 100644 --- a/source/materials/src/G4MaterialPropertiesTable.cc +++ b/source/materials/src/G4MaterialPropertiesTable.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4MaterialPropertiesTable.cc,v 1.18 2006/06/29 19:12:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MaterialPropertiesTable.cc,v 1.19 2007/04/25 15:46:55 gum Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// @@ -81,6 +81,7 @@ void G4MaterialPropertiesTable::AddConstProperty(const char *key, // Table given a key MPTC [G4String(key)] = PropertyValue; + } void G4MaterialPropertiesTable::AddProperty(const char *key, @@ -238,12 +239,18 @@ G4MaterialPropertyVector* G4MaterialPropertiesTable::SetGROUPVEL() // rindex built-in "iterator" was advanced to first entry above G4double E0 = rindex->GetPhotonMomentum(); G4double n0 = rindex->GetProperty(); + + if (E0 <= 0. ) G4Exception("G4MaterialPropertiesTable::SetGROUPVEL ==> " + "Optical Photon Energy <= 0"); if ( ++*rindex ) { // good, we have at least two entries in RINDEX // get next energy/value pair G4double E1 = rindex->GetPhotonMomentum(); G4double n1 = rindex->GetProperty(); + + if (E1 <= 0. ) G4Exception("G4MaterialPropertiesTable::SetGROUPVEL ==> " + "Optical Photon Energy <= 0"); G4double vg; // add entry at first photon energy vg = c_light/(n0+(n1-n0)/std::log(E1/E0)); @@ -262,6 +269,9 @@ G4MaterialPropertyVector* G4MaterialPropertiesTable::SetGROUPVEL() n0 = n1; E1 = rindex->GetPhotonMomentum(); n1 = rindex->GetProperty(); + + if (E1 <= 0. ) G4Exception("G4MaterialPropertiesTable::SetGROUPVEL ==> " + "Optical Photon Energy <= 0"); } // add entry at last photon energy vg = c_light/(n1+(n1-n0)/std::log(E1/E0)); diff --git a/source/materials/src/G4MaterialPropertyVector.cc b/source/materials/src/G4MaterialPropertyVector.cc index c8cc2c067e..d5e33c8100 100644 --- a/source/materials/src/G4MaterialPropertyVector.cc +++ b/source/materials/src/G4MaterialPropertyVector.cc @@ -25,7 +25,7 @@ // // // $Id: G4MaterialPropertyVector.cc,v 1.15 2006/06/29 19:12:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/src/G4NistElementBuilder.cc b/source/materials/src/G4NistElementBuilder.cc index 3bbe431846..0cc28e9ca7 100644 --- a/source/materials/src/G4NistElementBuilder.cc +++ b/source/materials/src/G4NistElementBuilder.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4NistElementBuilder.cc,v 1.13 2007/01/10 18:58:52 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4NistElementBuilder.cc,v 1.14 2007/06/14 14:24:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -121,7 +121,7 @@ G4Element* G4NistElementBuilder::FindOrBuildElement(G4int Z, G4Element* G4NistElementBuilder::BuildElement(G4int Z, G4bool buildIsotopes) { G4Element* theElement = 0; - if(Z<1 || Z>limitNumElements) return theElement; + if(Z<1 || Z>=limitNumElements) return theElement; G4double Zeff = (G4double)Z; G4double Aeff = atomicMass[Z]; if (verbose > 1) { diff --git a/source/materials/src/G4NistManager.cc b/source/materials/src/G4NistManager.cc index 7988488b8b..bdaeaa52a3 100644 --- a/source/materials/src/G4NistManager.cc +++ b/source/materials/src/G4NistManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4NistManager.cc,v 1.7 2006/10/17 15:15:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NistManager.cc,v 1.9 2007/05/02 10:48:52 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/materials/src/G4NistMaterialBuilder.cc b/source/materials/src/G4NistMaterialBuilder.cc index 5d7df8c8ff..d4fce07c92 100644 --- a/source/materials/src/G4NistMaterialBuilder.cc +++ b/source/materials/src/G4NistMaterialBuilder.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4NistMaterialBuilder.cc,v 1.15 2007/01/10 12:25:56 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------------- diff --git a/source/materials/src/G4NistMessenger.cc b/source/materials/src/G4NistMessenger.cc index 801ac3df02..0ae1ca5066 100644 --- a/source/materials/src/G4NistMessenger.cc +++ b/source/materials/src/G4NistMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NistMessenger.cc,v 1.2 2006/06/29 19:13:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NistMessenger.cc,v 1.4 2007/05/02 10:48:52 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // File name: G4NistMessenger @@ -57,8 +57,8 @@ G4NistMessenger::G4NistMessenger(G4NistManager* man) :manager(man) { matDir = new G4UIdirectory("/material/"); - matDir->SetGuidance("Commands for Materials"); - + matDir->SetGuidance("Commands for materials"); + verCmd = new G4UIcmdWithAnInteger("/material/verbose",this); verCmd->SetGuidance("Set verbose level."); @@ -95,7 +95,7 @@ G4NistMessenger::G4NistMessenger(G4NistManager* man) g4MatCmd = new G4UIcmdWithAString("/material/g4/printMaterial",this); g4MatCmd->SetGuidance("print Material in G4MaterialTable."); - + } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -109,7 +109,7 @@ G4NistMessenger::~G4NistMessenger() delete nistDir; delete g4ElmCmd; - delete g4MatCmd; + delete g4MatCmd; delete g4Dir; delete matDir; } diff --git a/source/materials/src/G4OpticalSurface.cc b/source/materials/src/G4OpticalSurface.cc index e64ae22ce2..5c616052b6 100644 --- a/source/materials/src/G4OpticalSurface.cc +++ b/source/materials/src/G4OpticalSurface.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpticalSurface.cc,v 1.10 2006/06/29 19:13:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/materials/src/G4SandiaTable.cc b/source/materials/src/G4SandiaTable.cc index 45d0279d87..97055b0998 100644 --- a/source/materials/src/G4SandiaTable.cc +++ b/source/materials/src/G4SandiaTable.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SandiaTable.cc,v 1.22 2006/06/29 19:13:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SandiaTable.cc,v 1.27 2007/06/20 09:21:45 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... // @@ -76,6 +76,7 @@ G4SandiaTable::G4SandiaTable(G4int matIndex) G4SandiaTable::G4SandiaTable(G4Material* material) : fMaterial(material) { + fMatSandiaMatrix = 0 ; fPhotoAbsorptionCof = 0 ; //build the CumulInterval array fCumulInterval[0] = 1; @@ -103,7 +104,10 @@ G4SandiaTable::G4SandiaTable(__void__&) G4SandiaTable::~G4SandiaTable() { - if(fMatSandiaMatrix) delete fMatSandiaMatrix; + if(fMatSandiaMatrix) { + // fMatSandiaMatrix->clearAndDestroy(); + delete fMatSandiaMatrix; + } if(fPhotoAbsorptionCof) { @@ -128,7 +132,7 @@ void G4SandiaTable::ComputeMatSandiaMatrix() G4int MaxIntervals = 0; G4int elm; for (elm=0; elmGetZ(); + { Z[elm] = (G4int)(*ElementVector)[elm]->GetZ(); MaxIntervals += fNbOfIntervals[Z[elm]]; } @@ -207,7 +211,7 @@ void G4SandiaTable::ComputeMatSandiaMatrix() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo.... -G4double G4SandiaTable::GetSandiaCofForMaterial(G4int interval, G4int j) +G4double G4SandiaTable::GetSandiaCofForMaterial(G4int interval, G4int j) { assert (interval>=0 && interval=0 && j<5); return ((*(*fMatSandiaMatrix)[interval])[j]); @@ -442,7 +446,7 @@ void G4SandiaTable::ComputeMatTable() for (elm = 0; elmGetZ(); + Z[elm] = (G4int)(*ElementVector)[elm]->GetZ(); MaxIntervals += fNbOfIntervals[Z[elm]]; } fMaxInterval = 0 ; @@ -614,6 +618,7 @@ void G4SandiaTable::ComputeMatTable() (*(*fMatSandiaMatrix)[i])[j] = fPhotoAbsorptionCof[i+1][j]; } } + delete [] Z; return ; } diff --git a/source/materials/src/G4SurfaceProperty.cc b/source/materials/src/G4SurfaceProperty.cc new file mode 100644 index 0000000000..162f50bc12 --- /dev/null +++ b/source/materials/src/G4SurfaceProperty.cc @@ -0,0 +1,96 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4SurfaceProperty.cc,v 1.1 2007/04/25 16:19:26 gum Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +//////////////////////////////////////////////////////////////////////// +// G4SurfaceProperty Implementation +//////////////////////////////////////////////////////////////////////// +// +// Class Description: +// +// A base class describing a surface property. +// Derived classes are G4Opticalsurface, G4Firovsurface, etc. +// +// File: G4SurfaceProperty.cc +// Version: 1.0 +// Created: 16-11-2006 +// Author: Peter Gumplinger +// +//////////////////////////////////////////////////////////////////////// + +#include "globals.hh" + +#include "G4SurfaceProperty.hh" + +G4SurfacePropertyTable G4SurfaceProperty::theSurfacePropertyTable; + +// +// Methods +// + +const G4SurfacePropertyTable* G4SurfaceProperty::GetSurfacePropertyTable() +{ + return &theSurfacePropertyTable; +} + +size_t G4SurfaceProperty::GetNumberOfSurfaceProperties() +{ + return theSurfacePropertyTable.size(); +} + +// Dump info for known surface properties +// +void G4SurfaceProperty::DumpInfo() +{ + G4cout << "***** Surface Property Table : Nb of Surface Properties = " + << GetNumberOfSurfaceProperties() << " *****" << G4endl; + + for (size_t i=0; iGetName() << " : " << G4endl + << " Surface Property type = " + << pSurfaceProperty->GetType() + << G4endl; + } + G4cout << G4endl; +} + +void G4SurfaceProperty::CleanSurfacePropertyTable() +{ + DumpInfo(); + G4SurfacePropertyTable::iterator pos; + for(pos=theSurfacePropertyTable.begin(); + pos!=theSurfacePropertyTable.end(); pos++) + { + if (*pos) delete *pos; + } + theSurfacePropertyTable.clear(); + DumpInfo(); +} diff --git a/source/parameterisations/gflash/include/G4GFlashSpot.hh b/source/parameterisations/gflash/include/G4GFlashSpot.hh index 06b6d36a75..d026aec5c9 100644 --- a/source/parameterisations/gflash/include/G4GFlashSpot.hh +++ b/source/parameterisations/gflash/include/G4GFlashSpot.hh @@ -25,7 +25,7 @@ // // // $Id: G4GFlashSpot.hh,v 1.4 2006/06/29 19:13:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/parameterisations/gflash/include/G4VGFlashSensitiveDetector.hh b/source/parameterisations/gflash/include/G4VGFlashSensitiveDetector.hh index 889764a0f6..0f07d5816a 100644 --- a/source/parameterisations/gflash/include/G4VGFlashSensitiveDetector.hh +++ b/source/parameterisations/gflash/include/G4VGFlashSensitiveDetector.hh @@ -25,7 +25,7 @@ // // // $Id: G4VGFlashSensitiveDetector.hh,v 1.5 2006/06/29 19:13:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/parameterisations/gflash/include/GFlashEnergySpot.hh b/source/parameterisations/gflash/include/GFlashEnergySpot.hh index 41e5d4485b..a3e919f585 100644 --- a/source/parameterisations/gflash/include/GFlashEnergySpot.hh +++ b/source/parameterisations/gflash/include/GFlashEnergySpot.hh @@ -25,7 +25,7 @@ // // // $Id: GFlashEnergySpot.hh,v 1.5 2006/06/29 19:13:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/parameterisations/gflash/include/GFlashHitMaker.hh b/source/parameterisations/gflash/include/GFlashHitMaker.hh index ab515c6453..e5de34fb73 100644 --- a/source/parameterisations/gflash/include/GFlashHitMaker.hh +++ b/source/parameterisations/gflash/include/GFlashHitMaker.hh @@ -25,7 +25,7 @@ // // // $Id: GFlashHitMaker.hh,v 1.5 2006/06/29 19:13:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/parameterisations/gflash/include/GFlashHomoShowerParameterisation.hh b/source/parameterisations/gflash/include/GFlashHomoShowerParameterisation.hh index dbfe113030..241e9c3035 100644 --- a/source/parameterisations/gflash/include/GFlashHomoShowerParameterisation.hh +++ b/source/parameterisations/gflash/include/GFlashHomoShowerParameterisation.hh @@ -25,7 +25,7 @@ // // // $Id: GFlashHomoShowerParameterisation.hh,v 1.4 2006/06/29 19:13:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/parameterisations/gflash/include/GFlashParticleBounds.hh b/source/parameterisations/gflash/include/GFlashParticleBounds.hh index 8d69e47962..e1db70a9ac 100644 --- a/source/parameterisations/gflash/include/GFlashParticleBounds.hh +++ b/source/parameterisations/gflash/include/GFlashParticleBounds.hh @@ -25,7 +25,7 @@ // // // $Id: GFlashParticleBounds.hh,v 1.4 2006/06/29 19:13:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/parameterisations/gflash/include/GFlashSamplingShowerParameterisation.hh b/source/parameterisations/gflash/include/GFlashSamplingShowerParameterisation.hh index fc9522742f..e41bfd5d2f 100644 --- a/source/parameterisations/gflash/include/GFlashSamplingShowerParameterisation.hh +++ b/source/parameterisations/gflash/include/GFlashSamplingShowerParameterisation.hh @@ -25,7 +25,7 @@ // // // $Id: GFlashSamplingShowerParameterisation.hh,v 1.4 2006/06/29 19:13:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/parameterisations/gflash/include/GFlashSamplingShowerTuning.hh b/source/parameterisations/gflash/include/GFlashSamplingShowerTuning.hh index ccf9625ee5..0bbe4cb651 100644 --- a/source/parameterisations/gflash/include/GFlashSamplingShowerTuning.hh +++ b/source/parameterisations/gflash/include/GFlashSamplingShowerTuning.hh @@ -25,7 +25,7 @@ // // // $Id: GFlashSamplingShowerTuning.hh,v 1.3 2006/06/29 19:13:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/parameterisations/gflash/include/GFlashShowerModel.hh b/source/parameterisations/gflash/include/GFlashShowerModel.hh index 19f45d9742..7aa85c042f 100644 --- a/source/parameterisations/gflash/include/GFlashShowerModel.hh +++ b/source/parameterisations/gflash/include/GFlashShowerModel.hh @@ -25,7 +25,7 @@ // // // $Id: GFlashShowerModel.hh,v 1.9 2006/06/29 19:13:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/parameterisations/gflash/include/GFlashShowerModelMessenger.hh b/source/parameterisations/gflash/include/GFlashShowerModelMessenger.hh index 6b81a41e2f..de2ac5d462 100644 --- a/source/parameterisations/gflash/include/GFlashShowerModelMessenger.hh +++ b/source/parameterisations/gflash/include/GFlashShowerModelMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: GFlashShowerModelMessenger.hh,v 1.4 2006/06/29 19:14:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/parameterisations/gflash/include/GVFlashHomoShowerTuning.hh b/source/parameterisations/gflash/include/GVFlashHomoShowerTuning.hh index 6e8bd74969..2d66784b5a 100644 --- a/source/parameterisations/gflash/include/GVFlashHomoShowerTuning.hh +++ b/source/parameterisations/gflash/include/GVFlashHomoShowerTuning.hh @@ -25,7 +25,7 @@ // // // $Id: GVFlashHomoShowerTuning.hh,v 1.7 2006/06/29 19:14:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/parameterisations/gflash/include/GVFlashShowerParameterisation.hh b/source/parameterisations/gflash/include/GVFlashShowerParameterisation.hh index a5a674f13c..8aab63fd65 100644 --- a/source/parameterisations/gflash/include/GVFlashShowerParameterisation.hh +++ b/source/parameterisations/gflash/include/GVFlashShowerParameterisation.hh @@ -25,7 +25,7 @@ // // // $Id: GVFlashShowerParameterisation.hh,v 1.2 2006/06/29 19:14:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/parameterisations/gflash/include/Gamma.hh b/source/parameterisations/gflash/include/Gamma.hh index 61e6ecfe55..f779825191 100644 --- a/source/parameterisations/gflash/include/Gamma.hh +++ b/source/parameterisations/gflash/include/Gamma.hh @@ -26,7 +26,7 @@ // // // $Id: Gamma.hh,v 1.6 2006/06/29 19:14:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/parameterisations/gflash/src/GFlashEnergySpot.cc b/source/parameterisations/gflash/src/GFlashEnergySpot.cc index a84a2f481f..db7bf66320 100644 --- a/source/parameterisations/gflash/src/GFlashEnergySpot.cc +++ b/source/parameterisations/gflash/src/GFlashEnergySpot.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: GFlashEnergySpot.cc,v 1.5 2006/06/29 19:14:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/parameterisations/gflash/src/GFlashHitMaker.cc b/source/parameterisations/gflash/src/GFlashHitMaker.cc index 9eb61fcb1c..0b8460dbb4 100644 --- a/source/parameterisations/gflash/src/GFlashHitMaker.cc +++ b/source/parameterisations/gflash/src/GFlashHitMaker.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: GFlashHitMaker.cc,v 1.7 2006/06/29 19:14:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/parameterisations/gflash/src/GFlashHomoShowerParameterisation.cc b/source/parameterisations/gflash/src/GFlashHomoShowerParameterisation.cc index 9fc72475a0..5dd074812a 100644 --- a/source/parameterisations/gflash/src/GFlashHomoShowerParameterisation.cc +++ b/source/parameterisations/gflash/src/GFlashHomoShowerParameterisation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: GFlashHomoShowerParameterisation.cc,v 1.5 2006/06/29 19:14:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/parameterisations/gflash/src/GFlashParticleBounds.cc b/source/parameterisations/gflash/src/GFlashParticleBounds.cc index 4f44560d16..c19ae5b67a 100644 --- a/source/parameterisations/gflash/src/GFlashParticleBounds.cc +++ b/source/parameterisations/gflash/src/GFlashParticleBounds.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: GFlashParticleBounds.cc,v 1.4 2006/06/29 19:14:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/parameterisations/gflash/src/GFlashSamplingShowerParameterisation.cc b/source/parameterisations/gflash/src/GFlashSamplingShowerParameterisation.cc index db66028644..a60d0b1f2b 100644 --- a/source/parameterisations/gflash/src/GFlashSamplingShowerParameterisation.cc +++ b/source/parameterisations/gflash/src/GFlashSamplingShowerParameterisation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: GFlashSamplingShowerParameterisation.cc,v 1.6 2006/06/29 19:14:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/parameterisations/gflash/src/GFlashShowerModel.cc b/source/parameterisations/gflash/src/GFlashShowerModel.cc index cc0e5e2988..370fd1ad6e 100644 --- a/source/parameterisations/gflash/src/GFlashShowerModel.cc +++ b/source/parameterisations/gflash/src/GFlashShowerModel.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: GFlashShowerModel.cc,v 1.13 2006/06/29 19:14:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/parameterisations/gflash/src/GFlashShowerModelMessenger.cc b/source/parameterisations/gflash/src/GFlashShowerModelMessenger.cc index fd8a3bbb6b..bd51026fc9 100644 --- a/source/parameterisations/gflash/src/GFlashShowerModelMessenger.cc +++ b/source/parameterisations/gflash/src/GFlashShowerModelMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: GFlashShowerModelMessenger.cc,v 1.6 2006/06/29 19:14:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/parameterisations/gflash/src/GVFlashShowerParameterisation.cc b/source/parameterisations/gflash/src/GVFlashShowerParameterisation.cc index b1525c0355..9c5214e706 100644 --- a/source/parameterisations/gflash/src/GVFlashShowerParameterisation.cc +++ b/source/parameterisations/gflash/src/GVFlashShowerParameterisation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: GVFlashShowerParameterisation.cc,v 1.2 2006/06/29 19:14:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/parameterisations/gflash/src/Gamma.cc b/source/parameterisations/gflash/src/Gamma.cc index ccfaa5936d..946d68ec93 100644 --- a/source/parameterisations/gflash/src/Gamma.cc +++ b/source/parameterisations/gflash/src/Gamma.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: Gamma.cc,v 1.6 2006/06/29 19:14:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/History b/source/particles/History index c278624add..93fdcf1928 100644 --- a/source/particles/History +++ b/source/particles/History @@ -1,4 +1,4 @@ -$Id: History,v 1.138 2006/11/15 09:57:51 kurasige Exp $ +$Id: History,v 1.143 2007/05/30 08:33:28 kurasige Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,24 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +- May. 30 2007 H.Kurashige (particles-V08-03-01) +- Fix G4PDGCodeChecker::GetQuarkFlavor + +- May. 12 2007 H.Kurashige (particles-V08-03-00) +- Add check against sqrt(negative) in G4DecayProducts +- Add deletion of IsotopeTableList in the destructor in G4IonTable + +- Mar. 16 2007 H.Kurashige (particles-V08-02-01) +- Update magnetic moment for leptons +- Add magnetic moment in G4IsotopeProperty +- Allow registration of several isotope property table in G4IonTable +- Add G4IsotopeMagneticMomentTable and datda file of G4IsotopeMagneticMoment.table +- Allow any Z,A combination (A>=Z) for G4IonTable::GetIon + +- Mar. 11 2007 H.Kurashige (particles-V08-02-00) +- Added magnetic momnet in G4ParticleDefinition and G4DynamicParticle + (co-work with track-V08-02-00) + - Nov. 15, 2006 H.Kurashige (particles-V08-01-05) - Optimize G4IonTable::IsLightIon diff --git a/source/particles/bosons/include/G4BosonConstructor.hh b/source/particles/bosons/include/G4BosonConstructor.hh index 371510113b..9888cf5f2a 100644 --- a/source/particles/bosons/include/G4BosonConstructor.hh +++ b/source/particles/bosons/include/G4BosonConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4BosonConstructor.hh,v 1.6 2006/06/29 19:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/bosons/include/G4ChargedGeantino.hh b/source/particles/bosons/include/G4ChargedGeantino.hh index 8fb30e9b49..3957b49c33 100644 --- a/source/particles/bosons/include/G4ChargedGeantino.hh +++ b/source/particles/bosons/include/G4ChargedGeantino.hh @@ -25,7 +25,7 @@ // // // $Id: G4ChargedGeantino.hh,v 1.12 2006/06/29 19:14:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/bosons/include/G4Gamma.hh b/source/particles/bosons/include/G4Gamma.hh index dd4900db1b..0a6df54f79 100644 --- a/source/particles/bosons/include/G4Gamma.hh +++ b/source/particles/bosons/include/G4Gamma.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4Gamma.hh,v 1.15 2006/06/29 19:14:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/bosons/include/G4Geantino.hh b/source/particles/bosons/include/G4Geantino.hh index 8863b042fd..b0c2a725a8 100644 --- a/source/particles/bosons/include/G4Geantino.hh +++ b/source/particles/bosons/include/G4Geantino.hh @@ -25,7 +25,7 @@ // // // $Id: G4Geantino.hh,v 1.12 2006/06/29 19:14:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/bosons/include/G4OpticalPhoton.hh b/source/particles/bosons/include/G4OpticalPhoton.hh index 070ee02ace..38a05eed52 100644 --- a/source/particles/bosons/include/G4OpticalPhoton.hh +++ b/source/particles/bosons/include/G4OpticalPhoton.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpticalPhoton.hh,v 1.12 2006/06/29 19:14:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/bosons/include/G4UnknownParticle.hh b/source/particles/bosons/include/G4UnknownParticle.hh index ca94a2f472..aa4b21b5af 100644 --- a/source/particles/bosons/include/G4UnknownParticle.hh +++ b/source/particles/bosons/include/G4UnknownParticle.hh @@ -25,7 +25,7 @@ // // // $Id: G4UnknownParticle.hh,v 1.5 2006/06/29 19:14:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/bosons/src/G4BosonConstructor.cc b/source/particles/bosons/src/G4BosonConstructor.cc index a99565adc3..3fec5db387 100644 --- a/source/particles/bosons/src/G4BosonConstructor.cc +++ b/source/particles/bosons/src/G4BosonConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4BosonConstructor.cc,v 1.5 2006/06/29 19:14:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/bosons/src/G4ChargedGeantino.cc b/source/particles/bosons/src/G4ChargedGeantino.cc index aef87cbca9..954a381261 100644 --- a/source/particles/bosons/src/G4ChargedGeantino.cc +++ b/source/particles/bosons/src/G4ChargedGeantino.cc @@ -25,7 +25,7 @@ // // // $Id: G4ChargedGeantino.cc,v 1.15 2006/06/29 19:14:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/bosons/src/G4Gamma.cc b/source/particles/bosons/src/G4Gamma.cc index 56943ab3cc..155f3d2e12 100644 --- a/source/particles/bosons/src/G4Gamma.cc +++ b/source/particles/bosons/src/G4Gamma.cc @@ -25,7 +25,7 @@ // // // $Id: G4Gamma.cc,v 1.13 2006/06/29 19:14:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/bosons/src/G4Geantino.cc b/source/particles/bosons/src/G4Geantino.cc index d27d6e43d7..8094683e51 100644 --- a/source/particles/bosons/src/G4Geantino.cc +++ b/source/particles/bosons/src/G4Geantino.cc @@ -25,7 +25,7 @@ // // // $Id: G4Geantino.cc,v 1.15 2006/06/29 19:14:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/bosons/src/G4OpticalPhoton.cc b/source/particles/bosons/src/G4OpticalPhoton.cc index bf9288aac2..fbcc692e07 100644 --- a/source/particles/bosons/src/G4OpticalPhoton.cc +++ b/source/particles/bosons/src/G4OpticalPhoton.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpticalPhoton.cc,v 1.13 2006/06/29 19:14:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/bosons/src/G4UnknownParticle.cc b/source/particles/bosons/src/G4UnknownParticle.cc index 0d069d5050..81b2724d89 100644 --- a/source/particles/bosons/src/G4UnknownParticle.cc +++ b/source/particles/bosons/src/G4UnknownParticle.cc @@ -25,7 +25,7 @@ // // // $Id: G4UnknownParticle.cc,v 1.4 2006/06/29 19:15:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/include/G4AntiLambda.hh b/source/particles/hadrons/barions/include/G4AntiLambda.hh index 8a0672e834..5120d76918 100644 --- a/source/particles/hadrons/barions/include/G4AntiLambda.hh +++ b/source/particles/hadrons/barions/include/G4AntiLambda.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiLambda.hh,v 1.13 2006/06/29 19:15:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiLambdacPlus.hh b/source/particles/hadrons/barions/include/G4AntiLambdacPlus.hh index 5abc5b0e29..0cb807fc42 100644 --- a/source/particles/hadrons/barions/include/G4AntiLambdacPlus.hh +++ b/source/particles/hadrons/barions/include/G4AntiLambdacPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiLambdacPlus.hh,v 1.9 2006/06/29 19:15:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiNeutron.hh b/source/particles/hadrons/barions/include/G4AntiNeutron.hh index 542d4b4a29..77969b3f8b 100644 --- a/source/particles/hadrons/barions/include/G4AntiNeutron.hh +++ b/source/particles/hadrons/barions/include/G4AntiNeutron.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiNeutron.hh,v 1.14 2006/06/29 19:15:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiOmegaMinus.hh b/source/particles/hadrons/barions/include/G4AntiOmegaMinus.hh index e129eabae0..83c1f953af 100644 --- a/source/particles/hadrons/barions/include/G4AntiOmegaMinus.hh +++ b/source/particles/hadrons/barions/include/G4AntiOmegaMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiOmegaMinus.hh,v 1.10 2006/06/29 19:15:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiOmegacZero.hh b/source/particles/hadrons/barions/include/G4AntiOmegacZero.hh index d05976c0dc..51d31e175f 100644 --- a/source/particles/hadrons/barions/include/G4AntiOmegacZero.hh +++ b/source/particles/hadrons/barions/include/G4AntiOmegacZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiOmegacZero.hh,v 1.12 2006/06/29 19:15:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiProton.hh b/source/particles/hadrons/barions/include/G4AntiProton.hh index 14a25a06c3..e898fc1af4 100644 --- a/source/particles/hadrons/barions/include/G4AntiProton.hh +++ b/source/particles/hadrons/barions/include/G4AntiProton.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiProton.hh,v 1.11 2006/06/29 19:15:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiSigmaMinus.hh b/source/particles/hadrons/barions/include/G4AntiSigmaMinus.hh index 2997d31a0f..67fb5c343d 100644 --- a/source/particles/hadrons/barions/include/G4AntiSigmaMinus.hh +++ b/source/particles/hadrons/barions/include/G4AntiSigmaMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiSigmaMinus.hh,v 1.10 2006/06/29 19:15:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiSigmaPlus.hh b/source/particles/hadrons/barions/include/G4AntiSigmaPlus.hh index 1272d03c42..d51e1cfe84 100644 --- a/source/particles/hadrons/barions/include/G4AntiSigmaPlus.hh +++ b/source/particles/hadrons/barions/include/G4AntiSigmaPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiSigmaPlus.hh,v 1.10 2006/06/29 19:15:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiSigmaZero.hh b/source/particles/hadrons/barions/include/G4AntiSigmaZero.hh index 2ff241bccd..40f18f69fd 100644 --- a/source/particles/hadrons/barions/include/G4AntiSigmaZero.hh +++ b/source/particles/hadrons/barions/include/G4AntiSigmaZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiSigmaZero.hh,v 1.13 2006/06/29 19:15:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiSigmacPlus.hh b/source/particles/hadrons/barions/include/G4AntiSigmacPlus.hh index 3e29ce1ae8..ffd85179f4 100644 --- a/source/particles/hadrons/barions/include/G4AntiSigmacPlus.hh +++ b/source/particles/hadrons/barions/include/G4AntiSigmacPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiSigmacPlus.hh,v 1.9 2006/06/29 19:15:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiSigmacPlusPlus.hh b/source/particles/hadrons/barions/include/G4AntiSigmacPlusPlus.hh index 2bd2c9fd06..92979aae0f 100644 --- a/source/particles/hadrons/barions/include/G4AntiSigmacPlusPlus.hh +++ b/source/particles/hadrons/barions/include/G4AntiSigmacPlusPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiSigmacPlusPlus.hh,v 1.9 2006/06/29 19:15:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiSigmacZero.hh b/source/particles/hadrons/barions/include/G4AntiSigmacZero.hh index ac19d436b5..5ccc09a1ef 100644 --- a/source/particles/hadrons/barions/include/G4AntiSigmacZero.hh +++ b/source/particles/hadrons/barions/include/G4AntiSigmacZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiSigmacZero.hh,v 1.12 2006/06/29 19:15:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiXiMinus.hh b/source/particles/hadrons/barions/include/G4AntiXiMinus.hh index 21c42ece6b..1f963aaf54 100644 --- a/source/particles/hadrons/barions/include/G4AntiXiMinus.hh +++ b/source/particles/hadrons/barions/include/G4AntiXiMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiXiMinus.hh,v 1.10 2006/06/29 19:15:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiXiZero.hh b/source/particles/hadrons/barions/include/G4AntiXiZero.hh index ac07948a86..8ad6a0563e 100644 --- a/source/particles/hadrons/barions/include/G4AntiXiZero.hh +++ b/source/particles/hadrons/barions/include/G4AntiXiZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiXiZero.hh,v 1.13 2006/06/29 19:15:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiXicPlus.hh b/source/particles/hadrons/barions/include/G4AntiXicPlus.hh index b8c5b8ace5..0f946f83af 100644 --- a/source/particles/hadrons/barions/include/G4AntiXicPlus.hh +++ b/source/particles/hadrons/barions/include/G4AntiXicPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiXicPlus.hh,v 1.9 2006/06/29 19:15:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4AntiXicZero.hh b/source/particles/hadrons/barions/include/G4AntiXicZero.hh index f6d464212c..bd5a811d91 100644 --- a/source/particles/hadrons/barions/include/G4AntiXicZero.hh +++ b/source/particles/hadrons/barions/include/G4AntiXicZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiXicZero.hh,v 1.12 2006/06/29 19:15:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4BaryonConstructor.hh b/source/particles/hadrons/barions/include/G4BaryonConstructor.hh index a9cd8cc818..a759437841 100644 --- a/source/particles/hadrons/barions/include/G4BaryonConstructor.hh +++ b/source/particles/hadrons/barions/include/G4BaryonConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4BaryonConstructor.hh,v 1.5 2006/06/29 19:15:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/include/G4Lambda.hh b/source/particles/hadrons/barions/include/G4Lambda.hh index cc98eade63..a90d32cab6 100644 --- a/source/particles/hadrons/barions/include/G4Lambda.hh +++ b/source/particles/hadrons/barions/include/G4Lambda.hh @@ -25,7 +25,7 @@ // // // $Id: G4Lambda.hh,v 1.13 2006/06/29 19:15:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4LambdacPlus.hh b/source/particles/hadrons/barions/include/G4LambdacPlus.hh index ab23a51a4b..f55ca1fc40 100644 --- a/source/particles/hadrons/barions/include/G4LambdacPlus.hh +++ b/source/particles/hadrons/barions/include/G4LambdacPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4LambdacPlus.hh,v 1.9 2006/06/29 19:15:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4Neutron.hh b/source/particles/hadrons/barions/include/G4Neutron.hh index 872341a096..f6407b9cfd 100644 --- a/source/particles/hadrons/barions/include/G4Neutron.hh +++ b/source/particles/hadrons/barions/include/G4Neutron.hh @@ -25,7 +25,7 @@ // // // $Id: G4Neutron.hh,v 1.16 2006/06/29 19:15:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4OmegaMinus.hh b/source/particles/hadrons/barions/include/G4OmegaMinus.hh index 7aabd58502..cef733fc20 100644 --- a/source/particles/hadrons/barions/include/G4OmegaMinus.hh +++ b/source/particles/hadrons/barions/include/G4OmegaMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4OmegaMinus.hh,v 1.10 2006/06/29 19:15:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4OmegacZero.hh b/source/particles/hadrons/barions/include/G4OmegacZero.hh index c229bda908..0547bafa6a 100644 --- a/source/particles/hadrons/barions/include/G4OmegacZero.hh +++ b/source/particles/hadrons/barions/include/G4OmegacZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4OmegacZero.hh,v 1.12 2006/06/29 19:15:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4Proton.hh b/source/particles/hadrons/barions/include/G4Proton.hh index 0b5c486430..a8960ea4df 100644 --- a/source/particles/hadrons/barions/include/G4Proton.hh +++ b/source/particles/hadrons/barions/include/G4Proton.hh @@ -25,7 +25,7 @@ // // // $Id: G4Proton.hh,v 1.13 2006/06/29 19:15:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4SigmaMinus.hh b/source/particles/hadrons/barions/include/G4SigmaMinus.hh index 57764b29a9..9596efefdd 100644 --- a/source/particles/hadrons/barions/include/G4SigmaMinus.hh +++ b/source/particles/hadrons/barions/include/G4SigmaMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4SigmaMinus.hh,v 1.10 2006/06/29 19:15:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4SigmaPlus.hh b/source/particles/hadrons/barions/include/G4SigmaPlus.hh index ba24841c61..78759f3b0a 100644 --- a/source/particles/hadrons/barions/include/G4SigmaPlus.hh +++ b/source/particles/hadrons/barions/include/G4SigmaPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4SigmaPlus.hh,v 1.10 2006/06/29 19:15:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4SigmaZero.hh b/source/particles/hadrons/barions/include/G4SigmaZero.hh index dbc1b26049..e50c540b2b 100644 --- a/source/particles/hadrons/barions/include/G4SigmaZero.hh +++ b/source/particles/hadrons/barions/include/G4SigmaZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4SigmaZero.hh,v 1.13 2006/06/29 19:15:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4SigmacPlus.hh b/source/particles/hadrons/barions/include/G4SigmacPlus.hh index 5f94053d17..a4bbd674a6 100644 --- a/source/particles/hadrons/barions/include/G4SigmacPlus.hh +++ b/source/particles/hadrons/barions/include/G4SigmacPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4SigmacPlus.hh,v 1.9 2006/06/29 19:16:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4SigmacPlusPlus.hh b/source/particles/hadrons/barions/include/G4SigmacPlusPlus.hh index cc00a09f1b..9a5939fb58 100644 --- a/source/particles/hadrons/barions/include/G4SigmacPlusPlus.hh +++ b/source/particles/hadrons/barions/include/G4SigmacPlusPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4SigmacPlusPlus.hh,v 1.9 2006/06/29 19:16:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4SigmacZero.hh b/source/particles/hadrons/barions/include/G4SigmacZero.hh index 9eb98949b1..ca5cf9557d 100644 --- a/source/particles/hadrons/barions/include/G4SigmacZero.hh +++ b/source/particles/hadrons/barions/include/G4SigmacZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4SigmacZero.hh,v 1.12 2006/06/29 19:16:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4XiMinus.hh b/source/particles/hadrons/barions/include/G4XiMinus.hh index 4aeabc97bd..be625b8864 100644 --- a/source/particles/hadrons/barions/include/G4XiMinus.hh +++ b/source/particles/hadrons/barions/include/G4XiMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4XiMinus.hh,v 1.10 2006/06/29 19:16:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4XiZero.hh b/source/particles/hadrons/barions/include/G4XiZero.hh index ac14f7b2cd..9dc8195349 100644 --- a/source/particles/hadrons/barions/include/G4XiZero.hh +++ b/source/particles/hadrons/barions/include/G4XiZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4XiZero.hh,v 1.13 2006/06/29 19:16:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4XicPlus.hh b/source/particles/hadrons/barions/include/G4XicPlus.hh index 430062dd9b..39e032b3d6 100644 --- a/source/particles/hadrons/barions/include/G4XicPlus.hh +++ b/source/particles/hadrons/barions/include/G4XicPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4XicPlus.hh,v 1.9 2006/06/29 19:16:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/include/G4XicZero.hh b/source/particles/hadrons/barions/include/G4XicZero.hh index bd537f279f..c64e80ca06 100644 --- a/source/particles/hadrons/barions/include/G4XicZero.hh +++ b/source/particles/hadrons/barions/include/G4XicZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4XicZero.hh,v 1.12 2006/06/29 19:16:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/barions/src/G4AntiLambda.cc b/source/particles/hadrons/barions/src/G4AntiLambda.cc index efac0bb426..9853eeedb0 100644 --- a/source/particles/hadrons/barions/src/G4AntiLambda.cc +++ b/source/particles/hadrons/barions/src/G4AntiLambda.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiLambda.cc,v 1.17 2006/06/29 19:16:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AntiLambda.cc,v 1.18 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,27 +68,32 @@ G4AntiLambda* G4AntiLambda::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( - name, 1.115684*GeV, 2.501e-12*MeV, 0.0, + anInstance = new G4ParticleDefinition( + name, 1.115683*GeV, 2.501e-12*MeV, 0.0, 1, +1, 0, 0, 0, 0, "baryon", 0, -1, -3122, - false, 0.2632*ns, NULL, + false, 0.2631*ns, NULL, false, "lambda"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - // create decay channels - G4VDecayChannel** mode = new G4VDecayChannel*[2]; - // anti_lambda -> anti_proton + pi+ - mode[0] = new G4PhaseSpaceDecayChannel("anti_lambda",0.639,2,"anti_proton","pi+"); - // anti_lambda -> anti_neutron + pi0 - mode[1] = new G4PhaseSpaceDecayChannel("anti_lambda",0.358,2,"anti_neutron","pi0"); - - for (G4int index=0; index <2; index++ ) table->Insert(mode[index]); - delete [] mode; + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( 0.613 * mN); - anInstance->SetDecayTable(table); + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + G4VDecayChannel** mode = new G4VDecayChannel*[2]; + // anti_lambda -> anti_proton + pi+ + mode[0] = new G4PhaseSpaceDecayChannel("anti_lambda",0.639,2,"anti_proton","pi+"); + // anti_lambda -> anti_neutron + pi0 + mode[1] = new G4PhaseSpaceDecayChannel("anti_lambda",0.358,2,"anti_neutron","pi0"); + + for (G4int index=0; index <2; index++ ) table->Insert(mode[index]); + delete [] mode; + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4AntiLambdacPlus.cc b/source/particles/hadrons/barions/src/G4AntiLambdacPlus.cc index 51cb57f041..06c4da0e7a 100644 --- a/source/particles/hadrons/barions/src/G4AntiLambdacPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiLambdacPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiLambdacPlus.cc,v 1.13 2006/06/29 19:16:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiNeutron.cc b/source/particles/hadrons/barions/src/G4AntiNeutron.cc index 164d941bfc..d49dba3512 100644 --- a/source/particles/hadrons/barions/src/G4AntiNeutron.cc +++ b/source/particles/hadrons/barions/src/G4AntiNeutron.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiNeutron.cc,v 1.20 2006/10/12 10:59:44 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AntiNeutron.cc,v 1.21 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -72,6 +72,9 @@ G4AntiNeutron* G4AntiNeutron::Definition() true, -1.0, NULL, false, "nucleon" ); + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( 1.9130427 * mN); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4AntiOmegaMinus.cc b/source/particles/hadrons/barions/src/G4AntiOmegaMinus.cc index 53293e1f06..d195ea9146 100644 --- a/source/particles/hadrons/barions/src/G4AntiOmegaMinus.cc +++ b/source/particles/hadrons/barions/src/G4AntiOmegaMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiOmegaMinus.cc,v 1.13 2006/06/29 19:16:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AntiOmegaMinus.cc,v 1.14 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,29 +68,34 @@ G4AntiOmegaMinus* G4AntiOmegaMinus::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( - name, 1.67245*GeV, 8.02e-12*MeV, eplus, + anInstance = new G4ParticleDefinition( + name, 1.67245*GeV, 8.02e-12*MeV, eplus, 3, +1, 0, 0, 0, 0, "baryon", 0, -1, -3334, - false, 0.0822*ns, NULL, + false, 0.0821*ns, NULL, false, "omega"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - - // create decay channels - G4VDecayChannel** mode = new G4VDecayChannel*[3]; - // anti_omega- -> anti_lambda + kaon+ - mode[0] = new G4PhaseSpaceDecayChannel("anti_omega-",0.678,2,"anti_lambda","kaon+"); - // anti_omega- -> anti_xi0 + pi+ - mode[1] = new G4PhaseSpaceDecayChannel("anti_omega-",0.236,2,"anti_xi0","pi+"); - // anti_omega- -> anti_xi- + pi0 - mode[2] = new G4PhaseSpaceDecayChannel("anti_omega-",0.086,2,"anti_xi-","pi0"); - for (G4int index=0; index <3; index++ ) table->Insert(mode[index]); - delete [] mode; - - anInstance->SetDecayTable(table); + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( -2.02 * mN); + + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + G4VDecayChannel** mode = new G4VDecayChannel*[3]; + // anti_omega- -> anti_lambda + kaon+ + mode[0] = new G4PhaseSpaceDecayChannel("anti_omega-",0.678,2,"anti_lambda","kaon+"); + // anti_omega- -> anti_xi0 + pi+ + mode[1] = new G4PhaseSpaceDecayChannel("anti_omega-",0.236,2,"anti_xi0","pi+"); + // anti_omega- -> anti_xi- + pi0 + mode[2] = new G4PhaseSpaceDecayChannel("anti_omega-",0.086,2,"anti_xi-","pi0"); + + for (G4int index=0; index <3; index++ ) table->Insert(mode[index]); + delete [] mode; + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4AntiOmegacZero.cc b/source/particles/hadrons/barions/src/G4AntiOmegacZero.cc index 733981c1f7..10d2a4c865 100644 --- a/source/particles/hadrons/barions/src/G4AntiOmegacZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiOmegacZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiOmegacZero.cc,v 1.19 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiProton.cc b/source/particles/hadrons/barions/src/G4AntiProton.cc index 1979c014ee..291470e749 100644 --- a/source/particles/hadrons/barions/src/G4AntiProton.cc +++ b/source/particles/hadrons/barions/src/G4AntiProton.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiProton.cc,v 1.12 2006/06/29 19:16:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AntiProton.cc,v 1.13 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -73,6 +73,9 @@ G4AntiProton* G4AntiProton::Definition() true, -1.0, NULL, false, "nucleon" ); + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( -2.792847351 * mN); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4AntiSigmaMinus.cc b/source/particles/hadrons/barions/src/G4AntiSigmaMinus.cc index 11d81ed759..8c2d72a3b5 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmaMinus.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmaMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiSigmaMinus.cc,v 1.13 2006/06/29 19:16:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AntiSigmaMinus.cc,v 1.14 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,25 +68,30 @@ G4AntiSigmaMinus* G4AntiSigmaMinus::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( - name, 1.19744*GeV, 4.45e-12*MeV, eplus, + anInstance = new G4ParticleDefinition( + name, 1.197449*GeV, 4.45e-12*MeV, eplus, 1, +1, 0, 2, +2, 0, "baryon", 0, -1, -3112, false, 0.1479*ns, NULL, false, "sigma"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - // create decay channels - G4VDecayChannel** mode = new G4VDecayChannel*[1]; + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( 1.160 * mN); + + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + G4VDecayChannel** mode = new G4VDecayChannel*[1]; // anti_sigma- -> anti_neutron + pi+ - mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma-",1.00,2,"anti_neutron","pi+"); - - for (G4int index=0; index <1; index++ ) table->Insert(mode[index]); - delete [] mode; - - anInstance->SetDecayTable(table); + mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma-",1.00,2,"anti_neutron","pi+"); + + for (G4int index=0; index <1; index++ ) table->Insert(mode[index]); + delete [] mode; + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4AntiSigmaPlus.cc b/source/particles/hadrons/barions/src/G4AntiSigmaPlus.cc index 08150f1039..e6c1f8edc0 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmaPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmaPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiSigmaPlus.cc,v 1.13 2006/06/29 19:16:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AntiSigmaPlus.cc,v 1.14 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,27 +68,32 @@ G4AntiSigmaPlus* G4AntiSigmaPlus::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( + anInstance = new G4ParticleDefinition( name, 1.18937*GeV, 8.209e-12*MeV, -1.*eplus, 1, +1, 0, 2, -2, 0, "baryon", 0, -1, -3222, - false, 0.0799*ns, NULL, + false, 0.0802*ns, NULL, false, "sigma"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - - // create decay channels - G4VDecayChannel** mode = new G4VDecayChannel*[2]; - // anti_sigma+ -> anti_proton + pi0 - mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma+",0.516,2,"anti_proton","pi0"); - // anti_sigma+ -> anti_neutron + pi+ - mode[1] = new G4PhaseSpaceDecayChannel("anti_sigma+",0.483,2,"anti_neutron","pi-"); - for (G4int index=0; index <2; index++ ) table->Insert(mode[index]); - delete [] mode; - - anInstance->SetDecayTable(table); + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( -2.458 * mN); + + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + G4VDecayChannel** mode = new G4VDecayChannel*[2]; + // anti_sigma+ -> anti_proton + pi0 + mode[0] = new G4PhaseSpaceDecayChannel("anti_sigma+",0.516,2,"anti_proton","pi0"); + // anti_sigma+ -> anti_neutron + pi+ + mode[1] = new G4PhaseSpaceDecayChannel("anti_sigma+",0.483,2,"anti_neutron","pi-"); + + for (G4int index=0; index <2; index++ ) table->Insert(mode[index]); + delete [] mode; + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4AntiSigmaZero.cc b/source/particles/hadrons/barions/src/G4AntiSigmaZero.cc index e27372c54a..4babb8f909 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmaZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmaZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiSigmaZero.cc,v 1.17 2006/06/29 19:16:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AntiSigmaZero.cc,v 1.18 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,23 +68,24 @@ G4AntiSigmaZero* G4AntiSigmaZero::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( - name, 1.19255*GeV, 8.9e-3*MeV, 0.0, + anInstance = new G4ParticleDefinition( + name, 1.192642*GeV, 8.9e-3*MeV, 0.0, 1, +1, 0, 2, 0, 0, "baryon", 0, -1, -3212, false, 7.4e-11*ns, NULL, false, "sigma"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - - // create decay channels - // anti_sigma0 -> anti_lambda + gamma - G4VDecayChannel* mode = new G4PhaseSpaceDecayChannel("anti_sigma0",1.000,2,"anti_lambda","gamma"); - - table->Insert(mode); - - anInstance->SetDecayTable(table); + + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + // anti_sigma0 -> anti_lambda + gamma + G4VDecayChannel* mode = new G4PhaseSpaceDecayChannel("anti_sigma0",1.000,2,"anti_lambda","gamma"); + + table->Insert(mode); + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4AntiSigmacPlus.cc b/source/particles/hadrons/barions/src/G4AntiSigmacPlus.cc index 53bcebcd67..2b4f0c3fd2 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmacPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmacPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiSigmacPlus.cc,v 1.12 2006/06/29 19:16:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiSigmacPlusPlus.cc b/source/particles/hadrons/barions/src/G4AntiSigmacPlusPlus.cc index 075643da5b..52bdc49acb 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmacPlusPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmacPlusPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiSigmacPlusPlus.cc,v 1.12 2006/06/29 19:16:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiSigmacZero.cc b/source/particles/hadrons/barions/src/G4AntiSigmacZero.cc index 707bb7c56f..0ca8b98da0 100644 --- a/source/particles/hadrons/barions/src/G4AntiSigmacZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiSigmacZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiSigmacZero.cc,v 1.17 2006/06/29 19:16:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiXiMinus.cc b/source/particles/hadrons/barions/src/G4AntiXiMinus.cc index e55c52ce36..5b8f2aa05c 100644 --- a/source/particles/hadrons/barions/src/G4AntiXiMinus.cc +++ b/source/particles/hadrons/barions/src/G4AntiXiMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiXiMinus.cc,v 1.12 2006/06/29 19:16:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AntiXiMinus.cc,v 1.13 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,24 +68,29 @@ G4AntiXiMinus* G4AntiXiMinus::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( - name, 1.32132*GeV, 4.02e-12*MeV, eplus, + anInstance = new G4ParticleDefinition( + name, 1.32131*GeV, 4.02e-12*MeV, eplus, 1, +1, 0, 1, +1, 0, "baryon", 0, -1, -3312, false, 0.1639*ns, NULL, false, "xi"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - // create decay channels - G4VDecayChannel** mode = new G4VDecayChannel*[1]; - // anti_xi- -> anti_lambda + pi+ - mode[0] = new G4PhaseSpaceDecayChannel("anti_xi-",1.000,2,"anti_lambda","pi+"); - for (G4int index=0; index <1; index++ ) table->Insert(mode[index]); - delete [] mode; - - anInstance->SetDecayTable(table); + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( 0.6507 * mN); + + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + // create decay channels + G4VDecayChannel** mode = new G4VDecayChannel*[1]; + // anti_xi- -> anti_lambda + pi+ + mode[0] = new G4PhaseSpaceDecayChannel("anti_xi-",1.000,2,"anti_lambda","pi+"); + + for (G4int index=0; index <1; index++ ) table->Insert(mode[index]); + delete [] mode; + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4AntiXiZero.cc b/source/particles/hadrons/barions/src/G4AntiXiZero.cc index 7e2dcd3d93..5f6ba24225 100644 --- a/source/particles/hadrons/barions/src/G4AntiXiZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiXiZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4AntiXiZero.cc,v 1.18 2006/06/29 19:16:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4AntiXiZero.cc,v 1.19 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,25 +68,30 @@ G4AntiXiZero* G4AntiXiZero::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( - name, 1.3149*GeV, 2.27e-12*MeV, 0.0, + anInstance = new G4ParticleDefinition( + name, 1.31483*GeV, 2.27e-12*MeV, 0.0, 1, +1, 0, 1, -1, 0, "baryon", 0, -1, -3322, false, 0.290*ns, NULL, false, "xi"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - // create decay channels - G4VDecayChannel** mode = new G4VDecayChannel*[1]; - // anti_xi0 -> anti_lambda + pi0 - mode[0] = new G4PhaseSpaceDecayChannel("anti_xi0",1.000,2,"anti_lambda","pi0"); - - for (G4int index=0; index <1; index++ ) table->Insert(mode[index]); - delete [] mode; - - anInstance->SetDecayTable(table); + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( 1.250 * mN); + + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + G4VDecayChannel** mode = new G4VDecayChannel*[1]; + // anti_xi0 -> anti_lambda + pi0 + mode[0] = new G4PhaseSpaceDecayChannel("anti_xi0",1.000,2,"anti_lambda","pi0"); + + for (G4int index=0; index <1; index++ ) table->Insert(mode[index]); + delete [] mode; + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4AntiXicPlus.cc b/source/particles/hadrons/barions/src/G4AntiXicPlus.cc index 5f6a785980..9bd133df78 100644 --- a/source/particles/hadrons/barions/src/G4AntiXicPlus.cc +++ b/source/particles/hadrons/barions/src/G4AntiXicPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiXicPlus.cc,v 1.13 2006/06/29 19:16:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4AntiXicZero.cc b/source/particles/hadrons/barions/src/G4AntiXicZero.cc index 3ccee6b239..7d23f68283 100644 --- a/source/particles/hadrons/barions/src/G4AntiXicZero.cc +++ b/source/particles/hadrons/barions/src/G4AntiXicZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiXicZero.cc,v 1.19 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4BaryonConstructor.cc b/source/particles/hadrons/barions/src/G4BaryonConstructor.cc index cbc389ae5b..0f8b36ed60 100644 --- a/source/particles/hadrons/barions/src/G4BaryonConstructor.cc +++ b/source/particles/hadrons/barions/src/G4BaryonConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4BaryonConstructor.cc,v 1.4 2006/06/29 19:16:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4Lambda.cc b/source/particles/hadrons/barions/src/G4Lambda.cc index e9ccf83dc7..f689b920b6 100644 --- a/source/particles/hadrons/barions/src/G4Lambda.cc +++ b/source/particles/hadrons/barions/src/G4Lambda.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Lambda.cc,v 1.17 2006/06/29 19:16:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Lambda.cc,v 1.18 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,27 +68,32 @@ G4Lambda* G4Lambda::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( - name, 1.115684*GeV, 2.501e-12*MeV, 0.0, + anInstance = new G4ParticleDefinition( + name, 1.115683*GeV, 2.501e-12*MeV, 0.0, 1, +1, 0, 0, 0, 0, "baryon", 0, +1, 3122, - false, 0.2632*ns, NULL, + false, 0.2631*ns, NULL, false, "lambda"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - - // create decay channels - G4VDecayChannel** mode = new G4VDecayChannel*[2]; - // lambda -> proton + pi- - mode[0] = new G4PhaseSpaceDecayChannel("lambda",0.639,2,"proton","pi-"); - // lambda -> neutron + pi0 - mode[1] = new G4PhaseSpaceDecayChannel("lambda",0.358,2,"neutron","pi0"); - - for (G4int index=0; index <2; index++ ) table->Insert(mode[index]); - delete [] mode; - - anInstance->SetDecayTable(table); + + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( -0.613 * mN); + + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + G4VDecayChannel** mode = new G4VDecayChannel*[2]; + // lambda -> proton + pi- + mode[0] = new G4PhaseSpaceDecayChannel("lambda",0.639,2,"proton","pi-"); + // lambda -> neutron + pi0 + mode[1] = new G4PhaseSpaceDecayChannel("lambda",0.358,2,"neutron","pi0"); + + for (G4int index=0; index <2; index++ ) table->Insert(mode[index]); + delete [] mode; + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4LambdacPlus.cc b/source/particles/hadrons/barions/src/G4LambdacPlus.cc index e9bb1f0143..3701d7c0e4 100644 --- a/source/particles/hadrons/barions/src/G4LambdacPlus.cc +++ b/source/particles/hadrons/barions/src/G4LambdacPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4LambdacPlus.cc,v 1.14 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4Neutron.cc b/source/particles/hadrons/barions/src/G4Neutron.cc index 946e1c42c8..d89dece958 100644 --- a/source/particles/hadrons/barions/src/G4Neutron.cc +++ b/source/particles/hadrons/barions/src/G4Neutron.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Neutron.cc,v 1.20 2006/06/29 19:17:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Neutron.cc,v 1.21 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -77,6 +77,9 @@ G4Neutron* G4Neutron::Definition() false, "nucleon", 0, 0.0 ); + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( -1.9130427 * mN); //create Decay Table G4DecayTable* table = new G4DecayTable(); // create a decay channel diff --git a/source/particles/hadrons/barions/src/G4OmegaMinus.cc b/source/particles/hadrons/barions/src/G4OmegaMinus.cc index 9a63fca415..ed5447d362 100644 --- a/source/particles/hadrons/barions/src/G4OmegaMinus.cc +++ b/source/particles/hadrons/barions/src/G4OmegaMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OmegaMinus.cc,v 1.13 2006/06/29 19:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4OmegaMinus.cc,v 1.14 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,29 +68,34 @@ G4OmegaMinus* G4OmegaMinus::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( + anInstance = new G4ParticleDefinition( name, 1.67245*GeV, 8.02e-12*MeV, -1*eplus, 3, +1, 0, 0, 0, 0, "baryon", 0, +1, 3334, - false, 0.0822*ns, NULL, + false, 0.0821*ns, NULL, false, "omega"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - // create decay channels - G4VDecayChannel** mode = new G4VDecayChannel*[3]; - // omega- -> lambda + kaon- - mode[0] = new G4PhaseSpaceDecayChannel("omega-",0.678,2,"lambda","kaon-"); - // omega- -> xi0 + pi- - mode[1] = new G4PhaseSpaceDecayChannel("omega-",0.236,2,"xi0","pi-"); - // omega- -> xi- + pi0 - mode[2] = new G4PhaseSpaceDecayChannel("omega-",0.086,2,"xi-","pi0"); - - for (G4int index=0; index <3; index++ ) table->Insert(mode[index]); - delete [] mode; - - anInstance->SetDecayTable(table); + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( -2.02 * mN); + + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + G4VDecayChannel** mode = new G4VDecayChannel*[3]; + // omega- -> lambda + kaon- + mode[0] = new G4PhaseSpaceDecayChannel("omega-",0.678,2,"lambda","kaon-"); + // omega- -> xi0 + pi- + mode[1] = new G4PhaseSpaceDecayChannel("omega-",0.236,2,"xi0","pi-"); + // omega- -> xi- + pi0 + mode[2] = new G4PhaseSpaceDecayChannel("omega-",0.086,2,"xi-","pi0"); + + for (G4int index=0; index <3; index++ ) table->Insert(mode[index]); + delete [] mode; + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4OmegacZero.cc b/source/particles/hadrons/barions/src/G4OmegacZero.cc index 0a1766e31e..a413e6999b 100644 --- a/source/particles/hadrons/barions/src/G4OmegacZero.cc +++ b/source/particles/hadrons/barions/src/G4OmegacZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4OmegacZero.cc,v 1.19 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4Proton.cc b/source/particles/hadrons/barions/src/G4Proton.cc index 539b33d5e5..295105cdf6 100644 --- a/source/particles/hadrons/barions/src/G4Proton.cc +++ b/source/particles/hadrons/barions/src/G4Proton.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Proton.cc,v 1.12 2006/06/29 19:17:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Proton.cc,v 1.13 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -72,6 +72,10 @@ G4Proton* G4Proton::Definition() false, "nucleon", 0, 0.0 ); + + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( 2.792847351 * mN); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4SigmaMinus.cc b/source/particles/hadrons/barions/src/G4SigmaMinus.cc index 52fb45394d..45e3a453d0 100644 --- a/source/particles/hadrons/barions/src/G4SigmaMinus.cc +++ b/source/particles/hadrons/barions/src/G4SigmaMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SigmaMinus.cc,v 1.12 2006/06/29 19:17:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SigmaMinus.cc,v 1.13 2007/03/11 07:17:34 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,25 +68,30 @@ G4SigmaMinus* G4SigmaMinus::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( - name, 1.19744*GeV, 4.45e-12*MeV, -1*eplus, + anInstance = new G4ParticleDefinition( + name, 1.197449*GeV, 4.45e-12*MeV, -1*eplus, 1, +1, 0, 2, -2, 0, "baryon", 0, +1, 3112, false, 0.1479*ns, NULL, false, "sigma"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - - // create decay channels - G4VDecayChannel** mode = new G4VDecayChannel*[1]; - // sigma- -> neutron + pi- - mode[0] = new G4PhaseSpaceDecayChannel("sigma-",1.00,2,"neutron","pi-"); - - for (G4int index=0; index <1; index++ ) table->Insert(mode[index]); - delete [] mode; - - anInstance->SetDecayTable(table); + + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( -1.160 * mN); + + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + G4VDecayChannel** mode = new G4VDecayChannel*[1]; + // sigma- -> neutron + pi- + mode[0] = new G4PhaseSpaceDecayChannel("sigma-",1.00,2,"neutron","pi-"); + + for (G4int index=0; index <1; index++ ) table->Insert(mode[index]); + delete [] mode; + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4SigmaPlus.cc b/source/particles/hadrons/barions/src/G4SigmaPlus.cc index 4bdcf79ae8..f3d6b34bb7 100644 --- a/source/particles/hadrons/barions/src/G4SigmaPlus.cc +++ b/source/particles/hadrons/barions/src/G4SigmaPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SigmaPlus.cc,v 1.13 2006/06/29 19:17:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SigmaPlus.cc,v 1.14 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,27 +68,32 @@ G4SigmaPlus* G4SigmaPlus::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( + anInstance = new G4ParticleDefinition( name, 1.18937*GeV, 8.209e-12*MeV, eplus, 1, +1, 0, 2, +2, 0, "baryon", 0, +1, 3222, - false, 0.0799*ns, NULL, + false, 0.0802*ns, NULL, false, "sigma"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); + + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( 2.458 * mN); - // create decay channels - G4VDecayChannel** mode = new G4VDecayChannel*[2]; - // sigma+ -> proton + pi0 - mode[0] = new G4PhaseSpaceDecayChannel("sigma+",0.516,2,"proton","pi0"); - // sigma+ -> neutron + pi+ - mode[1] = new G4PhaseSpaceDecayChannel("sigma+",0.483,2,"neutron","pi+"); - - for (G4int index=0; index <2; index++ ) table->Insert(mode[index]); - delete [] mode; - - anInstance->SetDecayTable(table); + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + G4VDecayChannel** mode = new G4VDecayChannel*[2]; + // sigma+ -> proton + pi0 + mode[0] = new G4PhaseSpaceDecayChannel("sigma+",0.516,2,"proton","pi0"); + // sigma+ -> neutron + pi+ + mode[1] = new G4PhaseSpaceDecayChannel("sigma+",0.483,2,"neutron","pi+"); + + for (G4int index=0; index <2; index++ ) table->Insert(mode[index]); + delete [] mode; + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4SigmaZero.cc b/source/particles/hadrons/barions/src/G4SigmaZero.cc index aa0e7c2d5a..61650f75cf 100644 --- a/source/particles/hadrons/barions/src/G4SigmaZero.cc +++ b/source/particles/hadrons/barions/src/G4SigmaZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SigmaZero.cc,v 1.17 2006/06/29 19:17:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SigmaZero.cc,v 1.18 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,23 +68,24 @@ G4SigmaZero* G4SigmaZero::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( - name, 1.19255*GeV, 8.9e-3*MeV, 0.0, + anInstance = new G4ParticleDefinition( + name, 1.192642*GeV, 8.9e-3*MeV, 0.0, 1, +1, 0, 2, 0, 0, "baryon", 0, +1, 3212, false, 7.4e-11*ns, NULL, false, "sigma"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - // create decay channels - // sigma0 -> lambda + gamma - G4VDecayChannel* mode = new G4PhaseSpaceDecayChannel("sigma0",1.000,2,"lambda","gamma"); - - table->Insert(mode); - - anInstance->SetDecayTable(table); + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + // sigma0 -> lambda + gamma + G4VDecayChannel* mode = new G4PhaseSpaceDecayChannel("sigma0",1.000,2,"lambda","gamma"); + + table->Insert(mode); + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4SigmacPlus.cc b/source/particles/hadrons/barions/src/G4SigmacPlus.cc index 6a7fe4d836..9e170fa553 100644 --- a/source/particles/hadrons/barions/src/G4SigmacPlus.cc +++ b/source/particles/hadrons/barions/src/G4SigmacPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4SigmacPlus.cc,v 1.13 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4SigmacPlusPlus.cc b/source/particles/hadrons/barions/src/G4SigmacPlusPlus.cc index 120be2ac92..469c1905e7 100644 --- a/source/particles/hadrons/barions/src/G4SigmacPlusPlus.cc +++ b/source/particles/hadrons/barions/src/G4SigmacPlusPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4SigmacPlusPlus.cc,v 1.13 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4SigmacZero.cc b/source/particles/hadrons/barions/src/G4SigmacZero.cc index 0a493054ad..4e3b2695f8 100644 --- a/source/particles/hadrons/barions/src/G4SigmacZero.cc +++ b/source/particles/hadrons/barions/src/G4SigmacZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4SigmacZero.cc,v 1.18 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4XiMinus.cc b/source/particles/hadrons/barions/src/G4XiMinus.cc index 515fa9cf40..ee14f46157 100644 --- a/source/particles/hadrons/barions/src/G4XiMinus.cc +++ b/source/particles/hadrons/barions/src/G4XiMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4XiMinus.cc,v 1.12 2006/06/29 19:17:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4XiMinus.cc,v 1.13 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,25 +68,30 @@ G4XiMinus* G4XiMinus::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( - name, 1.32132*GeV, 4.02e-12*MeV, -1*eplus, + anInstance = new G4ParticleDefinition( + name, 1.32131*GeV, 4.02e-12*MeV, -1*eplus, 1, +1, 0, 1, -1, 0, "baryon", 0, +1, 3312, false, 0.1639*ns, NULL, false, "xi"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - // create decay channels - G4VDecayChannel** mode = new G4VDecayChannel*[1]; - // xi- -> lambda + pi- - mode[0] = new G4PhaseSpaceDecayChannel("xi-",1.000,2,"lambda","pi-"); + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( -0.6507 * mN); + + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + G4VDecayChannel** mode = new G4VDecayChannel*[1]; + // xi- -> lambda + pi- + mode[0] = new G4PhaseSpaceDecayChannel("xi-",1.000,2,"lambda","pi-"); + + for (G4int index=0; index <1; index++ ) table->Insert(mode[index]); + delete [] mode; - for (G4int index=0; index <1; index++ ) table->Insert(mode[index]); - delete [] mode; - - anInstance->SetDecayTable(table); + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4XiZero.cc b/source/particles/hadrons/barions/src/G4XiZero.cc index 3a5f7c22f0..70c8700a6f 100644 --- a/source/particles/hadrons/barions/src/G4XiZero.cc +++ b/source/particles/hadrons/barions/src/G4XiZero.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4XiZero.cc,v 1.17 2006/06/29 19:17:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4XiZero.cc,v 1.18 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -68,25 +68,30 @@ G4XiZero* G4XiZero::Definition() // stable lifetime decay table // shortlived subType anti_encoding - anInstance = new G4ParticleDefinition( - name, 1.3149*GeV, 2.27e-12*MeV, 0.0, + anInstance = new G4ParticleDefinition( + name, 1.31483*GeV, 2.27e-12*MeV, 0.0, 1, +1, 0, 1, +1, 0, "baryon", 0, +1, 3322, false, 0.290*ns, NULL, false, "xi"); - //create Decay Table - G4DecayTable* table = new G4DecayTable(); - // create decay channels - G4VDecayChannel** mode = new G4VDecayChannel*[1]; - // xi0 -> lambda + pi0 - mode[0] = new G4PhaseSpaceDecayChannel("xi0",1.000,2,"lambda","pi0"); - - for (G4int index=0; index <1; index++ ) table->Insert(mode[index]); - delete [] mode; - - anInstance->SetDecayTable(table); + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( -1.250 * mN); + + //create Decay Table + G4DecayTable* table = new G4DecayTable(); + + // create decay channels + G4VDecayChannel** mode = new G4VDecayChannel*[1]; + // xi0 -> lambda + pi0 + mode[0] = new G4PhaseSpaceDecayChannel("xi0",1.000,2,"lambda","pi0"); + + for (G4int index=0; index <1; index++ ) table->Insert(mode[index]); + delete [] mode; + + anInstance->SetDecayTable(table); } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/hadrons/barions/src/G4XicPlus.cc b/source/particles/hadrons/barions/src/G4XicPlus.cc index 815db1f162..db25a80aff 100644 --- a/source/particles/hadrons/barions/src/G4XicPlus.cc +++ b/source/particles/hadrons/barions/src/G4XicPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4XicPlus.cc,v 1.13 2006/06/29 19:17:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/barions/src/G4XicZero.cc b/source/particles/hadrons/barions/src/G4XicZero.cc index aceac82b3c..c9a678045c 100644 --- a/source/particles/hadrons/barions/src/G4XicZero.cc +++ b/source/particles/hadrons/barions/src/G4XicZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4XicZero.cc,v 1.19 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/ions/include/G4Alpha.hh b/source/particles/hadrons/ions/include/G4Alpha.hh index aca35251db..4724590bc4 100644 --- a/source/particles/hadrons/ions/include/G4Alpha.hh +++ b/source/particles/hadrons/ions/include/G4Alpha.hh @@ -25,7 +25,7 @@ // // // $Id: G4Alpha.hh,v 1.11 2006/06/29 19:17:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/ions/include/G4Deuteron.hh b/source/particles/hadrons/ions/include/G4Deuteron.hh index 27d0480ab8..9ecf40407e 100644 --- a/source/particles/hadrons/ions/include/G4Deuteron.hh +++ b/source/particles/hadrons/ions/include/G4Deuteron.hh @@ -25,7 +25,7 @@ // // // $Id: G4Deuteron.hh,v 1.11 2006/06/29 19:17:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/ions/include/G4GenericIon.hh b/source/particles/hadrons/ions/include/G4GenericIon.hh index 1a48ffd552..7cc514bf57 100644 --- a/source/particles/hadrons/ions/include/G4GenericIon.hh +++ b/source/particles/hadrons/ions/include/G4GenericIon.hh @@ -25,7 +25,7 @@ // // // $Id: G4GenericIon.hh,v 1.11 2006/06/29 19:17:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/ions/include/G4He3.hh b/source/particles/hadrons/ions/include/G4He3.hh index a7b2e9e65f..9e856da28b 100644 --- a/source/particles/hadrons/ions/include/G4He3.hh +++ b/source/particles/hadrons/ions/include/G4He3.hh @@ -25,7 +25,7 @@ // // // $Id: G4He3.hh,v 1.11 2006/06/29 19:17:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/ions/include/G4IonConstructor.hh b/source/particles/hadrons/ions/include/G4IonConstructor.hh index 49e3f2e6f3..f2da60ce71 100644 --- a/source/particles/hadrons/ions/include/G4IonConstructor.hh +++ b/source/particles/hadrons/ions/include/G4IonConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4IonConstructor.hh,v 1.5 2006/06/29 19:17:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/ions/include/G4Triton.hh b/source/particles/hadrons/ions/include/G4Triton.hh index cb6067acad..69a394f76b 100644 --- a/source/particles/hadrons/ions/include/G4Triton.hh +++ b/source/particles/hadrons/ions/include/G4Triton.hh @@ -25,7 +25,7 @@ // // // $Id: G4Triton.hh,v 1.11 2006/06/29 19:17:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/ions/src/G4Alpha.cc b/source/particles/hadrons/ions/src/G4Alpha.cc index 06ac0e171d..fac36c5bf3 100644 --- a/source/particles/hadrons/ions/src/G4Alpha.cc +++ b/source/particles/hadrons/ions/src/G4Alpha.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Alpha.cc,v 1.13 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Alpha.cc,v 1.14 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -74,6 +74,7 @@ G4Alpha* G4Alpha::Definition() false, "static", 0, 0.0 ); + } //No Anti particle registered diff --git a/source/particles/hadrons/ions/src/G4Deuteron.cc b/source/particles/hadrons/ions/src/G4Deuteron.cc index 63e48b7cb4..28580f510b 100644 --- a/source/particles/hadrons/ions/src/G4Deuteron.cc +++ b/source/particles/hadrons/ions/src/G4Deuteron.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Deuteron.cc,v 1.13 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Deuteron.cc,v 1.14 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -65,7 +65,7 @@ G4Deuteron* G4Deuteron::Definition() // stable lifetime decay table // shortlived subType anti_encoding // excitation - anInstance = new G4Ions( + anInstance = new G4Ions( name, 1.875613*GeV, 0.0*MeV, +1.0*eplus, 2, +1, 0, 0, 0, 0, @@ -74,6 +74,11 @@ G4Deuteron* G4Deuteron::Definition() false, "static", 0, 0.0 ); + + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( 0.857438230 * mN); + } //No Anti particle registered anInstance->SetAntiPDGEncoding(0); diff --git a/source/particles/hadrons/ions/src/G4GenericIon.cc b/source/particles/hadrons/ions/src/G4GenericIon.cc index 87f58329ac..077fa8a92e 100644 --- a/source/particles/hadrons/ions/src/G4GenericIon.cc +++ b/source/particles/hadrons/ions/src/G4GenericIon.cc @@ -25,7 +25,7 @@ // // // $Id: G4GenericIon.cc,v 1.13 2006/06/29 19:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/ions/src/G4He3.cc b/source/particles/hadrons/ions/src/G4He3.cc index 152b1a7def..6c1b28f51a 100644 --- a/source/particles/hadrons/ions/src/G4He3.cc +++ b/source/particles/hadrons/ions/src/G4He3.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4He3.cc,v 1.13 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4He3.cc,v 1.14 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -65,7 +65,7 @@ G4He3* G4He3::Definition() // stable lifetime decay table // shortlived subType anti_encoding // excitation - anInstance = new G4Ions( + anInstance = new G4Ions( name, 2.80923*GeV, 0.0*MeV, +2.0*eplus, 1, +1, 0, 0, 0, 0, @@ -74,6 +74,11 @@ G4He3* G4He3::Definition() false, "static", 0, 0.0 ); + + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( -2.12762485 * mN); + } //No Anti particle registered anInstance->SetAntiPDGEncoding(0); diff --git a/source/particles/hadrons/ions/src/G4IonConstructor.cc b/source/particles/hadrons/ions/src/G4IonConstructor.cc index c7e5a8d3dd..8970a67655 100644 --- a/source/particles/hadrons/ions/src/G4IonConstructor.cc +++ b/source/particles/hadrons/ions/src/G4IonConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4IonConstructor.cc,v 1.4 2006/06/29 19:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/ions/src/G4Triton.cc b/source/particles/hadrons/ions/src/G4Triton.cc index f3672e1028..2cbf29f06e 100644 --- a/source/particles/hadrons/ions/src/G4Triton.cc +++ b/source/particles/hadrons/ions/src/G4Triton.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Triton.cc,v 1.13 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Triton.cc,v 1.14 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -65,7 +65,7 @@ G4Triton* G4Triton::Definition() // stable lifetime decay table // shortlived subType anti_encoding // excitation - anInstance = new G4Ions( + anInstance = new G4Ions( name, 2.80925*GeV, 0.0*MeV, +1.0*eplus, 1, +1, 0, 0, 0, 0, @@ -74,7 +74,12 @@ G4Triton* G4Triton::Definition() false, "static", 0, 0.0 ); - } + + // Magnetic Moment + G4double mN = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); + anInstance->SetPDGMagneticMoment( 2.97896248 * mN); + + } //No Anti particle registered anInstance->SetAntiPDGEncoding(0); diff --git a/source/particles/hadrons/mesons/include/G4AntiBMesonZero.hh b/source/particles/hadrons/mesons/include/G4AntiBMesonZero.hh index f0ce8577fc..6a67eb04f9 100644 --- a/source/particles/hadrons/mesons/include/G4AntiBMesonZero.hh +++ b/source/particles/hadrons/mesons/include/G4AntiBMesonZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiBMesonZero.hh,v 1.11 2006/06/29 19:18:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4AntiBsMesonZero.hh b/source/particles/hadrons/mesons/include/G4AntiBsMesonZero.hh index 7420554f0d..eee85e3f1b 100644 --- a/source/particles/hadrons/mesons/include/G4AntiBsMesonZero.hh +++ b/source/particles/hadrons/mesons/include/G4AntiBsMesonZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiBsMesonZero.hh,v 1.11 2006/06/29 19:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4AntiDMesonZero.hh b/source/particles/hadrons/mesons/include/G4AntiDMesonZero.hh index a5f1cd4558..10c2d51042 100644 --- a/source/particles/hadrons/mesons/include/G4AntiDMesonZero.hh +++ b/source/particles/hadrons/mesons/include/G4AntiDMesonZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiDMesonZero.hh,v 1.11 2006/06/29 19:18:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4AntiKaonZero.hh b/source/particles/hadrons/mesons/include/G4AntiKaonZero.hh index 69f6f922b1..9f0ee85f2d 100644 --- a/source/particles/hadrons/mesons/include/G4AntiKaonZero.hh +++ b/source/particles/hadrons/mesons/include/G4AntiKaonZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiKaonZero.hh,v 1.13 2006/06/29 19:18:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4BMesonMinus.hh b/source/particles/hadrons/mesons/include/G4BMesonMinus.hh index 606deaf5a2..fbc9eff748 100644 --- a/source/particles/hadrons/mesons/include/G4BMesonMinus.hh +++ b/source/particles/hadrons/mesons/include/G4BMesonMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4BMesonMinus.hh,v 1.8 2006/06/29 19:18:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4BMesonPlus.hh b/source/particles/hadrons/mesons/include/G4BMesonPlus.hh index 8901f03b27..78fad76129 100644 --- a/source/particles/hadrons/mesons/include/G4BMesonPlus.hh +++ b/source/particles/hadrons/mesons/include/G4BMesonPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4BMesonPlus.hh,v 1.8 2006/06/29 19:18:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4BMesonZero.hh b/source/particles/hadrons/mesons/include/G4BMesonZero.hh index fd2133cf55..9f6f78db72 100644 --- a/source/particles/hadrons/mesons/include/G4BMesonZero.hh +++ b/source/particles/hadrons/mesons/include/G4BMesonZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4BMesonZero.hh,v 1.11 2006/06/29 19:18:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4BsMesonZero.hh b/source/particles/hadrons/mesons/include/G4BsMesonZero.hh index 5481f4ebe0..b239aafec8 100644 --- a/source/particles/hadrons/mesons/include/G4BsMesonZero.hh +++ b/source/particles/hadrons/mesons/include/G4BsMesonZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4BsMesonZero.hh,v 1.11 2006/06/29 19:18:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4DMesonMinus.hh b/source/particles/hadrons/mesons/include/G4DMesonMinus.hh index 840ec1db2a..df719aa0c6 100644 --- a/source/particles/hadrons/mesons/include/G4DMesonMinus.hh +++ b/source/particles/hadrons/mesons/include/G4DMesonMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4DMesonMinus.hh,v 1.8 2006/06/29 19:18:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4DMesonPlus.hh b/source/particles/hadrons/mesons/include/G4DMesonPlus.hh index 4c1dfc24b3..5274250501 100644 --- a/source/particles/hadrons/mesons/include/G4DMesonPlus.hh +++ b/source/particles/hadrons/mesons/include/G4DMesonPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4DMesonPlus.hh,v 1.8 2006/06/29 19:18:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4DMesonZero.hh b/source/particles/hadrons/mesons/include/G4DMesonZero.hh index f82957f945..c6fbbf8fc8 100644 --- a/source/particles/hadrons/mesons/include/G4DMesonZero.hh +++ b/source/particles/hadrons/mesons/include/G4DMesonZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4DMesonZero.hh,v 1.11 2006/06/29 19:18:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4DsMesonMinus.hh b/source/particles/hadrons/mesons/include/G4DsMesonMinus.hh index 8699239f23..36237f7a48 100644 --- a/source/particles/hadrons/mesons/include/G4DsMesonMinus.hh +++ b/source/particles/hadrons/mesons/include/G4DsMesonMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4DsMesonMinus.hh,v 1.8 2006/06/29 19:18:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4DsMesonPlus.hh b/source/particles/hadrons/mesons/include/G4DsMesonPlus.hh index 6780d1f208..c77a7d2983 100644 --- a/source/particles/hadrons/mesons/include/G4DsMesonPlus.hh +++ b/source/particles/hadrons/mesons/include/G4DsMesonPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4DsMesonPlus.hh,v 1.8 2006/06/29 19:18:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4Eta.hh b/source/particles/hadrons/mesons/include/G4Eta.hh index b434843f62..2afc7e1590 100644 --- a/source/particles/hadrons/mesons/include/G4Eta.hh +++ b/source/particles/hadrons/mesons/include/G4Eta.hh @@ -25,7 +25,7 @@ // // // $Id: G4Eta.hh,v 1.12 2006/06/29 19:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4EtaPrime.hh b/source/particles/hadrons/mesons/include/G4EtaPrime.hh index c57e62398d..c19e8b418f 100644 --- a/source/particles/hadrons/mesons/include/G4EtaPrime.hh +++ b/source/particles/hadrons/mesons/include/G4EtaPrime.hh @@ -25,7 +25,7 @@ // // // $Id: G4EtaPrime.hh,v 1.12 2006/06/29 19:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4JPsi.hh b/source/particles/hadrons/mesons/include/G4JPsi.hh index 9bb3ede8ed..70cf5fa95e 100644 --- a/source/particles/hadrons/mesons/include/G4JPsi.hh +++ b/source/particles/hadrons/mesons/include/G4JPsi.hh @@ -25,7 +25,7 @@ // // // $Id: G4JPsi.hh,v 1.11 2006/06/29 19:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4KaonMinus.hh b/source/particles/hadrons/mesons/include/G4KaonMinus.hh index 35aec12fc3..c6b41eae0e 100644 --- a/source/particles/hadrons/mesons/include/G4KaonMinus.hh +++ b/source/particles/hadrons/mesons/include/G4KaonMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4KaonMinus.hh,v 1.10 2006/06/29 19:18:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4KaonPlus.hh b/source/particles/hadrons/mesons/include/G4KaonPlus.hh index c82db92e9d..586bb3eb31 100644 --- a/source/particles/hadrons/mesons/include/G4KaonPlus.hh +++ b/source/particles/hadrons/mesons/include/G4KaonPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4KaonPlus.hh,v 1.10 2006/06/29 19:18:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4KaonZero.hh b/source/particles/hadrons/mesons/include/G4KaonZero.hh index c06f6e6f21..fe3b4a050b 100644 --- a/source/particles/hadrons/mesons/include/G4KaonZero.hh +++ b/source/particles/hadrons/mesons/include/G4KaonZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4KaonZero.hh,v 1.13 2006/06/29 19:18:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4KaonZeroLong.hh b/source/particles/hadrons/mesons/include/G4KaonZeroLong.hh index 9e060fbcf7..73519de471 100644 --- a/source/particles/hadrons/mesons/include/G4KaonZeroLong.hh +++ b/source/particles/hadrons/mesons/include/G4KaonZeroLong.hh @@ -25,7 +25,7 @@ // // // $Id: G4KaonZeroLong.hh,v 1.12 2006/06/29 19:18:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4KaonZeroShort.hh b/source/particles/hadrons/mesons/include/G4KaonZeroShort.hh index 18be82914c..ec893d0cdd 100644 --- a/source/particles/hadrons/mesons/include/G4KaonZeroShort.hh +++ b/source/particles/hadrons/mesons/include/G4KaonZeroShort.hh @@ -25,7 +25,7 @@ // // // $Id: G4KaonZeroShort.hh,v 1.12 2006/06/29 19:18:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4MesonConstructor.hh b/source/particles/hadrons/mesons/include/G4MesonConstructor.hh index a79bbc88b3..30461b7b0c 100644 --- a/source/particles/hadrons/mesons/include/G4MesonConstructor.hh +++ b/source/particles/hadrons/mesons/include/G4MesonConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4MesonConstructor.hh,v 1.5 2006/06/29 19:18:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/include/G4PionMinus.hh b/source/particles/hadrons/mesons/include/G4PionMinus.hh index 308c152e3e..67a6d141e6 100644 --- a/source/particles/hadrons/mesons/include/G4PionMinus.hh +++ b/source/particles/hadrons/mesons/include/G4PionMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4PionMinus.hh,v 1.10 2006/06/29 19:18:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4PionPlus.hh b/source/particles/hadrons/mesons/include/G4PionPlus.hh index 0ebab402d0..10088b4a0e 100644 --- a/source/particles/hadrons/mesons/include/G4PionPlus.hh +++ b/source/particles/hadrons/mesons/include/G4PionPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4PionPlus.hh,v 1.10 2006/06/29 19:18:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/include/G4PionZero.hh b/source/particles/hadrons/mesons/include/G4PionZero.hh index 4f013fce58..014699fe45 100644 --- a/source/particles/hadrons/mesons/include/G4PionZero.hh +++ b/source/particles/hadrons/mesons/include/G4PionZero.hh @@ -25,7 +25,7 @@ // // // $Id: G4PionZero.hh,v 1.13 2006/06/29 19:19:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/hadrons/mesons/src/G4AntiBMesonZero.cc b/source/particles/hadrons/mesons/src/G4AntiBMesonZero.cc index 866c7522c0..f3c6b003ac 100644 --- a/source/particles/hadrons/mesons/src/G4AntiBMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4AntiBMesonZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiBMesonZero.cc,v 1.19 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4AntiBsMesonZero.cc b/source/particles/hadrons/mesons/src/G4AntiBsMesonZero.cc index 673d26523e..864bd2ee7a 100644 --- a/source/particles/hadrons/mesons/src/G4AntiBsMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4AntiBsMesonZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiBsMesonZero.cc,v 1.18 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4AntiDMesonZero.cc b/source/particles/hadrons/mesons/src/G4AntiDMesonZero.cc index d3a8cc463b..db7b14b3de 100644 --- a/source/particles/hadrons/mesons/src/G4AntiDMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4AntiDMesonZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiDMesonZero.cc,v 1.18 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4AntiKaonZero.cc b/source/particles/hadrons/mesons/src/G4AntiKaonZero.cc index 8f455f8a2d..c524e96739 100644 --- a/source/particles/hadrons/mesons/src/G4AntiKaonZero.cc +++ b/source/particles/hadrons/mesons/src/G4AntiKaonZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiKaonZero.cc,v 1.15 2006/06/29 19:19:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4BMesonMinus.cc b/source/particles/hadrons/mesons/src/G4BMesonMinus.cc index fca4809964..27d70d3982 100644 --- a/source/particles/hadrons/mesons/src/G4BMesonMinus.cc +++ b/source/particles/hadrons/mesons/src/G4BMesonMinus.cc @@ -25,7 +25,7 @@ // // // $Id: G4BMesonMinus.cc,v 1.14 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4BMesonPlus.cc b/source/particles/hadrons/mesons/src/G4BMesonPlus.cc index d6363d8372..b973396eaa 100644 --- a/source/particles/hadrons/mesons/src/G4BMesonPlus.cc +++ b/source/particles/hadrons/mesons/src/G4BMesonPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4BMesonPlus.cc,v 1.14 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4BMesonZero.cc b/source/particles/hadrons/mesons/src/G4BMesonZero.cc index 6668612995..90bcbaadca 100644 --- a/source/particles/hadrons/mesons/src/G4BMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4BMesonZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4BMesonZero.cc,v 1.19 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4BsMesonZero.cc b/source/particles/hadrons/mesons/src/G4BsMesonZero.cc index 9d71c3d091..b90ff67031 100644 --- a/source/particles/hadrons/mesons/src/G4BsMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4BsMesonZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4BsMesonZero.cc,v 1.18 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4DMesonMinus.cc b/source/particles/hadrons/mesons/src/G4DMesonMinus.cc index b562500976..429cda5ef9 100644 --- a/source/particles/hadrons/mesons/src/G4DMesonMinus.cc +++ b/source/particles/hadrons/mesons/src/G4DMesonMinus.cc @@ -25,7 +25,7 @@ // // // $Id: G4DMesonMinus.cc,v 1.13 2006/06/29 19:19:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4DMesonPlus.cc b/source/particles/hadrons/mesons/src/G4DMesonPlus.cc index 9fab2a3f58..2b4ff5cde5 100644 --- a/source/particles/hadrons/mesons/src/G4DMesonPlus.cc +++ b/source/particles/hadrons/mesons/src/G4DMesonPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4DMesonPlus.cc,v 1.13 2006/06/29 19:19:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4DMesonZero.cc b/source/particles/hadrons/mesons/src/G4DMesonZero.cc index c6f521d84c..cf0c660554 100644 --- a/source/particles/hadrons/mesons/src/G4DMesonZero.cc +++ b/source/particles/hadrons/mesons/src/G4DMesonZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4DMesonZero.cc,v 1.19 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4DsMesonMinus.cc b/source/particles/hadrons/mesons/src/G4DsMesonMinus.cc index c63d8e9712..87213b788e 100644 --- a/source/particles/hadrons/mesons/src/G4DsMesonMinus.cc +++ b/source/particles/hadrons/mesons/src/G4DsMesonMinus.cc @@ -25,7 +25,7 @@ // // // $Id: G4DsMesonMinus.cc,v 1.13 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4DsMesonPlus.cc b/source/particles/hadrons/mesons/src/G4DsMesonPlus.cc index 96e2129c09..0be19ffca1 100644 --- a/source/particles/hadrons/mesons/src/G4DsMesonPlus.cc +++ b/source/particles/hadrons/mesons/src/G4DsMesonPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4DsMesonPlus.cc,v 1.13 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4Eta.cc b/source/particles/hadrons/mesons/src/G4Eta.cc index 9fa7471c90..4a839517ef 100644 --- a/source/particles/hadrons/mesons/src/G4Eta.cc +++ b/source/particles/hadrons/mesons/src/G4Eta.cc @@ -25,7 +25,7 @@ // // // $Id: G4Eta.cc,v 1.18 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4EtaPrime.cc b/source/particles/hadrons/mesons/src/G4EtaPrime.cc index 6168de2ab0..075553e700 100644 --- a/source/particles/hadrons/mesons/src/G4EtaPrime.cc +++ b/source/particles/hadrons/mesons/src/G4EtaPrime.cc @@ -25,7 +25,7 @@ // // // $Id: G4EtaPrime.cc,v 1.18 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4JPsi.cc b/source/particles/hadrons/mesons/src/G4JPsi.cc index ead217ad8d..256ea71a71 100644 --- a/source/particles/hadrons/mesons/src/G4JPsi.cc +++ b/source/particles/hadrons/mesons/src/G4JPsi.cc @@ -25,7 +25,7 @@ // // // $Id: G4JPsi.cc,v 1.17 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4KaonMinus.cc b/source/particles/hadrons/mesons/src/G4KaonMinus.cc index d0f9b3df08..80fbb49415 100644 --- a/source/particles/hadrons/mesons/src/G4KaonMinus.cc +++ b/source/particles/hadrons/mesons/src/G4KaonMinus.cc @@ -25,7 +25,7 @@ // // // $Id: G4KaonMinus.cc,v 1.14 2006/06/29 19:19:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4KaonPlus.cc b/source/particles/hadrons/mesons/src/G4KaonPlus.cc index 6d2ff58590..a865a6ed11 100644 --- a/source/particles/hadrons/mesons/src/G4KaonPlus.cc +++ b/source/particles/hadrons/mesons/src/G4KaonPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4KaonPlus.cc,v 1.13 2006/06/29 19:19:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4KaonZero.cc b/source/particles/hadrons/mesons/src/G4KaonZero.cc index 358316ad1b..45fc1b2c9b 100644 --- a/source/particles/hadrons/mesons/src/G4KaonZero.cc +++ b/source/particles/hadrons/mesons/src/G4KaonZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4KaonZero.cc,v 1.15 2006/06/29 19:19:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4KaonZeroLong.cc b/source/particles/hadrons/mesons/src/G4KaonZeroLong.cc index 58ac4dfa56..92e427298f 100644 --- a/source/particles/hadrons/mesons/src/G4KaonZeroLong.cc +++ b/source/particles/hadrons/mesons/src/G4KaonZeroLong.cc @@ -25,7 +25,7 @@ // // // $Id: G4KaonZeroLong.cc,v 1.18 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4KaonZeroShort.cc b/source/particles/hadrons/mesons/src/G4KaonZeroShort.cc index 345e3a1a45..791eb08908 100644 --- a/source/particles/hadrons/mesons/src/G4KaonZeroShort.cc +++ b/source/particles/hadrons/mesons/src/G4KaonZeroShort.cc @@ -25,7 +25,7 @@ // // // $Id: G4KaonZeroShort.cc,v 1.17 2006/06/29 19:19:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4MesonConstructor.cc b/source/particles/hadrons/mesons/src/G4MesonConstructor.cc index ea6057e2fb..344df0db7b 100644 --- a/source/particles/hadrons/mesons/src/G4MesonConstructor.cc +++ b/source/particles/hadrons/mesons/src/G4MesonConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4MesonConstructor.cc,v 1.5 2006/06/29 19:19:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4PionMinus.cc b/source/particles/hadrons/mesons/src/G4PionMinus.cc index bd75044373..1eb4002576 100644 --- a/source/particles/hadrons/mesons/src/G4PionMinus.cc +++ b/source/particles/hadrons/mesons/src/G4PionMinus.cc @@ -25,7 +25,7 @@ // // // $Id: G4PionMinus.cc,v 1.11 2006/06/29 19:19:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4PionPlus.cc b/source/particles/hadrons/mesons/src/G4PionPlus.cc index d6d87c5381..23d8a35d95 100644 --- a/source/particles/hadrons/mesons/src/G4PionPlus.cc +++ b/source/particles/hadrons/mesons/src/G4PionPlus.cc @@ -25,7 +25,7 @@ // // // $Id: G4PionPlus.cc,v 1.12 2006/06/29 19:20:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/hadrons/mesons/src/G4PionZero.cc b/source/particles/hadrons/mesons/src/G4PionZero.cc index 1377458ea5..cd67cc0ae3 100644 --- a/source/particles/hadrons/mesons/src/G4PionZero.cc +++ b/source/particles/hadrons/mesons/src/G4PionZero.cc @@ -25,7 +25,7 @@ // // // $Id: G4PionZero.cc,v 1.16 2006/06/29 19:20:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/leptons/include/G4AntiNeutrinoE.hh b/source/particles/leptons/include/G4AntiNeutrinoE.hh index 589524564e..fed60e90a9 100644 --- a/source/particles/leptons/include/G4AntiNeutrinoE.hh +++ b/source/particles/leptons/include/G4AntiNeutrinoE.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiNeutrinoE.hh,v 1.12 2006/06/29 19:20:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4AntiNeutrinoMu.hh b/source/particles/leptons/include/G4AntiNeutrinoMu.hh index 7a07388443..7549a18c8a 100644 --- a/source/particles/leptons/include/G4AntiNeutrinoMu.hh +++ b/source/particles/leptons/include/G4AntiNeutrinoMu.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiNeutrinoMu.hh,v 1.12 2006/06/29 19:20:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4AntiNeutrinoTau.hh b/source/particles/leptons/include/G4AntiNeutrinoTau.hh index fa299568e5..5cc9a20531 100644 --- a/source/particles/leptons/include/G4AntiNeutrinoTau.hh +++ b/source/particles/leptons/include/G4AntiNeutrinoTau.hh @@ -25,7 +25,7 @@ // // // $Id: G4AntiNeutrinoTau.hh,v 1.13 2006/06/29 19:20:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4Electron.hh b/source/particles/leptons/include/G4Electron.hh index 30eeeb8f15..9d0afb8108 100644 --- a/source/particles/leptons/include/G4Electron.hh +++ b/source/particles/leptons/include/G4Electron.hh @@ -25,7 +25,7 @@ // // // $Id: G4Electron.hh,v 1.12 2006/06/29 19:20:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4LeptonConstructor.hh b/source/particles/leptons/include/G4LeptonConstructor.hh index 7055fa6c01..54402ad634 100644 --- a/source/particles/leptons/include/G4LeptonConstructor.hh +++ b/source/particles/leptons/include/G4LeptonConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4LeptonConstructor.hh,v 1.6 2006/06/29 19:20:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/leptons/include/G4MuonMinus.hh b/source/particles/leptons/include/G4MuonMinus.hh index b234772837..bb2721567b 100644 --- a/source/particles/leptons/include/G4MuonMinus.hh +++ b/source/particles/leptons/include/G4MuonMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4MuonMinus.hh,v 1.11 2006/06/29 19:20:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4MuonPlus.hh b/source/particles/leptons/include/G4MuonPlus.hh index 983cbcd44c..c299d3af7a 100644 --- a/source/particles/leptons/include/G4MuonPlus.hh +++ b/source/particles/leptons/include/G4MuonPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4MuonPlus.hh,v 1.10 2006/06/29 19:20:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4NeutrinoE.hh b/source/particles/leptons/include/G4NeutrinoE.hh index f8fdc03391..0dbd245f7b 100644 --- a/source/particles/leptons/include/G4NeutrinoE.hh +++ b/source/particles/leptons/include/G4NeutrinoE.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutrinoE.hh,v 1.12 2006/06/29 19:20:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4NeutrinoMu.hh b/source/particles/leptons/include/G4NeutrinoMu.hh index 9dc50f3571..f9732a2aca 100644 --- a/source/particles/leptons/include/G4NeutrinoMu.hh +++ b/source/particles/leptons/include/G4NeutrinoMu.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutrinoMu.hh,v 1.12 2006/06/29 19:20:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4NeutrinoTau.hh b/source/particles/leptons/include/G4NeutrinoTau.hh index 2b86198e4c..138920bc33 100644 --- a/source/particles/leptons/include/G4NeutrinoTau.hh +++ b/source/particles/leptons/include/G4NeutrinoTau.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutrinoTau.hh,v 1.13 2006/06/29 19:20:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4Positron.hh b/source/particles/leptons/include/G4Positron.hh index 6f3743eb7e..9acf71d56a 100644 --- a/source/particles/leptons/include/G4Positron.hh +++ b/source/particles/leptons/include/G4Positron.hh @@ -25,7 +25,7 @@ // // // $Id: G4Positron.hh,v 1.11 2006/06/29 19:20:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4TauMinus.hh b/source/particles/leptons/include/G4TauMinus.hh index e0f198dfaf..e848df49d3 100644 --- a/source/particles/leptons/include/G4TauMinus.hh +++ b/source/particles/leptons/include/G4TauMinus.hh @@ -25,7 +25,7 @@ // // // $Id: G4TauMinus.hh,v 1.10 2006/06/29 19:20:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/include/G4TauPlus.hh b/source/particles/leptons/include/G4TauPlus.hh index 94d2ac11f8..19fc1cf999 100644 --- a/source/particles/leptons/include/G4TauPlus.hh +++ b/source/particles/leptons/include/G4TauPlus.hh @@ -25,7 +25,7 @@ // // // $Id: G4TauPlus.hh,v 1.10 2006/06/29 19:20:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/leptons/src/G4AntiNeutrinoE.cc b/source/particles/leptons/src/G4AntiNeutrinoE.cc index 6437c95191..4beb53089f 100644 --- a/source/particles/leptons/src/G4AntiNeutrinoE.cc +++ b/source/particles/leptons/src/G4AntiNeutrinoE.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiNeutrinoE.cc,v 1.15 2006/06/29 19:20:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/leptons/src/G4AntiNeutrinoMu.cc b/source/particles/leptons/src/G4AntiNeutrinoMu.cc index 666ec08494..4a648d6a4f 100644 --- a/source/particles/leptons/src/G4AntiNeutrinoMu.cc +++ b/source/particles/leptons/src/G4AntiNeutrinoMu.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiNeutrinoMu.cc,v 1.15 2006/06/29 19:20:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/leptons/src/G4AntiNeutrinoTau.cc b/source/particles/leptons/src/G4AntiNeutrinoTau.cc index bdd350d9c6..16b5b9df04 100644 --- a/source/particles/leptons/src/G4AntiNeutrinoTau.cc +++ b/source/particles/leptons/src/G4AntiNeutrinoTau.cc @@ -25,7 +25,7 @@ // // // $Id: G4AntiNeutrinoTau.cc,v 1.15 2006/06/29 19:20:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/leptons/src/G4Electron.cc b/source/particles/leptons/src/G4Electron.cc index 3e918c6cc8..d2a23d6253 100644 --- a/source/particles/leptons/src/G4Electron.cc +++ b/source/particles/leptons/src/G4Electron.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Electron.cc,v 1.12 2006/06/29 19:21:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Electron.cc,v 1.14 2007/03/15 06:53:57 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -71,6 +71,11 @@ G4Electron* G4Electron::Definition() true, -1.0, NULL, false, "e" ); + // Bohr Magnetron + G4double muB = -0.5*eplus*hbar_Planck/(0.51099906*MeV/c_squared) ; + + anInstance->SetPDGMagneticMoment( muB * 1.0011596521859 ); + } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/leptons/src/G4LeptonConstructor.cc b/source/particles/leptons/src/G4LeptonConstructor.cc index aa304cf886..bc4b7e575f 100644 --- a/source/particles/leptons/src/G4LeptonConstructor.cc +++ b/source/particles/leptons/src/G4LeptonConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4LeptonConstructor.cc,v 1.5 2006/06/29 19:21:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/leptons/src/G4MuonMinus.cc b/source/particles/leptons/src/G4MuonMinus.cc index 8787f1a7e5..8289cf9db1 100644 --- a/source/particles/leptons/src/G4MuonMinus.cc +++ b/source/particles/leptons/src/G4MuonMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4MuonMinus.cc,v 1.11 2006/06/29 19:21:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuonMinus.cc,v 1.13 2007/03/15 06:53:57 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -74,6 +74,11 @@ G4MuonMinus* G4MuonMinus::Definition() false, 2197.03*ns, NULL, false, "mu" ); + // Bohr Magnetron + G4double muB = -0.5*eplus*hbar_Planck/(0.1056584*GeV/c_squared) ; + + anInstance->SetPDGMagneticMoment( muB * 1.0011659208); + //create Decay Table G4DecayTable* table = new G4DecayTable(); diff --git a/source/particles/leptons/src/G4MuonPlus.cc b/source/particles/leptons/src/G4MuonPlus.cc index c4dbf51771..47515211b0 100644 --- a/source/particles/leptons/src/G4MuonPlus.cc +++ b/source/particles/leptons/src/G4MuonPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4MuonPlus.cc,v 1.11 2006/06/29 19:21:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuonPlus.cc,v 1.13 2007/03/15 06:53:58 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -74,6 +74,11 @@ G4MuonPlus* G4MuonPlus::Definition() false, 2197.03*ns, NULL, false, "mu" ); + // Bohr Magnetron + G4double muB = 0.5*eplus*hbar_Planck/(0.1056584*GeV/c_squared) ; + + anInstance->SetPDGMagneticMoment( muB * 1.0011659208); + //create Decay Table G4DecayTable* table = new G4DecayTable(); // create a decay channel diff --git a/source/particles/leptons/src/G4NeutrinoE.cc b/source/particles/leptons/src/G4NeutrinoE.cc index 68f8bc43e5..890464a111 100644 --- a/source/particles/leptons/src/G4NeutrinoE.cc +++ b/source/particles/leptons/src/G4NeutrinoE.cc @@ -25,7 +25,7 @@ // // // $Id: G4NeutrinoE.cc,v 1.15 2006/06/29 19:21:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/leptons/src/G4NeutrinoMu.cc b/source/particles/leptons/src/G4NeutrinoMu.cc index 529e873de8..60001bc024 100644 --- a/source/particles/leptons/src/G4NeutrinoMu.cc +++ b/source/particles/leptons/src/G4NeutrinoMu.cc @@ -25,7 +25,7 @@ // // // $Id: G4NeutrinoMu.cc,v 1.16 2006/06/29 19:22:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/leptons/src/G4NeutrinoTau.cc b/source/particles/leptons/src/G4NeutrinoTau.cc index 7dea04450c..a57c4a5c66 100644 --- a/source/particles/leptons/src/G4NeutrinoTau.cc +++ b/source/particles/leptons/src/G4NeutrinoTau.cc @@ -25,7 +25,7 @@ // // // $Id: G4NeutrinoTau.cc,v 1.15 2006/06/29 19:22:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/leptons/src/G4Positron.cc b/source/particles/leptons/src/G4Positron.cc index 8478ecf588..6c09ce7201 100644 --- a/source/particles/leptons/src/G4Positron.cc +++ b/source/particles/leptons/src/G4Positron.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Positron.cc,v 1.11 2006/06/29 19:22:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Positron.cc,v 1.13 2007/03/15 06:53:58 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -71,6 +71,12 @@ G4Positron* G4Positron::Definition() true, -1.0, NULL, false, "e" ); + + // Bohr Magnetron + G4double muB = 0.5*eplus*hbar_Planck/(0.51099906*MeV/c_squared) ; + + anInstance->SetPDGMagneticMoment( muB * 1.0011596521859 ); + } theInstance = reinterpret_cast(anInstance); return theInstance; diff --git a/source/particles/leptons/src/G4TauMinus.cc b/source/particles/leptons/src/G4TauMinus.cc index cde2187147..a2f6c16663 100644 --- a/source/particles/leptons/src/G4TauMinus.cc +++ b/source/particles/leptons/src/G4TauMinus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TauMinus.cc,v 1.14 2006/06/29 19:22:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4TauMinus.cc,v 1.16 2007/03/15 06:53:58 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -77,6 +77,11 @@ G4TauMinus* G4TauMinus::Definition() false, "tau" ); + // Bohr Magnetron + G4double muB = -0.5*eplus*hbar_Planck/(1.77699*GeV/c_squared) ; + + anInstance->SetPDGMagneticMoment( muB * 1.00116); + //create Decay Table G4DecayTable* table = new G4DecayTable(); diff --git a/source/particles/leptons/src/G4TauPlus.cc b/source/particles/leptons/src/G4TauPlus.cc index f461369876..2e3d2c2f54 100644 --- a/source/particles/leptons/src/G4TauPlus.cc +++ b/source/particles/leptons/src/G4TauPlus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TauPlus.cc,v 1.14 2006/06/29 19:22:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4TauPlus.cc,v 1.16 2007/03/15 06:53:58 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -76,6 +76,10 @@ G4TauPlus* G4TauPlus::Definition() false, 290.6e-6*ns, NULL, false, "tau" ); + // Bohr Magnetron + G4double muB = 0.5*eplus*hbar_Planck/(1.77699*GeV/c_squared) ; + + anInstance->SetPDGMagneticMoment( muB * 1.00116); //create Decay Table G4DecayTable* table = new G4DecayTable(); diff --git a/source/particles/management/include/G4DalitzDecayChannel.hh b/source/particles/management/include/G4DalitzDecayChannel.hh index 3aa939bb71..307360fa89 100644 --- a/source/particles/management/include/G4DalitzDecayChannel.hh +++ b/source/particles/management/include/G4DalitzDecayChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4DalitzDecayChannel.hh,v 1.5 2006/06/29 19:22:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4DecayProducts.hh b/source/particles/management/include/G4DecayProducts.hh index adb6bed0df..4aab2458a2 100644 --- a/source/particles/management/include/G4DecayProducts.hh +++ b/source/particles/management/include/G4DecayProducts.hh @@ -25,7 +25,7 @@ // // // $Id: G4DecayProducts.hh,v 1.12 2006/06/29 19:22:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4DecayTable.hh b/source/particles/management/include/G4DecayTable.hh index 5ddfecd847..cf26bafa70 100644 --- a/source/particles/management/include/G4DecayTable.hh +++ b/source/particles/management/include/G4DecayTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4DecayTable.hh,v 1.9 2006/06/29 19:22:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4DecayTableMessenger.hh b/source/particles/management/include/G4DecayTableMessenger.hh index 689f153c17..04f564b324 100644 --- a/source/particles/management/include/G4DecayTableMessenger.hh +++ b/source/particles/management/include/G4DecayTableMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4DecayTableMessenger.hh,v 1.8 2006/06/29 19:22:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/include/G4DynamicParticle.hh b/source/particles/management/include/G4DynamicParticle.hh index ed6a10af29..2908eb4d98 100644 --- a/source/particles/management/include/G4DynamicParticle.hh +++ b/source/particles/management/include/G4DynamicParticle.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DynamicParticle.hh,v 1.17 2006/06/29 19:23:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4DynamicParticle.hh,v 1.18 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -43,6 +43,7 @@ // Add theDynamicCharge and theElectronOccupancy // 17 AUg. 1999 H.Kurashige // Add thePreAssignedDecayTime 18 Jan. 2001 H.Kurashige +// Added MagneticMoment Mar. 2007 // ------------------------------------------------------------ #ifndef G4DynamicParticle_h @@ -160,6 +161,18 @@ class G4DynamicParticle // set/get dynamical charge // the dynamical mass is set to PDG charge in default + G4double GetSpin() const; + void SetSpin(G4double spin); + void SetSpin(G4int spinInUnitOfHalfInteger); + // set/get dynamical spin + // the dynamical spin is set to PDG spin in default + + G4double GetMagneticMoment() const; + void SetMagneticMoment(G4double magneticMoment); + // set/get dynamical MagneticMoment + // the dynamical mass is set to PDG MagneticMoment in default + + const G4ElectronOccupancy* GetElectronOccupancy() const; // Get electron occupancy // ElectronOccupancy is valid only if the particle is ion @@ -208,6 +221,10 @@ class G4DynamicParticle G4double theDynamicalCharge; + G4double theDynamicalSpin; + + G4double theDynamicalMagneticMoment; + G4ElectronOccupancy* theElectronOccupancy; G4DecayProducts *thePreAssignedDecayProducts; diff --git a/source/particles/management/include/G4DynamicParticle.icc b/source/particles/management/include/G4DynamicParticle.icc index d14f645c12..e30e1366f2 100644 --- a/source/particles/management/include/G4DynamicParticle.icc +++ b/source/particles/management/include/G4DynamicParticle.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DynamicParticle.icc,v 1.15 2006/06/29 19:23:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4DynamicParticle.icc,v 1.16 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -124,6 +124,32 @@ inline G4double G4DynamicParticle::GetMass() const return theDynamicalMass; } + +inline G4double G4DynamicParticle::GetSpin() const +{ + return theDynamicalSpin; +} + +inline void G4DynamicParticle::SetSpin(G4double spin) +{ + theDynamicalSpin = spin; +} + +inline void G4DynamicParticle::SetSpin(G4int spinInUnitOfHalfInteger) +{ + theDynamicalSpin = spinInUnitOfHalfInteger * 0.5; +} + +inline G4double G4DynamicParticle::GetMagneticMoment() const +{ + return theDynamicalMagneticMoment; +} + +inline void G4DynamicParticle::SetMagneticMoment(G4double magneticMoment) +{ + theDynamicalMagneticMoment = magneticMoment; +} + inline void G4DynamicParticle::SetMass(G4double newMass) { theDynamicalMass = newMass; diff --git a/source/particles/management/include/G4DynamicParticleFastVector.hh b/source/particles/management/include/G4DynamicParticleFastVector.hh index 1d04657a7a..5028fc596f 100644 --- a/source/particles/management/include/G4DynamicParticleFastVector.hh +++ b/source/particles/management/include/G4DynamicParticleFastVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4DynamicParticleFastVector.hh,v 1.4 2006/06/29 19:23:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ElectronOccupancy.hh b/source/particles/management/include/G4ElectronOccupancy.hh index 509bedc0f1..133af8b28f 100644 --- a/source/particles/management/include/G4ElectronOccupancy.hh +++ b/source/particles/management/include/G4ElectronOccupancy.hh @@ -25,7 +25,7 @@ // // // $Id: G4ElectronOccupancy.hh,v 1.9 2006/06/29 19:23:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4IonTable.hh b/source/particles/management/include/G4IonTable.hh index b3563d1ca9..a9030ae6e7 100644 --- a/source/particles/management/include/G4IonTable.hh +++ b/source/particles/management/include/G4IonTable.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IonTable.hh,v 1.23 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4IonTable.hh,v 1.24 2007/03/15 06:53:27 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -86,7 +86,7 @@ class G4IonTable // Register Isotope table void RegisterIsotopeTable(G4VIsotopeTable* table); - G4VIsotopeTable* GetIsotopeTable() const; + G4VIsotopeTable* GetIsotopeTable(size_t idx=0) const; // G4IonTable asks properties of isotopes to this G4VIsotopeTable // by using FindIsotope(G4IsotopeProperty* property) method. @@ -191,9 +191,10 @@ class G4IonTable private: G4IonList* fIonList; - G4VIsotopeTable* fIsotopeTable; + std::vector *fIsotopeTableList; + - enum { numberOfElements = 110}; + enum { numberOfElements = 118}; static const G4String elementName[numberOfElements]; }; diff --git a/source/particles/management/include/G4Ions.hh b/source/particles/management/include/G4Ions.hh index 00c5f2d8c0..82da742d7c 100644 --- a/source/particles/management/include/G4Ions.hh +++ b/source/particles/management/include/G4Ions.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Ions.hh,v 1.13 2006/06/29 19:23:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Ions.hh,v 1.14 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4IsotopeProperty.hh b/source/particles/management/include/G4IsotopeProperty.hh index 6267a50f12..5911307eed 100644 --- a/source/particles/management/include/G4IsotopeProperty.hh +++ b/source/particles/management/include/G4IsotopeProperty.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IsotopeProperty.hh,v 1.4 2006/06/29 19:23:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4IsotopeProperty.hh,v 1.5 2007/03/15 06:53:27 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -33,6 +33,7 @@ // // ------------------------------------------------------------ // New design using G4VIsotopeTable 5 Oct. 99 H.Kurashige +// Add Magnetic Moment 14 Mar 07 H.Kurashige #ifndef G4IsotopeProperty_h #define G4IsotopeProperty_h 1 @@ -75,6 +76,10 @@ class G4IsotopeProperty G4int GetiSpin() const; void SetiSpin(G4int J); + // Set/Get Magentic Moment + G4double GetMagneticMoment() const; + void SetMagneticMoment(G4double M); + // Set/Get Excited Energy G4double GetEnergy() const; void SetEnergy(G4double E); @@ -91,12 +96,13 @@ class G4IsotopeProperty void DumpInfo() const; private: - G4int fAtomicNumber; // number of proton - G4int fAtomicMass; // number of nucleon - G4int fISpin; // total angular momentum (in unit of 1/2) - G4double fEnergy; // excited energy - G4double fLifeTime; // lifeTime - G4DecayTable* fDecayTable; // decay Table + G4int fAtomicNumber; // number of proton + G4int fAtomicMass; // number of nucleon + G4int fISpin; // total angular momentum (in unit of 1/2) + G4double fEnergy; // excited energy + G4double fLifeTime; // lifeTime + G4DecayTable* fDecayTable; // decay Table + G4double fMagneticMoment; // magnetic moment }; inline @@ -135,6 +141,18 @@ inline fISpin = J; } +inline + G4double G4IsotopeProperty::GetMagneticMoment() const +{ + return fMagneticMoment; +} + +inline + void G4IsotopeProperty::SetMagneticMoment(G4double M) +{ + fMagneticMoment = M; +} + inline G4double G4IsotopeProperty::GetEnergy() const { diff --git a/source/particles/management/include/G4KL3DecayChannel.hh b/source/particles/management/include/G4KL3DecayChannel.hh index b65c6615da..c26c531b6e 100644 --- a/source/particles/management/include/G4KL3DecayChannel.hh +++ b/source/particles/management/include/G4KL3DecayChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4KL3DecayChannel.hh,v 1.5 2006/06/29 19:23:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4MuonDecayChannel.hh b/source/particles/management/include/G4MuonDecayChannel.hh index 32c8b747eb..5e0f63d065 100644 --- a/source/particles/management/include/G4MuonDecayChannel.hh +++ b/source/particles/management/include/G4MuonDecayChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4MuonDecayChannel.hh,v 1.6 2006/06/29 19:23:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4NeutronBetaDecayChannel.hh b/source/particles/management/include/G4NeutronBetaDecayChannel.hh index ebbcb42877..29dc05e4a8 100644 --- a/source/particles/management/include/G4NeutronBetaDecayChannel.hh +++ b/source/particles/management/include/G4NeutronBetaDecayChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronBetaDecayChannel.hh,v 1.2 2006/06/29 19:23:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4NucleiProperties.hh b/source/particles/management/include/G4NucleiProperties.hh index ba49eca301..442fd0b757 100644 --- a/source/particles/management/include/G4NucleiProperties.hh +++ b/source/particles/management/include/G4NucleiProperties.hh @@ -25,7 +25,7 @@ // // // $Id: G4NucleiProperties.hh,v 1.14 2006/06/29 19:23:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4NucleiPropertiesTable.hh b/source/particles/management/include/G4NucleiPropertiesTable.hh index d536002c7f..bfab12e0e1 100644 --- a/source/particles/management/include/G4NucleiPropertiesTable.hh +++ b/source/particles/management/include/G4NucleiPropertiesTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4NucleiPropertiesTable.hh,v 1.13 2006/06/29 19:23:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // GEANT 4 class file --- Copyright CERN 1997 diff --git a/source/particles/management/include/G4NucleiPropertiesTheoreticalTable.hh b/source/particles/management/include/G4NucleiPropertiesTheoreticalTable.hh index 86026192b7..576e0c1cd0 100644 --- a/source/particles/management/include/G4NucleiPropertiesTheoreticalTable.hh +++ b/source/particles/management/include/G4NucleiPropertiesTheoreticalTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4NucleiPropertiesTheoreticalTable.hh,v 1.7 2006/06/29 19:23:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4PDGCodeChecker.hh b/source/particles/management/include/G4PDGCodeChecker.hh index c8088d865e..7f7643e964 100644 --- a/source/particles/management/include/G4PDGCodeChecker.hh +++ b/source/particles/management/include/G4PDGCodeChecker.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PDGCodeChecker.hh,v 1.7 2006/06/29 19:24:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PDGCodeChecker.hh,v 1.8 2007/05/30 08:30:13 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -130,11 +130,11 @@ inline inline G4int G4PDGCodeChecker::GetQuarkFlavor(G4int idx) const { - G4int value = -1; + G4int value; if (idx ==0) value = quark1; else if (idx ==1) value = quark2; else if (idx ==2) value = quark3; - else ; + else value = -1; return value; } diff --git a/source/particles/management/include/G4ParticleDefinition.hh b/source/particles/management/include/G4ParticleDefinition.hh index b8e0858f83..a78236cf4e 100644 --- a/source/particles/management/include/G4ParticleDefinition.hh +++ b/source/particles/management/include/G4ParticleDefinition.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleDefinition.hh,v 1.30 2006/06/29 19:24:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ParticleDefinition.hh,v 1.31 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -48,6 +48,7 @@ // added sub-type H.Kurashige 15 Feb. 2000 // added RestoreCuts H.Kurashige 09 Mar. 2001 // restructuring for Cuts per Region by Hisaya 11 MAr.2003 +// added MagneticMoment Mar. 2007 // ------------------------------------------------------------ #ifndef G4ParticleDefinition_h @@ -101,7 +102,8 @@ class G4ParticleDefinition G4DecayTable *decaytable, G4bool shortlived = false, const G4String& subType ="", - G4int anti_encoding =0); + G4int anti_encoding =0, + G4double magneticMoment = 0.0); virtual ~G4ParticleDefinition(); @@ -124,6 +126,9 @@ class G4ParticleDefinition G4int GetPDGiIsospin() const { return thePDGiIsospin; } G4int GetPDGiIsospin3() const { return thePDGiIsospin3; } G4int GetPDGiGParity() const { return thePDGiGParity; } + + G4double GetPDGMagneticMoment() const { return thePDGMagneticMoment; } + void SetPDGMagneticMoment(G4double mageticMoment); const G4String& GetParticleType() const { return theParticleType; } const G4String& GetParticleSubType() const { return theParticleSubType; } @@ -141,6 +146,7 @@ class G4ParticleDefinition // The value of flavor is assigned as follows // 1:d, 2:u, 3:s, 4:c, 5:b, 6:t + public: // With Description // ShortLived flag G4bool IsShortLived() const { return fShortLivedFlag; } @@ -254,6 +260,9 @@ class G4ParticleDefinition G4double thePDGIsospin; G4double thePDGIsospin3; // The isospin quantum number in units of 1. + + G4double thePDGMagneticMoment; + // The magnetic moment. G4int theLeptonNumber; // The lepton quantum number. diff --git a/source/particles/management/include/G4ParticleDefinition.icc b/source/particles/management/include/G4ParticleDefinition.icc index b5d7ebe143..ef7a5fceea 100644 --- a/source/particles/management/include/G4ParticleDefinition.icc +++ b/source/particles/management/include/G4ParticleDefinition.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleDefinition.icc,v 1.11 2006/06/29 19:24:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ParticleDefinition.icc,v 1.12 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // inline @@ -105,6 +105,7 @@ inline return content; } + inline void G4ParticleDefinition::SetParticleSubType(const G4String& subtype) { @@ -147,3 +148,10 @@ inline return theAtomicMass; } +inline + void G4ParticleDefinition::SetPDGMagneticMoment(G4double magneticMoment) +{ + thePDGMagneticMoment = magneticMoment; +} + + diff --git a/source/particles/management/include/G4ParticleMessenger.hh b/source/particles/management/include/G4ParticleMessenger.hh index 991195b8e4..3166ebe162 100644 --- a/source/particles/management/include/G4ParticleMessenger.hh +++ b/source/particles/management/include/G4ParticleMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleMessenger.hh,v 1.7 2006/06/29 19:24:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/include/G4ParticleMomentum.hh b/source/particles/management/include/G4ParticleMomentum.hh index 30155f4bc8..f720b8448c 100644 --- a/source/particles/management/include/G4ParticleMomentum.hh +++ b/source/particles/management/include/G4ParticleMomentum.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleMomentum.hh,v 1.6 2006/06/29 19:24:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ParticlePropertyData.hh b/source/particles/management/include/G4ParticlePropertyData.hh index 74ba768448..8137ba9766 100644 --- a/source/particles/management/include/G4ParticlePropertyData.hh +++ b/source/particles/management/include/G4ParticlePropertyData.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticlePropertyData.hh,v 1.2 2006/06/29 19:24:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ParticlePropertyData.hh,v 1.3 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -34,6 +34,7 @@ // History: // ---------------- G4ParticlePropertyData ---------------- // first implementation by H Kurashige 9 June 2003 +// Add magnetic moment by H Kurashige Mar 2007 // ------------------------------------------------------------ #ifndef G4ParticlePropertyData_h @@ -83,7 +84,9 @@ class G4ParticlePropertyData G4int GetPDGiIsospin() const { return thePDGiIsospin; } G4int GetPDGiIsospin3() const { return thePDGiIsospin3; } G4int GetPDGiGParity() const { return thePDGiGParity; } - + + G4double GetPDGMagneticMoment() const { return thePDGMagneticMoment; } + G4int GetLeptonNumber() const { return theLeptonNumber; } G4int GetBaryonNumber() const { return theBaryonNumber; } @@ -109,6 +112,8 @@ class G4ParticlePropertyData void SetPDGiIsospin(G4int newIsospin); void SetPDGiIsospin3(G4int newIsospin3); void SetPDGiGParity(G4int newGParity); + + void SetPDGMagneticMoment(G4double mageticMoment); void SetLeptonNumber(G4int newLeptonNumber); void SetBaryonNumber(G4int newBaryonNumber); @@ -170,6 +175,9 @@ class G4ParticlePropertyData G4int thePDGiIsospin3; // The isospin and its 3rd-component in units of 1/2. + G4double thePDGMagneticMoment; + // The magnetic moment. + G4int theLeptonNumber; // The lepton quantum number. @@ -202,6 +210,7 @@ class G4ParticlePropertyData G4bool fPDGiIsospin3Modified; G4bool fPDGIsospinModified; G4bool fPDGIsospin3Modified; + G4bool fPDGMagneticMomentModified; G4bool fLeptonNumberModified; G4bool fBaryonNumberModified; G4bool fPDGEncodingModified; diff --git a/source/particles/management/include/G4ParticlePropertyData.icc b/source/particles/management/include/G4ParticlePropertyData.icc index 4001699c72..ecb46e5a93 100644 --- a/source/particles/management/include/G4ParticlePropertyData.icc +++ b/source/particles/management/include/G4ParticlePropertyData.icc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4ParticlePropertyData.icc,v 1.2 2006/06/29 19:24:12 gunter Exp $ +// $Id: G4ParticlePropertyData.icc,v 1.3 2007/03/11 07:17:35 kurasige Exp $ // inline @@ -131,7 +131,14 @@ inline thePDGiIsospin3 = newIsospin3; fPDGiIsospin3Modified = true; } - + +inline + void G4ParticlePropertyData::SetPDGMagneticMoment(G4double mageticMoment) +{ + thePDGMagneticMoment = mageticMoment; + fPDGMagneticMomentModified = true; +} + inline void G4ParticlePropertyData::SetPDGiGParity(G4int newGParity) { diff --git a/source/particles/management/include/G4ParticlePropertyMessenger.hh b/source/particles/management/include/G4ParticlePropertyMessenger.hh index 21d7064bca..efe04a70a4 100644 --- a/source/particles/management/include/G4ParticlePropertyMessenger.hh +++ b/source/particles/management/include/G4ParticlePropertyMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticlePropertyMessenger.hh,v 1.7 2006/06/29 19:24:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/include/G4ParticlePropertyTable.hh b/source/particles/management/include/G4ParticlePropertyTable.hh index bc46db87ab..82911d1614 100644 --- a/source/particles/management/include/G4ParticlePropertyTable.hh +++ b/source/particles/management/include/G4ParticlePropertyTable.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ParticlePropertyTable.hh,v 1.4 2006/06/29 19:24:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ParticleTable.hh b/source/particles/management/include/G4ParticleTable.hh index b60e956901..2c99b03d91 100644 --- a/source/particles/management/include/G4ParticleTable.hh +++ b/source/particles/management/include/G4ParticleTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleTable.hh,v 1.18 2006/06/29 19:24:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ParticleTable.icc b/source/particles/management/include/G4ParticleTable.icc index c5c245dd9f..73a838e992 100644 --- a/source/particles/management/include/G4ParticleTable.icc +++ b/source/particles/management/include/G4ParticleTable.icc @@ -25,7 +25,7 @@ // // // $Id: G4ParticleTable.icc,v 1.10 2006/06/29 19:24:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ParticleTableIterator.hh b/source/particles/management/include/G4ParticleTableIterator.hh index 177cd9153e..74c794d106 100644 --- a/source/particles/management/include/G4ParticleTableIterator.hh +++ b/source/particles/management/include/G4ParticleTableIterator.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleTableIterator.hh,v 1.7 2006/06/29 19:24:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4ParticleWithCuts.hh b/source/particles/management/include/G4ParticleWithCuts.hh index 70cd4d8663..cc67232deb 100644 --- a/source/particles/management/include/G4ParticleWithCuts.hh +++ b/source/particles/management/include/G4ParticleWithCuts.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleWithCuts.hh,v 1.19 2006/06/29 19:24:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------- diff --git a/source/particles/management/include/G4PhaseSpaceDecayChannel.hh b/source/particles/management/include/G4PhaseSpaceDecayChannel.hh index 1905f2afe0..067b620545 100644 --- a/source/particles/management/include/G4PhaseSpaceDecayChannel.hh +++ b/source/particles/management/include/G4PhaseSpaceDecayChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4PhaseSpaceDecayChannel.hh,v 1.6 2006/06/29 19:24:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4PrimaryParticle.hh b/source/particles/management/include/G4PrimaryParticle.hh index 14679a1898..c40e9c7be7 100644 --- a/source/particles/management/include/G4PrimaryParticle.hh +++ b/source/particles/management/include/G4PrimaryParticle.hh @@ -25,7 +25,7 @@ // // // $Id: G4PrimaryParticle.hh,v 1.4 2006/09/28 14:29:43 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/particles/management/include/G4PrimaryVertex.hh b/source/particles/management/include/G4PrimaryVertex.hh index e48ec36073..7ae6330e56 100644 --- a/source/particles/management/include/G4PrimaryVertex.hh +++ b/source/particles/management/include/G4PrimaryVertex.hh @@ -25,7 +25,7 @@ // // // $Id: G4PrimaryVertex.hh,v 1.4 2006/07/20 15:14:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/particles/management/include/G4ShortLivedTable.hh b/source/particles/management/include/G4ShortLivedTable.hh index 67f0cba914..0d727167b3 100644 --- a/source/particles/management/include/G4ShortLivedTable.hh +++ b/source/particles/management/include/G4ShortLivedTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4ShortLivedTable.hh,v 1.12 2006/06/29 19:24:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4TauLeptonicDecayChannel.hh b/source/particles/management/include/G4TauLeptonicDecayChannel.hh index ecdab9694f..9dd2e41058 100644 --- a/source/particles/management/include/G4TauLeptonicDecayChannel.hh +++ b/source/particles/management/include/G4TauLeptonicDecayChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4TauLeptonicDecayChannel.hh,v 1.2 2006/06/29 19:24:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4VDecayChannel.hh b/source/particles/management/include/G4VDecayChannel.hh index ff47754bfb..7a99a37a23 100644 --- a/source/particles/management/include/G4VDecayChannel.hh +++ b/source/particles/management/include/G4VDecayChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4VDecayChannel.hh,v 1.12 2006/06/29 19:24:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4VIsotopeTable.hh b/source/particles/management/include/G4VIsotopeTable.hh index a4189ebcdd..ac206549a0 100644 --- a/source/particles/management/include/G4VIsotopeTable.hh +++ b/source/particles/management/include/G4VIsotopeTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4VIsotopeTable.hh,v 1.6 2006/06/29 19:24:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/include/G4VUserPrimaryParticleInformation.hh b/source/particles/management/include/G4VUserPrimaryParticleInformation.hh index ad21afd796..fd95e8b07d 100644 --- a/source/particles/management/include/G4VUserPrimaryParticleInformation.hh +++ b/source/particles/management/include/G4VUserPrimaryParticleInformation.hh @@ -25,7 +25,7 @@ // // // $Id: G4VUserPrimaryParticleInformation.hh,v 1.2 2006/06/29 19:24:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/include/G4VUserPrimaryVertexInformation.hh b/source/particles/management/include/G4VUserPrimaryVertexInformation.hh index 3e8259ad1b..46a8b41ca7 100644 --- a/source/particles/management/include/G4VUserPrimaryVertexInformation.hh +++ b/source/particles/management/include/G4VUserPrimaryVertexInformation.hh @@ -25,7 +25,7 @@ // // // $Id: G4VUserPrimaryVertexInformation.hh,v 1.2 2006/06/29 19:24:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/src/G4DalitzDecayChannel.cc b/source/particles/management/src/G4DalitzDecayChannel.cc index 081aa89c2a..e445e3b81a 100644 --- a/source/particles/management/src/G4DalitzDecayChannel.cc +++ b/source/particles/management/src/G4DalitzDecayChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4DalitzDecayChannel.cc,v 1.8 2006/06/29 19:24:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4DecayProducts.cc b/source/particles/management/src/G4DecayProducts.cc index 9caed4d8a2..c2899c5a5c 100644 --- a/source/particles/management/src/G4DecayProducts.cc +++ b/source/particles/management/src/G4DecayProducts.cc @@ -25,7 +25,7 @@ // // // $Id: G4DecayProducts.cc,v 1.15 2007/05/07 10:04:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4DecayTable.cc b/source/particles/management/src/G4DecayTable.cc index bceb86d61e..8897a4c495 100644 --- a/source/particles/management/src/G4DecayTable.cc +++ b/source/particles/management/src/G4DecayTable.cc @@ -25,7 +25,7 @@ // // // $Id: G4DecayTable.cc,v 1.8 2006/06/29 19:25:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4DecayTableMessenger.cc b/source/particles/management/src/G4DecayTableMessenger.cc index ba15c54397..ba3d32cca5 100644 --- a/source/particles/management/src/G4DecayTableMessenger.cc +++ b/source/particles/management/src/G4DecayTableMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4DecayTableMessenger.cc,v 1.6 2006/06/29 19:25:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/src/G4DynamicParticle.cc b/source/particles/management/src/G4DynamicParticle.cc index 7af7551cf3..2a6295ce3a 100644 --- a/source/particles/management/src/G4DynamicParticle.cc +++ b/source/particles/management/src/G4DynamicParticle.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4DynamicParticle.cc,v 1.24 2006/06/29 19:25:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4DynamicParticle.cc,v 1.25 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- @@ -108,6 +108,7 @@ G4DynamicParticle::G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, // set dynamic charge/mass theDynamicalMass = aParticleDefinition->GetPDGMass(); theDynamicalCharge = aParticleDefinition->GetPDGCharge(); + theDynamicalMagneticMoment = aParticleDefinition->GetPDGMagneticMoment(); AllocateElectronOccupancy(); } @@ -125,6 +126,7 @@ G4DynamicParticle::G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, // set dynamic charge/mass theDynamicalMass = aParticleDefinition->GetPDGMass(); theDynamicalCharge = aParticleDefinition->GetPDGCharge(); + theDynamicalMagneticMoment = aParticleDefinition->GetPDGMagneticMoment(); AllocateElectronOccupancy(); // 3-dim momentum is given @@ -156,6 +158,7 @@ G4DynamicParticle::G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, // set dynamic charge/mass theDynamicalMass = aParticleDefinition->GetPDGMass(); theDynamicalCharge = aParticleDefinition->GetPDGCharge(); + theDynamicalMagneticMoment = aParticleDefinition->GetPDGMagneticMoment(); AllocateElectronOccupancy(); // 4-momentum vector (Lorentz vecotr) is given @@ -197,8 +200,9 @@ G4DynamicParticle::G4DynamicParticle(G4ParticleDefinition * aParticleDefinition, // set dynamic charge/mass theDynamicalMass = aParticleDefinition->GetPDGMass(); theDynamicalCharge = aParticleDefinition->GetPDGCharge(); + theDynamicalMagneticMoment = aParticleDefinition->GetPDGMagneticMoment(); AllocateElectronOccupancy(); - + // total energy and momentum direction are given G4double pModule2 = aParticleMomentum.mag2(); if (pModule2>0.0) { @@ -226,6 +230,8 @@ G4DynamicParticle::G4DynamicParticle(const G4DynamicParticle &right) { theDynamicalMass = right.theDynamicalMass; theDynamicalCharge = right.theDynamicalCharge; + theDynamicalMagneticMoment = right.theDynamicalMagneticMoment; + if (right.theElectronOccupancy != 0){ theElectronOccupancy = new G4ElectronOccupancy(*right.theElectronOccupancy); @@ -272,6 +278,8 @@ G4DynamicParticle & G4DynamicParticle::operator=(const G4DynamicParticle &right) if (this != &right) { theDynamicalMass = right.theDynamicalMass; theDynamicalCharge = right.theDynamicalCharge; + theDynamicalMagneticMoment = right.theDynamicalMagneticMoment; + if (theElectronOccupancy != 0) delete theElectronOccupancy; if (right.theElectronOccupancy != 0){ theElectronOccupancy = @@ -313,6 +321,7 @@ void G4DynamicParticle::SetDefinition(G4ParticleDefinition * aParticleDefinition // set Dynamic mass/chrge theDynamicalMass = theParticleDefinition->GetPDGMass(); theDynamicalCharge = theParticleDefinition->GetPDGCharge(); + theDynamicalMagneticMoment = theParticleDefinition->GetPDGMagneticMoment(); // Set electron orbits if (theElectronOccupancy != 0) delete theElectronOccupancy; @@ -419,7 +428,9 @@ void G4DynamicParticle::DumpInfo(G4int mode) const << GetMomentum().z() /GeV << "[GeV]" << G4endl << " Total Energy = " << GetTotalEnergy()/GeV << "[GeV]" << G4endl << " Kinetic Energy = " << GetKineticEnergy() /GeV << "[GeV]" << G4endl + << " MagneticMoment [MeV/T]: " << GetMagneticMoment()/MeV*tesla << G4endl << " ProperTime = " << GetProperTime() /ns << "[ns]" << G4endl; + if (mode>0) { if( theElectronOccupancy != 0) { theElectronOccupancy->DumpInfo(); diff --git a/source/particles/management/src/G4ElectronOccupancy.cc b/source/particles/management/src/G4ElectronOccupancy.cc index 90a83eb637..4ef55469f7 100644 --- a/source/particles/management/src/G4ElectronOccupancy.cc +++ b/source/particles/management/src/G4ElectronOccupancy.cc @@ -25,7 +25,7 @@ // // // $Id: G4ElectronOccupancy.cc,v 1.9 2006/06/29 19:25:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/management/src/G4IonTable.cc b/source/particles/management/src/G4IonTable.cc index a05a5430e4..26a309f986 100644 --- a/source/particles/management/src/G4IonTable.cc +++ b/source/particles/management/src/G4IonTable.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IonTable.cc,v 1.43 2006/11/15 09:57:52 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4IonTable.cc,v 1.46 2007/05/03 14:02:09 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- @@ -66,40 +66,27 @@ G4IonTable::G4IonTable() { fIonList = new G4IonList(); - fIsotopeTable = 0; + fIsotopeTableList = new std::vector; } //////////////////// G4IonTable::~G4IonTable() { // delete IsotopeTable if exists - if (fIsotopeTable != 0) delete fIsotopeTable; - fIsotopeTable =0; + if (fIsotopeTableList != 0) { + for (size_t i = 0; i< fIsotopeTableList->size(); ++i) { + G4VIsotopeTable* fIsotopeTable= (*fIsotopeTableList)[i]; + delete fIsotopeTable; + } + fIsotopeTableList->clear(); + } + delete fIsotopeTableList; + fIsotopeTableList =0; + if (fIonList ==0) return; - - // No need to delete here because all particles are dynamic objects - // - // delete ion objects - //G4ParticleDefinition* particle; - //G4IonList::reverse_iterator i; - //for (i = fIonList->rbegin(); i!= fIonList->rend(); ++i) { - // particle = *i; - // - //if ( !IsLightIon(particle) ) { - // delete if not static objects -#ifdef G4VERBOSE - // G4String name; - // if (GetVerboseLevel()>1) { - // G4cout << "G4IonTable:~IonTable() : delete ion of " ; - // G4cout << particle->GetParticleName() << G4endl; - // } -#endif - // delete particle; - // } - //} - // remove all contents in the Ion List + // No need to delete here because all particles are dynamic objects fIonList->clear(); delete fIonList; @@ -145,18 +132,20 @@ G4ParticleDefinition* G4IonTable::CreateIon(G4int Z, G4int A, G4double E, G4int G4double life = -1.0; G4DecayTable* decayTable =0; G4bool stable = true; + G4double mu = 0.0; G4IsotopeProperty* fProperty = FindIsotope(Z, A, E, J); if (fProperty !=0 ){ - J = fProperty->GetiSpin(); - E = fProperty->GetEnergy(); + E = fProperty->GetEnergy(); + J = fProperty->GetiSpin(); life = fProperty->GetLifeTime(); + mu = fProperty->GetMagneticMoment(); decayTable = fProperty->GetDecayTable(); } - stable = (life <= 0.); + stable = life <= 0.; G4double mass = GetNucleusMass(Z, A)+ E; G4double charge = G4double(Z)*eplus; - + G4int encoding = GetNucleusEncoding(Z,A,E,J); // create an ion @@ -169,9 +158,11 @@ G4ParticleDefinition* G4IonTable::CreateIon(G4int Z, G4int A, G4double E, G4int stable, life, decayTable, false, "generic", 0, E ); + ion->SetPDGMagneticMoment(mu); + //No Anti particle registered ion->SetAntiPDGEncoding(0); - + #ifdef G4VERBOSE if (GetVerboseLevel()>1) { G4cout << "G4IonTable::CreateIon() : create ion of " << name << G4endl; @@ -180,10 +171,7 @@ G4ParticleDefinition* G4IonTable::CreateIon(G4int Z, G4int A, G4double E, G4int // Add process manager to the ion AddProcessManager(name); - - // Set cut value same as "GenericIon" - // SetCuts(ion); - + if (fProperty !=0) delete fProperty; return ion; } @@ -225,18 +213,15 @@ G4ParticleDefinition* G4IonTable::GetIon(G4int encoding) //////////////////// G4ParticleDefinition* G4IonTable::GetIon(G4int Z, G4int A, G4double E, G4int J) { - if ( (A<1) || (Z>numberOfElements) || (Z<=0) || (J<0) || (E<0.0) ) { + if ( (A<1) || (Z<=0) || (J<0) || (E<0.0) ) { #ifdef G4VERBOSE if (GetVerboseLevel()>0) { G4cout << "G4IonTable::GetIon() : illegal atomic number/mass" << G4endl; G4cout << " Z =" << Z << " A = " << A << " E = " << E/keV << G4endl; } #endif - G4cerr << "G4IonTable::GetIon called with Z="<numberOfElements) || (Z<=0) || (J<0) || (E<0.0)) { + if ( (A<1) || (Z<=0) || (J<0) || (E<0.0)) { #ifdef G4VERBOSE if (GetVerboseLevel()>0) { G4cout << "G4IonTable::FindIon() : illegal atomic number/mass or excitation level " << G4endl; G4cout << " Z =" << Z << " A = " << A << " E = " << E/keV << G4endl; } #endif + G4Exception( "G4IonTable::FindIon()","Illegal operation", + JustWarning, "illegal atomic number/mass"); return 0; } // Search ions with A, Z ,E @@ -345,8 +332,14 @@ G4String G4IonTable::GetIonName(G4int Z, G4int A, G4double E) const G4String name; if ( (0< Z) && (Z <=numberOfElements) ) { name = elementName[Z-1]; + } else if (Z > numberOfElements) { + std::ostringstream os1; + os1.setf(std::ios::fixed); + os1 << Z ; + name = "E" + os1.str() + "-"; } else { - return "?"; + name = "?"; + return name; } std::ostringstream os; os.setf(std::ios::fixed); @@ -413,7 +406,7 @@ G4ParticleDefinition* G4IonTable::GetLightIon(G4int Z, G4int A) const ///////////////// G4double G4IonTable::GetNucleusMass(G4int Z, G4int A) const { - if ( (A<1) || (Z>numberOfElements) || (Z<0)) { + if ( (A<1) || (Z<0)) { #ifdef G4VERBOSE if (GetVerboseLevel()>0) { G4cout << "G4IonTable::GetNucleusMass() : illegal atomic number/mass " << G4endl; @@ -458,7 +451,7 @@ void G4IonTable::Insert(G4ParticleDefinition* particle) fIonList->push_back(particle); } else { //#ifdef G4VERBOSE - //if (GetVerboseLevel()>0) { + //if (GetVerboseLevel()>1) { // G4cout << "G4IonTable::Insert :" << particle->GetParticleName() ; // G4cout << " is not ions" << G4endl; //} @@ -518,8 +511,8 @@ const G4String G4IonTable::elementName[] = { "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hg", "Tl", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Md", "No", "Lr", - "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Xa" - + "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", + "Uub", "Uut", "Uuq","Uup","Uuh","Uus","Uuo" }; @@ -553,23 +546,68 @@ void G4IonTable::AddProcessManager(const G4String& name) //////////////////// void G4IonTable::RegisterIsotopeTable(G4VIsotopeTable* table) { - fIsotopeTable = table; + fIsotopeTableList->push_back(table); } //////////////////// -G4VIsotopeTable* G4IonTable::GetIsotopeTable() const +G4VIsotopeTable* G4IonTable::GetIsotopeTable(size_t index) const { - return fIsotopeTable; + G4VIsotopeTable* fIsotopeTable=0; + if ( index < fIsotopeTableList->size() ) { + fIsotopeTable = (*fIsotopeTableList)[index]; + } + return fIsotopeTable; } //////////////////// G4IsotopeProperty* G4IonTable::FindIsotope(G4int Z, G4int A, G4double E, G4int ) { - if (fIsotopeTable ==0) return 0; + if (fIsotopeTableList ==0) return 0; + if (fIsotopeTableList->size()==0) return 0; + + // ask IsotopeTable + G4IsotopeProperty* property =0; - // ask IsotopeTable // ask IsotopeTable - return fIsotopeTable->GetIsotope(Z,A,E); + // iterate + for (size_t i = 0; i< fIsotopeTableList->size(); ++i) { + G4VIsotopeTable* fIsotopeTable= (*fIsotopeTableList)[i]; + G4IsotopeProperty* tmp = fIsotopeTable->GetIsotope(Z,A,E); + if ( tmp !=0) { + +#ifdef G4VERBOSE + if (GetVerboseLevel()>1) { + G4cout << "G4IonTable::FindIsotope:"; + G4cout << " Z: " << Z; + G4cout << " A: " << A; + G4cout << " E: " << E; + G4cout << G4endl; + tmp->DumpInfo(); + } +#endif + if (property !=0) { + // overwrite spin/magnetic moment/decay table if not defined + if( property->GetiSpin() ==0) { + property->SetiSpin( tmp->GetiSpin() ); + } + if( property->GetMagneticMoment() <= 0.0) { + property->SetMagneticMoment( tmp->GetMagneticMoment() ); + } + if( property->GetLifeTime() <= 0.0) { + property->SetLifeTime( tmp->GetLifeTime() ); + if ( (property->GetLifeTime() > 0.0) + && (property->GetDecayTable() ==0 ) ) { + property->SetDecayTable( tmp->GetDecayTable() ); + tmp->SetDecayTable( 0 ); + } + } + } else { + property = tmp; + } + } + } + + return property; } diff --git a/source/particles/management/src/G4Ions.cc b/source/particles/management/src/G4Ions.cc index e0440b04f8..6e51c9651b 100644 --- a/source/particles/management/src/G4Ions.cc +++ b/source/particles/management/src/G4Ions.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Ions.cc,v 1.11 2006/06/29 19:25:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Ions.cc,v 1.12 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/management/src/G4IsotopeProperty.cc b/source/particles/management/src/G4IsotopeProperty.cc index 59d42b0080..6eaaaf21e2 100644 --- a/source/particles/management/src/G4IsotopeProperty.cc +++ b/source/particles/management/src/G4IsotopeProperty.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4IsotopeProperty.cc,v 1.5 2006/06/29 19:25:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4IsotopeProperty.cc,v 1.7 2007/03/16 05:25:08 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- @@ -47,7 +47,8 @@ G4IsotopeProperty::G4IsotopeProperty(): fAtomicNumber(0),fAtomicMass(0), fISpin(0),fEnergy(0.0), - fLifeTime(-1.0),fDecayTable(0) + fLifeTime(-1.0),fDecayTable(0), + fMagneticMoment(0.0) { } @@ -59,11 +60,12 @@ G4IsotopeProperty::~G4IsotopeProperty() G4IsotopeProperty::G4IsotopeProperty(const G4IsotopeProperty& right) { - fAtomicNumber = right.fAtomicNumber; - fAtomicMass = right.fAtomicMass; - fISpin = right.fISpin; - fEnergy = right.fEnergy; - fLifeTime = right.fLifeTime; + fAtomicNumber = right.fAtomicNumber; + fAtomicMass = right.fAtomicMass; + fISpin = right.fISpin; + fMagneticMoment = right.fMagneticMoment; + fEnergy = right.fEnergy; + fLifeTime = right.fLifeTime; // decay table is not copied because G4DecayTable has no copy constructor fDecayTable = 0; } @@ -72,11 +74,12 @@ G4IsotopeProperty::G4IsotopeProperty(const G4IsotopeProperty& right) G4IsotopeProperty & G4IsotopeProperty::operator=(G4IsotopeProperty& right) { if (this != &right) { - fAtomicNumber = right.fAtomicNumber; - fAtomicMass = right.fAtomicMass; - fISpin = right.fISpin; - fEnergy = right.fEnergy; - fLifeTime = right.fLifeTime; + fAtomicNumber = right.fAtomicNumber; + fAtomicMass = right.fAtomicMass; + fISpin = right.fISpin; + fMagneticMoment = right.fMagneticMoment; + fEnergy = right.fEnergy; + fLifeTime = right.fLifeTime; // decay table is not copied because G4DecayTable has no copy constructor fDecayTable = 0; } @@ -88,11 +91,12 @@ G4IsotopeProperty & G4IsotopeProperty::operator=(G4IsotopeProperty& right) G4int G4IsotopeProperty::operator==(const G4IsotopeProperty &right) const { G4bool value = true; - value = value && ( fAtomicNumber == right.fAtomicNumber); - value = value && ( fAtomicMass == right.fAtomicMass); - value = value && ( fISpin == right.fISpin); - value = value && ( fEnergy == right.fEnergy); - value = value && ( fLifeTime == right.fLifeTime); + value = value && ( fAtomicNumber == right.fAtomicNumber); + value = value && ( fAtomicMass == right.fAtomicMass); + value = value && ( fISpin == right.fISpin); + value = value && ( fMagneticMoment == right.fMagneticMoment); + value = value && ( fEnergy == right.fEnergy); + value = value && ( fLifeTime == right.fLifeTime); return value; } G4int G4IsotopeProperty::operator!=(const G4IsotopeProperty &right) const @@ -104,7 +108,12 @@ void G4IsotopeProperty::DumpInfo() const { G4cout << "AtomicNumber: " << fAtomicNumber << G4endl; G4cout << "AtomicMass: " << fAtomicMass << G4endl; - G4cout << "Spin: " << fISpin << "/2" << G4endl; + if (fISpin %2){ + G4cout << "Spin: " << fISpin << "/2" << G4endl; + } else { + G4cout << "Spin: " << fISpin /2 << G4endl; + } + G4cout << "MagneticMoment: " << fMagneticMoment/MeV*tesla << "[MeV/T]" <GetIterator(); piter -> reset(); - // newValues.toLower(); temporaly commented out + while( (*piter)() ){ G4ParticleDefinition *particle = piter->value(); if ((newValues=="all") || (newValues==particle->GetParticleType())) { @@ -127,7 +127,17 @@ void G4ParticleMessenger::SetNewValue(G4UIcommand * command,G4String newValues) } G4cout << G4endl; if (counter == 0) G4cout << newValues << " is not found " << G4endl; - + + //Command /particle/select + // set candidate List + G4String candidates("none"); + piter -> reset(); + while( (*piter)() ){ + G4ParticleDefinition *particle = piter->value(); + candidates += " " + particle->GetParticleName(); + } + selectCmd->SetCandidates((const char *)(candidates)); + } else if( command==selectCmd ){ //Commnad /particle/select currentParticle = theParticleTable->FindParticle(newValues); diff --git a/source/particles/management/src/G4ParticlePropertyData.cc b/source/particles/management/src/G4ParticlePropertyData.cc index 71f8d7eb83..2c282cb80d 100644 --- a/source/particles/management/src/G4ParticlePropertyData.cc +++ b/source/particles/management/src/G4ParticlePropertyData.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ParticlePropertyData.cc,v 1.2 2006/06/29 19:25:57 gunter Exp $ +// $Id: G4ParticlePropertyData.cc,v 1.3 2007/03/11 07:17:35 kurasige Exp $ // // class G4ParticlePropertyData // @@ -31,6 +31,7 @@ // // History: // first implementation by H Kurashige 9 June 2003 +// Add magnetic moment by H Kurashige Mar 2007 #include "G4ios.hh" #include "globals.hh" @@ -54,6 +55,7 @@ G4ParticlePropertyData::G4ParticlePropertyData(const G4String& particleName): thePDGiGParity(0), thePDGiIsospin(0), thePDGiIsospin3(0), + thePDGMagneticMoment(0.0), theLeptonNumber(0), theBaryonNumber(0), thePDGEncoding(0), @@ -69,6 +71,7 @@ G4ParticlePropertyData::G4ParticlePropertyData(const G4String& particleName): fPDGiIsospin3Modified(false), fPDGIsospinModified(false), fPDGIsospin3Modified(false), + fPDGMagneticMomentModified(false), fLeptonNumberModified(false), fBaryonNumberModified(false), fPDGEncodingModified(false), @@ -98,6 +101,7 @@ G4ParticlePropertyData::G4ParticlePropertyData(const G4ParticlePropertyData &rig fPDGiIsospin3Modified(false), fPDGIsospinModified(false), fPDGIsospin3Modified(false), + fPDGMagneticMomentModified(false), fLeptonNumberModified(false), fBaryonNumberModified(false), fPDGEncodingModified(false), @@ -117,6 +121,7 @@ G4ParticlePropertyData::G4ParticlePropertyData(const G4ParticlePropertyData &rig thePDGiGParity = right.thePDGiGParity; thePDGiIsospin = right.thePDGiIsospin; thePDGiIsospin3 = right.thePDGiIsospin3; + thePDGMagneticMoment = right.thePDGMagneticMoment; theLeptonNumber = right.theLeptonNumber; theBaryonNumber = right.theBaryonNumber; thePDGEncoding = right.thePDGEncoding; @@ -143,6 +148,7 @@ const G4ParticlePropertyData & G4ParticlePropertyData::operator=(const G4Particl thePDGiGParity = right.thePDGiGParity; thePDGiIsospin = right.thePDGiIsospin; thePDGiIsospin3 = right.thePDGiIsospin3; + thePDGMagneticMoment = right.thePDGMagneticMoment; theLeptonNumber = right.theLeptonNumber; theBaryonNumber = right.theBaryonNumber; thePDGEncoding = right.thePDGEncoding; @@ -152,24 +158,25 @@ const G4ParticlePropertyData & G4ParticlePropertyData::operator=(const G4Particl theAntiQuarkContent[flv]= right.theAntiQuarkContent[flv]; } thePDGLifeTime = right.thePDGLifeTime; - fPDGMassModified = true; - fPDGWidthModified = true; - fPDGChargeModified = true; - fPDGiSpinModified = true; - fPDGiParityModified = true; - fPDGiConjugationModified = true; - fPDGiGParityModified = true; - fPDGiIsospinModified = true; - fPDGiIsospin3Modified = true; - fPDGIsospinModified = true; - fPDGIsospin3Modified = true; - fLeptonNumberModified = true; - fBaryonNumberModified = true; - fPDGEncodingModified = true; - fAntiPDGEncodingModified = true; - fQuarkContentModified = true; - fAntiQuarkContentModified = true; - fPDGLifeTimeModified = true; + fPDGMassModified = true; + fPDGWidthModified = true; + fPDGChargeModified = true; + fPDGiSpinModified = true; + fPDGiParityModified = true; + fPDGiConjugationModified = true; + fPDGiGParityModified = true; + fPDGiIsospinModified = true; + fPDGiIsospin3Modified = true; + fPDGIsospinModified = true; + fPDGIsospin3Modified = true; + fPDGMagneticMomentModified = true; + fLeptonNumberModified = true; + fBaryonNumberModified = true; + fPDGEncodingModified = true; + fAntiPDGEncodingModified = true; + fQuarkContentModified = true; + fAntiQuarkContentModified = true; + fPDGLifeTimeModified = true; } return *this; } @@ -202,6 +209,12 @@ void G4ParticlePropertyData::Print() const G4cout << " Isospin : (I,Iz): (" << thePDGiIsospin <<"/2"; G4cout << " , " << thePDGiIsospin3 << "/2 ) " << G4endl; G4cout << " GParity : " << thePDGiGParity << G4endl; + G4cout << " MagneticMoment [MeV/T]: "; + if (thePDGMagneticMoment != 0.0) { + G4cout << thePDGMagneticMoment/MeV*tesla << G4endl; + }else { + G4cout << "not defined " << G4endl; + } G4cout << " Lepton number : " << theLeptonNumber; G4cout << " Baryon number : " << theBaryonNumber << G4endl; G4cout << " Quark contents (d,u,s,c,b,t) : " << theQuarkContent[0]; diff --git a/source/particles/management/src/G4ParticlePropertyMessenger.cc b/source/particles/management/src/G4ParticlePropertyMessenger.cc index 63e3e89498..be23118bae 100644 --- a/source/particles/management/src/G4ParticlePropertyMessenger.cc +++ b/source/particles/management/src/G4ParticlePropertyMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParticlePropertyMessenger.cc,v 1.7 2006/06/29 19:25:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/particles/management/src/G4ParticlePropertyTable.cc b/source/particles/management/src/G4ParticlePropertyTable.cc index 28473f1f21..5e9dcfa6c6 100644 --- a/source/particles/management/src/G4ParticlePropertyTable.cc +++ b/source/particles/management/src/G4ParticlePropertyTable.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ParticlePropertyTable.cc,v 1.3 2006/06/29 19:26:02 gunter Exp $ +// $Id: G4ParticlePropertyTable.cc,v 1.4 2007/03/11 07:17:35 kurasige Exp $ // // class G4ParticlePropertyTable // @@ -31,6 +31,7 @@ // // History: // first implementation by H Kurashige 9 June 2003 +// Add magnetic moment by H Kurashige Mar 2007 #include "G4ios.hh" #include "globals.hh" @@ -127,6 +128,7 @@ G4ParticlePropertyData* G4ParticlePropertyTable::GetParticleProperty(const G4Pa pData->thePDGiGParity = aParticle->GetPDGiGParity(); pData->thePDGiIsospin = aParticle->GetPDGiIsospin(); pData->thePDGiIsospin3 = aParticle->GetPDGiIsospin3(); + pData->thePDGMagneticMoment = aParticle->GetPDGMagneticMoment(); pData->theLeptonNumber = aParticle->GetLeptonNumber(); pData->theBaryonNumber = aParticle->GetBaryonNumber(); pData->thePDGEncoding = aParticle->GetPDGEncoding(); @@ -200,6 +202,9 @@ G4bool G4ParticlePropertyTable::SetParticleProperty(const G4ParticlePropertyData aParticle->thePDGiIsospin3 = pData.thePDGiIsospin3; aParticle->thePDGIsospin3 = 0.5*pData.thePDGiIsospin3; } + if (pData.fPDGMagneticMomentModified) { + aParticle->thePDGMagneticMoment = pData.thePDGMagneticMoment; + } if (pData.fLeptonNumberModified) { aParticle->theLeptonNumber = pData.theLeptonNumber; } diff --git a/source/particles/management/src/G4ParticleTable.cc b/source/particles/management/src/G4ParticleTable.cc index 3372968d53..7b5baea046 100644 --- a/source/particles/management/src/G4ParticleTable.cc +++ b/source/particles/management/src/G4ParticleTable.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParticleTable.cc,v 1.27 2006/06/29 19:26:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class G4ParticleTable // diff --git a/source/particles/management/src/G4PhaseSpaceDecayChannel.cc b/source/particles/management/src/G4PhaseSpaceDecayChannel.cc index c24ec11c37..699596b856 100644 --- a/source/particles/management/src/G4PhaseSpaceDecayChannel.cc +++ b/source/particles/management/src/G4PhaseSpaceDecayChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4PhaseSpaceDecayChannel.cc,v 1.12 2006/09/28 14:30:33 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4PrimaryParticle.cc b/source/particles/management/src/G4PrimaryParticle.cc index 85ddecc664..3234c74fb8 100644 --- a/source/particles/management/src/G4PrimaryParticle.cc +++ b/source/particles/management/src/G4PrimaryParticle.cc @@ -25,7 +25,7 @@ // // // $Id: G4PrimaryParticle.cc,v 1.4 2006/10/01 02:29:43 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4PrimaryParticle.hh" diff --git a/source/particles/management/src/G4PrimaryVertex.cc b/source/particles/management/src/G4PrimaryVertex.cc index 90924159af..9336112126 100644 --- a/source/particles/management/src/G4PrimaryVertex.cc +++ b/source/particles/management/src/G4PrimaryVertex.cc @@ -25,7 +25,7 @@ // // // $Id: G4PrimaryVertex.cc,v 1.3 2006/07/20 15:14:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4PrimaryVertex.hh" diff --git a/source/particles/management/src/G4ShortLivedTable.cc b/source/particles/management/src/G4ShortLivedTable.cc index e73bd4f850..e4049fb1ce 100644 --- a/source/particles/management/src/G4ShortLivedTable.cc +++ b/source/particles/management/src/G4ShortLivedTable.cc @@ -25,7 +25,7 @@ // // // $Id: G4ShortLivedTable.cc,v 1.14 2006/06/29 19:26:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/management/src/G4TauLeptonicDecayChannel.cc b/source/particles/management/src/G4TauLeptonicDecayChannel.cc index 62e010a003..34f5e3bee7 100644 --- a/source/particles/management/src/G4TauLeptonicDecayChannel.cc +++ b/source/particles/management/src/G4TauLeptonicDecayChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4TauLeptonicDecayChannel.cc,v 1.5 2006/06/29 19:26:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4VDecayChannel.cc b/source/particles/management/src/G4VDecayChannel.cc index 80503b4a33..e6fee160e0 100644 --- a/source/particles/management/src/G4VDecayChannel.cc +++ b/source/particles/management/src/G4VDecayChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4VDecayChannel.cc,v 1.18 2006/06/29 19:26:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/management/src/G4VUserPrimaryParticleInformation.cc b/source/particles/management/src/G4VUserPrimaryParticleInformation.cc index 0523596414..0c017c0ced 100644 --- a/source/particles/management/src/G4VUserPrimaryParticleInformation.cc +++ b/source/particles/management/src/G4VUserPrimaryParticleInformation.cc @@ -25,7 +25,7 @@ // // // $Id: G4VUserPrimaryParticleInformation.cc,v 1.2 2006/06/29 19:26:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4VUserPrimaryParticleInformation.hh" G4VUserPrimaryParticleInformation::G4VUserPrimaryParticleInformation() {;} diff --git a/source/particles/management/src/G4VUserPrimaryVertexInformation.cc b/source/particles/management/src/G4VUserPrimaryVertexInformation.cc index b108b4f71f..8897b07a4f 100644 --- a/source/particles/management/src/G4VUserPrimaryVertexInformation.cc +++ b/source/particles/management/src/G4VUserPrimaryVertexInformation.cc @@ -25,7 +25,7 @@ // // // $Id: G4VUserPrimaryVertexInformation.cc,v 1.2 2006/06/29 19:26:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4DiQuarks.hh b/source/particles/shortlived/include/G4DiQuarks.hh index 1ed0d12ba0..b2cdaba8b0 100644 --- a/source/particles/shortlived/include/G4DiQuarks.hh +++ b/source/particles/shortlived/include/G4DiQuarks.hh @@ -25,7 +25,7 @@ // // // $Id: G4DiQuarks.hh,v 1.6 2006/06/29 19:26:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/shortlived/include/G4ExcitedBaryonConstructor.hh b/source/particles/shortlived/include/G4ExcitedBaryonConstructor.hh index c5ac688078..d028f7eb1b 100644 --- a/source/particles/shortlived/include/G4ExcitedBaryonConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedBaryonConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedBaryonConstructor.hh,v 1.6 2006/06/29 19:26:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedBaryons.hh b/source/particles/shortlived/include/G4ExcitedBaryons.hh index 7c249a3f32..987f33aedb 100644 --- a/source/particles/shortlived/include/G4ExcitedBaryons.hh +++ b/source/particles/shortlived/include/G4ExcitedBaryons.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedBaryons.hh,v 1.7 2006/06/29 19:26:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/shortlived/include/G4ExcitedDeltaConstructor.hh b/source/particles/shortlived/include/G4ExcitedDeltaConstructor.hh index 3723666256..7ba7daeec4 100644 --- a/source/particles/shortlived/include/G4ExcitedDeltaConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedDeltaConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedDeltaConstructor.hh,v 1.6 2006/06/29 19:26:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedLambdaConstructor.hh b/source/particles/shortlived/include/G4ExcitedLambdaConstructor.hh index 0209407994..a2e9605f40 100644 --- a/source/particles/shortlived/include/G4ExcitedLambdaConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedLambdaConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedLambdaConstructor.hh,v 1.8 2006/06/29 19:26:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedMesonConstructor.hh b/source/particles/shortlived/include/G4ExcitedMesonConstructor.hh index d09d897994..c8e0e1ae2d 100644 --- a/source/particles/shortlived/include/G4ExcitedMesonConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedMesonConstructor.hh @@ -31,7 +31,7 @@ // and all its terms. // // $Id: G4ExcitedMesonConstructor.hh,v 1.8 2006/06/29 19:26:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedMesons.hh b/source/particles/shortlived/include/G4ExcitedMesons.hh index bb3a201888..92cdd03868 100644 --- a/source/particles/shortlived/include/G4ExcitedMesons.hh +++ b/source/particles/shortlived/include/G4ExcitedMesons.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedMesons.hh,v 1.7 2006/06/29 19:26:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/shortlived/include/G4ExcitedNucleonConstructor.hh b/source/particles/shortlived/include/G4ExcitedNucleonConstructor.hh index 9fe197a491..09117e28cc 100644 --- a/source/particles/shortlived/include/G4ExcitedNucleonConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedNucleonConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedNucleonConstructor.hh,v 1.6 2006/06/29 19:26:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedSigmaConstructor.hh b/source/particles/shortlived/include/G4ExcitedSigmaConstructor.hh index 9f299e272e..cb33e89ed0 100644 --- a/source/particles/shortlived/include/G4ExcitedSigmaConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedSigmaConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedSigmaConstructor.hh,v 1.6 2006/06/29 19:26:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4ExcitedXiConstructor.hh b/source/particles/shortlived/include/G4ExcitedXiConstructor.hh index c358a57a34..6eff258944 100644 --- a/source/particles/shortlived/include/G4ExcitedXiConstructor.hh +++ b/source/particles/shortlived/include/G4ExcitedXiConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedXiConstructor.hh,v 1.6 2006/06/29 19:26:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4Gluons.hh b/source/particles/shortlived/include/G4Gluons.hh index 4488f3545a..24f3e845ae 100644 --- a/source/particles/shortlived/include/G4Gluons.hh +++ b/source/particles/shortlived/include/G4Gluons.hh @@ -25,7 +25,7 @@ // // // $Id: G4Gluons.hh,v 1.6 2006/06/29 19:26:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/shortlived/include/G4Quarks.hh b/source/particles/shortlived/include/G4Quarks.hh index 2db747c0cc..7ea470af22 100644 --- a/source/particles/shortlived/include/G4Quarks.hh +++ b/source/particles/shortlived/include/G4Quarks.hh @@ -25,7 +25,7 @@ // // // $Id: G4Quarks.hh,v 1.6 2006/06/29 19:26:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/shortlived/include/G4ShortLivedConstructor.hh b/source/particles/shortlived/include/G4ShortLivedConstructor.hh index e5d47fd908..607718170e 100644 --- a/source/particles/shortlived/include/G4ShortLivedConstructor.hh +++ b/source/particles/shortlived/include/G4ShortLivedConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4ShortLivedConstructor.hh,v 1.6 2006/06/29 19:26:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/include/G4VShortLivedParticle.hh b/source/particles/shortlived/include/G4VShortLivedParticle.hh index 29607453e3..94f1d5c755 100644 --- a/source/particles/shortlived/include/G4VShortLivedParticle.hh +++ b/source/particles/shortlived/include/G4VShortLivedParticle.hh @@ -25,7 +25,7 @@ // // // $Id: G4VShortLivedParticle.hh,v 1.8 2006/06/29 19:26:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/particles/shortlived/src/G4DiQuarks.cc b/source/particles/shortlived/src/G4DiQuarks.cc index 0a3e2c8d23..efa93a40f2 100644 --- a/source/particles/shortlived/src/G4DiQuarks.cc +++ b/source/particles/shortlived/src/G4DiQuarks.cc @@ -25,7 +25,7 @@ // // // $Id: G4DiQuarks.cc,v 1.7 2006/06/29 19:26:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedBaryonConstructor.cc b/source/particles/shortlived/src/G4ExcitedBaryonConstructor.cc index 7abba6eccf..1806e0e8d7 100644 --- a/source/particles/shortlived/src/G4ExcitedBaryonConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedBaryonConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedBaryonConstructor.cc,v 1.7 2006/06/29 19:26:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedBaryons.cc b/source/particles/shortlived/src/G4ExcitedBaryons.cc index f89f98978f..deddb88ef4 100644 --- a/source/particles/shortlived/src/G4ExcitedBaryons.cc +++ b/source/particles/shortlived/src/G4ExcitedBaryons.cc @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedBaryons.cc,v 1.7 2006/06/29 19:26:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedDeltaConstructor.cc b/source/particles/shortlived/src/G4ExcitedDeltaConstructor.cc index 0b3c937b8f..db2100757f 100644 --- a/source/particles/shortlived/src/G4ExcitedDeltaConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedDeltaConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedDeltaConstructor.cc,v 1.11 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedLambdaConstructor.cc b/source/particles/shortlived/src/G4ExcitedLambdaConstructor.cc index 44aa4d04aa..8d9e0d0a7f 100644 --- a/source/particles/shortlived/src/G4ExcitedLambdaConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedLambdaConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedLambdaConstructor.cc,v 1.11 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedMesonConstructor.cc b/source/particles/shortlived/src/G4ExcitedMesonConstructor.cc index 58913718af..41b109e303 100644 --- a/source/particles/shortlived/src/G4ExcitedMesonConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedMesonConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedMesonConstructor.cc,v 1.19 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedMesons.cc b/source/particles/shortlived/src/G4ExcitedMesons.cc index 54ed21d20f..bc217d3797 100644 --- a/source/particles/shortlived/src/G4ExcitedMesons.cc +++ b/source/particles/shortlived/src/G4ExcitedMesons.cc @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedMesons.cc,v 1.7 2006/06/29 19:27:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedNucleonConstructor.cc b/source/particles/shortlived/src/G4ExcitedNucleonConstructor.cc index b4a7252dc4..284b34dcc4 100644 --- a/source/particles/shortlived/src/G4ExcitedNucleonConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedNucleonConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedNucleonConstructor.cc,v 1.11 2006/06/29 19:27:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedSigmaConstructor.cc b/source/particles/shortlived/src/G4ExcitedSigmaConstructor.cc index 2e6c7b589a..37ca34ec22 100644 --- a/source/particles/shortlived/src/G4ExcitedSigmaConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedSigmaConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedSigmaConstructor.cc,v 1.11 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ExcitedXiConstructor.cc b/source/particles/shortlived/src/G4ExcitedXiConstructor.cc index c4810166f5..9d8918431b 100644 --- a/source/particles/shortlived/src/G4ExcitedXiConstructor.cc +++ b/source/particles/shortlived/src/G4ExcitedXiConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedXiConstructor.cc,v 1.7 2006/06/29 19:27:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4Gluons.cc b/source/particles/shortlived/src/G4Gluons.cc index 00bf62998a..04651b9d6f 100644 --- a/source/particles/shortlived/src/G4Gluons.cc +++ b/source/particles/shortlived/src/G4Gluons.cc @@ -25,7 +25,7 @@ // // // $Id: G4Gluons.cc,v 1.7 2006/06/29 19:27:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4Quarks.cc b/source/particles/shortlived/src/G4Quarks.cc index 39d43ecadb..7935e97694 100644 --- a/source/particles/shortlived/src/G4Quarks.cc +++ b/source/particles/shortlived/src/G4Quarks.cc @@ -25,7 +25,7 @@ // // // $Id: G4Quarks.cc,v 1.7 2006/06/29 19:27:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4ShortLivedConstructor.cc b/source/particles/shortlived/src/G4ShortLivedConstructor.cc index cde0fd5c1f..20e1cf3cbb 100644 --- a/source/particles/shortlived/src/G4ShortLivedConstructor.cc +++ b/source/particles/shortlived/src/G4ShortLivedConstructor.cc @@ -25,7 +25,7 @@ // // // $Id: G4ShortLivedConstructor.cc,v 1.15 2006/10/12 10:59:45 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/shortlived/src/G4VShortLivedParticle.cc b/source/particles/shortlived/src/G4VShortLivedParticle.cc index d36723f4fe..221fb6d6bc 100644 --- a/source/particles/shortlived/src/G4VShortLivedParticle.cc +++ b/source/particles/shortlived/src/G4VShortLivedParticle.cc @@ -25,7 +25,7 @@ // // // $Id: G4VShortLivedParticle.cc,v 1.8 2006/06/29 19:27:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/particles/utils/G4IsotopeMagneticMoment.table b/source/particles/utils/G4IsotopeMagneticMoment.table new file mode 100644 index 0000000000..daa84e60ea --- /dev/null +++ b/source/particles/utils/G4IsotopeMagneticMoment.table @@ -0,0 +1,912 @@ +1 H 1 0 -1 y 1 2.79284739 +3 Li 6 0 -1 y 2 0.8220473 +3 Li 7 0 -1 y 3 3.2564268 +3 Li 8 0 838 ms 4 1.65356 +3 Li 9 0 178.3 ms 3 3.4391 +3 Li 11 0 8.5 ms 3 3.6678 +4 Be 9 0 -1 y 3 -1.1778 +5 B 8 0 770 ms 4 1.0355 +5 B 10 0 -1 y 6 1.8006448 +5 B 11 0 -1 y 3 2.6886489 +5 B 12 0 20.2 ms 2 1.00306 +5 B 13 0 17.36 ms 3 3.1778 +6 C 11 0 20.39 m 3 -0.964 +6 C 13 0 -1 y 1 0.7024118 +6 C 15 0 2.449 s 1 1.32 +7 N 12 0 11 ms 2 0.4573 +7 N 13 0 9.965 m 1 0.3222 +7 N 14 0 -1 y 2 0.403761 +7 N 15 0 -1 y 1 -0.28318884 +8 O 15 0 122.24 s 1 0.7189 +8 O 17 0 -1 y 5 -1.89379 +9 F 17 0 64.49 s 5 4.7213 +9 F 19 0 -1 y 1 2.628868 +9 F 20 0 11 s 4 2.0935 +10 Ne 19 0 17.34 s 1 -1.88542 +10 Ne 21 0 -1 y 3 -0.661797 +10 Ne 23 0 37.24 s 5 -1.08 +11 Na 20 0 447.9 ms 4 0.3694 +11 Na 21 0 22.49 s 3 2.3863 +11 Na 22 0 2.6019 y 6 1.746 +11 Na 23 0 -1 y 3 2.21752 +11 Na 24 0 14.959 h 8 1.6903 +11 Na 24 472.207 20.2 ms 2 -1.931 +11 Na 25 0 59.1 s 5 3.683 +11 Na 26 0 1.072 s 6 2.851 +11 Na 27 0 301 ms 5 3.895 +11 Na 28 0 30.5 ms 2 2.426 +11 Na 29 0 44.9 ms 3 2.449 +11 Na 30 0 48 ms 4 2.083 +11 Na 31 0 17 ms 7 2.305 +12 Mg 25 0 -1 y 5 -0.85545 +13 Al 25 0 7.183 s 5 3.6455 +13 Al 27 0 -1 y 5 3.6415069 +13 Al 28 0 2.2414 m 6 3.242 +14 Si 27 0 4.16 s 5 0 +14 Si 29 0 -1 y 1 -0.55529 +15 P 29 0 4.14 s 1 1.2349 +15 P 31 0 -1 y 1 1.1316 +15 P 32 0 14.262 d 2 -0.2524 +16 S 31 0 2.572 s 1 0.48793 +16 S 33 0 -1 y 3 0.6438212 +16 S 35 0 87.51 d 3 1 +17 Cl 33 0 2.511 s 3 0.7523 +17 Cl 35 0 -1 y 3 0.8218743 +17 Cl 36 0 301000 y 4 1.28547 +17 Cl 37 0 -1 y 3 0.6841236 +17 Cl 38 0 37.24 m 4 2.05 +18 Ar 35 0 1.775 s 3 0.633 +18 Ar 37 0 35.04 d 3 1.145 +18 Ar 39 0 269 y 7 -1.3 +19 K 36 0 342 ms 4 0.548 +19 K 37 0 1.226 s 3 0.20321 +19 K 38 0 7.636 m 6 1.371 +19 K 38 3458 21.98 ms 14 3.836 +19 K 39 0 -1 y 3 0.3914662 +19 K 40 0 1.277E+9 y 8 -1.2981 +19 K 41 0 -1 y 3 0.2148701 +19 K 42 0 12.36 h 4 -1.1425 +19 K 43 0 22.3 h 3 0.1633 +19 K 44 0 22.13 m 4 -0.856 +19 K 45 0 17.3 m 3 0.1734 +19 K 46 0 105 s 4 -1.051 +19 K 47 0 17.5 s 1 1.933 +20 Ca 39 0 859.6 ms 3 1.02168 +20 Ca 41 0 1.03E+5 y 7 -1.594781 +20 Ca 43 0 -1 y 7 -1.317643 +20 Ca 45 0 163.8 d 7 -1.3274 +20 Ca 47 0 4.536 d 7 -1.38 +21 Sc 41 0 596.3 ms 7 5.535 +21 Sc 43 0 3.891 h 7 4.62 +21 Sc 43 151.9 438 ms 3 0.348 +21 Sc 44 0 3.927 h 4 2.56 +21 Sc 44 271.13 58.6 h 12 3.88 +21 Sc 45 0 -1 y 7 4.7564866 +21 Sc 46 0 83.79 d 8 3.03 +21 Sc 47 0 3.345 d 7 5.34 +22 Ti 43 0 509 ms 7 0.7 +22 Ti 45 0 184.8 m 7 0.095 +22 Ti 47 0 -1 y 5 -0.78848 +22 Ti 49 0 -1 y 7 -1.10417 +23 V 46 801.52 1.02 ms 6 1.64 +23 V 48 0 15.9735 d 8 2.012 +23 V 49 0 330 d 7 4.47 +23 V 50 0 1.4E+17 y 12 3.3456889 +23 V 51 0 -1 y 7 5.14870573 +24 Cr 49 0 42.3 m 5 0.476 +24 Cr 51 0 27.702 d 7 -0.934 +24 Cr 53 0 -1 y 3 -0.47454 +25 Mn 51 0 46.2 m 5 3.5683 +25 Mn 52 0 5.591 d 12 3.0622 +25 Mn 52 377.74 21.1 m 4 0.00768 +25 Mn 53 0 3.74E+6 y 7 5.024 +25 Mn 54 0 312.3 d 6 3.2819 +25 Mn 55 0 -1 y 5 3.4532 +25 Mn 56 0 2.5785 h 6 3.2266 +26 Fe 57 0 -1 y 1 0.09044 +26 Fe 59 0 44.503 d 3 0.29 +27 Co 55 0 17.53 h 7 4.822 +27 Co 56 0 77.27 d 8 3.851 +27 Co 57 0 271.79 d 7 4.72 +27 Co 58 0 70.82 d 4 4.044 +27 Co 58 53.06 10.4 ms 8 4.194 +27 Co 59 0 -1 y 7 4.627 +27 Co 60 0 5.2714 y 10 3.799 +27 Co 60 58.59 10.47 m 4 4.4 +28 Ni 57 0 35.6 h 3 0.88 +28 Ni 61 0 -1 y 3 -0.75002 +28 Ni 63 87.15 1.67 ms 5 0.752 +28 Ni 65 0 2.5172 h 5 0.69 +29 Cu 60 0 23.7 m 4 1.219 +29 Cu 61 0 3.333 h 3 2.14 +29 Cu 62 0 9.74 m 2 -0.38 +29 Cu 63 0 -1 y 3 2.22329 +29 Cu 64 0 12.7 h 2 -0.217 +29 Cu 65 0 -1 y 3 2.38167 +29 Cu 66 0 5.088 m 2 -0.282 +30 Zn 63 0 38.47 m 3 -0.28164 +30 Zn 65 0 244.26 d 5 0.769 +30 Zn 67 0 -1 y 5 0.875479 +30 Zn 67 93.312 9.16 ms 1 0.587 +30 Zn 69 438.64 13.76 h 9 0 +30 Zn 71 157.7 3.96 h 9 0 +31 Ga 67 0 3.2612 d 3 1.8507 +31 Ga 68 0 67.629 m 2 0.01175 +31 Ga 69 0 -1 y 3 2.01659 +31 Ga 71 0 -1 y 3 2.562266 +31 Ga 72 0 14.1 h 6 -0.13224 +32 Ge 69 0 39.05 h 5 0.735 +32 Ge 69 397.946 2.81 ms 9 -1.0011 +32 Ge 71 0 11.43 d 1 0.547 +32 Ge 71 198.367 20.4 ms 9 -1.0413 +32 Ge 73 0 -1 y 9 -0.8794677 +32 Ge 73 13.275 2.95 ms 5 -0.0941 +32 Ge 75 0 82.78 m 1 0.51 +33 As 69 0 15.2 m 5 1.2 +33 As 70 0 52.6 m 8 2.1061 +33 As 71 0 65.28 h 5 1.6735 +33 As 72 0 26 h 4 -2.1566 +33 As 73 427.76 5.7 ms 9 5.234 +33 As 74 0 17.77 d 4 -1.597 +33 As 75 0 -1 y 3 1.43947 +33 As 76 0 26.32 h 4 -0.906 +33 As 76 45 1.93 ms 2 0.559 +33 As 77 475.428 114 ms 9 5.525 +34 Se 73 0 7.15 h 9 0.87 +34 Se 75 0 119.779 d 5 0.67 +34 Se 77 0 -1 y 1 0.5350422 +34 Se 79 0 65000 y 7 -1.018 +35 Br 74 0 46 m 8 1.45 +35 Br 75 0 96.7 m 3 0.75 +35 Br 76 0 16.2 h 2 -0.54821 +35 Br 77 0 57.036 h 3 0.92 +35 Br 78 180.82 119.2 ms 8 4.114 +35 Br 79 0 -1 y 3 2.1064 +35 Br 80 0 17.68 m 2 0.514 +35 Br 80 85.843 4.4205 h 10 1.3177 +35 Br 81 0 -1 y 3 2.270562 +35 Br 81 536.2 34.6 ms 9 5.694 +35 Br 82 0 35.3 h 10 1.627 +36 Kr 83 0 -1 y 9 -0.970669 +36 Kr 84 3235.9 1.84 ms 16 -1.968 +36 Kr 85 0 10.756 y 9 1 +36 Kr 87 0 76.3 m 5 -1.018 +36 Kr 93 0 1.286 s 1 -0.4 +37 Rb 76 0 39.1 s 2 -0.3726228 +37 Rb 77 0 3.75 m 3 0.654468 +37 Rb 78 103.3 5.74 m 8 2.5485 +37 Rb 79 0 22.9 m 5 3.3579 +37 Rb 80 0 34 s 2 -0.0836 +37 Rb 80 486 1.6 ms 12 0.51 +37 Rb 81 0 4.576 h 3 2.0595 +37 Rb 81 86.31 30.5 m 9 5.598 +37 Rb 82 0 1.273 m 2 0.5545083 +37 Rb 82 80 6.472 h 10 1.5133 +37 Rb 83 0 86.2 d 5 1.4249 +37 Rb 84 0 32.77 d 4 -1.324116 +37 Rb 84 463.62 20.26 m 12 0.2129331 +37 Rb 85 0 -1 y 5 1.3533515 +37 Rb 85 514.0083 1.015 ms 9 6.046 +37 Rb 86 0 18.631 d 4 -1.692 +37 Rb 86 556 1.017 m 12 1.815 +37 Rb 87 0 4.75E+10 y 3 2.751818 +37 Rb 88 0 17.78 m 4 0.508 +37 Rb 90 106.9 258 s 6 1.61598 +37 Rb 91 0 58.4 s 3 2.1815 +37 Rb 93 0 5.84 s 5 1.4095 +37 Rb 94 0 2.702 s 6 1.4984 +37 Rb 95 0 377.5 ms 5 1.3336 +37 Rb 96 0 0.199 s 4 1.4658 +37 Rb 97 0 169.9 ms 3 1.841 +38 Sr 79 0 2.25 m 3 -0.474 +38 Sr 81 0 22.3 m 1 0.544 +38 Sr 83 0 32.41 h 7 -0.8298 +38 Sr 83 259.15 4.95 s 1 0.582 +38 Sr 85 0 64.84 d 9 -1.0005 +38 Sr 85 238.66 67.63 m 1 0.6008 +38 Sr 86 2955.63 0.45 ms 16 -1.928 +38 Sr 87 0 -1 y 9 -1.093603 +38 Sr 87 388.532 2.803 h 1 0.6282 +38 Sr 89 0 50.53 d 5 -1.1488 +38 Sr 91 0 9.63 h 5 -0.8868 +38 Sr 93 0 7.423 m 5 -0.7942 +38 Sr 95 0 23.9 s 1 -0.537 +38 Sr 97 0 426 ms 1 -0.4983 +38 Sr 99 0 0.269 s 3 -0.261 +39 Y 85 19.8 4.86 h 9 6.2 +39 Y 86 0 14.74 h 8 0 +39 Y 86 218.3 48 m 16 4.8 +39 Y 87 380.79 13.37 h 9 6.1 +39 Y 88 674.55 13.9 ms 16 4.87 +39 Y 89 0 -1 y 1 -0.1374154 +39 Y 90 0 64.1 h 4 -1.63 +39 Y 90 682.03 3.19 h 14 5.1 +39 Y 91 0 58.51 d 1 0.1641 +40 Zr 88 2887.79 1.32 ms 16 -1.811 +40 Zr 90 2319 809.2 ms 10 6.25 +40 Zr 91 0 -1 y 5 -1.30362 +40 Zr 91 3167.3 4.35 ms 21 9.82 +41 Nb 90 0 14.6 h 16 4.961 +41 Nb 90 122.37 63 ms 12 3.72 +41 Nb 91 2034.36 3.76 ms 17 10.82 +41 Nb 91 3467.03 0 y 21 12.4 +41 Nb 92 135.5 10.15 d 4 6.137 +41 Nb 92 225.7 5.9 ms 4 -1.398 +41 Nb 93 0 -1 y 9 6.1705 +41 Nb 95 0 34.975 d 9 6.141 +41 Nb 96 0 23.35 h 12 4.976 +41 Nb 97 0 72.1 m 9 6.153 +42 Mo 90 2875.1 1.12 ms 16 -1.391 +42 Mo 93 2424.89 6.85 h 21 9.93 +42 Mo 95 0 -1 y 5 -0.9142 +42 Mo 97 0 -1 y 5 -0.9335 +42 Mo 99 0 65.94 h 1 0.375 +42 Mo 99 97.785 15.5 ms 5 -0.775 +43 Tc 93 0 2.75 h 9 6.26 +43 Tc 93 2185.16 10.2 ms 17 10.46 +43 Tc 94 0 293 m 14 5.08 +43 Tc 95 0 20 h 9 5.89 +43 Tc 96 0 4.28 d 14 5.04 +43 Tc 99 0 2.111E+5 y 9 5.6847 +44 Ru 93 2082.5 2.15 ms 21 8.97 +44 Ru 94 2644.55 71 ms 16 11.1 +44 Ru 95 0 1.643 h 5 0 +44 Ru 97 0 2.9 d 5 0 +44 Ru 99 0 -1 y 5 -0.641 +44 Ru 101 0 -1 y 5 -0.7188 +44 Ru 103 0 39.26 d 3 0 +44 Ru 105 0 4.44 h 3 0 +45 Rh 99 64.3 4.7 h 9 5.668 +45 Rh 101 157.32 4.34 d 9 5.475 +45 Rh 102 0 207 d 2 0.45 +45 Rh 102 140.75 2.9 y 12 4.044 +45 Rh 103 0 -1 y 1 -0.0884 +45 Rh 103 39.756 56.12 m 7 4.54 +45 Rh 105 0 35.36 h 7 4.452 +45 Rh 106 0 29.8 s 2 2.575 +46 Pd 96 2530.8 2.22 ms 16 10.97 +46 Pd 101 0 8.47 h 5 0 +46 Pd 105 0 -1 y 5 -0.642 +47 Ag 101 0 11.1 m 9 5.627 +47 Ag 102 0 12.9 m 10 4.6 +47 Ag 102 9.3 7.7 m 4 4.14 +47 Ag 103 0 65.7 m 7 4.47 +47 Ag 104 0 69.2 m 10 3.919 +47 Ag 104 6.9 33.5 m 4 3.7 +47 Ag 105 0 41.29 d 1 0.1014 +47 Ag 105 25.465 7.23 m 7 4.414 +47 Ag 106 0 23.96 m 2 2.85 +47 Ag 106 89.66 8.28 d 12 3.709 +47 Ag 107 0 -1 y 1 -0.11357 +47 Ag 107 93.13 44.3 s 7 4.398 +47 Ag 108 0 2.37 m 2 2.6884 +47 Ag 108 109.44 418 y 12 3.58 +47 Ag 109 0 -1 y 1 -0.130563 +47 Ag 109 88.0341 39.6 s 7 4.4 +47 Ag 110 0 24.6 s 2 2.7271 +47 Ag 110 117.59 249.79 d 12 3.607 +47 Ag 111 0 7.45 d 1 -0.146 +47 Ag 112 0 3.13 h 4 0.0547 +47 Ag 113 0 5.37 h 1 0.159 +48 Cd 103 0 7.3 m 5 -0.81 +48 Cd 105 0 55.5 m 5 -0.7393 +48 Cd 105 2517.3 0 y 21 9.17 +48 Cd 107 0 6.5 h 5 -0.6150554 +48 Cd 109 0 462.6 d 5 -0.8278461 +48 Cd 109 463 10.9 ms 11 -1.096 +48 Cd 111 0 -1 y 1 -0.5948861 +48 Cd 111 396.22 48.54 m 11 -1.1051 +48 Cd 113 0 9.3E+15 y 1 -0.6223009 +48 Cd 113 263.59 14.1 y 11 -1.087784 +48 Cd 115 0 53.46 h 1 -0.6484259 +48 Cd 115 181 44.6 d 11 -1.0410343 +49 In 105 0 5.07 m 9 5.675 +49 In 106 0 6.2 m 14 4.916 +49 In 107 0 32.4 m 9 5.585 +49 In 108 0 58 m 14 4.561 +49 In 108 29.75 39.6 m 4 4.935 +49 In 109 0 4.2 h 9 5.538 +49 In 110 0 4.9 h 14 4.713 +49 In 110 62.09 69.1 m 4 4.365 +49 In 111 0 2.8049 d 9 5.503 +49 In 112 0 14.97 m 2 2.82 +49 In 112 156.58 20.56 m 8 5.277 +49 In 112 350.82 0.69 ms 14 4.725 +49 In 112 613.73 2.81 ms 16 3.08 +49 In 113 0 -1 y 9 5.5289 +49 In 113 391.691 1.6582 h 1 -0.21074 +49 In 114 0 71.9 s 2 2.817 +49 In 114 190.34 49.51 d 10 4.653 +49 In 115 0 4.41E+14 y 9 5.5408 +49 In 115 336.24 4.486 h 1 -0.24398 +49 In 116 0 14.1 s 2 2.7863 +49 In 116 127.267 54.41 m 10 4.435 +49 In 116 289.66 2.18 s 16 3.215 +49 In 117 0 43.2 m 9 5.519 +49 In 117 315.302 116.2 m 1 -0.25174 +49 In 118 60 4.45 m 10 4.231 +49 In 118 200 8.5 s 16 3.321 +49 In 119 0 2.4 m 9 5.515 +49 In 119 311.37 18 m 1 -0.319 +49 In 120 0 46.2 s 6 4.295 +49 In 120 0 47.3 s 16 3.692 +49 In 121 0 23.1 s 9 5.502 +49 In 121 313.69 3.88 m 1 -0.355 +49 In 122 0 10.3 s 10 3.781 +49 In 122 220 10.8 s 16 4.318 +49 In 123 0 5.98 s 9 5.491 +49 In 123 327.21 47.8 s 1 -0.4 +49 In 124 0 3.17 s 6 4.043 +49 In 124 190 2.4 s 10 0 +49 In 125 0 2.36 s 9 5.502 +49 In 125 360.12 12.2 s 1 -0.433 +49 In 126 0 1.6 s 6 4.034 +49 In 126 102 1.64 s 14 4.061 +49 In 127 0 1.09 s 9 5.522 +50 Sn 109 0 18 m 5 -1.079 +50 Sn 111 0 35.3 m 7 0.608 +50 Sn 113 0 115.09 d 1 -0.8791 +50 Sn 115 0 -1 y 1 -0.91883 +50 Sn 115 612.8 3.26 ms 7 0.683 +50 Sn 115 713.4 159 ms 11 -1.378 +50 Sn 117 0 -1 y 1 -1.00104 +50 Sn 117 314.58 13.6 d 11 -1.3955 +50 Sn 118 3108.07 2.52 ms 18 -2.447 +50 Sn 119 0 -1 y 1 -1.04728 +50 Sn 119 89.531 293.1 d 11 -1.4 +50 Sn 121 0 27.06 h 3 0.6978 +50 Sn 121 6.3 55 y 11 -1.3877 +50 Sn 123 0 129.2 d 11 -1.37 +50 Sn 125 0 9.64 d 11 -1.348 +51 Sb 112 796.4 0.56 ms 16 2.192 +51 Sb 114 495.5 219 ms 16 2.265 +51 Sb 115 0 32.1 m 5 3.46 +51 Sb 116 0 15.8 m 6 2.715 +51 Sb 117 0 2.8 h 5 3.43 +51 Sb 117 3130.7 355 ms 25 1.5 +51 Sb 118 0 3.6 m 2 2.47 +51 Sb 118 50.811 20.6 ms 4 2.63 +51 Sb 118 249 5 h 16 2.32 +51 Sb 119 0 38.19 h 5 3.45 +51 Sb 120 0 5.76 d 16 2.571 +51 Sb 120 0 15.89 m 2 2.34 +51 Sb 121 0 -1 y 5 3.3634 +51 Sb 122 0 2.7 d 4 -1.905 +51 Sb 122 61.4131 1.86 ms 6 2.983 +51 Sb 122 137.4726 0.53 ms 10 3.05 +51 Sb 123 0 -1 y 7 2.5498 +51 Sb 124 0 60.2 d 6 1.2 +51 Sb 124 40.804 3.2 ms 6 2.97 +51 Sb 125 0 2.7582 y 7 2.63 +51 Sb 126 0 12.46 d 16 1.28 +51 Sb 127 0 3.85 d 7 2.59 +51 Sb 128 0 9.01 h 16 1.31 +52 Te 115 280.3 7.5 ms 11 -0.954 +52 Te 119 0 16.03 h 1 0.25 +52 Te 119 260.96 4.7 d 11 0.894 +52 Te 121 293.98 154 d 11 0.895 +52 Te 123 0 1E+13 y 1 -0.7369478 +52 Te 123 247.55 119.7 d 11 -0.927 +52 Te 125 0 -1 y 1 -0.88850513 +52 Te 125 144.795 57.4 d 11 -0.985 +52 Te 127 0 9.35 h 3 0.635 +52 Te 127 88.26 109 d 11 -1.041 +52 Te 129 0 69.6 m 3 0.702 +52 Te 129 105.5 33.6 d 11 -1.091 +52 Te 131 0 25 m 3 0.696 +52 Te 131 182.25 30 h 11 -1.04 +52 Te 135 1555.3 0.51 ms 19 -3.8 +53 I 117 0 2.22 m 5 3.1 +53 I 118 0 8.5 m 14 4.2 +53 I 118 0 13.7 m 4 2 +53 I 119 0 19.1 m 5 2.9 +53 I 120 0 53 m 8 0 +53 I 120 0 81 m 4 1.23 +53 I 121 0 2.12 h 5 2.3 +53 I 122 0 3.63 m 2 0.94 +53 I 123 0 13.27 h 5 2.818 +53 I 124 0 4.18 d 4 1.14 +53 I 125 0 59.408 d 5 2.821 +53 I 126 0 13.11 d 4 1.436 +53 I 127 0 -1 y 5 2.81327 +53 I 128 137.849 0.845 ms 8 -0.72 +53 I 129 0 1.57E+7 y 7 2.621 +53 I 131 0 8.0207 d 7 2.742 +53 I 132 0 2.295 h 8 3.088 +53 I 133 0 20.8 h 7 2.856 +54 Xe 117 0 61 s 5 -0.5938 +54 Xe 119 0 5.8 m 5 0.59 +54 Xe 121 0 40.1 m 5 0.65 +54 Xe 123 185.18 5.49 ms 7 -0.902 +54 Xe 127 0 36.4 d 1 -0.5039 +54 Xe 129 0 -1 y 1 -0.7779763 +54 Xe 129 236.14 8.88 d 11 -0.891223 +54 Xe 131 0 -1 y 3 0.6918619 +54 Xe 131 163.931 11.84 d 11 -0.994048 +54 Xe 132 2752.27 8.39 ms 20 0 +54 Xe 133 0 5.243 d 3 0.8134 +54 Xe 133 233.221 2.19 d 11 -1.08247 +54 Xe 135 0 9.14 h 3 0.90305 +54 Xe 135 526.551 15.29 m 11 1.10304 +54 Xe 137 0 3.818 m 7 -0.9704 +54 Xe 139 0 39.68 s 3 -0.304 +54 Xe 141 0 1.73 s 5 0.01 +54 Xe 143 0 0.3 s 5 -0.4599 +55 Cs 118 0 14 s 4 3.876 +55 Cs 118 0 17 s 12 5.4 +55 Cs 119 0 30.4 s 3 5.46 +55 Cs 119 0 43 s 9 0.838 +55 Cs 120 0 64 s 4 3.87 +55 Cs 121 0 155 s 3 0.77 +55 Cs 121 68.5 122 s 9 5.41 +55 Cs 122 0 21 s 2 -0.1333 +55 Cs 122 500 4.5 m 16 4.77 +55 Cs 123 0 5.94 m 1 1.377 +55 Cs 124 0 30.8 s 2 0.673 +55 Cs 125 0 45 m 1 1.409 +55 Cs 126 0 1.64 m 2 0.777 +55 Cs 127 0 6.25 h 1 1.459 +55 Cs 128 0 3.66 m 2 0.974 +55 Cs 129 0 32.06 h 1 1.491 +55 Cs 129 575.44 0.69 ms 11 6.55 +55 Cs 130 0 29.21 m 2 1.46 +55 Cs 130 163.25 3.46 m 10 0.629 +55 Cs 131 0 9.689 d 5 3.543 +55 Cs 132 0 6.479 d 4 2.222 +55 Cs 133 0 -1 y 7 2.582025 +55 Cs 134 0 2.062 y 8 2.9937 +55 Cs 134 138.7474 2.91 h 16 1.0978 +55 Cs 135 0 2.3E+6 y 7 2.7324 +55 Cs 135 1632.9 53 m 19 2.18 +55 Cs 136 0 13.16 d 10 3.711 +55 Cs 136 0 19 s 16 1.319 +55 Cs 137 0 30.07 y 7 2.8413 +55 Cs 138 0 33.41 m 6 0.7 +55 Cs 138 79.9 2.91 m 12 1.713 +55 Cs 139 0 9.27 m 7 2.696 +55 Cs 140 0 63.7 s 2 0.1338953 +55 Cs 141 0 24.94 s 7 2.438 +55 Cs 143 0 1.78 s 3 0.87 +55 Cs 144 0 1.01 s 2 -0.546 +55 Cs 145 0 0.594 s 3 0.784 +55 Cs 146 0 0.343 s 2 -0.515 +56 Ba 121 0 29.7 s 5 0.66 +56 Ba 123 0 2.7 m 5 -0.68 +56 Ba 125 0 3.5 m 1 0.177 +56 Ba 127 0 12.7 m 1 0.089 +56 Ba 127 80.2 1.9 s 7 -0.7227 +56 Ba 129 0 2.23 h 1 -0.398 +56 Ba 129 8.42 2.17 h 7 0.93 +56 Ba 131 0 11.5 d 1 0.708113 +56 Ba 131 187.14 14.6 m 9 -0.87 +56 Ba 133 0 10.52 y 1 -0.771674 +56 Ba 133 288.247 38.9 h 11 -0.91 +56 Ba 134 2956.9 2.6 ms 20 -2 +56 Ba 135 0 -1 y 3 0.837943 +56 Ba 135 268.219 28.7 h 11 -1.001 +56 Ba 137 0 -1 y 3 0.937365 +56 Ba 137 661.66 2.552 m 11 -0.992 +56 Ba 138 2090.55 0.8 ms 12 5.86 +56 Ba 139 0 83.06 m 7 -0.973 +56 Ba 141 0 18.27 m 3 -0.337 +56 Ba 143 0 14.33 s 5 0.443 +56 Ba 145 0 4.31 s 5 -0.285 +57 La 137 0 60000 y 7 2.695 +57 La 138 0 1.05E+11 y 10 3.713646 +57 La 139 0 -1 y 7 2.7830455 +57 La 140 0 1.6781 d 6 0.73 +58 Ce 136 3095.5 2.2 ms 20 -1.8 +58 Ce 137 0 9 h 3 0.96 +58 Ce 137 254.29 34.4 h 11 1.01 +58 Ce 139 0 137.64 d 3 0.91 +58 Ce 141 0 32.501 d 7 1.09 +58 Ce 143 0 33.039 h 3 1 +59 Pr 141 0 -1 y 5 4.2754 +59 Pr 142 0 19.12 h 4 0.234 +59 Pr 142 3.6815 14.6 m 10 2.2 +60 Nd 135 0 12.4 m 9 0.78 +60 Nd 137 0 38.5 m 1 -0.633 +60 Nd 138 3173.8 0.41 ms 20 -1.74 +60 Nd 139 0 29.7 m 3 0.907 +60 Nd 141 0 2.49 h 3 1.013 +60 Nd 143 0 -1 y 7 -1.065 +60 Nd 145 0 -1 y 7 -0.656 +60 Nd 147 0 10.98 d 5 0.578 +60 Nd 149 0 1.728 h 5 0.351 +61 Pm 143 0 265 d 5 3.8 +61 Pm 144 0 363 d 10 1.69 +61 Pm 147 0 2.6234 y 7 2.58 +61 Pm 148 0 5.37 d 2 2.08 +61 Pm 148 137.9 41.29 d 12 1.82 +61 Pm 149 0 53.08 h 7 3.3 +61 Pm 151 0 28.4 h 5 1.8 +62 Sm 139 0 2.57 m 1 -0.53 +62 Sm 141 0 10.2 m 1 -0.737 +62 Sm 141 175.8 22.6 m 11 -0.83 +62 Sm 143 0 8.83 m 3 1.01 +62 Sm 145 0 340 d 7 -1.11 +62 Sm 147 0 1.06E+11 y 7 -0.8148 +62 Sm 149 0 2E+15 y 7 -0.6717 +62 Sm 150 1278.91 0 y 12 2.3 +62 Sm 151 0 90 y 5 -0.363 +62 Sm 153 0 46.27 h 3 -0.0216 +62 Sm 155 0 22.3 m 3 1.13 +63 Eu 138 0 12.1 s 12 5.2 +63 Eu 140 0 1.51 s 2 1.365 +63 Eu 141 0 40 s 5 3.494 +63 Eu 142 0 1.22 m 16 2.978 +63 Eu 142 0 2.34 s 2 1.536 +63 Eu 143 0 2.63 m 5 3.673 +63 Eu 144 0 10.2 s 2 1.893 +63 Eu 145 0 5.93 d 5 3.993 +63 Eu 146 0 4.59 d 8 1.425 +63 Eu 147 0 24.1 d 5 3.724 +63 Eu 147 625.3 0.765 ms 11 7.05 +63 Eu 148 0 54.5 d 10 2.34 +63 Eu 149 0 93.1 d 5 3.565 +63 Eu 149 496.386 2.45 ms 11 6.99 +63 Eu 150 0 35.8 y 10 2.708 +63 Eu 151 0 -1 y 5 3.4717 +63 Eu 152 0 13.542 y 6 -1.9414 +63 Eu 153 0 -1 y 5 1.533 +63 Eu 154 0 8.593 y 6 -2.005 +63 Eu 155 0 4.7611 y 5 1.56 +63 Eu 157 0 15.18 h 5 1.5 +63 Eu 158 0 45.9 m 2 1.44 +63 Eu 159 0 18.1 m 5 1.38 +64 Gd 147 0 38.06 h 7 1.02 +64 Gd 149 0 9.28 d 7 0.88 +64 Gd 151 0 124 d 7 0.77 +64 Gd 153 0 241.6 d 3 0.38 +64 Gd 155 0 -1 y 3 -0.2591 +64 Gd 157 0 -1 y 3 -0.3398 +64 Gd 157 63.917 0.46 ms 5 -0.464 +64 Gd 158 538.983 0 y 12 2.46 +64 Gd 159 0 18.479 h 3 -0.44 +64 Gd 160 248.45 0 y 8 1.5 +64 Gd 160 514.76 0 y 12 2.3 +64 Gd 160 1308 0 y 20 3.3 +65 Tb 149 0 4.118 h 1 1.35 +65 Tb 152 0 17.5 h 4 0.9 +65 Tb 153 0 2.34 d 5 3.5 +65 Tb 154 0 9.4 h 6 1.8 +65 Tb 154 0 22.7 h 14 0.9 +65 Tb 155 0 5.32 d 3 2 +65 Tb 156 0 5.35 d 6 1.41 +65 Tb 157 0 99 y 3 2 +65 Tb 158 0 180 y 6 1.758 +65 Tb 159 0 -1 y 3 2.014 +65 Tb 160 0 72.3 d 6 1.79 +65 Tb 161 0 6.88 d 3 2.2 +66 Dy 147 0 40 s 1 -0.915 +66 Dy 147 750.5 55 s 11 -0.655 +66 Dy 149 0 4.2 m 7 -0.119 +66 Dy 151 0 17.9 m 7 -0.945 +66 Dy 153 0 6.4 h 7 -0.782 +66 Dy 155 0 9.9 h 3 -0.385 +66 Dy 157 0 8.14 h 3 -0.301 +66 Dy 159 0 144.4 d 3 -0.354 +66 Dy 161 0 -1 y 5 -0.4803 +66 Dy 163 0 -1 y 5 0.6726 +66 Dy 165 0 2.334 h 7 -0.52 +67 Ho 152 0 161.8 s 4 -1.02 +67 Ho 152 160 49.5 s 18 5.94 +67 Ho 153 0 2 m 11 6.81 +67 Ho 153 68 9.3 m 1 1.19 +67 Ho 154 0 11.76 m 4 -0.643 +67 Ho 154 320 3.1 m 16 5.65 +67 Ho 155 0 48 m 5 3.5 +67 Ho 156 0 56 m 8 2.99 +67 Ho 157 0 12.6 m 7 4.35 +67 Ho 158 0 11.3 m 10 3.77 +67 Ho 158 67.2 28 m 4 2.44 +67 Ho 159 0 33.05 m 7 4.28 +67 Ho 160 0 25.6 m 10 3.7 +67 Ho 160 59.98 5.02 h 4 2.51 +67 Ho 161 0 2.48 h 7 4.25 +67 Ho 162 0 15 m 2 2.32 +67 Ho 162 106 67 m 12 3.6 +67 Ho 163 0 4570 y 7 4.23 +67 Ho 165 0 -1 y 7 4.132 +67 Ho 166 5.985 1200 y 14 3.6 +68 Er 153 0 37.1 s 7 -0.934 +68 Er 155 0 5.3 m 7 -0.669 +68 Er 157 0 18.65 m 3 -0.412 +68 Er 159 0 36 m 3 -0.304 +68 Er 161 0 3.21 h 3 -0.365 +68 Er 163 0 75 m 5 0.557 +68 Er 165 0 10.36 h 5 0.643 +68 Er 166 545.455 0 y 12 1.55 +68 Er 166 1215.964 0 y 12 1.52 +68 Er 167 0 -1 y 7 -0.56385 +68 Er 169 0 9.4 d 1 0.515 +68 Er 171 0 7.516 h 5 0.659 +69 Tm 156 0 83.8 s 4 0.4 +69 Tm 157 0 3.63 m 1 0.476 +69 Tm 158 0 3.98 m 4 0.042 +69 Tm 159 0 9.13 m 5 3.42 +69 Tm 160 0 9.4 m 2 0.156 +69 Tm 161 0 33 m 7 2.4 +69 Tm 162 0 21.7 m 2 0.068 +69 Tm 163 0 1.81 h 1 -0.082 +69 Tm 164 0 2 m 2 2.37 +69 Tm 165 0 30.06 h 1 -0.139 +69 Tm 166 0 7.7 h 4 0.092 +69 Tm 167 0 9.25 d 1 -0.197 +69 Tm 168 0 93.1 d 6 0.227 +69 Tm 169 0 -1 y 1 -0.2316 +69 Tm 170 0 128.6 d 2 0.2476 +69 Tm 171 0 1.92 y 1 -0.2303 +70 Yb 155 0 1.75 s 7 -0.84 +70 Yb 157 0 38.6 s 7 -0.639 +70 Yb 159 0 1.58 m 5 -0.366 +70 Yb 161 0 4.2 m 3 -0.327 +70 Yb 163 0 11.05 m 3 -0.374 +70 Yb 165 0 9.9 m 5 0.478 +70 Yb 167 0 17.5 m 5 0.623 +70 Yb 169 0 32.026 d 7 -0.635 +70 Yb 169 24.199 46 s 1 0.507 +70 Yb 170 277.45 0 y 8 1.3 +70 Yb 170 573.54 0 y 12 1.9 +70 Yb 171 0 -1 y 1 0.49367 +70 Yb 172 1757.367 0 y 4 -3.44 +70 Yb 172 1821.583 0 y 6 1.97 +70 Yb 173 0 -1 y 5 -0.67989 +70 Yb 175 0 4.185 d 7 0.58 +71 Lu 171 0 8.24 d 7 2.03 +71 Lu 172 0 6.7 d 8 2.25 +71 Lu 173 0 1.37 y 7 2.34 +71 Lu 174 0 3.31 y 2 1.94 +71 Lu 174 170.83 142 d 12 2.34 +71 Lu 175 0 -1 y 7 2.2327 +71 Lu 176 0 3.78E+10 y 14 3.1692 +71 Lu 176 123 3.635 h 2 0.318 +71 Lu 177 0 6.734 d 7 2.239 +71 Lu 177 970.1749 160.4 d 23 2.93 +71 Lu 179 0 4.59 h 7 3.3 +72 Hf 172 1037.47 0 y 16 1.1 +72 Hf 175 0 70 d 5 0.539 +72 Hf 177 0 -1 y 7 0.7935 +72 Hf 178 1147.423 4 s 16 1.4 +72 Hf 178 2446.05 31 y 32 7.36 +72 Hf 179 0 -1 y 9 -0.6409 +72 Hf 179 1105.84 25.05 d 25 7.4 +72 Hf 180 1141.48 5.5 h 16 8.7 +73 Ta 173 0 3.14 h 5 1.703 +73 Ta 175 0 10.5 h 7 2.27 +73 Ta 177 0 56.56 h 7 2.25 +73 Ta 177 186.1 3.6 ms 5 2.05 +73 Ta 177 1355.4 5.02 ms 21 0.08 +73 Ta 178 0 9.31 m 2 2.74 +73 Ta 180 75.3 1.2E+15 y 18 4.77 +73 Ta 181 0 -1 y 7 2.3705 +73 Ta 181 6.238 6.05 ms 9 5.28 +73 Ta 182 0 114.43 d 6 3.02 +73 Ta 183 0 5.1 d 7 2.36 +74 W 183 0 1.1E+17 y 1 0.11778476 +74 W 187 0 23.72 h 3 0.621 +75 Re 179 0 19.5 m 5 2.8 +75 Re 181 0 19.9 h 5 3.19 +75 Re 182 0 12.7 h 4 2.84 +75 Re 182 0 64 h 14 3.26 +75 Re 183 0 70 d 5 3.168 +75 Re 184 0 38 d 6 2.53 +75 Re 184 188.01 169 d 16 2.86 +75 Re 185 0 -1 y 5 3.1871 +75 Re 186 0 90.64 h 2 1.739 +75 Re 187 0 4.35E+10 y 5 3.2197 +75 Re 188 0 16.98 h 2 1.788 +76 Os 183 0 13 h 9 0 +76 Os 187 0 -1 y 1 0.06465189 +76 Os 188 2121.2 0 y 6 1.69 +76 Os 189 0 -1 y 3 0.659933 +76 Os 190 1705.4 9.9 m 20 -0.56 +76 Os 191 0 15.4 d 9 2.53 +76 Os 193 0 30.5 h 3 0.75 +77 Ir 184 0 3.09 h 10 0.696 +77 Ir 185 0 14.4 h 5 2.605 +77 Ir 186 0 16.64 h 10 3.88 +77 Ir 188 0 41.5 h 2 0.302 +77 Ir 189 0 13.2 d 3 0.13 +77 Ir 190 0 11.78 d 8 0.04 +77 Ir 191 0 -1 y 3 0.1507 +77 Ir 191 171.28 4.94 s 11 6.026 +77 Ir 192 0 73.831 d 8 1.924 +77 Ir 193 0 -1 y 3 0.1637 +77 Ir 194 0 19.15 h 2 0.39 +78 Pt 183 0 6.5 m 1 0.521 +78 Pt 185 0 70.9 m 9 -0.83 +78 Pt 185 103.4 33 m 1 0.54 +78 Pt 187 0 2.35 h 3 -0.397 +78 Pt 189 0 10.87 h 3 0.434 +78 Pt 191 0 2.9 d 3 -0.5 +78 Pt 193 149.78 4.33 d 13 0 +78 Pt 195 0 -1 y 1 0.60952 +78 Pt 195 259.3 4.02 d 13 0.606 +78 Pt 197 0 18.3 h 1 0.51 +79 Au 185 0 4.25 m 5 2.17 +79 Au 186 0 10.7 m 6 -1.26 +79 Au 187 0 8.4 m 1 0.531 +79 Au 188 0 8.84 m 2 -0.067 +79 Au 189 0 28.7 m 1 0.49 +79 Au 189 247.23 4.59 m 11 6.19 +79 Au 190 0 42.8 m 2 -0.065 +79 Au 191 0 3.18 h 3 0.137 +79 Au 191 266.2 0.92 s 11 6.6 +79 Au 192 0 4.94 h 2 -0.009 +79 Au 193 0 17.65 h 3 0.14 +79 Au 193 290.17 3.9 s 11 6.18 +79 Au 194 0 38.02 h 2 0.075 +79 Au 195 0 186.09 d 3 0.149 +79 Au 196 0 6.183 d 4 0.5906 +79 Au 196 595.66 9.7 h 24 5.72 +79 Au 197 0 -1 y 3 0.145746 +79 Au 197 409.15 7.73 s 11 5.98 +79 Au 198 0 2.69517 d 4 0.5934 +79 Au 198 811.7 2.3 d 24 5.85 +79 Au 199 0 3.139 d 3 0.2715 +79 Au 200 962 18.7 h 24 5.9 +80 Hg 181 0 3.6 s 1 0.5071 +80 Hg 183 0 9.4 s 1 0.524 +80 Hg 185 0 49.1 s 1 0.508 +80 Hg 185 99.3 21.6 s 13 -1.017 +80 Hg 187 0 2.4 m 13 -1.044 +80 Hg 187 134 1.9 m 3 -0.594 +80 Hg 189 0 7.6 m 3 -1.058 +80 Hg 189 0 8.6 m 13 -0.6086 +80 Hg 191 0 49 m 3 -1.068 +80 Hg 191 0 50.8 m 13 -0.618 +80 Hg 193 0 3.8 h 3 -0.62757 +80 Hg 193 140.76 11.8 h 13 -1.0584297 +80 Hg 195 0 9.9 h 1 0.5414749 +80 Hg 195 176.07 41.6 h 13 -1.0446473 +80 Hg 196 1061.5 0 y 8 -0.31 +80 Hg 197 0 64.14 h 1 0.5273744 +80 Hg 197 298.93 23.8 h 13 -1.0276844 +80 Hg 199 0 -1 y 1 0.5058855 +80 Hg 199 532.48 42.6 m 13 -1.014703 +80 Hg 201 0 -1 y 3 -0.5602257 +80 Hg 203 0 46.612 d 5 0.84895 +80 Hg 205 0 5.2 m 1 0.601 +80 Hg 206 2102.6 2.15 ms 10 5.45 +81 Tl 188 0 71 s 14 0.5 +81 Tl 189 281 1.4 m 9 3.8776 +81 Tl 190 0 2.6 m 4 0.25 +81 Tl 190 0 3.7 m 14 0.495 +81 Tl 191 0 -1 y 1 1.588 +81 Tl 191 299 5.22 m 9 3.9034 +81 Tl 192 0 9.6 m 4 0.2 +81 Tl 192 0 10.8 m 14 0.518 +81 Tl 193 0 21.6 m 1 1.5912 +81 Tl 193 365.2 2.11 m 9 3.9482 +81 Tl 194 0 33 m 4 0.14 +81 Tl 194 0 32.8 m 14 0.54 +81 Tl 195 0 1.16 h 1 1.58 +81 Tl 196 0 1.84 h 4 0.07 +81 Tl 197 0 2.84 h 1 1.58 +81 Tl 198 0 5.3 h 4 0 +81 Tl 198 543.5 1.87 h 14 0.641 +81 Tl 199 0 7.42 h 1 1.6 +81 Tl 200 0 26.1 h 4 0.04 +81 Tl 201 0 72.912 h 1 1.6051 +81 Tl 202 0 12.23 d 4 0.06 +81 Tl 202 950.19 572 ms 14 0.9 +81 Tl 203 0 -1 y 1 1.62225787 +81 Tl 204 0 3.78 y 4 0.09 +81 Tl 204 1104 63 ms 14 1.187 +81 Tl 205 0 -1 y 1 1.63821461 +81 Tl 205 2623.11 0 y 5 0.71 +81 Tl 205 3290.63 2.6 ms 21 6.8 +81 Tl 207 0 4.77 m 1 1.876 +82 Pb 191 138 2.18 m 13 -1.176 +82 Pb 192 2626 1.1 ms 24 -2.076 +82 Pb 195 203 15 m 13 -1.1318 +82 Pb 197 0 8 m 3 -1.0753 +82 Pb 197 319.3 43 m 13 -1.1045 +82 Pb 197 1913.3 1.15 ms 21 -0.531 +82 Pb 198 2141.4 4.19 ms 14 -0.3768 +82 Pb 199 0 90 m 3 -1.0742 +82 Pb 199 2564 10.2 ms 29 -1.076 +82 Pb 201 0 9.33 h 5 0.6753 +82 Pb 202 2169.84 3.53 h 18 -0.2276 +82 Pb 203 0 51.873 h 5 0.6864 +82 Pb 205 0 1.53E+7 y 5 0.7117 +82 Pb 205 1013.839 5.54 ms 13 -0.975 +82 Pb 206 2200.21 125.3 ms 14 -0.1519 +82 Pb 207 0 -1 y 1 0.592583 +82 Pb 209 0 3.253 h 9 -1.4735 +82 Pb 211 0 36.1 m 9 -1.4037 +83 Bi 199 0 27 m 9 4.6 +83 Bi 202 615 3.04 ms 20 2.54 +83 Bi 203 0 11.76 h 9 4.62 +83 Bi 204 0 11.22 h 12 4.28 +83 Bi 204 805.5 13 ms 20 2.591 +83 Bi 205 0 15.31 d 9 4.16 +83 Bi 206 0 6.243 d 12 4.6 +83 Bi 206 1044.8 0.89 ms 20 2.644 +83 Bi 207 0 31.55 y 9 4.081 +83 Bi 207 2101.49 182 ms 21 3.412 +83 Bi 208 1571.1 2.58 ms 20 2.672 +83 Bi 209 0 -1 y 9 4.1106 +83 Bi 210 0 5.013 d 2 -0.04451 +84 Po 199 310 4.13 m 13 0 +84 Po 201 0 15.3 m 3 0.74 +84 Po 201 424 8.9 m 13 0.99 +84 Po 203 0 36.7 m 5 0.742 +84 Po 205 0 1.66 h 5 0.76 +84 Po 205 880.3 645 ms 13 -0.953 +84 Po 207 0 5.8 h 5 0.793 +84 Po 207 1115.073 49 ms 13 -0.91 +84 Po 209 0 102 y 1 0.77 +85 At 208 2275.8 1.5 ms 15 1.69 +85 At 209 2429.25 0.89 ms 29 15.38 +85 At 210 2549.6 0.48 ms 30 15.675 +85 At 210 4027.7 5.9 ms 38 13.26 +85 At 211 4816.2 4.2 ms 39 13.46 +86 Rn 203 361 28 s 13 -0.96 +86 Rn 205 0 2.8 m 5 0.802 +86 Rn 207 0 9.25 m 5 0.816 +86 Rn 207 899 181 ms 13 -0.903 +86 Rn 209 0 28.5 m 5 0.83881 +86 Rn 210 3812 1.06 ms 34 17.88 +86 Rn 210 6468.3 1.04 ms 44 15.42 +86 Rn 211 0 14.6 h 1 0.601 +86 Rn 212 1694 0.91 ms 16 7.152 +86 Rn 213 1664 1 ms 25 7.63 +86 Rn 213 2186.7 1.36 ms 31 9.9 +86 Rn 219 0 3.96 s 5 -0.442 +86 Rn 221 0 25 m 7 -0.02 +86 Rn 223 0 23.2 m 7 -0.776 +86 Rn 225 0 4.5 m 7 -0.696 +87 Fr 207 0 14.8 s 9 3.89 +87 Fr 208 0 59.1 s 14 4.75 +87 Fr 209 0 50 s 9 3.95 +87 Fr 210 0 3.18 m 12 4.4 +87 Fr 211 0 3.1 m 9 4 +87 Fr 212 0 20 m 10 4.62 +87 Fr 212 1551.4 31.9 ms 22 9.889 +87 Fr 213 0 34.6 s 9 4.02 +87 Fr 213 8094.7 3.1 ms 65 22.6 +87 Fr 220 0 27.4 s 2 -0.67 +87 Fr 221 0 4.9 m 5 1.58 +87 Fr 222 0 14.2 m 4 0.63 +87 Fr 223 0 21.8 m 3 1.17 +87 Fr 224 0 3.3 m 2 0.4 +87 Fr 225 0 4 m 3 1.07 +87 Fr 226 0 48 s 2 0.0712 +87 Fr 227 0 2.47 m 1 1.5 +87 Fr 228 0 39 s 4 -0.76 +88 Ra 209 0 4.6 s 5 0.865 +88 Ra 211 0 13 s 5 0.878 +88 Ra 212 1958.4 10.9 ms 16 7.104 +88 Ra 212 2613.4 0.85 ms 22 12.01 +88 Ra 213 0 2.74 m 1 0.6133 +88 Ra 214 1865.2 67 ms 16 7.08 +88 Ra 215 3737 0.59 ms 0 15.78 +88 Ra 221 0 28 s 5 -0.1799 +88 Ra 223 0 11.435 d 3 0.2705 +88 Ra 225 0 14.9 d 1 -0.7338 +88 Ra 227 0 42.2 m 3 -0.4038 +88 Ra 229 0 4 m 5 0.5025 +89 Ac 217 0 69 ns 9 3.825 +89 Ac 227 0 21.773 y 3 1.1 +90 Th 229 0 7340 y 5 0.46 +91 Pa 228 0 22 h 6 3.48 +91 Pa 230 0 17.4 d 4 2 +91 Pa 231 0 32760 y 3 2.01 +91 Pa 233 0 26.967 d 3 3.39 +92 U 233 0 159200 y 5 0.59 +92 U 235 0 7.038E+8 y 7 -0.38 +92 U 238 0 4.468E+9 y 0 0 +93 Np 237 0 2140000 y 5 3.14 +94 Pu 239 0 24110 y 1 0.203 +94 Pu 241 0 14.35 y 5 -0.683 +95 Am 241 0 432.2 y 5 1.61 +95 Am 242 0 16.02 h 2 0.3879 +95 Am 242 48.63 141 y 10 1 +95 Am 243 0 7370 y 5 1.53 +96 Cm 243 0 29.1 y 5 0.41 +96 Cm 245 0 8500 y 7 0.5 +96 Cm 247 0 1.56E+7 y 9 0.37 +97 Bk 249 0 320 d 7 2 +99 Es 253 0 20.47 d 7 4.1 diff --git a/source/particles/utils/include/G4HtmlPPReporter.hh b/source/particles/utils/include/G4HtmlPPReporter.hh index ec950faafa..27bfde7457 100644 --- a/source/particles/utils/include/G4HtmlPPReporter.hh +++ b/source/particles/utils/include/G4HtmlPPReporter.hh @@ -30,7 +30,7 @@ // and all its terms. // // $Id: G4HtmlPPReporter.hh,v 1.2 2006/06/29 19:27:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/particles/utils/include/G4IsotopeMagneticMomentTable.hh b/source/particles/utils/include/G4IsotopeMagneticMomentTable.hh new file mode 100644 index 0000000000..b2cad3708b --- /dev/null +++ b/source/particles/utils/include/G4IsotopeMagneticMomentTable.hh @@ -0,0 +1,118 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +#ifndef G4IsotopeMagneticMomentTable_h +#define G4IsotopeMagneticMomentTable_h 1 +// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +// +// MODULE: G4IsotopeMagneticMomentTable.hh +// +// Date: 16/03/07 +// Author: H.Kurashige +// +// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +// +// HISTORY +//////////////////////////////////////////////////////////////////////////////// +// +#include "globals.hh" +#include "G4IsotopeProperty.hh" +#include "G4VIsotopeTable.hh" +#include "G4Ions.hh" +#include "G4ParticleTable.hh" +#include "G4IonTable.hh" +#include "G4DecayTable.hh" + +#include + +//////////////////////////////////////////////////////////////////////////////// +// +class G4IsotopeMagneticMomentTable : public G4VIsotopeTable +{ + // class description + // G4IsotopeMagneticMomentTable is the table of pointers to G4IsotopeProperty, + // which has magnetic moment and spin. + // Data File name is given by G4IONMAGNETICMOMENT + // +public: + // + typedef std::vector G4IsotopeList; + typedef std::vector G4IsotopeNameList; + +public: + // constructor + // + G4IsotopeMagneticMomentTable (); + +protected: + // hide copy construictor as protected + G4IsotopeMagneticMomentTable(const G4IsotopeMagneticMomentTable &right); + +public: + // destructor + virtual ~G4IsotopeMagneticMomentTable(); + +public: + // with description + // + virtual G4bool FindIsotope(G4IsotopeProperty* property); + // The FindIsotope function will replace the pure virtual one defined in the + // abstract base class G4VIstopeTable. We don't use this fuction in this + // implementation, instead we use the next function. + // + virtual G4IsotopeProperty* GetIsotope(G4int Z, G4int A, G4double E); + // + // again it will replace the pure virtual one in the abstract base class. + // + // Z: Atomic Number + // A: Atomic Mass + // E: Excitaion energy + +private: + G4int GetVerboseLevel() const; + // get Verbose Level defined in G4ParticleTable + +private: + + G4IsotopeList fIsotopeList; + + static const G4double levelTolerance; + static const G4double nuclearMagneton; +}; + + +inline + G4int G4IsotopeMagneticMomentTable::GetVerboseLevel() const +{ + return G4ParticleTable::GetParticleTable()->GetVerboseLevel(); +} + +#endif + + + + + + diff --git a/source/particles/utils/include/G4SimplePPReporter.hh b/source/particles/utils/include/G4SimplePPReporter.hh index 482de7b1dd..8e0bedcc15 100644 --- a/source/particles/utils/include/G4SimplePPReporter.hh +++ b/source/particles/utils/include/G4SimplePPReporter.hh @@ -30,7 +30,7 @@ // and all its terms. // // $Id: G4SimplePPReporter.hh,v 1.2 2006/06/29 19:27:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/particles/utils/include/G4TextPPReporter.hh b/source/particles/utils/include/G4TextPPReporter.hh index b89c7cad64..c53b887d6a 100644 --- a/source/particles/utils/include/G4TextPPReporter.hh +++ b/source/particles/utils/include/G4TextPPReporter.hh @@ -30,7 +30,7 @@ // and all its terms. // // $Id: G4TextPPReporter.hh,v 1.2 2006/06/29 19:27:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/particles/utils/include/G4TextPPRetriever.hh b/source/particles/utils/include/G4TextPPRetriever.hh index 3ba21f8dd8..03e7e8c6b6 100644 --- a/source/particles/utils/include/G4TextPPRetriever.hh +++ b/source/particles/utils/include/G4TextPPRetriever.hh @@ -30,7 +30,7 @@ // and all its terms. // // $Id: G4TextPPRetriever.hh,v 1.2 2006/06/29 19:27:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/particles/utils/include/G4VParticlePropertyReporter.hh b/source/particles/utils/include/G4VParticlePropertyReporter.hh index bf8e714803..153e59bdb9 100644 --- a/source/particles/utils/include/G4VParticlePropertyReporter.hh +++ b/source/particles/utils/include/G4VParticlePropertyReporter.hh @@ -30,7 +30,7 @@ // and all its terms. // // $Id: G4VParticlePropertyReporter.hh,v 1.2 2006/06/29 19:27:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/particles/utils/include/G4VParticlePropertyRetriever.hh b/source/particles/utils/include/G4VParticlePropertyRetriever.hh index 84509ecfa0..39ffa69734 100644 --- a/source/particles/utils/include/G4VParticlePropertyRetriever.hh +++ b/source/particles/utils/include/G4VParticlePropertyRetriever.hh @@ -30,7 +30,7 @@ // and all its terms. // // $Id: G4VParticlePropertyRetriever.hh,v 1.2 2006/06/29 19:27:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/particles/utils/src/G4HtmlPPReporter.cc b/source/particles/utils/src/G4HtmlPPReporter.cc index 41b191cd86..9d310fb7ea 100644 --- a/source/particles/utils/src/G4HtmlPPReporter.cc +++ b/source/particles/utils/src/G4HtmlPPReporter.cc @@ -29,8 +29,8 @@ // based on the Program) you indicate your acceptance of this statement, // and all its terms. // -// $Id: G4HtmlPPReporter.cc,v 1.4 2006/06/29 19:27:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4HtmlPPReporter.cc,v 1.5 2007/03/11 07:17:35 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- @@ -222,6 +222,15 @@ void G4HtmlPPReporter::SparseOption(const G4String& option) outFile << sTR << sTD << sB << "Charge" << eB << eTD; outFile << sTD << particle->GetPDGCharge()/eplus; outFile << eTD << eTR << G4endl; + // Magnetic Moment + outFile << sTR << sTD << sB << "Magnetic Moment" << eB << eTD; + if (particle->GetPDGMagneticMoment() != 0.0){ + outFile << sTD << particle->GetPDGMagneticMoment()/MeV*tesla; + outFile << "[MeV/T]" << eTD << eTR << G4endl; + } else { + outFile << sTD << " not defined "; + outFile << eTD << eTR << G4endl; + } // life time outFile << sTR << sTD << sB << "Life Time" << eB << eTD; if ( particle->GetPDGLifeTime() >0.0 ) { diff --git a/source/particles/utils/src/G4IsotopeMagneticMomentTable.cc b/source/particles/utils/src/G4IsotopeMagneticMomentTable.cc new file mode 100644 index 0000000000..8c29bcb3ee --- /dev/null +++ b/source/particles/utils/src/G4IsotopeMagneticMomentTable.cc @@ -0,0 +1,203 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +// +// MODULE: G4IsotopeMagneticMomentTable.cc +// +// Date: 16/03/07 +// Author: H.Kurashige +// +// %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +// +// HISTORY +//////////////////////////////////////////////////////////////////////////////// +// +#include "G4IsotopeMagneticMomentTable.hh" + +#include "G4ios.hh" +#include "globals.hh" +#include +#include +#include + +const G4double G4IsotopeMagneticMomentTable::levelTolerance = 0.001; +// 0.1% torelance for excitation energy + +const G4double G4IsotopeMagneticMomentTable::nuclearMagneton = eplus*hbar_Planck/2./(proton_mass_c2 /c_squared); +// Nuclear Magneton + +/////////////////////////////////////////////////////////////////////////////// +G4IsotopeMagneticMomentTable::G4IsotopeMagneticMomentTable() +{ + if ( !getenv("G4IONMAGNETICMOMENT")) { +#ifdef G4VERBOSE + if (GetVerboseLevel()>1) { + G4cout << "G4IsotopeMagneticMomentTable::G4IsotopeMagneticMomentTable(): " + << "Please setenv G4IONMAGNETICMOMENT for the magnetic moment data." + << G4endl; + G4Exception( "G4IsotopeMagneticMomentTable", + "File Not Found", + JustWarning, + "Please setenv G4IONMAGNETICMOMENT"); + } +#endif + G4Exception( "G4IsotopeMagneticMomentTable", + "File Not Found", + JustWarning, + "Please setenv G4IONMAGNETICMOMENT"); + return; + } + + G4String file = getenv("G4IONMAGNETICMOMENT"); + std::ifstream DataFile(file); + + if (!DataFile ) { +#ifdef G4VERBOSE + if (GetVerboseLevel()>0) { + G4cout << "G4IsotopeMagneticMomentTable::G4IsotopeMagneticMomentTable(): " + << file << " is not found " << G4endl; + } +#endif + G4Exception( "G4IsotopeMagneticMomentTable", + "File Not Found", + JustWarning, + "Can not open G4IONMAGNETICMOMENT file"); + return; + } + + char inputChars[80]={' '}; + + while ( !DataFile.eof() ) { + DataFile.getline(inputChars, 80); + G4String inputLine = inputChars; + G4int ionA, ionZ, ionJ; + G4double ionE, ionMu, ionLife; + G4String ionName, ionLifeUnit; + + if (inputChars[0] != '#' && inputLine.length() != 0) { + std::istringstream tmpstream(inputLine); + tmpstream >> ionZ >> ionName >> ionA >> ionE + >> ionLife >> ionLifeUnit + >> ionJ >> ionMu; + + G4IsotopeProperty* fProperty = new G4IsotopeProperty(); + // Set Isotope Property + fProperty->SetAtomicNumber(ionZ); + fProperty->SetAtomicMass(ionA); + fProperty->SetEnergy(ionE * MeV); + fProperty->SetiSpin(ionJ); + fProperty->SetMagneticMoment(ionMu*nuclearMagneton); + + fIsotopeList.push_back(fProperty); + + //if (GetVerboseLevel()>2) { + // fProperty->DumpInfo(); + //} + + } + } + + DataFile.close(); +} + +/////////////////////////////////////////////////////////////////////////////// +G4IsotopeMagneticMomentTable::~G4IsotopeMagneticMomentTable() +{ + for (size_t i = 0 ; i< fIsotopeList.size(); i++) { + delete fIsotopeList[i]; + } + fIsotopeList.clear(); +} + + +/////////////////////////////////////////////////////////////////////////////// +G4bool G4IsotopeMagneticMomentTable::FindIsotope(G4IsotopeProperty* pP) +{ + for (size_t i = 0 ; i< fIsotopeList.size(); ++i) { + G4IsotopeProperty* fP = fIsotopeList[i]; + + // check Z + if ( fP->GetAtomicNumber() > pP->GetAtomicNumber()) { + // Not Found + break; + } + if ( fP->GetAtomicNumber() < pP->GetAtomicNumber()) { + // next + continue; + } + + // check A + if ( fP->GetAtomicMass() != pP->GetAtomicMass()) { + // next + continue; + } + + //check E + if (std::fabs(fP->GetEnergy() - pP->GetEnergy()) <= fP->GetEnergy()*levelTolerance) { + // Found + return true; + } + + } + return false; +} +/////////////////////////////////////////////////////////////////////////////// +// +G4IsotopeProperty* G4IsotopeMagneticMomentTable::GetIsotope(G4int Z, G4int A, G4double E) +{ + G4IsotopeProperty* fProperty = 0; + for (size_t i = 0 ; i< fIsotopeList.size(); ++i) { + G4IsotopeProperty* fP = fIsotopeList[i]; + + // check Z + if ( fP->GetAtomicNumber() > Z) { + // Not Found + break; + } + if ( fP->GetAtomicNumber() < Z) { + // next + continue; + } + + // check A + if ( fP->GetAtomicMass() != A ) { + // next + continue; + } + + //check E + if (std::fabs(fP->GetEnergy() - E) <= fP->GetEnergy()*levelTolerance) { + // Found + fProperty = fP; + fP->DumpInfo(); + break; + } + + } + + return fProperty; + +} diff --git a/source/particles/utils/src/G4SimplePPReporter.cc b/source/particles/utils/src/G4SimplePPReporter.cc index 9f69a5ccdb..c9e5843ef8 100644 --- a/source/particles/utils/src/G4SimplePPReporter.cc +++ b/source/particles/utils/src/G4SimplePPReporter.cc @@ -30,7 +30,7 @@ // and all its terms. // // $Id: G4SimplePPReporter.cc,v 1.2 2006/06/29 19:28:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/particles/utils/src/G4TextPPReporter.cc b/source/particles/utils/src/G4TextPPReporter.cc index 114e57134f..879850b1af 100644 --- a/source/particles/utils/src/G4TextPPReporter.cc +++ b/source/particles/utils/src/G4TextPPReporter.cc @@ -30,7 +30,7 @@ // and all its terms. // // $Id: G4TextPPReporter.cc,v 1.2 2006/06/29 19:28:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/particles/utils/src/G4TextPPRetriever.cc b/source/particles/utils/src/G4TextPPRetriever.cc index 5cf032a570..63de902eb4 100644 --- a/source/particles/utils/src/G4TextPPRetriever.cc +++ b/source/particles/utils/src/G4TextPPRetriever.cc @@ -30,7 +30,7 @@ // and all its terms. // // $Id: G4TextPPRetriever.cc,v 1.2 2006/06/29 19:28:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/particles/utils/src/G4VParticlePropertyReporter.cc b/source/particles/utils/src/G4VParticlePropertyReporter.cc index 98aaa61732..7711f6894f 100644 --- a/source/particles/utils/src/G4VParticlePropertyReporter.cc +++ b/source/particles/utils/src/G4VParticlePropertyReporter.cc @@ -30,7 +30,7 @@ // and all its terms. // // $Id: G4VParticlePropertyReporter.cc,v 1.2 2006/06/29 19:28:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/physics_lists/History b/source/physics_lists/History index 98d774175b..aa3d0718f2 100644 --- a/source/physics_lists/History +++ b/source/physics_lists/History @@ -1,4 +1,4 @@ -$Id: History,v 1.25 2007/05/07 14:37:57 gunter Exp $ +$Id: History,v 1.33 2007/06/27 10:06:14 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -15,6 +15,41 @@ track of all tags. * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +27-06-2007, G.Cosmo phys-lists-V08-03-07 +- Updated G4DataQuestionaire to change NeutronHPCrossSections with + G4NEUTRONHPDATA environment variable. + +11-06-2007, V.Ivanchenko phys-lists-V08-03-06 +- G4EmStandardPhysics_option1 - substitute name "G4v71" by "Minimal" + +01-06-2007, V.Ivanchenko phys-lists-V08-03-05 +- in QBBC.icc use consistent cross sections for elastic and inelastic + +01-06-2007, G.Folger phys-lists-V08-03-04 +- active Quasielastic for FTF lists. Required changes to lists/*/HadronPhysicsFTF*, + and builders/*/G4FTF*Builder.* +- lower threshold for FTF: FTF starts at 4.0 GeV, overlaps with LEP up to 5.0 GeV + +24-05-2007, G.Folger phys-lists-V08-03-03 +- remove obsolete physics lists LHEP_HP, QGSP_HP, LHEP_BIC, + LHEP_BIC_HP, LHEP_PRECO. +- remove physics lists using Mars leading particle classes (*LEAD*). +- QGSP_BIC_HP is no longer experimental +- Increment PACK version number + +23-05-2007, V.Ivanchenko phys-lists-V08-03-02 +- add G4QEmExtraPhysics for gamma, e+-, mu+- nuclear CHIPS + +18-05-2007, V.Ivanchenko phys-lists-V08-03-01 +- remove obsolete G4EmStandardPhysics72 and G4EmStandardPhysics71 +- use new commands for G4EmStandardPhysics_option1,2 + +16-05-2007, V.Ivanchenko phys-lists-V08-03-00 +- Create new builders G4EmStandardPhysics_option1 from G4EmStandardPhysics71 + G4EmStandardPhysics_option2 from G4EmStandardPhysics72 +- Remove definition of name of EM constructor from all PL.icc files, now + name of EM constructor defined inside the constructor itself. + 07-05-2007, G.Folger phys-lists-V08-02-12 - Add QGSP_BERT_TRV; copy of QGSP_BERT, but change to BERT occurs at (5.0 - 5.4) GeV for proton/neutron/pion/Kaon diff --git a/source/physics_lists/builders/include/G4DataQuestionaire.hh b/source/physics_lists/builders/include/G4DataQuestionaire.hh index fe9661e7da..6d28d94ac8 100644 --- a/source/physics_lists/builders/include/G4DataQuestionaire.hh +++ b/source/physics_lists/builders/include/G4DataQuestionaire.hh @@ -39,7 +39,7 @@ class G4DataQuestionaire G4DataQuestionaire(G4DataType t1=no, G4DataType t2=no, G4DataType t3=no, G4DataType t4=no) { G4cout << G4endl; - G4cout << "<<< Geant4 Physics List engine packaging library: PACK 5.2"< 72 +// 15.05.2007 V.Ivanchenko rename to _option2 // //---------------------------------------------------------------------------- // +// This class provides construction of EM standard physics using set of options +// allowing to utilize sub-cutoff option for ionisation processes and higher +// production threshold than in default EM physics. +// -#ifndef G4EmStandardPhysics72_h -#define G4EmStandardPhysics72_h 1 +#ifndef G4EmStandardPhysics_option2_h +#define G4EmStandardPhysics_option2_h 1 #include "G4VPhysicsConstructor.hh" #include "globals.hh" -// for lib list detection.... -#include "G4MuBremsstrahlung.hh" -#include "G4MuPairProduction.hh" - -#include "G4EmProcessOptions.hh" - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -class G4EmStandardPhysics72 : public G4VPhysicsConstructor +class G4EmStandardPhysics_option2 : public G4VPhysicsConstructor { public: - G4EmStandardPhysics72(const G4String& name = "EMstandard72", G4int ver = 1); - virtual ~G4EmStandardPhysics72(); + G4EmStandardPhysics_option2(G4int ver = 1, + const G4String& name = "G4EmStandard_opt2"); + + virtual ~G4EmStandardPhysics_option2(); -public: virtual void ConstructParticle(); virtual void ConstructProcess(); diff --git a/source/physics_lists/builders/include/G4FTFCNeutronBuilder.hh b/source/physics_lists/builders/include/G4FTFCNeutronBuilder.hh index 53de7b7c8a..fad60af823 100644 --- a/source/physics_lists/builders/include/G4FTFCNeutronBuilder.hh +++ b/source/physics_lists/builders/include/G4FTFCNeutronBuilder.hh @@ -40,11 +40,12 @@ #include "G4FTFModel.hh" #include "G4LundStringFragmentation.hh" #include "G4ExcitedStringDecay.hh" +#include "G4QuasiElasticChannel.hh" class G4FTFCNeutronBuilder : public G4VNeutronBuilder { public: - G4FTFCNeutronBuilder(); + G4FTFCNeutronBuilder(G4bool quasiElastic=false); virtual ~G4FTFCNeutronBuilder(); public: @@ -60,6 +61,7 @@ class G4FTFCNeutronBuilder : public G4VNeutronBuilder G4StringChipsParticleLevelInterface * theCascade; G4FTFModel * theStringModel; G4ExcitedStringDecay * theStringDecay; + G4QuasiElasticChannel * theQuasiElastic; G4NeutronInelasticCrossSection theXSec; G4double theMin; diff --git a/source/physics_lists/builders/include/G4FTFCPiKBuilder.hh b/source/physics_lists/builders/include/G4FTFCPiKBuilder.hh index 7f301da4de..f1e243e508 100644 --- a/source/physics_lists/builders/include/G4FTFCPiKBuilder.hh +++ b/source/physics_lists/builders/include/G4FTFCPiKBuilder.hh @@ -39,13 +39,14 @@ #include "G4FTFModel.hh" #include "G4LundStringFragmentation.hh" #include "G4ExcitedStringDecay.hh" +#include "G4QuasiElasticChannel.hh" #include "G4PiNuclearCrossSection.hh" class G4FTFCPiKBuilder : public G4VPiKBuilder { public: - G4FTFCPiKBuilder(); + G4FTFCPiKBuilder(G4bool quasiElastic=false); virtual ~G4FTFCPiKBuilder(); public: @@ -60,11 +61,13 @@ class G4FTFCPiKBuilder : public G4VPiKBuilder void SetMinEnergy(G4double aM) {theMin = aM;} private: - G4PiNuclearCrossSection thePiData; G4TheoFSGenerator * theModel; G4StringChipsParticleLevelInterface * theCascade; G4FTFModel * theStringModel; G4ExcitedStringDecay * theStringDecay; + G4QuasiElasticChannel * theQuasiElastic; + + G4PiNuclearCrossSection thePiData; G4double theMin; }; diff --git a/source/physics_lists/builders/include/G4FTFCProtonBuilder.hh b/source/physics_lists/builders/include/G4FTFCProtonBuilder.hh index ef76663eb4..4289b88143 100644 --- a/source/physics_lists/builders/include/G4FTFCProtonBuilder.hh +++ b/source/physics_lists/builders/include/G4FTFCProtonBuilder.hh @@ -40,13 +40,14 @@ #include "G4FTFModel.hh" #include "G4LundStringFragmentation.hh" #include "G4ExcitedStringDecay.hh" +#include "G4QuasiElasticChannel.hh" #include "G4ProtonInelasticCrossSection.hh" class G4FTFCProtonBuilder : public G4VProtonBuilder { public: - G4FTFCProtonBuilder(); + G4FTFCProtonBuilder(G4bool quasiElastic=false); virtual ~G4FTFCProtonBuilder(){}; public: @@ -58,6 +59,8 @@ class G4FTFCProtonBuilder : public G4VProtonBuilder private: G4ProtonInelasticCrossSection theXSec; G4TheoFSGenerator * theModel; + G4QuasiElasticChannel * theQuasiElastic; + G4double theMin; }; diff --git a/source/physics_lists/builders/include/G4FTFPNeutronBuilder.hh b/source/physics_lists/builders/include/G4FTFPNeutronBuilder.hh index 22b856ab7b..b87224bb5c 100644 --- a/source/physics_lists/builders/include/G4FTFPNeutronBuilder.hh +++ b/source/physics_lists/builders/include/G4FTFPNeutronBuilder.hh @@ -42,11 +42,12 @@ #include "G4FTFModel.hh" #include "G4LundStringFragmentation.hh" #include "G4ExcitedStringDecay.hh" +#include "G4QuasiElasticChannel.hh" class G4FTFPNeutronBuilder : public G4VNeutronBuilder { public: - G4FTFPNeutronBuilder(); + G4FTFPNeutronBuilder(G4bool quasiElastic=false); virtual ~G4FTFPNeutronBuilder(); public: @@ -63,6 +64,7 @@ class G4FTFPNeutronBuilder : public G4VNeutronBuilder G4GeneratorPrecompoundInterface * theCascade; G4FTFModel * theStringModel; G4ExcitedStringDecay * theStringDecay; + G4QuasiElasticChannel * theQuasiElastic; G4NeutronInelasticCrossSection theXSec; G4double theMin; diff --git a/source/physics_lists/builders/include/G4FTFPPiKBuilder.hh b/source/physics_lists/builders/include/G4FTFPPiKBuilder.hh index 71b3842dcc..254f75539c 100644 --- a/source/physics_lists/builders/include/G4FTFPPiKBuilder.hh +++ b/source/physics_lists/builders/include/G4FTFPPiKBuilder.hh @@ -41,13 +41,14 @@ #include "G4FTFModel.hh" #include "G4LundStringFragmentation.hh" #include "G4ExcitedStringDecay.hh" +#include "G4QuasiElasticChannel.hh" #include "G4PiNuclearCrossSection.hh" class G4FTFPPiKBuilder : public G4VPiKBuilder { public: - G4FTFPPiKBuilder(); + G4FTFPPiKBuilder(G4bool quasiElastic=false); virtual ~G4FTFPPiKBuilder(); public: @@ -62,12 +63,14 @@ class G4FTFPPiKBuilder : public G4VPiKBuilder void SetMinEnergy(G4double aM) {theMin = aM;} private: - G4PiNuclearCrossSection thePiData; G4TheoFSGenerator * theModel; G4PreCompoundModel * thePreEquilib; G4GeneratorPrecompoundInterface * theCascade; G4FTFModel * theStringModel; G4ExcitedStringDecay * theStringDecay; + G4QuasiElasticChannel * theQuasiElastic; + + G4PiNuclearCrossSection thePiData; G4double theMin; }; diff --git a/source/physics_lists/builders/include/G4FTFPProtonBuilder.hh b/source/physics_lists/builders/include/G4FTFPProtonBuilder.hh index 4f2eed315d..18b862a83c 100644 --- a/source/physics_lists/builders/include/G4FTFPProtonBuilder.hh +++ b/source/physics_lists/builders/include/G4FTFPProtonBuilder.hh @@ -42,13 +42,14 @@ #include "G4FTFModel.hh" #include "G4LundStringFragmentation.hh" #include "G4ExcitedStringDecay.hh" +#include "G4QuasiElasticChannel.hh" #include "G4ProtonInelasticCrossSection.hh" class G4FTFPProtonBuilder : public G4VProtonBuilder { public: - G4FTFPProtonBuilder(); + G4FTFPProtonBuilder(G4bool quasiElastic=false); virtual ~G4FTFPProtonBuilder(); public: @@ -58,12 +59,14 @@ class G4FTFPProtonBuilder : public G4VProtonBuilder void SetMinEnergy(G4double aM) {theMin = aM;} private: - G4ProtonInelasticCrossSection theXSec; G4TheoFSGenerator * theModel; G4PreCompoundModel * thePreEquilib; G4GeneratorPrecompoundInterface * theCascade; G4FTFModel * theStringModel; G4ExcitedStringDecay * theStringDecay; + G4QuasiElasticChannel * theQuasiElastic; + + G4ProtonInelasticCrossSection theXSec; G4double theMin; }; diff --git a/source/physics_lists/builders/include/G4HadronElasticPhysics.hh b/source/physics_lists/builders/include/G4HadronElasticPhysics.hh index c05919a639..28655a146a 100644 --- a/source/physics_lists/builders/include/G4HadronElasticPhysics.hh +++ b/source/physics_lists/builders/include/G4HadronElasticPhysics.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HadronElasticPhysics.hh,v 1.4 2006/11/23 15:46:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4HadronHElasticPhysics.hh b/source/physics_lists/builders/include/G4HadronHElasticPhysics.hh index 3c036130bd..f4c793b517 100644 --- a/source/physics_lists/builders/include/G4HadronHElasticPhysics.hh +++ b/source/physics_lists/builders/include/G4HadronHElasticPhysics.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HadronHElasticPhysics.hh,v 1.1 2006/11/23 15:46:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4HadronProcessStore.hh b/source/physics_lists/builders/include/G4HadronProcessStore.hh index f0f69d94a6..7b093671a0 100644 --- a/source/physics_lists/builders/include/G4HadronProcessStore.hh +++ b/source/physics_lists/builders/include/G4HadronProcessStore.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HadronProcessStore.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------------- diff --git a/source/physics_lists/builders/include/G4HadronQElasticPhysics.hh b/source/physics_lists/builders/include/G4HadronQElasticPhysics.hh index e56e56e493..85ea87dfc7 100644 --- a/source/physics_lists/builders/include/G4HadronQElasticPhysics.hh +++ b/source/physics_lists/builders/include/G4HadronQElasticPhysics.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HadronQElasticPhysics.hh,v 1.1 2006/11/17 19:19:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4IonBinaryCascadePhysics.hh b/source/physics_lists/builders/include/G4IonBinaryCascadePhysics.hh index 0fe8bf586c..6491136574 100644 --- a/source/physics_lists/builders/include/G4IonBinaryCascadePhysics.hh +++ b/source/physics_lists/builders/include/G4IonBinaryCascadePhysics.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4IonBinaryCascadePhysics.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4IonPhysics.hh b/source/physics_lists/builders/include/G4IonPhysics.hh index f9f1049057..53a94b7deb 100644 --- a/source/physics_lists/builders/include/G4IonPhysics.hh +++ b/source/physics_lists/builders/include/G4IonPhysics.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4IonPhysics.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4LEPNeutronBuilder.hh b/source/physics_lists/builders/include/G4LEPNeutronBuilder.hh index aba2abf121..79d0c72902 100644 --- a/source/physics_lists/builders/include/G4LEPNeutronBuilder.hh +++ b/source/physics_lists/builders/include/G4LEPNeutronBuilder.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4LEPPiKBuilder.hh b/source/physics_lists/builders/include/G4LEPPiKBuilder.hh index e77eb86daa..641e6ac9a3 100644 --- a/source/physics_lists/builders/include/G4LEPPiKBuilder.hh +++ b/source/physics_lists/builders/include/G4LEPPiKBuilder.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4LEPProtonBuilder.hh b/source/physics_lists/builders/include/G4LEPProtonBuilder.hh index 9a4576af1e..cec6ec4ef9 100644 --- a/source/physics_lists/builders/include/G4LEPProtonBuilder.hh +++ b/source/physics_lists/builders/include/G4LEPProtonBuilder.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4LHEPStoppingPhysics.hh b/source/physics_lists/builders/include/G4LHEPStoppingPhysics.hh index f0ad14b999..4194ed58c9 100644 --- a/source/physics_lists/builders/include/G4LHEPStoppingPhysics.hh +++ b/source/physics_lists/builders/include/G4LHEPStoppingPhysics.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4LHEPStoppingPhysics.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4MiscLHEPBuilder.hh b/source/physics_lists/builders/include/G4MiscLHEPBuilder.hh index 5ddd7ab0a2..95c470193e 100644 --- a/source/physics_lists/builders/include/G4MiscLHEPBuilder.hh +++ b/source/physics_lists/builders/include/G4MiscLHEPBuilder.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4NeutronBuilder.hh b/source/physics_lists/builders/include/G4NeutronBuilder.hh index af04214c28..ab1ba0f7df 100644 --- a/source/physics_lists/builders/include/G4NeutronBuilder.hh +++ b/source/physics_lists/builders/include/G4NeutronBuilder.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4NeutronTrackingCut.hh b/source/physics_lists/builders/include/G4NeutronTrackingCut.hh index 26ebb7f134..4fbc615cc8 100644 --- a/source/physics_lists/builders/include/G4NeutronTrackingCut.hh +++ b/source/physics_lists/builders/include/G4NeutronTrackingCut.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4NeutronTrackingCut.hh,v 1.1 2006/11/20 17:56:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4PiKBuilder.hh b/source/physics_lists/builders/include/G4PiKBuilder.hh index 0cea876765..0c38cad195 100644 --- a/source/physics_lists/builders/include/G4PiKBuilder.hh +++ b/source/physics_lists/builders/include/G4PiKBuilder.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PiKBuilder.hh,v 1.1 2006/10/31 11:35:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4ProtonBuilder.hh b/source/physics_lists/builders/include/G4ProtonBuilder.hh index f323c14432..f7cd8a6bf4 100644 --- a/source/physics_lists/builders/include/G4ProtonBuilder.hh +++ b/source/physics_lists/builders/include/G4ProtonBuilder.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/LHEP_BIC_HP.hh b/source/physics_lists/builders/include/G4QEmExtraPhysics.hh similarity index 68% rename from source/physics_lists/lists/include/LHEP_BIC_HP.hh rename to source/physics_lists/builders/include/G4QEmExtraPhysics.hh index 3228582ecd..4589804c47 100644 --- a/source/physics_lists/lists/include/LHEP_BIC_HP.hh +++ b/source/physics_lists/builders/include/G4QEmExtraPhysics.hh @@ -23,47 +23,59 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP_BIC_HP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4QEmExtraPhysics.hh,v 1.1 2007/05/23 17:38:35 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // -// ClassName: LHEP_BIC_HP +// ClassName: G4QEmExtraPhysics // -// Author: 2002 J.P. Wellisch +// Author: 11 April 2006 V. Ivanchenko // // Modified: -// 30.11.2005 G.Folger: migration to non static particles // //---------------------------------------------------------------------------- // -#ifndef TLHEP_BIC_HP_h -#define TLHEP_BIC_HP_h 1 -#include "G4VModularPhysicsList.hh" +#ifndef G4QEmExtraPhysics_h +#define G4QEmExtraPhysics_h 1 + #include "globals.hh" -#include "CompileTimeConstraints.hh" +#include "G4VPhysicsConstructor.hh" -template -class TLHEP_BIC_HP: public T +class G4QCollision; + +class G4QEmExtraPhysics : public G4VPhysicsConstructor { -public: - TLHEP_BIC_HP(G4int ver = 1); - virtual ~TLHEP_BIC_HP(); - -public: - // SetCuts() - virtual void SetCuts(); +public: + G4QEmExtraPhysics(G4int ver = 1); + virtual ~G4QEmExtraPhysics(); + +public: + // This method will be invoked in the Construct() method. + // each particle type will be instantiated + virtual void ConstructParticle(); + + // This method will be invoked in the Construct() method. + // each physics process will be instantiated and + // registered to the process manager of each particle type + virtual void ConstructProcess(); + private: - enum {ok = CompileTimeConstraints::IsA::ok }; + + G4QCollision* hProcess; + + G4int verbose; + G4bool wasActivated; }; -#include "LHEP_BIC_HP.icc" -typedef TLHEP_BIC_HP LHEP_BIC_HP; - -// 2002 by J.P. Wellisch #endif + + + + + diff --git a/source/physics_lists/builders/include/G4QStoppingPhysics.hh b/source/physics_lists/builders/include/G4QStoppingPhysics.hh index 7feb27de17..1216512ba1 100644 --- a/source/physics_lists/builders/include/G4QStoppingPhysics.hh +++ b/source/physics_lists/builders/include/G4QStoppingPhysics.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4QStoppingPhysics.hh,v 1.2 2007/04/26 16:03:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4StoppingHadronBuilder.hh b/source/physics_lists/builders/include/G4StoppingHadronBuilder.hh index cb04f04497..fdfc410ebe 100644 --- a/source/physics_lists/builders/include/G4StoppingHadronBuilder.hh +++ b/source/physics_lists/builders/include/G4StoppingHadronBuilder.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4StoppingHadronBuilder.hh,v 1.1 2006/10/31 11:35:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4VPiKBuilder.hh b/source/physics_lists/builders/include/G4VPiKBuilder.hh index a747d9c8c1..6fd45f50d1 100644 --- a/source/physics_lists/builders/include/G4VPiKBuilder.hh +++ b/source/physics_lists/builders/include/G4VPiKBuilder.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VPiKBuilder.hh,v 1.1 2006/10/31 11:35:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/include/G4VProtonBuilder.hh b/source/physics_lists/builders/include/G4VProtonBuilder.hh index 96a3a20a7c..84ef84af6c 100644 --- a/source/physics_lists/builders/include/G4VProtonBuilder.hh +++ b/source/physics_lists/builders/include/G4VProtonBuilder.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VProtonBuilder.hh,v 1.1 2006/10/31 11:35:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4DecayPhysics.cc b/source/physics_lists/builders/src/G4DecayPhysics.cc index 5cc76b28ae..46fe46733c 100644 --- a/source/physics_lists/builders/src/G4DecayPhysics.cc +++ b/source/physics_lists/builders/src/G4DecayPhysics.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4DecayPhysics.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4ElectroNuclearBuilder.cc b/source/physics_lists/builders/src/G4ElectroNuclearBuilder.cc index 5aab075826..b7e38ab903 100644 --- a/source/physics_lists/builders/src/G4ElectroNuclearBuilder.cc +++ b/source/physics_lists/builders/src/G4ElectroNuclearBuilder.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ElectroNuclearBuilder.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4EmExtraPhysics.cc b/source/physics_lists/builders/src/G4EmExtraPhysics.cc index 263a2409cf..36ebced42c 100644 --- a/source/physics_lists/builders/src/G4EmExtraPhysics.cc +++ b/source/physics_lists/builders/src/G4EmExtraPhysics.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4EmExtraPhysics.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4EmMessenger.cc b/source/physics_lists/builders/src/G4EmMessenger.cc index a01af22d45..ffc660e28e 100644 --- a/source/physics_lists/builders/src/G4EmMessenger.cc +++ b/source/physics_lists/builders/src/G4EmMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4EmMessenger.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4EmStandardPhysics.cc b/source/physics_lists/builders/src/G4EmStandardPhysics.cc index ca9e746451..606b6febd6 100644 --- a/source/physics_lists/builders/src/G4EmStandardPhysics.cc +++ b/source/physics_lists/builders/src/G4EmStandardPhysics.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmStandardPhysics.cc,v 1.7 2007/03/01 10:35:45 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4EmStandardPhysics.cc,v 1.9 2007/05/18 17:47:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -46,6 +46,7 @@ #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" #include "G4LossTableManager.hh" +#include "G4EmProcessOptions.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" @@ -84,7 +85,7 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmStandardPhysics::G4EmStandardPhysics(const G4String& name, G4int ver) +G4EmStandardPhysics::G4EmStandardPhysics(G4int ver, const G4String& name) : G4VPhysicsConstructor(name), verbose(ver) { G4LossTableManager::Instance(); @@ -137,6 +138,9 @@ void G4EmStandardPhysics::ConstructProcess() G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); + if(verbose > 1) + G4cout << "### " << GetPhysicsName() << " instantiates for " + << particleName << G4endl; if (particleName == "gamma") { @@ -169,9 +173,6 @@ void G4EmStandardPhysics::ConstructProcess() particleName == "He3" || particleName == "GenericIon") { - if(verbose > 1) - G4cout << "### G4standard instantiates ionIoni for " - << particleName << G4endl; pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); @@ -194,16 +195,12 @@ void G4EmStandardPhysics::ConstructProcess() particleName == "triton" || particleName == "xi-" ) { - if(verbose > 1) - G4cout << "### G4standard instantiates hIoni for " - << particleName << G4endl; pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4hIonisation, -1, 2, 2); } } G4EmProcessOptions opt; opt.SetVerbose(verbose); - opt.SetSkin(0.0); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/physics_lists/builders/src/G4EmStandardPhysics71.cc b/source/physics_lists/builders/src/G4EmStandardPhysics_option1.cc similarity index 86% rename from source/physics_lists/builders/src/G4EmStandardPhysics71.cc rename to source/physics_lists/builders/src/G4EmStandardPhysics_option1.cc index 76a49da60c..c58a9f6b12 100644 --- a/source/physics_lists/builders/src/G4EmStandardPhysics71.cc +++ b/source/physics_lists/builders/src/G4EmStandardPhysics_option1.cc @@ -23,12 +23,12 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmStandardPhysics71.cc,v 1.7 2007/05/02 18:49:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4EmStandardPhysics_option1.cc,v 1.3 2007/06/11 15:07:38 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // -// ClassName: G4EmStandardPhysics71 +// ClassName: G4EmStandardPhysics_option1 // // Author: V.Ivanchenko 09.11.2005 // @@ -39,14 +39,16 @@ // 13.11.2006 V.Ivanchenko use G4hMultipleScattering // 23.11.2006 V.Ivanchenko remove mscStepLimit option and improve cout // 13.02.2007 V.Ivanchenko set skin=0.0 +// 15.05.2007 V.Ivanchenko rename to _option1 // //---------------------------------------------------------------------------- // -#include "G4EmStandardPhysics71.hh" +#include "G4EmStandardPhysics_option1.hh" #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" #include "G4LossTableManager.hh" +#include "G4EmProcessOptions.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" @@ -54,6 +56,7 @@ #include "G4hMultipleScattering.hh" #include "G4MultipleScattering.hh" +#include "G4MscStepLimitType.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -85,7 +88,8 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmStandardPhysics71::G4EmStandardPhysics71(const G4String& name, G4int ver) +G4EmStandardPhysics_option1::G4EmStandardPhysics_option1( + G4int ver, const G4String& name) : G4VPhysicsConstructor(name), verbose(ver) { G4LossTableManager::Instance(); @@ -93,12 +97,12 @@ G4EmStandardPhysics71::G4EmStandardPhysics71(const G4String& name, G4int ver) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmStandardPhysics71::~G4EmStandardPhysics71() +G4EmStandardPhysics_option1::~G4EmStandardPhysics_option1() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4EmStandardPhysics71::ConstructParticle() +void G4EmStandardPhysics_option1::ConstructParticle() { // gamma G4Gamma::Gamma(); @@ -129,7 +133,7 @@ void G4EmStandardPhysics71::ConstructParticle() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4EmStandardPhysics71::ConstructProcess() +void G4EmStandardPhysics_option1::ConstructProcess() { // Add standard EM Processes @@ -138,6 +142,9 @@ void G4EmStandardPhysics71::ConstructProcess() G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); + if(verbose > 1) + G4cout << "### " << GetPhysicsName() << " instantiates for " + << particleName << G4endl; if (particleName == "gamma") { @@ -147,24 +154,20 @@ void G4EmStandardPhysics71::ConstructProcess() } else if (particleName == "e-") { - if(verbose > 1) - G4cout << "### G4standard_fast instantiates eIoni " - << particleName << G4endl; G4eIonisation* eioni = new G4eIonisation(); eioni->SetStepFunction(0.8, 1.0*mm); G4MultipleScattering* msc = new G4MultipleScattering; + msc->SetStepLimitType(fMinimal); pmanager->AddProcess(msc, -1, 1, 1); pmanager->AddProcess(eioni, -1, 2, 2); pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); } else if (particleName == "e+") { - if(verbose > 1) - G4cout << "### G4standard_fast instantiates eIoni " - << particleName << G4endl; G4eIonisation* eioni = new G4eIonisation(); eioni->SetStepFunction(0.8, 1.0*mm); G4MultipleScattering* msc = new G4MultipleScattering; + msc->SetStepLimitType(fMinimal); pmanager->AddProcess(msc, -1, 1, 1); pmanager->AddProcess(eioni, -1, 2, 2); pmanager->AddProcess(new G4eBremsstrahlung, -1, 3, 3); @@ -173,9 +176,6 @@ void G4EmStandardPhysics71::ConstructProcess() } else if (particleName == "mu+" || particleName == "mu-" ) { - if(verbose > 1) - G4cout << "### G4standard_fast instantiates muIoni " - << particleName << G4endl; pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4MuIonisation, -1, 2, 2); pmanager->AddProcess(new G4MuBremsstrahlung, -1, 3, 3); @@ -185,9 +185,6 @@ void G4EmStandardPhysics71::ConstructProcess() particleName == "He3" || particleName == "GenericIon") { - if(verbose > 1) - G4cout << "### G4standard_fast instantiates ionIoni " - << particleName << G4endl; pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); @@ -209,16 +206,13 @@ void G4EmStandardPhysics71::ConstructProcess() particleName == "tau-" || particleName == "triton" || particleName == "xi-" ) { - if(verbose > 1) - G4cout << "### G4Standard_fast instantiates hIoni " - << particleName << G4endl; + pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4hIonisation, -1, 2, 2); } } G4EmProcessOptions opt; opt.SetVerbose(verbose); - opt.SetMscStepLimitation(false); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/physics_lists/builders/src/G4EmStandardPhysics72.cc b/source/physics_lists/builders/src/G4EmStandardPhysics_option2.cc similarity index 88% rename from source/physics_lists/builders/src/G4EmStandardPhysics72.cc rename to source/physics_lists/builders/src/G4EmStandardPhysics_option2.cc index 130843c4a0..564d52af8d 100644 --- a/source/physics_lists/builders/src/G4EmStandardPhysics72.cc +++ b/source/physics_lists/builders/src/G4EmStandardPhysics_option2.cc @@ -23,12 +23,12 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmStandardPhysics72.cc,v 1.7 2007/03/27 10:01:21 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4EmStandardPhysics_option2.cc,v 1.2 2007/05/18 17:47:17 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // -// ClassName: G4EmStandardPhysics72 +// ClassName: G4EmStandardPhysics_option2 // // Author: V.Ivanchenko 09.11.2005 // @@ -38,23 +38,23 @@ // 13.11.2006 V.Ivanchenko use G4hMultipleScattering // 14.11.2006 V.Ivanchenko use sub-cutoff option for all particles // 13.02.2007 V.Ivanchenko use default msc +// 15.05.2007 V.Ivanchenko rename to _option2 // //---------------------------------------------------------------------------- // -#include "G4EmStandardPhysics72.hh" +#include "G4EmStandardPhysics_option2.hh" #include "G4ParticleDefinition.hh" #include "G4ProcessManager.hh" #include "G4LossTableManager.hh" +#include "G4EmProcessOptions.hh" #include "G4ComptonScattering.hh" #include "G4GammaConversion.hh" #include "G4PhotoElectricEffect.hh" -#include "G4MultipleScattering71.hh" #include "G4MultipleScattering.hh" #include "G4hMultipleScattering.hh" -#include "G4UrbanMscModel.hh" #include "G4eIonisation.hh" #include "G4eBremsstrahlung.hh" @@ -86,7 +86,8 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmStandardPhysics72::G4EmStandardPhysics72(const G4String& name, G4int ver) +G4EmStandardPhysics_option2::G4EmStandardPhysics_option2( + G4int ver, const G4String& name) : G4VPhysicsConstructor(name), verbose(ver) { G4LossTableManager::Instance(); @@ -94,12 +95,12 @@ G4EmStandardPhysics72::G4EmStandardPhysics72(const G4String& name, G4int ver) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -G4EmStandardPhysics72::~G4EmStandardPhysics72() +G4EmStandardPhysics_option2::~G4EmStandardPhysics_option2() {} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4EmStandardPhysics72::ConstructParticle() +void G4EmStandardPhysics_option2::ConstructParticle() { // gamma G4Gamma::Gamma(); @@ -130,7 +131,7 @@ void G4EmStandardPhysics72::ConstructParticle() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4EmStandardPhysics72::ConstructProcess() +void G4EmStandardPhysics_option2::ConstructProcess() { // Add standard EM Processes G4MultipleScattering* msc = 0; @@ -140,6 +141,9 @@ void G4EmStandardPhysics72::ConstructProcess() G4ParticleDefinition* particle = theParticleIterator->value(); G4ProcessManager* pmanager = particle->GetProcessManager(); G4String particleName = particle->GetParticleName(); + if(verbose > 1) + G4cout << "### " << GetPhysicsName() << " instantiates for " + << particleName << G4endl; if (particleName == "gamma") { @@ -165,9 +169,6 @@ void G4EmStandardPhysics72::ConstructProcess() } else if (particleName == "mu+" || particleName == "mu-" ) { - if(verbose > 1) - G4cout << "### G4standard_exp instantiates muIoni " - << particleName << G4endl; pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4MuIonisation, -1, 2, 2); pmanager->AddProcess(new G4MuBremsstrahlung, -1,-3, 3); @@ -177,9 +178,6 @@ void G4EmStandardPhysics72::ConstructProcess() particleName == "He3" || particleName == "GenericIon") { - if(verbose > 1) - G4cout << "### G4standard_exp instantiates ionIoni " - << particleName << G4endl; pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4ionIonisation, -1, 2, 2); @@ -201,9 +199,6 @@ void G4EmStandardPhysics72::ConstructProcess() particleName == "tau-" || particleName == "triton" || particleName == "xi-" ) { - if(verbose > 1) - G4cout << "### G4standard_exp instantiates hIoni and " - << particleName << G4endl; pmanager->AddProcess(new G4hMultipleScattering, -1, 1, 1); pmanager->AddProcess(new G4hIonisation, -1, 2, 2); @@ -211,7 +206,6 @@ void G4EmStandardPhysics72::ConstructProcess() } G4EmProcessOptions opt; opt.SetVerbose(verbose); - opt.SetSkin(0.0); opt.SetSubCutoff(true); } diff --git a/source/physics_lists/builders/src/G4FTFCNeutronBuilder.cc b/source/physics_lists/builders/src/G4FTFCNeutronBuilder.cc index 1f601b459e..356459be47 100644 --- a/source/physics_lists/builders/src/G4FTFCNeutronBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFCNeutronBuilder.cc @@ -23,59 +23,67 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // - #include "G4FTFCNeutronBuilder.hh" - #include "G4ParticleDefinition.hh" - #include "G4ParticleTable.hh" - #include "G4ProcessManager.hh" +#include "G4FTFCNeutronBuilder.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4ProcessManager.hh" - G4FTFCNeutronBuilder:: - G4FTFCNeutronBuilder() - { - theMin = 15*GeV; - theModel = new G4TheoFSGenerator; +G4FTFCNeutronBuilder:: +G4FTFCNeutronBuilder(G4bool quasiElastic) +{ + theMin = 4*GeV; + theModel = new G4TheoFSGenerator; - theStringModel = new G4FTFModel; - theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); - theStringModel->SetFragmentationModel(theStringDecay); - - theCascade = new G4StringChipsParticleLevelInterface; + theStringModel = new G4FTFModel; + theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); + theStringModel->SetFragmentationModel(theStringDecay); - theModel->SetHighEnergyGenerator(theStringModel); - theModel->SetTransport(theCascade); - } + theCascade = new G4StringChipsParticleLevelInterface; - G4FTFCNeutronBuilder:: - ~G4FTFCNeutronBuilder() - { - delete theCascade; - delete theStringDecay; - delete theStringModel; - delete theModel; - } + theModel->SetHighEnergyGenerator(theStringModel); + if (quasiElastic) + { + theQuasiElastic=new G4QuasiElasticChannel; + theModel->SetQuasiElasticChannel(theQuasiElastic); + } else + { theQuasiElastic=0;} - void G4FTFCNeutronBuilder:: - Build(G4HadronElasticProcess * ) - { - } + theModel->SetTransport(theCascade); +} - void G4FTFCNeutronBuilder:: - Build(G4HadronFissionProcess * ) - { - } +G4FTFCNeutronBuilder:: +~G4FTFCNeutronBuilder() +{ + delete theCascade; + delete theStringDecay; + if ( theQuasiElastic ) delete theQuasiElastic; + delete theStringModel; + delete theModel; +} - void G4FTFCNeutronBuilder:: - Build(G4HadronCaptureProcess * ) - { - } +void G4FTFCNeutronBuilder:: +Build(G4HadronElasticProcess * ) +{ +} - void G4FTFCNeutronBuilder:: - Build(G4NeutronInelasticProcess * aP) - { - aP->AddDataSet(&theXSec); +void G4FTFCNeutronBuilder:: +Build(G4HadronFissionProcess * ) +{ +} - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(100*TeV); - aP->RegisterMe(theModel); - } +void G4FTFCNeutronBuilder:: +Build(G4HadronCaptureProcess * ) +{ +} + +void G4FTFCNeutronBuilder:: +Build(G4NeutronInelasticProcess * aP) +{ + aP->AddDataSet(&theXSec); + + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); + aP->RegisterMe(theModel); +} // 2002 by J.P. Wellisch diff --git a/source/physics_lists/builders/src/G4FTFCPiKBuilder.cc b/source/physics_lists/builders/src/G4FTFCPiKBuilder.cc index 3cbea537fa..22feefb7fd 100644 --- a/source/physics_lists/builders/src/G4FTFCPiKBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFCPiKBuilder.cc @@ -23,87 +23,93 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // - #include "G4FTFCPiKBuilder.hh" - #include "G4ParticleDefinition.hh" - #include "G4ParticleTable.hh" - #include "G4ProcessManager.hh" +#include "G4FTFCPiKBuilder.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4ProcessManager.hh" - G4FTFCPiKBuilder:: - G4FTFCPiKBuilder() - { - theMin = 15*GeV; - theModel = new G4TheoFSGenerator; +G4FTFCPiKBuilder:: +G4FTFCPiKBuilder(G4bool quasiElastic) +{ + theMin = 4*GeV; + theModel = new G4TheoFSGenerator; - theStringModel = new G4FTFModel; - theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); - theStringModel->SetFragmentationModel(theStringDecay); + theStringModel = new G4FTFModel; + theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); + theStringModel->SetFragmentationModel(theStringDecay); - theCascade = new G4StringChipsParticleLevelInterface; + theCascade = new G4StringChipsParticleLevelInterface; - theModel->SetTransport(theCascade); - theModel->SetHighEnergyGenerator(theStringModel); - } + theModel->SetTransport(theCascade); + theModel->SetHighEnergyGenerator(theStringModel); + if (quasiElastic) + { + theQuasiElastic=new G4QuasiElasticChannel; + theModel->SetQuasiElasticChannel(theQuasiElastic); + } else + { theQuasiElastic=0;} +} - G4FTFCPiKBuilder:: - ~G4FTFCPiKBuilder() - { - delete theCascade; - delete theStringDecay; - delete theStringModel; - delete theModel; - } +G4FTFCPiKBuilder:: +~G4FTFCPiKBuilder() +{ + delete theCascade; + delete theStringDecay; + delete theStringModel; + delete theModel; +} - void G4FTFCPiKBuilder:: - Build(G4HadronElasticProcess * ) {} +void G4FTFCPiKBuilder:: +Build(G4HadronElasticProcess * ) {} - void G4FTFCPiKBuilder:: - Build(G4PionPlusInelasticProcess * aP) - { - aP->AddDataSet(&thePiData); - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(100*TeV); - aP->RegisterMe(theModel); - } +void G4FTFCPiKBuilder:: +Build(G4PionPlusInelasticProcess * aP) +{ + aP->AddDataSet(&thePiData); + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); + aP->RegisterMe(theModel); +} - void G4FTFCPiKBuilder:: - Build(G4PionMinusInelasticProcess * aP) - { - aP->AddDataSet(&thePiData); - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(100*TeV); - aP->RegisterMe(theModel); - } +void G4FTFCPiKBuilder:: +Build(G4PionMinusInelasticProcess * aP) +{ + aP->AddDataSet(&thePiData); + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); + aP->RegisterMe(theModel); +} - void G4FTFCPiKBuilder:: - Build(G4KaonPlusInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(100*TeV); - aP->RegisterMe(theModel); - } +void G4FTFCPiKBuilder:: +Build(G4KaonPlusInelasticProcess * aP) +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); + aP->RegisterMe(theModel); +} - void G4FTFCPiKBuilder:: - Build(G4KaonMinusInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(100*TeV); - aP->RegisterMe(theModel); - } +void G4FTFCPiKBuilder:: +Build(G4KaonMinusInelasticProcess * aP) +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); + aP->RegisterMe(theModel); +} - void G4FTFCPiKBuilder:: - Build(G4KaonZeroLInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(100*TeV); - aP->RegisterMe(theModel); - } +void G4FTFCPiKBuilder:: +Build(G4KaonZeroLInelasticProcess * aP) +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); + aP->RegisterMe(theModel); +} - void G4FTFCPiKBuilder:: - Build(G4KaonZeroSInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(100*TeV); - aP->RegisterMe(theModel); - } +void G4FTFCPiKBuilder:: +Build(G4KaonZeroSInelasticProcess * aP) +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); + aP->RegisterMe(theModel); +} // 2002 by J.P. Wellisch diff --git a/source/physics_lists/builders/src/G4FTFCProtonBuilder.cc b/source/physics_lists/builders/src/G4FTFCProtonBuilder.cc index e9e979feff..41990182fa 100644 --- a/source/physics_lists/builders/src/G4FTFCProtonBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFCProtonBuilder.cc @@ -30,11 +30,19 @@ #include "TheoModelFactory.hh" G4FTFCProtonBuilder:: -G4FTFCProtonBuilder() +G4FTFCProtonBuilder(G4bool quasiElastic) { - theMin = 15*GeV; + theMin = 4*GeV; theModel = TheoModelFactory::New(); + + if (quasiElastic) + { + theQuasiElastic=new G4QuasiElasticChannel; + theModel->SetQuasiElasticChannel(theQuasiElastic); + } else + { theQuasiElastic=0;} + } void G4FTFCProtonBuilder:: diff --git a/source/physics_lists/builders/src/G4FTFPNeutronBuilder.cc b/source/physics_lists/builders/src/G4FTFPNeutronBuilder.cc index e7719efff4..e75fe28562 100644 --- a/source/physics_lists/builders/src/G4FTFPNeutronBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFPNeutronBuilder.cc @@ -23,60 +23,68 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // - #include "G4FTFPNeutronBuilder.hh" - #include "G4ParticleDefinition.hh" - #include "G4ParticleTable.hh" - #include "G4ProcessManager.hh" +#include "G4FTFPNeutronBuilder.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4ProcessManager.hh" - G4FTFPNeutronBuilder:: - G4FTFPNeutronBuilder() - { - theMin = 15*GeV; - theModel = new G4TheoFSGenerator; +G4FTFPNeutronBuilder:: +G4FTFPNeutronBuilder(G4bool quasiElastic) +{ + theMin = 4*GeV; + theModel = new G4TheoFSGenerator; - theStringModel = new G4FTFModel; - theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); - theStringModel->SetFragmentationModel(theStringDecay); + theStringModel = new G4FTFModel; + theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); + theStringModel->SetFragmentationModel(theStringDecay); - theCascade = new G4GeneratorPrecompoundInterface; - thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); - theCascade->SetDeExcitation(thePreEquilib); + theCascade = new G4GeneratorPrecompoundInterface; + thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); + theCascade->SetDeExcitation(thePreEquilib); - theModel->SetTransport(theCascade); - theModel->SetHighEnergyGenerator(theStringModel); - } + theModel->SetTransport(theCascade); - G4FTFPNeutronBuilder:: - ~G4FTFPNeutronBuilder() - { - delete theStringDecay; - delete theStringModel; - delete thePreEquilib; - delete theCascade; - } + theModel->SetHighEnergyGenerator(theStringModel); + if (quasiElastic) + { + theQuasiElastic=new G4QuasiElasticChannel; + theModel->SetQuasiElasticChannel(theQuasiElastic); + } else + { theQuasiElastic=0;} +} - void G4FTFPNeutronBuilder:: - Build(G4HadronElasticProcess * ) - { - } +G4FTFPNeutronBuilder:: +~G4FTFPNeutronBuilder() +{ + delete theStringDecay; + delete theStringModel; + delete thePreEquilib; + delete theCascade; + if ( theQuasiElastic ) delete theQuasiElastic; +} - void G4FTFPNeutronBuilder:: - Build(G4HadronFissionProcess * ) - { - } +void G4FTFPNeutronBuilder:: +Build(G4HadronElasticProcess * ) +{ +} - void G4FTFPNeutronBuilder:: - Build(G4HadronCaptureProcess * ) - { - } +void G4FTFPNeutronBuilder:: +Build(G4HadronFissionProcess * ) +{ +} - void G4FTFPNeutronBuilder:: - Build(G4NeutronInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(100*TeV); - aP->RegisterMe(theModel); - aP->AddDataSet(&theXSec); - } +void G4FTFPNeutronBuilder:: +Build(G4HadronCaptureProcess * ) +{ +} + +void G4FTFPNeutronBuilder:: +Build(G4NeutronInelasticProcess * aP) +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); + aP->RegisterMe(theModel); + aP->AddDataSet(&theXSec); +} // 2002 by J.P. Wellisch diff --git a/source/physics_lists/builders/src/G4FTFPPiKBuilder.cc b/source/physics_lists/builders/src/G4FTFPPiKBuilder.cc index a11380512c..c3398175f5 100644 --- a/source/physics_lists/builders/src/G4FTFPPiKBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFPPiKBuilder.cc @@ -29,9 +29,9 @@ #include "G4ProcessManager.hh" G4FTFPPiKBuilder:: - G4FTFPPiKBuilder() + G4FTFPPiKBuilder(G4bool quasiElastic) { - theMin = 15*GeV; + theMin = 4*GeV; theModel = new G4TheoFSGenerator; theStringModel = new G4FTFModel; @@ -43,6 +43,13 @@ theCascade->SetDeExcitation(thePreEquilib); theModel->SetHighEnergyGenerator(theStringModel); + if (quasiElastic) + { + theQuasiElastic=new G4QuasiElasticChannel; + theModel->SetQuasiElasticChannel(theQuasiElastic); + } else + { theQuasiElastic=0;} + theModel->SetTransport(theCascade); } @@ -53,6 +60,7 @@ delete theStringDecay; delete theStringModel; delete theModel; + if ( theQuasiElastic ) delete theQuasiElastic; } void G4FTFPPiKBuilder:: diff --git a/source/physics_lists/builders/src/G4FTFPProtonBuilder.cc b/source/physics_lists/builders/src/G4FTFPProtonBuilder.cc index ff8deb8b67..0d992c0662 100644 --- a/source/physics_lists/builders/src/G4FTFPProtonBuilder.cc +++ b/source/physics_lists/builders/src/G4FTFPProtonBuilder.cc @@ -23,50 +23,58 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // - #include "G4FTFPProtonBuilder.hh" - #include "G4ParticleDefinition.hh" - #include "G4ParticleTable.hh" - #include "G4ProcessManager.hh" +#include "G4FTFPProtonBuilder.hh" +#include "G4ParticleDefinition.hh" +#include "G4ParticleTable.hh" +#include "G4ProcessManager.hh" - G4FTFPProtonBuilder:: - G4FTFPProtonBuilder() - { - theMin = 15*GeV; - theModel = new G4TheoFSGenerator; +G4FTFPProtonBuilder:: +G4FTFPProtonBuilder(G4bool quasiElastic) +{ + theMin = 4*GeV; + theModel = new G4TheoFSGenerator; - theStringModel = new G4FTFModel; - theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); - theStringModel->SetFragmentationModel(theStringDecay); + theStringModel = new G4FTFModel; + theStringDecay = new G4ExcitedStringDecay(new G4LundStringFragmentation); + theStringModel->SetFragmentationModel(theStringDecay); - theCascade = new G4GeneratorPrecompoundInterface; - thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); - theCascade->SetDeExcitation(thePreEquilib); + theCascade = new G4GeneratorPrecompoundInterface; + thePreEquilib = new G4PreCompoundModel(new G4ExcitationHandler); + theCascade->SetDeExcitation(thePreEquilib); - theModel->SetHighEnergyGenerator(theStringModel); - theModel->SetTransport(theCascade); - } + theModel->SetHighEnergyGenerator(theStringModel); + if (quasiElastic) + { + theQuasiElastic=new G4QuasiElasticChannel; + theModel->SetQuasiElasticChannel(theQuasiElastic); + } else + { theQuasiElastic=0;} - void G4FTFPProtonBuilder:: - Build(G4ProtonInelasticProcess * aP) - { - theModel->SetMinEnergy(theMin); - theModel->SetMaxEnergy(100*TeV); - aP->RegisterMe(theModel); - aP->AddDataSet(&theXSec); - } + theModel->SetTransport(theCascade); +} - G4FTFPProtonBuilder:: - ~G4FTFPProtonBuilder() - { - delete theStringDecay; - delete theStringModel; - delete theModel; - delete theCascade; - } +void G4FTFPProtonBuilder:: +Build(G4ProtonInelasticProcess * aP) +{ + theModel->SetMinEnergy(theMin); + theModel->SetMaxEnergy(100*TeV); + aP->RegisterMe(theModel); + aP->AddDataSet(&theXSec); +} - void G4FTFPProtonBuilder:: - Build(G4HadronElasticProcess * ) - { - } +G4FTFPProtonBuilder:: +~G4FTFPProtonBuilder() +{ + delete theStringDecay; + delete theStringModel; + delete theModel; + delete theCascade; + if ( theQuasiElastic ) delete theQuasiElastic; +} + +void G4FTFPProtonBuilder:: +Build(G4HadronElasticProcess * ) +{ +} // 2002 by J.P. Wellisch diff --git a/source/physics_lists/builders/src/G4HadronElasticPhysics.cc b/source/physics_lists/builders/src/G4HadronElasticPhysics.cc index 6c7910ead8..5c47e680fc 100644 --- a/source/physics_lists/builders/src/G4HadronElasticPhysics.cc +++ b/source/physics_lists/builders/src/G4HadronElasticPhysics.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HadronElasticPhysics.cc,v 1.7 2007/03/06 17:52:06 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4HadronHElasticPhysics.cc b/source/physics_lists/builders/src/G4HadronHElasticPhysics.cc index 00b0b480f0..ea9e53119a 100644 --- a/source/physics_lists/builders/src/G4HadronHElasticPhysics.cc +++ b/source/physics_lists/builders/src/G4HadronHElasticPhysics.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HadronHElasticPhysics.cc,v 1.2 2007/03/21 12:36:14 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4HadronProcessStore.cc b/source/physics_lists/builders/src/G4HadronProcessStore.cc index 08bb72fc8e..cd835b8940 100644 --- a/source/physics_lists/builders/src/G4HadronProcessStore.cc +++ b/source/physics_lists/builders/src/G4HadronProcessStore.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HadronProcessStore.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4HadronQElasticPhysics.cc b/source/physics_lists/builders/src/G4HadronQElasticPhysics.cc index a4499e11ad..75a1a693e3 100644 --- a/source/physics_lists/builders/src/G4HadronQElasticPhysics.cc +++ b/source/physics_lists/builders/src/G4HadronQElasticPhysics.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HadronQElasticPhysics.cc,v 1.6 2006/11/29 14:33:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4IonBinaryCascadePhysics.cc b/source/physics_lists/builders/src/G4IonBinaryCascadePhysics.cc index 078780be8a..369f9762a2 100644 --- a/source/physics_lists/builders/src/G4IonBinaryCascadePhysics.cc +++ b/source/physics_lists/builders/src/G4IonBinaryCascadePhysics.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4IonBinaryCascadePhysics.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4IonPhysics.cc b/source/physics_lists/builders/src/G4IonPhysics.cc index 2459335873..ce766b50d7 100644 --- a/source/physics_lists/builders/src/G4IonPhysics.cc +++ b/source/physics_lists/builders/src/G4IonPhysics.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4IonPhysics.cc,v 1.1 2006/10/31 11:35:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4LEADNeutronBuilder.cc b/source/physics_lists/builders/src/G4LEADNeutronBuilder.cc deleted file mode 100644 index 4d90a7aeb6..0000000000 --- a/source/physics_lists/builders/src/G4LEADNeutronBuilder.cc +++ /dev/null @@ -1,61 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// - #include "G4LEADNeutronBuilder.hh" - #include "G4ParticleDefinition.hh" - #include "G4ParticleTable.hh" - #include "G4ProcessManager.hh" - - G4LEADNeutronBuilder:: - G4LEADNeutronBuilder() - { - theMin = 0; - theModel = new G4Mars5GeV; - } - - G4LEADNeutronBuilder:: - ~G4LEADNeutronBuilder() -{ - delete theModel; -} - - void G4LEADNeutronBuilder:: - Build(G4NeutronInelasticProcess * aP) - { - aP->AddDataSet(&theXSec); - theModel->SetMinEnergy(theMin); - aP->RegisterMe(theModel); - } - - void G4LEADNeutronBuilder:: - Build(G4HadronElasticProcess * ){} - - void G4LEADNeutronBuilder:: - Build(G4HadronFissionProcess * ){} - - void G4LEADNeutronBuilder:: - Build(G4HadronCaptureProcess * ){} - - // 2002 by J.P. Wellisch diff --git a/source/physics_lists/builders/src/G4LEADPiKBuilder.cc b/source/physics_lists/builders/src/G4LEADPiKBuilder.cc deleted file mode 100644 index 837b4e3783..0000000000 --- a/source/physics_lists/builders/src/G4LEADPiKBuilder.cc +++ /dev/null @@ -1,91 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -#include "G4LEADPiKBuilder.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" -#include "G4ProcessManager.hh" - -G4LEADPiKBuilder:: -G4LEADPiKBuilder() -{ - theMin = 0; - theModel = new G4Mars5GeV; -} - -G4LEADPiKBuilder:: -~G4LEADPiKBuilder() -{ - delete theModel; -} - -void G4LEADPiKBuilder:: -Build(G4HadronElasticProcess * ) {} - -void G4LEADPiKBuilder:: -Build(G4PionPlusInelasticProcess * aP) -{ - aP->RegisterMe(theModel); - aP->AddDataSet(&thePiData); - theModel->SetMinEnergy(theMin); -} - -void G4LEADPiKBuilder:: -Build(G4PionMinusInelasticProcess * aP) -{ - aP->RegisterMe(theModel); - aP->AddDataSet(&thePiData); - theModel->SetMinEnergy(theMin); -} - -void G4LEADPiKBuilder:: -Build(G4KaonPlusInelasticProcess * aP) -{ - aP->RegisterMe(theModel); - theModel->SetMinEnergy(theMin); -} - -void G4LEADPiKBuilder:: -Build(G4KaonMinusInelasticProcess * aP) -{ - aP->RegisterMe(theModel); - theModel->SetMinEnergy(theMin); -} - -void G4LEADPiKBuilder:: -Build(G4KaonZeroLInelasticProcess * aP) -{ - aP->RegisterMe(theModel); - theModel->SetMinEnergy(theMin); -} - -void G4LEADPiKBuilder:: -Build(G4KaonZeroSInelasticProcess * aP) -{ - aP->RegisterMe(theModel); - theModel->SetMinEnergy(theMin); -} - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/builders/src/G4LEADProtonBuilder.cc b/source/physics_lists/builders/src/G4LEADProtonBuilder.cc deleted file mode 100644 index fe51e1b7b9..0000000000 --- a/source/physics_lists/builders/src/G4LEADProtonBuilder.cc +++ /dev/null @@ -1,57 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -#include "G4LEADProtonBuilder.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" -#include "G4ProcessManager.hh" - -G4LEADProtonBuilder:: -G4LEADProtonBuilder() -{ - theMin = 0; - theModel = new G4Mars5GeV; -} - -G4LEADProtonBuilder:: -~G4LEADProtonBuilder() -{ - delete theModel; -} - -void G4LEADProtonBuilder:: -Build(G4HadronElasticProcess * ) -{ -} - -void G4LEADProtonBuilder:: -Build(G4ProtonInelasticProcess * aP) -{ - theModel->SetMinEnergy(theMin); - aP->RegisterMe(theModel); - aP->AddDataSet(&theXSec); -} - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/builders/src/G4LEPNeutronBuilder.cc b/source/physics_lists/builders/src/G4LEPNeutronBuilder.cc index 43c56b593d..9883f31b0c 100644 --- a/source/physics_lists/builders/src/G4LEPNeutronBuilder.cc +++ b/source/physics_lists/builders/src/G4LEPNeutronBuilder.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4LEPPiKBuilder.cc b/source/physics_lists/builders/src/G4LEPPiKBuilder.cc index a4e352e808..b23fc0b415 100644 --- a/source/physics_lists/builders/src/G4LEPPiKBuilder.cc +++ b/source/physics_lists/builders/src/G4LEPPiKBuilder.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4LEPProtonBuilder.cc b/source/physics_lists/builders/src/G4LEPProtonBuilder.cc index aa4b196bbd..6ad027c589 100644 --- a/source/physics_lists/builders/src/G4LEPProtonBuilder.cc +++ b/source/physics_lists/builders/src/G4LEPProtonBuilder.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4LHEPStoppingPhysics.cc b/source/physics_lists/builders/src/G4LHEPStoppingPhysics.cc index 0302c4ad3d..7c4f768291 100644 --- a/source/physics_lists/builders/src/G4LHEPStoppingPhysics.cc +++ b/source/physics_lists/builders/src/G4LHEPStoppingPhysics.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4LHEPStoppingPhysics.cc,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4MiscLHEPBuilder.cc b/source/physics_lists/builders/src/G4MiscLHEPBuilder.cc index bc47477e84..9c177c0d8c 100644 --- a/source/physics_lists/builders/src/G4MiscLHEPBuilder.cc +++ b/source/physics_lists/builders/src/G4MiscLHEPBuilder.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4NeutronBuilder.cc b/source/physics_lists/builders/src/G4NeutronBuilder.cc index a4e2c2d231..85a8c4bf67 100644 --- a/source/physics_lists/builders/src/G4NeutronBuilder.cc +++ b/source/physics_lists/builders/src/G4NeutronBuilder.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4NeutronTrackingCut.cc b/source/physics_lists/builders/src/G4NeutronTrackingCut.cc index 169cce9b7f..45233f45df 100644 --- a/source/physics_lists/builders/src/G4NeutronTrackingCut.cc +++ b/source/physics_lists/builders/src/G4NeutronTrackingCut.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4NeutronTrackingCut.cc,v 1.4 2006/11/24 16:30:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4PiKBuilder.cc b/source/physics_lists/builders/src/G4PiKBuilder.cc index 94478ffb99..d857f3586d 100644 --- a/source/physics_lists/builders/src/G4PiKBuilder.cc +++ b/source/physics_lists/builders/src/G4PiKBuilder.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PiKBuilder.cc,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4ProtonBuilder.cc b/source/physics_lists/builders/src/G4ProtonBuilder.cc index 873b7b826d..5d856b0139 100644 --- a/source/physics_lists/builders/src/G4ProtonBuilder.cc +++ b/source/physics_lists/builders/src/G4ProtonBuilder.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ProtonBuilder.cc,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_HP.cc b/source/physics_lists/builders/src/G4QEmExtraPhysics.cc similarity index 51% rename from source/physics_lists/lists/src/HadronPhysicsLHEP_HP.cc rename to source/physics_lists/builders/src/G4QEmExtraPhysics.cc index 85d69aed3a..5339ad50f4 100644 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_HP.cc +++ b/source/physics_lists/builders/src/G4QEmExtraPhysics.cc @@ -23,88 +23,80 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsLHEP_HP.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4QEmExtraPhysics.cc,v 1.1 2007/05/23 17:38:35 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // -// ClassName: HadronPhysicsLHEP_HP +// ClassName: G4QEmExtraPhysics // -// Author: 2002 J.P. Wellisch +// Author: 23 May 2007 V. Ivanchenko // // Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping // //---------------------------------------------------------------------------- // -#include "HadronPhysicsLHEP_HP.hh" -#include "globals.hh" -#include "G4ios.hh" -#include +#include "G4QEmExtraPhysics.hh" +#include "G4QCollision.hh" + #include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" #include "G4ProcessManager.hh" -HadronPhysicsLHEP_HP::HadronPhysicsLHEP_HP(const G4String& name) - : G4VPhysicsConstructor(name) -{} +#include "G4LeptonConstructor.hh" +#include "G4MuonMinus.hh" +#include "G4MuonPlus.hh" +#include "G4Electron.hh" +#include "G4Positron.hh" +#include "G4Gamma.hh" -void HadronPhysicsLHEP_HP::CreateModels() +G4QEmExtraPhysics::G4QEmExtraPhysics(G4int ver) + : G4VPhysicsConstructor("QEmExtra"), verbose(ver), wasActivated(false) { - theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder); - theLHEPNeutron->SetMinEnergy(19.9*MeV); - theNeutrons->RegisterMe(theHPNeutron=new G4NeutronHPBuilder); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder); - - theProton=new G4ProtonBuilder; - theProton->RegisterMe(theLHEPProton=new G4LHEPProtonBuilder); - - theMiscLHEP=new G4MiscLHEPBuilder; + if(verbose > 1) G4cout << "### G4QEmExtraPhysics" << G4endl; } -HadronPhysicsLHEP_HP:: -~HadronPhysicsLHEP_HP() +G4QEmExtraPhysics::~G4QEmExtraPhysics() { - delete theNeutrons; - delete theLHEPNeutron; - delete theHPNeutron; - - delete theLHEPPiK; - delete thePiK; - delete theLHEPProton; - delete theProton; - - delete theMiscLHEP; + delete hProcess; } -void HadronPhysicsLHEP_HP:: -ConstructParticle() +void G4QEmExtraPhysics::ConstructParticle() { - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); +// G4cout << "G4QEmExtraPhysics::ConstructParticle" << G4endl; + G4LeptonConstructor pLeptonConstructor; + pLeptonConstructor.ConstructParticle(); } -void HadronPhysicsLHEP_HP:: -ConstructProcess() +void G4QEmExtraPhysics::ConstructProcess() { - CreateModels(); - theNeutrons->Build(); - theProton->Build(); - thePiK->Build(); - theMiscLHEP->Build(); + if(verbose > 1) G4cout << "### G4QEmExtraPhysics::ConstructProcess " + << wasActivated << G4endl; + if(wasActivated) return; + wasActivated = true; + + hProcess = new G4QCollision(); + + G4ParticleDefinition* particle = G4Gamma::Gamma(); + G4ProcessManager* pmanager = particle->GetProcessManager(); + pmanager->AddDiscreteProcess(hProcess); + + particle = G4Electron::Electron(); + pmanager = particle->GetProcessManager(); + pmanager->AddDiscreteProcess(hProcess); + + particle = G4Positron::Positron(); + pmanager = particle->GetProcessManager(); + pmanager->AddDiscreteProcess(hProcess); + + particle = G4MuonMinus::MuonMinus(); + pmanager = particle->GetProcessManager(); + pmanager->AddDiscreteProcess(hProcess); + + particle = G4MuonPlus::MuonPlus(); + pmanager = particle->GetProcessManager(); + pmanager->AddDiscreteProcess(hProcess); + } + diff --git a/source/physics_lists/builders/src/G4QStoppingPhysics.cc b/source/physics_lists/builders/src/G4QStoppingPhysics.cc index dd19e48853..81449841c3 100644 --- a/source/physics_lists/builders/src/G4QStoppingPhysics.cc +++ b/source/physics_lists/builders/src/G4QStoppingPhysics.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4QStoppingPhysics.cc,v 1.2 2007/04/26 16:03:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/builders/src/G4StoppingHadronBuilder.cc b/source/physics_lists/builders/src/G4StoppingHadronBuilder.cc index c732c0c595..57daeae987 100644 --- a/source/physics_lists/builders/src/G4StoppingHadronBuilder.cc +++ b/source/physics_lists/builders/src/G4StoppingHadronBuilder.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4StoppingHadronBuilder.cc,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/FTFC.hh b/source/physics_lists/lists/include/FTFC.hh index 5fa5a12114..0f0b4290af 100644 --- a/source/physics_lists/lists/include/FTFC.hh +++ b/source/physics_lists/lists/include/FTFC.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FTFC.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/FTFC.icc b/source/physics_lists/lists/include/FTFC.icc index dc8722604b..99676cf1f6 100644 --- a/source/physics_lists/lists/include/FTFC.icc +++ b/source/physics_lists/lists/include/FTFC.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: FTFC.icc,v 1.2 2006/11/24 17:10:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: FTFC.icc,v 1.5 2007/06/01 15:24:24 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -39,6 +39,7 @@ // 05.12.2005 V.Ivanchenko add controlled verbosity // 08.06.2006 V.Ivanchenko: migration to CHIPS stopping // 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -71,13 +72,13 @@ template TFTFC::TFTFC(G4int ver): T() // default cut value (1.0mm) // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: FTFC 3.2"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM", ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); @@ -89,7 +90,8 @@ template TFTFC::TFTFC(G4int ver): T() this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); // Hadron Physics - this->RegisterPhysics( new HadronPhysicsFTFC("hadron")); + G4bool quasiElastic; + this->RegisterPhysics( new HadronPhysicsFTFC("hadron",quasiElastic=true)); // Stopping Physics this->RegisterPhysics( new G4QStoppingPhysics("stopping")); diff --git a/source/physics_lists/lists/include/FTFP.hh b/source/physics_lists/lists/include/FTFP.hh index 8c6bfc10ef..3fd20ad935 100644 --- a/source/physics_lists/lists/include/FTFP.hh +++ b/source/physics_lists/lists/include/FTFP.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FTFP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/FTFP.icc b/source/physics_lists/lists/include/FTFP.icc index a3c649ac6f..b41f755fb4 100644 --- a/source/physics_lists/lists/include/FTFP.icc +++ b/source/physics_lists/lists/include/FTFP.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: FTFP.icc,v 1.3 2006/11/24 17:10:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: FTFP.icc,v 1.5 2007/06/01 15:20:06 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -39,6 +39,7 @@ // 08.06.2006 V.Ivanchenko: migration to CHIPS stopping // 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic // 20.11.2006 G.Folger: add Tracking Cut for neutrons +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -72,13 +73,13 @@ template TFTFP::TFTFP(G4int ver): T() // default cut value (1.0mm) // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: FTFP 4.2"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); @@ -90,7 +91,8 @@ template TFTFP::TFTFP(G4int ver): T() this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); // Hadron Physics - this->RegisterPhysics( new HadronPhysicsFTFP("hadron")); + G4bool quasiElastic; + this->RegisterPhysics( new HadronPhysicsFTFP("hadron",quasiElastic=true)); // Stopping Physics this->RegisterPhysics( new G4QStoppingPhysics("stopping")); diff --git a/source/physics_lists/lists/include/FTFP_EMV.hh b/source/physics_lists/lists/include/FTFP_EMV.hh index 3130cdd842..5f1e41c2ff 100644 --- a/source/physics_lists/lists/include/FTFP_EMV.hh +++ b/source/physics_lists/lists/include/FTFP_EMV.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: FTFP_EMV.hh,v 1.1 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/FTFP_EMV.icc b/source/physics_lists/lists/include/FTFP_EMV.icc index 23d32ed3b8..e696137f7d 100644 --- a/source/physics_lists/lists/include/FTFP_EMV.icc +++ b/source/physics_lists/lists/include/FTFP_EMV.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: FTFP_EMV.icc,v 1.1 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: FTFP_EMV.icc,v 1.2 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -40,6 +40,7 @@ // 08.06.2006 V.Ivanchenko: migration to CHIPS stopping // 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic // 20.11.2006 G.Folger: add Tracking Cut for neutrons +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -58,7 +59,7 @@ #include #include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysics_option1.hh" #include "G4EmExtraPhysics.hh" #include "G4IonPhysics.hh" #include "G4QStoppingPhysics.hh" @@ -79,7 +80,7 @@ template TFTFP_EMV::TFTFP_EMV(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics71("standard EM v71",ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/G4HadronInelasticQBBC.hh b/source/physics_lists/lists/include/G4HadronInelasticQBBC.hh index 8d53116fae..eb632e06e1 100644 --- a/source/physics_lists/lists/include/G4HadronInelasticQBBC.hh +++ b/source/physics_lists/lists/include/G4HadronInelasticQBBC.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HadronInelasticQBBC.hh,v 1.2 2007/04/16 11:57:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/G4HadronInelasticQLHEP.hh b/source/physics_lists/lists/include/G4HadronInelasticQLHEP.hh index 87728f1f8f..179b2a978a 100644 --- a/source/physics_lists/lists/include/G4HadronInelasticQLHEP.hh +++ b/source/physics_lists/lists/include/G4HadronInelasticQLHEP.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HadronInelasticQLHEP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsFTFC.hh b/source/physics_lists/lists/include/HadronPhysicsFTFC.hh index 7b1b2946e7..7bebbfc66e 100644 --- a/source/physics_lists/lists/include/HadronPhysicsFTFC.hh +++ b/source/physics_lists/lists/include/HadronPhysicsFTFC.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTFC.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: HadronPhysicsFTFC.hh,v 1.2 2007/06/01 15:20:06 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -62,7 +62,7 @@ class HadronPhysicsFTFC : public G4VPhysicsConstructor { public: - HadronPhysicsFTFC(const G4String& name ="hadron"); + HadronPhysicsFTFC(const G4String& name ="hadron",G4bool quasiElastic=true); virtual ~HadronPhysicsFTFC(); public: @@ -84,6 +84,8 @@ class HadronPhysicsFTFC : public G4VPhysicsConstructor G4FTFCProtonBuilder * theFTFCPro; G4MiscLHEPBuilder * theMiscLHEP; + + G4bool QuasiElastic; }; #endif diff --git a/source/physics_lists/lists/include/HadronPhysicsFTFP.hh b/source/physics_lists/lists/include/HadronPhysicsFTFP.hh index bb2ca2b162..ada2d74948 100644 --- a/source/physics_lists/lists/include/HadronPhysicsFTFP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsFTFP.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTFP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: HadronPhysicsFTFP.hh,v 1.2 2007/06/01 15:20:06 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -62,7 +62,7 @@ class HadronPhysicsFTFP : public G4VPhysicsConstructor { public: - HadronPhysicsFTFP(const G4String& name ="hadron"); + HadronPhysicsFTFP(const G4String& name ="hadron",G4bool quasiElastic=true); virtual ~HadronPhysicsFTFP(); public: @@ -84,7 +84,8 @@ class HadronPhysicsFTFP : public G4VPhysicsConstructor G4FTFPProtonBuilder * theFTFPPro; G4MiscLHEPBuilder * theMiscLHEP; - + + G4bool QuasiElastic; }; #endif diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP.hh index 57ae4d63ed..6517d0479e 100644 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsLHEP.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsLHEP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP_BERT.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP_BERT.hh index ec9bbc90ea..11f01fb52f 100644 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP_BERT.hh +++ b/source/physics_lists/lists/include/HadronPhysicsLHEP_BERT.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsLHEP_BERT.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP_BERT_HP.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP_BERT_HP.hh index 16c65b28e8..b8d9d92671 100644 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP_BERT_HP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsLHEP_BERT_HP.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsLHEP_BERT_HP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP_BIC.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP_BIC.hh deleted file mode 100644 index 0699a01f1a..0000000000 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP_BIC.hh +++ /dev/null @@ -1,88 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsLHEP_BIC.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsLHEP_BIC -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#ifndef HadronPhysicsLHEP_BIC_h -#define HadronPhysicsLHEP_BIC_h 1 - -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" - -#include "G4PiKBuilder.hh" -#include "G4LHEPPiKBuilder.hh" - -#include "G4ProtonBuilder.hh" -#include "G4LHEPProtonBuilder.hh" -#include "G4BinaryProtonBuilder.hh" - -#include "G4NeutronBuilder.hh" -#include "G4LHEPNeutronBuilder.hh" -#include "G4BinaryNeutronBuilder.hh" - -class HadronPhysicsLHEP_BIC : public G4VPhysicsConstructor -{ - public: - HadronPhysicsLHEP_BIC(const G4String& name ="hadron"); - virtual ~HadronPhysicsLHEP_BIC(); - - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LHEPNeutronBuilder * theLHEPNeutron; - G4BinaryNeutronBuilder * theBinaryNeutron; - - G4PiKBuilder * thePiK; - G4LHEPPiKBuilder * theLHEPPiK; - - G4ProtonBuilder * thePro; - G4LHEPProtonBuilder * theLHEPPro; - G4BinaryProtonBuilder * theBinaryPro; - - G4MiscLHEPBuilder * theMiscLHEP; -}; - -#endif - diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP_BIC_HP.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP_BIC_HP.hh deleted file mode 100644 index 523d137b1c..0000000000 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP_BIC_HP.hh +++ /dev/null @@ -1,90 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsLHEP_BIC_HP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsLHEP_BIC_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#ifndef HadronPhysicsLHEP_BIC_HP_h -#define HadronPhysicsLHEP_BIC_HP_h 1 - -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" - -#include "G4PiKBuilder.hh" -#include "G4LHEPPiKBuilder.hh" - -#include "G4ProtonBuilder.hh" -#include "G4LHEPProtonBuilder.hh" -#include "G4BinaryProtonBuilder.hh" - -#include "G4NeutronBuilder.hh" -#include "G4LHEPNeutronBuilder.hh" -#include "G4BinaryNeutronBuilder.hh" -#include "G4NeutronHPBuilder.hh" - -class HadronPhysicsLHEP_BIC_HP : public G4VPhysicsConstructor -{ - public: - HadronPhysicsLHEP_BIC_HP(const G4String& name ="hadron"); - virtual ~HadronPhysicsLHEP_BIC_HP(); - - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LHEPNeutronBuilder * theLHEPNeutron; - G4BinaryNeutronBuilder * theBinaryNeutron; - G4NeutronHPBuilder * theHPNeutron; - - G4PiKBuilder * thePiK; - G4LHEPPiKBuilder * theLHEPPiK; - - G4ProtonBuilder * thePro; - G4LHEPProtonBuilder * theLHEPPro; - G4BinaryProtonBuilder * theBinaryPro; - - G4MiscLHEPBuilder * theMiscLHEP; -}; - -#endif - diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP_EMV.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP_EMV.hh index 4d057bea74..82909f805f 100644 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP_EMV.hh +++ b/source/physics_lists/lists/include/HadronPhysicsLHEP_EMV.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsLHEP_EMV.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP_LEAD.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP_LEAD.hh deleted file mode 100644 index ce0c8a802d..0000000000 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP_LEAD.hh +++ /dev/null @@ -1,90 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsLHEP_LEAD.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsLHEP_LEAD -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#ifndef HadronPhysicsLHEP_LEAD_h -#define HadronPhysicsLHEP_LEAD_h 1 - -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" - -#include "G4PiKBuilder.hh" -#include "G4LHEPPiKBuilder.hh" -#include "G4LEADPiKBuilder.hh" - -#include "G4ProtonBuilder.hh" -#include "G4LHEPProtonBuilder.hh" -#include "G4LEADProtonBuilder.hh" - -#include "G4NeutronBuilder.hh" -#include "G4LHEPNeutronBuilder.hh" -#include "G4LEADNeutronBuilder.hh" - -class HadronPhysicsLHEP_LEAD : public G4VPhysicsConstructor -{ - public: - HadronPhysicsLHEP_LEAD(const G4String& name ="hadron"); - virtual ~HadronPhysicsLHEP_LEAD(); - - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LHEPNeutronBuilder * theLHEPNeutron; - G4LEADNeutronBuilder * theLEADNeutron; - - G4PiKBuilder * thePiK; - G4LHEPPiKBuilder * theLHEPPiK; - G4LEADPiKBuilder * theLEADPiK; - - G4ProtonBuilder * thePro; - G4LHEPProtonBuilder * theLHEPPro; - G4LEADProtonBuilder * theLEADPro; - - G4MiscLHEPBuilder * theMiscLHEP; -}; - -#endif - diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP_LEAD_HP.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP_LEAD_HP.hh deleted file mode 100644 index aa52473199..0000000000 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP_LEAD_HP.hh +++ /dev/null @@ -1,93 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsLHEP_LEAD_HP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: LHEP_LEAD_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 30.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#ifndef HadronPhysicsLHEP_LEAD_HP_h -#define HadronPhysicsLHEP_LEAD_HP_h 1 - -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" - -#include "G4PiKBuilder.hh" -#include "G4LHEPPiKBuilder.hh" -#include "G4LEADPiKBuilder.hh" - -#include "G4ProtonBuilder.hh" -#include "G4LHEPProtonBuilder.hh" -#include "G4LEADProtonBuilder.hh" - -#include "G4NeutronBuilder.hh" -#include "G4LHEPNeutronBuilder.hh" -#include "G4LEADNeutronBuilder.hh" -#include "G4NeutronHPBuilder.hh" - -class HadronPhysicsLHEP_LEAD_HP : public G4VPhysicsConstructor -{ - public: - HadronPhysicsLHEP_LEAD_HP(const G4String& name ="hadron"); - virtual ~HadronPhysicsLHEP_LEAD_HP(); - - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LHEPNeutronBuilder * theLHEPNeutron; - G4LEADNeutronBuilder * theLEADNeutron; - G4NeutronHPBuilder * theHPNeutron; - - G4PiKBuilder * thePiK; - G4LHEPPiKBuilder * theLHEPPiK; - G4LEADPiKBuilder * theLEADPiK; - - G4ProtonBuilder * thePro; - G4LHEPProtonBuilder * theLHEPPro; - G4LEADProtonBuilder * theLEADPro; - - G4MiscLHEPBuilder * theMiscLHEP; -}; - -#endif - diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP_PRECO.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP_PRECO.hh deleted file mode 100644 index 1b7fd01482..0000000000 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP_PRECO.hh +++ /dev/null @@ -1,88 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsLHEP_PRECO.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsLHEP_PRECO -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#ifndef HadronPhysicsLHEP_PRECO_h -#define HadronPhysicsLHEP_PRECO_h 1 - -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" - -#include "G4PiKBuilder.hh" -#include "G4LHEPPiKBuilder.hh" - -#include "G4ProtonBuilder.hh" -#include "G4LHEPProtonBuilder.hh" -#include "G4PrecoProtonBuilder.hh" - -#include "G4NeutronBuilder.hh" -#include "G4LHEPNeutronBuilder.hh" -#include "G4PrecoNeutronBuilder.hh" - -class HadronPhysicsLHEP_PRECO : public G4VPhysicsConstructor -{ - public: - HadronPhysicsLHEP_PRECO(const G4String& name ="hadron"); - virtual ~HadronPhysicsLHEP_PRECO(); - - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LHEPNeutronBuilder * theLHEPNeutron; - G4PrecoNeutronBuilder * thePrecoNeutron; - - G4PiKBuilder * thePiK; - G4LHEPPiKBuilder * theLHEPPiK; - - G4ProtonBuilder * thePro; - G4LHEPProtonBuilder * theLHEPPro; - G4PrecoProtonBuilder * thePrecoPro; - - G4MiscLHEPBuilder * theMiscLHEP; -}; - -#endif - diff --git a/source/physics_lists/lists/include/HadronPhysicsLHEP_PRECO_HP.hh b/source/physics_lists/lists/include/HadronPhysicsLHEP_PRECO_HP.hh index 6e2902ccc2..f1dcc1774b 100644 --- a/source/physics_lists/lists/include/HadronPhysicsLHEP_PRECO_HP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsLHEP_PRECO_HP.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsLHEP_PRECO_HP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSC.hh b/source/physics_lists/lists/include/HadronPhysicsQGSC.hh index 2d12732cee..f7c7ab7299 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSC.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSC.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSC.hh,v 1.2 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSC_EFLOW.hh b/source/physics_lists/lists/include/HadronPhysicsQGSC_EFLOW.hh index cad65b4f97..fe1a6143ab 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSC_EFLOW.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSC_EFLOW.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSC_EFLOW.hh,v 1.2 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSC_LEAD.hh b/source/physics_lists/lists/include/HadronPhysicsQGSC_LEAD.hh deleted file mode 100644 index 3579dba9fa..0000000000 --- a/source/physics_lists/lists/include/HadronPhysicsQGSC_LEAD.hh +++ /dev/null @@ -1,95 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsQGSC_LEAD.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysiosQGSC_LEAD -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 28.11.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// - -#ifndef HadronPhysicsQGSC_LEAD_h -#define HadronPhysicsQGSC_LEAD_h 1 - -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" - -#include "G4PiKBuilder.hh" -#include "G4LEPPiKBuilder.hh" -#include "G4QGSCPiKBuilder.hh" -#include "G4LEADPiKBuilder.hh" - -#include "G4ProtonBuilder.hh" -#include "G4LEPProtonBuilder.hh" -#include "G4QGSCProtonBuilder.hh" -#include "G4LEADProtonBuilder.hh" - -#include "G4NeutronBuilder.hh" -#include "G4LEPNeutronBuilder.hh" -#include "G4QGSCNeutronBuilder.hh" -#include "G4LEADNeutronBuilder.hh" - -class HadronPhysicsQGSC_LEAD : public G4VPhysicsConstructor -{ - public: - HadronPhysicsQGSC_LEAD(const G4String& name ="hadron"); - virtual ~HadronPhysicsQGSC_LEAD(); - - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LEPNeutronBuilder * theLEPNeutron; - G4QGSCNeutronBuilder * theQGSCNeutron; - G4LEADNeutronBuilder * theLEADNeutron; - - G4PiKBuilder * thePiK; - G4LEPPiKBuilder * theLEPPiK; - G4QGSCPiKBuilder * theQGSCPiK; - G4LEADPiKBuilder * theLEADPiK; - - G4ProtonBuilder * thePro; - G4LEPProtonBuilder * theLEPPro; - G4QGSCProtonBuilder * theQGSCPro; - G4LEADProtonBuilder * theLEADProton; - - G4MiscLHEPBuilder * theMiscLHEP; -}; - -#endif - diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSC_LEAD_HP.hh b/source/physics_lists/lists/include/HadronPhysicsQGSC_LEAD_HP.hh deleted file mode 100644 index 06ec3c17a8..0000000000 --- a/source/physics_lists/lists/include/HadronPhysicsQGSC_LEAD_HP.hh +++ /dev/null @@ -1,98 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsQGSC_LEAD_HP.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsQGSC_LEAD_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#ifndef HadronPhysicsQGSC_LEAD_HP_h -#define HadronPhysicsQGSC_LEAD_HP_h 1 - -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" - -#include "G4PiKBuilder.hh" -#include "G4LEPPiKBuilder.hh" -#include "G4QGSCPiKBuilder.hh" -#include "G4LEADPiKBuilder.hh" - -#include "G4ProtonBuilder.hh" -#include "G4LEPProtonBuilder.hh" -#include "G4QGSCProtonBuilder.hh" -#include "G4LEADProtonBuilder.hh" - -#include "G4NeutronBuilder.hh" -#include "G4LEPNeutronBuilder.hh" -#include "G4QGSCNeutronBuilder.hh" -#include "G4LEADNeutronBuilder.hh" -#include "G4NeutronHPBuilder.hh" - -class HadronPhysicsQGSC_LEAD_HP : public G4VPhysicsConstructor -{ - public: - HadronPhysicsQGSC_LEAD_HP(const G4String& name ="hadron"); - virtual ~HadronPhysicsQGSC_LEAD_HP(); - - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LEPNeutronBuilder * theLEPNeutron; - G4QGSCNeutronBuilder * theQGSCNeutron; - G4LEADNeutronBuilder * theLEADNeutron; - G4NeutronHPBuilder * theHPNeutron; - - G4PiKBuilder * thePiK; - G4LEPPiKBuilder * theLEPPiK; - G4QGSCPiKBuilder * theQGSCPiK; - G4LEADPiKBuilder * theLEADPiK; - - G4ProtonBuilder * thePro; - G4LEPProtonBuilder * theLEPPro; - G4QGSCProtonBuilder * theQGSCPro; - G4LEADProtonBuilder * theLEADProton; - - G4MiscLHEPBuilder * theMiscLHEP; -}; - -#endif - diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP.hh index 48f386e937..99c5036c4f 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSP.hh,v 1.3 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT.hh index 0069421806..7949c9a43d 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSP_BERT.hh,v 1.2 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_HP.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_HP.hh index 352c2d4f26..8551214774 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_HP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_HP.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSP_BERT_HP.hh,v 1.3 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_TRV.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_TRV.hh index 9e349ed04d..9aaa837b26 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_TRV.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_BERT_TRV.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSP_BERT_TRV.hh,v 1.1 2007/05/07 14:34:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC.hh index 774d8f2ed8..dac680308a 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSP_BIC.hh,v 1.2 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC_HP.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC_HP.hh index 0e8fa4e88a..1d47f0da53 100644 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC_HP.hh +++ b/source/physics_lists/lists/include/HadronPhysicsQGSP_BIC_HP.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSP_BIC_HP.hh,v 1.2 2007/04/26 14:47:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/HadronPhysicsQGSP_HP.hh b/source/physics_lists/lists/include/HadronPhysicsQGSP_HP.hh deleted file mode 100644 index 96bc21e6e5..0000000000 --- a/source/physics_lists/lists/include/HadronPhysicsQGSP_HP.hh +++ /dev/null @@ -1,95 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsQGSP_HP.hh,v 1.2 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 24.11.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// 25.04.2007 G.Folger: Add quasielastic as option, use quasielastic by default -// -//---------------------------------------------------------------------------- -// -#ifndef HadronPhysicsQGSP_HP_h -#define HadronPhysicsQGSP_HP_h 1 - -#include "globals.hh" -#include "G4ios.hh" - -#include "G4VPhysicsConstructor.hh" -#include "G4MiscLHEPBuilder.hh" - -#include "G4PiKBuilder.hh" -#include "G4LEPPiKBuilder.hh" -#include "G4QGSPPiKBuilder.hh" - -#include "G4ProtonBuilder.hh" -#include "G4LEPProtonBuilder.hh" -#include "G4QGSPProtonBuilder.hh" - -#include "G4NeutronBuilder.hh" -#include "G4LEPNeutronBuilder.hh" -#include "G4QGSPNeutronBuilder.hh" -#include "G4NeutronHPBuilder.hh" - -class HadronPhysicsQGSP_HP : public G4VPhysicsConstructor -{ - public: - HadronPhysicsQGSP_HP(const G4String& name ="hadron",G4bool quasiElastic=true); - virtual ~HadronPhysicsQGSP_HP(); - - public: - virtual void ConstructParticle(); - virtual void ConstructProcess(); - - private: - void CreateModels(); - G4NeutronBuilder * theNeutrons; - G4LEPNeutronBuilder * theLEPNeutron; - G4QGSPNeutronBuilder * theQGSPNeutron; - G4NeutronHPBuilder * theHPNeutron; - - G4PiKBuilder * thePiK; - G4LEPPiKBuilder * theLEPPiK; - G4QGSPPiKBuilder * theQGSPPiK; - - G4ProtonBuilder * thePro; - G4LEPProtonBuilder * theLEPPro; - G4QGSPProtonBuilder * theQGSPPro; - - G4MiscLHEPBuilder * theMiscLHEP; - - G4bool QuasiElastic; -}; - -#endif - diff --git a/source/physics_lists/lists/include/LHEP.icc b/source/physics_lists/lists/include/LHEP.icc index 8b6b1dd0f8..beb61166c1 100644 --- a/source/physics_lists/lists/include/LHEP.icc +++ b/source/physics_lists/lists/include/LHEP.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP.icc,v 1.2 2006/11/24 17:10:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: LHEP.icc,v 1.3 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -37,6 +37,7 @@ // 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra // 02.12.2005 V.Ivanchenko: rename components // 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -73,7 +74,7 @@ template TLHEP::TLHEP(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/LHEP_BERT.hh b/source/physics_lists/lists/include/LHEP_BERT.hh index 934d835fd7..b407ea45a7 100644 --- a/source/physics_lists/lists/include/LHEP_BERT.hh +++ b/source/physics_lists/lists/include/LHEP_BERT.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: LHEP_BERT.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/LHEP_BERT.icc b/source/physics_lists/lists/include/LHEP_BERT.icc index a53f2b17fb..b8f8f6e2d0 100644 --- a/source/physics_lists/lists/include/LHEP_BERT.icc +++ b/source/physics_lists/lists/include/LHEP_BERT.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP_BERT.icc,v 1.2 2006/11/24 17:10:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: LHEP_BERT.icc,v 1.3 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -37,6 +37,7 @@ // 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra // 08.06.2006 V.Ivanchenko: migration to CHIPS stopping // 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -77,7 +78,7 @@ template TLHEP_BERT::TLHEP_BERT(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/LHEP_BERT_HP.icc b/source/physics_lists/lists/include/LHEP_BERT_HP.icc index 09d35168f4..6aaf9ba5af 100644 --- a/source/physics_lists/lists/include/LHEP_BERT_HP.icc +++ b/source/physics_lists/lists/include/LHEP_BERT_HP.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP_BERT_HP.icc,v 1.2 2006/11/24 17:10:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: LHEP_BERT_HP.icc,v 1.3 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -37,6 +37,7 @@ // 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra // 08.06.2006 V.Ivanchenko: migration to CHIPS stopping // 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -75,7 +76,7 @@ template TLHEP_BERT_HP::TLHEP_BERT_HP(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/LHEP_BIC.icc b/source/physics_lists/lists/include/LHEP_BIC.icc deleted file mode 100644 index b18388e9ae..0000000000 --- a/source/physics_lists/lists/include/LHEP_BIC.icc +++ /dev/null @@ -1,127 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: LHEP_BIC.icc,v 1.2 2006/11/21 07:32:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: LHEP_BIC -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 30.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic -// 20.06.2006 V.Ivanchenko: add ion Binary Cascade -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonBinaryCascadePhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsLHEP_BIC.hh" - -#include "G4WarnPLStatus.hh" - -template TLHEP_BIC::TLHEP_BIC(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: LHEP_BIC 3.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("LHEP_BIC","QGSP_BIC"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("LElastic",ver,false)); - - // Hadron Physics - this->RegisterPhysics( new HadronPhysicsLHEP_BIC("hadron")); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC")); -} - -template TLHEP_BIC::~TLHEP_BIC() -{ -} - -template void TLHEP_BIC::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "LHEP_BIC::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/LHEP_BIC_HP.icc b/source/physics_lists/lists/include/LHEP_BIC_HP.icc deleted file mode 100644 index 908806791e..0000000000 --- a/source/physics_lists/lists/include/LHEP_BIC_HP.icc +++ /dev/null @@ -1,127 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: LHEP_BIC_HP.icc,v 1.2 2006/11/21 07:32:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: LHEP_BIC_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 30.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic -// 20.06.2006 V.Ivanchenko: add ion Binary Cascade -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonBinaryCascadePhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsLHEP_BIC_HP.hh" - -#include "G4WarnPLStatus.hh" - -template TLHEP_BIC_HP::TLHEP_BIC_HP(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: LHEP_BIC_HP 3.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("LHEP_BIC_HP"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("LElastic",ver,true)); - - // Hadron Physics - this->RegisterPhysics( new HadronPhysicsLHEP_BIC_HP("hadron")); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC")); -} - -template TLHEP_BIC_HP::~TLHEP_BIC_HP() -{ -} - -template void TLHEP_BIC_HP::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "LHEP_BIC::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/LHEP_EMV.hh b/source/physics_lists/lists/include/LHEP_EMV.hh index 43db55066a..18751569fd 100644 --- a/source/physics_lists/lists/include/LHEP_EMV.hh +++ b/source/physics_lists/lists/include/LHEP_EMV.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: LHEP_EMV.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/LHEP_EMV.icc b/source/physics_lists/lists/include/LHEP_EMV.icc index f09c70f22b..6ae42b4776 100644 --- a/source/physics_lists/lists/include/LHEP_EMV.icc +++ b/source/physics_lists/lists/include/LHEP_EMV.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP_EMV.icc,v 1.2 2006/11/24 17:10:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: LHEP_EMV.icc,v 1.3 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -36,6 +36,7 @@ // 16.12.2005 G.Folger: create from LHEP_GN // 08.06.2006 V.Ivanchenko: migration to CHIPS stopping // 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -54,7 +55,7 @@ #include #include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics71.hh" +#include "G4EmStandardPhysics_option1.hh" #include "G4EmExtraPhysics.hh" #include "G4IonPhysics.hh" #include "G4QStoppingPhysics.hh" @@ -74,7 +75,7 @@ template TLHEP_EMV::TLHEP_EMV(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - without multiple scattering limiting the step - this->RegisterPhysics( new G4EmStandardPhysics71("standard EM msc 7.1",ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/LHEP_HP.icc b/source/physics_lists/lists/include/LHEP_HP.icc deleted file mode 100644 index f274779e2a..0000000000 --- a/source/physics_lists/lists/include/LHEP_HP.icc +++ /dev/null @@ -1,125 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: LHEP_HP.icc,v 1.2 2006/11/21 07:32:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 30.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsLHEP_HP.hh" - -#include "G4WarnPLStatus.hh" - -template TLHEP_HP::TLHEP_HP(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon, neutron); - G4cout << "<<< Geant4 Physics List simulation engine: LHEP_HP 3.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("LHEP_HP","QGSP_BERT_HP"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("LElastic",ver,true)); - - // Hadron Physics - this->RegisterPhysics( new HadronPhysicsLHEP_HP("hadron")); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - -} - -template TLHEP_HP::~TLHEP_HP() -{ -} - -template void TLHEP_HP::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "LHEP_HP::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel > 0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/LHEP_LEAD.icc b/source/physics_lists/lists/include/LHEP_LEAD.icc deleted file mode 100644 index 1e41c6c657..0000000000 --- a/source/physics_lists/lists/include/LHEP_LEAD.icc +++ /dev/null @@ -1,120 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: LHEP_LEAD.icc,v 1.2 2006/11/24 17:10:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: LHEP_LEAD -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 30.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic -// -//---------------------------------------------------------------------------- -// -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsLHEP_LEAD.hh" - -template TLHEP_LEAD::TLHEP_LEAD(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: LHEP_LEAD 3.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("LElastic",ver,false)); - - // Hadron Physics - this->RegisterPhysics( new HadronPhysicsLHEP_LEAD("hadron")); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - -} - -template TLHEP_LEAD::~TLHEP_LEAD() -{ -} - -template void TLHEP_LEAD::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "LHEP_LEAD::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/LHEP_LEAD_HP.icc b/source/physics_lists/lists/include/LHEP_LEAD_HP.icc deleted file mode 100644 index 6d80fe4bc1..0000000000 --- a/source/physics_lists/lists/include/LHEP_LEAD_HP.icc +++ /dev/null @@ -1,120 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: LHEP_LEAD_HP.icc,v 1.2 2006/11/24 17:10:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: LHEP_LEAD_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 30.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsLHEP_LEAD_HP.hh" - -template TLHEP_LEAD_HP::TLHEP_LEAD_HP(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon, neutron); - G4cout << "<<< Geant4 Physics List simulation engine: LHEP_LEAD_HP 3.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("LElastic",ver,true)); - - // Hadron Physics - this->RegisterPhysics( new HadronPhysicsLHEP_LEAD_HP("hadron")); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - -} - -template TLHEP_LEAD_HP::~TLHEP_LEAD_HP() -{ -} - -template void TLHEP_LEAD_HP::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "LHEP_LEAD_HP::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - - if (this->verboseLevel > 0) - G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/LHEP_PRECO.hh b/source/physics_lists/lists/include/LHEP_PRECO.hh deleted file mode 100644 index ebd062f38c..0000000000 --- a/source/physics_lists/lists/include/LHEP_PRECO.hh +++ /dev/null @@ -1,68 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: LHEP_PRECO.hh,v 1.1 2006/10/31 11:35:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: LHEP_PRECO -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// -//---------------------------------------------------------------------------- -// -#ifndef TLHEP_PRECO_h -#define TLHEP_PRECO_h 1 - -#include "G4VModularPhysicsList.hh" -#include "globals.hh" -#include "CompileTimeConstraints.hh" - -template -class TLHEP_PRECO: public T -{ -public: - TLHEP_PRECO(G4int ver = 1); - virtual ~TLHEP_PRECO(); - -public: - // SetCuts() - virtual void SetCuts(); - -private: - enum {ok = CompileTimeConstraints::IsA::ok }; -}; -#include "LHEP_PRECO.icc" -typedef TLHEP_PRECO LHEP_PRECO; - -// 2002 by J.P. Wellisch - -#endif - - - diff --git a/source/physics_lists/lists/include/LHEP_PRECO.icc b/source/physics_lists/lists/include/LHEP_PRECO.icc deleted file mode 100644 index 35a47a97b4..0000000000 --- a/source/physics_lists/lists/include/LHEP_PRECO.icc +++ /dev/null @@ -1,125 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: LHEP_PRECO.icc,v 1.2 2006/11/21 07:32:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: LHEP_PRECO -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 25.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsLHEP_PRECO.hh" - -#include "G4WarnPLStatus.hh" - -template TLHEP_PRECO::TLHEP_PRECO(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: LHEP_PRECO 3.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("LHEP_PRECO","QGSP_BIC"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("LElastic",ver,false)); - - // Hadron Physics - this->RegisterPhysics( new HadronPhysicsLHEP_PRECO("hadron")); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - -} - -template TLHEP_PRECO::~TLHEP_PRECO() -{ -} - -template void TLHEP_PRECO::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "LHEP_PRECO::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel > 0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/LHEP_PRECO_HP.hh b/source/physics_lists/lists/include/LHEP_PRECO_HP.hh index a64e31eb01..e05ef9c8af 100644 --- a/source/physics_lists/lists/include/LHEP_PRECO_HP.hh +++ b/source/physics_lists/lists/include/LHEP_PRECO_HP.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: LHEP_PRECO_HP.hh,v 1.1 2006/10/31 11:35:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/LHEP_PRECO_HP.icc b/source/physics_lists/lists/include/LHEP_PRECO_HP.icc index 801d58c45a..29bfaef9be 100644 --- a/source/physics_lists/lists/include/LHEP_PRECO_HP.icc +++ b/source/physics_lists/lists/include/LHEP_PRECO_HP.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP_PRECO_HP.icc,v 1.2 2006/11/24 17:10:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: LHEP_PRECO_HP.icc,v 1.3 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -36,6 +36,7 @@ // 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra // 08.06.2006 V.Ivanchenko: migration to CHIPS stopping // 14.06.2006 G.Folger: Migrate to HadronElasticPhysics using G4LElastic +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -74,7 +75,7 @@ template TLHEP_PRECO_HP::TLHEP_PRECO_HP(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/MinEkineCuts.hh b/source/physics_lists/lists/include/MinEkineCuts.hh index 4895f7c639..9d603f36cc 100644 --- a/source/physics_lists/lists/include/MinEkineCuts.hh +++ b/source/physics_lists/lists/include/MinEkineCuts.hh @@ -25,7 +25,7 @@ // // // $Id: MinEkineCuts.hh,v 1.1 2006/10/31 11:35:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/physics_lists/lists/include/QBBC.hh b/source/physics_lists/lists/include/QBBC.hh index 7c6d67029d..bf7218979e 100644 --- a/source/physics_lists/lists/include/QBBC.hh +++ b/source/physics_lists/lists/include/QBBC.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QBBC.hh,v 1.2 2007/04/16 11:57:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QBBC.icc b/source/physics_lists/lists/include/QBBC.icc index c28ef785fd..d8d242fd57 100644 --- a/source/physics_lists/lists/include/QBBC.icc +++ b/source/physics_lists/lists/include/QBBC.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QBBC.icc,v 1.5 2007/04/16 11:57:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QBBC.icc,v 1.7 2007/06/01 14:56:52 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -34,6 +34,7 @@ // // Modified: // 24.11.06 Add G4HadronHElasticPhysics and G4NeutronTrackingCut +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -66,7 +67,7 @@ template TQBBC::TQBBC( G4int ver, const G4String& type, G4bool gl): this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); @@ -76,47 +77,33 @@ template TQBBC::TQBBC( G4int ver, const G4String& type, G4bool gl): // Hadron Physics if(type == "QBBC") { - this->RegisterPhysics( new G4HadronElasticPhysics("hElastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics("hElastic",ver,false,gl)); this->RegisterPhysics( new G4QStoppingPhysics("stopping",ver)); this->RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC")); this->RegisterPhysics( new G4HadronInelasticQBBC("inelastic", ver, false, false, false, false, gl)); } else if(type == "QBEC") { - this->RegisterPhysics( new G4HadronElasticPhysics("hElastic",ver,false)); + this->RegisterPhysics( new G4HadronElasticPhysics("hElastic",ver,false,gl)); this->RegisterPhysics( new G4QStoppingPhysics("stopping",ver)); this->RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC")); this->RegisterPhysics( new G4HadronInelasticQBBC("inelastic", ver, false, true, false, false, gl)); } else if(type == "QBBC_HP") { - this->RegisterPhysics( new G4HadronElasticPhysics("hElastic",ver,true)); + this->RegisterPhysics( new G4HadronElasticPhysics("hElastic",ver,true,gl)); this->RegisterPhysics( new G4QStoppingPhysics("stopping",ver)); this->RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC")); this->RegisterPhysics( new G4HadronInelasticQBBC("inelastic", ver, false, false, false, true, gl)); } else if(type == "QBEC_HP") { - this->RegisterPhysics( new G4HadronElasticPhysics("hElastic",ver,true)); + this->RegisterPhysics( new G4HadronElasticPhysics("hElastic",ver,true,gl)); this->RegisterPhysics( new G4QStoppingPhysics("stopping",ver)); this->RegisterPhysics( new G4IonBinaryCascadePhysics("ionBIC")); this->RegisterPhysics( new G4HadronInelasticQBBC("inelastic", ver, false, true, false, true, gl)); - } else if(type == "QGSP") { - this->RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); - this->RegisterPhysics( new G4QStoppingPhysics("stopping",ver)); - this->RegisterPhysics( new G4IonPhysics("ion")); - this->RegisterPhysics( new G4HadronInelasticQLHEP("inelastic", ver, - true, false, false, false)); - - } else if(type == "QGSP_BERT") { - this->RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); - this->RegisterPhysics( new G4QStoppingPhysics("stopping",ver)); - this->RegisterPhysics( new G4IonPhysics("ion")); - this->RegisterPhysics( new G4HadronInelasticQLHEP("inelastic", ver, - true, true, false, false)); - } else { G4cout << "QBBC ERROR: Unknown Hadronic Physics Type <" << type << ">" << G4endl; diff --git a/source/physics_lists/lists/include/QGSC.icc b/source/physics_lists/lists/include/QGSC.icc index 2e65f6a183..5e5a1da410 100644 --- a/source/physics_lists/lists/include/QGSC.icc +++ b/source/physics_lists/lists/include/QGSC.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSC.icc,v 1.7 2007/04/26 16:03:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSC.icc,v 1.8 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -41,6 +41,7 @@ // 20.11.2006 G.Folger: add Tracking Cut for neutrons // 26.04.2007 G.Folger: Enable quasielastic for QGS string model // 26.04.2007 G.Folger Use QCaptureAtRest for muon +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -79,7 +80,7 @@ template TQGSC::TQGSC(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSC_EFLOW.icc b/source/physics_lists/lists/include/QGSC_EFLOW.icc index b6d95247f2..742333cd98 100644 --- a/source/physics_lists/lists/include/QGSC_EFLOW.icc +++ b/source/physics_lists/lists/include/QGSC_EFLOW.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSC_EFLOW.icc,v 1.3 2007/04/26 16:03:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSC_EFLOW.icc,v 1.4 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -36,6 +36,7 @@ // Modified: // 26.04.2007 G.Folger: Enable quasielastic for QGS string model // 26.04.2007 G.Folger Use QCaptureAtRest for muon +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -74,7 +75,7 @@ template TQGSC_EFLOW::TQGSC_EFLOW(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSC_EMV.icc b/source/physics_lists/lists/include/QGSC_EMV.icc index 666f77bc6b..e60fc8a3d3 100644 --- a/source/physics_lists/lists/include/QGSC_EMV.icc +++ b/source/physics_lists/lists/include/QGSC_EMV.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSC_EMV.icc,v 1.3 2007/04/26 16:03:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSC_EMV.icc,v 1.4 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -38,6 +38,7 @@ // 26.04.2007 G.Folger Use HadronPhysicsQGSC instead of HadronPhysicsQGSC_EMV // 26.04.2007 G.Folger Enable quasielastic for QGS string model // 26.04.2007 G.Folger Use QCaptureAtRest for muon +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -55,7 +56,7 @@ #include #include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics71.hh" +#include "G4EmStandardPhysics_option1.hh" #include "G4EmExtraPhysics.hh" #include "G4IonPhysics.hh" #include "G4QStoppingPhysics.hh" @@ -76,7 +77,7 @@ template TQGSC_EMV::TQGSC_EMV(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics71("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSC_LEAD.hh b/source/physics_lists/lists/include/QGSC_LEAD.hh deleted file mode 100644 index 9a7196781e..0000000000 --- a/source/physics_lists/lists/include/QGSC_LEAD.hh +++ /dev/null @@ -1,68 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: QGSC_LEAD.hh,v 1.1 2006/10/31 11:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: QGSC_LEAD -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// -//---------------------------------------------------------------------------- -// -#ifndef TQGSC_LEAD_h -#define TQGSC_LEAD_h 1 - -#include "G4VModularPhysicsList.hh" -#include "globals.hh" -#include "CompileTimeConstraints.hh" - -template -class TQGSC_LEAD: public T -{ -public: - TQGSC_LEAD(G4int ver = 1); - virtual ~TQGSC_LEAD(); - -public: - // SetCuts() - virtual void SetCuts(); - -private: - enum {ok = CompileTimeConstraints::IsA::ok }; -}; -#include "QGSC_LEAD.icc" -typedef TQGSC_LEAD QGSC_LEAD; - -// 2002 by J.P. Wellisch - -#endif - - - diff --git a/source/physics_lists/lists/include/QGSC_LEAD.icc b/source/physics_lists/lists/include/QGSC_LEAD.icc deleted file mode 100644 index 18cc9bd25a..0000000000 --- a/source/physics_lists/lists/include/QGSC_LEAD.icc +++ /dev/null @@ -1,124 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: QGSC_LEAD.icc,v 1.3 2006/11/24 17:10:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: QGSC_LEAD -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic -// 20.11.2006 G.Folger: add Tracking Cut for neutrons -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" -#include "G4NeutronTrackingCut.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSC_LEAD.hh" - -template TQGSC_LEAD::TQGSC_LEAD(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSC_LEAD 3.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,false)); - - // Hadron Physics - this->RegisterPhysics( new HadronPhysicsQGSC_LEAD("hadron")); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - - // Neutron tracking cut - this->RegisterPhysics( new G4NeutronTrackingCut("Neutron tracking cut", ver)); - -} - -template TQGSC_LEAD::~TQGSC_LEAD() -{ -} - -template void TQGSC_LEAD::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "QGSC_LEAD::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/QGSC_LEAD_HP.icc b/source/physics_lists/lists/include/QGSC_LEAD_HP.icc deleted file mode 100644 index b9c19352a0..0000000000 --- a/source/physics_lists/lists/include/QGSC_LEAD_HP.icc +++ /dev/null @@ -1,118 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: QGSC_LEAD_HP.icc,v 1.2 2006/11/24 17:10:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName:QGSC_LEAD_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSC_LEAD_HP.hh" - -template TQGSC_LEAD_HP::TQGSC_LEAD_HP(G4int ver): T() -{ - // default cut value (1.0mm) - // defaultCutValue = 1.0*mm; - G4DataQuestionaire it(photon, neutron); - G4cout << "<<< Geant4 Physics List simulation engine: QGSC_LEAD_HP 3.2"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,true)); - - // Hadron Physics - this->RegisterPhysics( new HadronPhysicsQGSC_LEAD_HP("hadron")); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); -} - -template TQGSC_LEAD_HP::~TQGSC_LEAD_HP() -{ -} - -template void TQGSC_LEAD_HP::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "QGSC_LEAD_HP::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); - -} - - - -// 2002 by J.P. Wellisch diff --git a/source/physics_lists/lists/include/QGSP.hh b/source/physics_lists/lists/include/QGSP.hh index f4e9b68835..1719adfba9 100644 --- a/source/physics_lists/lists/include/QGSP.hh +++ b/source/physics_lists/lists/include/QGSP.hh @@ -25,7 +25,7 @@ // // // $Id: QGSP.hh,v 1.1 2006/10/31 11:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP.icc b/source/physics_lists/lists/include/QGSP.icc index 1dc939fc27..0ac825bf58 100644 --- a/source/physics_lists/lists/include/QGSP.icc +++ b/source/physics_lists/lists/include/QGSP.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP.icc,v 1.6 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP.icc,v 1.7 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -39,6 +39,7 @@ // 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic // 20.11.2006 G.Folger: add Tracking Cut for neutrons // 30.03.2007 G.Folger: Enable quasielastic for QGS string model +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -80,7 +81,7 @@ template TQGSP::TQGSP(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSP_BERT.hh b/source/physics_lists/lists/include/QGSP_BERT.hh index cf845f2873..8957569914 100644 --- a/source/physics_lists/lists/include/QGSP_BERT.hh +++ b/source/physics_lists/lists/include/QGSP_BERT.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QGSP_BERT.hh,v 1.1 2006/10/31 11:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP_BERT.icc b/source/physics_lists/lists/include/QGSP_BERT.icc index 77e8756e77..a5bd8330a0 100644 --- a/source/physics_lists/lists/include/QGSP_BERT.icc +++ b/source/physics_lists/lists/include/QGSP_BERT.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BERT.icc,v 1.4 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP_BERT.icc,v 1.5 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -40,6 +40,7 @@ // 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic // 20.11.2006 G.Folger: add Tracking Cut for neutrons // 26.04.2007 G.Folger: Enable quasielastic for QGS string model +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -79,7 +80,7 @@ template TQGSP_BERT::TQGSP_BERT(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSP_BERT_EMV.hh b/source/physics_lists/lists/include/QGSP_BERT_EMV.hh index ba2a77f4e2..fa6abb99af 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_EMV.hh +++ b/source/physics_lists/lists/include/QGSP_BERT_EMV.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QGSP_BERT_EMV.hh,v 1.1 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP_BERT_EMV.icc b/source/physics_lists/lists/include/QGSP_BERT_EMV.icc index 13b693ad79..b509d66805 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_EMV.icc +++ b/source/physics_lists/lists/include/QGSP_BERT_EMV.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BERT_EMV.icc,v 1.1 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP_BERT_EMV.icc,v 1.2 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -52,7 +52,7 @@ #include #include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" +#include "G4EmStandardPhysics_option1.hh" #include "G4EmExtraPhysics.hh" #include "G4IonPhysics.hh" #include "G4QStoppingPhysics.hh" @@ -73,7 +73,7 @@ template TQGSP_BERT_EMV::TQGSP_BERT_EMV(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics71("standard EM v71",ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSP_BERT_HP.hh b/source/physics_lists/lists/include/QGSP_BERT_HP.hh index 12727b13cd..af6d501b76 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_HP.hh +++ b/source/physics_lists/lists/include/QGSP_BERT_HP.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QGSP_BERT_HP.hh,v 1.1 2006/10/31 11:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP_BERT_HP.icc b/source/physics_lists/lists/include/QGSP_BERT_HP.icc index 398e27b321..bd0163962e 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_HP.icc +++ b/source/physics_lists/lists/include/QGSP_BERT_HP.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BERT_HP.icc,v 1.3 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP_BERT_HP.icc,v 1.4 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -38,6 +38,7 @@ // 08.06.2006 V.Ivanchenko: migration to CHIPS stopping // 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic // 26.04.2007 G.Folger: Enable quasielastic for QGS string model +// 16.05.2007 V.Ivanchenko: rename EM builders // #include "globals.hh" @@ -74,7 +75,7 @@ template TQGSP_BERT_HP::TQGSP_BERT_HP(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSP_BERT_NQE.hh b/source/physics_lists/lists/include/QGSP_BERT_NQE.hh index fa4d04a121..cb76aaefe6 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_NQE.hh +++ b/source/physics_lists/lists/include/QGSP_BERT_NQE.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QGSP_BERT_NQE.hh,v 1.1 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP_BERT_NQE.icc b/source/physics_lists/lists/include/QGSP_BERT_NQE.icc index 1eed988887..4132083fe0 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_NQE.icc +++ b/source/physics_lists/lists/include/QGSP_BERT_NQE.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BERT_NQE.icc,v 1.1 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP_BERT_NQE.icc,v 1.2 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -34,6 +34,7 @@ // created from QGSP_BERT // // Modified: +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -73,7 +74,7 @@ template TQGSP_BERT_NQE::TQGSP_BERT_NQE(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSP_BERT_TRV.hh b/source/physics_lists/lists/include/QGSP_BERT_TRV.hh index 3699fa31e0..234e081d42 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_TRV.hh +++ b/source/physics_lists/lists/include/QGSP_BERT_TRV.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QGSP_BERT_TRV.hh,v 1.1 2007/05/07 14:34:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP_BERT_TRV.icc b/source/physics_lists/lists/include/QGSP_BERT_TRV.icc index 53f6b0c4d9..ffdfc19c45 100644 --- a/source/physics_lists/lists/include/QGSP_BERT_TRV.icc +++ b/source/physics_lists/lists/include/QGSP_BERT_TRV.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BERT_TRV.icc,v 1.1 2007/05/07 14:34:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP_BERT_TRV.icc,v 1.2 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -34,6 +34,7 @@ // Created from QGSP_BERT // // Modified: +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -73,7 +74,7 @@ template TQGSP_BERT_TRV::TQGSP_BERT_TRV(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSP_BIC.hh b/source/physics_lists/lists/include/QGSP_BIC.hh index 93ada509cc..d41bce4071 100644 --- a/source/physics_lists/lists/include/QGSP_BIC.hh +++ b/source/physics_lists/lists/include/QGSP_BIC.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QGSP_BIC.hh,v 1.1 2006/10/31 11:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP_BIC.icc b/source/physics_lists/lists/include/QGSP_BIC.icc index ff03f89373..7622992f46 100644 --- a/source/physics_lists/lists/include/QGSP_BIC.icc +++ b/source/physics_lists/lists/include/QGSP_BIC.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BIC.icc,v 1.4 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP_BIC.icc,v 1.5 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -41,6 +41,7 @@ // 20.06.2006 V.Ivanchenko: add ion Binary Cascade // 20.11.2006 G.Folger: add Tracking Cut for neutrons // 26.04.2007 G.Folger: Enable quasielastic for QGS string model +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -81,7 +82,7 @@ template TQGSP_BIC::TQGSP_BIC(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSP_BIC_HP.hh b/source/physics_lists/lists/include/QGSP_BIC_HP.hh index 293abb85bf..e0ae076422 100644 --- a/source/physics_lists/lists/include/QGSP_BIC_HP.hh +++ b/source/physics_lists/lists/include/QGSP_BIC_HP.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QGSP_BIC_HP.hh,v 1.1 2006/11/24 16:31:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP_BIC_HP.icc b/source/physics_lists/lists/include/QGSP_BIC_HP.icc index 3d5db38ef0..b031fb466b 100644 --- a/source/physics_lists/lists/include/QGSP_BIC_HP.icc +++ b/source/physics_lists/lists/include/QGSP_BIC_HP.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_BIC_HP.icc,v 1.3 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP_BIC_HP.icc,v 1.5 2007/05/24 11:32:57 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -35,6 +35,7 @@ // based on QGSP_BIC // Modified: // 26.04.2007 G.Folger: Enable quasielastic for QGS string model +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -61,25 +62,21 @@ #include "G4DataQuestionaire.hh" #include "HadronPhysicsQGSP_BIC_HP.hh" -#include "G4WarnPLStatus.hh" - template TQGSP_BIC_HP::TQGSP_BIC_HP(G4int ver): T() { // default cut value (1.0mm) // defaultCutValue = 1.0*mm; G4DataQuestionaire it(photon); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_BIC_HP 1.1"<defaultCutValue = 0.7*mm; this->SetVerboseLevel(ver); - G4WarnPLStatus exp; - exp.Experimental("QGSP_BIC_HP"); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSP_EMV.hh b/source/physics_lists/lists/include/QGSP_EMV.hh index fa21501df6..67149ad8a8 100644 --- a/source/physics_lists/lists/include/QGSP_EMV.hh +++ b/source/physics_lists/lists/include/QGSP_EMV.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QGSP_EMV.hh,v 1.1 2006/10/31 11:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP_EMV.icc b/source/physics_lists/lists/include/QGSP_EMV.icc index 8c67ce8d3a..fc1c21a34a 100644 --- a/source/physics_lists/lists/include/QGSP_EMV.icc +++ b/source/physics_lists/lists/include/QGSP_EMV.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_EMV.icc,v 1.4 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP_EMV.icc,v 1.5 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -44,6 +44,7 @@ // 24.04.2007 G.Folger: // - use quasielastic in QGS string model. // - use HadronPhysicsQGSP, not HadronPhysicsQGSP_EMV, code is equivalent +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -62,7 +63,7 @@ #include #include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics71.hh" +#include "G4EmStandardPhysics_option1.hh" #include "G4EmExtraPhysics.hh" #include "G4IonPhysics.hh" #include "G4QStoppingPhysics.hh" @@ -81,7 +82,7 @@ template TQGSP_EMV::TQGSP_EMV(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics71("standard EM v71",ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSP_EMV_NQE.hh b/source/physics_lists/lists/include/QGSP_EMV_NQE.hh index d642f670e9..d69023d193 100644 --- a/source/physics_lists/lists/include/QGSP_EMV_NQE.hh +++ b/source/physics_lists/lists/include/QGSP_EMV_NQE.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QGSP_EMV_NQE.hh,v 1.1 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP_EMV_NQE.icc b/source/physics_lists/lists/include/QGSP_EMV_NQE.icc index 7e5591a92f..c951aaa275 100644 --- a/source/physics_lists/lists/include/QGSP_EMV_NQE.icc +++ b/source/physics_lists/lists/include/QGSP_EMV_NQE.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_EMV_NQE.icc,v 1.1 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP_EMV_NQE.icc,v 1.2 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -34,6 +34,7 @@ // created from QGSP_EMV // // Modified: +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -52,7 +53,7 @@ #include #include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics71.hh" +#include "G4EmStandardPhysics_option1.hh" #include "G4EmExtraPhysics.hh" #include "G4IonPhysics.hh" #include "G4QStoppingPhysics.hh" @@ -71,7 +72,7 @@ template TQGSP_EMV_NQE::TQGSP_EMV_NQE(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics71("standard EM v71",ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option1(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSP_EMX.hh b/source/physics_lists/lists/include/QGSP_EMX.hh index 24d7164076..69a90e2b18 100644 --- a/source/physics_lists/lists/include/QGSP_EMX.hh +++ b/source/physics_lists/lists/include/QGSP_EMX.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: QGSP_EMX.hh,v 1.1 2006/10/31 11:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP_EMX.icc b/source/physics_lists/lists/include/QGSP_EMX.icc index f4e36e47c4..0c15e8f643 100644 --- a/source/physics_lists/lists/include/QGSP_EMX.icc +++ b/source/physics_lists/lists/include/QGSP_EMX.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_EMX.icc,v 1.4 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP_EMX.icc,v 1.5 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -38,6 +38,7 @@ // 26.04.2007 G.Folger // - use HadronPhysicsQGSP, not HadronPhysicsQGSP_EMX // - Enable quasielastic for QGS string model +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -56,7 +57,7 @@ #include #include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics72.hh" +#include "G4EmStandardPhysics_option2.hh" #include "G4EmExtraPhysics.hh" #include "G4IonPhysics.hh" #include "G4QStoppingPhysics.hh" @@ -75,7 +76,7 @@ template TQGSP_EMX::TQGSP_EMX(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics72("standard EM fast",ver)); + this->RegisterPhysics( new G4EmStandardPhysics_option2(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSP_HP.icc b/source/physics_lists/lists/include/QGSP_HP.icc deleted file mode 100644 index 1c80e78c1f..0000000000 --- a/source/physics_lists/lists/include/QGSP_HP.icc +++ /dev/null @@ -1,129 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: QGSP_HP.icc,v 1.3 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 23.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 02.12.2005 V.Ivanchenko: rename components -// 08.06.2006 V.Ivanchenko: migration to CHIPS stopping -// 15.06.2006 G.Folger: Migrate to HadronElasticPhysics using improved elastic -// 26.04.2007 G.Folger: Enable quasielastic for QGS string model -// -//---------------------------------------------------------------------------- -// - -#include "globals.hh" -#include "G4ParticleDefinition.hh" -#include "G4ParticleWithCuts.hh" -#include "G4ProcessManager.hh" -#include "G4ProcessVector.hh" -#include "G4ParticleTypes.hh" -#include "G4ParticleTable.hh" - -#include "G4Material.hh" -#include "G4MaterialTable.hh" -#include "G4ios.hh" -#include - -#include "G4DecayPhysics.hh" -#include "G4EmStandardPhysics.hh" -#include "G4EmExtraPhysics.hh" -#include "G4IonPhysics.hh" -#include "G4QStoppingPhysics.hh" -#include "G4HadronElasticPhysics.hh" - -#include "G4DataQuestionaire.hh" -#include "HadronPhysicsQGSP_HP.hh" - -#include "G4WarnPLStatus.hh" - -template TQGSP_HP::TQGSP_HP(G4int ver): T() -{ - G4DataQuestionaire it(photon, neutron); - G4cout << "<<< Geant4 Physics List simulation engine: QGSP_HP 3.3"<defaultCutValue = 0.7*mm; - this->SetVerboseLevel(ver); - - G4WarnPLStatus obs; - obs.Unsupported("QGSP_HP","QGSP_BERT_HP"); - - // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); - - // Synchroton Radiation & GN Physics - this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); - - // Decays - this->RegisterPhysics( new G4DecayPhysics("decay",ver) ); - - // Hadron Elastic scattering - this-> RegisterPhysics( new G4HadronElasticPhysics("elastic",ver,true)); - - // Hadron Physics - G4bool quasiElastic; - this->RegisterPhysics( new HadronPhysicsQGSP_HP("hadron",quasiElastic=true)); - - // Stopping Physics - this->RegisterPhysics( new G4QStoppingPhysics("stopping")); - - // Ion Physics - this->RegisterPhysics( new G4IonPhysics("ion")); - -} - -template TQGSP_HP::~TQGSP_HP() -{ -} - -template void TQGSP_HP::SetCuts() -{ - if (this->verboseLevel >1){ - G4cout << "QGSP_HP::SetCuts:"; - } - // " G4VUserPhysicsList::SetCutsWithDefault" method sets - // the default cut value for all particle types - - this->SetCutsWithDefault(); - -// if (this->verboseLevel >0) -// G4VUserPhysicsList::DumpCutValuesTable(); - -} -// 2002 by J.P. Wellisch - - - diff --git a/source/physics_lists/lists/include/QGSP_NQE.hh b/source/physics_lists/lists/include/QGSP_NQE.hh index 738887d043..14f19962db 100644 --- a/source/physics_lists/lists/include/QGSP_NQE.hh +++ b/source/physics_lists/lists/include/QGSP_NQE.hh @@ -25,7 +25,7 @@ // // // $Id: QGSP_NQE.hh,v 1.1 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP_NQE.icc b/source/physics_lists/lists/include/QGSP_NQE.icc index 178d11fe7f..4dcf8963ac 100644 --- a/source/physics_lists/lists/include/QGSP_NQE.icc +++ b/source/physics_lists/lists/include/QGSP_NQE.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_NQE.icc,v 1.1 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP_NQE.icc,v 1.2 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -34,6 +34,7 @@ // created from QGSP.icc // // Modified: +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -75,7 +76,7 @@ template TQGSP_NQE::TQGSP_NQE(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/include/QGSP_QEL.hh b/source/physics_lists/lists/include/QGSP_QEL.hh index c2c3c080b8..c8af7bcb46 100644 --- a/source/physics_lists/lists/include/QGSP_QEL.hh +++ b/source/physics_lists/lists/include/QGSP_QEL.hh @@ -25,7 +25,7 @@ // // // $Id: QGSP_QEL.hh,v 1.1 2006/11/28 15:41:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/include/QGSP_QEL.icc b/source/physics_lists/lists/include/QGSP_QEL.icc index f9854ca9f9..ff1c01dacd 100644 --- a/source/physics_lists/lists/include/QGSP_QEL.icc +++ b/source/physics_lists/lists/include/QGSP_QEL.icc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_QEL.icc,v 1.2 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: QGSP_QEL.icc,v 1.3 2007/05/16 11:35:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -36,6 +36,7 @@ // Created from QGSP // Modified: // 26.04.2007 G.Folger: Enable quasielastic for QGS string model +// 16.05.2007 V.Ivanchenko: rename EM builders // //---------------------------------------------------------------------------- // @@ -77,7 +78,7 @@ template TQGSP_QEL::TQGSP_QEL(G4int ver): T() this->SetVerboseLevel(ver); // EM Physics - this->RegisterPhysics( new G4EmStandardPhysics("standard EM",ver)); + this->RegisterPhysics( new G4EmStandardPhysics(ver)); // Synchroton Radiation & GN Physics this->RegisterPhysics( new G4EmExtraPhysics("extra EM")); diff --git a/source/physics_lists/lists/src/G4HadronInelasticQBBC.cc b/source/physics_lists/lists/src/G4HadronInelasticQBBC.cc index 9e569d4b11..efaff6dd06 100644 --- a/source/physics_lists/lists/src/G4HadronInelasticQBBC.cc +++ b/source/physics_lists/lists/src/G4HadronInelasticQBBC.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HadronInelasticQBBC.cc,v 1.2 2007/04/16 11:57:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/G4HadronInelasticQLHEP.cc b/source/physics_lists/lists/src/G4HadronInelasticQLHEP.cc index 49c6029fcb..49c8e50f1b 100644 --- a/source/physics_lists/lists/src/G4HadronInelasticQLHEP.cc +++ b/source/physics_lists/lists/src/G4HadronInelasticQLHEP.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HadronInelasticQLHEP.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsFTFC.cc b/source/physics_lists/lists/src/HadronPhysicsFTFC.cc index 8145521a42..ff01ba4415 100644 --- a/source/physics_lists/lists/src/HadronPhysicsFTFC.cc +++ b/source/physics_lists/lists/src/HadronPhysicsFTFC.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTFC.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: HadronPhysicsFTFC.cc,v 1.2 2007/06/01 15:20:06 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -50,26 +50,29 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" -HadronPhysicsFTFC::HadronPhysicsFTFC(const G4String& name) - : G4VPhysicsConstructor(name) +HadronPhysicsFTFC::HadronPhysicsFTFC(const G4String& name, G4bool quasiElastic) + : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {} void HadronPhysicsFTFC::CreateModels() { theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(theFTFCNeutron=new G4FTFCNeutronBuilder); + theFTFCNeutron=new G4FTFCNeutronBuilder(QuasiElastic); + theNeutrons->RegisterMe(theFTFCNeutron); theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); - theLEPNeutron->SetMaxInelasticEnergy(25*GeV); + theLEPNeutron->SetMaxInelasticEnergy(5*GeV); thePro=new G4ProtonBuilder; - thePro->RegisterMe(theFTFCPro=new G4FTFCProtonBuilder); + theFTFCPro=new G4FTFCProtonBuilder(QuasiElastic); + thePro->RegisterMe(theFTFCPro); thePro->RegisterMe(theLEPPro=new G4LEPProtonBuilder); - theLEPPro->SetMaxEnergy(25*GeV); + theLEPPro->SetMaxEnergy(5*GeV); thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theFTFCPiK=new G4FTFCPiKBuilder); + theFTFCPiK=new G4FTFCPiKBuilder(QuasiElastic); + thePiK->RegisterMe(theFTFCPiK); thePiK->RegisterMe(theLEPPiK=new G4LEPPiKBuilder); - theLEPPiK->SetMaxEnergy(25*GeV); + theLEPPiK->SetMaxEnergy(5*GeV); theMiscLHEP=new G4MiscLHEPBuilder; } diff --git a/source/physics_lists/lists/src/HadronPhysicsFTFP.cc b/source/physics_lists/lists/src/HadronPhysicsFTFP.cc index e8ff3cd191..1977e0ea60 100644 --- a/source/physics_lists/lists/src/HadronPhysicsFTFP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsFTFP.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: HadronPhysicsFTFP.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: HadronPhysicsFTFP.cc,v 1.2 2007/06/01 15:20:06 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -50,27 +50,30 @@ #include "G4BaryonConstructor.hh" #include "G4ShortLivedConstructor.hh" -HadronPhysicsFTFP::HadronPhysicsFTFP(const G4String& name) - : G4VPhysicsConstructor(name) +HadronPhysicsFTFP::HadronPhysicsFTFP(const G4String& name, G4bool quasiElastic) + : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) {} void HadronPhysicsFTFP::CreateModels() { theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(theFTFPNeutron=new G4FTFPNeutronBuilder); + theFTFPNeutron=new G4FTFPNeutronBuilder(QuasiElastic); + theNeutrons->RegisterMe(theFTFPNeutron); theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); - theLEPNeutron->SetMaxInelasticEnergy(25*GeV); + theLEPNeutron->SetMaxInelasticEnergy(5*GeV); thePro=new G4ProtonBuilder; - thePro->RegisterMe(theFTFPPro=new G4FTFPProtonBuilder); + theFTFPPro=new G4FTFPProtonBuilder(QuasiElastic); + thePro->RegisterMe(theFTFPPro); thePro->RegisterMe(theLEPPro=new G4LEPProtonBuilder); - theLEPPro->SetMaxEnergy(25*GeV); + theLEPPro->SetMaxEnergy(5*GeV); thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theFTFPPiK=new G4FTFPPiKBuilder); + theFTFPPiK=new G4FTFPPiKBuilder(QuasiElastic); + thePiK->RegisterMe(theFTFPPiK); thePiK->RegisterMe(theLEPPiK=new G4LEPPiKBuilder); - theLEPPiK->SetMaxEnergy(25*GeV); + theLEPPiK->SetMaxEnergy(5*GeV); theMiscLHEP=new G4MiscLHEPBuilder; } diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP.cc index 1554b4add3..7976da51f4 100644 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsLHEP.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsLHEP.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT.cc index a5896c781e..af4640b7e7 100644 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT.cc +++ b/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsLHEP_BERT.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT_HP.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT_HP.cc index aee40d6363..dc65286b32 100644 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT_HP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsLHEP_BERT_HP.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsLHEP_BERT_HP.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_BIC.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP_BIC.cc deleted file mode 100644 index b90d058b3f..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_BIC.cc +++ /dev/null @@ -1,115 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsLHEP_BIC.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsLHEP_BIC -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#include "HadronPhysicsLHEP_BIC.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsLHEP_BIC::HadronPhysicsLHEP_BIC(const G4String& name) - : G4VPhysicsConstructor(name) -{} - -void HadronPhysicsLHEP_BIC::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - - theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder); - theNeutrons->RegisterMe(theBinaryNeutron=new G4BinaryNeutronBuilder); - theLHEPNeutron->SetMinInelasticEnergy(9.5*GeV); - theBinaryNeutron->SetMaxEnergy(9.9*GeV); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder); - thePro->RegisterMe(theBinaryPro=new G4BinaryProtonBuilder); - theLHEPPro->SetMinEnergy(9.5*GeV); - theBinaryPro->SetMaxEnergy(9.9*GeV); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsLHEP_BIC::~HadronPhysicsLHEP_BIC() -{ - delete theNeutrons; - delete theLHEPNeutron; - delete theBinaryNeutron; - - delete thePiK; - delete theLHEPPiK; - - delete thePro; - delete theLHEPPro; - delete theBinaryPro; - - delete theMiscLHEP; -} - -void HadronPhysicsLHEP_BIC::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsLHEP_BIC::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} - diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_BIC_HP.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP_BIC_HP.cc deleted file mode 100644 index 077335b8aa..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_BIC_HP.cc +++ /dev/null @@ -1,117 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsLHEP_BIC_HP.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsLHEP_BIC_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#include "HadronPhysicsLHEP_BIC_HP.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsLHEP_BIC_HP::HadronPhysicsLHEP_BIC_HP(const G4String& name) - : G4VPhysicsConstructor(name) -{} - -void HadronPhysicsLHEP_BIC_HP::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder); - theNeutrons->RegisterMe(theBinaryNeutron=new G4BinaryNeutronBuilder); - theNeutrons->RegisterMe(theHPNeutron=new G4NeutronHPBuilder); - theLHEPNeutron->SetMinEnergy(19.9*MeV); - theLHEPNeutron->SetMinInelasticEnergy(9.5*GeV); - theBinaryNeutron->SetMaxEnergy(9.9*GeV); - theBinaryNeutron->SetMinEnergy(19.9*MeV); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder); - thePro->RegisterMe(theBinaryPro=new G4BinaryProtonBuilder); - theLHEPPro->SetMinEnergy(9.5*GeV); - theBinaryPro->SetMaxEnergy(9.9*GeV); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsLHEP_BIC_HP::~HadronPhysicsLHEP_BIC_HP() -{ - delete theNeutrons; - delete theLHEPNeutron; - delete theBinaryNeutron; - delete theHPNeutron; - - delete thePiK; - delete theLHEPPiK; - - delete thePro; - delete theLHEPPro; - delete theBinaryPro; - - delete theMiscLHEP; -} - -void HadronPhysicsLHEP_BIC_HP::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsLHEP_BIC_HP::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_EMV.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP_EMV.cc index c8875ed150..7c8eab4283 100644 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_EMV.cc +++ b/source/physics_lists/lists/src/HadronPhysicsLHEP_EMV.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsLHEP_EMV.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_LEAD.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP_LEAD.cc deleted file mode 100644 index ad671da302..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_LEAD.cc +++ /dev/null @@ -1,115 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsLHEP_LEAD.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsLHEP_LEAD -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#include "HadronPhysicsLHEP_LEAD.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsLHEP_LEAD::HadronPhysicsLHEP_LEAD(const G4String& name) - : G4VPhysicsConstructor(name) -{} - -void HadronPhysicsLHEP_LEAD::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(theLEADNeutron=new G4LEADNeutronBuilder); - theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder); - theLHEPNeutron->SetMinInelasticEnergy(4.99*GeV); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(theLEADPro=new G4LEADProtonBuilder); - thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder); - theLHEPPro->SetMinEnergy(4.99*GeV); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theLEADPiK=new G4LEADPiKBuilder); - thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder); - theLHEPPiK->SetMinEnergy(4.99*GeV); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsLHEP_LEAD::~HadronPhysicsLHEP_LEAD() -{ - delete theNeutrons; - delete theLHEPNeutron; - delete theLEADNeutron; - - delete thePiK; - delete theLHEPPiK; - delete theLEADPiK; - - delete thePro; - delete theLHEPPro; - delete theLEADPro; - - delete theMiscLHEP; -} - -void HadronPhysicsLHEP_LEAD::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsLHEP_LEAD::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} - diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_LEAD_HP.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP_LEAD_HP.cc deleted file mode 100644 index 02c6271c86..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_LEAD_HP.cc +++ /dev/null @@ -1,120 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsLHEP_LEAD_HP.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: LHEP_LEAD_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 30.11.2005 G.Folger: migration to non static particles -// 30.11.2005 G.Folger: Register EmStandard first, split Em Standard and Extra -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#include "HadronPhysicsLHEP_LEAD_HP.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsLHEP_LEAD_HP::HadronPhysicsLHEP_LEAD_HP(const G4String& name) - : G4VPhysicsConstructor(name) -{} - -void HadronPhysicsLHEP_LEAD_HP::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder); - theLHEPNeutron->SetMinEnergy(19.9*MeV); - theLHEPNeutron->SetMinInelasticEnergy(4.99*GeV); - theNeutrons->RegisterMe(theLEADNeutron=new G4LEADNeutronBuilder); - theLEADNeutron->SetMinEnergy(19.9*MeV); - theNeutrons->RegisterMe(theHPNeutron=new G4NeutronHPBuilder); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder); - theLHEPPro->SetMinEnergy(4.99*GeV); - thePro->RegisterMe(theLEADPro=new G4LEADProtonBuilder); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder); - theLHEPPiK->SetMinEnergy(4.99*GeV); - thePiK->RegisterMe(theLEADPiK=new G4LEADPiKBuilder); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsLHEP_LEAD_HP::~HadronPhysicsLHEP_LEAD_HP() -{ - delete theNeutrons; - delete theLHEPNeutron; - delete theLEADNeutron; - delete theHPNeutron; - - delete thePiK; - delete theLHEPPiK; - delete theLEADPiK; - - delete thePro; - delete theLHEPPro; - delete theLEADPro; - - delete theMiscLHEP; -} - -void HadronPhysicsLHEP_LEAD_HP::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsLHEP_LEAD_HP::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} - diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_PRECO.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP_PRECO.cc deleted file mode 100644 index 7ea1afe643..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_PRECO.cc +++ /dev/null @@ -1,112 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsLHEP_PRECO.cc,v 1.1 2006/10/31 11:35:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsLHEP_PRECO -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#include "HadronPhysicsLHEP_PRECO.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsLHEP_PRECO::HadronPhysicsLHEP_PRECO(const G4String& name) - : G4VPhysicsConstructor(name) -{} - -void HadronPhysicsLHEP_PRECO::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(thePrecoNeutron=new G4PrecoNeutronBuilder); - theNeutrons->RegisterMe(theLHEPNeutron=new G4LHEPNeutronBuilder); - theLHEPNeutron->SetMinInelasticEnergy(0.15*GeV); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(thePrecoPro=new G4PrecoProtonBuilder); - thePro->RegisterMe(theLHEPPro=new G4LHEPProtonBuilder); - theLHEPPro->SetMinEnergy(0.15*GeV); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theLHEPPiK=new G4LHEPPiKBuilder); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsLHEP_PRECO::~HadronPhysicsLHEP_PRECO() -{ - delete theNeutrons; - delete theLHEPNeutron; - delete thePrecoNeutron; - - delete thePiK; - delete theLHEPPiK; - - delete thePro; - delete theLHEPPro; - delete thePrecoPro; - - delete theMiscLHEP; -} - -void HadronPhysicsLHEP_PRECO::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsLHEP_PRECO::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} - diff --git a/source/physics_lists/lists/src/HadronPhysicsLHEP_PRECO_HP.cc b/source/physics_lists/lists/src/HadronPhysicsLHEP_PRECO_HP.cc index 4f135910aa..c2378b1212 100644 --- a/source/physics_lists/lists/src/HadronPhysicsLHEP_PRECO_HP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsLHEP_PRECO_HP.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsLHEP_PRECO_HP.cc,v 1.1 2006/10/31 11:35:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSC.cc b/source/physics_lists/lists/src/HadronPhysicsQGSC.cc index 5f571736dd..c689d0eb69 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSC.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSC.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSC.cc,v 1.2 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSC_EFLOW.cc b/source/physics_lists/lists/src/HadronPhysicsQGSC_EFLOW.cc index 76e16e025a..05d01346c3 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSC_EFLOW.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSC_EFLOW.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSC_EFLOW.cc,v 1.2 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSC_LEAD.cc b/source/physics_lists/lists/src/HadronPhysicsQGSC_LEAD.cc deleted file mode 100644 index a7433be1a5..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsQGSC_LEAD.cc +++ /dev/null @@ -1,123 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsQGSC_LEAD.cc,v 1.1 2006/10/31 11:35:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysiosQGSC_LEAD -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 28.11.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// - -#include "HadronPhysicsQGSC_LEAD.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsQGSC_LEAD::HadronPhysicsQGSC_LEAD(const G4String& name) - : G4VPhysicsConstructor(name) -{} - -void HadronPhysicsQGSC_LEAD::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(theQGSCNeutron=new G4QGSCNeutronBuilder); - theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); - theLEPNeutron->SetMaxInelasticEnergy(25*GeV); - theLEPNeutron->SetMinInelasticEnergy(4.99*GeV); - theNeutrons->RegisterMe(theLEADNeutron=new G4LEADNeutronBuilder); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(theQGSCPro=new G4QGSCProtonBuilder); - thePro->RegisterMe(theLEPPro=new G4LEPProtonBuilder); - theLEPPro->SetMaxEnergy(25*GeV); - theLEPPro->SetMinEnergy(4.99*GeV); - thePro->RegisterMe(theLEADProton=new G4LEADProtonBuilder); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theQGSCPiK=new G4QGSCPiKBuilder); - thePiK->RegisterMe(theLEPPiK=new G4LEPPiKBuilder); - thePiK->RegisterMe(theLEADPiK=new G4LEADPiKBuilder); - theLEPPiK->SetMaxEnergy(25*GeV); - theLEPPiK->SetMinEnergy(4.99*GeV); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsQGSC_LEAD::~HadronPhysicsQGSC_LEAD() -{ - delete theNeutrons; - delete theLEPNeutron; - delete theQGSCNeutron; - delete theLEADNeutron; - - delete thePiK; - delete theLEPPiK; - delete theQGSCPiK; - delete theLEADPiK; - - delete thePro; - delete theLEPPro; - delete theQGSCPro; - delete theLEADProton; - - delete theMiscLHEP; -} - -void HadronPhysicsQGSC_LEAD::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsQGSC_LEAD::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} - diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSC_LEAD_HP.cc b/source/physics_lists/lists/src/HadronPhysicsQGSC_LEAD_HP.cc deleted file mode 100644 index b0fc4d6f24..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsQGSC_LEAD_HP.cc +++ /dev/null @@ -1,128 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsQGSC_LEAD_HP.cc,v 1.1 2006/10/31 11:35:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsQGSC_LEAD_HP -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 1.12.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// -//---------------------------------------------------------------------------- -// -#include "HadronPhysicsQGSC_LEAD_HP.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsQGSC_LEAD_HP::HadronPhysicsQGSC_LEAD_HP(const G4String& name) - : G4VPhysicsConstructor(name) -{} - -void HadronPhysicsQGSC_LEAD_HP::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - theNeutrons->RegisterMe(theQGSCNeutron=new G4QGSCNeutronBuilder); - theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); - theLEPNeutron->SetMaxInelasticEnergy(25*GeV); - theLEPNeutron->SetMinEnergy(19.9*MeV); - theLEPNeutron->SetMinInelasticEnergy(4.99*GeV); - theNeutrons->RegisterMe(theLEADNeutron=new G4LEADNeutronBuilder); - theLEADNeutron->SetMinEnergy(19.9*MeV); - theNeutrons->RegisterMe(theHPNeutron=new G4NeutronHPBuilder); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(theQGSCPro=new G4QGSCProtonBuilder); - thePro->RegisterMe(theLEPPro=new G4LEPProtonBuilder); - theLEPPro->SetMaxEnergy(25*GeV); - theLEPPro->SetMinEnergy(4.99*GeV); - thePro->RegisterMe(theLEADProton=new G4LEADProtonBuilder); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theQGSCPiK=new G4QGSCPiKBuilder); - thePiK->RegisterMe(theLEPPiK=new G4LEPPiKBuilder); - theLEPPiK->SetMaxEnergy(25*GeV); - theLEPPiK->SetMinEnergy(4.99*GeV); - thePiK->RegisterMe(theLEADPiK=new G4LEADPiKBuilder); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsQGSC_LEAD_HP::~HadronPhysicsQGSC_LEAD_HP() -{ - delete theNeutrons; - delete theLEPNeutron; - delete theQGSCNeutron; - delete theLEADNeutron; - delete theHPNeutron; - - delete thePiK; - delete theLEPPiK; - delete theQGSCPiK; - delete theLEADPiK; - - delete thePro; - delete theLEPPro; - delete theQGSCPro; - delete theLEADProton; - - delete theMiscLHEP; -} - -void HadronPhysicsQGSC_LEAD_HP::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsQGSC_LEAD_HP::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} - diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP.cc index 8d58b1e1a5..c0156320d0 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP.cc @@ -25,7 +25,7 @@ // // // $Id: HadronPhysicsQGSP.cc,v 1.3 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT.cc index c87cd0b3e7..469290de1d 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSP_BERT.cc,v 1.2 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_HP.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_HP.cc index d37fb3adfa..b218e0af70 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_HP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_HP.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSP_BERT_HP.cc,v 1.2 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_TRV.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_TRV.cc index 1344b53c33..10756430c9 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_TRV.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_BERT_TRV.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSP_BERT_TRV.cc,v 1.1 2007/05/07 14:34:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC.cc index 2cb793befd..7f040ab2ac 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSP_BIC.cc,v 1.2 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC_HP.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC_HP.cc index 78344ff069..48d14fc98f 100644 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC_HP.cc +++ b/source/physics_lists/lists/src/HadronPhysicsQGSP_BIC_HP.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: HadronPhysicsQGSP_BIC_HP.cc,v 1.3 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/physics_lists/lists/src/HadronPhysicsQGSP_HP.cc b/source/physics_lists/lists/src/HadronPhysicsQGSP_HP.cc deleted file mode 100644 index ab5407ae33..0000000000 --- a/source/physics_lists/lists/src/HadronPhysicsQGSP_HP.cc +++ /dev/null @@ -1,116 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: HadronPhysicsQGSP_HP.cc,v 1.2 2007/04/26 14:47:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ -// -//--------------------------------------------------------------------------- -// -// ClassName: -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// 23.11.2005 G.Folger: migration to non static particles -// 08.06.2006 V.Ivanchenko: remove stopping -// 25.04.2007 G.Folger: Add code for quasielastic -// -//---------------------------------------------------------------------------- -// -#include "HadronPhysicsQGSP_HP.hh" - -#include "globals.hh" -#include "G4ios.hh" -#include -#include "G4ParticleDefinition.hh" -#include "G4ParticleTable.hh" - -#include "G4MesonConstructor.hh" -#include "G4BaryonConstructor.hh" -#include "G4ShortLivedConstructor.hh" - -HadronPhysicsQGSP_HP::HadronPhysicsQGSP_HP(const G4String& name, G4bool quasiElastic) - : G4VPhysicsConstructor(name) , QuasiElastic(quasiElastic) -{} - -void HadronPhysicsQGSP_HP::CreateModels() -{ - theNeutrons=new G4NeutronBuilder; - - theNeutrons->RegisterMe(theQGSPNeutron=new G4QGSPNeutronBuilder(QuasiElastic)); - theNeutrons->RegisterMe(theLEPNeutron=new G4LEPNeutronBuilder); - theLEPNeutron->SetMinEnergy(19.9*MeV); - theLEPNeutron->SetMaxInelasticEnergy(25*GeV); - theNeutrons->RegisterMe(theHPNeutron=new G4NeutronHPBuilder); - - thePro=new G4ProtonBuilder; - thePro->RegisterMe(theQGSPPro=new G4QGSPProtonBuilder(QuasiElastic)); - thePro->RegisterMe(theLEPPro=new G4LEPProtonBuilder); - theLEPPro->SetMaxEnergy(25*GeV); - - thePiK=new G4PiKBuilder; - thePiK->RegisterMe(theQGSPPiK=new G4QGSPPiKBuilder(QuasiElastic)); - thePiK->RegisterMe(theLEPPiK=new G4LEPPiKBuilder); - theLEPPiK->SetMaxEnergy(25*GeV); - - theMiscLHEP=new G4MiscLHEPBuilder; -} - -HadronPhysicsQGSP_HP::~HadronPhysicsQGSP_HP() -{ - delete theMiscLHEP; - delete theQGSPNeutron; - delete theLEPNeutron; - delete theHPNeutron; - delete theQGSPPro; - delete theLEPPro; - delete thePro; - delete theQGSPPiK; - delete theLEPPiK; - delete thePiK; -} - -void HadronPhysicsQGSP_HP::ConstructParticle() -{ - G4MesonConstructor pMesonConstructor; - pMesonConstructor.ConstructParticle(); - - G4BaryonConstructor pBaryonConstructor; - pBaryonConstructor.ConstructParticle(); - - G4ShortLivedConstructor pShortLivedConstructor; - pShortLivedConstructor.ConstructParticle(); -} - -#include "G4ProcessManager.hh" -void HadronPhysicsQGSP_HP::ConstructProcess() -{ - CreateModels(); - theNeutrons->Build(); - thePro->Build(); - thePiK->Build(); - theMiscLHEP->Build(); -} - diff --git a/source/physics_lists/lists/src/MinEkineCuts.cc b/source/physics_lists/lists/src/MinEkineCuts.cc index 020cea57f1..8604c4c5eb 100644 --- a/source/physics_lists/lists/src/MinEkineCuts.cc +++ b/source/physics_lists/lists/src/MinEkineCuts.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/GNUmakefile b/source/processes/GNUmakefile index 9fdfec7cf7..aecd2b0a9d 100644 --- a/source/processes/GNUmakefile +++ b/source/processes/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.34 2006/12/05 15:54:43 gcosmo Exp $ +# $Id: GNUmakefile,v 1.38 2007/05/31 08:12:53 gcosmo Exp $ # ---------------------------------------------------------------------- # GNUmakefile for processes library, Gabriele Cosmo 27-Jun-1998 # ---------------------------------------------------------------------- @@ -10,6 +10,7 @@ SUBDIRS += cuts SUBDIRS += optical SUBDIRS += decay SUBDIRS += scoring +SUBDIRS += biasing SUBDIRS += transportation SUBDIRS += parameterisation SUBDIRS += electromagnetic/muons @@ -24,7 +25,8 @@ SUBLIBS = G4procman SUBLIBS += G4cuts SUBLIBS += G4optical SUBLIBS += G4decay -SUBLIBS += G4scoring +SUBLIBS += G4scoring +SUBLIBS += G4biasing SUBLIBS += G4transportation SUBLIBS += G4parameterisation SUBLIBS += G4muons @@ -64,6 +66,7 @@ SUBDIRS += hadronic/models/high_energy SUBDIRS += hadronic/models/im_r_matrix SUBDIRS += hadronic/models/isotope_production SUBDIRS += hadronic/models/leading_particle +SUBDIRS += hadronic/models/lll_fission SUBDIRS += hadronic/models/low_energy SUBDIRS += hadronic/models/management SUBDIRS += hadronic/models/neutron_hp @@ -93,6 +96,7 @@ SUBLIBS += G4had_im_r_matrix SUBLIBS += G4hadronic_iso SUBLIBS += G4hadronic_leading_particle SUBLIBS += G4hadronic_LE +SUBLIBS += G4had_lll_fis SUBLIBS += G4had_mod_man SUBLIBS += G4had_neu_hp SUBLIBS += G4hadronic_radioactivedecay diff --git a/source/processes/biasing/GNUmakefile b/source/processes/biasing/GNUmakefile new file mode 100644 index 0000000000..30b032749c --- /dev/null +++ b/source/processes/biasing/GNUmakefile @@ -0,0 +1,35 @@ +# $Id: GNUmakefile,v 1.2 2007/05/30 17:58:37 ahoward Exp $ +# ------------------------------------------------------------ +# GNUmakefile for biasing process library. +# ------------------------------------------------------------ + +name := G4biasing + +ifndef G4INSTALL + G4INSTALL = ../../.. +endif + +include $(G4INSTALL)/config/architecture.gmk + +CPPFLAGS += \ + -I$(G4BASE)/global/management/include \ + -I$(G4BASE)/global/HEPRandom/include \ + -I$(G4BASE)/global/HEPGeometry/include \ + -I$(G4BASE)/geometry/management/include \ + -I$(G4BASE)/geometry/volumes/include \ + -I$(G4BASE)/geometry/navigation/include \ + -I$(G4BASE)/geometry/magneticfield/include \ + -I$(G4BASE)/geometry/biasing/include \ + -I$(G4BASE)/track/include \ + -I$(G4BASE)/processes/management/include \ + -I$(G4BASE)/processes/electromagnetic/utils/include \ + -I$(G4BASE)/processes/cuts/include \ + -I$(G4BASE)/particles/management/include \ + -I$(G4BASE)/materials/include \ + -I$(G4BASE)/intercoms/include \ + -I$(G4BASE)/digits_hits/detector/include \ + -I$(G4BASE)/digits_hits/hits/include \ + -I$(G4BASE)/processes/transportation/include + + +include $(G4INSTALL)/config/common.gmk diff --git a/source/processes/biasing/History b/source/processes/biasing/History new file mode 100644 index 0000000000..7204b2be92 --- /dev/null +++ b/source/processes/biasing/History @@ -0,0 +1,60 @@ +$Id: History,v 1.15 2007/06/25 06:59:17 ahoward Exp $ +------------------------------------------------------------------- + + ========================================================= + Geant4 - an Object-Oriented Toolkit for Simulation in HEP + ========================================================= + + Category History file + --------------------- +This file should be used by G4 developers and category coordinators +to briefly summarize all major modifications introduced in the code +and keep track of all category-tags. +It DOES NOT substitute the CVS log-message one should put at every +committal in the CVS repository ! + + ---------------------------------------------------------- + * Reverse chronological order (last date on top), please * + ---------------------------------------------------------- + +June 22nd, 2007 Alex Howard (procbiasing-V08-03-08) +- Added missing member function to G4VSampler base class + +June 12th, 2007 Alex Howard (procbiasing-V08-03-05) +- Added CoupledTransportation name to G4ProcessPlacer + +June 1st, 2007 Alex Howard (procbiasing-V08-03-04) +- Added missing source file G4VProcessPlacer.cc previously resident in + processes/transportation +- Removed scoring inheritance in G4VSampler +- HEAD maintains inheritance for backward comparisons/testing + +June 1st, 2007 Alex Howard (procbiasing-V08-03-03) +- Renamed New classes back to normal classes, simultaneously + processes/transportation old biasing classes renamed with + suffix 8 to avoid clashes. +- includes modified G4GeometrySampler (without scoring) +- HEAD contains un-modifier G4GeometrySampler and depends on old scoring scheme + in geometry/biasing. + +May 31st, 2007 Alex Howard (procbiasing-V08-03-02) +- removed dependency on old biasing within transportation and on old scoring + within geometry +- G4GeometrySampler is modified to remove scoring dependency +- HEAD of G4GeometrySampler is the old file +- HEAD contains a different version of G4GeometrySampler that includes the old + biasing scoring for the purpose of testing + +May 30th, 2007 Alex Howard (procbiasing-V08-03-01) +- added missing includes to GNUmakefile + +May 30th, 2007 Alex Howard (procbiasing-V08-03-00) +- migrated classes and tests from processes/scoring + +May 25th, 2007 Jane Tinslay +- Add tests for physics biasing under test/physics_biasing + +March 21st, 2007 G.Cosmo +- Module and history file created. + + diff --git a/source/processes/scoring/include/G4GCellFinder.hh b/source/processes/biasing/include/G4GCellFinder.hh similarity index 96% rename from source/processes/scoring/include/G4GCellFinder.hh rename to source/processes/biasing/include/G4GCellFinder.hh index e551aa3c1b..0a1ef6d8b8 100644 --- a/source/processes/scoring/include/G4GCellFinder.hh +++ b/source/processes/biasing/include/G4GCellFinder.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GCellFinder.hh,v 1.1 2006/11/20 10:02:05 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4GCellFinder.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4ParallelGCellFinder diff --git a/source/processes/scoring/include/G4GeometrySampler.hh b/source/processes/biasing/include/G4GeometrySampler.hh similarity index 92% rename from source/processes/scoring/include/G4GeometrySampler.hh rename to source/processes/biasing/include/G4GeometrySampler.hh index 896bfb2925..004b528bc0 100644 --- a/source/processes/scoring/include/G4GeometrySampler.hh +++ b/source/processes/biasing/include/G4GeometrySampler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GeometrySampler.hh,v 1.1 2006/11/20 10:02:05 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4GeometrySampler.hh,v 1.9 2007/06/01 09:52:23 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4GeometrySampler @@ -47,8 +47,8 @@ class G4ImportanceConfigurator; class G4WeightWindowConfigurator; -class G4ScoreConfigurator; -class G4NewWeightCutOffConfigurator; +//class G4ScoreConfigurator; +class G4WeightCutOffConfigurator; class G4VGCellFinder; class G4GeometrySampler : public G4VSampler @@ -59,7 +59,7 @@ public: // with description explicit G4GeometrySampler(G4VPhysicalVolume *worldvolume, const G4String &particlename); virtual ~G4GeometrySampler(); - virtual void PrepareScoring(G4VScorer *Scorer); + // virtual void PrepareScoring(G4VScorer *Scorer); virtual void PrepareImportanceSampling(G4VIStore *istore, const G4VImportanceAlgorithm *ialg); @@ -90,9 +90,9 @@ private: G4String fParticleName; G4VPhysicalVolume* fWorld; G4ImportanceConfigurator *fImportanceConfigurator; - G4ScoreConfigurator *fScoreConfigurator; + // G4ScoreConfigurator *fScoreConfigurator; G4VGCellFinder *fGCellFinder; - G4NewWeightCutOffConfigurator *fNewWeightCutOffConfigurator; + G4WeightCutOffConfigurator *fWeightCutOffConfigurator; G4VIStore *fIStore; G4WeightWindowConfigurator *fWeightWindowConfigurator; G4VWeightWindowStore *fWWStore; diff --git a/source/processes/scoring/include/G4ImportanceConfigurator.hh b/source/processes/biasing/include/G4ImportanceConfigurator.hh similarity index 95% rename from source/processes/scoring/include/G4ImportanceConfigurator.hh rename to source/processes/biasing/include/G4ImportanceConfigurator.hh index 04dcaea72a..052867bfbd 100644 --- a/source/processes/scoring/include/G4ImportanceConfigurator.hh +++ b/source/processes/biasing/include/G4ImportanceConfigurator.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ImportanceConfigurator.hh,v 1.1 2006/11/20 10:02:05 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ImportanceConfigurator.hh,v 1.3 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4ImportanceConfigurator @@ -42,7 +42,7 @@ #define G4ImportanceConfigurator_hh G4ImportanceConfigurator_hh #include "G4Types.hh" -#include "G4NewProcessPlacer.hh" +#include "G4ProcessPlacer.hh" #include "G4VSamplerConfigurator.hh" class G4ImportanceProcess; @@ -72,7 +72,7 @@ private: operator=(const G4ImportanceConfigurator &); G4VPhysicalVolume* fWorld; - G4NewProcessPlacer fPlacer; + G4ProcessPlacer fPlacer; G4VIStore &fIStore; G4bool fDeleteIalg; const G4VImportanceAlgorithm *fIalgorithm; diff --git a/source/processes/scoring/include/G4ImportanceProcess.hh b/source/processes/biasing/include/G4ImportanceProcess.hh similarity index 98% rename from source/processes/scoring/include/G4ImportanceProcess.hh rename to source/processes/biasing/include/G4ImportanceProcess.hh index d2b4609c98..73d2f81a45 100644 --- a/source/processes/scoring/include/G4ImportanceProcess.hh +++ b/source/processes/biasing/include/G4ImportanceProcess.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ImportanceProcess.hh,v 1.1 2006/11/20 10:02:05 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ImportanceProcess.hh,v 1.3 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4ImportanceProcess diff --git a/source/processes/scoring/include/G4PlaceOfAction.hh b/source/processes/biasing/include/G4PlaceOfAction.hh similarity index 95% rename from source/processes/scoring/include/G4PlaceOfAction.hh rename to source/processes/biasing/include/G4PlaceOfAction.hh index 7eddfc7308..5eb04a52eb 100644 --- a/source/processes/scoring/include/G4PlaceOfAction.hh +++ b/source/processes/biasing/include/G4PlaceOfAction.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PlaceOfAction.hh,v 1.1 2006/11/20 10:02:06 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PlaceOfAction.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4PlaceOfAction diff --git a/source/processes/transportation/include/G4ProcessPlacer.hh b/source/processes/biasing/include/G4ProcessPlacer.hh similarity index 96% rename from source/processes/transportation/include/G4ProcessPlacer.hh rename to source/processes/biasing/include/G4ProcessPlacer.hh index 03bbf2cc5d..f5e98d7cea 100644 --- a/source/processes/transportation/include/G4ProcessPlacer.hh +++ b/source/processes/biasing/include/G4ProcessPlacer.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ProcessPlacer.hh,v 1.8 2006/06/29 21:10:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ProcessPlacer.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4ProcessPlacer diff --git a/source/processes/transportation/include/G4SamplingPostStepAction.hh b/source/processes/biasing/include/G4SamplingPostStepAction.hh similarity index 96% rename from source/processes/transportation/include/G4SamplingPostStepAction.hh rename to source/processes/biasing/include/G4SamplingPostStepAction.hh index 00bf16af54..18cb1e3792 100644 --- a/source/processes/transportation/include/G4SamplingPostStepAction.hh +++ b/source/processes/biasing/include/G4SamplingPostStepAction.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SamplingPostStepAction.hh,v 1.2 2006/06/29 21:10:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SamplingPostStepAction.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4SamplingPostStepAction diff --git a/source/processes/scoring/include/G4TrackTerminator.hh b/source/processes/biasing/include/G4TrackTerminator.hh similarity index 96% rename from source/processes/scoring/include/G4TrackTerminator.hh rename to source/processes/biasing/include/G4TrackTerminator.hh index 6487ee875f..eeb10b6e8b 100644 --- a/source/processes/scoring/include/G4TrackTerminator.hh +++ b/source/processes/biasing/include/G4TrackTerminator.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4TrackTerminator.hh,v 1.1 2006/11/20 10:02:06 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4TrackTerminator.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4TrackTerminator diff --git a/source/processes/scoring/include/G4VProcessPlacer.hh b/source/processes/biasing/include/G4VProcessPlacer.hh similarity index 96% rename from source/processes/scoring/include/G4VProcessPlacer.hh rename to source/processes/biasing/include/G4VProcessPlacer.hh index c92035ba4f..a71fa4e98a 100644 --- a/source/processes/scoring/include/G4VProcessPlacer.hh +++ b/source/processes/biasing/include/G4VProcessPlacer.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VProcessPlacer.hh,v 1.1 2006/11/20 10:02:06 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VProcessPlacer.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4VProcessPlacer diff --git a/source/processes/transportation/include/G4VSampler.hh b/source/processes/biasing/include/G4VSampler.hh similarity index 92% rename from source/processes/transportation/include/G4VSampler.hh rename to source/processes/biasing/include/G4VSampler.hh index 07a75a038f..09483d45f4 100644 --- a/source/processes/transportation/include/G4VSampler.hh +++ b/source/processes/biasing/include/G4VSampler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSampler.hh,v 1.10 2006/06/29 21:10:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VSampler.hh,v 1.8 2007/06/25 06:57:22 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4VSampler @@ -50,7 +50,7 @@ class G4VImportanceAlgorithm; class G4VIStore; class G4VWeightWindowAlgorithm; class G4VWeightWindowStore; -class G4VScorer; +//class G4VScorer; class G4VSampler { @@ -60,7 +60,8 @@ public: // with description G4VSampler(); virtual ~G4VSampler(); - virtual void PrepareScoring(G4VScorer *Scorer) = 0; + // virtual void PrepareScoring(G4VScorer *Scorer) = 0; + // virtual void PrepareScoring() = 0; virtual void PrepareImportanceSampling(G4VIStore *istore, const G4VImportanceAlgorithm @@ -83,6 +84,9 @@ public: // with description virtual G4bool IsConfigured() const = 0; // check if some initialization hase already been done + + virtual void SetParallel(G4bool paraflag) = 0; + }; #endif diff --git a/source/processes/transportation/include/G4VSamplerConfigurator.hh b/source/processes/biasing/include/G4VSamplerConfigurator.hh similarity index 96% rename from source/processes/transportation/include/G4VSamplerConfigurator.hh rename to source/processes/biasing/include/G4VSamplerConfigurator.hh index ba47ccda53..43566cba21 100644 --- a/source/processes/transportation/include/G4VSamplerConfigurator.hh +++ b/source/processes/biasing/include/G4VSamplerConfigurator.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSamplerConfigurator.hh,v 1.7 2006/06/29 21:10:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VSamplerConfigurator.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4VSamplerConfigurator diff --git a/source/processes/transportation/include/G4WeightCutOffConfigurator.hh b/source/processes/biasing/include/G4WeightCutOffConfigurator.hh similarity index 89% rename from source/processes/transportation/include/G4WeightCutOffConfigurator.hh rename to source/processes/biasing/include/G4WeightCutOffConfigurator.hh index 4c10a2c863..8d70678891 100644 --- a/source/processes/transportation/include/G4WeightCutOffConfigurator.hh +++ b/source/processes/biasing/include/G4WeightCutOffConfigurator.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4WeightCutOffConfigurator.hh,v 1.5 2006/06/29 21:10:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4WeightCutOffConfigurator.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4WeightCutOffConfigurator @@ -47,18 +47,20 @@ class G4WeightCutOffProcess; class G4VGCellFinder; class G4VIStore; +class G4VPhysicalVolume; class G4WeightCutOffConfigurator : public G4VSamplerConfigurator { public: // with description - G4WeightCutOffConfigurator(const G4String &particlename, + G4WeightCutOffConfigurator(G4VPhysicalVolume* worldvolume, + const G4String &particlename, G4double wsurvival, G4double wlimit, G4double isource, G4VIStore *istore, - const G4VGCellFinder &aGCellFinder); + const G4VGCellFinder &aGCellFinder,G4bool paraflag); virtual ~G4WeightCutOffConfigurator(); virtual void Configure(G4VSamplerConfigurator *preConf); @@ -69,9 +71,14 @@ private: G4WeightCutOffConfigurator(const G4WeightCutOffConfigurator&); G4WeightCutOffConfigurator & operator=(const G4WeightCutOffConfigurator&); + G4VPhysicalVolume* fWorld; G4ProcessPlacer fPlacer; G4WeightCutOffProcess *fWeightCutOffProcess; G4bool fPlaced; + + + G4bool paraflag; + }; #endif diff --git a/source/processes/scoring/include/G4NewWeightCutOffProcess.hh b/source/processes/biasing/include/G4WeightCutOffProcess.hh similarity index 89% rename from source/processes/scoring/include/G4NewWeightCutOffProcess.hh rename to source/processes/biasing/include/G4WeightCutOffProcess.hh index e714bd0c57..85ed2bba4d 100644 --- a/source/processes/scoring/include/G4NewWeightCutOffProcess.hh +++ b/source/processes/biasing/include/G4WeightCutOffProcess.hh @@ -24,11 +24,11 @@ // ******************************************************************** // // -// $Id: G4NewWeightCutOffProcess.hh,v 1.1 2006/11/20 10:02:05 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4WeightCutOffProcess.hh,v 1.2 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- -// Class G4NewWeightCutOffProcess +// Class G4WeightCutOffProcess // // Class description: // @@ -36,8 +36,8 @@ // Author: Michael Dressel (Michael.Dressel@cern.ch) // ---------------------------------------------------------------------- -#ifndef G4NewWeightCutOffProcess_hh -#define G4NewWeightCutOffProcess_hh G4NewWeightCutOffProcess_hh +#ifndef G4WeightCutOffProcess_hh +#define G4WeightCutOffProcess_hh G4WeightCutOffProcess_hh #include "G4VProcess.hh" #include "G4VTrackTerminator.hh" @@ -57,20 +57,20 @@ class G4VTouchable; -class G4NewWeightCutOffProcess : public G4VProcess +class G4WeightCutOffProcess : public G4VProcess { public: // with description - G4NewWeightCutOffProcess(G4double wsurvival, + G4WeightCutOffProcess(G4double wsurvival, G4double wlimit, G4double isource, G4VIStore *istore, const G4VGCellFinder &aGCellFinder, - const G4String &aName = "NewWeightCutOffProcess", G4bool para = false); + const G4String &aName = "WeightCutOffProcess", G4bool para = false); // create a G4ParticleChange - virtual ~G4NewWeightCutOffProcess(); + virtual ~G4WeightCutOffProcess(); // delete the G4ParticleChange @@ -125,8 +125,8 @@ private: G4StepPoint * fGhostPreStepPoint; G4StepPoint * fGhostPostStepPoint; - G4NewWeightCutOffProcess(const G4NewWeightCutOffProcess &); - G4NewWeightCutOffProcess &operator=(const G4NewWeightCutOffProcess &); + G4WeightCutOffProcess(const G4WeightCutOffProcess &); + G4WeightCutOffProcess &operator=(const G4WeightCutOffProcess &); G4ParticleChange *fParticleChange; G4double fWeightSurvival; diff --git a/source/processes/scoring/include/G4WeightWindowConfigurator.hh b/source/processes/biasing/include/G4WeightWindowConfigurator.hh similarity index 95% rename from source/processes/scoring/include/G4WeightWindowConfigurator.hh rename to source/processes/biasing/include/G4WeightWindowConfigurator.hh index cf9149b7ac..2667ae78d4 100644 --- a/source/processes/scoring/include/G4WeightWindowConfigurator.hh +++ b/source/processes/biasing/include/G4WeightWindowConfigurator.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4WeightWindowConfigurator.hh,v 1.1 2006/11/20 10:02:07 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4WeightWindowConfigurator.hh,v 1.3 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4WeightWindowConfigurator @@ -40,7 +40,7 @@ #define G4WeightWindowConfigurator_hh G4WeightWindowConfigurator_hh #include "G4Types.hh" -#include "G4NewProcessPlacer.hh" +#include "G4ProcessPlacer.hh" #include "G4VSamplerConfigurator.hh" #include "G4PlaceOfAction.hh" @@ -72,7 +72,7 @@ private: operator=(const G4WeightWindowConfigurator &); G4VPhysicalVolume* fWorld; - G4NewProcessPlacer fPlacer; + G4ProcessPlacer fPlacer; G4VWeightWindowStore &fWeightWindowStore; G4bool fDeleteWWalg; const G4VWeightWindowAlgorithm *fWWalgorithm; diff --git a/source/processes/scoring/include/G4WeightWindowProcess.hh b/source/processes/biasing/include/G4WeightWindowProcess.hh similarity index 98% rename from source/processes/scoring/include/G4WeightWindowProcess.hh rename to source/processes/biasing/include/G4WeightWindowProcess.hh index 72c7f3aba4..67acc6aed3 100644 --- a/source/processes/scoring/include/G4WeightWindowProcess.hh +++ b/source/processes/biasing/include/G4WeightWindowProcess.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4WeightWindowProcess.hh,v 1.1 2006/11/20 10:02:07 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4WeightWindowProcess.hh,v 1.3 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4MassWeioghtWindowProcess diff --git a/source/processes/scoring/src/G4GCellFinder.cc b/source/processes/biasing/src/G4GCellFinder.cc similarity index 96% rename from source/processes/scoring/src/G4GCellFinder.cc rename to source/processes/biasing/src/G4GCellFinder.cc index b701e0af6b..a4c6647a31 100644 --- a/source/processes/scoring/src/G4GCellFinder.cc +++ b/source/processes/biasing/src/G4GCellFinder.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GCellFinder.cc,v 1.1 2006/11/20 10:02:15 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4GCellFinder.cc,v 1.2 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/scoring/src/G4GeometrySampler.cc b/source/processes/biasing/src/G4GeometrySampler.cc similarity index 80% rename from source/processes/scoring/src/G4GeometrySampler.cc rename to source/processes/biasing/src/G4GeometrySampler.cc index 3e7245f4db..703a485de0 100644 --- a/source/processes/scoring/src/G4GeometrySampler.cc +++ b/source/processes/biasing/src/G4GeometrySampler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GeometrySampler.cc,v 1.1 2006/11/20 10:02:16 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4GeometrySampler.cc,v 1.8 2007/06/01 09:52:23 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -38,13 +38,13 @@ #include "G4VIStore.hh" #include "G4WeightWindowStore.hh" -#include "G4VScorer.hh" +//#include "G4VScorer.hh" #include "G4VPhysicalVolume.hh" -#include "G4ScoreConfigurator.hh" +//#include "G4ScoreConfigurator.hh" #include "G4ImportanceConfigurator.hh" #include "G4WeightWindowConfigurator.hh" -#include "G4NewWeightCutOffConfigurator.hh" +#include "G4WeightCutOffConfigurator.hh" #include "G4GCellFinder.hh" G4GeometrySampler:: @@ -52,9 +52,9 @@ : fParticleName(particlename), fWorld(parallelworld), fImportanceConfigurator(0), - fScoreConfigurator(0), + // fScoreConfigurator(0), fGCellFinder(0), - fNewWeightCutOffConfigurator(0), + fWeightCutOffConfigurator(0), fIStore(0), fWeightWindowConfigurator(0), fWWStore(0), @@ -80,15 +80,15 @@ void G4GeometrySampler::ClearSampling() delete fWeightWindowConfigurator; fWeightWindowConfigurator = 0; } - if (fScoreConfigurator) +// if (fScoreConfigurator) +// { +// delete fScoreConfigurator; +// fScoreConfigurator = 0; +// } + if (fWeightCutOffConfigurator) { - delete fScoreConfigurator; - fScoreConfigurator = 0; - } - if (fNewWeightCutOffConfigurator) - { - delete fNewWeightCutOffConfigurator; - fNewWeightCutOffConfigurator = 0; + delete fWeightCutOffConfigurator; + fWeightCutOffConfigurator = 0; } if (fGCellFinder) { @@ -113,25 +113,25 @@ G4bool G4GeometrySampler::IsConfigured() const return isconf; } -void G4GeometrySampler::PrepareScoring(G4VScorer *scorer) -{ - G4cout << " preparing scoring configurator " << G4endl; - G4cout << G4endl; - G4cout << G4endl; - G4cout << G4endl; - G4cout << " new fWorld Name: " << fWorld->GetName() << G4endl; - G4cout << G4endl; - G4cout << G4endl; - G4cout << G4endl; - fScoreConfigurator = new G4ScoreConfigurator(fWorld, fParticleName, *scorer, paraflag); - G4cout << " configured scoring " << G4endl; - if (!fScoreConfigurator) - { - G4Exception("G4GeometrySampler::PrepareScoring()", - "FatalError", FatalException, - "Failed allocation of G4ScoreConfigurator !"); - } -} +// void G4GeometrySampler::PrepareScoring(G4VScorer *scorer) +// { +// G4cout << " preparing scoring configurator " << G4endl; +// G4cout << G4endl; +// G4cout << G4endl; +// G4cout << G4endl; +// G4cout << " new fWorld Name: " << fWorld->GetName() << G4endl; +// G4cout << G4endl; +// G4cout << G4endl; +// G4cout << G4endl; +// fScoreConfigurator = new G4ScoreConfigurator(fWorld, fParticleName, *scorer, paraflag); +// G4cout << " configured scoring " << G4endl; +// if (!fScoreConfigurator) +// { +// G4Exception("G4GeometrySampler::PrepareScoring()", +// "FatalError", FatalException, +// "Failed allocation of G4ScoreConfigurator !"); +// } +// } void G4GeometrySampler::PrepareImportanceSampling(G4VIStore *istore, @@ -169,18 +169,18 @@ G4GeometrySampler::PrepareWeightRoulett(G4double wsurvive, "Failed allocation of G4GCellFinder !"); } - fNewWeightCutOffConfigurator = - new G4NewWeightCutOffConfigurator(fWorld, fParticleName, + fWeightCutOffConfigurator = + new G4WeightCutOffConfigurator(fWorld, fParticleName, wsurvive, wlimit, isource, fIStore, *fGCellFinder, paraflag); - if (!fNewWeightCutOffConfigurator) + if (!fWeightCutOffConfigurator) { G4Exception("G4GeometrySampler::PrepareWeightRoulett()", "FatalError", FatalException, - "Failed allocation of G4NewWeightCutOffConfigurator !"); + "Failed allocation of G4WeightCutOffConfigurator !"); } } @@ -208,12 +208,12 @@ void G4GeometrySampler::Configure() { fIsConfigured = true; - if (fScoreConfigurator) - { - G4cout << " score configurator push_back " << G4endl; - fConfigurators.push_back(fScoreConfigurator); - G4cout << " pushed " << G4endl; - } +// if (fScoreConfigurator) +// { +// G4cout << " score configurator push_back " << G4endl; +// fConfigurators.push_back(fScoreConfigurator); +// G4cout << " pushed " << G4endl; +// } if (fImportanceConfigurator) { G4cout << " importance configurator push_back " << G4endl; @@ -241,10 +241,10 @@ void G4GeometrySampler::Configure() G4cout << " configure preconf " << G4endl; preConf = *it; } - if (fNewWeightCutOffConfigurator) + if (fWeightCutOffConfigurator) { G4cout << " NEW weight window configure " << G4endl; - fNewWeightCutOffConfigurator->Configure(0); + fWeightCutOffConfigurator->Configure(0); G4cout << " configured " << G4endl; } } diff --git a/source/processes/scoring/src/G4ImportanceConfigurator.cc b/source/processes/biasing/src/G4ImportanceConfigurator.cc similarity index 96% rename from source/processes/scoring/src/G4ImportanceConfigurator.cc rename to source/processes/biasing/src/G4ImportanceConfigurator.cc index 47eeeafd3a..190529f8cf 100644 --- a/source/processes/scoring/src/G4ImportanceConfigurator.cc +++ b/source/processes/biasing/src/G4ImportanceConfigurator.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ImportanceConfigurator.cc,v 1.1 2006/11/20 10:02:16 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ImportanceConfigurator.cc,v 1.3 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4ImportanceConfigurator @@ -36,7 +36,7 @@ #include "G4ImportanceConfigurator.hh" #include "G4ImportanceProcess.hh" -#include "G4NewProcessPlacer.hh" +#include "G4ProcessPlacer.hh" #include "G4ImportanceAlgorithm.hh" G4ImportanceConfigurator:: diff --git a/source/processes/scoring/src/G4ImportanceProcess.cc b/source/processes/biasing/src/G4ImportanceProcess.cc similarity index 99% rename from source/processes/scoring/src/G4ImportanceProcess.cc rename to source/processes/biasing/src/G4ImportanceProcess.cc index d390855f24..b52824282d 100644 --- a/source/processes/scoring/src/G4ImportanceProcess.cc +++ b/source/processes/biasing/src/G4ImportanceProcess.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ImportanceProcess.cc,v 1.1 2006/11/20 10:02:16 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ImportanceProcess.cc,v 1.3 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4ProcessPlacer.cc b/source/processes/biasing/src/G4ProcessPlacer.cc similarity index 92% rename from source/processes/transportation/src/G4ProcessPlacer.cc rename to source/processes/biasing/src/G4ProcessPlacer.cc index a386a24eb5..49d2a3c209 100644 --- a/source/processes/transportation/src/G4ProcessPlacer.cc +++ b/source/processes/biasing/src/G4ProcessPlacer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ProcessPlacer.cc,v 1.16 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ProcessPlacer.cc,v 1.3 2007/06/12 17:24:39 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -90,8 +90,9 @@ void G4ProcessPlacer::AddProcessAs(G4VProcess *process, SecondOrLast sol) { G4Exception(" G4ProcessPlacer:: could not get process id=0"); } - if (transportation->GetProcessName() != "Transportation") + if (transportation->GetProcessName() != "Transportation" && transportation->GetProcessName() != "Transportation8" && transportation->GetProcessName() != "CoupledTransportation") { + // G4cout << " GOT HERE CoupledTransportation" << G4endl; G4cout << transportation->GetProcessName() << G4endl; G4Exception(" G4ProcessPlacer:: process id=0 is not Transportation"); } @@ -100,6 +101,10 @@ void G4ProcessPlacer::AddProcessAs(G4VProcess *process, SecondOrLast sol) GetProcessManager()->AddProcess(process); GetProcessManager()->SetProcessOrderingToFirst(process, idxPostStep); + // xx test + // if(process->GetProcessName() == "ImportanceProcess") + GetProcessManager()->SetProcessOrdering(process, + idxAlongStep, 1); // place transportation first again GetProcessManager()->SetProcessOrderingToFirst(transportation, idxPostStep); @@ -151,7 +156,7 @@ G4ProcessManager *G4ProcessPlacer::GetProcessManager() if (!processmanager) { G4Exception("G4ProcessPlacer::GetProcessManager()", "InvalidSetup", - FatalException, "NULL pointer to Process Manager !"); + FatalException, "NULL pointer to Process Manager ! Sampler.Configure() must be after PhysicsList instantiation"); } return processmanager; } diff --git a/source/processes/transportation/src/G4SamplingPostStepAction.cc b/source/processes/biasing/src/G4SamplingPostStepAction.cc similarity index 97% rename from source/processes/transportation/src/G4SamplingPostStepAction.cc rename to source/processes/biasing/src/G4SamplingPostStepAction.cc index 55afd41eaf..cae9067382 100644 --- a/source/processes/transportation/src/G4SamplingPostStepAction.cc +++ b/source/processes/biasing/src/G4SamplingPostStepAction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SamplingPostStepAction.cc,v 1.4 2006/06/29 21:12:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SamplingPostStepAction.cc,v 1.2 2007/06/01 09:16:33 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4VProcessPlacer.cc b/source/processes/biasing/src/G4VProcessPlacer.cc similarity index 95% rename from source/processes/transportation/src/G4VProcessPlacer.cc rename to source/processes/biasing/src/G4VProcessPlacer.cc index d80314f087..a53b5ffce5 100644 --- a/source/processes/transportation/src/G4VProcessPlacer.cc +++ b/source/processes/biasing/src/G4VProcessPlacer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VProcessPlacer.cc,v 1.4 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VProcessPlacer.cc,v 1.1 2007/06/01 14:57:03 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4VSampler.cc b/source/processes/biasing/src/G4VSampler.cc similarity index 95% rename from source/processes/transportation/src/G4VSampler.cc rename to source/processes/biasing/src/G4VSampler.cc index 2c23270508..f3b4cc1a47 100644 --- a/source/processes/transportation/src/G4VSampler.cc +++ b/source/processes/biasing/src/G4VSampler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSampler.cc,v 1.4 2006/10/16 18:19:53 japost Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VSampler.cc,v 1.2 2007/06/01 09:16:34 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4VSamplerConfigurator.cc b/source/processes/biasing/src/G4VSamplerConfigurator.cc similarity index 94% rename from source/processes/transportation/src/G4VSamplerConfigurator.cc rename to source/processes/biasing/src/G4VSamplerConfigurator.cc index a0937169a0..890eefd3a6 100644 --- a/source/processes/transportation/src/G4VSamplerConfigurator.cc +++ b/source/processes/biasing/src/G4VSamplerConfigurator.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSamplerConfigurator.cc,v 1.4 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VSamplerConfigurator.cc,v 1.2 2007/06/01 09:16:34 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/transportation/src/G4WeightCutOffConfigurator.cc b/source/processes/biasing/src/G4WeightCutOffConfigurator.cc similarity index 84% rename from source/processes/transportation/src/G4WeightCutOffConfigurator.cc rename to source/processes/biasing/src/G4WeightCutOffConfigurator.cc index 0efcb08c00..afd02aea9a 100644 --- a/source/processes/transportation/src/G4WeightCutOffConfigurator.cc +++ b/source/processes/biasing/src/G4WeightCutOffConfigurator.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4WeightCutOffConfigurator.cc,v 1.7 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4WeightCutOffConfigurator.cc,v 1.2 2007/06/01 09:16:34 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4WeightCutOffConfigurator @@ -37,17 +37,20 @@ #include "G4WeightCutOffProcess.hh" G4WeightCutOffConfigurator:: -G4WeightCutOffConfigurator(const G4String &particlename, +G4WeightCutOffConfigurator(G4VPhysicalVolume* worldvolume, + const G4String &particlename, G4double wsurvival, G4double wlimit, G4double isource, G4VIStore *istore, - const G4VGCellFinder &aGCellfinder) - : fPlacer(particlename), - fPlaced(false) + const G4VGCellFinder &aGCellfinder, G4bool para) + : fWorld(worldvolume), + fPlacer(particlename), + fPlaced(false), + paraflag(para) { fWeightCutOffProcess = - new G4WeightCutOffProcess(wsurvival,wlimit,isource,istore,aGCellfinder); + new G4WeightCutOffProcess(wsurvival,wlimit,isource,istore,aGCellfinder,"WeightCutOffProcess",paraflag); if (!fWeightCutOffProcess) { G4Exception("G4WeightCutOffConfigurator::G4WeightCutOffConfigurator()", @@ -67,6 +70,10 @@ G4WeightCutOffConfigurator::~G4WeightCutOffConfigurator() void G4WeightCutOffConfigurator::Configure(G4VSamplerConfigurator *) { + G4cout << " entering new weight window configure " << G4endl; + + if(paraflag) fWeightCutOffProcess->SetParallelWorld(fWorld); + fPlacer.AddProcessAsLastDoIt(fWeightCutOffProcess); fPlaced = true; } diff --git a/source/processes/scoring/src/G4NewWeightCutOffProcess.cc b/source/processes/biasing/src/G4WeightCutOffProcess.cc similarity index 91% rename from source/processes/scoring/src/G4NewWeightCutOffProcess.cc rename to source/processes/biasing/src/G4WeightCutOffProcess.cc index 657e6a9afa..b97d669e48 100644 --- a/source/processes/scoring/src/G4NewWeightCutOffProcess.cc +++ b/source/processes/biasing/src/G4WeightCutOffProcess.cc @@ -24,18 +24,18 @@ // ******************************************************************** // // -// $Id: G4NewWeightCutOffProcess.cc,v 1.1 2006/11/20 10:02:17 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4WeightCutOffProcess.cc,v 1.2 2007/06/01 09:16:34 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file // -// G4NewWeightCutOffProcess.cc +// G4WeightCutOffProcess.cc // // ---------------------------------------------------------------------- -#include "G4NewWeightCutOffProcess.hh" -#include "G4VScorer.hh" +#include "G4WeightCutOffProcess.hh" +//#include "G4VScorer.hh" #include "G4GeometryCellStep.hh" #include "G4GCellFinder.hh" #include "G4TouchableHandle.hh" @@ -52,8 +52,8 @@ #include "G4FieldTrackUpdator.hh" -G4NewWeightCutOffProcess:: -G4NewWeightCutOffProcess(G4double wsurvival, +G4WeightCutOffProcess:: +G4WeightCutOffProcess(G4double wsurvival, G4double wlimit, G4double isource, G4VIStore *istore, @@ -70,7 +70,7 @@ G4NewWeightCutOffProcess(G4double wsurvival, { if (!fParticleChange) { - G4Exception("G4NewWeightCutOffProcess::G4NewWeightCutOffProcess()", + G4Exception("G4WeightCutOffProcess::G4WeightCutOffProcess()", "FatalError", FatalException, "Failed to allocate G4ParticleChange !"); } @@ -93,7 +93,7 @@ G4NewWeightCutOffProcess(G4double wsurvival, } -G4NewWeightCutOffProcess::~G4NewWeightCutOffProcess() +G4WeightCutOffProcess::~G4WeightCutOffProcess() { delete fParticleChange; delete fGhostStep; @@ -105,7 +105,7 @@ G4NewWeightCutOffProcess::~G4NewWeightCutOffProcess() // SetParallelWorld // //------------------------------------------------------ -void G4NewWeightCutOffProcess:: +void G4WeightCutOffProcess:: SetParallelWorld(G4String parallelWorldName) { //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -117,7 +117,7 @@ SetParallelWorld(G4String parallelWorldName) //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ } -void G4NewWeightCutOffProcess:: +void G4WeightCutOffProcess:: SetParallelWorld(G4VPhysicalVolume* parallelWorld) { //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -134,7 +134,7 @@ SetParallelWorld(G4VPhysicalVolume* parallelWorld) // StartTracking // //------------------------------------------------------ -void G4NewWeightCutOffProcess::StartTracking(G4Track* trk) +void G4WeightCutOffProcess::StartTracking(G4Track* trk) { //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Activate navigator and get the navigator ID @@ -146,9 +146,9 @@ void G4NewWeightCutOffProcess::StartTracking(G4Track* trk) { fNavigatorID = fTransportationManager->ActivateNavigator(fGhostNavigator); } else { - G4Exception("G4NewWeightCutOffProcess::StartTracking", + G4Exception("G4WeightCutOffProcess::StartTracking", "ProcParaWorld000",FatalException, - "G4NewWeightCutOffProcess is used for tracking without having a parallel world assigned"); + "G4WeightCutOffProcess is used for tracking without having a parallel world assigned"); } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -174,7 +174,7 @@ void G4NewWeightCutOffProcess::StartTracking(G4Track* trk) } -G4double G4NewWeightCutOffProcess:: +G4double G4WeightCutOffProcess:: PostStepGetPhysicalInteractionLength(const G4Track &, G4double, G4ForceCondition* condition) { @@ -187,7 +187,7 @@ PostStepGetPhysicalInteractionLength(const G4Track &, } G4VParticleChange * -G4NewWeightCutOffProcess::PostStepDoIt(const G4Track& aTrack, +G4WeightCutOffProcess::PostStepDoIt(const G4Track& aTrack, const G4Step &aStep) { fParticleChange->Initialize(aTrack); @@ -252,12 +252,12 @@ G4NewWeightCutOffProcess::PostStepDoIt(const G4Track& aTrack, return fParticleChange; } -const G4String &G4NewWeightCutOffProcess::GetName() const +const G4String &G4WeightCutOffProcess::GetName() const { return theProcessName; } -G4double G4NewWeightCutOffProcess:: +G4double G4WeightCutOffProcess:: AlongStepGetPhysicalInteractionLength( const G4Track& track, G4double previousStepSize, G4double currentMinimumStep, G4double& proposedSafety, G4GPILSelection* selection) @@ -333,7 +333,7 @@ AlongStepGetPhysicalInteractionLength( } -G4double G4NewWeightCutOffProcess:: +G4double G4WeightCutOffProcess:: AtRestGetPhysicalInteractionLength(const G4Track& , G4ForceCondition*) { @@ -341,13 +341,13 @@ AtRestGetPhysicalInteractionLength(const G4Track& , } G4VParticleChange* -G4NewWeightCutOffProcess::AtRestDoIt(const G4Track&, const G4Step&) +G4WeightCutOffProcess::AtRestDoIt(const G4Track&, const G4Step&) { return 0; } G4VParticleChange* -G4NewWeightCutOffProcess::AlongStepDoIt(const G4Track& track, const G4Step&) +G4WeightCutOffProcess::AlongStepDoIt(const G4Track& track, const G4Step&) { // Dummy ParticleChange ie: does nothing // Expecting G4Transportation to move the track @@ -357,7 +357,7 @@ G4NewWeightCutOffProcess::AlongStepDoIt(const G4Track& track, const G4Step&) // return 0; } -void G4NewWeightCutOffProcess::CopyStep(const G4Step & step) +void G4WeightCutOffProcess::CopyStep(const G4Step & step) { fGhostStep->SetTrack(step.GetTrack()); fGhostStep->SetStepLength(step.GetStepLength()); diff --git a/source/processes/scoring/src/G4WeightWindowConfigurator.cc b/source/processes/biasing/src/G4WeightWindowConfigurator.cc similarity index 97% rename from source/processes/scoring/src/G4WeightWindowConfigurator.cc rename to source/processes/biasing/src/G4WeightWindowConfigurator.cc index 6785285d30..6a1c3778c5 100644 --- a/source/processes/scoring/src/G4WeightWindowConfigurator.cc +++ b/source/processes/biasing/src/G4WeightWindowConfigurator.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4WeightWindowConfigurator.cc,v 1.1 2006/11/20 10:02:19 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4WeightWindowConfigurator.cc,v 1.3 2007/06/01 09:16:34 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4WeightWindowConfigurator diff --git a/source/processes/scoring/src/G4WeightWindowProcess.cc b/source/processes/biasing/src/G4WeightWindowProcess.cc similarity index 99% rename from source/processes/scoring/src/G4WeightWindowProcess.cc rename to source/processes/biasing/src/G4WeightWindowProcess.cc index 33b3503f83..7cc867a5fb 100644 --- a/source/processes/scoring/src/G4WeightWindowProcess.cc +++ b/source/processes/biasing/src/G4WeightWindowProcess.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4WeightWindowProcess.cc,v 1.1 2006/11/20 10:02:19 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4WeightWindowProcess.cc,v 1.3 2007/06/01 09:16:34 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file diff --git a/source/processes/cuts/History b/source/processes/cuts/History index bc350fb93c..ddafde06d6 100644 --- a/source/processes/cuts/History +++ b/source/processes/cuts/History @@ -1,4 +1,4 @@ -$Id: History,v 1.19 2007/03/15 04:06:40 kurasige Exp $ +$Id: History,v 1.21 2007/06/06 14:50:38 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,18 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +June 6th, 2007 - L.Urban (procuts-V08-03-01) +- Fix in G4VRangeToEnergyConverter::convert(), range-energu conversion, + correcting artifact observed in the visible energy plot over range-cut, + where a jump in the distribution was evident. + The correction can influence the result only for the tests, where + the e+/e- energy cuts are below 30 keV and even in this case the change + in results should be small. + +May 30th, 2007 - H.Kurashige (procuts-V08-03-00) +- Fix G4ProductionCutsTable::CheckMaterialCutsCoupleInfo + March 15th, 2007 - H.Kurashige (procuts-V08-02-00) - Add G4ProductionCutsTable::ConvertRangeToEnergy diff --git a/source/processes/cuts/include/G4MCCIndexConversionTable.hh b/source/processes/cuts/include/G4MCCIndexConversionTable.hh index 67568743a0..afebe8d16f 100644 --- a/source/processes/cuts/include/G4MCCIndexConversionTable.hh +++ b/source/processes/cuts/include/G4MCCIndexConversionTable.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4MCCIndexConversionTable.hh,v 1.3 2006/06/29 19:29:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/include/G4MaterialCutsCouple.hh b/source/processes/cuts/include/G4MaterialCutsCouple.hh index f7d4c703a9..ab4b6d6165 100644 --- a/source/processes/cuts/include/G4MaterialCutsCouple.hh +++ b/source/processes/cuts/include/G4MaterialCutsCouple.hh @@ -25,7 +25,7 @@ // // // $Id: G4MaterialCutsCouple.hh,v 1.3 2006/06/29 19:29:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/include/G4PhysicsTableHelper.hh b/source/processes/cuts/include/G4PhysicsTableHelper.hh index 198e9e60b2..01e0ff23e1 100644 --- a/source/processes/cuts/include/G4PhysicsTableHelper.hh +++ b/source/processes/cuts/include/G4PhysicsTableHelper.hh @@ -25,7 +25,7 @@ // // // $Id: G4PhysicsTableHelper.hh,v 1.3 2006/06/29 19:29:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/include/G4ProductionCuts.hh b/source/processes/cuts/include/G4ProductionCuts.hh index 5ff6143321..83eca2d185 100644 --- a/source/processes/cuts/include/G4ProductionCuts.hh +++ b/source/processes/cuts/include/G4ProductionCuts.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProductionCuts.hh,v 1.4 2006/06/29 19:29:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/include/G4ProductionCutsTable.hh b/source/processes/cuts/include/G4ProductionCutsTable.hh index d0e3afadec..18d885c16d 100644 --- a/source/processes/cuts/include/G4ProductionCutsTable.hh +++ b/source/processes/cuts/include/G4ProductionCutsTable.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProductionCutsTable.hh,v 1.8 2007/03/15 04:06:40 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/include/G4RToEConvForAntiNeutron.hh b/source/processes/cuts/include/G4RToEConvForAntiNeutron.hh index 6a19174e21..b104bef576 100644 --- a/source/processes/cuts/include/G4RToEConvForAntiNeutron.hh +++ b/source/processes/cuts/include/G4RToEConvForAntiNeutron.hh @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForAntiNeutron.hh,v 1.2 2006/06/29 19:29:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/include/G4RToEConvForAntiProton.hh b/source/processes/cuts/include/G4RToEConvForAntiProton.hh index 2c86f792f6..b77d2c2eb9 100644 --- a/source/processes/cuts/include/G4RToEConvForAntiProton.hh +++ b/source/processes/cuts/include/G4RToEConvForAntiProton.hh @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForAntiProton.hh,v 1.2 2006/06/29 19:29:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/include/G4RToEConvForElectron.hh b/source/processes/cuts/include/G4RToEConvForElectron.hh index dc63aab9f6..a57258fdc8 100644 --- a/source/processes/cuts/include/G4RToEConvForElectron.hh +++ b/source/processes/cuts/include/G4RToEConvForElectron.hh @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForElectron.hh,v 1.2 2006/06/29 19:29:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/include/G4RToEConvForGamma.hh b/source/processes/cuts/include/G4RToEConvForGamma.hh index 88b28cb377..07d29e5935 100644 --- a/source/processes/cuts/include/G4RToEConvForGamma.hh +++ b/source/processes/cuts/include/G4RToEConvForGamma.hh @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForGamma.hh,v 1.2 2006/06/29 19:29:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/include/G4RToEConvForNeutron.hh b/source/processes/cuts/include/G4RToEConvForNeutron.hh index 6a4b10e9d8..b85e547567 100644 --- a/source/processes/cuts/include/G4RToEConvForNeutron.hh +++ b/source/processes/cuts/include/G4RToEConvForNeutron.hh @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForNeutron.hh,v 1.2 2006/06/29 19:30:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/include/G4RToEConvForPositron.hh b/source/processes/cuts/include/G4RToEConvForPositron.hh index 66d2d6e212..ecc62ee6f8 100644 --- a/source/processes/cuts/include/G4RToEConvForPositron.hh +++ b/source/processes/cuts/include/G4RToEConvForPositron.hh @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForPositron.hh,v 1.2 2006/06/29 19:30:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/include/G4RToEConvForProton.hh b/source/processes/cuts/include/G4RToEConvForProton.hh index bdf0c718fe..e914917bd1 100644 --- a/source/processes/cuts/include/G4RToEConvForProton.hh +++ b/source/processes/cuts/include/G4RToEConvForProton.hh @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForProton.hh,v 1.2 2006/06/29 19:30:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/include/G4VRangeToEnergyConverter.hh b/source/processes/cuts/include/G4VRangeToEnergyConverter.hh index 559b760acf..7b6e610f7a 100644 --- a/source/processes/cuts/include/G4VRangeToEnergyConverter.hh +++ b/source/processes/cuts/include/G4VRangeToEnergyConverter.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRangeToEnergyConverter.hh,v 1.4 2006/06/29 19:30:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/src/G4MCCIndexConversionTable.cc b/source/processes/cuts/src/G4MCCIndexConversionTable.cc index 41babc82d3..0e6c9e0e55 100644 --- a/source/processes/cuts/src/G4MCCIndexConversionTable.cc +++ b/source/processes/cuts/src/G4MCCIndexConversionTable.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4MCCIndexConversionTable.cc,v 1.3 2006/06/29 19:30:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/src/G4MaterialCutsCouple.cc b/source/processes/cuts/src/G4MaterialCutsCouple.cc index 89c1ce67dd..94ccec671e 100644 --- a/source/processes/cuts/src/G4MaterialCutsCouple.cc +++ b/source/processes/cuts/src/G4MaterialCutsCouple.cc @@ -25,7 +25,7 @@ // // // $Id: G4MaterialCutsCouple.cc,v 1.3 2006/06/29 19:30:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/cuts/src/G4PhysicsTableHelper.cc b/source/processes/cuts/src/G4PhysicsTableHelper.cc index 2209205b9a..41d428ca8e 100644 --- a/source/processes/cuts/src/G4PhysicsTableHelper.cc +++ b/source/processes/cuts/src/G4PhysicsTableHelper.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PhysicsTableHelper.cc,v 1.5 2006/06/29 19:30:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/cuts/src/G4ProductionCuts.cc b/source/processes/cuts/src/G4ProductionCuts.cc index 290f26b96d..150782538a 100644 --- a/source/processes/cuts/src/G4ProductionCuts.cc +++ b/source/processes/cuts/src/G4ProductionCuts.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProductionCuts.cc,v 1.5 2006/06/29 19:30:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/cuts/src/G4ProductionCutsTable.cc b/source/processes/cuts/src/G4ProductionCutsTable.cc index eeb22a739f..f001540e48 100644 --- a/source/processes/cuts/src/G4ProductionCutsTable.cc +++ b/source/processes/cuts/src/G4ProductionCutsTable.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ProductionCutsTable.cc,v 1.16 2007/03/15 04:06:40 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4ProductionCutsTable.cc,v 1.17 2007/05/30 08:22:20 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- @@ -880,10 +880,11 @@ G4ProductionCutsTable::CheckMaterialCutsCoupleInfo(const G4String& directory, // debug information if (verboseLevel >1) { if (fOK) { + G4String regionname(region_name); G4Region* fRegion = 0; - if ( region_name != "NONE" ) fRegion = fG4RegionStore->GetRegion(region_name); - if ( (( region_name == "NONE" ) && (aCouple->IsUsed()) ) || - (( region_name != "NONE" ) && (fRegion==0) ) || + if ( regionname != "NONE" ) fRegion = fG4RegionStore->GetRegion(region_name); + if ( (( regionname == "NONE" ) && (aCouple->IsUsed()) ) || + (( regionname != "NONE" ) && (fRegion==0) ) || !IsCoupleUsedInTheRegion(aCouple, fRegion) ) { G4cout << "G4ProductionCutTable::CheckMaterialCutsCoupleInfo "; G4cout << "A Couple is used differnt region in the current setup "; diff --git a/source/processes/cuts/src/G4RToEConvForAntiNeutron.cc b/source/processes/cuts/src/G4RToEConvForAntiNeutron.cc index 666e1d6f6f..2372cc0632 100644 --- a/source/processes/cuts/src/G4RToEConvForAntiNeutron.cc +++ b/source/processes/cuts/src/G4RToEConvForAntiNeutron.cc @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForAntiNeutron.cc,v 1.3 2006/06/29 19:30:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/cuts/src/G4RToEConvForAntiProton.cc b/source/processes/cuts/src/G4RToEConvForAntiProton.cc index 3831d95109..b1df94385b 100644 --- a/source/processes/cuts/src/G4RToEConvForAntiProton.cc +++ b/source/processes/cuts/src/G4RToEConvForAntiProton.cc @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForAntiProton.cc,v 1.3 2006/06/29 19:30:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/cuts/src/G4RToEConvForElectron.cc b/source/processes/cuts/src/G4RToEConvForElectron.cc index 5d49fa0e89..867061f4c0 100644 --- a/source/processes/cuts/src/G4RToEConvForElectron.cc +++ b/source/processes/cuts/src/G4RToEConvForElectron.cc @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForElectron.cc,v 1.5 2006/06/29 19:30:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/cuts/src/G4RToEConvForGamma.cc b/source/processes/cuts/src/G4RToEConvForGamma.cc index 7f6d263156..728cb22f0a 100644 --- a/source/processes/cuts/src/G4RToEConvForGamma.cc +++ b/source/processes/cuts/src/G4RToEConvForGamma.cc @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForGamma.cc,v 1.4 2006/06/29 19:30:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/cuts/src/G4RToEConvForNeutron.cc b/source/processes/cuts/src/G4RToEConvForNeutron.cc index 94a205087f..dfa8564b40 100644 --- a/source/processes/cuts/src/G4RToEConvForNeutron.cc +++ b/source/processes/cuts/src/G4RToEConvForNeutron.cc @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForNeutron.cc,v 1.3 2006/06/29 19:30:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/cuts/src/G4RToEConvForPositron.cc b/source/processes/cuts/src/G4RToEConvForPositron.cc index 548fd77c33..e773434cde 100644 --- a/source/processes/cuts/src/G4RToEConvForPositron.cc +++ b/source/processes/cuts/src/G4RToEConvForPositron.cc @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForPositron.cc,v 1.5 2006/06/29 19:30:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/cuts/src/G4RToEConvForProton.cc b/source/processes/cuts/src/G4RToEConvForProton.cc index 49435e3eba..c538056163 100644 --- a/source/processes/cuts/src/G4RToEConvForProton.cc +++ b/source/processes/cuts/src/G4RToEConvForProton.cc @@ -25,7 +25,7 @@ // // // $Id: G4RToEConvForProton.cc,v 1.3 2006/06/29 19:30:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/cuts/src/G4VRangeToEnergyConverter.cc b/source/processes/cuts/src/G4VRangeToEnergyConverter.cc index b1a11aef20..b4ae46a242 100644 --- a/source/processes/cuts/src/G4VRangeToEnergyConverter.cc +++ b/source/processes/cuts/src/G4VRangeToEnergyConverter.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VRangeToEnergyConverter.cc,v 1.7 2006/06/29 19:30:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VRangeToEnergyConverter.cc,v 1.8 2007/06/06 05:13:34 urban Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- @@ -131,7 +131,10 @@ G4double G4VRangeToEnergyConverter::Convert(G4double rangeCut, if( ((theParticle->GetParticleName()=="e-")||(theParticle->GetParticleName()=="e+")) && (theKineticEnergyCuts < lowen) ) - { theKineticEnergyCuts /= (1.+tune/(rangeCut*density)); } + + // corr. should be switched on smoothly + { theKineticEnergyCuts /= (1.+(1.-theKineticEnergyCuts/lowen)* + tune/(rangeCut*density)); } if(theKineticEnergyCuts < LowestEnergy) { theKineticEnergyCuts = LowestEnergy ; } diff --git a/source/processes/decay/History b/source/processes/decay/History index c419522026..3eabcded42 100644 --- a/source/processes/decay/History +++ b/source/processes/decay/History @@ -1,4 +1,4 @@ -$Id: History,v 1.22 2005/04/29 05:09:24 kurasige Exp $ +$Id: History,v 1.23 2007/05/07 10:17:36 kurasige Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,9 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +- May 07, 07 H.Kurashige (decay-V08-02-00) +- Add protection for "TotalEnergy < Mass" + - Apr. 29, 05 H.Kurashige (decay-V07-00-00) - Fixed bug in GPILAtRest. diff --git a/source/processes/decay/include/G4Decay.hh b/source/processes/decay/include/G4Decay.hh index ed73f1f0af..743274d8d2 100644 --- a/source/processes/decay/include/G4Decay.hh +++ b/source/processes/decay/include/G4Decay.hh @@ -25,7 +25,7 @@ // // // $Id: G4Decay.hh,v 1.15 2006/06/29 19:30:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/decay/include/G4UnknownDecay.hh b/source/processes/decay/include/G4UnknownDecay.hh index f4a0506f63..bd137edfad 100644 --- a/source/processes/decay/include/G4UnknownDecay.hh +++ b/source/processes/decay/include/G4UnknownDecay.hh @@ -25,7 +25,7 @@ // // // $Id: G4UnknownDecay.hh,v 1.3 2006/06/29 19:30:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/decay/include/G4VExtDecayer.hh b/source/processes/decay/include/G4VExtDecayer.hh index 9fac516f80..77ad3087f5 100644 --- a/source/processes/decay/include/G4VExtDecayer.hh +++ b/source/processes/decay/include/G4VExtDecayer.hh @@ -25,7 +25,7 @@ // // // $Id: G4VExtDecayer.hh,v 1.4 2006/06/29 19:31:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/decay/src/G4Decay.cc b/source/processes/decay/src/G4Decay.cc index 2718e64705..9b53ad14dd 100644 --- a/source/processes/decay/src/G4Decay.cc +++ b/source/processes/decay/src/G4Decay.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Decay.cc,v 1.22 2006/06/29 19:31:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Decay.cc,v 1.24 2007/05/07 12:05:45 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- @@ -252,6 +252,20 @@ G4VParticleChange* G4Decay::DecayIt(const G4Track& aTrack, const G4Step& ) // get parent particle information ................................... G4double ParentEnergy = aParticle->GetTotalEnergy(); + G4double ParentMass = aParticle->GetMass(); + if (ParentEnergy < ParentMass) { + ParentEnergy = ParentMass; +#ifdef G4VERBOSE + if (GetVerboseLevel()>0) { + G4cerr << "G4Decay::DoIt : Total Energy is less than its mass" << G4endl; + G4cerr << " Particle: " << aParticle->GetDefinition()->GetParticleName(); + G4cerr << " Energy:" << ParentEnergy/MeV << "[MeV]"; + G4cerr << " Mass:" << ParentMass/MeV << "[MeV]"; + G4cerr << G4endl; + } +#endif + } + G4ThreeVector ParentDirection(aParticle->GetMomentumDirection()); //boost all decay products to laboratory frame diff --git a/source/processes/decay/src/G4UnknownDecay.cc b/source/processes/decay/src/G4UnknownDecay.cc index f48b3f35ea..b8505c608c 100644 --- a/source/processes/decay/src/G4UnknownDecay.cc +++ b/source/processes/decay/src/G4UnknownDecay.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UnknownDecay.cc,v 1.3 2006/06/29 19:31:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4UnknownDecay.cc,v 1.4 2007/05/07 10:16:08 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- @@ -66,27 +66,6 @@ G4bool G4UnknownDecay::IsApplicable(const G4ParticleDefinition& aParticleType) G4double G4UnknownDecay::GetMeanFreePath(const G4Track& /*aTrack*/,G4double, G4ForceCondition*) { -// // get particle -// const G4DynamicParticle* aParticle = aTrack.GetDynamicParticle(); -// -// // returns the mean free path in GEANT4 internal units -// G4double pathlength; -// G4double pTime = aParticle->GetPreAssignedDecayProperTime(); -// if(pTime<0.) pTime = DBL_MIN; -// G4double aCtau = c_light * pTime; -// G4double aMass = aParticle->GetMass(); -// -// G4double rKineticEnergy = aParticle->GetKineticEnergy()/aMass; -// if ( rKineticEnergy > HighestValue) { -// // gamma >> 1 -// pathlength = ( rKineticEnergy + 1.0)* aCtau; -// } else if ( rKineticEnergy < DBL_MIN ) { -// // too slow particle -// pathlength = DBL_MIN; -// } else { -// pathlength = (aParticle->GetTotalMomentum())/aMass*aCtau ; -// } -// return pathlength; return DBL_MIN; } @@ -128,6 +107,19 @@ G4VParticleChange* G4UnknownDecay::DecayIt(const G4Track& aTrack, const G4Step& // get parent particle information ................................... G4double ParentEnergy = aParticle->GetTotalEnergy(); + G4double ParentMass = aParticle->GetMass(); + if (ParentEnergy < ParentMass) { + ParentEnergy = ParentMass; +#ifdef G4VERBOSE + if (GetVerboseLevel()>1) { + G4cerr << "G4UnknownDecay::DoIt : Total Energy is less than its mass" << G4endl; + G4cerr << " Particle: " << aParticle->GetDefinition()->GetParticleName(); + G4cerr << " Energy:" << ParentEnergy/MeV << "[MeV]"; + G4cerr << " Mass:" << ParentMass/MeV << "[MeV]"; + G4cerr << G4endl; + } +#endif + } G4ThreeVector ParentDirection(aParticle->GetMomentumDirection()); G4double energyDeposit = 0.0; diff --git a/source/processes/electromagnetic/highenergy/History b/source/processes/electromagnetic/highenergy/History index 4f1bd6b009..918d15293f 100644 --- a/source/processes/electromagnetic/highenergy/History +++ b/source/processes/electromagnetic/highenergy/History @@ -1,4 +1,4 @@ -$Id: History,v 1.16 2006/10/27 14:11:12 vnivanch Exp $ +$Id: History,v 1.19 2007/05/31 11:13:31 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,19 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +31 May 07: V.Ivanchenko (emhighenergy-V08-03-02) +- G4mplIonisation - fixed destruction of monopole ionisation model + +23 May 07: V.Ivanchenko (emhighenergy-V08-03-01) +- In all processes inherit from G4VEnergyLossProcess or G4VEmProcess + remove method SecondaryPostStep; + +22 May 07: V.Ivanchenko (emhighenergy-V08-03-00) +- G4VEmModel - changed interface of SampleSecondary method, it become + void, extra parameter std::vector*, all + classes using or inhereting this interface are modified. + About 5% speadup of EM shower simulation + 25 October 06: V.Ivant (emhighenergy-V08-01-00) - added G4mplIonisation and G4mplIonisationModel - ionisation for classic magnetic monopole diff --git a/source/processes/electromagnetic/highenergy/include/G4AnnihiToMuPair.hh b/source/processes/electromagnetic/highenergy/include/G4AnnihiToMuPair.hh index cf71d12bab..f1f58fc54e 100644 --- a/source/processes/electromagnetic/highenergy/include/G4AnnihiToMuPair.hh +++ b/source/processes/electromagnetic/highenergy/include/G4AnnihiToMuPair.hh @@ -25,7 +25,7 @@ // // // $Id: G4AnnihiToMuPair.hh,v 1.2 2006/06/29 19:32:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------ G4AnnihiToMuPair physics process ------ // by H.Burkhardt, S. Kelner and R. Kokoulin, November 2002 diff --git a/source/processes/electromagnetic/highenergy/include/G4BetheBlochNoDeltaModel.hh b/source/processes/electromagnetic/highenergy/include/G4BetheBlochNoDeltaModel.hh index ea18f3b81b..4c65d0cd7f 100644 --- a/source/processes/electromagnetic/highenergy/include/G4BetheBlochNoDeltaModel.hh +++ b/source/processes/electromagnetic/highenergy/include/G4BetheBlochNoDeltaModel.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BetheBlochNoDeltaModel.hh,v 1.7 2006/06/29 19:32:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/highenergy/include/G4BraggNoDeltaModel.hh b/source/processes/electromagnetic/highenergy/include/G4BraggNoDeltaModel.hh index 89906b5228..b6cc8b0bb3 100644 --- a/source/processes/electromagnetic/highenergy/include/G4BraggNoDeltaModel.hh +++ b/source/processes/electromagnetic/highenergy/include/G4BraggNoDeltaModel.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BraggNoDeltaModel.hh,v 1.6 2006/06/29 19:32:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/highenergy/include/G4GammaConversionToMuons.hh b/source/processes/electromagnetic/highenergy/include/G4GammaConversionToMuons.hh index fcb7e585a9..86399a95b9 100644 --- a/source/processes/electromagnetic/highenergy/include/G4GammaConversionToMuons.hh +++ b/source/processes/electromagnetic/highenergy/include/G4GammaConversionToMuons.hh @@ -25,7 +25,7 @@ // // // $Id: G4GammaConversionToMuons.hh,v 1.2 2006/06/29 19:32:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------ G4GammaConversionToMuons physics process ------ // by H.Burkhardt, S. Kelner and R. Kokoulin, April 2002 diff --git a/source/processes/electromagnetic/highenergy/include/G4Vee2hadrons.hh b/source/processes/electromagnetic/highenergy/include/G4Vee2hadrons.hh index 26ded80840..510dd5a2b7 100644 --- a/source/processes/electromagnetic/highenergy/include/G4Vee2hadrons.hh +++ b/source/processes/electromagnetic/highenergy/include/G4Vee2hadrons.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4Vee2hadrons.hh,v 1.2 2006/06/29 19:32:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Vee2hadrons.hh,v 1.3 2007/05/22 17:37:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -74,7 +74,7 @@ public: virtual G4PhysicsVector* PhysicsVector(G4double, G4double) const = 0; - virtual std::vector* SampleSecondaries( + virtual void SampleSecondaries(std::vector*, G4double, const G4ThreeVector&) const = 0; private: diff --git a/source/processes/electromagnetic/highenergy/include/G4eeCrossSections.hh b/source/processes/electromagnetic/highenergy/include/G4eeCrossSections.hh index c11d930468..cc99a8e60e 100644 --- a/source/processes/electromagnetic/highenergy/include/G4eeCrossSections.hh +++ b/source/processes/electromagnetic/highenergy/include/G4eeCrossSections.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4eeCrossSections.hh,v 1.2 2006/06/29 19:32:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/highenergy/include/G4eeToHadrons.hh b/source/processes/electromagnetic/highenergy/include/G4eeToHadrons.hh index c5e80dbfc0..dc895d41d4 100644 --- a/source/processes/electromagnetic/highenergy/include/G4eeToHadrons.hh +++ b/source/processes/electromagnetic/highenergy/include/G4eeToHadrons.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eeToHadrons.hh,v 1.6 2006/06/29 19:32:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eeToHadrons.hh,v 1.8 2007/05/23 08:50:41 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -78,11 +78,6 @@ protected: void InitialiseProcess(const G4ParticleDefinition*); - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*); - private: std::vector* GenerateSecondaries(const G4DynamicParticle*); @@ -104,18 +99,6 @@ inline G4bool G4eeToHadrons::IsApplicable(const G4ParticleDefinition& p) return (&p == G4Positron::Positron()); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline std::vector* G4eeToHadrons::SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp) -{ - std::vector* newp = multimodel->SampleSecondaries(couple, dp); - if(newp) fParticleChange.ProposeTrackStatus(fStopAndKill); - return newp; -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/highenergy/include/G4eeToHadronsModel.hh b/source/processes/electromagnetic/highenergy/include/G4eeToHadronsModel.hh index 9767b89575..3e4d05227c 100644 --- a/source/processes/electromagnetic/highenergy/include/G4eeToHadronsModel.hh +++ b/source/processes/electromagnetic/highenergy/include/G4eeToHadronsModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eeToHadronsModel.hh,v 1.5 2006/06/29 19:32:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eeToHadronsModel.hh,v 1.6 2007/05/22 17:37:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -90,11 +90,11 @@ public: G4double cutEnergy = 0.0, G4double maxEnergy = DBL_MAX); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin = 0.0, - G4double maxEnergy = DBL_MAX); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin = 0.0, + G4double maxEnergy = DBL_MAX); G4DynamicParticle* GenerateCMPhoton(G4double); diff --git a/source/processes/electromagnetic/highenergy/include/G4eeToHadronsMultiModel.hh b/source/processes/electromagnetic/highenergy/include/G4eeToHadronsMultiModel.hh index 5674cf93e6..ba88c1e29a 100644 --- a/source/processes/electromagnetic/highenergy/include/G4eeToHadronsMultiModel.hh +++ b/source/processes/electromagnetic/highenergy/include/G4eeToHadronsMultiModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eeToHadronsMultiModel.hh,v 1.3 2006/06/29 19:32:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eeToHadronsMultiModel.hh,v 1.5 2007/05/23 08:50:41 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -52,6 +52,8 @@ #include "G4VEmModel.hh" #include "G4eeToHadronsModel.hh" +#include "G4ParticleChangeForGamma.hh" +#include "G4TrackStatus.hh" #include "Randomize.hh" #include @@ -87,11 +89,11 @@ public: G4double cutEnergy = 0.0, G4double maxEnergy = DBL_MAX); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin = 0.0, - G4double maxEnergy = DBL_MAX); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin = 0.0, + G4double maxEnergy = DBL_MAX); void PrintInfo(); @@ -105,6 +107,7 @@ private: G4eeToHadronsMultiModel(const G4eeToHadronsMultiModel&); G4eeCrossSections* cross; + G4ParticleChangeForGamma* fParticleChange; std::vector models; @@ -165,23 +168,23 @@ inline G4double G4eeToHadronsMultiModel::ComputeCrossSectionPerElectron( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline std::vector* G4eeToHadronsMultiModel::SampleSecondaries( - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double, G4double) +inline +void G4eeToHadronsMultiModel::SampleSecondaries(std::vector* newp, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double, G4double) { - std::vector* newp = 0; G4double kinEnergy = dp->GetKineticEnergy(); if (kinEnergy > thKineticEnergy) { G4double q = cumSum[nModels-1]*G4UniformRand(); for(G4int i=0; iSampleSecondaries(couple,dp); + (models[i])->SampleSecondaries(newp, couple,dp); + if(newp->size() > 0) fParticleChange->ProposeTrackStatus(fStopAndKill); break; } } } - return newp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/highenergy/include/G4eeToTwoPiModel.hh b/source/processes/electromagnetic/highenergy/include/G4eeToTwoPiModel.hh index 6a339c3426..c0eab0dedf 100644 --- a/source/processes/electromagnetic/highenergy/include/G4eeToTwoPiModel.hh +++ b/source/processes/electromagnetic/highenergy/include/G4eeToTwoPiModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eeToTwoPiModel.hh,v 1.2 2006/06/29 19:32:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eeToTwoPiModel.hh,v 1.3 2007/05/22 17:37:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -74,7 +74,7 @@ public: G4PhysicsVector* PhysicsVector(G4double, G4double) const; - virtual std::vector* SampleSecondaries( + virtual void SampleSecondaries(std::vector*, G4double, const G4ThreeVector&) const; private: diff --git a/source/processes/electromagnetic/highenergy/include/G4hhIonisation.hh b/source/processes/electromagnetic/highenergy/include/G4hhIonisation.hh index 40f2644f9b..4e8362077a 100644 --- a/source/processes/electromagnetic/highenergy/include/G4hhIonisation.hh +++ b/source/processes/electromagnetic/highenergy/include/G4hhIonisation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4hhIonisation.hh,v 1.3 2006/10/27 14:11:12 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4hhIonisation.hh,v 1.5 2007/05/23 08:50:41 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -78,12 +78,6 @@ public: protected: - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double&); - virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*, const G4ParticleDefinition*); @@ -131,15 +125,4 @@ inline G4double G4hhIonisation::MinPrimaryEnergy(const G4ParticleDefinition*, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline std::vector* G4hhIonisation::SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double&) -{ - return 0; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - #endif diff --git a/source/processes/electromagnetic/highenergy/include/G4mplIonisation.hh b/source/processes/electromagnetic/highenergy/include/G4mplIonisation.hh index e94f899da3..2ecb4e42ee 100644 --- a/source/processes/electromagnetic/highenergy/include/G4mplIonisation.hh +++ b/source/processes/electromagnetic/highenergy/include/G4mplIonisation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4mplIonisation.hh,v 1.3 2006/12/13 15:44:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4mplIonisation.hh,v 1.5 2007/05/23 08:50:41 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -78,12 +78,6 @@ public: protected: - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double&); - virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*, const G4ParticleDefinition*); @@ -106,18 +100,6 @@ inline G4bool G4mplIonisation::IsApplicable(const G4ParticleDefinition& p) return (p.GetParticleName() == "monopole"); } - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline std::vector* G4mplIonisation::SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double&) -{ - return 0; -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #endif diff --git a/source/processes/electromagnetic/highenergy/include/G4mplIonisationModel.hh b/source/processes/electromagnetic/highenergy/include/G4mplIonisationModel.hh index afd8a88240..8814b317f0 100644 --- a/source/processes/electromagnetic/highenergy/include/G4mplIonisationModel.hh +++ b/source/processes/electromagnetic/highenergy/include/G4mplIonisationModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4mplIonisationModel.hh,v 1.3 2006/12/13 15:44:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4mplIonisationModel.hh,v 1.4 2007/05/22 17:37:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -71,11 +71,11 @@ public: G4double kineticEnergy, G4double cutEnergy); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); virtual G4double SampleFluctuations(const G4Material*, @@ -115,14 +115,12 @@ private: //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline std::vector* G4mplIonisationModel::SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double, - G4double) -{ - return 0; -} +inline void G4mplIonisationModel::SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double, + G4double) +{} inline G4double G4mplIonisationModel::Dispersion( const G4Material* material, diff --git a/source/processes/electromagnetic/highenergy/src/G4AnnihiToMuPair.cc b/source/processes/electromagnetic/highenergy/src/G4AnnihiToMuPair.cc index 4d6d16f018..00c6cd1ee3 100644 --- a/source/processes/electromagnetic/highenergy/src/G4AnnihiToMuPair.cc +++ b/source/processes/electromagnetic/highenergy/src/G4AnnihiToMuPair.cc @@ -25,7 +25,7 @@ // // // $Id: G4AnnihiToMuPair.cc,v 1.3 2006/06/29 19:32:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------ G4AnnihiToMuPair physics process ------ // by H.Burkhardt, S. Kelner and R. Kokoulin, November 2002 diff --git a/source/processes/electromagnetic/highenergy/src/G4BetheBlochNoDeltaModel.cc b/source/processes/electromagnetic/highenergy/src/G4BetheBlochNoDeltaModel.cc index 5402b18820..751b7503e7 100644 --- a/source/processes/electromagnetic/highenergy/src/G4BetheBlochNoDeltaModel.cc +++ b/source/processes/electromagnetic/highenergy/src/G4BetheBlochNoDeltaModel.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BetheBlochNoDeltaModel.cc,v 1.3 2006/06/29 19:32:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/highenergy/src/G4BraggNoDeltaModel.cc b/source/processes/electromagnetic/highenergy/src/G4BraggNoDeltaModel.cc index d85710afae..7fb1661774 100644 --- a/source/processes/electromagnetic/highenergy/src/G4BraggNoDeltaModel.cc +++ b/source/processes/electromagnetic/highenergy/src/G4BraggNoDeltaModel.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BraggNoDeltaModel.cc,v 1.3 2006/06/29 19:32:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/highenergy/src/G4GammaConversionToMuons.cc b/source/processes/electromagnetic/highenergy/src/G4GammaConversionToMuons.cc index 48acecb9f1..54b1ed1988 100644 --- a/source/processes/electromagnetic/highenergy/src/G4GammaConversionToMuons.cc +++ b/source/processes/electromagnetic/highenergy/src/G4GammaConversionToMuons.cc @@ -25,7 +25,7 @@ // // // $Id: G4GammaConversionToMuons.cc,v 1.4 2006/06/29 19:32:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------ G4GammaConversionToMuons physics process ------ // by H.Burkhardt, S. Kelner and R. Kokoulin, April 2002 diff --git a/source/processes/electromagnetic/highenergy/src/G4eeCrossSections.cc b/source/processes/electromagnetic/highenergy/src/G4eeCrossSections.cc index 150a8a486b..5b5d7cbee2 100644 --- a/source/processes/electromagnetic/highenergy/src/G4eeCrossSections.cc +++ b/source/processes/electromagnetic/highenergy/src/G4eeCrossSections.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4eeCrossSections.cc,v 1.6 2006/06/29 19:32:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/highenergy/src/G4eeToHadrons.cc b/source/processes/electromagnetic/highenergy/src/G4eeToHadrons.cc index e3ae934d6f..ef00b7bb3e 100644 --- a/source/processes/electromagnetic/highenergy/src/G4eeToHadrons.cc +++ b/source/processes/electromagnetic/highenergy/src/G4eeToHadrons.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4eeToHadrons.cc,v 1.7 2006/06/29 19:32:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/highenergy/src/G4eeToHadronsModel.cc b/source/processes/electromagnetic/highenergy/src/G4eeToHadronsModel.cc index 7d5a3484a4..5299db9118 100644 --- a/source/processes/electromagnetic/highenergy/src/G4eeToHadronsModel.cc +++ b/source/processes/electromagnetic/highenergy/src/G4eeToHadronsModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eeToHadronsModel.cc,v 1.7 2006/06/29 19:32:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eeToHadronsModel.cc,v 1.8 2007/05/22 17:37:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -169,13 +169,12 @@ G4double G4eeToHadronsModel::ComputeCrossSectionPerElectron( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4eeToHadronsModel::SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle* dParticle, - G4double, - G4double) +void G4eeToHadronsModel::SampleSecondaries(std::vector* newp, + const G4MaterialCutsCouple*, + const G4DynamicParticle* dParticle, + G4double, + G4double) { - std::vector* newp = 0; if(crossPerElectron) { G4double t = dParticle->GetKineticEnergy(); G4double e = 2.0*electron_mass_c2*sqrt(1.0 + 0.5*t/electron_mass_c2); @@ -189,25 +188,20 @@ std::vector* G4eeToHadronsModel::SampleSecondaries( G4double m = lv.m(); G4ThreeVector boost = lv.boostVector(); const G4ThreeVector dir = gamma->GetMomentumDirection(); - newp = model->SampleSecondaries(m, dir); - if(newp) { - G4int np = newp->size(); - for(G4int j=0; jGet4Momentum(); - v.boost(boost); - v.boost(inBoost); - dp->Set4Momentum(v); - } - } else { - newp = new std::vector; + model->SampleSecondaries(newp, m, dir); + G4int np = newp->size(); + for(G4int j=0; jGet4Momentum(); + v.boost(boost); + v.boost(inBoost); + dp->Set4Momentum(v); } gLv.boost(inBoost); gamma->Set4Momentum(gLv); newp->push_back(gamma); } } - return newp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/highenergy/src/G4eeToHadronsMultiModel.cc b/source/processes/electromagnetic/highenergy/src/G4eeToHadronsMultiModel.cc index 6300fc1f4c..e5e04643d7 100644 --- a/source/processes/electromagnetic/highenergy/src/G4eeToHadronsMultiModel.cc +++ b/source/processes/electromagnetic/highenergy/src/G4eeToHadronsMultiModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eeToHadronsMultiModel.cc,v 1.3 2006/06/29 19:32:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eeToHadronsMultiModel.cc,v 1.4 2007/05/23 08:50:41 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -88,7 +88,8 @@ void G4eeToHadronsMultiModel::Initialise(const G4ParticleDefinition* p, const G4 maxKineticEnergy = HighEnergyLimit(); cross = new G4eeCrossSections(); - G4eeToHadronsModel* model = new G4eeToHadronsModel(new G4eeToTwoPiModel(cross), verbose); + G4eeToHadronsModel* model = + new G4eeToHadronsModel(new G4eeToTwoPiModel(cross), verbose); models.push_back(model); model->SetHighEnergyLimit(maxKineticEnergy); model->Initialise(p, v); @@ -99,6 +100,12 @@ void G4eeToHadronsMultiModel::Initialise(const G4ParticleDefinition* p, const G4 ekinPeak.push_back(model->PeakEnergy()); cumSum.push_back(0.0); nModels = 1; + + if(pParticleChange) + fParticleChange = + reinterpret_cast(pParticleChange); + else + fParticleChange = new G4ParticleChangeForGamma(); } } diff --git a/source/processes/electromagnetic/highenergy/src/G4eeToTwoPiModel.cc b/source/processes/electromagnetic/highenergy/src/G4eeToTwoPiModel.cc index 2290c17561..6f93173e12 100644 --- a/source/processes/electromagnetic/highenergy/src/G4eeToTwoPiModel.cc +++ b/source/processes/electromagnetic/highenergy/src/G4eeToTwoPiModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eeToTwoPiModel.cc,v 1.4 2006/06/29 19:32:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eeToTwoPiModel.cc,v 1.5 2007/05/22 17:37:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -95,10 +95,10 @@ G4PhysicsVector* G4eeToTwoPiModel::PhysicsVector(G4double emin, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -vector* G4eeToTwoPiModel::SampleSecondaries( +void G4eeToTwoPiModel::SampleSecondaries(std::vector* newp, G4double e, const G4ThreeVector& direction) const { - vector* newp = new vector; + G4double tkin = 0.5*e - massPi; if(tkin < 0.0) tkin = 0.0; G4double cost; @@ -119,7 +119,6 @@ vector* G4eeToTwoPiModel::SampleSecondaries( new G4DynamicParticle(G4PionMinus::PionMinus(),-dir,tkin); newp->push_back(pip); newp->push_back(pin); - return newp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/highenergy/src/G4hhIonisation.cc b/source/processes/electromagnetic/highenergy/src/G4hhIonisation.cc index f8b5d67eb8..62d4a58ce1 100644 --- a/source/processes/electromagnetic/highenergy/src/G4hhIonisation.cc +++ b/source/processes/electromagnetic/highenergy/src/G4hhIonisation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4hhIonisation.cc,v 1.5 2006/10/27 14:11:12 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4hhIonisation.cc,v 1.6 2007/05/22 17:37:30 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -66,7 +66,6 @@ G4hhIonisation::G4hhIonisation(const G4String& name) minKinEnergy = 0.1*keV; maxKinEnergy = 100.*TeV; SetDEDXBinning(120); - SetLambdaBinning(120); SetMinKinEnergy(minKinEnergy); SetMaxKinEnergy(maxKinEnergy); SetStepFunction(0.1, 0.1*mm); diff --git a/source/processes/electromagnetic/highenergy/src/G4mplIonisation.cc b/source/processes/electromagnetic/highenergy/src/G4mplIonisation.cc index c5285269f8..8d3ee04598 100644 --- a/source/processes/electromagnetic/highenergy/src/G4mplIonisation.cc +++ b/source/processes/electromagnetic/highenergy/src/G4mplIonisation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4mplIonisation.cc,v 1.3 2006/12/13 15:44:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4mplIonisation.cc,v 1.5 2007/05/31 11:13:31 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -62,10 +62,6 @@ G4mplIonisation::G4mplIonisation(G4double mCharge, const G4String& name) // By default classical magnetic charge is used if(magneticCharge == 0.0) magneticCharge = eplus*0.5/fine_structure_const; - SetDEDXBinning(120); - SetLambdaBinning(120); - SetMinKinEnergy(0.1*keV); - SetMaxKinEnergy(100.0*TeV); SetVerboseLevel(0); } @@ -84,7 +80,7 @@ void G4mplIonisation::InitialiseEnergyLossProcess(const G4ParticleDefinition*, SetBaseParticle(0); SetSecondaryParticle(G4Electron::Electron()); - G4mplIonisationModel* ion = new G4mplIonisationModel(magneticCharge); + G4mplIonisationModel* ion = new G4mplIonisationModel(magneticCharge,"PAI"); ion->SetLowEnergyLimit(0.1*keV); ion->SetHighEnergyLimit(100.*TeV); AddEmModel(0,ion,ion); diff --git a/source/processes/electromagnetic/highenergy/src/G4mplIonisationModel.cc b/source/processes/electromagnetic/highenergy/src/G4mplIonisationModel.cc index 83185198ae..052328f285 100644 --- a/source/processes/electromagnetic/highenergy/src/G4mplIonisationModel.cc +++ b/source/processes/electromagnetic/highenergy/src/G4mplIonisationModel.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4mplIonisationModel.cc,v 1.3 2006/12/13 15:44:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/History b/source/processes/electromagnetic/lowenergy/History index 512fc93246..5cc506bd3c 100644 --- a/source/processes/electromagnetic/lowenergy/History +++ b/source/processes/electromagnetic/lowenergy/History @@ -1,4 +1,4 @@ -$Id: History,v 1.254 2006/10/19 11:19:50 pia Exp $ +$Id: History,v 1.258 2007/06/07 13:57:26 pia Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,37 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +04.06.2007 MGP, tag emlowen-V08-03-03 + Tag on top of emlowen-V08-03-00a + Updated license information in G4DNACrossSectionDataSet.cc + +04.06.2007 G.Cosmo, tag emlowen-V08-03-00a + Archived obsolete class G4LowEnergyBraggModel + +30.05.2007 MGP, tag emlowen-V08-03-02 + Removed from CVS unused class G4LowEnergyBraggModel, + which introduced never agreed dependency on standard + G4VreEmModel + Attempt to fix issue identified by VALGRIND related to + PIXE model + +25.05.2007 MGP, tag emlowen-V08-03-01 + Initialized static variables in G4hLowEnergyLoss; + not sure whether this is correct, since this is old + code moved from utils/, deprived of any documentation + and with an evident fortran look. A design review + is planned to take care of this domain in a proper way. + Also included an updated version of G4BraggModel + provided by V.I. due to an interface change: however + this class is not used anywhere in the package, and is + retained only for historical reasons; it is candidate to be + trashed in the next design review. + +16.05.2007 MGP, tag emlowen-V08-03-00 + First set of Geant4-DNA processes compliant with design + documented in draft publication + 19.10.2006 MGP, tag emlowen-V08-01-02 Bug fixes in G4FluoData.cc diff --git a/source/processes/electromagnetic/lowenergy/include/G4AtomicDeexcitation.hh b/source/processes/electromagnetic/lowenergy/include/G4AtomicDeexcitation.hh index f0fc72139d..8f1e21d764 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4AtomicDeexcitation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4AtomicDeexcitation.hh @@ -25,7 +25,7 @@ // // // $Id: G4AtomicTransitionManager.hh,v 1.2 ???? -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) diff --git a/source/processes/electromagnetic/lowenergy/include/G4AtomicShell.hh b/source/processes/electromagnetic/lowenergy/include/G4AtomicShell.hh index d20109cc38..438c0b55ae 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4AtomicShell.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4AtomicShell.hh @@ -25,7 +25,7 @@ // // // $Id: G4AtomicShell.hh,v 1.2 ???? -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) diff --git a/source/processes/electromagnetic/lowenergy/include/G4AtomicTransitionManager.hh b/source/processes/electromagnetic/lowenergy/include/G4AtomicTransitionManager.hh index bac1d8b238..c38d28889c 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4AtomicTransitionManager.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4AtomicTransitionManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4AtomicTransitionManager.hh,v 1.2 ???? -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) diff --git a/source/processes/electromagnetic/lowenergy/include/G4AugerData.hh b/source/processes/electromagnetic/lowenergy/include/G4AugerData.hh index 0203488a3a..7fc4fdf9d0 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4AugerData.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4AugerData.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4AugerData.hh -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Alfonso Mantero (Alfonso.Mantero@ge.infn.it) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4BremsstrahlungParameters.hh b/source/processes/electromagnetic/lowenergy/include/G4BremsstrahlungParameters.hh index e916471f15..019e308b70 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4BremsstrahlungParameters.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4BremsstrahlungParameters.hh @@ -25,7 +25,7 @@ // // // $Id: G4BremsstrahlungParameters.hh,v 1.10 2006/06/29 19:33:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // V. Ivanchenko (Vladimir.Ivantchenko@cern.ch) diff --git a/source/processes/electromagnetic/lowenergy/include/G4CompositeEMDataSet.hh b/source/processes/electromagnetic/lowenergy/include/G4CompositeEMDataSet.hh index 19f86e0ef2..82cbee45fa 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4CompositeEMDataSet.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4CompositeEMDataSet.hh @@ -25,7 +25,7 @@ // // // $Id: G4CompositeEMDataSet.hh,v 1.8 2006/06/29 19:33:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4CrossSectionHandler.hh b/source/processes/electromagnetic/lowenergy/include/G4CrossSectionHandler.hh index 7f7e87c5e1..2f48db1d21 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4CrossSectionHandler.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4CrossSectionHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4CrossSectionHandler.hh,v 1.9 2006/06/29 19:33:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeDecrease.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeDecrease.hh index a1d509c2bc..579c08b6b4 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeDecrease.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeDecrease.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusChargeDecrease.hh,v 1.2 2006/06/29 19:33:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAALPHAPLUSCHARGEDECREASE_HH #define G4DNAALPHAPLUSCHARGEDECREASE_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeDecreaseFinalStatesPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeDecreaseFinalStatesPolicy.icc index 1657c857eb..a99b0edce6 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeDecreaseFinalStatesPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeDecreaseFinalStatesPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusChargeDecreaseFinalStatesPolicy.icc,v 2005/09/14 16:12:34 Francis -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAALPHAPLUSCHARGEDECREASEFINALSTATESPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeIncrease.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeIncrease.hh index 4e3b21b7e8..e28d22ed67 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeIncrease.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeIncrease.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusChargeIncrease.hh,v 1.2 2006/06/29 19:33:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAALPHAPLUSCHARGEINCREASE_HH #define G4DNAALPHAPLUSCHARGEINCREASE_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeIncreaseFinalStatesPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeIncreaseFinalStatesPolicy.icc index d32ceb769e..fe1e825323 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeIncreaseFinalStatesPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusChargeIncreaseFinalStatesPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusChargeIncreaseFinalStatesPolicy.icc,v 2005/09/14 16:12:34 Francis -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAALPHAPLUSCHARGEINCREASEFINALSTATESPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusExcitation.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusExcitation.hh index cc618cb23a..e73adb6ae1 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusExcitation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusExcitation.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusExcitation.hh,v 1.2 2006/06/29 19:33:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAALPHAPLUSEXCITATION_HH #define G4DNAALPHAPLUSEXCITATION_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusPlusChargeDecrease.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusPlusChargeDecrease.hh index 5d2f947ffe..3aab12d91e 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusPlusChargeDecrease.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusPlusChargeDecrease.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusPlusChargeDecrease.hh,v 1.2 2006/06/29 19:33:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAALPHAPLUSPLUSCHARGEDECREASE_HH #define G4DNAALPHAPLUSPLUSCHARGEDECREASE_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusPlusChargeDecreaseFinalStatesPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusPlusChargeDecreaseFinalStatesPolicy.icc index 54fc51753d..ec403b8a64 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusPlusChargeDecreaseFinalStatesPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusPlusChargeDecreaseFinalStatesPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusPlusChargeDecreaseFinalStatesPolicy.icc,v 2005/09/14 16:12:34 Francis -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAALPHAPLUSPLUSCHARGEDECREASEFINALSTATESPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusPlusExcitation.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusPlusExcitation.hh index 3ddf2869a2..ab2e6a49ac 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusPlusExcitation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAAlphaPlusPlusExcitation.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusPlusExcitation.hh,v 1.2 2006/06/29 19:33:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAALPHAPLUSPLUSEXCITATION_HH #define G4DNAALPHAPLUSPLUSEXCITATION_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNABornExcitationFinalStatesPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNABornExcitationFinalStatesPolicy.icc index c678c35971..74bfedd878 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNABornExcitationFinalStatesPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNABornExcitationFinalStatesPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNABornExcitationFinalStatesPolicy.icc,v 2005/09/19 13:55:54 Ziad FRANCIS -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNABornExcitationFinalStatesPolicy_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNABrennerAngularDistributionPolicy.hh b/source/processes/electromagnetic/lowenergy/include/G4DNABrennerAngularDistributionPolicy.hh index 66511c647a..87bb92afda 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNABrennerAngularDistributionPolicy.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNABrennerAngularDistributionPolicy.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNABrennerAngularDistributionPolicy.hh,v 1.2 2006/06/29 19:33:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Phys. Med. Biol. 29 N.4 (1983) 443-447 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAChargeDecreaseInWater.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAChargeDecreaseInWater.hh index 5476d9d659..e708238818 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAChargeDecreaseInWater.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAChargeDecreaseInWater.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAChargeDecreaseInWater.hh,v 1.4 2006/06/29 19:33:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4DNACHARGEDECREASEINWATER_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAChargeDecreaseInWater.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAChargeDecreaseInWater.icc index 012f1f7905..14c41821a0 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAChargeDecreaseInWater.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAChargeDecreaseInWater.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAChargeDecreaseInWater.icc,v 1.4 2006/06/29 19:33:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNACHARGEDECREASEINWATER_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAChargeIncreaseInWater.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAChargeIncreaseInWater.hh index 8dbb683cb7..197a0c9388 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAChargeIncreaseInWater.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAChargeIncreaseInWater.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAChargeIncreaseInWater.hh,v 1.3 2006/06/29 19:33:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4DNACHARGEINCREASEINWATER_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAChargeIncreaseInWater.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAChargeIncreaseInWater.icc index 83a46ccf02..3338ec203e 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAChargeIncreaseInWater.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAChargeIncreaseInWater.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAChargeIncreaseInWater.icc,v 1.4 2006/06/29 19:33:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNACHARGEINCREASEINWATER_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNACrossSectionDataSet.hh b/source/processes/electromagnetic/lowenergy/include/G4DNACrossSectionDataSet.hh index 6d6e3d8d6d..1be99cd384 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNACrossSectionDataSet.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNACrossSectionDataSet.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNACrossSectionDataSet.hh,v 1.2 2006/06/29 19:33:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Riccardo Capra // diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeChangeTotalCrossSectionPolicy.hh b/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeChangeTotalCrossSectionPolicy.hh index 9283f1562b..b3ee91fb45 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeChangeTotalCrossSectionPolicy.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeChangeTotalCrossSectionPolicy.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNADingfelderChargeChangeTotalCrossSectionPolicy.hh,v 1.2 2006/06/29 19:33:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNADINGFELDERCHARGECHANGETOTALCROSSSECTIONPOLICY_HH #define G4DNADINGFELDERCHARGECHANGETOTALCROSSSECTIONPOLICY_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeChangeTotalCrossSectionPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeChangeTotalCrossSectionPolicy.icc index f1746fe2fd..eb82c8374e 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeChangeTotalCrossSectionPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNADingfelderChargeChangeTotalCrossSectionPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNADingfelderChargeChangeTotalCrossSectionPolicy.icc,v 1.3 2006/06/29 19:33:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNADINGFELDERCHARGECHANGETOTALCROSSSECTIONPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAElectronBornExcitation.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAElectronBornExcitation.hh index 41e0fb47b5..d78dc5f534 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAElectronBornExcitation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAElectronBornExcitation.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAElectronBornExcitation.hh,v 1.3 2006/06/29 19:33:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAElectronBornExcitation_HH #define G4DNAElectronBornExcitation_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticBrenner.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticBrenner.hh index c8027f21f9..650720a479 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticBrenner.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticBrenner.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAElectronElasticBrenner.hh,v 1.3 2006/06/29 19:33:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAELECTRONELASTICBRENNER_HH #define G4DNAELECTRONELASTICBRENNER_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticEmfietzoglou.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticEmfietzoglou.hh index 67c5f9e78f..4891323e17 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticEmfietzoglou.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticEmfietzoglou.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAElectronElasticEmfietzoglou.hh,v 1.3 2006/06/29 19:33:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAELECTRONELASTICEMFIETZOGLOU_HH #define G4DNAELECTRONELASTICEMFIETZOGLOU_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticScatteringInWater.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticScatteringInWater.hh index d4fb0cdef9..a8a1d9f2a2 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticScatteringInWater.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticScatteringInWater.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAElectronElasticScatteringInWater.hh,v 1.6 2006/10/14 11:03:03 pia Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Nucl. Instr. Meth. 155 (1978) 145-156 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticScatteringInWater.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticScatteringInWater.icc index 5da185f968..3b0780724d 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticScatteringInWater.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAElectronElasticScatteringInWater.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAElectronElasticScatteringInWater.icc,v 1.4 2006/06/29 19:34:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAELECTRONELASTICSCATTERINGINWATER_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAElectronExcitation.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAElectronExcitation.hh index 3c7425e546..390a432d48 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAElectronExcitation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAElectronExcitation.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAElectronExcitation.hh,v 1.3 2006/06/29 19:34:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAELECTRONEXCITATION_HH #define G4DNAELECTRONEXCITATION_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAEmfietzoglouAngularDistributionPolicy.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAEmfietzoglouAngularDistributionPolicy.hh index b3ecd4b4dd..bc9db5a87f 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAEmfietzoglouAngularDistributionPolicy.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAEmfietzoglouAngularDistributionPolicy.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAEmfietzoglouAngularDistributionPolicy.hh,v 1.2 2006/06/29 19:34:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Nucl. Instr. Meth. 155 (1978) 145-156 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAEmfietzoglouExcitationTotalCrossSectionPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAEmfietzoglouExcitationTotalCrossSectionPolicy.icc index 54481a66cf..c3a750033a 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAEmfietzoglouExcitationTotalCrossSectionPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAEmfietzoglouExcitationTotalCrossSectionPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAEmfietzoglouExcitationTotalCrossSectionPolicy.icc,v 2005/07/26 10:49:54 Francis -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAEmfietzoglouExcitationTotalCrossSectionPolicy_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAExcitationInWater.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAExcitationInWater.hh index 589ddbd042..692497fd7b 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAExcitationInWater.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAExcitationInWater.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAExcitationInWater.hh,v 1.2 2006/06/29 19:34:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4DNAEXCITATIONINWATER_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAExcitationInWater.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAExcitationInWater.icc index f3399fa354..3e5d4ecd1f 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAExcitationInWater.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAExcitationInWater.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAExcitationInWater.icc,v 1.3 2006/06/29 19:34:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAEXCITATIONINWATER_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAGenericIonsManager.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAGenericIonsManager.hh index f6a44c5c8d..c46c078a29 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAGenericIonsManager.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAGenericIonsManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAGenericIonsManager.hh,v 1.3 2006/06/29 19:34:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAGENERICIONSMANAGER_HH #define G4DNAGENERICIONSMANAGER_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAHeliumChargeIncrease.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAHeliumChargeIncrease.hh index fc0e00e8d0..16b03098ac 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAHeliumChargeIncrease.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAHeliumChargeIncrease.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAHeliumChargeIncrease.hh,v 1.2 2006/06/29 19:34:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAHELIUMCHARGEINCREASE_HH #define G4DNAHELIUMCHARGEINCREASE_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAHeliumChargeIncreaseFinalStatesPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAHeliumChargeIncreaseFinalStatesPolicy.icc index 4bf6123790..9a603361c4 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAHeliumChargeIncreaseFinalStatesPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAHeliumChargeIncreaseFinalStatesPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAHeliumChargeIncreaseFinalStatesPolicy.icc,v 2005/09/14 16:12:34 Francis -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAHELIUMCHARGEINCREASEFINALSTATESPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAHeliumExcitation.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAHeliumExcitation.hh index fe8e06dd92..f6e58ac27a 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAHeliumExcitation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAHeliumExcitation.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAHeliumExcitation.hh,v 1.2 2006/06/29 19:34:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAHELIUMEXCITATION_HH #define G4DNAHELIUMEXCITATION_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncrease.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncrease.hh index 66a4021310..1fc9f4e13d 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncrease.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncrease.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAHydrogenChargeIncrease.hh,v 1.2 2006/06/29 19:34:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAHYDROGENCHARGEINCREASE_HH #define G4DNAHYDROGENCHARGEINCREASE_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncreaseFinalStatesPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncreaseFinalStatesPolicy.icc index fecc077f69..d608599f1c 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncreaseFinalStatesPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncreaseFinalStatesPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAHydrogenChargeIncreaseFinalStatesPolicy.icc,v 2005/09/15 14:38:34 Ziad FRANCIS -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAHYDROGENCHARGEINCREASEFINALSTATESPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncreaseTotalCrossSectionPolicy.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncreaseTotalCrossSectionPolicy.hh index cf8dda9805..37ca50dfda 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncreaseTotalCrossSectionPolicy.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncreaseTotalCrossSectionPolicy.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAHydrogenChargeIncreaseTotalCrossSectionPolicy.hh,v 1.2 2006/06/29 19:34:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAHYDROGENCHARGEINCREASETOTALCROSSSECTIONPOLICY_HH #define G4DNAHYDROGENCHARGEINCREASETOTALCROSSSECTIONPOLICY_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncreaseTotalCrossSectionPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncreaseTotalCrossSectionPolicy.icc index 6a5f06d281..0f760ab1c3 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncreaseTotalCrossSectionPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenChargeIncreaseTotalCrossSectionPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAHydrogenChargeIncreaseTotalCrossSectionPolicy.icc,v 1.3 2006/06/29 19:34:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAHYDROGENCHARGEINCREASETOTALCROSSSECTIONPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenRuddIonization.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenRuddIonization.hh index 210152965d..37597922c2 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenRuddIonization.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenRuddIonization.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAHydrogenRuddIonization.hh,v 1.3 2006/06/29 19:34:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAHYDROGENRUDDIONIZATION_HH #define G4DNAHYDROGENRUDDIONIZATION_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenRuddIonizationFinalStatesPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenRuddIonizationFinalStatesPolicy.icc index 9979da28d2..11762c6eb6 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenRuddIonizationFinalStatesPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAHydrogenRuddIonizationFinalStatesPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAHydrogenRuddIonizationFinalStatesPolicy.icc,v 2005/09/16 09:27:54 Ziad FRANCIS -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAHydrogenRuddIonizationFinalStatesPolicy_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAIonizationInWater.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAIonizationInWater.hh index 5051c39bf9..522c8259d4 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAIonizationInWater.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAIonizationInWater.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAIonizationInWater.hh,v 1.2 2006/06/29 19:34:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4DNAIONIZATIONINWATER_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAIonizationInWater.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAIonizationInWater.icc index d212381f8e..cffb17ea07 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAIonizationInWater.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAIonizationInWater.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAIonizationInWater.icc,v 1.4 2006/06/29 19:34:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAIONIZATIONINWATER_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAMillerAndGreenExcitationTotalCrossSectionPolicy.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAMillerAndGreenExcitationTotalCrossSectionPolicy.hh index 08d9d7f136..103dca5257 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAMillerAndGreenExcitationTotalCrossSectionPolicy.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAMillerAndGreenExcitationTotalCrossSectionPolicy.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAMillerAndGreenExcitationTotalCrossSectionPolicy.hh,v 1.2 2006/06/29 19:34:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAMILLERANDGREENEXCITATIONTOTALCROSSSECTIONPOLICY_HH #define G4DNAMILLERANDGREENEXCITATIONTOTALCROSSSECTIONPOLICY_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAMillerAndGreenExcitationTotalCrossSectionPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAMillerAndGreenExcitationTotalCrossSectionPolicy.icc index 76ad80848c..86efd7a349 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAMillerAndGreenExcitationTotalCrossSectionPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAMillerAndGreenExcitationTotalCrossSectionPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAMillerAndGreenExcitationTotalCrossSectionPolicy.icc,v 1.2 2006/06/29 19:34:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAMILLERANDGREENEXCITATIONTOTALCROSSSECTIONPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonBornExcitation.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonBornExcitation.hh index a4a263cb17..482f458dc4 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonBornExcitation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonBornExcitation.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonBornExcitation.hh,v 1.2 2006/06/29 19:34:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAProtonBornExcitation_HH #define G4DNAProtonBornExcitation_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeDecrease.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeDecrease.hh index d19f228dc2..c8c7fcce8e 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeDecrease.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeDecrease.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonChargeDecrease.hh,v 1.3 2006/06/29 19:34:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAPROTONCHARGEDECREASE_HH #define G4DNAPROTONCHARGEDECREASE_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeDecreaseFinalStatesPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeDecreaseFinalStatesPolicy.icc index fe32c66312..2122415253 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeDecreaseFinalStatesPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeDecreaseFinalStatesPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonChargeDecreaseFinalStatesPolicy.icc,v 2005/09/14 16:12:34 Francis -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAPROTONCHARGEDECREASEFINALSTATESPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncrease.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncrease.hh index 14d523754c..91775548ac 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncrease.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncrease.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonChargeIncrease.hh,v 1.3 2006/06/29 19:34:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAPROTONCHARGEINCREASE_HH #define G4DNAPROTONCHARGEINCREASE_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncreaseFinalStatesPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncreaseFinalStatesPolicy.icc index 592669b9e6..44acda22cc 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncreaseFinalStatesPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncreaseFinalStatesPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonChargeIncreaseFinalStatesPolicy.icc,v 2005/09/15 14:38:34 Ziad FRANCIS -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAProtonChargeIncreaseFinalStatesPolicy_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncreaseTotalCrossSectionPolicy.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncreaseTotalCrossSectionPolicy.hh index 3a9c672e37..c0fbe6725a 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncreaseTotalCrossSectionPolicy.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncreaseTotalCrossSectionPolicy.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonChargeIncreaseTotalCrossSectionPolicy.hh,v 1.4 2006/06/29 19:35:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAPROTONCHARGEINCREASETOTALCROSSSECTIONPOLICY_HH #define G4DNAPROTONCHARGEINCREASETOTALCROSSSECTIONPOLICY_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncreaseTotalCrossSectionPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncreaseTotalCrossSectionPolicy.icc index 181245c649..9a0cf80ea8 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncreaseTotalCrossSectionPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonChargeIncreaseTotalCrossSectionPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonChargeIncreaseTotalCrossSectionPolicy.icc,v 1.4 2006/06/29 19:35:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNAPROTONCHARGEINCREASETOTALCROSSSECTIONPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonExcitation.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonExcitation.hh index ce15367bfa..602885c24b 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonExcitation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonExcitation.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonExcitation.hh,v 1.2 2006/06/29 19:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAPROTONEXCITATION_HH #define G4DNAPROTONEXCITATION_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonRuddIonization.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonRuddIonization.hh index 99939e5151..f28cffdbc0 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAProtonRuddIonization.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAProtonRuddIonization.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonRuddIonization.hh,v 1.4 2006/06/29 19:35:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNAPROTONRUDDIONIZATION_HH #define G4DNAPROTONRUDDIONIZATION_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNARuddIonizationFinalStatesPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNARuddIonizationFinalStatesPolicy.icc index 614f125da4..4078db2b12 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNARuddIonizationFinalStatesPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNARuddIonizationFinalStatesPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNARuddIonizationFinalStatesPolicy.icc,v 2005/09/19 19:08:54 Ziad FRANCIS -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNARuddIonizationFinalStatesPolicy_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNARutherfordTotalCrossSectionPolicy.hh b/source/processes/electromagnetic/lowenergy/include/G4DNARutherfordTotalCrossSectionPolicy.hh index 3cdce20127..ef85c1d974 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNARutherfordTotalCrossSectionPolicy.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNARutherfordTotalCrossSectionPolicy.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNARutherfordTotalCrossSectionPolicy.hh,v 1.3 2006/06/29 19:35:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNARUTHERFORDTOTALCROSSSECTIONPOLICY_HH #define G4DNARUTHERFORDTOTALCROSSSECTIONPOLICY_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNARutherfordTotalCrossSectionPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNARutherfordTotalCrossSectionPolicy.icc index 30cf324fd0..e49439f132 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNARutherfordTotalCrossSectionPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNARutherfordTotalCrossSectionPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNARutherfordTotalCrossSectionPolicy.icc,v 1.2 2006/06/29 19:35:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNARUTHERFORDTOTALCROSSSECTIONPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAStopAndKillBelowEnergyLimitPolicy.hh b/source/processes/electromagnetic/lowenergy/include/G4DNAStopAndKillBelowEnergyLimitPolicy.hh index 9e644f5829..33bad6ec50 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAStopAndKillBelowEnergyLimitPolicy.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAStopAndKillBelowEnergyLimitPolicy.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNAStopAndKillBelowEnergyLimitPolicy.hh,v 1.2 2006/06/29 19:35:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNASTOPANDKILLBELOWENERGYLIMITPOLICY_HH #define G4DNASTOPANDKILLBELOWENERGYLIMITPOLICY_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNAStopAndKillBelowEnergyLimitPolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNAStopAndKillBelowEnergyLimitPolicy.icc index 0d11dab14d..91ca0a6ee9 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNAStopAndKillBelowEnergyLimitPolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNAStopAndKillBelowEnergyLimitPolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNAStopAndKillBelowEnergyLimitPolicy.icc,v 1.2 2006/06/29 19:35:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNASTOPANDKILLBELOWENERGYLIMITPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNATotalCrossSectionFromFilePolicy.hh b/source/processes/electromagnetic/lowenergy/include/G4DNATotalCrossSectionFromFilePolicy.hh index c0abfc21d2..c940d00766 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNATotalCrossSectionFromFilePolicy.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4DNATotalCrossSectionFromFilePolicy.hh @@ -25,7 +25,7 @@ // // // $Id: G4DNATotalCrossSectionFromFilePolicy.hh,v 1.5 2006/06/29 19:35:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4DNATOTALCROSSSECTIONFROMFILEPOLICY_HH #define G4DNATOTALCROSSSECTIONFROMFILEPOLICY_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4DNATotalCrossSectionFromFilePolicy.icc b/source/processes/electromagnetic/lowenergy/include/G4DNATotalCrossSectionFromFilePolicy.icc index f8e0358ae7..ba6ea958a7 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4DNATotalCrossSectionFromFilePolicy.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4DNATotalCrossSectionFromFilePolicy.icc @@ -25,7 +25,7 @@ // // // $Id: G4DNATotalCrossSectionFromFilePolicy.icc,v 1.4 2006/06/29 19:35:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4DNATOTALCROSSSECTIONFROMFILEPOLICY_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4EMDataSet.hh b/source/processes/electromagnetic/lowenergy/include/G4EMDataSet.hh index 4fc8ab719c..1dce41e2aa 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4EMDataSet.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4EMDataSet.hh @@ -25,7 +25,7 @@ // // // $Id: G4EMDataSet.hh,v 1.7 2006/06/29 19:35:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4FluoTransition.hh b/source/processes/electromagnetic/lowenergy/include/G4FluoTransition.hh index 562eef6859..5f0f455ae3 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4FluoTransition.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4FluoTransition.hh @@ -25,7 +25,7 @@ // // // $Id: G4FluoTransition.hh,v 1.2 ???? -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4LinInterpolation.hh b/source/processes/electromagnetic/lowenergy/include/G4LinInterpolation.hh index f736648237..5381e15ab7 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LinInterpolation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LinInterpolation.hh @@ -25,7 +25,7 @@ // // // $Id: G4LinInterpolation.hh,v 1.3 2006/06/29 19:35:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4LogLogInterpolation.hh b/source/processes/electromagnetic/lowenergy/include/G4LogLogInterpolation.hh index 5b6052461b..bacc9772d2 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LogLogInterpolation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LogLogInterpolation.hh @@ -25,7 +25,7 @@ // // // $Id: G4LogLogInterpolation.hh,v 1.4 2006/06/29 19:35:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyBraggModel.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyBraggModel.hh deleted file mode 100644 index 079fecdf13..0000000000 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyBraggModel.hh +++ /dev/null @@ -1,165 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: G4LowEnergyBraggModel.hh,v 1.6 2006/06/29 19:35:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ------------------------------------------------------------------- -// -// GEANT4 Class header file -// -// -// File name: G4LowEnergyBraggModel -// -// Author: Vladimir Ivanchenko -// -// Creation date: 17.04.2004 -// -// Modifications: -// -// -// Class Description: -// -// Implementation of energy loss and delta-electron production -// by heavy slow charged particles using eveluated data - -// ------------------------------------------------------------------- -// - -#ifndef G4LowEnergyBraggModel_h -#define G4LowEnergyBraggModel_h 1 - -#include "G4VEmModel.hh" - -class G4hParametrisedLossModel; - -class G4LowEnergyBraggModel : public G4VEmModel -{ - -public: - - G4LowEnergyBraggModel(const G4ParticleDefinition* p = 0, const G4String& nam = "LEBragg"); - - ~G4LowEnergyBraggModel(); - - void Initialise(const G4ParticleDefinition*, const G4DataVector&); - - G4double HighEnergyLimit(const G4ParticleDefinition*); - - G4double LowEnergyLimit(const G4ParticleDefinition*); - - void SetHighEnergyLimit(G4double e) {highKinEnergy = e;}; - - void SetLowEnergyLimit(G4double e) {lowKinEnergy = e;}; - - G4double MinEnergyCut(const G4ParticleDefinition*, - const G4MaterialCutsCouple*); - - G4bool IsInCharge(const G4ParticleDefinition*); - - G4double ComputeDEDX(const G4MaterialCutsCouple*, - const G4ParticleDefinition*, - G4double kineticEnergy, - G4double cutEnergy); - - G4double CrossSection(const G4MaterialCutsCouple*, - const G4ParticleDefinition*, - G4double kineticEnergy, - G4double cutEnergy, - G4double maxEnergy); - - G4DynamicParticle* SampleSecondary( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); - - std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); - - G4double MaxSecondaryEnergy(const G4DynamicParticle*); - - void SetParameterization(G4hParametrisedLossModel* p); - -protected: - - G4double MaxSecondaryEnergy(const G4ParticleDefinition*, - G4double kinEnergy); - -private: - - void SetParticle(const G4ParticleDefinition* p); - - // hide assignment operator - G4LowEnergyBraggModel & operator=(const G4LowEnergyBraggModel &right); - G4LowEnergyBraggModel(const G4LowEnergyBraggModel&); - - const G4ParticleDefinition* particle; - G4hParametrisedLossModel* parameterization; - G4double mass; - G4double spin; - G4double chargeSquare; - G4double massRate; - G4double ratio; - G4double highKinEnergy; - G4double lowKinEnergy; - G4double lowestKinEnergy; - - G4bool isIon; -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4LowEnergyBraggModel::MaxSecondaryEnergy( - const G4ParticleDefinition* pd, - G4double kinEnergy) -{ - if(isIon) SetParticle(pd); - G4double tau = kinEnergy/mass; - G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) / - (1. + 2.0*(tau + 1.)*ratio + ratio*ratio); - return tmax; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4LowEnergyBraggModel::MaxSecondaryEnergy(const G4DynamicParticle* dp) -{ - if(isIon) { - mass = dp->GetMass(); - ratio = electron_mass_c2/mass; - } - G4double tau = dp->GetKineticEnergy()/mass; - G4double tmax = 2.0*electron_mass_c2*tau*(tau + 2.) / - (1. + 2.0*(tau + 1.)*ratio + ratio*ratio); - return tmax; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#endif diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyBremsstrahlung.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyBremsstrahlung.hh index 4b3da8b840..1311ce337a 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyBremsstrahlung.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyBremsstrahlung.hh @@ -26,7 +26,7 @@ // // ------------------------------------------------------------------- // $Id: G4LowEnergyBremsstrahlung.hh,v 1.37 2006/06/29 19:35:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: A. Forti // diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyCompton.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyCompton.hh index 1df63fea58..203d3f99cc 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyCompton.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyCompton.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4LowEnergyCompton.hh,v 1.21 2006/06/29 19:35:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: A. Forti // Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyGammaConversion.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyGammaConversion.hh index e3a9446fbc..9e58b1b7e9 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyGammaConversion.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyGammaConversion.hh @@ -25,7 +25,7 @@ // // // $Id: G4LowEnergyGammaConversion.hh,v 1.15 2006/06/29 19:35:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: A. Forti // Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyIonisation.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyIonisation.hh index df1f18ddc9..3c8776ae18 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyIonisation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyIonisation.hh @@ -25,7 +25,7 @@ // // ------------------------------------------------------------------- // $Id: G4LowEnergyIonisation.hh,v 1.41 2006/06/29 19:36:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: A. Forti // diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPhotoElectric.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPhotoElectric.hh index 3d10a6cd6a..664c264d28 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPhotoElectric.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPhotoElectric.hh @@ -25,7 +25,7 @@ // // // $Id: G4LowEnergyPhotoElectric.hh,v 1.28 2006/06/29 19:36:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: A. Forti // Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedCompton.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedCompton.hh index 05783d4b51..f94a0e5cf4 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedCompton.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedCompton.hh @@ -25,7 +25,7 @@ // // // $Id: G4LowEnergyPolarizedCompton.hh,v 1.9 2006/06/29 19:36:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedRayleigh.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedRayleigh.hh index 86f10c5bb8..ef9c6e3a1c 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedRayleigh.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyPolarizedRayleigh.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4LowEnergyPolarizedRayleigh.hh,v 1.5 2006/06/29 19:36:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyRayleigh.hh b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyRayleigh.hh index 0464e8e927..26b279fed7 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4LowEnergyRayleigh.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4LowEnergyRayleigh.hh @@ -25,7 +25,7 @@ // // // $Id: G4LowEnergyRayleigh.hh,v 1.16 2006/06/29 19:36:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlung.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlung.hh index 1690b292fc..9d380eb0b0 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlung.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlung.hh @@ -26,7 +26,7 @@ // // ------------------------------------------------------------------- // $Id: G4PenelopeBremsstrahlung.hh,v 1.8 2006/06/29 19:36:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: L.Pandola // diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungAngular.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungAngular.hh index 96f6cc73a6..0c33983640 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungAngular.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungAngular.hh @@ -26,7 +26,7 @@ // // ------------------------------------------------------------------- // $Id: G4PenelopeBremsstrahlungAngular.hh,v 1.3 2006/06/29 19:36:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: L.Pandola // diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungContinuous.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungContinuous.hh index 8bf4f71506..1ec616b877 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungContinuous.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeBremsstrahlungContinuous.hh @@ -26,7 +26,7 @@ // // ------------------------------------------------------------------- // $Id: G4PenelopeBremsstrahlungContinuous.hh,v 1.3 2006/06/29 19:36:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: L.Pandola // diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeCompton.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeCompton.hh index 12ffaa4aea..da89800809 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4PenelopeCompton.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeCompton.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PenelopeCompton.hh,v 1.10 2006/06/29 19:36:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Luciano Pandola // diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeGammaConversion.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeGammaConversion.hh index d8a159432b..3d6cb3b372 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4PenelopeGammaConversion.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeGammaConversion.hh @@ -25,7 +25,7 @@ // // // $Id: G4PenelopeGammaConversion.hh,v 1.2 2006/06/29 19:36:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: L. Pandola // diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeIonisation.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeIonisation.hh index e6b616a8e6..931a9a892f 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4PenelopeIonisation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeIonisation.hh @@ -25,7 +25,7 @@ // // ------------------------------------------------------------------- // $Id: G4PenelopeIonisation.hh,v 1.5 2006/06/29 19:36:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: L. Pandola // diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopePhotoElectric.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopePhotoElectric.hh index 5e065a4a1a..0f4f6fd6fc 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4PenelopePhotoElectric.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopePhotoElectric.hh @@ -25,7 +25,7 @@ // // // $Id: G4PenelopePhotoElectric.hh,v 1.4 2006/06/29 19:36:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: L.Pandola // diff --git a/source/processes/electromagnetic/lowenergy/include/G4PenelopeRayleigh.hh b/source/processes/electromagnetic/lowenergy/include/G4PenelopeRayleigh.hh index 7378c90c0b..509d8b15de 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4PenelopeRayleigh.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4PenelopeRayleigh.hh @@ -25,7 +25,7 @@ // // // $Id: G4PenelopeRayleigh.hh,v 1.5 2006/06/29 19:36:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Luciano Pandola // diff --git a/source/processes/electromagnetic/lowenergy/include/G4RangeNoTest.hh b/source/processes/electromagnetic/lowenergy/include/G4RangeNoTest.hh index e89c6cfac1..3d7bfaecbe 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4RangeNoTest.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4RangeNoTest.hh @@ -25,7 +25,7 @@ // // // $Id: G4RangeNoTest.hh,v 1.4 2006/06/29 19:36:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4RangeTest.hh b/source/processes/electromagnetic/lowenergy/include/G4RangeTest.hh index 116a3964e7..d5cf3a221d 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4RangeTest.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4RangeTest.hh @@ -25,7 +25,7 @@ // // // $Id: G4RangeTest.hh,v 1.4 2006/06/29 19:36:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4SemiLogInterpolation.hh b/source/processes/electromagnetic/lowenergy/include/G4SemiLogInterpolation.hh index cd62392a35..862d93f0dc 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4SemiLogInterpolation.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4SemiLogInterpolation.hh @@ -25,7 +25,7 @@ // // // $Id: G4SemiLogInterpolation.hh,v 1.4 2006/06/29 19:36:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4ShellData.hh b/source/processes/electromagnetic/lowenergy/include/G4ShellData.hh index 57a9df3f54..03fbde3c56 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4ShellData.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4ShellData.hh @@ -25,7 +25,7 @@ // // // $Id: G4ShellData.hh,v 1.4 2006/06/29 19:36:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4ShellEMDataSet.hh b/source/processes/electromagnetic/lowenergy/include/G4ShellEMDataSet.hh index 137b19b008..ea0a737a4b 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4ShellEMDataSet.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4ShellEMDataSet.hh @@ -25,7 +25,7 @@ // // // $Id: G4ShellEMDataSet.hh,v 1.8 2006/06/29 19:36:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4VCrossSectionHandler.hh b/source/processes/electromagnetic/lowenergy/include/G4VCrossSectionHandler.hh index ddb96c42ff..ce5e39d14f 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VCrossSectionHandler.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VCrossSectionHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4VCrossSectionHandler.hh,v 1.14 2006/06/29 19:37:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4VDNAProcessInWater.hh b/source/processes/electromagnetic/lowenergy/include/G4VDNAProcessInWater.hh index b43df608ec..6da6413c35 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VDNAProcessInWater.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VDNAProcessInWater.hh @@ -25,7 +25,7 @@ // // // $Id: G4VDNAProcessInWater.hh,v 1.6 2006/06/29 19:37:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VDNAPROCESSINWATER_HH diff --git a/source/processes/electromagnetic/lowenergy/include/G4VDNAProcessInWater.icc b/source/processes/electromagnetic/lowenergy/include/G4VDNAProcessInWater.icc index 2814a1eaee..aa5c00f736 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VDNAProcessInWater.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4VDNAProcessInWater.icc @@ -25,7 +25,7 @@ // // // $Id: G4VDNAProcessInWater.icc,v 1.4 2006/06/29 19:37:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifdef G4VDNAPROCESSINWATER_HH template diff --git a/source/processes/electromagnetic/lowenergy/include/G4VDataSetAlgorithm.hh b/source/processes/electromagnetic/lowenergy/include/G4VDataSetAlgorithm.hh index 11b18e10e9..590da5bc91 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VDataSetAlgorithm.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VDataSetAlgorithm.hh @@ -25,7 +25,7 @@ // // // $Id: G4VDataSetAlgorithm.hh,v 1.7 2006/06/29 19:37:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4VEMDataSet.hh b/source/processes/electromagnetic/lowenergy/include/G4VEMDataSet.hh index 8e18700969..d634919820 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VEMDataSet.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VEMDataSet.hh @@ -25,7 +25,7 @@ // // // $Id: G4VEMDataSet.hh,v 1.8 2006/06/29 19:37:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4VLowEnergyDiscretePhotonProcess.hh b/source/processes/electromagnetic/lowenergy/include/G4VLowEnergyDiscretePhotonProcess.hh index dd27664e38..a2bc961bdc 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VLowEnergyDiscretePhotonProcess.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VLowEnergyDiscretePhotonProcess.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VLowEnergyDiscretePhotonProcess.hh,v 1.4 2006/06/29 19:37:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/include/G4VLowEnergyTestableDiscreteProcess.hh b/source/processes/electromagnetic/lowenergy/include/G4VLowEnergyTestableDiscreteProcess.hh index fa193ac602..9f575fb397 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VLowEnergyTestableDiscreteProcess.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VLowEnergyTestableDiscreteProcess.hh @@ -25,7 +25,7 @@ // // // $Id: G4VLowEnergyTestableDiscreteProcess.hh,v 1.3 2006/06/29 19:37:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VLowEnergyTestableDiscreteProcess_hh diff --git a/source/processes/electromagnetic/lowenergy/include/G4VRangeTest.hh b/source/processes/electromagnetic/lowenergy/include/G4VRangeTest.hh index 57db442654..d627e7c4d8 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VRangeTest.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VRangeTest.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRangeTest.hh,v 1.3 2006/06/29 19:37:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/include/G4VeLowEnergyLoss.hh b/source/processes/electromagnetic/lowenergy/include/G4VeLowEnergyLoss.hh index f5874c5183..2565912da5 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4VeLowEnergyLoss.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4VeLowEnergyLoss.hh @@ -25,7 +25,7 @@ // // // $Id: G4VeLowEnergyLoss.hh,v 1.9 2006/06/29 19:37:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // 3.4.2000 Veronique Lefebure: // Move utils/include/G4VEnergyLoss.hh to diff --git a/source/processes/electromagnetic/lowenergy/include/G4eBremsstrahlungSpectrum.hh b/source/processes/electromagnetic/lowenergy/include/G4eBremsstrahlungSpectrum.hh index a4e1966ad0..346183b48f 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4eBremsstrahlungSpectrum.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4eBremsstrahlungSpectrum.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4eBremsstrahlungSpectrum.hh,v 1.8 2006/06/29 19:37:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/include/G4eIonisationCrossSectionHandler.hh b/source/processes/electromagnetic/lowenergy/include/G4eIonisationCrossSectionHandler.hh index c4a4d626e5..8088a568c4 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4eIonisationCrossSectionHandler.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4eIonisationCrossSectionHandler.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4eIonisationCrossSectionHandler.hh,v 1.6 2006/06/29 19:37:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/include/G4eIonisationParameters.hh b/source/processes/electromagnetic/lowenergy/include/G4eIonisationParameters.hh index bba906eceb..ec7eb06376 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4eIonisationParameters.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4eIonisationParameters.hh @@ -25,7 +25,7 @@ // // // $Id: G4eIonisationParameters.hh,v 1.8 2006/06/29 19:37:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // V. Ivanchenko diff --git a/source/processes/electromagnetic/lowenergy/include/G4eIonisationSpectrum.hh b/source/processes/electromagnetic/lowenergy/include/G4eIonisationSpectrum.hh index b85d9beb74..beedd0d9a6 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4eIonisationSpectrum.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4eIonisationSpectrum.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4eIonisationSpectrum.hh,v 1.7 2006/06/29 19:37:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.hh b/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.hh index 7a2660166d..0ca9491fec 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.hh @@ -25,7 +25,7 @@ // // // $Id: G4eLowEnergyLoss.hh,v 1.14 2006/06/29 19:37:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- diff --git a/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.icc b/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.icc index 41e919c167..d3b6e3e89c 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4eLowEnergyLoss.icc @@ -25,7 +25,7 @@ // // // $Id: G4eLowEnergyLoss.icc,v 1.8 2006/06/29 19:37:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // --------------------------------------------------------------- // GEANT 4 class inlined methods file diff --git a/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.hh b/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.hh index 8ef4f9ae68..b7d53cd34e 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.hh @@ -25,7 +25,7 @@ // // // $Id: G4hLowEnergyLoss.hh,v 1.17 2006/06/29 19:37:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: // ------------------------------------------------------------ diff --git a/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.icc b/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.icc index 692b6a71fc..b09c5c00af 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.icc +++ b/source/processes/electromagnetic/lowenergy/include/G4hLowEnergyLoss.icc @@ -25,7 +25,7 @@ // // // $Id: G4hLowEnergyLoss.icc,v 1.3 2006/06/29 19:38:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: // --------------------------------------------------------------- diff --git a/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionDoubleExp.hh b/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionDoubleExp.hh index e2567e628b..66d0ad60af 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionDoubleExp.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionDoubleExp.hh @@ -44,7 +44,7 @@ // // ------------------------------------------------------------------- // $Id: G4hShellCrossSectionDoubleExp.hh,v 1.3 2006/06/29 19:38:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4HSHELLCROSSSECTIONDOUBLEEXP_HH #define G4HSHELLCROSSSECTIONDOUBLEEXP_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionDoubleExpData.hh b/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionDoubleExpData.hh index 8721f5f0b2..6e7b7622a0 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionDoubleExpData.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionDoubleExpData.hh @@ -39,7 +39,7 @@ // Further documentation available from http://www.ge.infn.it/geant4/lowE // ------------------------------------------------------------------- // $Id: G4hShellCrossSectionDoubleExpData.hh,v 1.3 2006/06/29 19:38:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4hShellCrossSectionDoubleExpData_HH #define G4hShellCrossSectionDoubleExpData_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionExp.hh b/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionExp.hh index 4ad9667603..a54b1a5943 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionExp.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionExp.hh @@ -44,7 +44,7 @@ // ------------------------------------------------------------------- // $Id: G4hShellCrossSectionExp.hh,v 1.3 2006/06/29 19:38:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4HSHELLCROSSSECTIONEXP_HH #define G4HSHELLCROSSSECTIONEXP_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionExpData.hh b/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionExpData.hh index 036a85c3ee..f6db0b7936 100644 --- a/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionExpData.hh +++ b/source/processes/electromagnetic/lowenergy/include/G4hShellCrossSectionExpData.hh @@ -37,7 +37,7 @@ // Further documentation available from http://www.ge.infn.it/geant4/lowE // ------------------------------------------------------------------- // $Id: G4hShellCrossSectionExpData.hh,v 1.3 2006/06/29 19:38:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4hShellCrossSectionExpData_HH #define G4hShellCrossSectionExpData_HH 1 diff --git a/source/processes/electromagnetic/lowenergy/src/G4AtomicDeexcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4AtomicDeexcitation.cc index ccafe5cfdb..ddbfd4a708 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4AtomicDeexcitation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4AtomicDeexcitation.cc @@ -25,7 +25,7 @@ // // // $Id: G4AtomicDeexcitation.cc,v 1.11 -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) diff --git a/source/processes/electromagnetic/lowenergy/src/G4AtomicShell.cc b/source/processes/electromagnetic/lowenergy/src/G4AtomicShell.cc index 61a0dc2e49..fd30a9f3aa 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4AtomicShell.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4AtomicShell.cc @@ -25,7 +25,7 @@ // // // $Id: G4AtomicShell.cc,v 1.2 ???? -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) diff --git a/source/processes/electromagnetic/lowenergy/src/G4AtomicTransitionManager.cc b/source/processes/electromagnetic/lowenergy/src/G4AtomicTransitionManager.cc index b7b5062f05..b38a365e15 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4AtomicTransitionManager.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4AtomicTransitionManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4AtomicTransitionManager.cc,v 1.2 ???? -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Authors: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // Alfonso Mantero (Alfonso.Mantero@ge.infn.it) diff --git a/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungCrossSectionHandler.cc b/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungCrossSectionHandler.cc index a6b5709e6c..fda2a9d6ec 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungCrossSectionHandler.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungCrossSectionHandler.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BremsstrahlungCrossSectionHandler.cc,v 1.9 2006/06/29 19:38:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungParameters.cc b/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungParameters.cc index defe7073e5..9ff40b190b 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungParameters.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4BremsstrahlungParameters.cc @@ -25,7 +25,7 @@ // // // $Id: G4BremsstrahlungParameters.cc,v 1.19 2006/06/29 19:38:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // V.Ivanchenko (Vladimir.Ivantchenko@cern.ch) diff --git a/source/processes/electromagnetic/lowenergy/src/G4CompositeEMDataSet.cc b/source/processes/electromagnetic/lowenergy/src/G4CompositeEMDataSet.cc index 5d5982a6c6..aef427d9c2 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4CompositeEMDataSet.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4CompositeEMDataSet.cc @@ -25,7 +25,7 @@ // // // $Id: G4CompositeEMDataSet.cc,v 1.9 2006/06/29 19:38:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4CrossSectionHandler.cc b/source/processes/electromagnetic/lowenergy/src/G4CrossSectionHandler.cc index 34be43c22e..32d16a870d 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4CrossSectionHandler.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4CrossSectionHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4CrossSectionHandler.cc,v 1.18 2006/06/29 19:38:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusChargeDecrease.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusChargeDecrease.cc index 43044ac7e7..e3ecc85477 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusChargeDecrease.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusChargeDecrease.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusChargeDecrease.cc,v 1.2 2006/06/29 19:38:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAAlphaPlusChargeDecrease.hh" #include "G4DNAGenericIonsManager.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusChargeIncrease.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusChargeIncrease.cc index cc6612f84b..6caa99399d 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusChargeIncrease.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusChargeIncrease.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusChargeIncrease.cc,v 1.2 2006/06/29 19:38:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAAlphaPlusChargeIncrease.hh" #include "G4DNAGenericIonsManager.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusExcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusExcitation.cc index 3026dd93e7..0198c7cc13 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusExcitation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusExcitation.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusExcitation.cc,v 1.3 2006/06/29 19:38:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAAlphaPlusExcitation.hh" #include "G4DNAGenericIonsManager.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusPlusChargeDecrease.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusPlusChargeDecrease.cc index 2b8c104436..3a9b4a056e 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusPlusChargeDecrease.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusPlusChargeDecrease.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusPlusChargeDecrease.cc,v 1.2 2006/06/29 19:38:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAAlphaPlusPlusChargeDecrease.hh" #include "G4DNAGenericIonsManager.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusPlusExcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusPlusExcitation.cc index 5feabd420e..813bbde93a 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusPlusExcitation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAAlphaPlusPlusExcitation.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAAlphaPlusPlusExcitation.cc,v 1.3 2006/06/29 19:38:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAAlphaPlusPlusExcitation.hh" #include "G4DNAGenericIonsManager.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNABrennerAngularDistributionPolicy.cc b/source/processes/electromagnetic/lowenergy/src/G4DNABrennerAngularDistributionPolicy.cc index f21f943eeb..2d98544f17 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNABrennerAngularDistributionPolicy.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNABrennerAngularDistributionPolicy.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNABrennerAngularDistributionPolicy.cc,v 1.3 2006/06/29 19:39:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4DNAElectronElasticBrenner.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNACrossSectionDataSet.cc b/source/processes/electromagnetic/lowenergy/src/G4DNACrossSectionDataSet.cc index ccb0f1cbd4..628ae1fb42 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNACrossSectionDataSet.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNACrossSectionDataSet.cc @@ -24,8 +24,9 @@ // ******************************************************************** // // -// $Id: G4DNACrossSectionDataSet.cc,v 1.1.2.1 2006/06/29 19:39:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ + +// $Id: G4DNACrossSectionDataSet.cc,v 1.4 2007/06/21 15:04:22 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Riccardo Capra // @@ -38,6 +39,7 @@ #include "G4VDataSetAlgorithm.hh" #include "G4EMDataSet.hh" #include +#include #include diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAElectronBornExcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAElectronBornExcitation.cc index d1d88b9c78..ef14b2b2fa 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAElectronBornExcitation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAElectronBornExcitation.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAElectronBornExcitation.cc,v 1.3 2006/06/29 19:39:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAElectronBornExcitation.hh" #include "G4Electron.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAElectronElasticBrenner.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAElectronElasticBrenner.cc index 8ba55cf6bf..7870f54f0e 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAElectronElasticBrenner.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAElectronElasticBrenner.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAElectronElasticBrenner.cc,v 1.4 2006/06/29 19:39:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAElectronElasticBrenner.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAElectronElasticEmfietzoglou.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAElectronElasticEmfietzoglou.cc index 6f4c58660b..be1da47e73 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAElectronElasticEmfietzoglou.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAElectronElasticEmfietzoglou.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAElectronElasticEmfietzoglou.cc,v 1.3 2006/06/29 19:39:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAElectronElasticEmfietzoglou.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAElectronExcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAElectronExcitation.cc index 52ac7ede7c..ed55b57aee 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAElectronExcitation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAElectronExcitation.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAElectronExcitation.cc,v 1.2 2006/06/29 19:39:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAElectronExcitation.hh" #include "G4Electron.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAEmfietzoglouAngularDistributionPolicy.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAEmfietzoglouAngularDistributionPolicy.cc index 36a3c951f1..e11fb9067b 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAEmfietzoglouAngularDistributionPolicy.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAEmfietzoglouAngularDistributionPolicy.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAEmfietzoglouAngularDistributionPolicy.cc,v 1.3 2006/06/29 19:39:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAEmfietzoglouAngularDistributionPolicy.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAGenericIonsManager.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAGenericIonsManager.cc index 26ccecab3a..6f61a5b619 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAGenericIonsManager.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAGenericIonsManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAGenericIonsManager.cc,v 1.4 2006/06/29 19:39:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAGenericIonsManager.hh" #include "G4Alpha.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAHeliumChargeIncrease.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAHeliumChargeIncrease.cc index e72b930426..b8907b52e1 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAHeliumChargeIncrease.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAHeliumChargeIncrease.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAHeliumChargeIncrease.cc,v 1.2 2006/06/29 19:39:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAHeliumChargeIncrease.hh" #include "G4DNAGenericIonsManager.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAHeliumExcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAHeliumExcitation.cc index 02efde1d19..6b82fb21a8 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAHeliumExcitation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAHeliumExcitation.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAHeliumExcitation.cc,v 1.3 2006/06/29 19:39:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAHeliumExcitation.hh" #include "G4DNAGenericIonsManager.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAHydrogenChargeIncrease.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAHydrogenChargeIncrease.cc index 040e68b1d8..55c5094f24 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAHydrogenChargeIncrease.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAHydrogenChargeIncrease.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAHydrogenChargeIncrease.cc,v 1.2 2006/06/29 19:39:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAHydrogenChargeIncrease.hh" #include "G4DNAGenericIonsManager.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAHydrogenRuddIonization.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAHydrogenRuddIonization.cc index c2b9014cfa..6b14e048a6 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAHydrogenRuddIonization.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAHydrogenRuddIonization.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAHydrogenRuddIonization.cc,v 1.3 2006/06/29 19:39:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAHydrogenRuddIonization.hh" #include "G4DNAGenericIonsManager.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAProtonBornExcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAProtonBornExcitation.cc index 256919384b..37248d716e 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAProtonBornExcitation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAProtonBornExcitation.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonBornExcitation.cc,v 1.3 2006/06/29 19:39:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAProtonBornExcitation.hh" #include "G4Proton.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAProtonChargeDecrease.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAProtonChargeDecrease.cc index 455cc3e8da..ad9c4b24c6 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAProtonChargeDecrease.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAProtonChargeDecrease.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonChargeDecrease.cc,v 1.3 2006/06/29 19:39:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAProtonChargeDecrease.hh" #include "G4Proton.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAProtonChargeIncrease.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAProtonChargeIncrease.cc index fd24ac300b..d612ce3d2f 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAProtonChargeIncrease.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAProtonChargeIncrease.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonChargeIncrease.cc,v 1.4 2006/06/29 19:39:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAProtonChargeIncrease.hh" #include "G4DNAGenericIonsManager.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAProtonExcitation.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAProtonExcitation.cc index bcddae519e..3d8107d0d2 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAProtonExcitation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAProtonExcitation.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonExcitation.cc,v 1.2 2006/06/29 19:39:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAProtonExcitation.hh" #include "G4Proton.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4DNAProtonRuddIonization.cc b/source/processes/electromagnetic/lowenergy/src/G4DNAProtonRuddIonization.cc index f63318c27a..df8cba0f0b 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4DNAProtonRuddIonization.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4DNAProtonRuddIonization.cc @@ -25,7 +25,7 @@ // // // $Id: G4DNAProtonRuddIonization.cc,v 1.4 2006/06/29 19:39:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4DNAProtonRuddIonization.hh" #include "G4Proton.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4EMDataSet.cc b/source/processes/electromagnetic/lowenergy/src/G4EMDataSet.cc index 2300b4adcb..881dac6e66 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4EMDataSet.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4EMDataSet.cc @@ -25,7 +25,7 @@ // // // $Id: G4EMDataSet.cc,v 1.12 2006/06/29 19:39:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4FluoTransition.cc b/source/processes/electromagnetic/lowenergy/src/G4FluoTransition.cc index e25da43e59..90916223c5 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4FluoTransition.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4FluoTransition.cc @@ -25,7 +25,7 @@ // // // $Id: G4FluoTransition.cc,v 1.2 ???? -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Elena Guardincerri (Elena.Guardincerri@ge.infn.it) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4LinInterpolation.cc b/source/processes/electromagnetic/lowenergy/src/G4LinInterpolation.cc index 6400f455d6..9423fb426b 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LinInterpolation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LinInterpolation.cc @@ -25,7 +25,7 @@ // // // $Id: G4LinInterpolation.cc,v 1.3 2006/06/29 19:40:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4LogLogInterpolation.cc b/source/processes/electromagnetic/lowenergy/src/G4LogLogInterpolation.cc index 907228df51..abfb5db184 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LogLogInterpolation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LogLogInterpolation.cc @@ -25,7 +25,7 @@ // // // $Id: G4LogLogInterpolation.cc,v 1.7 2006/06/29 19:40:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyBraggModel.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyBraggModel.cc deleted file mode 100644 index f7c51363b1..0000000000 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyBraggModel.cc +++ /dev/null @@ -1,294 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: G4LowEnergyBraggModel.cc,v 1.6 2006/06/29 19:40:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ------------------------------------------------------------------- -// -// GEANT4 Class file -// -// -// File name: G4LowEnergyBraggModel -// -// Author: Vladimir Ivanchenko -// -// Creation date: 17.04.2004 -// -// Modifications: -// -// -// Class Description: -// -// Implementation of energy loss and delta-electron production by -// slow charged heavy particles - -// ------------------------------------------------------------------- -// - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "G4LowEnergyBraggModel.hh" -#include "Randomize.hh" -#include "G4Electron.hh" -#include "G4hParametrisedLossModel.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4LowEnergyBraggModel::G4LowEnergyBraggModel(const G4ParticleDefinition* p, const G4String& nam) - : G4VEmModel(nam), - particle(0), - parameterization(0), - isIon(false) -{ - if(p) SetParticle(p); - highKinEnergy = 10.0*MeV; - lowKinEnergy = 0.0*MeV; - lowestKinEnergy = 1.0*keV; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4LowEnergyBraggModel::~G4LowEnergyBraggModel() -{ - delete parameterization; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4LowEnergyBraggModel::SetParticle(const G4ParticleDefinition* p) -{ - if(particle != p) { - particle = p; - mass = particle->GetPDGMass(); - spin = particle->GetPDGSpin(); - G4double q = particle->GetPDGCharge()/eplus; - chargeSquare = q*q; - massRate = mass/proton_mass_c2; -// highKinEnergy *= massRate; - ratio = electron_mass_c2/mass; - if(particle->GetParticleName() == "GenericIon") isIon = true; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4LowEnergyBraggModel::HighEnergyLimit(const G4ParticleDefinition* p) -{ - if(!particle) SetParticle(p); - return highKinEnergy; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4LowEnergyBraggModel::LowEnergyLimit(const G4ParticleDefinition* p) -{ - if(!particle) SetParticle(p); - return lowKinEnergy; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4LowEnergyBraggModel::SetParameterization(G4hParametrisedLossModel* p) -{ - delete parameterization; - parameterization = p; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4LowEnergyBraggModel::MinEnergyCut(const G4ParticleDefinition*, - const G4MaterialCutsCouple* couple) -{ - return couple->GetMaterial()->GetIonisation()->GetMeanExcitationEnergy(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4bool G4LowEnergyBraggModel::IsInCharge(const G4ParticleDefinition* p) -{ - if(!particle) SetParticle(p); - return (p->GetPDGCharge() != 0.0 && p->GetPDGMass() > 10.*MeV); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4LowEnergyBraggModel::Initialise(const G4ParticleDefinition* p, - const G4DataVector&) -{ - if(!particle) SetParticle(p); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4LowEnergyBraggModel::ComputeDEDX(const G4MaterialCutsCouple* couple, - const G4ParticleDefinition* p, - G4double kineticEnergy, - G4double cutEnergy) -{ - const G4Material* material = couple->GetMaterial(); - G4double tmax = MaxSecondaryEnergy(p, kineticEnergy); - G4double tkin = kineticEnergy*massRate; - G4double dedx; - if(tkin >= lowestKinEnergy) - dedx = parameterization->TheValue(p, material, kineticEnergy); - else { - G4double e = lowestKinEnergy/massRate; - dedx = (parameterization->TheValue(p, material, e))*std::sqrt(kineticEnergy/e); - } - - if (cutEnergy < tmax) { - - G4double tau = kineticEnergy/mass; - G4double gam = tau + 1.0; - G4double bg2 = tau * (tau+2.0); - G4double beta2 = bg2/(gam*gam); - G4double x = cutEnergy/tmax; - - G4double delta = std::log(x) - (1.0 - x)*beta2; - if(spin == 0.5) { - G4double y = tmax/(kineticEnergy + mass); - delta += 0.25*y*y*(1.0 - x*x); - } - - delta *= twopi_mc2_rcl2*(material->GetElectronDensity())/beta2; - dedx -= delta; - } - - // now compute the total ionization loss - - if (dedx < 0.0) dedx = 0.0 ; - - dedx *= chargeSquare; - - return dedx; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4LowEnergyBraggModel::CrossSection(const G4MaterialCutsCouple* couple, - const G4ParticleDefinition* p, - G4double kineticEnergy, - G4double cutEnergy, - G4double maxKinEnergy) -{ - - G4double cross = 0.0; - G4double tmax = MaxSecondaryEnergy(p, kineticEnergy); - G4double maxEnergy = std::min(tmax,maxKinEnergy); - if(cutEnergy < tmax) { - - G4double energy = kineticEnergy + mass; - G4double energy2 = energy*energy; - G4double beta2 = kineticEnergy*(kineticEnergy + 2.0*mass)/energy2; - cross = 1.0/cutEnergy - 1.0/maxEnergy - beta2*std::log(maxEnergy/cutEnergy)/tmax; - -// +term for spin=1/2 particle - if( 0.5 == spin ) { - cross += 0.5 * (tmax - cutEnergy) / energy2; - } - cross *= twopi_mc2_rcl2*chargeSquare* - (couple->GetMaterial()->GetElectronDensity())/beta2; - } - // G4cout << "BR: e= " << kineticEnergy << " tmin= " << cutEnergy << " tmax= " << tmax - // << " cross= " << cross << G4endl; - return cross; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4DynamicParticle* G4LowEnergyBraggModel::SampleSecondary( - const G4MaterialCutsCouple*, - const G4DynamicParticle* dp, - G4double tmin, - G4double maxEnergy) -{ - G4double tmax = MaxSecondaryEnergy(dp); - G4double xmax = std::min(tmax, maxEnergy); - G4double xmin = std::min(xmax,tmin); - - G4double kineticEnergy = dp->GetKineticEnergy(); - G4double energy = kineticEnergy + mass; - G4double energy2 = energy*energy; - G4double beta2 = kineticEnergy*(kineticEnergy + 2.0*mass)/energy2; - G4double grej = 1.0; - G4double deltaKinEnergy, f; - - G4ThreeVector momentum = dp->GetMomentumDirection(); - - // sampling follows ... - do { - G4double q = G4UniformRand(); - deltaKinEnergy = xmin*xmax/(xmin*(1.0 - q) + xmax*q); - - f = 1.0 - beta2*deltaKinEnergy/tmax; - - if(f > grej) { - G4cout << "G4LowEnergyBraggModel::SampleSecondary Warning! " - << "Majorant " << grej << " < " - << f << " for e= " << deltaKinEnergy - << G4endl; - } - - } while( grej*G4UniformRand() >= f ); - - G4double deltaMomentum = - std::sqrt(deltaKinEnergy * (deltaKinEnergy + 2.0*electron_mass_c2)); - G4double totMomentum = std::sqrt(energy2 - mass*mass); - G4double cost = deltaKinEnergy * (energy + electron_mass_c2) / - (deltaMomentum * totMomentum); - G4double sint = std::sqrt(1.0 - cost*cost); - - G4double phi = twopi * G4UniformRand() ; - - G4ThreeVector deltaDirection(sint*std::cos(phi),sint*std::sin(phi), cost) ; - deltaDirection.rotateUz(momentum); - - // create G4DynamicParticle object for delta ray - G4DynamicParticle* delta = new G4DynamicParticle(G4Electron::Electron(), - deltaDirection,deltaKinEnergy); - - return delta; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -std::vector* G4LowEnergyBraggModel::SampleSecondaries( - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double tmin, - G4double maxEnergy) -{ - std::vector* vdp = new std::vector; - G4DynamicParticle* delta = SampleSecondary(couple, dp, tmin, maxEnergy); - vdp->push_back(delta); - - return vdp; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyBremsstrahlung.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyBremsstrahlung.cc index d79ff01978..8ffca4b7f4 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyBremsstrahlung.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyBremsstrahlung.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4LowEnergyBremsstrahlung.cc,v 1.71 2006/06/29 19:40:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyCompton.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyCompton.cc index 2bfb432a3a..988195cb56 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyCompton.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyCompton.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4LowEnergyCompton.cc,v 1.41 2006/06/29 19:40:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: A. Forti // Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyGammaConversion.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyGammaConversion.cc index 0a5c03283a..bff6f03c5d 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyGammaConversion.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyGammaConversion.cc @@ -26,7 +26,7 @@ // -------------------------------------------------------------------- /// // $Id: G4LowEnergyGammaConversion.cc,v 1.36 2006/06/29 19:40:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyIonisation.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyIonisation.cc index 9ed14108aa..fff42a0596 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyIonisation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyIonisation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4LowEnergyIonisation.cc,v 1.102 2006/06/29 19:40:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPhotoElectric.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPhotoElectric.cc index 60c1a4b3e7..060b66677c 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPhotoElectric.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPhotoElectric.cc @@ -25,7 +25,7 @@ // // // $Id: G4LowEnergyPhotoElectric.cc,v 1.56 2006/06/29 19:40:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: A. Forti // Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPolarizedCompton.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPolarizedCompton.cc index 4b4be98a22..78d8ac9ea5 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPolarizedCompton.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPolarizedCompton.cc @@ -25,7 +25,7 @@ // // // $Id: G4LowEnergyPolarizedCompton.cc,v 1.22 2006/06/29 19:40:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPolarizedRayleigh.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPolarizedRayleigh.cc index fe44a02c1a..f12cd66e41 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPolarizedRayleigh.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyPolarizedRayleigh.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4LowEnergyPolarizedRayleigh.cc,v 1.7 2006/06/29 19:40:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyRayleigh.cc b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyRayleigh.cc index c946576742..c8345a95cf 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4LowEnergyRayleigh.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4LowEnergyRayleigh.cc @@ -26,7 +26,7 @@ // -------------------------------------------------------------------- // // $Id: G4LowEnergyRayleigh.cc,v 1.37 2006/06/29 19:40:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: A. Forti // Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlung.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlung.cc index 78d2a7991b..bd3c14837f 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlung.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlung.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PenelopeBremsstrahlung.cc,v 1.18 2006/06/29 19:40:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungAngular.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungAngular.cc index e0ed587f67..0c237180f1 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungAngular.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungAngular.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PenelopeBremsstrahlungAngular.cc,v 1.7 2006/06/29 19:40:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungContinuous.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungContinuous.cc index 630acf83b0..c8feba08bc 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungContinuous.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeBremsstrahlungContinuous.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PenelopeBremsstrahlungContinuous.cc,v 1.9 2006/06/29 19:40:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeCompton.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeCompton.cc index 18841977f1..3c4b85d58f 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeCompton.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeCompton.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PenelopeCompton.cc,v 1.26 2006/06/29 19:40:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Luciano Pandola // diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeIonisation.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeIonisation.cc index 8d2016bfe6..b6caa9e601 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeIonisation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeIonisation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PenelopeIonisation.cc,v 1.19 2006/06/29 19:40:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopePhotoElectric.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopePhotoElectric.cc index c4b885ab81..59d566b0cc 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopePhotoElectric.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopePhotoElectric.cc @@ -25,7 +25,7 @@ // // // $Id: G4PenelopePhotoElectric.cc,v 1.12 2006/06/29 19:40:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: L. Pandola // diff --git a/source/processes/electromagnetic/lowenergy/src/G4PenelopeRayleigh.cc b/source/processes/electromagnetic/lowenergy/src/G4PenelopeRayleigh.cc index 33f3794845..d3cb615a9c 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4PenelopeRayleigh.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4PenelopeRayleigh.cc @@ -26,7 +26,7 @@ // -------------------------------------------------------------------- // // $Id: G4PenelopeRayleigh.cc,v 1.14 2006/06/29 19:40:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: L. Pandola (luciano.pandola@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4RangeTest.cc b/source/processes/electromagnetic/lowenergy/src/G4RangeTest.cc index 611f538d44..c37dfed9e3 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4RangeTest.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4RangeTest.cc @@ -25,7 +25,7 @@ // // // $Id: G4RangeTest.cc,v 1.8 2006/06/29 19:41:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4SemiLogInterpolation.cc b/source/processes/electromagnetic/lowenergy/src/G4SemiLogInterpolation.cc index ed6ed109bd..77696d7c31 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4SemiLogInterpolation.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4SemiLogInterpolation.cc @@ -25,7 +25,7 @@ // // // $Id: G4SemiLogInterpolation.cc,v 1.6 2006/06/29 19:41:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4ShellData.cc b/source/processes/electromagnetic/lowenergy/src/G4ShellData.cc index 4a950aabe0..531ee035a8 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4ShellData.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4ShellData.cc @@ -25,7 +25,7 @@ // // // $Id: G4ShellData.cc,v 1.8 2006/06/29 19:41:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4ShellEMDataSet.cc b/source/processes/electromagnetic/lowenergy/src/G4ShellEMDataSet.cc index 0396170847..3341e2e9b2 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4ShellEMDataSet.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4ShellEMDataSet.cc @@ -25,7 +25,7 @@ // // // $Id: G4ShellEMDataSet.cc,v 1.14 2006/06/29 19:41:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4VCrossSectionHandler.cc b/source/processes/electromagnetic/lowenergy/src/G4VCrossSectionHandler.cc index f57dc61b1b..3f0ea3272e 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4VCrossSectionHandler.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4VCrossSectionHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4VCrossSectionHandler.cc,v 1.17 2006/06/29 19:41:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4VLowEnergyDiscretePhotonProcess.cc b/source/processes/electromagnetic/lowenergy/src/G4VLowEnergyDiscretePhotonProcess.cc index e654f0afd1..0ab3f1bf76 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4VLowEnergyDiscretePhotonProcess.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4VLowEnergyDiscretePhotonProcess.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VLowEnergyDiscretePhotonProcess.cc,v 1.5 2006/06/29 19:41:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4VeLowEnergyLoss.cc b/source/processes/electromagnetic/lowenergy/src/G4VeLowEnergyLoss.cc index f82151dc8e..a45244e4d8 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4VeLowEnergyLoss.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4VeLowEnergyLoss.cc @@ -25,7 +25,7 @@ // // // $Id: G4VeLowEnergyLoss.cc,v 1.25 2006/06/29 19:41:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/electromagnetic/lowenergy/src/G4eBremsstrahlungSpectrum.cc b/source/processes/electromagnetic/lowenergy/src/G4eBremsstrahlungSpectrum.cc index 6df28ff972..af9c4a273b 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4eBremsstrahlungSpectrum.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4eBremsstrahlungSpectrum.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4eBremsstrahlungSpectrum.cc,v 1.15 2006/06/29 19:41:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4eIonisationCrossSectionHandler.cc b/source/processes/electromagnetic/lowenergy/src/G4eIonisationCrossSectionHandler.cc index b3ead1d6bd..b4c2bce8da 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4eIonisationCrossSectionHandler.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4eIonisationCrossSectionHandler.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4eIonisationCrossSectionHandler.cc,v 1.11 2006/06/29 19:42:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4eIonisationParameters.cc b/source/processes/electromagnetic/lowenergy/src/G4eIonisationParameters.cc index db4a0901b6..c2365cf597 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4eIonisationParameters.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4eIonisationParameters.cc @@ -25,7 +25,7 @@ // // // $Id: G4eIonisationParameters.cc,v 1.23 2006/06/29 19:42:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author: Maria Grazia Pia (Maria.Grazia.Pia@cern.ch) // diff --git a/source/processes/electromagnetic/lowenergy/src/G4eIonisationSpectrum.cc b/source/processes/electromagnetic/lowenergy/src/G4eIonisationSpectrum.cc index 27984d7330..0aecb11904 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4eIonisationSpectrum.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4eIonisationSpectrum.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4eIonisationSpectrum.cc,v 1.25 2006/06/29 19:42:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/lowenergy/src/G4eLowEnergyLoss.cc b/source/processes/electromagnetic/lowenergy/src/G4eLowEnergyLoss.cc index 564944fb9c..c0479a31a9 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4eLowEnergyLoss.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4eLowEnergyLoss.cc @@ -25,7 +25,7 @@ // // // $Id: G4eLowEnergyLoss.cc,v 1.35 2006/06/29 19:42:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/electromagnetic/lowenergy/src/G4hLowEnergyLoss.cc b/source/processes/electromagnetic/lowenergy/src/G4hLowEnergyLoss.cc index 639e1a49a2..2baf5ff112 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4hLowEnergyLoss.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4hLowEnergyLoss.cc @@ -25,7 +25,7 @@ // // // $Id: G4hLowEnergyLoss.cc,v 1.23 2006/06/29 19:42:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionDoubleExp.cc b/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionDoubleExp.cc index 8aab744335..e8c2db2d63 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionDoubleExp.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionDoubleExp.cc @@ -41,7 +41,7 @@ // Empiric Model for shell cross sections in proton ionisation // ------------------------------------------------------------------- // $Id: G4hShellCrossSectionDoubleExp.cc,v 1.8 2006/06/29 19:42:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "globals.hh" #include diff --git a/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionDoubleExpData.cc b/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionDoubleExpData.cc index a61bafbb81..281ad76c2f 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionDoubleExpData.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionDoubleExpData.cc @@ -33,7 +33,7 @@ // // ------------------------------------------------------------------- // $Id: G4hShellCrossSectionDoubleExpData.cc,v 1.4 2006/06/29 19:42:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4hShellCrossSectionDoubleExpData.hh" diff --git a/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionExp.cc b/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionExp.cc index b19a78b001..828977a122 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionExp.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionExp.cc @@ -41,7 +41,7 @@ // Empiric Model for shell cross sections in proton ionisation // ------------------------------------------------------------------- // $Id: G4hShellCrossSectionExp.cc,v 1.5 2006/06/29 19:42:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "globals.hh" #include diff --git a/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionExpData.cc b/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionExpData.cc index e7647c3019..93a3947705 100644 --- a/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionExpData.cc +++ b/source/processes/electromagnetic/lowenergy/src/G4hShellCrossSectionExpData.cc @@ -33,7 +33,7 @@ // // ------------------------------------------------------------------- // $Id: G4hShellCrossSectionExpData.cc,v 1.3 2006/06/29 19:42:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4hShellCrossSectionExpData.hh" #include diff --git a/source/processes/electromagnetic/muons/History b/source/processes/electromagnetic/muons/History index 160a758e5b..bf52ec8e7f 100644 --- a/source/processes/electromagnetic/muons/History +++ b/source/processes/electromagnetic/muons/History @@ -1,4 +1,4 @@ -$Id: History,v 1.95 2007/04/24 11:51:52 vnivanch Exp $ +$Id: History,v 1.100 2007/05/29 04:43:31 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,31 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +29 May 07: V.Ivanchenko (emmuons-V08-03-04) +- G4EnergyLossForExtrapolator - added Set methods for first and last + bins in tables. Default max value is set to 10 TeV (CMS request) + +23 May 07: V.Ivanchenko (emmuons-V08-03-03) +- In all processes inherit from G4VEnergyLossProcess or G4VEmProcess + remove method SecondaryPostStep; + +22 May 07: V.Ivanchenko (emmuons-V08-03-02) +- G4VEmModel - changed interface of SampleSecondary method, it become + void, extra parameter std::vector*, all + classes using or inhereting this interface are modified. + About 5% speadup of EM shower simulation + +18 May 07: V.Ivant (emmuons-V08-03-01) +- G4ErrorEnergyLoss - new class needed for GEANTe (p. Arce) + +12 May 07: V.Ivant (emmuons-V08-03-00) +- G4EnergyLossForExtrapolator - linLossLimit=0.001 +- Remove obsolete G4MuIonisation52, G4MuPairProduction52, G4MuBremsstrahlung52, + G4VMuEnergyLoss +- G4MuPairProductionModel - fix usage of cut value inside SelectRandomAtom, + providing correct sampling of atom of mixture + for production of e+e- pair (A.Bogdanov) + 24 April 07: V.Ivant (emmuons-V08-02-01) - G4MuPairProductionModel - add protection against zero or negative partial cross section inside SelectRandomAtom method in order to fix bug reported diff --git a/source/processes/electromagnetic/muons/include/G4EnergyLossForExtrapolator.hh b/source/processes/electromagnetic/muons/include/G4EnergyLossForExtrapolator.hh index 92b257edcc..f2ee8ee067 100644 --- a/source/processes/electromagnetic/muons/include/G4EnergyLossForExtrapolator.hh +++ b/source/processes/electromagnetic/muons/include/G4EnergyLossForExtrapolator.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EnergyLossForExtrapolator.hh,v 1.7 2006/07/21 09:39:02 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4EnergyLossForExtrapolator.hh,v 1.8 2007/05/29 04:43:31 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // @@ -67,31 +67,7 @@ class G4EnergyLossForExtrapolator public: G4EnergyLossForExtrapolator(G4int verb = 1); - virtual ~G4EnergyLossForExtrapolator(); - - G4double EnergyAfterStep(G4double kinEnergy, G4double step, - const G4Material*, const G4ParticleDefinition*); - - G4double EnergyAfterStep(G4double kinEnergy, G4double step, - const G4Material*, const G4String& particleName); - - G4double EnergyBeforeStep(G4double kinEnergy, G4double step, - const G4Material*, const G4ParticleDefinition*); - - G4double EnergyBeforeStep(G4double kinEnergy, G4double step, - const G4Material*, const G4String& particleName); - - G4double AverageScatteringAngle(G4double kinEnergy, G4double step, - const G4Material*, const G4ParticleDefinition* part); - - G4double AverageScatteringAngle(G4double kinEnergy, G4double step, - const G4Material*, const G4String& particleName); - - G4double EnergyDispersion(G4double kinEnergy, G4double step, - const G4Material*, const G4ParticleDefinition*); - - G4double EnergyDispersion(G4double kinEnergy, G4double step, - const G4Material*, const G4String& particleName); + ~G4EnergyLossForExtrapolator(); G4double ComputeDEDX(G4double kinEnergy, const G4ParticleDefinition*); @@ -99,7 +75,35 @@ public: G4double ComputeEnergy(G4double range, const G4ParticleDefinition*); - void SetVerbose(G4int val); + G4double EnergyAfterStep(G4double kinEnergy, G4double step, + const G4Material*, const G4ParticleDefinition*); + + G4double EnergyBeforeStep(G4double kinEnergy, G4double step, + const G4Material*, const G4ParticleDefinition*); + + inline G4double EnergyAfterStep(G4double kinEnergy, G4double step, + const G4Material*, const G4String& particleName); + + inline G4double EnergyBeforeStep(G4double kinEnergy, G4double step, + const G4Material*, const G4String& particleName); + + inline G4double AverageScatteringAngle(G4double kinEnergy, G4double step, + const G4Material*, const G4ParticleDefinition* part); + + inline G4double AverageScatteringAngle(G4double kinEnergy, G4double step, + const G4Material*, const G4String& particleName); + + inline G4double EnergyDispersion(G4double kinEnergy, G4double step, + const G4Material*, const G4ParticleDefinition*); + + inline G4double EnergyDispersion(G4double kinEnergy, G4double step, + const G4Material*, const G4String& particleName); + + inline void SetVerbose(G4int val); + + inline void SetMinKinEnergy(G4double); + + inline void SetMaxKinEnergy(G4double); private: @@ -109,8 +113,6 @@ private: const G4ParticleDefinition* FindParticle(const G4String& name); - G4double ComputeValue(G4double x, const G4PhysicsTable* table); - void ComputeElectronDEDX(const G4ParticleDefinition* part, G4PhysicsTable* table); void ComputeMuonDEDX(const G4ParticleDefinition* part, G4PhysicsTable* table); @@ -120,7 +122,13 @@ private: G4double ComputeTrueStep(const G4Material*, const G4ParticleDefinition* part, G4double kinEnergy, G4double stepLength); - G4double ComputeScatteringAngle(G4double x); + inline G4double ComputeValue(G4double x, const G4PhysicsTable* table); + + inline G4double ComputeScatteringAngle(G4double x); + + // hide assignment operator + G4EnergyLossForExtrapolator & operator=(const G4EnergyLossForExtrapolator &right); + G4EnergyLossForExtrapolator(const G4EnergyLossForExtrapolator&); const G4ParticleDefinition* currentParticle; const G4ParticleDefinition* electron; @@ -268,5 +276,19 @@ inline void G4EnergyLossForExtrapolator::SetVerbose(G4int val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +inline void G4EnergyLossForExtrapolator::SetMinKinEnergy(G4double val) +{ + emin = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4EnergyLossForExtrapolator::SetMaxKinEnergy(G4double val) +{ + emax = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + #endif diff --git a/source/geometry/biasing/include/G4ParallelStepper.hh b/source/processes/electromagnetic/muons/include/G4ErrorEnergyLoss.hh similarity index 51% rename from source/geometry/biasing/include/G4ParallelStepper.hh rename to source/processes/electromagnetic/muons/include/G4ErrorEnergyLoss.hh index 36dc6aea09..39f3a07806 100644 --- a/source/geometry/biasing/include/G4ParallelStepper.hh +++ b/source/processes/electromagnetic/muons/include/G4ErrorEnergyLoss.hh @@ -23,67 +23,74 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// -// $Id: G4ParallelStepper.hh,v 1.7 2006/06/29 18:16:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ParallelStepper -// // Class description: // -// Used internally by importance sampling and scoring in a "parallel" -// geometry. (See G4VParallelStepper.hh) +// Description: Continuous Process to calculate energy loss without +// fluctuations through G4EnergyLossForExtrapolator -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4ParallelStepper_hh -#define G4ParallelStepper_hh G4ParallelStepper_hh +// History: +// Created: 2007-05-12 +// Author: Pedro Arce +// +// Modified: +// -#include "G4VParallelStepper.hh" -#include "G4GeometryCellStep.hh" +#ifndef G4ErrorEnergyLoss_hh +#define G4ErrorEnergyLoss_hh -class G4ParallelStepper : public G4VParallelStepper +#include "globals.hh" +#include "G4VContinuousProcess.hh" +#include "G4ProcessType.hh" + +class G4EnergyLossForExtrapolator; + +class G4ErrorEnergyLoss : public G4VContinuousProcess { -public: // with description +public: - G4ParallelStepper(); - // imitilisation + G4ErrorEnergyLoss(const G4String& processName = "G4ErrorEnergyLoss", + G4ProcessType type = fElectromagnetic); - G4ParallelStepper(const G4ParallelStepper &); - // create new G4GeometryCellStep - - virtual ~G4ParallelStepper(); - // delete G4Pstep if created - - virtual G4GeometryCellStep GetPStep() const; - // get the current G4GeometryCellStep - - virtual void Init(const G4GeometryCell &agCell); - // initialise the parallel stepper and the G4GeometryCellStep - // pre and post G4GeometryCell of the step are set equal - - virtual void Update(const G4GeometryCell &agCell); - // to be called when crossing a boundary of the - // "parallel" geometry to update the G4GeometryCellStep - - virtual void UnSetCrossBoundary(); - // to be called to unset the fCrossBoundary member of the G4GeometryCellStep + virtual ~G4ErrorEnergyLoss(); - G4ParallelStepper &operator=(const G4ParallelStepper &); - // create new G4GeometryCellStep + G4bool IsApplicable(const G4ParticleDefinition& aParticleType); + // Returns true -> 'is applicable', for all charged particles. + + G4double GetContinuousStepLimit(const G4Track& aTrack, + G4double , + G4double currentMinimumStep, + G4double& ); + // Returns DBL_MAX as continuous step limit + + G4VParticleChange* AlongStepDoIt(const G4Track& aTrack, + const G4Step& aStep); + // This is the method implementing the energy loss process. + + // Get and Set methods + G4double GetStepLimit() const { return theStepLimit; } + void SetStepLimit( G4double val ) { theStepLimit = val; } private: - void Error(const G4String &m); + void InstantiateEforExtrapolator(); + // Create the G4EnergyLossForExtrapolator private: + G4EnergyLossForExtrapolator* theELossForExtrapolator; - G4GeometryCellStep *fPStep; + G4double theStepLimit; }; +//////////////////// +// Inline methods +//////////////////// +inline +G4bool G4ErrorEnergyLoss::IsApplicable(const G4ParticleDefinition& aParticleType) +{ + return (aParticleType.GetPDGCharge() != 0); +} -#endif +#endif /* G4ErrorEnergyLoss_hh */ diff --git a/source/processes/electromagnetic/muons/include/G4MuBetheBlochModel.hh b/source/processes/electromagnetic/muons/include/G4MuBetheBlochModel.hh index 0dd69ff61d..05720eecbf 100644 --- a/source/processes/electromagnetic/muons/include/G4MuBetheBlochModel.hh +++ b/source/processes/electromagnetic/muons/include/G4MuBetheBlochModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuBetheBlochModel.hh,v 1.16 2006/06/29 19:49:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuBetheBlochModel.hh,v 1.17 2007/05/22 17:35:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -104,11 +104,11 @@ public: G4double kineticEnergy, G4double cutEnergy); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); protected: diff --git a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.hh b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.hh index e909ab750c..8984db4ed3 100644 --- a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.hh +++ b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuBremsstrahlung.hh,v 1.27 2006/06/29 19:49:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuBremsstrahlung.hh,v 1.29 2007/05/23 08:49:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -91,12 +91,6 @@ public: const G4Material*, G4double cut); - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double& tcut); - // Print out of the class parameters void PrintInfo(); @@ -135,17 +129,6 @@ inline G4double G4MuBremsstrahlung::MinPrimaryEnergy(const G4ParticleDefinition* return lowestKinEnergy; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline std::vector* G4MuBremsstrahlung::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double& tcut) -{ - return model->SampleSecondaries(couple, dp, tcut); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung52.hh b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung52.hh deleted file mode 100644 index f8192a431d..0000000000 --- a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung52.hh +++ /dev/null @@ -1,171 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MuBremsstrahlung52.hh,v 1.4 2006/06/29 19:49:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------- G4MuBremsstrahlung52 physics process ------------------ -// by Laszlo Urban, September 1997 -//------------------------------------------------------------------------------ -// 10/02/00 modifications , new e.m. structure, L.Urban -// 10-08-01: new methods Store/Retrieve PhysicsTable (mma) -// 29-10-01 all static functions no more inlined (mma) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 08-11-04 Remove interface of Store/Retrieve tables (V.Ivantchenko) -// 10-02-06 ComputeMicroscopicCrossSection() made public (mma) -//------------------------------------------------------------------------------ - -#ifndef G4MuBremsstrahlung52_h -#define G4MuBremsstrahlung52_h 1 - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4ios.hh" -#include "globals.hh" -#include "Randomize.hh" -#include "G4VMuEnergyLoss.hh" -#include "G4Track.hh" -#include "G4Step.hh" -#include "G4OrderedTable.hh" -#include "G4PhysicsTable.hh" -#include "G4PhysicsLogVector.hh" -#include "G4MaterialCutsCouple.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4MuBremsstrahlung52 : public G4VMuEnergyLoss - -{ - public: - - G4MuBremsstrahlung52(const G4String& processName = "MuBrems"); - - ~G4MuBremsstrahlung52(); - - G4bool IsApplicable(const G4ParticleDefinition&); - - void BuildPhysicsTable(const G4ParticleDefinition& ParticleType); - - void BuildLossTable(const G4ParticleDefinition& ParticleType); - - void BuildLambdaTable(const G4ParticleDefinition& ParticleType); - - void PrintInfoDefinition(); - - G4double GetMeanFreePath(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition ); - - G4VParticleChange *PostStepDoIt(const G4Track& track, - const G4Step& Step ); - - G4double GetDMicroscopicCrossSection( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double AtomicMass, - G4double GammaEnergy); - - public: - - G4double ComputeMeanFreePath( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4MaterialCutsCouple* couple); - - void ComputePartialSumSigma( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4MaterialCutsCouple* couple); - - virtual G4double ComputeMicroscopicCrossSection( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double AtomicMass, - G4double GammaEnergyCut); - - virtual G4double ComputeDMicroscopicCrossSection( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double AtomicMass, - G4double GammaEnergy); - - private: - - G4MuBremsstrahlung52 & operator=(const G4MuBremsstrahlung52 &right); - G4MuBremsstrahlung52(const G4MuBremsstrahlung52&); - - G4double ComputeBremLoss(const G4ParticleDefinition* ParticleType, - G4double Z,G4double A, - G4double T, G4double Cut); - - const G4Element* SelectRandomAtom(const G4MaterialCutsCouple* couple) const; - - void MakeSamplingTables( const G4ParticleDefinition* ParticleType ); - - protected: - - virtual G4double SecondaryEnergyThreshold(size_t index); - - private: - - G4PhysicsTable* theMeanFreePathTable; - - G4OrderedTable PartialSumSigma; - - static G4double LowerBoundLambda; // bining for lambda table - static G4double UpperBoundLambda; - static G4int NbinLambda; - G4double LowestKineticEnergy,HighestKineticEnergy; - G4int TotBin; - - - const std::vector* secondaryEnergyCuts; - - // tables for sampling - static G4int nzdat,ntdat,NBIN; - static G4double zdat[5],adat[5],tdat[8]; - static G4double ya[1001],proba[5][8][1001]; - static G4double CutFixed; - - public: - - static void SetLowerBoundLambda(G4double val); - static void SetUpperBoundLambda(G4double val); - static void SetNbinLambda(G4int n); - static G4double GetLowerBoundLambda(); - static G4double GetUpperBoundLambda(); - static G4int GetNbinLambda(); - -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4MuBremsstrahlung52.icc" - -#endif - diff --git a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung52.icc b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung52.icc deleted file mode 100644 index 88c16365dc..0000000000 --- a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlung52.icc +++ /dev/null @@ -1,114 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MuBremsstrahlung52.icc,v 1.2 2006/06/29 19:49:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------- G4MuBremsstrahlung52 physics process ------------------ -// by Laszlo Urban, September 1997 -//------------------------------------------------------------------------------ -// -// Modified: -// -// 17-09-01 migration of Materials to pure STL (mma) -// 29.05.01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 28-09-01 suppression of theMuonPlus ..etc..data members (mma) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// -//------------------------------------------------------------------------------ - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4MuBremsstrahlung52::GetMeanFreePath(const G4Track& trackData, - G4double, - G4ForceCondition* condition) -{ - const G4DynamicParticle* aDynamicParticle; - G4double MeanFreePath; - G4bool isOutRange ; - - *condition = NotForced ; - - aDynamicParticle = trackData.GetDynamicParticle(); - const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); - G4double KineticEnergy = aDynamicParticle->GetKineticEnergy(); - - if (KineticEnergy < LowestKineticEnergy) - MeanFreePath = DBL_MAX ; - else { - if (KineticEnergy > HighestKineticEnergy) - KineticEnergy = 0.99*HighestKineticEnergy ; - MeanFreePath = (*theMeanFreePathTable)(couple->GetIndex())-> - GetValue( KineticEnergy, isOutRange ); - } - return MeanFreePath; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4MuBremsstrahlung52::ComputeMeanFreePath( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4MaterialCutsCouple* couple) -{ - const G4Material* aMaterial = couple->GetMaterial(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector() ; - const G4double* theAtomNumDensityVector = - aMaterial->GetAtomicNumDensityVector(); - G4double GammaEnergyCut = SecondaryEnergyThreshold(couple->GetIndex()); - G4double SIGMA = 0 ; - for ( size_t i=0 ; i < aMaterial->GetNumberOfElements() ; i++ ) - { - SIGMA += theAtomNumDensityVector[i] * - ComputeMicroscopicCrossSection( - ParticleType, KineticEnergy, - (*theElementVector)[i]->GetZ(), - (*theElementVector)[i]->GetA(), - GammaEnergyCut ); - } - - return SIGMA > 0. ? 1./SIGMA : DBL_MAX; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4bool G4MuBremsstrahlung52::IsApplicable( - const G4ParticleDefinition& particle) -{ - return ((&particle == G4MuonPlus::MuonPlus() ) || - (&particle == G4MuonMinus::MuonMinus()) ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4MuBremsstrahlung52::SecondaryEnergyThreshold(size_t index) -{ - return (*secondaryEnergyCuts)[index]; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungModel.hh b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungModel.hh index 33f285f4ed..a0a19b4e9c 100644 --- a/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungModel.hh +++ b/source/processes/electromagnetic/muons/include/G4MuBremsstrahlungModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuBremsstrahlungModel.hh,v 1.15 2006/06/29 19:49:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuBremsstrahlungModel.hh,v 1.16 2007/05/22 17:35:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -100,11 +100,11 @@ public: G4double kineticEnergy, G4double cutEnergy); - std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); protected: diff --git a/source/processes/electromagnetic/muons/include/G4MuIonisation.hh b/source/processes/electromagnetic/muons/include/G4MuIonisation.hh index 0809e8e4fb..0a40b8814c 100644 --- a/source/processes/electromagnetic/muons/include/G4MuIonisation.hh +++ b/source/processes/electromagnetic/muons/include/G4MuIonisation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuIonisation.hh,v 1.28 2006/06/29 19:49:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuIonisation.hh,v 1.30 2007/05/23 08:49:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -99,12 +99,6 @@ public: G4double MinPrimaryEnergy(const G4ParticleDefinition* p, const G4Material*, G4double cut); - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double& tcut); - // Print out of the class parameters void PrintInfo(); @@ -152,15 +146,4 @@ inline G4double G4MuIonisation::MinPrimaryEnergy(const G4ParticleDefinition*, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline std::vector* G4MuIonisation::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double& tcut) -{ - return model->SampleSecondaries(couple, dp, tcut); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - #endif diff --git a/source/processes/electromagnetic/muons/include/G4MuIonisation52.hh b/source/processes/electromagnetic/muons/include/G4MuIonisation52.hh deleted file mode 100644 index 2ded4b8e6e..0000000000 --- a/source/processes/electromagnetic/muons/include/G4MuIonisation52.hh +++ /dev/null @@ -1,183 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MuIonisation52.hh,v 1.4 2006/06/29 19:49:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// --------------- G4MuIonisation52 physics process ------------------------------ -// by Laszlo Urban, September 1997 -// ----------------------------------------------------------------------------- -// -// 10-02-00 modifications , new e.m. structure, L.Urban -// 10-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 29-08-01 new function ComputeRestrictedMeandEdx() + 'cleanup' (mma) -// 19-09-01 come back to the old process name 'MuIoni' -// 29-10-01 all static functions no more inlined (mma) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 08-11-04 Remove interface of Store/Retrieve tables (V.Ivantchenko) -// 10-02-06 ComputeCrossSectionPerAtom() and dEdx() made public (mma) -// -// ----------------------------------------------------------------------------- - -// Class description -// -// This class manages the ionisation process for muons. -// it inherites from G4VContinuousDiscreteProcess via G4VMuEnergyLoss. -// -// Class description - end - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef G4MuIonisation52_h -#define G4MuIonisation52_h 1 - -#include "G4VMuEnergyLoss.hh" -#include "G4MaterialCutsCouple.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4MuIonisation52 : public G4VMuEnergyLoss - -{ - public: // with description - - G4MuIonisation52(const G4String& processName = "MuIoni"); - - ~G4MuIonisation52(); - - G4bool IsApplicable(const G4ParticleDefinition&); - // return true for charged particles, false otherwise - - void BuildPhysicsTable(const G4ParticleDefinition& aParticleType); - // this function overloads a virtual function of the base class. - // It is invoked by the G4ParticleWithCuts::SetCut() method. - // It invokes BuildLambdaTable(), BuildLossTable(), BuildDEDXTable() - - void BuildLossTable(const G4ParticleDefinition& aParticleType); - // build the dE/dx tables due to the ionisation, for every materials. - // (restricted stopping power, Bethe-Bloch formula) - - void BuildLambdaTable(const G4ParticleDefinition& aParticleType); - // build mean free path tables for the delta rays production. - // the tables are built for every materials. - - virtual void PrintInfoDefinition(); - // Print few lines of informations about the process: validity range, - // origine ..etc.. - // Invoked by BuildPhysicsTable(). - - G4double GetMeanFreePath(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition ); - // It returns the MeanFreePath of the process for the current track : - // (energy, material) - // The previousStepSize and G4ForceCondition* are not used. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - G4VParticleChange* PostStepDoIt(const G4Track& track, - const G4Step& Step ); - // It computes the final state of the process (at end of step), - // returned as a ParticleChange object. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - - public: // with description - - virtual G4double ComputeRestrictedMeandEdx( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - const G4Material* material, - G4double DeltaThreshold); - // computes restricted mean dE/dx in Geant4 internal units. - - virtual G4double ComputeCrossSectionPerAtom( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double DeltaThreshold); - // computes total cross section per atom in Geant4 internal units. - - virtual G4double ComputeDifCrossSectionPerAtom( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double KnockonEnergy); - // computes differential cross section per atom. - - protected: - - virtual G4double SecondaryEnergyThreshold(size_t index); - - G4PhysicsTable* theMeanFreePathTable; - - private: - - // hide assignment operator - G4MuIonisation52 & operator=(const G4MuIonisation52 &right); - G4MuIonisation52(const G4MuIonisation52&); - - private: - - static G4double LowerBoundLambda; // bining for lambda table - static G4double UpperBoundLambda; - static G4int NbinLambda; - - G4double LowestKineticEnergy; // binning for dE/dx table - G4double HighestKineticEnergy; - G4int TotBin; - - const std::vector* secondaryEnergyCuts; - - public: // with description - - static void SetLowerBoundLambda(G4double val); - static void SetUpperBoundLambda(G4double val); - static void SetNbinLambda(G4int n); - // set the parameters of the mean free path table. - - static G4double GetLowerBoundLambda(); - static G4double GetUpperBoundLambda(); - static G4int GetNbinLambda(); - // get the parameters of the mean free path table. -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4MuIonisation52.icc" - -#endif - - - - - - - - diff --git a/source/processes/electromagnetic/muons/include/G4MuPairProduction.hh b/source/processes/electromagnetic/muons/include/G4MuPairProduction.hh index 4f9fd41a05..de16e875b4 100644 --- a/source/processes/electromagnetic/muons/include/G4MuPairProduction.hh +++ b/source/processes/electromagnetic/muons/include/G4MuPairProduction.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuPairProduction.hh,v 1.27 2006/06/29 19:49:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuPairProduction.hh,v 1.29 2007/05/23 08:49:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -88,12 +88,6 @@ public: G4double MinPrimaryEnergy(const G4ParticleDefinition* p, const G4Material*, G4double cut); - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double& tcut); - // Print out of the class parameters void PrintInfo(); @@ -134,17 +128,6 @@ inline G4double G4MuPairProduction::MinPrimaryEnergy(const G4ParticleDefinition* return lowestKinEnergy; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline std::vector* G4MuPairProduction::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double& tcut) -{ - return model->SampleSecondaries(couple, dp, tcut); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/muons/include/G4MuPairProduction52.hh b/source/processes/electromagnetic/muons/include/G4MuPairProduction52.hh deleted file mode 100644 index 7d5a8145f1..0000000000 --- a/source/processes/electromagnetic/muons/include/G4MuPairProduction52.hh +++ /dev/null @@ -1,175 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MuPairProduction52.hh,v 1.4 2006/06/29 19:49:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------- G4MuPairProduction52 physics process ------------------ -// by Laszlo Urban, May 1998 -//------------------------------------------------------------------------------ -// 10-02-00 modifications , new e.m. structure, L.Urban -// 10-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 29-10-01 all static functions no more inlined (mma) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 08-11-04 Remove interface of Store/Retrieve tables (V.Ivantchenko) -// 10-02-06 ComputeMicroscopicCrossSection() made public (mma) -//------------------------------------------------------------------------------ - -#ifndef G4MuPairProduction52_h -#define G4MuPairProduction52_h 1 - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4ios.hh" -#include "globals.hh" -#include "Randomize.hh" -#include "G4VMuEnergyLoss.hh" -#include "G4Track.hh" -#include "G4Step.hh" -#include "G4OrderedTable.hh" -#include "G4PhysicsTable.hh" -#include "G4PhysicsLogVector.hh" -#include "G4MaterialCutsCouple.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4MuPairProduction52 : public G4VMuEnergyLoss - -{ - public: - - G4MuPairProduction52(const G4String& processName = "MuPairProd"); - - ~G4MuPairProduction52(); - - G4bool IsApplicable(const G4ParticleDefinition&); - - void BuildPhysicsTable(const G4ParticleDefinition& ParticleType); - - void BuildLossTable(const G4ParticleDefinition& ParticleType); - - void BuildLambdaTable(const G4ParticleDefinition& ParticleType); - - void PrintInfoDefinition(); - - G4double GetMeanFreePath( const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition ); - - G4VParticleChange *PostStepDoIt(const G4Track& track, - const G4Step& Step ); - - G4double GetDMicroscopicCrossSection( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double PairEnergy); - - public: - - G4double ComputeMeanFreePath(const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4MaterialCutsCouple* couple); - - void ComputePartialSumSigma(const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4MaterialCutsCouple* couple); - - virtual G4double ComputeMicroscopicCrossSection( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double ElectronEnergyCut, - G4double PositronEnergyCut); - - G4double ComputeDDMicroscopicCrossSection( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double PairEnergy, - G4double asymmetry); - - G4double ComputeDMicroscopicCrossSection( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double PairEnergy); - - private: - - G4MuPairProduction52 & operator=(const G4MuPairProduction52 &right); - G4MuPairProduction52(const G4MuPairProduction52&); - - G4double ComputePairLoss( const G4ParticleDefinition* ParticleType, - G4double Z,G4double T,G4double ElectronCut, - G4double PositronCut); - - G4Element* SelectRandomAtom(const G4MaterialCutsCouple* couple) const; - - void MakeSamplingTables( const G4ParticleDefinition* ParticleType ); - - protected: - - virtual G4double SecondaryEnergyThreshold(size_t index); - - private: - - G4PhysicsTable* theMeanFreePathTable; - - G4OrderedTable PartialSumSigma; - - static G4double LowerBoundLambda; // bining for lambda table - static G4double UpperBoundLambda; - static G4int NbinLambda; - G4double LowestKineticEnergy,HighestKineticEnergy; - G4int TotBin; - - const std::vector* electronEnergyCuts; - const std::vector* positronEnergyCuts; - - // tables for sampling - static G4int nzdat,ntdat,NBIN; - static G4double zdat[5],tdat[8]; - static G4double ya[1001],proba[5][8][1001]; - static G4double MinPairEnergy; - - public: - - static void SetLowerBoundLambda(G4double val); - static void SetUpperBoundLambda(G4double val); - static void SetNbinLambda(G4int n); - static G4double GetLowerBoundLambda(); - static G4double GetUpperBoundLambda(); - static G4int GetNbinLambda(); - -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4MuPairProduction52.icc" - -#endif diff --git a/source/processes/electromagnetic/muons/include/G4MuPairProduction52.icc b/source/processes/electromagnetic/muons/include/G4MuPairProduction52.icc deleted file mode 100644 index 4d6e870cf9..0000000000 --- a/source/processes/electromagnetic/muons/include/G4MuPairProduction52.icc +++ /dev/null @@ -1,115 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MuPairProduction52.icc,v 1.2 2006/06/29 19:49:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------- G4MuPairProduction52 physics process ------------------ -// by Laszlo Urban, May 1998 -//------------------------------------------------------------------------------ -// -// Modified: -// -// 17-09-01 migration of Materials to pure STL (mma) -// 29.05.01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 28-09-01 suppression of theMuonPlus ..etc..data members (mma) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// -//------------------------------------------------------------------------------ - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4MuPairProduction52::GetMeanFreePath(const G4Track& trackData, - G4double, - G4ForceCondition* condition) -{ - const G4DynamicParticle* aDynamicParticle; - G4double MeanFreePath; - G4bool isOutRange ; - - *condition = NotForced ; - - aDynamicParticle = trackData.GetDynamicParticle(); - const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); - G4double KineticEnergy = aDynamicParticle->GetKineticEnergy(); - - if (KineticEnergy < LowestKineticEnergy) - MeanFreePath = DBL_MAX ; - else { - if (KineticEnergy > HighestKineticEnergy) - KineticEnergy = 0.99*HighestKineticEnergy ; - MeanFreePath = (*theMeanFreePathTable)(couple->GetIndex())-> - GetValue( KineticEnergy, isOutRange ); - } - return MeanFreePath; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4MuPairProduction52::ComputeMeanFreePath( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4MaterialCutsCouple* couple) -{ - const G4Material* aMaterial = couple->GetMaterial(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - const G4double* theAtomNumDensityVector = - aMaterial->GetAtomicNumDensityVector(); - size_t index = couple->GetIndex(); - G4double ElectronEnergyCut = (*electronEnergyCuts)[index]; - G4double PositronEnergyCut = (*positronEnergyCuts)[index]; - - G4double SIGMA = 0; - for ( size_t i=0 ; i < aMaterial->GetNumberOfElements() ; i++ ) - { - SIGMA += theAtomNumDensityVector[i] * - ComputeMicroscopicCrossSection( ParticleType, KineticEnergy, - (*theElementVector)[i]->GetZ(), - ElectronEnergyCut,PositronEnergyCut ); - } - - return SIGMA > 0. ? 1./SIGMA : DBL_MAX; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4bool G4MuPairProduction52::IsApplicable( - const G4ParticleDefinition& particle) -{ - return ((&particle == G4MuonPlus::MuonPlus() ) || - (&particle == G4MuonMinus::MuonMinus()) ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4MuPairProduction52::SecondaryEnergyThreshold(size_t index) -{ - return (*electronEnergyCuts)[index] + (*positronEnergyCuts)[index] - + 2.*electron_mass_c2; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/muons/include/G4MuPairProductionModel.hh b/source/processes/electromagnetic/muons/include/G4MuPairProductionModel.hh index 3e24bb598f..79604c68c3 100644 --- a/source/processes/electromagnetic/muons/include/G4MuPairProductionModel.hh +++ b/source/processes/electromagnetic/muons/include/G4MuPairProductionModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuPairProductionModel.hh,v 1.20 2006/06/29 19:49:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuPairProductionModel.hh,v 1.22 2007/05/22 17:35:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -44,8 +44,8 @@ // 13-02-03 Add name (V.Ivanchenko) // 10-02-04 Update parameterisation using R.Kokoulin model (V.Ivanchenko) // 10-02-04 Add lowestKinEnergy (V.Ivanchenko) -// 13-02-06 add ComputeCrossSectionPerAtom (mma) -// +// 13-02-06 Add ComputeCrossSectionPerAtom (mma) +// 12-05-06 Add parameter to SelectRandomAtom (A.Bogdanov) // // Class Description: @@ -102,11 +102,11 @@ public: G4double kineticEnergy, G4double cutEnergy); - std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); protected: @@ -130,7 +130,7 @@ public: private: const G4Element* SelectRandomAtom(G4double kinEnergy, G4double dt, G4int it, - const G4MaterialCutsCouple* couple); + const G4MaterialCutsCouple* couple, G4double tmin); void MakeSamplingTables(); diff --git a/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.hh b/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.hh deleted file mode 100644 index 0437f67035..0000000000 --- a/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.hh +++ /dev/null @@ -1,231 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4VMuEnergyLoss.hh,v 1.11 2006/06/29 19:49:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// ------------------------------------------------------------------- -// GEANT 4 class header file -// -// History: first implementation, based on object model of -// 2nd December 1995, G.Cosmo -// ---------- G4VMuEnergyLoss physics process ----------- -// by Laszlo Urban, September 1997 -// ******************************************************************** -// It is the implementation of the NEW UNIFIED ENERGY LOSS PROCESS. -// It calculates the continuous energy loss for muons. -// Processes giving contribution to the continuous loss : -// ionisation (= cont.ion.loss + delta ray production) -// bremsstrahlung -// e+e- pair production -// can be added more easily .......... -// This class creates static muplus/muminus dE/dx and range tables , -// which tables can be used by other processes. -// ************************************************************ -// 27-05-98 some corrections by L.Urban -// 23-10-98 cleanup L.Urban -// 10-02-00 corrections due to new e.m. structure L.Urban -// 10-09-01 loss+ mechanism has been implemented (subcutoff delta rays), L.Urban -// 28-09-01 suppression of theMuonPlus ..etc..data members (mma) -// 29-10-01 all static functions no more inlined (mma) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// ------------------------------------------------------------ - -#ifndef G4VMuEnergyLoss_h -#define G4VMuEnergyLoss_h 1 - -#include "G4ios.hh" -#include -#include -#include "globals.hh" -#include "Randomize.hh" -#include "G4VEnergyLoss.hh" -#include "G4Material.hh" -#include "G4Element.hh" -#include "G4VParticleChange.hh" -#include "globals.hh" -#include "G4Track.hh" -#include "G4Step.hh" -#include "G4Gamma.hh" -#include "G4Electron.hh" -#include "G4Positron.hh" -#include "G4MuonMinus.hh" -#include "G4MuonPlus.hh" -#include "G4PhysicsLogVector.hh" -#include "G4PhysicsLinearVector.hh" -#include "G4MaterialCutsCouple.hh" - -class G4EnergyLossMessenger ; - -class G4VMuEnergyLoss : public G4VEnergyLoss - -{ - public: - - G4VMuEnergyLoss(const G4String& ); - - virtual ~G4VMuEnergyLoss(); - - G4bool IsApplicable(const G4ParticleDefinition&); - - void BuildDEDXTable(const G4ParticleDefinition& aParticleType); - - G4double GetContinuousStepLimit( - const G4Track& track, - G4double previousStepSize, - G4double currentMinimumStep, - G4double& currentSafety) ; - - G4VParticleChange* AlongStepDoIt(const G4Track& track ,const G4Step& Step) ; - - virtual G4double GetMeanFreePath( const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition - ) = 0 ; - - virtual G4VParticleChange* PostStepDoIt( - const G4Track& track,const G4Step& Step) = 0 ; - - protected: - - - - private: - - // hide assignment operator - G4VMuEnergyLoss(G4VMuEnergyLoss &); - G4VMuEnergyLoss & operator=(const G4VMuEnergyLoss &right); - - G4double GetConstraints(const G4DynamicParticle *aParticle, - const G4MaterialCutsCouple* couple); - - - protected: - - virtual G4double SecondaryEnergyThreshold(size_t index) = 0; - - G4PhysicsTable* theLossTable ; - - private: - - G4PhysicsTable* theDEDXTable ; - G4PhysicsTable* theRangeTable ; - G4PhysicsTable* theRangeCoeffATable ; - G4PhysicsTable* theRangeCoeffBTable ; - G4PhysicsTable* theRangeCoeffCTable ; - - G4PhysicsTable** RecorderOfProcess; - G4int CounterOfProcess; - - - // fdEdx=(-dE/dx) - // computed in GetConstraints at every call; - G4double fdEdx; - - // fRangeNow is the actual range of the particle - // computed in GetConstraints - G4double fRangeNow ; - - // EnergyBinNumber,RangeCoeffA,... are needed to compute range - G4int EnergyBinNumber ; - G4double RangeCoeffA,RangeCoeffB,RangeCoeffC ; - - - // static part of the class - public: // With description - - static void SetNbOfProcesses(G4int nb); - // Sets number of processes giving contribution to the energy loss - - static void PlusNbOfProcesses(); - // Increases number of processes giving contribution to the energy loss - - static void MinusNbOfProcesses(); - // Decreases number of processes giving contribution to the energy loss - - static G4int GetNbOfProcesses(); - // Gets number of processes giving contribution to the energy loss - // ( default value = 3) - - static void SetLowerBoundEloss(G4double val); - static void SetUpperBoundEloss(G4double val); - static void SetNbinEloss(G4int nb); - - static G4double GetLowerBoundEloss(); - static G4double GetUpperBoundEloss(); - static G4int GetNbinEloss(); - - protected: - - static G4PhysicsTable* theDEDXmuplusTable; - static G4PhysicsTable* theDEDXmuminusTable; - static G4PhysicsTable* theRangemuplusTable; - static G4PhysicsTable* theRangemuminusTable; - - static G4PhysicsTable* theInverseRangemuplusTable; - static G4PhysicsTable* theInverseRangemuminusTable; - - static G4PhysicsTable* theLabTimemuplusTable; - static G4PhysicsTable* theLabTimemuminusTable; - - static G4PhysicsTable* theProperTimemuplusTable; - static G4PhysicsTable* theProperTimemuminusTable; - - - // processes inherited from G4muEnergyLoss - // register themselves in the static array Recorder - static G4int NbOfProcesses; - static G4PhysicsTable** RecorderOfmuplusProcess; - static G4PhysicsTable** RecorderOfmuminusProcess; - static G4int CounterOfmuplusProcess; - static G4int CounterOfmuminusProcess; - - private: - - static G4int NbinEloss; // number of bins in table - static G4double LowerBoundEloss; - static G4double UpperBoundEloss; - static G4double RTable,LOGRTable; // LOGRTable=std::log(UpperBoundEloss- - // LowerBoundEloss)/NbinEloss - // RTable = std::exp(LOGRTable) - - static G4PhysicsTable* themuplusRangeCoeffATable; - static G4PhysicsTable* themuplusRangeCoeffBTable; - static G4PhysicsTable* themuplusRangeCoeffCTable; - static G4PhysicsTable* themuminusRangeCoeffATable; - static G4PhysicsTable* themuminusRangeCoeffBTable; - static G4PhysicsTable* themuminusRangeCoeffCTable; - - static G4EnergyLossMessenger* eLossMessenger; - - static G4double cN; // coeff to compute nb of deltas - static G4int Ndeltamax; // upper limit for nb of subcutoff - // delta rays in one step - -}; - -#include "G4VMuEnergyLoss.icc" - -#endif diff --git a/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.icc b/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.icc deleted file mode 100644 index 5f57cb878b..0000000000 --- a/source/processes/electromagnetic/muons/include/G4VMuEnergyLoss.icc +++ /dev/null @@ -1,75 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4VMuEnergyLoss.icc,v 1.5 2006/06/29 19:49:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// --------------------------------------------------------------- -// GEANT 4 class inlined methods file -// -// History: first implementation, based on object model of -// 2nd December 1995, G.Cosmo -// ------------ G4VMuEnergyLoss physics process ------------ -// by Laszlo Urban, September 1997 -// *************************************************************** -// It is the implementation of the NEW UNIFIED ENERGY LOSS PROCESS. -// It calculates the energy loss of muons. -// *************************************************************** -// 27-11-97 correction for KineticEnergy< LowerBoundEloss by L.Urban -// 27-05-98 corrections by L. Urban -// 23-10-98 cleanup L.Urban -// 28-09-01 suppression of theMuonPlus ..etc..data members (mma) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// --------------------------------------------------------------- - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4VMuEnergyLoss::GetContinuousStepLimit( - const G4Track& track, - G4double, - G4double currentMinimumStep, - G4double&) -{ - - G4double Step = - GetConstraints(track.GetDynamicParticle(),track.GetMaterialCutsCouple()) ; - - if((Step>0.0)&&(Step2) { + G4cout << GetProcessName() << " is created " << G4endl; + } + + InstantiateEforExtrapolator(); + + theStepLimit = 1.; +} + +//------------------------------------------------------------------- +void G4ErrorEnergyLoss::InstantiateEforExtrapolator() +{ + if( theELossForExtrapolator == 0 ) { + theELossForExtrapolator = new G4EnergyLossForExtrapolator; + } +} + + +//------------------------------------------------------------------- +G4ErrorEnergyLoss::~G4ErrorEnergyLoss() +{ + if( theELossForExtrapolator != 0 ) { + delete theELossForExtrapolator; + } +} + +//------------------------------------------------------------------- +G4VParticleChange* +G4ErrorEnergyLoss::AlongStepDoIt(const G4Track& aTrack, const G4Step& aStep) +{ + aParticleChange.Initialize(aTrack); + + G4ErrorPropagatorData* g4edata = G4ErrorPropagatorData::GetErrorPropagatorData(); + + G4double kinEnergyStart = aTrack.GetKineticEnergy(); + G4double step_length = aStep.GetStepLength(); + + const G4Material* aMaterial = aTrack.GetMaterial(); + const G4ParticleDefinition* aParticleDef = aTrack.GetDynamicParticle()->GetDefinition(); + G4double kinEnergyEnd = kinEnergyStart; + + if( g4edata->GetMode() == G4ErrorMode(G4ErrorMode_PropBackwards) ) { + kinEnergyEnd = theELossForExtrapolator->EnergyBeforeStep( kinEnergyStart, + step_length, + aMaterial, + aParticleDef ); + G4double kinEnergyHalfStep = kinEnergyStart - (kinEnergyStart-kinEnergyEnd)/2.; + +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) + G4cout << " G4ErrorEnergyLoss FWD end " << kinEnergyEnd + << " halfstep " << kinEnergyHalfStep << G4endl; +#endif + + //--- rescale to energy lost at 1/2 step + kinEnergyEnd = theELossForExtrapolator->EnergyBeforeStep( kinEnergyHalfStep, + step_length, + aMaterial, + aParticleDef ); + kinEnergyEnd = kinEnergyStart - (kinEnergyHalfStep - kinEnergyEnd ); + }else if( g4edata->GetMode() == G4ErrorMode(G4ErrorMode_PropForwards) ) { + kinEnergyEnd = theELossForExtrapolator->EnergyAfterStep( kinEnergyStart, + step_length, + aMaterial, + aParticleDef ); + G4double kinEnergyHalfStep = kinEnergyStart - (kinEnergyStart-kinEnergyEnd)/2.; +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) + G4cout << " G4ErrorEnergyLoss BCKD end " << kinEnergyEnd + << " halfstep " << kinEnergyHalfStep << G4endl; +#endif + + //--- rescale to energy lost at 1/2 step + kinEnergyEnd = theELossForExtrapolator->EnergyAfterStep( kinEnergyHalfStep, + step_length, + aMaterial, + aParticleDef ); + kinEnergyEnd = kinEnergyStart - (kinEnergyHalfStep - kinEnergyEnd ); + } + + G4double edepo = kinEnergyEnd - kinEnergyStart; + +#ifdef G4VERBOSE + if( G4ErrorPropagatorData::verbose() >= 2 ) + G4cout << "AlongStepDoIt Estart= " << kinEnergyStart << " Eend " << kinEnergyEnd + << " Ediff " << kinEnergyStart-kinEnergyEnd << " step= " << step_length + << " mate= " << aMaterial->GetName() + << " particle= " << aParticleDef->GetParticleName() << G4endl; +#endif + + aParticleChange.ClearDebugFlag(); + aParticleChange.ProposeLocalEnergyDeposit( edepo ); + aParticleChange.SetNumberOfSecondaries(0); + + aParticleChange.ProposeEnergy( kinEnergyEnd ); + + return &aParticleChange; +} + + +//------------------------------------------------------------------- +G4double G4ErrorEnergyLoss::GetContinuousStepLimit(const G4Track& aTrack, + G4double , + G4double currentMinimumStep, + G4double& ) +{ + G4double Step = DBL_MAX; + if( theStepLimit != 1. ) { + G4double kinEnergyStart = aTrack.GetKineticEnergy(); + G4double kinEnergyLoss = kinEnergyStart; + const G4Material* aMaterial = aTrack.GetMaterial(); + const G4ParticleDefinition* aParticleDef = aTrack.GetDynamicParticle()->GetDefinition(); + G4ErrorPropagatorData* g4edata = G4ErrorPropagatorData::GetErrorPropagatorData(); + if( g4edata->GetMode() == G4ErrorMode(G4ErrorMode_PropBackwards) ) { + kinEnergyLoss = - kinEnergyStart + + theELossForExtrapolator->EnergyBeforeStep( kinEnergyStart, currentMinimumStep, + aMaterial, aParticleDef ); + }else if( g4edata->GetMode() == G4ErrorMode(G4ErrorMode_PropForwards) ) { + kinEnergyLoss = kinEnergyStart - + theELossForExtrapolator->EnergyAfterStep( kinEnergyStart, currentMinimumStep, + aMaterial, aParticleDef ); + } +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 3 ) + G4cout << " G4ErrorEnergyLoss: currentMinimumStep " < theStepLimit ) { + Step = theStepLimit / (kinEnergyLoss / kinEnergyStart) * currentMinimumStep; +#ifdef G4VERBOSE + if(G4ErrorPropagatorData::verbose() >= 2 ) + G4cout << " G4ErrorEnergyLoss: limiting Step " << Step + << " energy loss fraction " << kinEnergyLoss / kinEnergyStart + << " > " << theStepLimit << G4endl; +#endif + } + } + + return Step; + +} diff --git a/source/processes/electromagnetic/muons/src/G4MuBetheBlochModel.cc b/source/processes/electromagnetic/muons/src/G4MuBetheBlochModel.cc index dc0e40f974..6a86e4afcf 100644 --- a/source/processes/electromagnetic/muons/src/G4MuBetheBlochModel.cc +++ b/source/processes/electromagnetic/muons/src/G4MuBetheBlochModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuBetheBlochModel.cc,v 1.22 2006/06/29 19:49:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuBetheBlochModel.cc,v 1.23 2007/05/22 17:35:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -281,15 +281,15 @@ G4double G4MuBetheBlochModel::ComputeDEDXPerVolume(const G4Material* material, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -vector* G4MuBetheBlochModel::SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle* dp, - G4double minKinEnergy, - G4double maxEnergy) +void G4MuBetheBlochModel::SampleSecondaries(vector* vdp, + const G4MaterialCutsCouple*, + const G4DynamicParticle* dp, + G4double minKinEnergy, + G4double maxEnergy) { G4double tmax = MaxSecondaryKinEnergy(dp); G4double maxKinEnergy = min(maxEnergy,tmax); - if(minKinEnergy >= maxKinEnergy) return 0; + if(minKinEnergy >= maxKinEnergy) return; G4double kineticEnergy = dp->GetKineticEnergy(); G4double totEnergy = kineticEnergy + mass; @@ -355,10 +355,7 @@ vector* G4MuBetheBlochModel::SampleSecondaries( // create G4DynamicParticle object for delta ray G4DynamicParticle* delta = new G4DynamicParticle(theElectron, deltaDirection,deltaKinEnergy); - vector* vdp = new vector; vdp->push_back(delta); - - return vdp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung.cc b/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung.cc index e34115cc83..51c0ca6a81 100644 --- a/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung.cc +++ b/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuBremsstrahlung.cc,v 1.37 2006/06/29 19:49:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuBremsstrahlung.cc,v 1.38 2007/05/22 17:35:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -81,12 +81,7 @@ G4MuBremsstrahlung::G4MuBremsstrahlung(const G4String& name) theBaseParticle(0), lowestKinEnergy(1.*GeV), isInitialised(false) -{ - SetDEDXBinning(120); - SetLambdaBinning(120); - SetMinKinEnergy(0.1*keV); - SetMaxKinEnergy(100.0*TeV); -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung52.cc b/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung52.cc deleted file mode 100644 index 979fa6a5e9..0000000000 --- a/source/processes/electromagnetic/muons/src/G4MuBremsstrahlung52.cc +++ /dev/null @@ -1,716 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MuBremsstrahlung52.cc,v 1.6 2006/10/16 15:31:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// -//--------------- G4MuBremsstrahlung52 physics process --------------------------- -// by Laszlo Urban, September 1997 -// -// 08-04-98 remove 'tracking cut' of muon in oIt, MMa -// 26/10/98 new cross section of R.Kokoulin,cleanup , L.Urban -// 10/02/00 modifications , new e.m. structure, L.Urban -// 29/05/01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 09-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 17-09-01 migration of Materials to pure STL (mma) -// 26-09-01 completion of store/retrieve PhysicsTable (mma) -// 28-09-01 suppression of theMuonPlus ..etc..data members (mma) -// 29-10-01 all static functions no more inlined (mma) -// 08-11-01 particleMass becomes a local variable (mma) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 26-04-03 fix problems of retrieve tables (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 08-11-04 Remove interface of Store/Retrieve tables (V.Ivantchenko) -//------------------------------------------------------------------------------ - -#include "G4MuBremsstrahlung52.hh" -#include "G4UnitsTable.hh" -#include "G4ProductionCutsTable.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// static members -// -G4int G4MuBremsstrahlung52::nzdat = 5 ; -G4double G4MuBremsstrahlung52::zdat[]={1.,4.,13.,29.,92.}; -G4double G4MuBremsstrahlung52::adat[]={1.01,9.01,26.98,63.55,238.03}; -G4int G4MuBremsstrahlung52::ntdat = 8 ; -G4double G4MuBremsstrahlung52::tdat[]={1.e3,1.e4,1.e5,1.e6,1.e7,1.e8,1.e9,1.e10}; -G4int G4MuBremsstrahlung52::NBIN = 1000; // 100 ; -G4double G4MuBremsstrahlung52::ya[1001]; -G4double G4MuBremsstrahlung52::proba[5][8][1001]; -G4double G4MuBremsstrahlung52::CutFixed=0.98*keV; - -G4double G4MuBremsstrahlung52::LowerBoundLambda = 1.*keV; -G4double G4MuBremsstrahlung52::UpperBoundLambda = 1000000.*TeV; -G4int G4MuBremsstrahlung52::NbinLambda = 150; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4MuBremsstrahlung52::G4MuBremsstrahlung52(const G4String& processName) - : G4VMuEnergyLoss(processName), - theMeanFreePathTable(NULL) -{ } - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4MuBremsstrahlung52::~G4MuBremsstrahlung52() -{ - if (theMeanFreePathTable) { - theMeanFreePathTable->clearAndDestroy(); - - delete theMeanFreePathTable; - } - PartialSumSigma.clearAndDestroy(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuBremsstrahlung52::SetLowerBoundLambda(G4double val) - {LowerBoundLambda = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuBremsstrahlung52::SetUpperBoundLambda(G4double val) - {UpperBoundLambda = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuBremsstrahlung52::SetNbinLambda(G4int n) - {NbinLambda = n;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuBremsstrahlung52::GetLowerBoundLambda() - { return LowerBoundLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuBremsstrahlung52::GetUpperBoundLambda() - { return UpperBoundLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4MuBremsstrahlung52::GetNbinLambda() - {return NbinLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuBremsstrahlung52::BuildPhysicsTable( - const G4ParticleDefinition& aParticleType) -{ - if( !CutsWhereModified() && theLossTable) return; - - LowestKineticEnergy = GetLowerBoundEloss() ; - HighestKineticEnergy = GetUpperBoundEloss() ; - TotBin = GetNbinEloss() ; - - BuildLossTable(aParticleType) ; - - if(&aParticleType==G4MuonMinus::MuonMinus()) - { - RecorderOfmuminusProcess[CounterOfmuminusProcess] = (*this).theLossTable; - CounterOfmuminusProcess++; - } - else - { - RecorderOfmuplusProcess[CounterOfmuplusProcess] = (*this).theLossTable; - CounterOfmuplusProcess++; - } - - if( !theMeanFreePathTable ) MakeSamplingTables(&aParticleType) ; - - BuildLambdaTable(aParticleType) ; - - G4VMuEnergyLoss::BuildDEDXTable(aParticleType); - - if(&aParticleType == G4MuonPlus::MuonPlus()) PrintInfoDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuBremsstrahlung52::BuildLossTable( - const G4ParticleDefinition& aParticleType) -{ - G4double KineticEnergy,TotalEnergy,bremloss,Z, - loss,natom ; - - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} - theLossTable = new G4PhysicsTable(numOfCouples); - - secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(0); - G4double particleMass = aParticleType.GetPDGMass(); - - // loop for materials - // - for (size_t J=0; JGetMaterialCutsCouple(J); - const G4Material* material= couple->GetMaterial(); - - G4double Cut = SecondaryEnergyThreshold(J); - - const G4ElementVector* theElementVector = - material->GetElementVector() ; - const G4double* theAtomicNumDensityVector = - material->GetAtomicNumDensityVector() ; - const G4int NumberOfElements = material->GetNumberOfElements() ; - - for (G4int i=0; iGetLowEdgeEnergy(i) ; - TotalEnergy = KineticEnergy+particleMass ; - - if(Cut>KineticEnergy) Cut = KineticEnergy ; - bremloss = 0.; - - for (G4int iel=0; ielGetZ(); - natom = theAtomicNumDensityVector[iel] ; - loss = ComputeBremLoss((&aParticleType),Z, - (*theElementVector)[iel]->GetA(), - KineticEnergy,Cut) ; - bremloss += natom*loss ; - } - if(bremloss<0.) bremloss = 0. ; - - aVector->PutValue(i,bremloss); - } - theLossTable->insert(aVector); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuBremsstrahlung52::ComputeBremLoss( - const G4ParticleDefinition* aParticleType, - G4double AtomicNumber,G4double AtomicMass, - G4double KineticEnergy,G4double GammaEnergyCut) -{ - G4double TotalEnergy,vcut,vmax,aaa,bbb,hhh,aa,x,ep ; - G4int kkk ; - G4double ak1=0.05 ; - G4int k2=5 ; - G4double xgi[]={0.03377,0.16940,0.38069,0.61931,0.83060,0.96623}; - G4double wgi[]={0.08566,0.18038,0.23396,0.23396,0.18038,0.08566}; - G4double loss = 0. ; - - G4double particleMass = aParticleType->GetPDGMass(); - TotalEnergy=KineticEnergy+particleMass ; - vcut = GammaEnergyCut/TotalEnergy ; - vmax = KineticEnergy/TotalEnergy ; - - aaa=0.; - bbb=vcut ; - if(vcut>vmax) bbb=vmax ; - kkk=int((bbb-aaa)/ak1)+k2 ; - hhh=(bbb-aaa)/float(kkk) ; - - for(G4int l=0; lGetTableSize(); - - //create table - if (theMeanFreePathTable) {theMeanFreePathTable->clearAndDestroy(); - delete theMeanFreePathTable; - } - theMeanFreePathTable = new G4PhysicsTable(numOfCouples); - - PartialSumSigma.clearAndDestroy(); - PartialSumSigma.resize(numOfCouples); - - G4PhysicsLogVector* ptrVector; - for ( size_t J=0; JGetMaterialCutsCouple(J); - - for ( G4int i = 0 ; i < NbinLambda ; i++ ) - { - LowEdgeEnergy = ptrVector->GetLowEdgeEnergy( i ) ; - Value = ComputeMeanFreePath( &ParticleType, LowEdgeEnergy, couple); - ptrVector->PutValue( i , Value ) ; - } - - theMeanFreePathTable->insertAt( J , ptrVector ); - - // Compute the PartialSumSigma table at a given fixed energy - ComputePartialSumSigma( &ParticleType, FixedEnergy, couple) ; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuBremsstrahlung52::ComputePartialSumSigma( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4MaterialCutsCouple* couple) -// Build the table of cross section per element. -// The table is built for MATERIALS. -// This table is used by DoIt to select randomly an element in the material. -{ - const G4Material* aMaterial = couple->GetMaterial(); - size_t index = couple->GetIndex(); - G4int NbOfElements = aMaterial->GetNumberOfElements(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - const G4double* theAtomNumDensityVector = - aMaterial->GetAtomicNumDensityVector(); - G4double GammaEnergyCut = SecondaryEnergyThreshold(index); - - PartialSumSigma[index] = new G4DataVector(); - - G4double SIGMA = 0. ; - - for ( G4int Ielem=0 ; Ielem < NbOfElements ; Ielem++ ) - { - SIGMA += theAtomNumDensityVector[Ielem] * - ComputeMicroscopicCrossSection( ParticleType, KineticEnergy, - (*theElementVector)[Ielem]->GetZ(), - (*theElementVector)[Ielem]->GetA(), - GammaEnergyCut ); - PartialSumSigma[index]->push_back(SIGMA); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuBremsstrahlung52::ComputeMicroscopicCrossSection( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double AtomicMass, - G4double GammaEnergyCut) -// Cross section is calculated according to a formula of R.Kokoulin. -{ - G4double TotalEnergy,vcut,vmax,aaa,bbb,hhh,aa,x,ep ; - G4int kkk ; - G4double ak1=2.3 ; - G4int k2=4 ; - G4double xgi[]={0.03377,0.16940,0.38069,0.61931,0.83060,0.96623}; - G4double wgi[]={0.08566,0.18038,0.23396,0.23396,0.18038,0.08566}; - G4double CrossSection = 0. ; - - G4double particleMass = ParticleType->GetPDGMass(); - TotalEnergy=KineticEnergy+particleMass ; - vcut = GammaEnergyCut/TotalEnergy ; - vmax = KineticEnergy/TotalEnergy ; - if(vmax <= vcut) return CrossSection; - - // numerical integration - aaa=log(vcut) ; - bbb=log(vmax); - kkk=int((bbb-aaa)/ak1)+k2 ; - hhh=(bbb-aaa)/float(kkk) ; - - for(G4int l=0; lGetPDGMass(); - - static const G4double sqrte=sqrt(exp(1.)) ; - static const G4double bh=202.4,bh1=446.,btf=183.,btf1=1429. ; - static const G4double rmass=particleMass/electron_mass_c2 ; - static const G4double cc=classic_electr_radius/rmass ; - static const G4double coeff= 16.*fine_structure_const*cc*cc/3. ; - - G4double dxsection = 0.; - - if( GammaEnergy > KineticEnergy) return dxsection ; - - G4double A = AtomicMass/(g/mole) ; // !!!!!!!!!!!!!!!!!!! - G4double E=KineticEnergy+particleMass ; - G4double v=GammaEnergy/E ; - G4double delta=0.5*particleMass*particleMass*v/(E-GammaEnergy) ; - G4double rab0=delta*sqrte ; - - G4double z13=exp(-log(AtomicNumber)/3.) ; - G4double dn=1.54*exp(0.27*log(A)) ; - - G4double b,b1,dnstar ; - - if(AtomicNumber<1.5) - { - b=bh; - b1=bh1; - dnstar=dn ; - } - else - { - b=btf; - b1=btf1; - dnstar = exp((1.-1./AtomicNumber)*log(dn)) ; - } - - // nucleus contribution logarithm - G4double rab1=b*z13; - G4double fn=log(rab1/(dnstar*(electron_mass_c2+rab0*rab1))* - (particleMass+delta*(dnstar*sqrte-2.))) ; - if(fn <0.) fn = 0. ; - // electron contribution logarithm - G4double epmax1=E/(1.+0.5*particleMass*rmass/E) ; - G4double fe=0.; - if(GammaEnergyGetPDGMass() ; - - for (G4int iz=0; iz 0.) - { - for(G4int ib=0; ib<=nbin; ib++) - { - proba[iz][it][ib] /= CrossSection ; - } - } - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -G4VParticleChange* G4MuBremsstrahlung52::PostStepDoIt(const G4Track& trackData, - const G4Step& stepData) -{ - - static G4double ysmall = -100. ; - static G4double ytablelow = -5. ; - - aParticleChange.Initialize(trackData); - const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); - - const G4DynamicParticle* aDynamicParticle=trackData.GetDynamicParticle(); - - G4double KineticEnergy = aDynamicParticle->GetKineticEnergy(); - G4ParticleMomentum ParticleDirection = - aDynamicParticle->GetMomentumDirection(); - - // Gamma cut in this material - G4double GammaEnergyCut = SecondaryEnergyThreshold(couple->GetIndex()); - - // check against insufficient energy - if(KineticEnergy < GammaEnergyCut) - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - - // select randomly one element constituing the material - const G4Element* anElement = SelectRandomAtom(couple); - - G4double TotalEnergy=KineticEnergy+aDynamicParticle-> - GetDefinition()->GetPDGMass() ; - - G4double dy = 5./G4float(NBIN) ; - - G4double ymin=log(log(GammaEnergyCut/CutFixed)/log(KineticEnergy/CutFixed)) ; - - if(ymin < ysmall) - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - - // sampling using tables - //G4double v,xc,x,yc,y ; - //G4int iZ,iT,iy ; - G4double v,x,y ; - G4int iy; - // select sampling table ; - G4double lnZ = log(anElement->GetZ()) ; - G4double delmin = 1.e10 ; - G4double del ; - G4int izz = 0; - G4int itt = 0; - G4int NBINminus1; - NBINminus1 = NBIN-1 ; - for (G4int iz=0; iz (proba[izz][itt][iy]-proba[izz][itt][iymin])/delmin) - &&(iy < NBINminus1)) ; - - //sampling is Done uniformly in y in the bin - y = ya[iy] + G4UniformRand() * ( ya[iy+1] - ya[iy] ) ; - } - - x = exp(y) ; - - v = CutFixed*exp(x*log(KineticEnergy/CutFixed)) ; - if( v <= 0.) - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - - // create G4DynamicParticle object for the Gamma - G4double GammaEnergy = v; - - // angles of the emitted gamma. ( Z - axis along the parent particle) - // Teta = electron_mass_c2/TotalEnergy for the moment ..... - - G4double Teta = electron_mass_c2/TotalEnergy ; - G4double Phi = twopi * G4UniformRand() ; - G4double dirx = sin(Teta)*cos(Phi) , diry = sin(Teta)*sin(Phi) , - dirz = cos(Teta) ; - - G4ThreeVector GammaDirection ( dirx, diry, dirz); - GammaDirection.rotateUz(ParticleDirection); - - G4DynamicParticle* aGamma= new G4DynamicParticle (G4Gamma::Gamma(), - GammaDirection, GammaEnergy); - - aParticleChange.SetNumberOfSecondaries(1); - aParticleChange.AddSecondary(aGamma); - - // Update the incident particle - G4double NewKinEnergy = KineticEnergy - GammaEnergy; - if (NewKinEnergy > 0.) - { - aParticleChange.ProposeMomentumDirection(ParticleDirection); - aParticleChange.ProposeEnergy(NewKinEnergy); - aParticleChange.ProposeLocalEnergyDeposit (0.); - } - else - { - aParticleChange.ProposeEnergy(0.); - aParticleChange.ProposeLocalEnergyDeposit (0.); - aParticleChange.ProposeTrackStatus(fStopButAlive); - } - - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -const G4Element* G4MuBremsstrahlung52::SelectRandomAtom( - const G4MaterialCutsCouple* couple) const -{ - // select randomly 1 element within the material - size_t index = couple->GetIndex(); - const G4Material* aMaterial = couple->GetMaterial(); - const G4int NumberOfElements = aMaterial->GetNumberOfElements(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - - G4double rval = G4UniformRand() - *((*PartialSumSigma[index])[NumberOfElements-1]); - for ( G4int i=0; i < NumberOfElements; i++ ) - if (rval <= (*PartialSumSigma[index])[i]) return ((*theElementVector)[i]); - G4cout << " WARNING !!! - The Material " << aMaterial->GetName() - << " has no elements, NULL pointer returned." << G4endl; - return NULL; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuBremsstrahlung52::PrintInfoDefinition() -{ - G4String comments = "theoretical cross section \n "; - comments += " Good description up to 1000 PeV."; - - G4cout << G4endl << GetProcessName() << ": " << comments - << "\n PhysicsTables from " << G4BestUnit(LowerBoundLambda, - "Energy") - << " to " << G4BestUnit(UpperBoundLambda,"Energy") - << " in " << NbinLambda << " bins. \n"; - G4cout << " WARNING: This process is obsolete and will be soon removed" - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc b/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc index 667f7f5c64..ca670d445f 100644 --- a/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc +++ b/source/processes/electromagnetic/muons/src/G4MuBremsstrahlungModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuBremsstrahlungModel.cc,v 1.21 2006/06/29 19:49:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuBremsstrahlungModel.cc,v 1.22 2007/05/22 17:35:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -497,17 +497,17 @@ void G4MuBremsstrahlungModel::MakeSamplingTables() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -vector* G4MuBremsstrahlungModel::SampleSecondaries( - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double tmin, - G4double maxEnergy) +void G4MuBremsstrahlungModel::SampleSecondaries(std::vector* vdp, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) { G4double kineticEnergy = dp->GetKineticEnergy(); // check against insufficient energy G4double tmax = min(kineticEnergy, maxEnergy); - if(tmin >= tmax) return 0; + if(tmin >= tmax) return; static const G4double ysmall = -100. ; static const G4double ytablelow = -5. ; @@ -525,7 +525,7 @@ vector* G4MuBremsstrahlungModel::SampleSecondaries( // This sampling should be checked!!! VI G4double ymin=log(log(tmin/cutFixed)/log(tmax/cutFixed)); - if(ymin < ysmall) return 0; + if(ymin < ysmall) return; // sampling using tables @@ -614,11 +614,8 @@ vector* G4MuBremsstrahlungModel::SampleSecondaries( fParticleChange->SetProposedMomentumDirection(partDirection); // save secondary - G4DynamicParticle* aGamma = new G4DynamicParticle(theGamma,gDirection,gEnergy); - vector* vdp = new vector; + G4DynamicParticle* aGamma = new G4DynamicParticle(theGamma,gDirection,gEnergy); vdp->push_back(aGamma); - - return vdp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/muons/src/G4MuIonisation.cc b/source/processes/electromagnetic/muons/src/G4MuIonisation.cc index d380f2cdfa..18f93c8b74 100644 --- a/source/processes/electromagnetic/muons/src/G4MuIonisation.cc +++ b/source/processes/electromagnetic/muons/src/G4MuIonisation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuIonisation.cc,v 1.53 2006/06/29 19:49:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuIonisation.cc,v 1.54 2007/05/22 17:35:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -98,10 +98,6 @@ G4MuIonisation::G4MuIonisation(const G4String& name) theBaseParticle(0), isInitialised(false) { - SetDEDXBinning(120); - SetLambdaBinning(120); - SetMinKinEnergy(0.1*keV); - SetMaxKinEnergy(100.0*TeV); SetStepFunction(0.2, 1*mm); SetIntegral(true); SetVerboseLevel(1); diff --git a/source/processes/electromagnetic/muons/src/G4MuIonisation52.cc b/source/processes/electromagnetic/muons/src/G4MuIonisation52.cc deleted file mode 100644 index 3192783147..0000000000 --- a/source/processes/electromagnetic/muons/src/G4MuIonisation52.cc +++ /dev/null @@ -1,583 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MuIonisation52.cc,v 1.6 2006/10/16 15:31:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// --------------- G4MuIonisation52 physics process ------------------------------ -// by Laszlo Urban, September 1997 -// ----------------------------------------------------------------------------- -// -// 08-04-98 remove 'tracking cut' of the ionizing particle (mma) -// 26-10-98 new stuff from R.Kokoulin + cleanup , L.Urban -// 10-02-00 modifications , new e.m. structure, L.Urban -// 23-03-01 R.Kokoulin's correction is commented out, L.Urban -// 29-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 10-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 28-08-01 new function ComputeRestrictedMeandEdx() + 'cleanup' (mma) -// 17-09-01 migration of Materials to pure STL (mma) -// 26-09-01 completion of RetrievePhysicsTable (mma) -// 29-10-01 all static functions no more inlined (mma) -// 07-11-01 correction(Tmax+xsection computation) L.Urban -// 08-11-01 particleMass becomes a local variable (mma) -// 04-12-02 fix misprint in majorant in PostStep (VI) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 26-04-03 fix problems of retrieve tables (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 08-11-04 Remove interface of Store/Retrieve tables (V.Ivantchenko) -// ----------------------------------------------------------------------------- - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4MuIonisation52.hh" -#include "G4UnitsTable.hh" -#include "G4ProductionCutsTable.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuIonisation52::LowerBoundLambda = 1.*keV; -G4double G4MuIonisation52::UpperBoundLambda = 1000000.*TeV; -G4int G4MuIonisation52::NbinLambda = 150; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4MuIonisation52::G4MuIonisation52(const G4String& processName) - : G4VMuEnergyLoss(processName), - theMeanFreePathTable(0) -{ } - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4MuIonisation52::~G4MuIonisation52() -{ - if (theMeanFreePathTable) { - theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuIonisation52::SetLowerBoundLambda(G4double val) - {LowerBoundLambda = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuIonisation52::SetUpperBoundLambda(G4double val) - {UpperBoundLambda = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuIonisation52::SetNbinLambda(G4int n) - {NbinLambda = n;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuIonisation52::GetLowerBoundLambda() - { return LowerBoundLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuIonisation52::GetUpperBoundLambda() - { return UpperBoundLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4MuIonisation52::GetNbinLambda() - {return NbinLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuIonisation52::BuildPhysicsTable(const G4ParticleDefinition& ParticleType) -// just call BuildLossTable+BuildLambdaTable -{ - if( !CutsWhereModified() && theLossTable) return; - - // get bining from EnergyLoss - LowestKineticEnergy = GetLowerBoundEloss(); - HighestKineticEnergy = GetUpperBoundEloss(); - TotBin = GetNbinEloss(); - - BuildLossTable(ParticleType); - - if (ParticleType.GetPDGCharge() > 0.) - { - RecorderOfmuplusProcess[CounterOfmuplusProcess] = (*this).theLossTable; - CounterOfmuplusProcess++; - } - else - { - RecorderOfmuminusProcess[CounterOfmuminusProcess] = (*this).theLossTable; - CounterOfmuminusProcess++; - } - - BuildLambdaTable(ParticleType); - - G4VMuEnergyLoss::BuildDEDXTable(ParticleType); - - if(&ParticleType == G4MuonPlus::MuonPlus()) PrintInfoDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuIonisation52::BuildLossTable(const G4ParticleDefinition& aParticleType) -{ - - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} - theLossTable = new G4PhysicsTable(numOfCouples); - - secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); - - // loop for materials - // - for (size_t J=0; JGetMaterialCutsCouple(J); - const G4Material* material= couple->GetMaterial(); - - // get electron cut in kinetic energy for the material - G4double DeltaThreshold = SecondaryEnergyThreshold(J); - - // now comes the loop for the kinetic energy values - - for (G4int i = 0 ; i < TotBin ; i++) - { - G4double dEdx = ComputeRestrictedMeandEdx(aParticleType, - aVector->GetLowEdgeEnergy(i), - material, - DeltaThreshold); - aVector->PutValue(i,dEdx); - } - theLossTable->insert(aVector); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuIonisation52::BuildLambdaTable(const G4ParticleDefinition& aParticleType) -{ - - if(0 < verboseLevel) { - G4cout << "G4MuIonisation52::BuildLambdaTable() for process " - << GetProcessName() << " and particle " - << aParticleType.GetParticleName() << G4endl; - } - - //create table - // - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - if (theMeanFreePathTable) - { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} - - theMeanFreePathTable = new G4PhysicsTable(numOfCouples); - - secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); - - // loop for materials - - for (size_t J=0 ; J < numOfCouples; J++) - { - - //create physics vector then fill it .... - G4PhysicsLogVector* aVector = new G4PhysicsLogVector( - LowerBoundLambda,UpperBoundLambda,NbinLambda); - - // compute the (macroscopic) cross section first - const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(J); - const G4Material* material= couple->GetMaterial(); - - const G4ElementVector* theElementVector = material->GetElementVector(); - const G4double* NbOfAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); - G4int NumberOfElements = material->GetNumberOfElements(); - - // get the electron kinetic energy cut for the actual material, - // it will be used in ComputeCrossSectionPerAtom - // ( --> it will be the same for all the elements in this material) - G4double DeltaThreshold = SecondaryEnergyThreshold(J); - - for ( G4int i = 0 ; i < NbinLambda ; i++ ) - { - G4double LowEdgeEnergy = aVector->GetLowEdgeEnergy(i); - G4double sigma = 0.; - for (G4int iel=0; ielGetZ(), - DeltaThreshold); - } - - // mean free path = 1./macroscopic cross section - G4double Value = sigma > DBL_MIN ? 1./sigma : DBL_MAX; - aVector->PutValue(i, Value); - } - theMeanFreePathTable->insert(aVector); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuIonisation52::ComputeRestrictedMeandEdx ( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - const G4Material* material, - G4double DeltaThreshold) -{ - // calculate the dE/dx due to the ionization process (Geant4 internal units) - // Bethe-Bloch formula - // - G4double particleMass = aParticleType.GetPDGMass(); - - G4double ElectronDensity = material->GetElectronDensity(); - G4double Eexc = material->GetIonisation()->GetMeanExcitationEnergy(); - G4double Eexc2 = Eexc*Eexc; - - G4double tau = KineticEnergy/particleMass; - G4double gamma = tau + 1., bg2 = tau*(tau+2.), beta2 = bg2/(gamma*gamma); - G4double RateMass = electron_mass_c2/particleMass; - G4double Tmax=2.*electron_mass_c2*bg2/(1.+2.*gamma*RateMass+RateMass*RateMass); - - G4double taul = material->GetIonisation()->GetTaul(); - - G4double dEdx = 0.; - // - // high energy part , Bethe-Bloch formula - // - if (tau > taul) - { - G4double rcut = min(DeltaThreshold/Tmax, 1.); - dEdx = log(2.*electron_mass_c2*bg2*Tmax/Eexc2) - +log(rcut)-(1.+rcut)*beta2; - - //density correction - G4double Cden = material->GetIonisation()->GetCdensity(); - G4double Mden = material->GetIonisation()->GetMdensity(); - G4double Aden = material->GetIonisation()->GetAdensity(); - G4double X0den = material->GetIonisation()->GetX0density(); - G4double X1den = material->GetIonisation()->GetX1density(); - - const G4double twoln10 = 2.*log(10.); - G4double x = log(bg2)/twoln10; - G4double delta; - if (x < X0den) delta = 0.; - else {delta = twoln10*x - Cden; - if (x < X1den) delta += Aden*pow((X1den-x),Mden); - } - - // shell correction - G4double* ShellCorrectionVector = material->GetIonisation()-> - GetShellCorrectionVector(); - const G4double bg2lim = 0.0169, taulim = 8.4146e-3; - G4double sh = 0., xs = 1.; - if (bg2 > bg2lim) for (G4int k=0; k<3; k++) - {xs *= bg2; sh += ShellCorrectionVector[k]/xs;} - else { for (G4int k=0; k<3; k++) - {xs *= bg2lim; sh += ShellCorrectionVector[k]/xs;} - sh *= log(tau/taul)/log(taulim/taul); - } - - // now you can compute the total ionization loss - dEdx -= (delta + sh); dEdx /= beta2; - - // correction of R. Kokoulin // has been taken out *************** - // G4double E = KineticEnergy+particleMass; - // G4double epmax = RateMass*E*E/(RateMass*E+particleMass); - // G4double apar = log(2.*epmax/electron_mass_c2); - // dEdx += fine_structure_const*(log(2.*E/particleMass)-apar/3.)* - // apar*apar/twopi; - - dEdx *= twopi_mc2_rcl2*ElectronDensity; - if (dEdx < 0.) dEdx = 0.; - } - // - // low energy part , parametrized energy loss formulae - // - if (tau <= taul) - { - // get elements in the actual material, - const G4ElementVector* theElementVector = material->GetElementVector(); - const G4double* NbOfAtomsPerVolume=material->GetVecNbOfAtomsPerVolume(); - G4int NumberOfElements = material->GetNumberOfElements(); - - // loop for the elements in the material - dEdx = 0.; - for (G4int iel=0; ielGetIonisation()->GetTau0()) - dEdx += NbOfAtomsPerVolume[iel] - *(element->GetIonisation()->GetAlow()*sqrt(tau) - + element->GetIonisation()->GetBlow()*tau); - else - dEdx += NbOfAtomsPerVolume[iel] - * element->GetIonisation()->GetClow()/sqrt(tau); - } - G4double deltaloss = 0.; - if (DeltaThreshold < Tmax) - { - deltaloss = log(Tmax/DeltaThreshold)- - beta2*(1.-DeltaThreshold/Tmax) ; - if (aParticleType.GetPDGSpin() == 0.5) - deltaloss += 0.25*(Tmax-DeltaThreshold)*(Tmax-DeltaThreshold)/ - (KineticEnergy*KineticEnergy+proton_mass_c2*proton_mass_c2); - deltaloss *= twopi_mc2_rcl2*ElectronDensity/beta2; - } - dEdx -= deltaloss; - if (dEdx < 0.) dEdx = 0.; - } - return dEdx; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuIonisation52::ComputeCrossSectionPerAtom( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double DeltaThreshold) -{ - // calculates the totalcross section per atom in GEANT4 internal units - // ( it is called for elements , AtomicNumber = Z ) - // - - G4double particleMass = aParticleType.GetPDGMass(); - G4double TotalEnergy = KineticEnergy + particleMass; - G4double tempvar = particleMass+electron_mass_c2; - G4double KnockonMaxEnergy = 2.*electron_mass_c2*KineticEnergy - *(TotalEnergy+particleMass) - /(tempvar*tempvar+2.*electron_mass_c2*KineticEnergy); - - G4double TotalCrossSection = 0.; - if (KnockonMaxEnergy <= DeltaThreshold) return TotalCrossSection; - - const G4double xgi[] = {0.06943,0.33001,0.66999,0.93057}; - const G4double wgi[] = {0.17393,0.32607,0.32607,0.17393}; - const G4double ak1 = 4.6; - const G4int k2 = 2; - - G4double aaa = log(DeltaThreshold); - G4double bbb = log(KnockonMaxEnergy); - G4int kkk = int((bbb-aaa)/ak1)+k2; - G4double hhh = (bbb-aaa)/kkk; - G4double step = exp(hhh); - G4double ymax = 1./KnockonMaxEnergy; - - for (G4int k=0; k= KnockonMaxEnergy) return DifCrossSection; - - G4double v = KnockonEnergy/TotalEnergy; - DifCrossSection = twopi_mc2_rcl2*AtomicNumber* - (1.-betasquare*KnockonEnergy/KnockonMaxEnergy+0.5*v*v)/ - (betasquare*KnockonEnergy*KnockonEnergy); - G4double a1 = log(1.+2.*KnockonEnergy/electron_mass_c2); - G4double a3 = log(4.*TotalEnergy*(TotalEnergy-KnockonEnergy)/ - (particleMass*particleMass)); - DifCrossSection *= (1.+alphaprime*a1*(a3-a1)); - - return DifCrossSection; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4MuIonisation52::PostStepDoIt(const G4Track& trackData, - const G4Step& stepData) -{ - aParticleChange.Initialize(trackData); - - const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); - const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); - - G4double particleMass = aParticle->GetDefinition()->GetPDGMass(); - G4double KineticEnergy = aParticle->GetKineticEnergy(); - G4double TotalEnergy = KineticEnergy + particleMass; - G4double Psquare = KineticEnergy*(TotalEnergy+particleMass); - G4double Esquare = TotalEnergy*TotalEnergy; - G4double betasquare=Psquare/Esquare; - G4double summass = particleMass + electron_mass_c2; - G4double MaxKineticEnergyTransfer = 2.*electron_mass_c2*Psquare - /(summass*summass+2.*electron_mass_c2*KineticEnergy); - G4ParticleMomentum ParticleDirection = aParticle->GetMomentumDirection(); - - // get electron cut in kinetic energy - G4double DeltaThreshold = SecondaryEnergyThreshold(couple->GetIndex()); - - // sampling kinetic energy of the delta ray - // - if (MaxKineticEnergyTransfer <= DeltaThreshold) - // pathological case (it should not happen, there is no change at all) - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - - // normal case - G4double xc = DeltaThreshold/MaxKineticEnergyTransfer; - G4double rate = MaxKineticEnergyTransfer/TotalEnergy; - G4double te2 = 0.5*rate*rate; - - // sampling follows ... - G4double x,twoep,a1,grej; - const G4double alphaprime = fine_structure_const/twopi; - G4double a0=log(2.*TotalEnergy/particleMass); - G4double grejc=(1.-xc*betasquare+te2)*(1.+ alphaprime*a0*a0); - do { x=xc/(1.-(1.-xc)*G4UniformRand()); - twoep = 2.*x*MaxKineticEnergyTransfer; - a1 = log(1.+twoep/electron_mass_c2); - grej = (1.-x*(betasquare-x*te2))*(1.+alphaprime*a1* - (a0+log((2.*TotalEnergy-twoep)/particleMass)-a1))/grejc ; - } while(G4UniformRand() > grej); - - G4double DeltaKineticEnergy = x * MaxKineticEnergyTransfer; - - if (DeltaKineticEnergy <= 0.) - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - - G4double DeltaTotalMomentum = sqrt(DeltaKineticEnergy * (DeltaKineticEnergy + - 2. * electron_mass_c2 )); - G4double TotalMomentum = sqrt(Psquare); - G4double costheta = DeltaKineticEnergy * (TotalEnergy + electron_mass_c2) - /(DeltaTotalMomentum * TotalMomentum); - - if (costheta < -1.) costheta = -1.; - if (costheta > +1.) costheta = +1.; - - // direction of the delta electron - // - G4double phi = twopi * G4UniformRand(); - G4double sintheta = sqrt((1.+costheta)*(1.-costheta)); - G4double dirx = sintheta*cos(phi), diry = sintheta*sin(phi), dirz = costheta; - - G4ThreeVector DeltaDirection(dirx,diry,dirz); - DeltaDirection.rotateUz(ParticleDirection); - - // create G4DynamicParticle object for delta ray - // - G4DynamicParticle *theDeltaRay = new G4DynamicParticle; - theDeltaRay->SetKineticEnergy( DeltaKineticEnergy ); - theDeltaRay->SetMomentumDirection( - DeltaDirection.x(),DeltaDirection.y(),DeltaDirection.z()); - theDeltaRay->SetDefinition(G4Electron::Electron()); - - // fill aParticleChange - // - G4double finalKineticEnergy = KineticEnergy - DeltaKineticEnergy; - - if (finalKineticEnergy > 0.) - { - G4double finalPx = TotalMomentum*ParticleDirection.x() - - DeltaTotalMomentum*DeltaDirection.x(); - G4double finalPy = TotalMomentum*ParticleDirection.y() - - DeltaTotalMomentum*DeltaDirection.y(); - G4double finalPz = TotalMomentum*ParticleDirection.z() - - DeltaTotalMomentum*DeltaDirection.z(); - G4double finalMomentum = - sqrt(finalPx*finalPx+finalPy*finalPy+finalPz*finalPz); - finalPx /= finalMomentum; - finalPy /= finalMomentum; - finalPz /= finalMomentum; - aParticleChange.ProposeMomentumDirection(finalPx,finalPy,finalPz); - } - else - { - finalKineticEnergy = 0.; - aParticleChange.ProposeTrackStatus(fStopButAlive); - } - - aParticleChange.ProposeEnergy( finalKineticEnergy ); - aParticleChange.SetNumberOfSecondaries(1); - aParticleChange.AddSecondary(theDeltaRay); - aParticleChange.ProposeLocalEnergyDeposit (0.); - - //ResetNumberOfInteractionLengthLeft(); -return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuIonisation52::PrintInfoDefinition() -{ - G4String comments = " Knock-on electron cross sections . " - "\n Good description above the mean excitation energy.\n" - " delta ray energy sampled from differential Xsection."; - - G4cout << G4endl << GetProcessName() << ": " << comments - << "\n PhysicsTables from " << G4BestUnit(LowerBoundLambda, - "Energy") - << " to " << G4BestUnit(UpperBoundLambda,"Energy") - << " in " << NbinLambda << " bins. \n"; - G4cout << " WARNING: This process is obsolete and will be soon removed" - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc b/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc index f9cc1906ae..5d9b753e87 100644 --- a/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc +++ b/source/processes/electromagnetic/muons/src/G4MuPairProduction.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuPairProduction.cc,v 1.47 2006/06/29 19:49:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MuPairProduction.cc,v 1.48 2007/05/22 17:35:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -88,12 +88,7 @@ G4MuPairProduction::G4MuPairProduction(const G4String& name) theBaseParticle(0), lowestKinEnergy(1.*GeV), isInitialised(false) -{ - SetDEDXBinning(120); - SetLambdaBinning(120); - SetMinKinEnergy(0.1*keV); - SetMaxKinEnergy(100.0*TeV); -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/muons/src/G4MuPairProduction52.cc b/source/processes/electromagnetic/muons/src/G4MuPairProduction52.cc deleted file mode 100644 index 20cecc4b1d..0000000000 --- a/source/processes/electromagnetic/muons/src/G4MuPairProduction52.cc +++ /dev/null @@ -1,922 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MuPairProduction52.cc,v 1.6 2006/10/16 15:31:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------- G4MuPairProduction52 physics process --------------------------- -// by Laszlo Urban, May 1998 -//------------------------------------------------------------------------------ -// 04-06-98 in DoIt,secondary production condition: -// range>std::min(threshold,safety) -// 26/10/98 new stuff from R. Kokoulin + cleanup , L.Urban -// 06/05/99 bug fixed , L.Urban -// 10/02/00 modifications+bug fix , new e.m. structure, L.Urban -// 29/05/01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 10-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 17-09-01 migration of Materials to pure STL (mma) -// 20-09-01 (L.Urban) in ComputeMicroscopicCrossSection, remove: -// if(MaxPairEnergyclearAndDestroy(); - delete theMeanFreePathTable; - } - - PartialSumSigma.clearAndDestroy(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuPairProduction52::SetLowerBoundLambda(G4double val) - {LowerBoundLambda = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuPairProduction52::SetUpperBoundLambda(G4double val) - {UpperBoundLambda = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuPairProduction52::SetNbinLambda(G4int n) - {NbinLambda = n;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuPairProduction52::GetLowerBoundLambda() - { return LowerBoundLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuPairProduction52::GetUpperBoundLambda() - { return UpperBoundLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - G4int G4MuPairProduction52::GetNbinLambda() - {return NbinLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuPairProduction52::BuildPhysicsTable( - const G4ParticleDefinition& aParticleType) -// just call BuildLossTable+BuildLambdaTable -{ - /* - G4cout << "G4MuPairProduction52: theLossTable= " << theLossTable - << " for " << aParticleType.GetParticleName() - << " cutsWereMod= " << CutsWhereModified() - << G4endl; - */ - if( !CutsWhereModified() && theLossTable) return; - - LowestKineticEnergy = GetLowerBoundEloss() ; - HighestKineticEnergy = GetUpperBoundEloss() ; - TotBin = GetNbinEloss() ; - - BuildLossTable(aParticleType) ; - - if(&aParticleType==G4MuonMinus::MuonMinus()) - { - RecorderOfmuminusProcess[CounterOfmuminusProcess] = (*this).theLossTable ; - CounterOfmuminusProcess++; - } - else - { - RecorderOfmuplusProcess[CounterOfmuplusProcess] = (*this).theLossTable ; - CounterOfmuplusProcess++; - } - - // sampling table should be made only once ! - if( !theMeanFreePathTable ) MakeSamplingTables(&aParticleType); - - BuildLambdaTable(aParticleType) ; - - G4VMuEnergyLoss::BuildDEDXTable(aParticleType); - - if(&aParticleType==G4MuonPlus::MuonPlus()) PrintInfoDefinition(); - /* - G4cout << "G4MuPairProduction52: theLossTable= " << theLossTable - << " theLambda= " << theMeanFreePathTable - << " for " << aParticleType.GetParticleName() - << G4endl; - */ -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuPairProduction52::BuildLossTable( - const G4ParticleDefinition& aParticleType) -{ - G4double KineticEnergy,TotalEnergy,pairloss,Z, - loss,natom,eCut,pCut ; - - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} - theLossTable = new G4PhysicsTable(numOfCouples); - - electronEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); - positronEnergyCuts = theCoupleTable->GetEnergyCutsVector(2); - - G4double particleMass = aParticleType.GetPDGMass(); - - // loop for materials - // - for (size_t J=0; JGetMaterialCutsCouple(J); - const G4Material* material= couple->GetMaterial(); - - G4double electronCut = (*electronEnergyCuts)[J] ; - G4double positronCut = (*positronEnergyCuts)[J] ; - const G4ElementVector* theElementVector = - material->GetElementVector() ; - const G4double* theAtomicNumDensityVector = - material->GetAtomicNumDensityVector() ; - const G4int NumberOfElements = - material->GetNumberOfElements() ; - - for (G4int i=0; iGetLowEdgeEnergy(i) ; - TotalEnergy = KineticEnergy+particleMass ; - - eCut = electronCut; - pCut = positronCut; - - if(eCut>KineticEnergy) - eCut = KineticEnergy ; - if(pCut>KineticEnergy) - pCut = KineticEnergy ; - - pairloss = 0.; - for (G4int iel=0; ielGetZ(); - natom = theAtomicNumDensityVector[iel] ; - loss = ComputePairLoss(&aParticleType, - Z,KineticEnergy,eCut,pCut) ; - pairloss += natom*loss ; - } - if(pairloss<0.) - pairloss = 0. ; - aVector->PutValue(i,pairloss); - } - - theLossTable->insert(aVector); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuPairProduction52::ComputePairLoss( - const G4ParticleDefinition* ParticleType, - G4double AtomicNumber, - G4double KineticEnergy, - G4double ElectronEnergyCut, - G4double PositronEnergyCut) -{ - static const G4double - xgi[] ={ 0.0199,0.1017,0.2372,0.4083,0.5917,0.7628,0.8983,0.9801 }; - static const G4double - wgi[] ={ 0.0506,0.1112,0.1569,0.1813,0.1813,0.1569,0.1112,0.0506 }; - static const G4double ak1=6.9 ; - static const G4double ak2=1.0 ; - static const G4double sqrte = sqrt(exp(1.)) ; - G4double z13 = exp(log(AtomicNumber)/3.) ; - - G4double loss = 0.0 ; - - if ( AtomicNumber < 1. ) return loss; - - G4double CutInPairEnergy = ElectronEnergyCut+PositronEnergyCut - +2.*electron_mass_c2 ; - if( CutInPairEnergy <= MinPairEnergy ) return loss ; - - G4double particleMass = ParticleType->GetPDGMass(); - G4double MaxPairEnergy = KineticEnergy+particleMass*(1.-0.75*sqrte*z13) ; - if(MaxPairEnergy < MinPairEnergy) - MaxPairEnergy = MinPairEnergy ; - - if( CutInPairEnergy >= MaxPairEnergy ) - CutInPairEnergy = MaxPairEnergy ; - - if(CutInPairEnergy <= MinPairEnergy) return loss ; - - G4double aaa,bbb,hhh,x,epln,ep ; - G4int kkk ; - // calculate the rectricted loss - // numerical integration in log(PairEnergy) - aaa = log(MinPairEnergy) ; - bbb = log(CutInPairEnergy) ; - kkk = int((bbb-aaa)/ak1+ak2) ; - hhh = (bbb-aaa)/kkk ; - - for (G4int l=0 ; lGetTableSize(); - - //create table - if (theMeanFreePathTable) {theMeanFreePathTable->clearAndDestroy(); - delete theMeanFreePathTable; - } - theMeanFreePathTable = new G4PhysicsTable(numOfCouples); - - PartialSumSigma.clearAndDestroy(); - PartialSumSigma.resize(numOfCouples); - - G4PhysicsLogVector* ptrVector; - for ( size_t J=0; JGetMaterialCutsCouple(J); - - for ( G4int i = 0 ; i < NbinLambda ; i++ ) - { - LowEdgeEnergy = ptrVector->GetLowEdgeEnergy( i ) ; - Value = ComputeMeanFreePath( &aParticleType, LowEdgeEnergy, couple); - ptrVector->PutValue( i , Value ) ; - } - - theMeanFreePathTable->insertAt( J , ptrVector ); - - // Compute the PartialSumSigma table at a given fixed energy - ComputePartialSumSigma( &aParticleType, FixedEnergy, couple) ; - } - /* - G4cout << "Is done theTable= " << theMeanFreePathTable - << " for " << aParticleType.GetParticleName() - << G4endl; - */ -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuPairProduction52::ComputePartialSumSigma( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4MaterialCutsCouple* couple) -{ - const G4Material* aMaterial = couple->GetMaterial(); - size_t index = couple->GetIndex(); - G4int NbOfElements = aMaterial->GetNumberOfElements(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - const G4double* theAtomNumDensityVector = aMaterial-> - GetAtomicNumDensityVector(); - G4double eCut = (*electronEnergyCuts)[index] ; - G4double pCut = (*positronEnergyCuts)[index] ; - - PartialSumSigma[index] = new G4DataVector(); - - G4double SIGMA = 0. ; - - for ( G4int Ielem=0 ; Ielem < NbOfElements ; Ielem++ ) - { - SIGMA += theAtomNumDensityVector[Ielem] * - ComputeMicroscopicCrossSection( ParticleType, KineticEnergy, - (*theElementVector)[Ielem]->GetZ(), - eCut,pCut ); - - PartialSumSigma[index]->push_back(SIGMA); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuPairProduction52::ComputeMicroscopicCrossSection( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double ElectronEnergyCut, - G4double PositronEnergyCut) - -{ - static const G4double - xgi[] ={ 0.0199,0.1017,0.2372,0.4083,0.5917,0.7628,0.8983,0.9801 }; - static const G4double - wgi[] ={ 0.0506,0.1112,0.1569,0.1813,0.1813,0.1569,0.1112,0.0506 }; - static const G4double ak1=6.9 ; - static const G4double ak2=1.0 ; - - static const G4double sqrte = sqrt(exp(1.)) ; - G4double z13 = exp(log(AtomicNumber)/3.) ; - - G4double CrossSection = 0.0 ; - - if ( AtomicNumber < 1. ) return CrossSection; - - G4double CutInPairEnergy = ElectronEnergyCut+PositronEnergyCut - +2.*electron_mass_c2 ; - - if( CutInPairEnergy < 4.*electron_mass_c2 ) - CutInPairEnergy = 4.*electron_mass_c2 ; - - G4double particleMass = ParticleType->GetPDGMass(); - G4double MaxPairEnergy = KineticEnergy+particleMass*(1.-0.75*sqrte*z13) ; - if( CutInPairEnergy >= MaxPairEnergy ) return CrossSection ; - - G4double aaa,bbb,hhh,x,epln,ep ; - G4int kkk ; - // calculate the total cross section - // numerical integration in log(PairEnergy) - aaa = log(CutInPairEnergy) ; - bbb = log(MaxPairEnergy) ; - kkk = int((bbb-aaa)/ak1+ak2) ; - hhh = (bbb-aaa)/kkk ; - for (G4int l=0 ; lGetPDGMass(); - - for (G4int iz=0; iz 0.) - { - for(G4int ib=0; ib<=nbin; ib++) - { - proba[iz][it][ib] /= CrossSection ; - - } - } - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuPairProduction52::ComputeDDMicroscopicCrossSection( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, G4double AtomicNumber, - G4double PairEnergy,G4double asymmetry) - // Calculates the double differential (DD) microscopic cross section - // using the cross section formula of R.P. Kokoulin (18/01/98) -{ - static const G4double sqrte = sqrt(exp(1.)) ; - - G4double bbbtf= 183. ; - G4double bbbh = 202.4 ; - G4double g1tf = 1.95e-5 ; - G4double g2tf = 5.3e-5 ; - G4double g1h = 4.4e-5 ; - G4double g2h = 4.8e-5 ; - - G4double particleMass = ParticleType->GetPDGMass(); - G4double massratio = particleMass/electron_mass_c2 ; - G4double massratio2 = massratio*massratio ; - G4double TotalEnergy = KineticEnergy + particleMass ; - G4double z13 = exp(log(AtomicNumber)/3.) ; - G4double z23 = z13*z13 ; - G4double EnergyLoss = TotalEnergy - PairEnergy ; - - G4double c3 = 3.*sqrte*particleMass/4. ; - - G4double DDCrossSection = 0. ; - - if(EnergyLoss <= c3*z13) - return DDCrossSection ; - - G4double c7 = 4.*electron_mass_c2 ; - G4double c8 = 6.*particleMass*particleMass ; - G4double alf = c7/PairEnergy ; - G4double a3 = 1. - alf ; - - if(a3 <= 0.) - return DDCrossSection ; - - // zeta calculation - G4double bbb,g1,g2,zeta1,zeta2,zeta,z2 ; - if( AtomicNumber < 1.5 ) - { - bbb = bbbh ; - g1 = g1h ; - g2 = g2h ; - } - else - { - bbb = bbbtf ; - g1 = g1tf ; - g2 = g2tf ; - } - zeta1 = 0.073 * log(TotalEnergy/(particleMass+g1*z23*TotalEnergy))-0.26 ; - if( zeta1 > 0.) - { - zeta2 = 0.058*log(TotalEnergy/(particleMass+g2*z13*TotalEnergy))-0.14 ; - zeta = zeta1/zeta2 ; - } - else - { - zeta = 0. ; - } - - z2 = AtomicNumber*(AtomicNumber+zeta) ; - - G4double screen0 = 2.*electron_mass_c2*sqrte*bbb/(z13*PairEnergy) ; - G4double a0 = TotalEnergy*EnergyLoss ; - G4double a1 = PairEnergy*PairEnergy/a0 ; - G4double bet = 0.5*a1 ; - G4double xi0 = 0.25*massratio2*a1 ; - G4double del = c8/a0 ; - - G4double romin = 0. ; - G4double romax = (1.-del)*sqrt(1.-c7/PairEnergy) ; - - if((asymmetry < romin) || (asymmetry > romax)) - return DDCrossSection ; - - G4double a4 = 1.-asymmetry ; - G4double a5 = a4*(2.-a4) ; - G4double a6 = 1.-a5 ; - G4double a7 = 1.+a6 ; - G4double a9 = 3.+a6 ; - G4double xi = xi0*a5 ; - G4double xii = 1./xi ; - G4double xi1 = 1.+xi ; - G4double screen = screen0*xi1/a5 ; - - G4double yeu = 5.-a6+4.*bet*a7 ; - G4double yed = 2.*(1.+3.*bet)*log(3.+xii)-a6-a1*(2.-a6) ; - G4double yel = 1.+yeu/yed ; - G4double ale=log(bbb/z13*sqrt(xi1*yel)/(1.+screen*yel)) ; - G4double cre = 0.5*log(1.+2.25/(massratio2*z23)*xi1*yel) ; - G4double be ; - if(xi <= 1.e3) - be = ((2.+a6)*(1.+bet)+xi*a9)*log(1.+xii)+(a5-bet)/xi1-a9; - else - be = (3.-a6+a1*a7)/(2.+xi) ; - G4double fe = (ale-cre)*be ; - if( fe < 0.) - fe = 0. ; - - G4double ymu = 4.+a6 +3.*bet*a7 ; - G4double ymd = a7*(1.5+a1)*log(3.+xi)+1.-1.5*a6 ; - G4double ym1 = 1.+ymu/ymd ; - G4double alm_crm = log(bbb*massratio/(1.5*z23*(1.+screen*ym1))) ; - G4double a10,bm ; - if( xi >= 1.e-3) - { - a10 = (1.+a1)*a5 ; - bm = (a7*(1.+1.5*bet)-a10*xii)*log(xi1)+xi*(a5-bet)/xi1+a10 ; - } - else - bm = (5.-a6+bet*a9)*(xi/2.) ; - G4double fm = alm_crm*bm ; - if( fm < 0.) - fm = 0. ; - - DDCrossSection = (fe+fm/massratio2) ; - - DDCrossSection *= 4.*fine_structure_const*fine_structure_const - *classic_electr_radius*classic_electr_radius/(3.*pi) ; - - DDCrossSection *= z2*EnergyLoss/(TotalEnergy*PairEnergy) ; - - - return DDCrossSection ; - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuPairProduction52::GetDMicroscopicCrossSection( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, G4double AtomicNumber, - G4double PairEnergy) -{ - return ComputeDMicroscopicCrossSection(ParticleType,KineticEnergy, - AtomicNumber,PairEnergy) ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MuPairProduction52::ComputeDMicroscopicCrossSection( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, G4double AtomicNumber, - G4double PairEnergy) - // Calculates the differential (D) microscopic cross section - // using the cross section formula of R.P. Kokoulin (18/01/98) -{ - - static const G4double - xgi[] ={ 0.0199,0.1017,0.2372,0.4083,0.5917,0.7628,0.8983,0.9801 }; - - static const G4double - wgi[] ={ 0.0506,0.1112,0.1569,0.1813,0.1813,0.1569,0.1112,0.0506 }; - - G4double DCrossSection = 0. ; - - G4double particleMass = ParticleType->GetPDGMass(); - G4double TotalEnergy = KineticEnergy + particleMass; - G4double EnergyLoss = TotalEnergy - PairEnergy ; - G4double a = 6.*particleMass*particleMass/(TotalEnergy*EnergyLoss) ; - G4double b = 4.*electron_mass_c2/PairEnergy ; - - if((b+2.*a*(1.-b))/(1.+(1.-a)*sqrt(1.-b)) <= 0.) return DCrossSection ; - - G4double tmn=log((b+2.*a*(1.-b))/(1.+(1.-a)*sqrt(1.-b))) ; - - // G4double DCrossSection = 0. ; - G4double ro ; -// Gaussian integration in ln(1-ro) ( with 8 points) - for (G4int i=0; i<7; i++) - { - ro = 1.-exp(tmn*xgi[i]) ; - - DCrossSection += (1.-ro)*ComputeDDMicroscopicCrossSection( - ParticleType,KineticEnergy, - AtomicNumber,PairEnergy,ro) - *wgi[i] ; - } - - DCrossSection *= -tmn ; - - return DCrossSection ; - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4MuPairProduction52::PostStepDoIt(const G4Track& trackData, - const G4Step& stepData) -{ - static const G4double esq = sqrt(exp(1.)); - - aParticleChange.Initialize(trackData); - const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); - size_t index = couple->GetIndex(); - - const G4DynamicParticle* aDynamicParticle=trackData.GetDynamicParticle(); - G4double KineticEnergy = aDynamicParticle->GetKineticEnergy(); - G4double particleMass = aDynamicParticle->GetDefinition()->GetPDGMass(); - G4ParticleMomentum ParticleDirection = - aDynamicParticle->GetMomentumDirection(); - - // e-e+ cut in this material - G4double eCut = (*electronEnergyCuts)[index] ; - G4double pCut = (*positronEnergyCuts)[index] ; - G4double CutInPairEnergy = eCut + pCut + 2.0*electron_mass_c2; - - if (CutInPairEnergy < MinPairEnergy) CutInPairEnergy = MinPairEnergy ; - - // check against insufficient energy - if(KineticEnergy < CutInPairEnergy ) - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - - // select randomly one element constituing the material - const G4Element* anElement = SelectRandomAtom(couple); - - // limits of the energy sampling - G4double TotalEnergy = KineticEnergy + particleMass ; - //G4double TotalMomentum = sqrt(KineticEnergy*(TotalEnergy+particleMass)) ; - G4double Z3 = anElement->GetIonisation()->GetZ3() ; - G4double MaxPairEnergy = TotalEnergy-0.75*esq*particleMass*Z3 ; - - if(MinPairEnergy >= MaxPairEnergy) - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - - // sample e-e+ energy, pair energy first - G4double PairEnergy,xc,x,yc,y ; - // G4int iZ,iT; - G4int iy ; - - // select sampling table ; - G4double lnZ = log(anElement->GetZ()) ; - G4double delmin = 1.e10 ; - G4double del ; - G4int izz = 0; - G4int itt = 0; - G4int NBINminus1 = NBIN-1; - for (G4int iz=0; iz eCut) - { - numberofsecondaries += 1; - flagelectron = 1; - G4ThreeVector ElectDirection ( dirx, diry, dirz ); - ElectDirection.rotateUz(ParticleDirection); - // create G4DynamicParticle object for the particle1 - aParticle1 = new G4DynamicParticle (G4Electron::Electron(), - ElectDirection, ElectKineEnergy); - } - else { LocalEnerDeposit += ElectKineEnergy;} - - // the e+ is always created (even with Ekine=0) for further annihilation. - // - G4double PositKineEnergy = PositronEnergy - electron_mass_c2; - if (PositKineEnergy < pCut) - { - LocalEnerDeposit += PositKineEnergy; - PositKineEnergy = 0.; - } - G4ThreeVector PositDirection ( -dirx, -diry, dirz ); - PositDirection.rotateUz(ParticleDirection); - // create G4DynamicParticle object for the particle2 - aParticle2= new G4DynamicParticle (G4Positron::Positron(), - PositDirection, PositKineEnergy); - - // fill particle change and update initial particle - aParticleChange.SetNumberOfSecondaries(numberofsecondaries) ; - if (flagelectron==1) aParticleChange.AddSecondary(aParticle1); - if (flagpositron==1) aParticleChange.AddSecondary(aParticle2); - - G4double NewKinEnergy = KineticEnergy - ElectronEnergy - PositronEnergy; - - aParticleChange.ProposeMomentumDirection(ParticleDirection); - - if (NewKinEnergy > 0.) aParticleChange.ProposeEnergy(NewKinEnergy); - else { aParticleChange.ProposeEnergy(0.); - aParticleChange.ProposeTrackStatus(fStopButAlive); - } - - aParticleChange.ProposeLocalEnergyDeposit(LocalEnerDeposit); - - //reset NumberOfinteractionLengthLeft() - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4Element* G4MuPairProduction52::SelectRandomAtom(const G4MaterialCutsCouple* couple) const -{ - // select randomly 1 element within the material - size_t index = couple->GetIndex(); - const G4Material* aMaterial = couple->GetMaterial(); - - const G4int NumberOfElements = aMaterial->GetNumberOfElements(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - - G4double rval = G4UniformRand()*((*PartialSumSigma[index]) - [NumberOfElements-1]); - - for ( G4int i=0; i < NumberOfElements; i++ ) - { - if (rval <= (*PartialSumSigma[index])[i]) return ((*theElementVector)[i]); - } - G4cout << " WARNING !!! - The Material '"<< aMaterial->GetName() - << "' has no elements, NULL pointer returned." << G4endl; - return 0; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MuPairProduction52::PrintInfoDefinition() -{ - G4String comments = "theoretical cross sections \n "; - comments += " Good description up to 1000 PeV."; - - G4cout << G4endl << GetProcessName() << ": " << comments - << "\n PhysicsTables from " << G4BestUnit(LowerBoundLambda, - "Energy") - << " to " << G4BestUnit(UpperBoundLambda,"Energy") - << " in " << NbinLambda << " bins. \n"; - G4cout << " WARNING: This process is obsolete and will be soon removed" - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - diff --git a/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc b/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc index 98d6eb7d87..500a702506 100644 --- a/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc +++ b/source/processes/electromagnetic/muons/src/G4MuPairProductionModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MuPairProductionModel.cc,v 1.31 2007/04/24 11:51:52 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4MuPairProductionModel.cc,v 1.33 2007/05/22 17:35:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -56,8 +56,9 @@ // 03-08-05 Add SetParticle method (V.Ivantchenko) // 23-10-05 Add protection in sampling of e+e- pair energy needed for // low cuts (V.Ivantchenko) -// 13-02-06 add ComputeCrossSectionPerAtom (mma) -// 24-04-07 add protection in SelectAtom method (V.Ivantchenko) +// 13-02-06 Add ComputeCrossSectionPerAtom (mma) +// 24-04-07 Add protection in SelectRandomAtom method (V.Ivantchenko) +// 12-05-06 Updated sampling (use cut) in SelectRandomAtom (A.Bogdanov) // // Class Description: @@ -470,11 +471,11 @@ void G4MuPairProductionModel::MakeSamplingTables() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -vector* G4MuPairProductionModel::SampleSecondaries( - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* aDynamicParticle, - G4double tmin, - G4double tmax) +void G4MuPairProductionModel::SampleSecondaries(std::vector* vdp, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* aDynamicParticle, + G4double tmin, + G4double tmax) { G4double kineticEnergy = aDynamicParticle->GetKineticEnergy(); G4double totalEnergy = kineticEnergy + particleMass ; @@ -487,13 +488,13 @@ vector* G4MuPairProductionModel::SampleSecondaries( G4double dt = log(kineticEnergy/tdat[it-1])/log(tdat[it]/tdat[it-1]); // select randomly one element constituing the material - const G4Element* anElement = SelectRandomAtom(kineticEnergy, dt, it, couple); + const G4Element* anElement = SelectRandomAtom(kineticEnergy, dt, it, couple, tmin); SetCurrentElement(anElement->GetZ()); G4double maxPairEnergy = MaxSecondaryEnergy(particle,kineticEnergy); G4double maxEnergy = std::min(tmax, maxPairEnergy); G4double minEnergy = std::max(tmin, minPairEnergy); - if(minEnergy >= maxEnergy) return 0; + if(minEnergy >= maxEnergy) return; //G4cout << "emin= " << minEnergy << " emax= " << maxEnergy // << " minPair= " << minPairEnergy << " maxpair= " << maxPairEnergy // << " ymin= " << ymin << " dy= " << dy << G4endl; @@ -594,18 +595,15 @@ vector* G4MuPairProductionModel::SampleSecondaries( kineticEnergy -= (ElectronEnergy + PositronEnergy); fParticleChange->SetProposedKineticEnergy(kineticEnergy); - vector* vdp = new vector; vdp->push_back(aParticle1); vdp->push_back(aParticle2); - - return vdp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... const G4Element* G4MuPairProductionModel::SelectRandomAtom( G4double kinEnergy, G4double dt, G4int it, - const G4MaterialCutsCouple* couple) + const G4MaterialCutsCouple* couple, G4double tmin) { // select randomly 1 element within the material @@ -628,18 +626,26 @@ const G4Element* G4MuPairProductionModel::SelectRandomAtom( G4double Z = ((*theElementVector)[i])->GetZ(); SetCurrentElement(Z); G4double maxPairEnergy = MaxSecondaryEnergy(particle,kinEnergy); + G4double minEnergy = std::max(tmin, minPairEnergy); G4int iz; for(iz=1; iz= nbiny) iy = nbiny-1; + G4double sigcut; + if(minEnergy <= minPairEnergy) + sigcut = 0.; + else + { + G4double xc = log(minEnergy/minPairEnergy)/log(maxPairEnergy/minPairEnergy); + G4int iy = (G4int)((log(xc) - ymin)/dy); + if(iy < 0) iy = 0; + if(iy >= nbiny) iy = nbiny-1; + sigcut = InterpolatedIntegralCrossSection(dt,dz,iz,it,iy, Z); + } G4double sigtot = InterpolatedIntegralCrossSection(dt,dz,iz,it,nbiny,Z); - G4double sigcut = InterpolatedIntegralCrossSection(dt,dz,iz,it,iy, Z); G4double dl = (sigtot - sigcut)*theAtomNumDensityVector[i]; // protection diff --git a/source/processes/electromagnetic/muons/src/G4VMuEnergyLoss.cc b/source/processes/electromagnetic/muons/src/G4VMuEnergyLoss.cc deleted file mode 100644 index 7065b37121..0000000000 --- a/source/processes/electromagnetic/muons/src/G4VMuEnergyLoss.cc +++ /dev/null @@ -1,747 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4VMuEnergyLoss.cc,v 1.32 2006/06/29 19:49:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -------------------------------------------------------------- -// GEANT 4 class implementation file -// -// History: first implementation, based on object model of -// 2nd December 1995, G.Cosmo -// ---------- G4VMuEnergyLoss physics process ----------- -// by Laszlo Urban, September 1997 -// ************************************************************** -// It is the implementation of the NEW UNIFIED ENERGY LOSS PROCESS. -// It calculates the energy loss of muons. -// ************************************************************** -// -// corrections by L.Urban on 27/05/98 (other corrs come soon!) -// cleanup L.Urban on 23/10/98 -// corrections due to new e.m. structure L.Urban 10/02/00 -// signature in GetLossWithFluct changed L.Urban 30/10/00 -// 29/05/01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 10/09/01 L.Urban : loss+ mechanism (subcutoff delta rays) implemented -// 12/09/01 min.delta cut is set as rcut/100 + some optimisation, L.Urban -// 17-09-01 migration of Materials to pure STL (mma) -// 28-09-01 suppression of theMuonPlus ..etc..data members (mma) -// 29-10-01 all static functions no more inlined (mma) -// 08-11-01 some small cosmetics , L.Urban -// 06-02-02 bug fixed at subcutoff definition, L.Urban -// 26-02-02 bug fixed in TouchebleHandle definition, V.Ivanchenko -// 29-05-02 bug fixed in N of subcutoff delta, V.Ivanchenko -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 25-03-03 add finalRangeRequested (mma) -// 09-04-03 finalRange is region aware (V.Ivanchenko) -// -------------------------------------------------------------- - - -#include "G4VMuEnergyLoss.hh" -#include "G4EnergyLossTables.hh" -#include "G4Poisson.hh" -#include "G4Navigator.hh" -#include "G4TransportationManager.hh" -#include "G4ProductionCutsTable.hh" - -// Initialisation of static members ******************************************* - -G4int G4VMuEnergyLoss::NbOfProcesses = 3 ; -G4PhysicsTable** G4VMuEnergyLoss::RecorderOfmuplusProcess = - new G4PhysicsTable*[10] ; -G4PhysicsTable** G4VMuEnergyLoss::RecorderOfmuminusProcess = - new G4PhysicsTable*[10] ; -G4int G4VMuEnergyLoss::CounterOfmuplusProcess = 0 ; -G4int G4VMuEnergyLoss::CounterOfmuminusProcess = 0 ; - - -G4PhysicsTable* G4VMuEnergyLoss::theDEDXmuplusTable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::theRangemuplusTable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::theInverseRangemuplusTable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::theLabTimemuplusTable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::theProperTimemuplusTable = 0 ; - -G4PhysicsTable* G4VMuEnergyLoss::theDEDXmuminusTable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::theRangemuminusTable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::theInverseRangemuminusTable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::theLabTimemuminusTable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::theProperTimemuminusTable = 0 ; - -G4PhysicsTable* G4VMuEnergyLoss::themuplusRangeCoeffATable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::themuplusRangeCoeffBTable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::themuplusRangeCoeffCTable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::themuminusRangeCoeffATable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::themuminusRangeCoeffBTable = 0 ; -G4PhysicsTable* G4VMuEnergyLoss::themuminusRangeCoeffCTable = 0 ; - -G4double G4VMuEnergyLoss::LowerBoundEloss = 1.*keV ; -G4double G4VMuEnergyLoss::UpperBoundEloss = 1000000.*TeV ; -G4int G4VMuEnergyLoss::NbinEloss = 150 ; -G4double G4VMuEnergyLoss::RTable,G4VMuEnergyLoss::LOGRTable; - -G4double G4VMuEnergyLoss::cN = 0.077*MeV*cm2/g ; -G4int G4VMuEnergyLoss::Ndeltamax = 100 ; - - -G4EnergyLossMessenger* G4VMuEnergyLoss::eLossMessenger = 0 ; - -using namespace std; - -G4VMuEnergyLoss::G4VMuEnergyLoss(const G4String& processName) - : G4VEnergyLoss (processName), - theLossTable(0), - theRangeCoeffATable(0), - theRangeCoeffBTable(0), - theRangeCoeffCTable(0) -{ -} - -G4VMuEnergyLoss::~G4VMuEnergyLoss() -{ - if(theLossTable) { - theLossTable->clearAndDestroy(); - delete theLossTable; theLossTable = 0; - } - -} - -void G4VMuEnergyLoss::SetNbOfProcesses(G4int nb) {NbOfProcesses=nb;} - // Sets number of processes giving contribution to the energy loss - -void G4VMuEnergyLoss::PlusNbOfProcesses() {NbOfProcesses++ ;} - // Increases number of processes giving contribution to the energy loss - -void G4VMuEnergyLoss::MinusNbOfProcesses() {NbOfProcesses-- ;} - // Decreases number of processes giving contribution to the energy loss - -G4int G4VMuEnergyLoss::GetNbOfProcesses() {return NbOfProcesses;} - // Gets number of processes giving contribution to the energy loss - // ( default value = 3) - -void G4VMuEnergyLoss::SetLowerBoundEloss(G4double val) {LowerBoundEloss=val;} -void G4VMuEnergyLoss::SetUpperBoundEloss(G4double val) {UpperBoundEloss=val;} -void G4VMuEnergyLoss::SetNbinEloss(G4int nb) {NbinEloss=nb;} - -G4double G4VMuEnergyLoss::GetLowerBoundEloss() {return LowerBoundEloss;} -G4double G4VMuEnergyLoss::GetUpperBoundEloss() {return UpperBoundEloss;} -G4int G4VMuEnergyLoss::GetNbinEloss() {return NbinEloss;} - -void G4VMuEnergyLoss::BuildDEDXTable( - const G4ParticleDefinition& aParticleType) -{ - - // calculate data members LOGRTable,RTable first - G4double lrate = log(UpperBoundEloss/LowerBoundEloss); - LOGRTable=lrate/NbinEloss; - RTable =exp(LOGRTable); - - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - //set physically consistent value for finalRange - // and parameters for en.loss step limit - if (finalRangeRequested > 0.) { finalRange = finalRangeRequested;} - - G4bool MakeTable ; - ParticleMass = aParticleType.GetPDGMass() ; - G4double Charge = aParticleType.GetPDGCharge()/eplus ; - - MakeTable = false ; - - if ( (Charge > 0.) && (CounterOfmuplusProcess==NbOfProcesses) ) - MakeTable = true ; - else if ( (Charge < 0.) && (CounterOfmuminusProcess==NbOfProcesses) ) - MakeTable = true ; - - - if( MakeTable ) - { - // Build energy loss table as a sum of the energy loss due to the - // different processes. - - if( Charge >0.) - { - RecorderOfProcess=RecorderOfmuplusProcess; - CounterOfProcess=CounterOfmuplusProcess; - - if(CounterOfProcess == NbOfProcesses) - { - if(theDEDXmuplusTable) - { theDEDXmuplusTable->clearAndDestroy(); - delete theDEDXmuplusTable; } - - theDEDXmuplusTable = new G4PhysicsTable(numOfCouples); - theDEDXTable = theDEDXmuplusTable; - } - } - else - { - RecorderOfProcess=RecorderOfmuminusProcess; - CounterOfProcess=CounterOfmuminusProcess; - - if(CounterOfProcess == NbOfProcesses) - { - if(theDEDXmuminusTable) - { theDEDXmuminusTable->clearAndDestroy(); - delete theDEDXmuminusTable; } - theDEDXmuminusTable = new G4PhysicsTable(numOfCouples); - theDEDXTable = theDEDXmuminusTable; - } - } - - if(CounterOfProcess == NbOfProcesses) - { - // loop for materials - G4double LowEdgeEnergy , Value ; - G4bool isOutRange ; - G4PhysicsTable* pointer ; - - for (size_t J=0; JGetLowEdgeEnergy(i) ; - Value = 0. ; - for (G4int process=0; process < NbOfProcesses; process++) - { - pointer= RecorderOfProcess[process]; - Value += (*pointer)[J]-> - GetValue(LowEdgeEnergy,isOutRange) ; - } - aVector->PutValue(i,Value) ; - } - theDEDXTable->insert(aVector) ; - } - - // reset counter to zero .................. - if( Charge >0.) - CounterOfmuplusProcess=0 ; - else - CounterOfmuminusProcess=0 ; - - ParticleMass = aParticleType.GetPDGMass() ; - - if(Charge > 0.) - { - // Build range table - theRangemuplusTable = BuildRangeTable( - theDEDXmuplusTable,theRangemuplusTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // Build lab/proper time tables - theLabTimemuplusTable = BuildLabTimeTable(theDEDXmuplusTable, - theLabTimemuplusTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - theProperTimemuplusTable = BuildProperTimeTable(theDEDXmuplusTable, - theProperTimemuplusTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // Build coeff tables for the energy loss calculation - themuplusRangeCoeffATable = BuildRangeCoeffATable(theRangemuplusTable, - themuplusRangeCoeffATable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - themuplusRangeCoeffBTable = BuildRangeCoeffBTable(theRangemuplusTable, - themuplusRangeCoeffBTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - themuplusRangeCoeffCTable = BuildRangeCoeffCTable(theRangemuplusTable, - themuplusRangeCoeffCTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // invert the range table - theInverseRangemuplusTable = BuildInverseRangeTable(theRangemuplusTable, - themuplusRangeCoeffATable, - themuplusRangeCoeffBTable, - themuplusRangeCoeffCTable, - theInverseRangemuplusTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - } - else - { - // Build range table - theRangemuminusTable = BuildRangeTable( - theDEDXmuminusTable,theRangemuminusTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // Build lab/proper time tables - theLabTimemuminusTable = BuildLabTimeTable(theDEDXmuminusTable, - theLabTimemuminusTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - theProperTimemuminusTable = BuildProperTimeTable(theDEDXmuminusTable, - theProperTimemuminusTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // Build coeff tables for the energy loss calculation - themuminusRangeCoeffATable = BuildRangeCoeffATable(theRangemuminusTable, - themuminusRangeCoeffATable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - themuminusRangeCoeffBTable = BuildRangeCoeffBTable(theRangemuminusTable, - themuminusRangeCoeffBTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - themuminusRangeCoeffCTable = BuildRangeCoeffCTable(theRangemuminusTable, - themuminusRangeCoeffCTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // invert the range table - theInverseRangemuminusTable = BuildInverseRangeTable(theRangemuminusTable, - themuminusRangeCoeffATable, - themuminusRangeCoeffBTable, - themuminusRangeCoeffCTable, - theInverseRangemuminusTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - // invert the range table - } - - } - - // make the energy loss and the range table available - G4EnergyLossTables::Register(&aParticleType, - (Charge > 0)? theDEDXmuplusTable: theDEDXmuminusTable, - (Charge > 0)? theRangemuplusTable: theRangemuminusTable, - (Charge > 0)? theInverseRangemuplusTable: theInverseRangemuminusTable, - (Charge > 0)? theLabTimemuplusTable: theLabTimemuminusTable, - (Charge > 0)? theProperTimemuplusTable: theProperTimemuminusTable, - LowerBoundEloss, UpperBoundEloss, 1.,NbinEloss); - - - // if((subSecFlag) && (aParticleType.GetParticleName()=="mu+")) - // { - // G4cout << G4endl; - // G4cout.precision(5) ; - // G4cout << " hIoni Minimum Delta cut in range=" << MinDeltaCutInRange/mm - // << " mm." << G4endl; - // G4cout << G4endl; - // G4cout << " material min.delta energy(keV) " << G4endl; - // G4cout << G4endl; - // } - - if(MinDeltaEnergy) {delete [] MinDeltaEnergy; MinDeltaEnergy=0;} - MinDeltaEnergy = new G4double [numOfCouples]; - if(LowerLimitForced) {delete [] LowerLimitForced; LowerLimitForced=0;} - LowerLimitForced = new G4bool [numOfCouples]; - G4double Tlowerlimit = 1.*keV ; - for (size_t mat=0; matGetRangeCutsVector(1)))[mat]; - if(!setMinDeltaCutInRange) MinDeltaCutInRange = rcut/10.0; - MinDeltaEnergy[mat] = G4EnergyLossTables::GetPreciseEnergyFromRange( - G4Electron::Electron(), - MinDeltaCutInRange, - theCoupleTable->GetMaterialCutsCouple(mat)); - - if(MinDeltaEnergy[mat]GetEnergyCutsVector(1)))[mat]; - if(MinDeltaEnergy[mat]>ecut) MinDeltaEnergy[mat] = ecut; - - // if((subSecFlag) && (aParticleType.GetParticleName()=="mu+")) - // { - // G4cout << setw(20) << (*theMaterialTable)[mat]->GetName() - // << setw(15) << MinDeltaEnergy[mat]/keV ; - // if(LowerLimitForced[mat]) - // G4cout << " lower limit forced." << G4endl; - // else - // G4cout << G4endl ; - // } - } - } -} - - -G4double G4VMuEnergyLoss::GetConstraints(const G4DynamicParticle *aParticle, - const G4MaterialCutsCouple* couple) -{ - - // returns the Step limit - // dRoverRange is the max. allowed relative range loss in one Step - // it calculates dEdx and the range as well.... - - G4double KineticEnergy,StepLimit; - G4bool isOutRange ; - G4int bin ; - - if(aParticle->GetDefinition()->GetPDGCharge()>0.) - { - theDEDXTable = theDEDXmuplusTable ; - theRangeTable = theRangemuplusTable ; - theRangeCoeffATable=themuplusRangeCoeffATable ; - theRangeCoeffBTable=themuplusRangeCoeffBTable ; - theRangeCoeffCTable=themuplusRangeCoeffCTable ; - } - else - { - theDEDXTable = theDEDXmuminusTable ; - theRangeTable = theRangemuminusTable ; - theRangeCoeffATable=themuminusRangeCoeffATable ; - theRangeCoeffBTable=themuminusRangeCoeffBTable ; - theRangeCoeffCTable=themuminusRangeCoeffCTable ; - } - - - G4double Thigh = UpperBoundEloss/RTable ; - KineticEnergy = aParticle->GetKineticEnergy(); - - bin = G4int(log(KineticEnergy/LowerBoundEloss)/LOGRTable) ; - EnergyBinNumber = bin ; - - size_t index = couple->GetIndex() ; - - if( KineticEnergy < LowerBoundEloss ) - { - fdEdx = sqrt(KineticEnergy/LowerBoundEloss)* - (*theDEDXTable)(index)->GetValue(LowerBoundEloss,isOutRange) ; - - fRangeNow = sqrt(KineticEnergy/LowerBoundEloss)* - (*theRangeTable)(index)->GetValue(LowerBoundEloss,isOutRange) ; - - StepLimit = fRangeNow ; - } - else if (KineticEnergy > Thigh ) - { - fdEdx = (*theDEDXTable)(index)->GetValue(Thigh,isOutRange); - fRangeNow = (*theRangeTable)(index)->GetValue(Thigh,isOutRange); - if (fdEdx > 0.) fRangeNow += (KineticEnergy-Thigh)/fdEdx; - StepLimit = c1lim*fRangeNow; - } - else - { - fdEdx = (*theDEDXTable)(index)-> - GetValue(KineticEnergy,isOutRange) ; - - RangeCoeffA = (*(*theRangeCoeffATable)(index))(EnergyBinNumber) ; - RangeCoeffB = (*(*theRangeCoeffBTable)(index))(EnergyBinNumber) ; - RangeCoeffC = (*(*theRangeCoeffCTable)(index))(EnergyBinNumber) ; - - fRangeNow = (RangeCoeffA*KineticEnergy+RangeCoeffB) - *KineticEnergy+RangeCoeffC ; - - // compute the Step limit .............. - G4double r = min(finalRange, couple->GetProductionCuts() - ->GetProductionCut(idxG4ElectronCut)); - if(fRangeNow>r) - { - StepLimit = dRoverRange*fRangeNow + r*(1.0 - dRoverRange)*(2.0 - r/fRangeNow); - - // randomise this value - if(rndmStepFlag) StepLimit = r+(StepLimit-r)*G4UniformRand() ; - if(StepLimit > fRangeNow) StepLimit = fRangeNow ; - } - else - StepLimit = fRangeNow ; - } - - return StepLimit ; - -} - -G4VParticleChange* G4VMuEnergyLoss::AlongStepDoIt( - const G4Track& trackData,const G4Step& stepData) -{ - // compute the energy loss after a Step - - static const G4double faclow = 1.5 ; - - // get particle and material pointers from trackData - const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); - G4double E = aParticle->GetKineticEnergy() ; - G4double Charge = aParticle->GetDefinition()->GetPDGCharge(); - - const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); - const G4Material* aMaterial = couple->GetMaterial(); - size_t index = couple->GetIndex(); - - G4double Step = stepData.GetStepLength(); - - aParticleChange.Initialize(trackData); - - // do not track further if kin.energy < 1. eV - const G4double MinKineticEnergy = 1.*eV; - const G4double linLossLimit = 0.05 ; - - G4double MeanLoss, finalT; - - if (E < MinKineticEnergy) finalT = 0.; - else if ( E< faclow*LowerBoundEloss) - { - if (Step >= fRangeNow) finalT = 0.; - else finalT = E*(1.-Step/fRangeNow) ; - } - - else if (E>=UpperBoundEloss) finalT = E - Step*fdEdx; - - else if (Step >= fRangeNow) finalT = 0.; - - else - { - if(Step/fRangeNow < linLossLimit) finalT = E-Step*fdEdx ; - else - { - if (Charge<0.) finalT = G4EnergyLossTables::GetPreciseEnergyFromRange( - G4MuonMinus::MuonMinus(),fRangeNow-Step,couple); - else finalT = G4EnergyLossTables::GetPreciseEnergyFromRange( - G4MuonPlus::MuonPlus(),fRangeNow-Step,couple); - } - } - - if(finalT < MinKineticEnergy) finalT = 0. ; - - MeanLoss = E-finalT ; - - // subcutoff delta ray production start - if((subSecFlag) && (trackData.GetCurrentStepNumber() > 1)) - { - G4double MinDeltaEnergyNow,Tc,TmintoProduceDelta,w,ww ; - G4double rcut,T0,presafety,postsafety,safety,delta,Tmax,mass ; - G4double fragment = Step; - G4double frperstep = 1.0; - G4double x1,y1,z1,dx,dy,dz,dTime,time0,DeltaTime; - //G4double epsil = MinKineticEnergy/2. ; - - MinDeltaEnergyNow = MinDeltaEnergy[index] ; - Tc=SecondaryEnergyThreshold(index); - const G4ParticleDefinition* aParticleType=aParticle->GetDefinition() ; - mass=aParticleType->GetPDGMass() ; - w=mass+electron_mass_c2 ; - ww=2.*mass-MinDeltaEnergyNow ; - TmintoProduceDelta=0.5*(sqrt(ww*ww+2.*w*w*MinDeltaEnergyNow/ - electron_mass_c2)-ww) ; - - if((E > TmintoProduceDelta) && (MeanLoss > MinDeltaEnergyNow) - && (finalT > MinKineticEnergy)) - { - // max. possible delta energy - Tmax = 2.*electron_mass_c2*E*(E+2.*mass)/ - (mass*mass+2.*electron_mass_c2*(E+mass)+ - electron_mass_c2*electron_mass_c2) ; - - rcut=couple->GetProductionCuts()->GetProductionCut(1); - - if (Tc > Tmax) Tc=Tmax ; - // generate subcutoff delta rays only if Tc>MinDeltaEnergyNow! - if ((Tc > MinDeltaEnergyNow) && (Tmax > MinDeltaEnergyNow)) - { - presafety = stepData.GetPreStepPoint()->GetSafety() ; - // postsafety = stepData.GetPostStepPoint()->GetSafety() ; - - G4Navigator *navigator= - G4TransportationManager::GetTransportationManager() - ->GetNavigatorForTracking(); - postsafety = - navigator->ComputeSafety(stepData.GetPostStepPoint()->GetPosition()); - - safety = min(presafety,postsafety) ; - if (safety < rcut) - { - - x1=stepData.GetPreStepPoint()->GetPosition().x(); - y1=stepData.GetPreStepPoint()->GetPosition().y(); - z1=stepData.GetPreStepPoint()->GetPosition().z(); - dx=stepData.GetPostStepPoint()->GetPosition().x()-x1 ; - dy=stepData.GetPostStepPoint()->GetPosition().y()-y1 ; - dz=stepData.GetPostStepPoint()->GetPosition().z()-z1 ; - time0=stepData.GetPreStepPoint()->GetGlobalTime(); - dTime=stepData.GetPostStepPoint()->GetGlobalTime()-time0; - - if ((presafety0.) - { - T0=G4EnergyLossTables::GetPreciseEnergyFromRange( - G4Electron::Electron(), - min(presafety,postsafety), - couple) ; - - // absolute lower limit for T0 - if((T0GetDensity()* - ((E+mass)*(E+mass)*log(Tc/T0)/(E*(E+mass))) ; - G4double delToverTc=1.-T0/Tc ; - G4int N = G4int(deldedx*fragment*delToverTc/(T0*log(Tc/T0))+0.5) ; - if(N > Ndeltamax) N = Ndeltamax ; - - G4double Px,Py,Pz ; - G4ThreeVector ParticleDirection ; - ParticleDirection=aParticle-> - GetMomentumDirection() ; - Px =ParticleDirection.x() ; - Py =ParticleDirection.y() ; - Pz =ParticleDirection.z() ; - - G4int subdelta = 0; - - if (N > 0) - { - G4double Tkin,Etot,P,T,p,costheta,sintheta,phi,dirx,diry,dirz, - Pnew,urandom; - //delTkin,delLoss,rate, - //G4StepPoint *point ; - - Tkin = E ; - Etot = Tkin+mass ; - P = sqrt(Tkin*(Etot+mass)) ; - - aParticleChange.SetNumberOfSecondaries(N); - do { - subdelta += 1 ; - - Tmax = 2.*electron_mass_c2*Tkin*(Tkin+2.*mass)/ - (mass*mass+2.*electron_mass_c2*(Tkin+mass)+ - electron_mass_c2*electron_mass_c2) ; - - if(Tc>Tmax) Tc = Tmax ; - - //check if there is enough energy .... - if((Tkin>TmintoProduceDelta)&&(Tc > T0)&&(MeanLoss>0.)) - { - T=T0/(1.-delToverTc*G4UniformRand()) ; - if(T > MeanLoss) T=MeanLoss ; - MeanLoss -= T ; - p=sqrt(T*(T+2.*electron_mass_c2)) ; - - costheta = T*(Etot+electron_mass_c2)/(P*p) ; - if(costheta<-1.) costheta=-1.; - if(costheta> 1.) costheta= 1.; - - phi=twopi*G4UniformRand() ; - sintheta=sqrt(1.-costheta*costheta); - dirx=sintheta*cos(phi); - diry=sintheta*sin(phi); - dirz=costheta; - - urandom = G4UniformRand() ; - // distribute x,y,z along Pre-Post ! - G4double xd,yd,zd ; - xd=x1+frperstep*dx*urandom ; - yd=y1+frperstep*dy*urandom ; - zd=z1+frperstep*dz*urandom ; - G4ThreeVector DeltaPosition(xd,yd,zd) ; - DeltaTime=time0+frperstep*dTime*urandom ; - - G4ThreeVector DeltaDirection(dirx,diry,dirz) ; - DeltaDirection.rotateUz(ParticleDirection); - - G4DynamicParticle* theDelta = new G4DynamicParticle ; - theDelta->SetDefinition(G4Electron::Electron()); - theDelta->SetKineticEnergy(T); - - theDelta->SetMomentumDirection(DeltaDirection.x(), - DeltaDirection.y(),DeltaDirection.z()); - - // update initial particle,fill ParticleChange - Tkin -= T ; - Px =(P*ParticleDirection.x()-p*DeltaDirection.x()) ; - Py =(P*ParticleDirection.y()-p*DeltaDirection.y()) ; - Pz =(P*ParticleDirection.z()-p*DeltaDirection.z()) ; - Pnew = sqrt(Px*Px+Py*Py+Pz*Pz) ; - Px /= Pnew ; - Py /= Pnew ; - Pz /= Pnew ; - P = Pnew ; - G4ThreeVector ParticleDirectionnew(Px,Py,Pz) ; - ParticleDirection = ParticleDirectionnew; - - G4Track* deltaTrack = - new G4Track(theDelta,DeltaTime,DeltaPosition); - deltaTrack-> - SetTouchableHandle(stepData.GetPreStepPoint()->GetTouchableHandle()) ; - - deltaTrack->SetParentID(trackData.GetTrackID()) ; - aParticleChange.AddSecondary(deltaTrack) ; - - } - - } while (subdelta 0) - aParticleChange.ProposeMomentumDirection(Px,Py,Pz) ; - E = Tkin ; - } - } - } - } - } - } - // end of subcutoff business - - finalT = E - MeanLoss ; - if(finalT < MinKineticEnergy) finalT = 0. ; - - //now the loss with fluctuation - if ((EnlossFlucFlag) && (finalT > 0.) && (finalT < E)&&(E > LowerBoundEloss)) - - { - finalT = E-GetLossWithFluct(aParticle,couple,1.,MeanLoss,Step); - if (finalT < 0.) finalT = 0. ; - } - - // kill the particle if the kinetic energy <= 0 - if (finalT <= 0. ) - { - finalT = 0.; - aParticleChange.ProposeTrackStatus(fStopButAlive); - } - - // aParticleChange.SetNumberOfSecondaries(0); - aParticleChange.ProposeEnergy(finalT); - aParticleChange.ProposeLocalEnergyDeposit(E-finalT); - - return &aParticleChange; -} diff --git a/source/processes/electromagnetic/polarisation/History b/source/processes/electromagnetic/polarisation/History index e88f5b787a..1468711221 100644 --- a/source/processes/electromagnetic/polarisation/History +++ b/source/processes/electromagnetic/polarisation/History @@ -1,4 +1,4 @@ -$Id: History,v 1.7 2007/03/19 12:38:15 vnivanch Exp $ +$Id: History,v 1.10 2007/06/11 13:37:56 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,24 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +11 June 07: V.Ivanchenko (empolar-V08-03-02) +- (A.Schaelicke) G4PolarizedCompton, G4ePolarizedIonisation, + G4eplusPolarizedAnnihilation added method + PostStepGetPhysicalInteractionLength in order to provide + simulation of polarized target; the fix is required because of design + change in utils + +25 May 07: V.Ivanchenko (empolar-V08-03-01) +- G4PolarizedCompton - fix compilation warning and incorrect usage of + G4PhysicsVector + +23 May 07: V.Ivanchenko (empolar-V08-03-00) +- In all processes inherit from G4VEnergyLossProcess or G4VEmProcess + remove method SecondaryPostStep; +- G4VEmModel - changed interface of SampleSecondary method, it become + void, extra parameter std::vector*, all + classes using or inhereting this interface are modified. + 19 March 07: V.Ivanchenko (empolar-V08-02-00) - G4PolarizedGammaConversionModel : fix non-initialised variable diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizationHelper.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizationHelper.hh index c9529f3e37..e06c4ad7ac 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizationHelper.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizationHelper.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizationHelper.hh,v 1.1 2006/09/21 21:35:10 vnivanch Exp $ -// tag $Name: geant4-08-02 $ +// tag $Name: geant4-09-00 $ // // GEANT4 Class header file // diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizationManager.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizationManager.hh index c09506334e..056acee8e0 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizationManager.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizationManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizationManager.hh,v 1.1 2006/09/21 21:35:10 vnivanch Exp $ -// tag $Name: geant4-08-02 $ +// tag $Name: geant4-09-00 $ // // GEANT4 Class header file // diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizationMessenger.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizationMessenger.hh index 6fca1a5b40..d05fdbde89 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizationMessenger.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizationMessenger.hh @@ -26,7 +26,7 @@ // ------------------------------------------------------------------- // // $Id: G4PolarizationMessenger.hh,v 1.2 2006/12/13 15:44:33 gunter Exp $ -// tag $Name: geant4-08-02 $ +// tag $Name: geant4-09-00 $ // // GEANT4 Class header file // diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizedAnnihilationCrossSection.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizedAnnihilationCrossSection.hh index ec4fdcaff6..450173e591 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizedAnnihilationCrossSection.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizedAnnihilationCrossSection.hh @@ -25,7 +25,7 @@ // // ------------------------------------------------------------------- // $Id: G4PolarizedAnnihilationCrossSection.hh,v 1.3 2006/11/20 12:21:25 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------------- // // GEANT4 Class file diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizedAnnihilationModel.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizedAnnihilationModel.hh index 1129a8a950..07b775c905 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizedAnnihilationModel.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizedAnnihilationModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PolarizedAnnihilationModel.hh,v 1.1 2006/09/21 21:35:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PolarizedAnnihilationModel.hh,v 1.2 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -79,11 +79,11 @@ public: G4double & valueA, G4double & valueT); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); // polarized routines inline void SetTargetPolarization(const G4ThreeVector & pTarget); diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizedBhabhaCrossSection.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizedBhabhaCrossSection.hh index 843e44fd29..1e08f28f6f 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizedBhabhaCrossSection.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizedBhabhaCrossSection.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizedBhabhaCrossSection.hh,v 1.2 2006/11/17 14:14:17 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // GEANT4 Class file // diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizedBremsstrahlungCrossSection.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizedBremsstrahlungCrossSection.hh index 7d4bb5f584..5e31107e8f 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizedBremsstrahlungCrossSection.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizedBremsstrahlungCrossSection.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizedBremsstrahlungCrossSection.hh,v 1.2 2006/11/17 12:12:01 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // GEANT4 Class file // diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizedCompton.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizedCompton.hh index a89ae43e26..a4ddd38533 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizedCompton.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizedCompton.hh @@ -47,6 +47,7 @@ // 01-05-05, update polarized differential cross section (A.Schalicke) // 26-07-06, cross section recalculated (P.Starovoitov) // 09-08-06, make it work under current geant4 release (A.Schalicke) +// 11-06-07, add PostStepGetPhysicalInteractionLength (A.Schalicke) // // ----------------------------------------------------------------------------- @@ -91,11 +92,6 @@ protected: virtual void InitialiseProcess(const G4ParticleDefinition*); - virtual std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*); - // added for polarization treatment of polarized media: virtual void BuildPhysicsTable(const G4ParticleDefinition&); virtual void PreparePhysicsTable(const G4ParticleDefinition&); @@ -109,6 +105,12 @@ protected: virtual G4double GetMeanFreePath(const G4Track& aTrack, G4double previousStepSize, G4ForceCondition* condition); + virtual G4double PostStepGetPhysicalInteractionLength( + const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition + ); + // can be removed as soon as G4PolarizationChangeForGamma is fixed! // virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizedComptonCrossSection.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizedComptonCrossSection.hh index 19350b81fa..1b897bc529 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizedComptonCrossSection.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizedComptonCrossSection.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizedComptonCrossSection.hh,v 1.2 2006/11/17 14:14:19 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // GEANT4 Class file // diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizedComptonModel.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizedComptonModel.hh index 763d2eb642..702ba1a40c 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizedComptonModel.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizedComptonModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PolarizedComptonModel.hh,v 1.1 2006/09/21 21:35:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PolarizedComptonModel.hh,v 1.2 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -77,11 +77,11 @@ public: G4double ComputeAsymmetryPerAtom(G4double gammaEnergy, G4double Z); virtual ~G4PolarizedComptonModel(); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); // polarized routines inline void SetTargetPolarization(const G4ThreeVector & pTarget); diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizedGammaConversion.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizedGammaConversion.hh index 09b371a466..36959c5749 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizedGammaConversion.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizedGammaConversion.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PolarizedGammaConversion.hh,v 1.1 2006/09/21 21:35:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PolarizedGammaConversion.hh,v 1.2 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -80,11 +80,6 @@ protected: virtual void InitialiseProcess(const G4ParticleDefinition*); - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*); - private: // hide assignment operator as private diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizedGammaConversionModel.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizedGammaConversionModel.hh index 7e4db00f14..391a4eddfb 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizedGammaConversionModel.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizedGammaConversionModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PolarizedGammaConversionModel.hh,v 1.1 2006/09/21 21:35:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PolarizedGammaConversionModel.hh,v 1.2 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -68,11 +68,12 @@ public: virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + inline const G4Element* SelectedAtom(); protected: diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizedMollerBhabhaModel.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizedMollerBhabhaModel.hh index 341bcfefae..7ee3aa6325 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizedMollerBhabhaModel.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizedMollerBhabhaModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PolarizedMollerBhabhaModel.hh,v 1.2 2006/11/09 18:00:48 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PolarizedMollerBhabhaModel.hh,v 1.3 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------------- // // GEANT4 Class header file @@ -73,11 +73,11 @@ public: G4double cut, G4double emax); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); // polarization access routines (may go if using a modified ParticleChange) diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizedMollerCrossSection.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizedMollerCrossSection.hh index 5f215c9b94..53812223a7 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizedMollerCrossSection.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizedMollerCrossSection.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizedMollerCrossSection.hh,v 1.3 2006/12/13 15:44:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // GEANT4 Class file // diff --git a/source/processes/electromagnetic/polarisation/include/G4PolarizedPairProductionCrossSection.hh b/source/processes/electromagnetic/polarisation/include/G4PolarizedPairProductionCrossSection.hh index c44f18c4c4..ccdac6d08d 100644 --- a/source/processes/electromagnetic/polarisation/include/G4PolarizedPairProductionCrossSection.hh +++ b/source/processes/electromagnetic/polarisation/include/G4PolarizedPairProductionCrossSection.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizedPairProductionCrossSection.hh,v 1.2 2006/11/17 14:14:19 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // GEANT4 Class file // diff --git a/source/processes/electromagnetic/polarisation/include/G4StokesVector.hh b/source/processes/electromagnetic/polarisation/include/G4StokesVector.hh index 698b0c1b65..2421392984 100644 --- a/source/processes/electromagnetic/polarisation/include/G4StokesVector.hh +++ b/source/processes/electromagnetic/polarisation/include/G4StokesVector.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4StokesVector.hh,v 1.3 2006/11/17 11:59:03 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // GEANT4 Class header file // diff --git a/source/processes/electromagnetic/polarisation/include/G4VPolarizedCrossSection.hh b/source/processes/electromagnetic/polarisation/include/G4VPolarizedCrossSection.hh index 6d2c4a99a5..df69452b18 100644 --- a/source/processes/electromagnetic/polarisation/include/G4VPolarizedCrossSection.hh +++ b/source/processes/electromagnetic/polarisation/include/G4VPolarizedCrossSection.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VPolarizedCrossSection.hh,v 1.2 2006/11/17 14:14:19 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // File name: G4VPolarizedCrossSection // diff --git a/source/processes/electromagnetic/polarisation/include/G4ePolarizedBremsstrahlung.hh b/source/processes/electromagnetic/polarisation/include/G4ePolarizedBremsstrahlung.hh index ce9ec9b7c6..1190dc96a1 100644 --- a/source/processes/electromagnetic/polarisation/include/G4ePolarizedBremsstrahlung.hh +++ b/source/processes/electromagnetic/polarisation/include/G4ePolarizedBremsstrahlung.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ePolarizedBremsstrahlung.hh,v 1.1 2006/09/21 21:35:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ePolarizedBremsstrahlung.hh,v 1.2 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -54,14 +54,9 @@ class G4ePolarizedBremsstrahlung : public G4eBremsstrahlung public: - G4ePolarizedBremsstrahlung(const G4String& name = "pol-eBrem", G4double thresh=DBL_MAX); + G4ePolarizedBremsstrahlung(const G4String& name = "pol-eBrem"); protected: - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double&); virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*, const G4ParticleDefinition*); diff --git a/source/processes/electromagnetic/polarisation/include/G4ePolarizedBremsstrahlungModel.hh b/source/processes/electromagnetic/polarisation/include/G4ePolarizedBremsstrahlungModel.hh index d3d0dbe1d5..87cf956222 100644 --- a/source/processes/electromagnetic/polarisation/include/G4ePolarizedBremsstrahlungModel.hh +++ b/source/processes/electromagnetic/polarisation/include/G4ePolarizedBremsstrahlungModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ePolarizedBremsstrahlungModel.hh,v 1.1 2006/09/21 21:35:10 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ePolarizedBremsstrahlungModel.hh,v 1.2 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -68,11 +68,12 @@ public: virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); + inline const G4Element* SelectedAtom(); protected: diff --git a/source/processes/electromagnetic/polarisation/include/G4ePolarizedIonisation.hh b/source/processes/electromagnetic/polarisation/include/G4ePolarizedIonisation.hh index adabcc4812..53ab9ab52e 100644 --- a/source/processes/electromagnetic/polarisation/include/G4ePolarizedIonisation.hh +++ b/source/processes/electromagnetic/polarisation/include/G4ePolarizedIonisation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ePolarizedIonisation.hh,v 1.1 2006/09/21 21:35:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ePolarizedIonisation.hh,v 1.3 2007/06/11 13:37:56 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------------- // // GEANT4 Class header file @@ -42,7 +42,8 @@ // , create asymmetry table and determine interactionlength // , update polarized differential cross section // -// 20-08-05, modified interface (A.Schaelicke) +// 20-08-06, modified interface (A.Schaelicke) +// 11-06-07, add PostStepGetPhysicalInteractionLength (A.Schalicke) // // Class Description: // @@ -79,12 +80,6 @@ public: protected: - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double&); - virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*, const G4ParticleDefinition*); @@ -93,6 +88,12 @@ protected: // for polarization + G4double PostStepGetPhysicalInteractionLength( + const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition + ); + G4double GetMeanFreePath(const G4Track& track, G4double previousStepSize, G4ForceCondition* condition); diff --git a/source/processes/electromagnetic/polarisation/include/G4eplusPolarizedAnnihilation.hh b/source/processes/electromagnetic/polarisation/include/G4eplusPolarizedAnnihilation.hh index d41717e3ad..51f41a6307 100644 --- a/source/processes/electromagnetic/polarisation/include/G4eplusPolarizedAnnihilation.hh +++ b/source/processes/electromagnetic/polarisation/include/G4eplusPolarizedAnnihilation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eplusPolarizedAnnihilation.hh,v 1.1 2006/09/21 21:35:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eplusPolarizedAnnihilation.hh,v 1.3 2007/06/11 13:37:56 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -40,6 +40,7 @@ // Modifications: // 26-07-06 modified cross section (P. Starovoitov) // 21-08-06 interface updated (A. Schaelicke) +// 11-06-07, add PostStepGetPhysicalInteractionLength (A.Schalicke) // // // Class Description: @@ -90,6 +91,12 @@ public: G4double previousStepSize, G4ForceCondition* condition); + G4double PostStepGetPhysicalInteractionLength( + const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition + ); + virtual void BuildPhysicsTable(const G4ParticleDefinition&); void BuildAsymmetryTable(const G4ParticleDefinition& part); virtual void PreparePhysicsTable(const G4ParticleDefinition&); @@ -104,11 +111,6 @@ protected: virtual void InitialiseProcess(const G4ParticleDefinition*); - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*); - private: G4bool isInitialised; @@ -138,18 +140,6 @@ inline G4double G4eplusPolarizedAnnihilation::AtRestGetPhysicalInteractionLength return 0.0; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline std::vector* G4eplusPolarizedAnnihilation::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp) -{ - fParticleChange.SetProposedKineticEnergy(0.); - fParticleChange.ProposeTrackStatus(fStopAndKill); - return model->SampleSecondaries(couple, dp); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizationHelper.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizationHelper.cc index aac4eaf8d4..aa0f063a4a 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizationHelper.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizationHelper.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizationHelper.cc,v 1.3 2006/11/17 14:14:19 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // GEANT4 Class file // diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizationManager.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizationManager.cc index 58207d1eba..d6cccad2b7 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizationManager.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizationManager.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizationManager.cc,v 1.1 2006/09/21 21:35:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // GEANT4 Class file // diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizationMessenger.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizationMessenger.cc index befbea7e5d..3b837acfd6 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizationMessenger.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizationMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizationMessenger.cc,v 1.1 2006/09/21 21:35:11 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 Class file diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizedAnnihilationCrossSection.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizedAnnihilationCrossSection.cc index f4d6ee4706..68401bb92b 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizedAnnihilationCrossSection.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizedAnnihilationCrossSection.cc @@ -25,7 +25,7 @@ // // ------------------------------------------------------------------- // $Id: G4PolarizedAnnihilationCrossSection.cc,v 1.5 2006/11/20 12:21:25 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------------- // // GEANT4 Class file diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizedAnnihilationModel.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizedAnnihilationModel.cc index e7e0e33e4b..da9772b4e9 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizedAnnihilationModel.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizedAnnihilationModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PolarizedAnnihilationModel.cc,v 1.4 2006/11/17 14:14:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PolarizedAnnihilationModel.cc,v 1.5 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -55,6 +55,7 @@ #include "G4StokesVector.hh" #include "G4PolarizedAnnihilationCrossSection.hh" #include "G4ParticleChangeForGamma.hh" +#include "G4TrackStatus.hh" #include "G4Gamma.hh" G4PolarizedAnnihilationModel::G4PolarizedAnnihilationModel(const G4ParticleDefinition* p, @@ -128,20 +129,21 @@ void G4PolarizedAnnihilationModel::ComputeAsymmetriesPerElectron(G4double ene, } - - -std::vector* G4PolarizedAnnihilationModel::SampleSecondaries( - const G4MaterialCutsCouple* /*couple*/, - const G4DynamicParticle* dp, - G4double /*tmin*/, - G4double /*maxEnergy*/) +void G4PolarizedAnnihilationModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* /*couple*/, + const G4DynamicParticle* dp, + G4double /*tmin*/, + G4double /*maxEnergy*/) { G4ParticleChangeForGamma* fParticleChange = dynamic_cast(pParticleChange); const G4Track * aTrack = fParticleChange->GetCurrentTrack(); + // kill primary + fParticleChange->SetProposedKineticEnergy(0.); + fParticleChange->ProposeTrackStatus(fStopAndKill); + // V.Ivanchenko add protection against zero kin energy - std::vector* fvect = new std::vector; G4double PositKinEnergy = dp->GetKineticEnergy(); if(PositKinEnergy < DBL_MIN) { @@ -152,7 +154,7 @@ std::vector* G4PolarizedAnnihilationModel::SampleSecondaries G4ThreeVector dir(sinTeta*std::cos(phi), sinTeta*std::sin(phi), cosTeta); fvect->push_back( new G4DynamicParticle(G4Gamma::Gamma(), dir, electron_mass_c2)); fvect->push_back( new G4DynamicParticle(G4Gamma::Gamma(),-dir, electron_mass_c2)); - return fvect; + return; } // *** obtain and save target and beam polarization *** @@ -370,6 +372,4 @@ std::vector* G4PolarizedAnnihilationModel::SampleSecondaries finalGamma2Polarization.p3()); fvect->push_back(aParticle2); - - return fvect; } diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizedBhabhaCrossSection.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizedBhabhaCrossSection.cc index 4a07668f60..fc3a1bd9cc 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizedBhabhaCrossSection.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizedBhabhaCrossSection.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizedBhabhaCrossSection.cc,v 1.4 2006/11/17 14:14:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------------- // // GEANT4 Class file diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizedBremsstrahlungCrossSection.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizedBremsstrahlungCrossSection.cc index 8a880ffc4e..26b528f39f 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizedBremsstrahlungCrossSection.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizedBremsstrahlungCrossSection.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizedBremsstrahlungCrossSection.cc,v 1.3 2006/11/17 12:12:02 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizedCompton.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizedCompton.cc index d5d61e1c6a..0dcf85f7c7 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizedCompton.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizedCompton.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PolarizedCompton.cc,v 1.3 2006/11/17 14:14:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PolarizedCompton.cc,v 1.6 2007/06/11 13:37:56 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // File name: G4PolarizedCompton @@ -50,6 +50,7 @@ // 17-10-05, correct reference frame dependence in GetMeanFreePath (A.Schalicke) // 26-07-06, cross section recalculated (P.Starovoitov) // 09-08-06, make it work under current geant4 release (A.Schalicke) +// 11-06-07, add PostStepGetPhysicalInteractionLength (A.Schalicke) // ----------------------------------------------------------------------------- @@ -172,21 +173,85 @@ G4double G4PolarizedCompton::GetMeanFreePath( G4cout << " Material " << aMaterial << G4endl; } - G4bool isOutRange; + G4int midx= CurrentMaterialCutsCoupleIndex(); + G4PhysicsVector * aVector=(*theAsymmetryTable)(midx); + + G4double asymmetry=0; + if (aVector) { + G4bool isOutRange; + asymmetry = aVector->GetValue(GammaEnergy, isOutRange); + } else { + G4cout << " MaterialIndex " << midx << " is out of range \n"; + asymmetry=0; + } + // we have to determine angle between particle motion + // and target polarisation here + // circ pol * Vec(ElectronPol)*Vec(PhotonMomentum) + // both vectors in global reference frame + + G4double pol=ElectronPolarization*GammaDirection0; + + G4double polProduct = GammaPolarization.p3() * pol; + mfp *= 1. / ( 1. + polProduct * asymmetry ); + + if (verboseLevel>=2) { + G4cout << " MeanFreePath: " << mfp / mm << " mm " << G4endl; + G4cout << " Asymmetry: " << asymmetry << G4endl; + G4cout << " PolProduct: " << polProduct << G4endl; + } + } + + return mfp; +} + +G4double G4PolarizedCompton::PostStepGetPhysicalInteractionLength( + const G4Track& aTrack, + G4double previousStepSize, + G4ForceCondition* condition) +{ + // *** get unploarised mean free path from lambda table *** + G4double mfp = G4VEmProcess::PostStepGetPhysicalInteractionLength(aTrack, previousStepSize, condition); + + + if (theAsymmetryTable && useAsymmetryTable) { + // *** get asymmetry, if target is polarized *** + const G4DynamicParticle* aDynamicGamma = aTrack.GetDynamicParticle(); + const G4double GammaEnergy = aDynamicGamma->GetKineticEnergy(); + const G4StokesVector GammaPolarization = aTrack.GetPolarization(); + const G4ParticleMomentum GammaDirection0 = aDynamicGamma->GetMomentumDirection(); + + G4Material* aMaterial = aTrack.GetMaterial(); + G4VPhysicalVolume* aPVolume = aTrack.GetVolume(); + G4LogicalVolume* aLVolume = aPVolume->GetLogicalVolume(); + + // G4Material* bMaterial = aLVolume->GetMaterial(); + G4PolarizationManager * polarizationManger = G4PolarizationManager::GetInstance(); + + const G4bool VolumeIsPolarized = polarizationManger->IsPolarized(aLVolume); + G4StokesVector ElectronPolarization = polarizationManger->GetVolumePolarization(aLVolume); + + if (!VolumeIsPolarized || mfp == DBL_MAX) return mfp; + + if (verboseLevel>=2) { + + G4cout << " Mom " << GammaDirection0 << G4endl; + G4cout << " Polarization " << GammaPolarization << G4endl; + G4cout << " MaterialPol. " << ElectronPolarization << G4endl; + G4cout << " Phys. Volume " << aPVolume->GetName() << G4endl; + G4cout << " Log. Volume " << aLVolume->GetName() << G4endl; + G4cout << " Material " << aMaterial << G4endl; + } G4int midx= CurrentMaterialCutsCoupleIndex(); G4PhysicsVector * aVector=(*theAsymmetryTable)(midx); G4double asymmetry=0; - if (aVector) + if (aVector) { + G4bool isOutRange; asymmetry = aVector->GetValue(GammaEnergy, isOutRange); - else { + } else { G4cout << " MaterialIndex " << midx << " is out of range \n"; - } - if (isOutRange) { - G4cout << " MaterialIndex " << midx - << " GammaEnergy=" << GammaEnergy << " is out of range \n"; asymmetry=0; } @@ -297,15 +362,4 @@ G4double G4PolarizedCompton::ComputeAsymmetry(G4double energy, return lAsymmetry; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -std::vector* G4PolarizedCompton::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp) -{ - std::vector* secondaries = model->SampleSecondaries(couple, dp); - return secondaries; -} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizedComptonCrossSection.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizedComptonCrossSection.cc index c77760b8e5..c2f07dc46f 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizedComptonCrossSection.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizedComptonCrossSection.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizedComptonCrossSection.cc,v 1.3 2006/11/09 18:00:49 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // GEANT4 Class file // diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizedComptonModel.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizedComptonModel.cc index 2e6964389d..9738ca016a 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizedComptonModel.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizedComptonModel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PolarizedComptonModel.cc,v 1.3 2006/11/09 18:00:49 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PolarizedComptonModel.cc,v 1.4 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -123,11 +123,11 @@ G4double G4PolarizedComptonModel::ComputeCrossSectionPerAtom( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4PolarizedComptonModel::SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle* aDynamicGamma, - G4double, - G4double) +void G4PolarizedComptonModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple*, + const G4DynamicParticle* aDynamicGamma, + G4double, + G4double) { const G4Track * aTrack = fParticleChange->GetCurrentTrack(); G4VPhysicalVolume* aPVolume = aTrack->GetVolume(); @@ -260,9 +260,6 @@ std::vector* G4PolarizedComptonModel::SampleSecondaries( gamEnergy1 += fParticleChange->GetLocalEnergyDeposit(); fParticleChange->ProposeLocalEnergyDeposit(gamEnergy1); } - - - std::vector* fvect = new std::vector; // // kinematic of the scattered electron @@ -368,8 +365,6 @@ std::vector* G4PolarizedComptonModel::SampleSecondaries( finalElectronPolarization.p3()); fvect->push_back(aElectron); } - - return fvect; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizedGammaConversion.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizedGammaConversion.cc index 85367cb27d..300e9cc83b 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizedGammaConversion.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizedGammaConversion.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PolarizedGammaConversion.cc,v 1.2 2006/09/26 09:08:47 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PolarizedGammaConversion.cc,v 1.3 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -91,14 +91,4 @@ void G4PolarizedGammaConversion::PrintInfo() << G4endl; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -std::vector* G4PolarizedGammaConversion::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp) -{ - return model->SampleSecondaries(couple, dp); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizedGammaConversionModel.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizedGammaConversionModel.cc index f359c10967..128e1d53a4 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizedGammaConversionModel.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizedGammaConversionModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PolarizedGammaConversionModel.cc,v 1.4 2007/03/19 12:38:15 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4PolarizedGammaConversionModel.cc,v 1.5 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -91,14 +91,13 @@ void G4PolarizedGammaConversionModel::Initialise(const G4ParticleDefinition* pd, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -std::vector* G4PolarizedGammaConversionModel::SampleSecondaries( - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double tmin, - G4double maxEnergy) +void G4PolarizedGammaConversionModel::SampleSecondaries(std::vector* vdp, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) { - std::vector* vdp = - G4BetheHeitlerModel::SampleSecondaries(couple, dp, tmin, maxEnergy); + G4BetheHeitlerModel::SampleSecondaries(vdp, couple, dp, tmin, maxEnergy); if(vdp && vdp->size()>0) { G4double gamEnergy0 = dp->GetKineticEnergy(); @@ -139,7 +138,6 @@ std::vector* G4PolarizedGammaConversionModel::SampleSecondar } } - return vdp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizedMollerBhabhaModel.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizedMollerBhabhaModel.cc index 4df95433a4..052fba6844 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizedMollerBhabhaModel.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizedMollerBhabhaModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PolarizedMollerBhabhaModel.cc,v 1.3 2006/11/09 18:00:49 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PolarizedMollerBhabhaModel.cc,v 1.4 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------------- // // GEANT4 Class file @@ -137,11 +137,11 @@ G4double G4PolarizedMollerBhabhaModel::ComputeCrossSectionPerElectron( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4PolarizedMollerBhabhaModel::SampleSecondaries( - const G4MaterialCutsCouple* , - const G4DynamicParticle* dp, - G4double tmin, - G4double maxEnergy) +void G4PolarizedMollerBhabhaModel::SampleSecondaries(std::vector* vdp, + const G4MaterialCutsCouple* , + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) { // *** obtain and save target and beam polarization *** G4PolarizationManager * polarizationManger = G4PolarizationManager::GetInstance(); @@ -165,7 +165,7 @@ std::vector* G4PolarizedMollerBhabhaModel::SampleSecondarie G4double tmax = std::min(maxEnergy, MaxSecondaryKinEnergy(dp)); - if(tmin >= tmax) return 0; + if(tmin >= tmax) return; // if(tmin > tmax) tmin = tmax; G4double polL = theBeamPolarization.z()*theTargetPolarization.z(); @@ -314,7 +314,6 @@ std::vector* G4PolarizedMollerBhabhaModel::SampleSecondarie } // create G4DynamicParticle object for delta ray - std::vector* vdp = new std::vector; G4DynamicParticle* delta = new G4DynamicParticle(theElectron,deltaDirection,deltaKinEnergy); vdp->push_back(delta); @@ -347,8 +346,6 @@ std::vector* G4PolarizedMollerBhabhaModel::SampleSecondarie fPositronPolarization=G4ThreeVector(); fElectronPolarization=G4ThreeVector(); } - - return vdp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizedMollerCrossSection.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizedMollerCrossSection.cc index 23f1f3ca85..f464dc3d7d 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizedMollerCrossSection.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizedMollerCrossSection.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizedMollerCrossSection.cc,v 1.4 2006/11/17 14:14:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------------- // // GEANT4 Class file diff --git a/source/processes/electromagnetic/polarisation/src/G4PolarizedPairProductionCrossSection.cc b/source/processes/electromagnetic/polarisation/src/G4PolarizedPairProductionCrossSection.cc index 37b062bef7..275e80a445 100644 --- a/source/processes/electromagnetic/polarisation/src/G4PolarizedPairProductionCrossSection.cc +++ b/source/processes/electromagnetic/polarisation/src/G4PolarizedPairProductionCrossSection.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PolarizedPairProductionCrossSection.cc,v 1.4 2006/11/17 14:14:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/polarisation/src/G4StokesVector.cc b/source/processes/electromagnetic/polarisation/src/G4StokesVector.cc index 38291d765e..2fb16e9ba5 100644 --- a/source/processes/electromagnetic/polarisation/src/G4StokesVector.cc +++ b/source/processes/electromagnetic/polarisation/src/G4StokesVector.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4StokesVector.cc,v 1.3 2006/11/17 11:59:03 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // GEANT4 Class file // diff --git a/source/processes/electromagnetic/polarisation/src/G4VPolarizedCrossSection.cc b/source/processes/electromagnetic/polarisation/src/G4VPolarizedCrossSection.cc index 8474448ebc..4855c4548c 100644 --- a/source/processes/electromagnetic/polarisation/src/G4VPolarizedCrossSection.cc +++ b/source/processes/electromagnetic/polarisation/src/G4VPolarizedCrossSection.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VPolarizedCrossSection.cc,v 1.2 2006/11/17 14:14:20 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // File name: G4VPolarizedCrossSection // // Author: Andreas Schaelicke diff --git a/source/processes/electromagnetic/polarisation/src/G4ePolarizedBremsstrahlung.cc b/source/processes/electromagnetic/polarisation/src/G4ePolarizedBremsstrahlung.cc index 10fec092ad..55f352f168 100644 --- a/source/processes/electromagnetic/polarisation/src/G4ePolarizedBremsstrahlung.cc +++ b/source/processes/electromagnetic/polarisation/src/G4ePolarizedBremsstrahlung.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ePolarizedBremsstrahlung.cc,v 1.2 2006/09/26 09:08:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ePolarizedBremsstrahlung.cc,v 1.3 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -57,16 +57,14 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4ePolarizedBremsstrahlung::G4ePolarizedBremsstrahlung(const G4String& name, G4double thresh): - G4eBremsstrahlung(name,thresh) -{ -} +G4ePolarizedBremsstrahlung::G4ePolarizedBremsstrahlung(const G4String& name): + G4eBremsstrahlung(name) +{} void G4ePolarizedBremsstrahlung::InitialiseEnergyLossProcess(const G4ParticleDefinition* p, const G4ParticleDefinition*) { - gammaThreshold = G4LossTableManager::Instance()->BremsstrahlungTh(); if(!isInitialised) { isInitialised = true; particle = p; @@ -82,14 +80,3 @@ void G4ePolarizedBremsstrahlung::InitialiseEnergyLossProcess(const G4ParticleDef AddEmModel(1, em, fm); } } - - -std::vector* G4ePolarizedBremsstrahlung::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double& tcut) -{ - std::vector* newp = model->SampleSecondaries(couple, dp, tcut); - return newp; -} diff --git a/source/processes/electromagnetic/polarisation/src/G4ePolarizedBremsstrahlungModel.cc b/source/processes/electromagnetic/polarisation/src/G4ePolarizedBremsstrahlungModel.cc index a7d35a28ba..1d21bec742 100644 --- a/source/processes/electromagnetic/polarisation/src/G4ePolarizedBremsstrahlungModel.cc +++ b/source/processes/electromagnetic/polarisation/src/G4ePolarizedBremsstrahlungModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ePolarizedBremsstrahlungModel.cc,v 1.2 2006/09/26 09:08:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ePolarizedBremsstrahlungModel.cc,v 1.3 2007/05/23 08:52:20 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -82,17 +82,16 @@ void G4ePolarizedBremsstrahlungModel::Initialise(const G4ParticleDefinition* p, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4ePolarizedBremsstrahlungModel::SampleSecondaries( - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double tmin, - G4double maxEnergy) +void G4ePolarizedBremsstrahlungModel::SampleSecondaries(std::vector* vdp, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) { - std::vector* vdp = - G4eBremsstrahlungModel::SampleSecondaries(couple,dp,tmin,maxEnergy); + G4eBremsstrahlungModel::SampleSecondaries(vdp,couple,dp,tmin,maxEnergy); + G4int num = vdp->size(); - - if(vdp) { + if(num > 0) { G4double lepEnergy0 = dp->GetKineticEnergy(); G4double gamEnergy1 = (*vdp)[0]->GetKineticEnergy(); G4double sintheta = dp->GetMomentumDirection().cross((*vdp)[0]->GetMomentumDirection()).mag(); @@ -119,7 +118,6 @@ std::vector* G4ePolarizedBremsstrahlungModel::SampleSecondar fParticleChange->GetProposedMomentumDirection()); fParticleChange->ProposePolarization(newBeamPol); - G4int num = vdp->size(); if (num!=1) G4cout<<" WARNING "<GetPol3(); @@ -130,6 +128,6 @@ std::vector* G4ePolarizedBremsstrahlungModel::SampleSecondar photonPol.p3()); } } - return vdp; + return; } // The emitted gamma energy is sampled using a parametrized formula diff --git a/source/processes/electromagnetic/polarisation/src/G4ePolarizedIonisation.cc b/source/processes/electromagnetic/polarisation/src/G4ePolarizedIonisation.cc index 31e30eeb8c..12f231efae 100644 --- a/source/processes/electromagnetic/polarisation/src/G4ePolarizedIonisation.cc +++ b/source/processes/electromagnetic/polarisation/src/G4ePolarizedIonisation.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ePolarizedIonisation.cc,v 1.2 2006/09/26 09:08:48 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ePolarizedIonisation.cc,v 1.4 2007/06/11 13:37:56 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------------- // // GEANT4 Class file @@ -43,7 +43,8 @@ // , create asymmetry table and determine interactionlength // , update polarized differential cross section // -// 20-08-05, modified interface (A.Schaelicke) +// 20-08-06, modified interface (A.Schaelicke) +// 11-06-07, add PostStepGetPhysicalInteractionLength (A.Schalicke) // // Class Description: // @@ -187,6 +188,60 @@ G4double G4ePolarizedIonisation::GetMeanFreePath(const G4Track& track, return mfp; } +G4double G4ePolarizedIonisation::PostStepGetPhysicalInteractionLength(const G4Track& track, + G4double s, + G4ForceCondition* cond) +{ + // *** get unploarised mean free path from lambda table *** + G4double mfp = G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength(track, s, cond); + + + // *** get asymmetry, if target is polarized *** + G4VPhysicalVolume* aPVolume = track.GetVolume(); + G4LogicalVolume* aLVolume = aPVolume->GetLogicalVolume(); + + G4PolarizationManager * polarizationManger = G4PolarizationManager::GetInstance(); + const G4bool volumeIsPolarized = polarizationManger->IsPolarized(aLVolume); + const G4StokesVector ePolarization = track.GetPolarization(); + + if (mfp != DBL_MAX && volumeIsPolarized && !ePolarization.IsZero()) { + const G4DynamicParticle* aDynamicElectron = track.GetDynamicParticle(); + const G4double eEnergy = aDynamicElectron->GetKineticEnergy(); + const G4ParticleMomentum eDirection0 = aDynamicElectron->GetMomentumDirection(); + + G4StokesVector volumePolarization = polarizationManger->GetVolumePolarization(aLVolume); + + G4bool isOutRange; + size_t idx = CurrentMaterialCutsCoupleIndex(); + G4double lAsymmetry = (*theAsymmetryTable)(idx)-> + GetValue(eEnergy, isOutRange); + G4double tAsymmetry = (*theTransverseAsymmetryTable)(idx)-> + GetValue(eEnergy, isOutRange); + + // calculate longitudinal spin component + G4double polZZ = ePolarization.z()* + volumePolarization*eDirection0; + // calculate transvers spin components + G4double polXX = ePolarization.x()* + volumePolarization*G4PolarizationHelper::GetParticleFrameX(eDirection0); + G4double polYY = ePolarization.y()* + volumePolarization*G4PolarizationHelper::GetParticleFrameY(eDirection0); + + + G4double impact = 1. + polZZ*lAsymmetry + (polXX + polYY)*tAsymmetry; + // determine polarization dependent mean free path + mfp /= impact; + if (mfp <=0.) { + G4cout <<"PV impact ( "<* G4ePolarizedIonisation::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double& tcut) -{ - // determine the delta electron - std::vector* particles = model->SampleSecondaries(couple, dp, tcut); - // Note: G4VEnergyLossProcess relies on fParticleChange and not on polParticleChange, - // but the former does not allow for polarization! - return particles; -} diff --git a/source/processes/electromagnetic/polarisation/src/G4eplusPolarizedAnnihilation.cc b/source/processes/electromagnetic/polarisation/src/G4eplusPolarizedAnnihilation.cc index b61a2aa2c2..6cbb1570f5 100644 --- a/source/processes/electromagnetic/polarisation/src/G4eplusPolarizedAnnihilation.cc +++ b/source/processes/electromagnetic/polarisation/src/G4eplusPolarizedAnnihilation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eplusPolarizedAnnihilation.cc,v 1.3 2006/11/17 14:14:22 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eplusPolarizedAnnihilation.cc,v 1.4 2007/06/11 13:37:56 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -40,6 +40,7 @@ // Modifications: // 26-07-06 modified cross section (P. Starovoitov) // 21-08-06 interface updated (A. Schaelicke) +// 11-06-07, add PostStepGetPhysicalInteractionLength (A.Schalicke) // // // Class Description: @@ -179,6 +180,73 @@ G4double G4eplusPolarizedAnnihilation::GetMeanFreePath(const G4Track& track, return mfp; } + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +G4double G4eplusPolarizedAnnihilation::PostStepGetPhysicalInteractionLength( + const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition) +{ + G4double mfp = G4VEmProcess::PostStepGetPhysicalInteractionLength(track, previousStepSize, condition); + + if (theAsymmetryTable) { + + G4Material* aMaterial = track.GetMaterial(); + G4VPhysicalVolume* aPVolume = track.GetVolume(); + G4LogicalVolume* aLVolume = aPVolume->GetLogicalVolume(); + + // G4Material* bMaterial = aLVolume->GetMaterial(); + G4PolarizationManager * polarizationManger = G4PolarizationManager::GetInstance(); + + const G4bool volumeIsPolarized = polarizationManger->IsPolarized(aLVolume); + G4StokesVector electronPolarization = polarizationManger->GetVolumePolarization(aLVolume); + + if (!volumeIsPolarized || mfp == DBL_MAX) return mfp; + + // *** get asymmetry, if target is polarized *** + const G4DynamicParticle* aDynamicPositron = track.GetDynamicParticle(); + const G4double positronEnergy = aDynamicPositron->GetKineticEnergy(); + const G4StokesVector positronPolarization = track.GetPolarization(); + const G4ParticleMomentum positronDirection0 = aDynamicPositron->GetMomentumDirection(); + + if (verboseLevel>=2) { + + G4cout << " Mom " << positronDirection0 << G4endl; + G4cout << " Polarization " << positronPolarization << G4endl; + G4cout << " MaterialPol. " << electronPolarization << G4endl; + G4cout << " Phys. Volume " << aPVolume->GetName() << G4endl; + G4cout << " Log. Volume " << aLVolume->GetName() << G4endl; + G4cout << " Material " << aMaterial << G4endl; + } + + G4bool isOutRange; + G4int idx= CurrentMaterialCutsCoupleIndex(); + G4double lAsymmetry = (*theAsymmetryTable)(idx)-> + GetValue(positronEnergy, isOutRange); + G4double tAsymmetry = (*theTransverseAsymmetryTable)(idx)-> + GetValue(positronEnergy, isOutRange); + + G4double polZZ = positronPolarization.z()* + electronPolarization*positronDirection0; + G4double polXX = positronPolarization.x()* + electronPolarization*G4PolarizationHelper::GetParticleFrameX(positronDirection0); + G4double polYY = positronPolarization.y()* + electronPolarization*G4PolarizationHelper::GetParticleFrameY(positronDirection0); + + G4double impact = 1. + polZZ*lAsymmetry + (polXX + polYY)*tAsymmetry; + + mfp *= 1. / impact; + + if (verboseLevel>=2) { + G4cout << " MeanFreePath: " << mfp / mm << " mm " << G4endl; + G4cout << " Asymmetry: " << lAsymmetry << ", " << tAsymmetry << G4endl; + G4cout << " PolProduct: " << polXX << ", " << polYY << ", " << polZZ << G4endl; + } + } + + return mfp; +} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4eplusPolarizedAnnihilation::BuildPhysicsTable(const G4ParticleDefinition& pd) diff --git a/source/processes/electromagnetic/standard/History b/source/processes/electromagnetic/standard/History index 8cdd43066f..a811a058dd 100644 --- a/source/processes/electromagnetic/standard/History +++ b/source/processes/electromagnetic/standard/History @@ -1,4 +1,4 @@ -$Id: History,v 1.299 2007/04/24 12:03:24 vnivanch Exp $ +$Id: History,v 1.316 2007/06/11 15:01:26 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,69 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +11 May 07: V.Ivant (emstand-V08-03-09) +- G4MultipleScattering, G4hMultipleScattering - substitute name + "G4v71" -> "Minimal" + +29 May 07: V.Ivanchenko (emstand-V08-03-08) +- G4MultipleScattering, G4hMultipleScattering - fix initialisation + of lateral displacement (bug introduced in previuos tag) + +23 May 07: V.Ivanchenko (emstand-V08-03-07) +- In all processes inherit from G4VEnergyLossProcess or G4VEmProcess + remove method SecondaryPostStep; +- G4eBremsstrahlung - remove definition of gamma threshold from constructor, + define this parameter at initialisation of the process from + G4LossTableManager +- G4eeToTwoGammaModel use fParticleChange inside SampleSecondaries + +22 May 07: V.Ivanchenko (emstand-V08-03-06) +- G4VEmModel - changed interface of SampleSecondary method, it become + void, extra parameter std::vector*, all + classes using or inhereting this interface are modified. + About 5% speadup of EM shower simulation + +21 May 07: V.Ivanchenko (emstand-V08-03-05) +- G4ionIonisation - added InitialiseMassCharge method; remove + GetMeanFreePath implementation + +20 May 07: V.Ivanchenko (emstand-V08-03-04) +- G4ionIonisation - added NuclearStopping flag + +18 May 07: V.Ivanchenko (emstand-V08-03-03) +- remove obsolete G4VeEnergyLoss and G4VhEnergyLoss + +18 May 07: V.Ivanchenko (emstand-V08-03-02) +- G4MultipleScattering, G4hMultipleScattering - reorganise methods + for setting msc + parameters +- G4UrbanMscModel - reorganise initialisation; use G4MscStepLimitType + enumerator to choose step limit algorithm + + +16 May 07: V.Ivanchenko (emstand-V08-03-01) +- Remove obsolete classes G4GammaConversion52, + G4PhotoElectricEffect52, G4eBremsstrahlung52, G4eIonisation52, + G4eplusAnnihilation52, G4hIonisation52, G4MultipleScattering52 +- G4ionIonisation - add data for stopping only for GenericIons + +11 May 07: G.Cosmo (emstand-V08-03-00) +- Use call to G4GeometryTolerance instead of kCarTolerance in PAI classes. +- Requires tag "global-V08-03-00" and related tag set. + +10 May 07: V.Ivanchenko (emstand-V08-02-16) +- G4UrbanMscModel - Fix bug - restore performance of EMV PhysicsLists + +01 May 07: V.Ivanchenko (emstand-V08-02-15) +- G4UrbanMscModel - L.Urban: optimisation of step limitation for skin>0 + (about 5% CPU save) + +24 April 07: V.Ivanchenko (emstand-V08-02-14) +- G4MultipleScattering - use by default skin=0, because the current + interface to G4SafetyHelper does not allow + it to provide a valid step in the case of + magnetic field + 23 April 07: V.Ivanchenko (emstand-V08-02-13) - G4UrbanMscModel - L.Urban: stepping near to boundaries has been changed back in order to have small steps diff --git a/source/processes/electromagnetic/standard/include/G4ASTARStopping.hh b/source/processes/electromagnetic/standard/include/G4ASTARStopping.hh index 93a5ecd9ea..ae7a1d212c 100644 --- a/source/processes/electromagnetic/standard/include/G4ASTARStopping.hh +++ b/source/processes/electromagnetic/standard/include/G4ASTARStopping.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ASTARStopping.hh,v 1.5 2006/06/29 19:49:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4ASTARStopping_h #define G4ASTARStopping_h 1 diff --git a/source/processes/electromagnetic/standard/include/G4BetheBlochModel.hh b/source/processes/electromagnetic/standard/include/G4BetheBlochModel.hh index 3569c740e8..439ec01bd6 100644 --- a/source/processes/electromagnetic/standard/include/G4BetheBlochModel.hh +++ b/source/processes/electromagnetic/standard/include/G4BetheBlochModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BetheBlochModel.hh,v 1.8 2006/06/29 19:50:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4BetheBlochModel.hh,v 1.9 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -104,11 +104,11 @@ public: G4double kineticEnergy, G4double cutEnergy); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); protected: diff --git a/source/processes/electromagnetic/standard/include/G4BetheHeitlerModel.hh b/source/processes/electromagnetic/standard/include/G4BetheHeitlerModel.hh index 01daa55465..fa82833a8e 100644 --- a/source/processes/electromagnetic/standard/include/G4BetheHeitlerModel.hh +++ b/source/processes/electromagnetic/standard/include/G4BetheHeitlerModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BetheHeitlerModel.hh,v 1.5 2006/06/29 19:50:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4BetheHeitlerModel.hh,v 1.6 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -76,11 +76,11 @@ public: G4double cut=0., G4double emax=DBL_MAX); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); private: diff --git a/source/processes/electromagnetic/standard/include/G4BohrFluctuations.hh b/source/processes/electromagnetic/standard/include/G4BohrFluctuations.hh index 95d8f01ab1..515caef069 100644 --- a/source/processes/electromagnetic/standard/include/G4BohrFluctuations.hh +++ b/source/processes/electromagnetic/standard/include/G4BohrFluctuations.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BohrFluctuations.hh,v 1.2 2006/06/29 19:50:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/standard/include/G4BraggIonModel.hh b/source/processes/electromagnetic/standard/include/G4BraggIonModel.hh index d07f414c3f..b6a2064195 100644 --- a/source/processes/electromagnetic/standard/include/G4BraggIonModel.hh +++ b/source/processes/electromagnetic/standard/include/G4BraggIonModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BraggIonModel.hh,v 1.7 2006/06/29 19:50:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4BraggIonModel.hh,v 1.8 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -99,11 +99,11 @@ public: G4double kineticEnergy, G4double cutEnergy); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); protected: diff --git a/source/processes/electromagnetic/standard/include/G4BraggModel.hh b/source/processes/electromagnetic/standard/include/G4BraggModel.hh index be2fc7d4a1..ff831abb75 100644 --- a/source/processes/electromagnetic/standard/include/G4BraggModel.hh +++ b/source/processes/electromagnetic/standard/include/G4BraggModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BraggModel.hh,v 1.9 2006/06/29 19:50:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4BraggModel.hh,v 1.10 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -102,11 +102,11 @@ public: G4double kineticEnergy, G4double cutEnergy); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); protected: diff --git a/source/processes/electromagnetic/standard/include/G4ComptonScattering.hh b/source/processes/electromagnetic/standard/include/G4ComptonScattering.hh index 055bc33282..b3fc8dee2c 100644 --- a/source/processes/electromagnetic/standard/include/G4ComptonScattering.hh +++ b/source/processes/electromagnetic/standard/include/G4ComptonScattering.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ComptonScattering.hh,v 1.18 2006/09/14 10:27:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ComptonScattering.hh,v 1.20 2007/05/23 08:47:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //------------------ G4ComptonScattering physics process ----------------------- // by Michel Maire, April 1996 @@ -91,11 +91,6 @@ protected: virtual void InitialiseProcess(const G4ParticleDefinition*); - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*); - private: G4bool isInitialised; @@ -110,17 +105,6 @@ G4bool G4ComptonScattering::IsApplicable(const G4ParticleDefinition& p) return (&p == G4Gamma::Gamma()); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline -std::vector* G4ComptonScattering::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp) -{ - return model->SampleSecondaries(couple, dp); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/standard/include/G4ComptonScattering52.hh b/source/processes/electromagnetic/standard/include/G4ComptonScattering52.hh index 528c138e90..fd1817126f 100644 --- a/source/processes/electromagnetic/standard/include/G4ComptonScattering52.hh +++ b/source/processes/electromagnetic/standard/include/G4ComptonScattering52.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ComptonScattering52.hh,v 1.2 2006/06/29 19:50:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ComptonScattering52.hh,v 1.4 2007/05/16 14:00:56 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //------------------ G4ComptonScattering52 physics process ----------------------- // by Michel Maire, April 1996 diff --git a/source/processes/electromagnetic/standard/include/G4CoulombScattering.hh b/source/processes/electromagnetic/standard/include/G4CoulombScattering.hh index d4de14ccf9..7ea8d57b0f 100644 --- a/source/processes/electromagnetic/standard/include/G4CoulombScattering.hh +++ b/source/processes/electromagnetic/standard/include/G4CoulombScattering.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4CoulombScattering.hh,v 1.4 2006/08/09 17:57:03 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4CoulombScattering.hh,v 1.6 2007/05/23 08:47:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -79,11 +79,6 @@ protected: virtual void InitialiseProcess(const G4ParticleDefinition*); - virtual std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*); - private: // hide assignment operator @@ -134,16 +129,6 @@ inline void G4CoulombScattering::SetBuildTableFlag(G4bool val) buildTableFlag = val; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline std::vector* G4CoulombScattering::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp) -{ - return model->SampleSecondaries(couple, dp); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/standard/include/G4CoulombScatteringModel.hh b/source/processes/electromagnetic/standard/include/G4CoulombScatteringModel.hh index bb17300dc0..ee88b5abb8 100644 --- a/source/processes/electromagnetic/standard/include/G4CoulombScatteringModel.hh +++ b/source/processes/electromagnetic/standard/include/G4CoulombScatteringModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4CoulombScatteringModel.hh,v 1.5 2006/10/19 09:44:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4CoulombScatteringModel.hh,v 1.6 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -76,11 +76,11 @@ public: virtual ~G4CoulombScatteringModel(); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); private: diff --git a/source/processes/electromagnetic/standard/include/G4GammaConversion.hh b/source/processes/electromagnetic/standard/include/G4GammaConversion.hh index 5bd59ed9a2..1cec6b4a1f 100644 --- a/source/processes/electromagnetic/standard/include/G4GammaConversion.hh +++ b/source/processes/electromagnetic/standard/include/G4GammaConversion.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GammaConversion.hh,v 1.20 2006/09/14 10:27:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4GammaConversion.hh,v 1.22 2007/05/23 08:47:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //------------------ G4GammaConversion physics process------------------------ @@ -93,11 +93,6 @@ protected: virtual void InitialiseProcess(const G4ParticleDefinition*); - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*); - private: G4bool isInitialised; @@ -111,17 +106,6 @@ inline G4bool G4GammaConversion::IsApplicable(const G4ParticleDefinition& p) return (&p == G4Gamma::Gamma()); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline std::vector* G4GammaConversion::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp) -{ - // fParticleChange.ProposeTrackStatus(fStopAndKill); - return model->SampleSecondaries(couple, dp); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/standard/include/G4GammaConversion52.hh b/source/processes/electromagnetic/standard/include/G4GammaConversion52.hh deleted file mode 100644 index 7194a8a2eb..0000000000 --- a/source/processes/electromagnetic/standard/include/G4GammaConversion52.hh +++ /dev/null @@ -1,213 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4GammaConversion52.hh,v 1.2 2006/06/29 19:50:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//------------------ G4GammaConversion52 physics process ------------------------- -// by Michel Maire, 24 May 1996 -// -// 11-06-96, Added GetRandomAtom() method and new data member -// for cumulative total cross section, by M.Maire -// 21-06-96, SetCuts inplementation, M.Maire -// 16-09-96, Dynamical array PartialSumSigma, M.Maire -// 14-01-97, crossection table + meanfreepath table. -// PartialSumSigma removed, M.Maire -// 14-03-97, new physics scheme for geant4alpha, M.Maire -// 13-08-98, new methods SetBining() PrintInfo() -// 03-08-01, new methods Store/Retrieve PhysicsTable (mma) -// 06-08-01, BuildThePhysicsTable() called from constructor (mma) -// 19-09-01, come back to previous ProcessName: "conv" -// 20-09-01, DoIt: fminimalEnergy = 1*eV (mma) -// 01-10-01, come back to BuildPhysicsTable(const G4ParticleDefinition&) -// 13-08-04, suppress .icc file -// public ComputeCrossSectionPerAtom() and ComputeMeanFreePath() (mma) -// 09-11-04, Remove Retrieve tables (V.Ivanchenko) -// 04-05-05, Add 52 to class name (V.Ivanchenko) - -// ----------------------------------------------------------------------------- - -// class description -// -// gamma ---> e+ e- -// inherit from G4VDiscreteProcess -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef G4GammaConversion52_h -#define G4GammaConversion52_h 1 - -#include "G4ios.hh" -#include "globals.hh" -#include "Randomize.hh" -#include "G4VDiscreteProcess.hh" -#include "G4PhysicsTable.hh" -#include "G4PhysicsLogVector.hh" -#include "G4Element.hh" -#include "G4Gamma.hh" -#include "G4Electron.hh" -#include "G4Positron.hh" -#include "G4Step.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4GammaConversion52 : public G4VDiscreteProcess - -{ - public: // with description - - G4GammaConversion52(const G4String& processName ="conv", - G4ProcessType type = fElectromagnetic); - - ~G4GammaConversion52(); - - G4bool IsApplicable(const G4ParticleDefinition&); - // true for Gamma only. - - void SetPhysicsTableBining(G4double lowE, G4double highE, G4int nBins); - // Allows to define the binning of the PhysicsTables, - // before to build them. - - void BuildPhysicsTable(const G4ParticleDefinition&); - // It builds the total CrossSectionPerAtom table, for Gamma, - // and for every element contained in the elementTable. - // It builds the MeanFreePath table, for Gamma, - // and for every material contained in the materialTable. - - G4bool StorePhysicsTable(const G4ParticleDefinition* , - const G4String& directory, G4bool); - // store CrossSection and MeanFreePath tables into an external file - // specified by 'directory' (must exist before invokation) - - //G4bool RetrievePhysicsTable(const G4ParticleDefinition* , - // const G4String& directory, G4bool); - // retrieve CrossSection and MeanFreePath tables from an external file - // specified by 'directory' - - void PrintInfoDefinition(); - // Print few lines of informations about the process: validity range, - // origine ..etc.. - // Invoked by BuildThePhysicsTable(). - - G4double GetMeanFreePath(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // It returns the MeanFreePath of the process for the current track : - // (energy, material) - // The previousStepSize and G4ForceCondition* are not used. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - G4double GetCrossSectionPerAtom(const G4DynamicParticle* aDynamicGamma, - G4Element* anElement); - // It returns the total CrossSectionPerAtom of the process, - // for the current DynamicGamma (energy), in anElement. - - G4VParticleChange* PostStepDoIt(const G4Track& aTrack, - const G4Step& aStep); - // It computes the final state of the process (at end of step), - // returned as a ParticleChange object. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - virtual - G4double ComputeCrossSectionPerAtom(G4double GammaEnergy, - G4double AtomicNumber); - - G4double ComputeMeanFreePath (G4double GammaEnergy, - G4Material* aMaterial); - - private: - - G4Element* SelectRandomAtom(const G4DynamicParticle* aDynamicGamma, - G4Material* aMaterial); - - G4double ScreenFunction1(G4double ScreenVariable); - - G4double ScreenFunction2(G4double ScreenVariable); - - private: - - // hide assignment operator as private - G4GammaConversion52& operator=(const G4GammaConversion52 &right); - G4GammaConversion52(const G4GammaConversion52& ); - - private: - - G4PhysicsTable* theCrossSectionTable; // table for crossection - G4PhysicsTable* theMeanFreePathTable; - - G4double LowestEnergyLimit ; // low energy limit of the tables - G4double HighestEnergyLimit ; // high energy limit of the tables - G4int NumbBinTable ; // number of bins in the tables - - G4double fminimalEnergy; // minimalEnergy of produced particles - - G4double MeanFreePath; // actual MeanFreePath (current medium) -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -inline G4double G4GammaConversion52::ScreenFunction1(G4double ScreenVariable) - -// compute the value of the screening function 3*PHI1 - PHI2 - -{ - G4double screenVal; - - if (ScreenVariable > 1.) - screenVal = 42.24 - 8.368*std::log(ScreenVariable+0.952); - else - screenVal = 42.392 - ScreenVariable*(7.796 - 1.961*ScreenVariable); - - return screenVal; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4GammaConversion52::ScreenFunction2(G4double ScreenVariable) - -// compute the value of the screening function 1.5*PHI1 - 0.5*PHI2 - -{ - G4double screenVal; - - if (ScreenVariable > 1.) - screenVal = 42.24 - 8.368*std::log(ScreenVariable+0.952); - else - screenVal = 41.405 - ScreenVariable*(5.828 - 0.8945*ScreenVariable); - - return screenVal; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -#endif - diff --git a/source/processes/electromagnetic/standard/include/G4InitXscPAI.hh b/source/processes/electromagnetic/standard/include/G4InitXscPAI.hh index 94e0be993d..ff1366fe21 100644 --- a/source/processes/electromagnetic/standard/include/G4InitXscPAI.hh +++ b/source/processes/electromagnetic/standard/include/G4InitXscPAI.hh @@ -25,7 +25,7 @@ // // // $Id: G4InitXscPAI.hh,v 1.8 2006/06/29 19:50:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4InitXscPAI.hh -- header file diff --git a/source/processes/electromagnetic/standard/include/G4IonFluctuations.hh b/source/processes/electromagnetic/standard/include/G4IonFluctuations.hh index c8de8cf0ea..2282979614 100644 --- a/source/processes/electromagnetic/standard/include/G4IonFluctuations.hh +++ b/source/processes/electromagnetic/standard/include/G4IonFluctuations.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4IonFluctuations.hh,v 1.2 2006/06/29 19:50:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/standard/include/G4KleinNishinaCompton.hh b/source/processes/electromagnetic/standard/include/G4KleinNishinaCompton.hh index 8010eeeba7..a75032f8b7 100644 --- a/source/processes/electromagnetic/standard/include/G4KleinNishinaCompton.hh +++ b/source/processes/electromagnetic/standard/include/G4KleinNishinaCompton.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4KleinNishinaCompton.hh,v 1.8 2006/08/28 17:44:36 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4KleinNishinaCompton.hh,v 1.9 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -76,11 +76,11 @@ public: G4double cut, G4double emax); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); protected: diff --git a/source/processes/electromagnetic/standard/include/G4MollerBhabhaModel.hh b/source/processes/electromagnetic/standard/include/G4MollerBhabhaModel.hh index 7ade4f8551..b2ed61ca6c 100644 --- a/source/processes/electromagnetic/standard/include/G4MollerBhabhaModel.hh +++ b/source/processes/electromagnetic/standard/include/G4MollerBhabhaModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MollerBhabhaModel.hh,v 1.18 2007/01/17 09:17:56 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4MollerBhabhaModel.hh,v 1.19 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -100,11 +100,11 @@ public: G4double kineticEnergy, G4double cutEnergy); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); protected: diff --git a/source/processes/electromagnetic/standard/include/G4MscModel71.hh b/source/processes/electromagnetic/standard/include/G4MscModel71.hh index 4cefd1ebe4..8c117fe744 100644 --- a/source/processes/electromagnetic/standard/include/G4MscModel71.hh +++ b/source/processes/electromagnetic/standard/include/G4MscModel71.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MscModel71.hh,v 1.4 2006/06/29 19:50:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MscModel71.hh,v 1.5 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -94,11 +94,11 @@ public: G4double cut =0., G4double emax=DBL_MAX); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double length, - G4double safety); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double length, + G4double safety); G4double GeomPathLength(G4PhysicsTable* theLambdaTable, const G4MaterialCutsCouple* couple, diff --git a/source/processes/electromagnetic/standard/include/G4MultipleScattering.hh b/source/processes/electromagnetic/standard/include/G4MultipleScattering.hh index aa30a1db31..206f9da9b0 100644 --- a/source/processes/electromagnetic/standard/include/G4MultipleScattering.hh +++ b/source/processes/electromagnetic/standard/include/G4MultipleScattering.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MultipleScattering.hh,v 1.34 2007/03/22 07:59:25 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4MultipleScattering.hh,v 1.35 2007/05/18 18:43:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // @@ -116,10 +116,6 @@ public: // with description // Print few lines of informations about the process: validity range, void PrintInfo(); - // set boolean flag steppingAlgorithm - // ( true/false : standard or 7.1 style process) - void MscStepLimitation(G4bool algorithm, G4double factor = -1.); - // geom. step length distribution should be sampled or not void Setsamplez(G4bool value) { samplez = value;}; @@ -129,12 +125,6 @@ public: // with description // 'soften' step limitation above lambdalimit void SetLambdalimit(G4double value) { lambdalimit = value;}; - // Steplimit = facrange*max(range,lambda) - void SetFacrange(G4double val) { facrange=val;}; - - // connected with step size reduction due to geometry - void SetFacgeom(G4double val) { facgeom=val;}; - protected: // This function initialise models @@ -144,16 +134,9 @@ private: // data members G4UrbanMscModel* mscUrban; - G4double lowKineticEnergy; - G4double highKineticEnergy; - G4int totBins; - G4double lambdalimit; - G4double facrange; - G4double facgeom; G4double dtrl; - G4bool steppingAlgorithm; G4bool samplez; G4bool isInitialized; diff --git a/source/processes/electromagnetic/standard/include/G4MultipleScattering52.hh b/source/processes/electromagnetic/standard/include/G4MultipleScattering52.hh deleted file mode 100644 index d17b27c875..0000000000 --- a/source/processes/electromagnetic/standard/include/G4MultipleScattering52.hh +++ /dev/null @@ -1,230 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: G4MultipleScattering52.hh,v 1.3 2006/06/29 19:50:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//------------- G4MultipleScattering52 physics process -------------------------- -// by Laszlo Urban, March 2001 -// -// 07-08-01 new methods Store/Retrieve PhysicsTable -// 23-08-01 new angle and z distribution,energy dependence reduced, -// Store,Retrieve methods commented out temporarily, L.Urban -// 11-09-01 G4MultipleScatteringx put as default: G4MultipleScattering -// Store,Retrieve methods reactived (mma) -// 13-09-01 Unused TrueToGeomTransformation method deleted, -// class description (L.Urban) -// 19-09-01 come back to previous process name msc -// 17-04-02 NEW angle distribution + boundary algorithm modified, L.Urban -// 22-04-02 boundary algorithm modified -> important improvement in timing !!!! -// (L.Urban) -// 24-04-02 some minor changes in boundary algorithm, L.Urban -// 24-05-02 changes in data members, L.Urban -// 30-10-02 changes in data members, L.Urban -// 05-02-03 changes in data members, L.Urban -// 18-04-03 Change signature of GetTransportMeanFreePath (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 08-11-04 Remove Store/Retrieve tables (V.Ivantchenko) - -//------------------------------------------------------------------------------ - -// class description -// -// The class simulates the multiple scattering for any kind -// of charged particle. -// -// class description - end - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef G4MultipleScattering52_h -#define G4MultipleScattering52_h 1 -#include "G4VContinuousDiscreteProcess.hh" -#include "G4EnergyLossTables.hh" -#include "G4GPILSelection.hh" -#include "G4PhysicsLogVector.hh" -#include "G4VPhysicalVolume.hh" -#include "G4ParticleChangeForMSC.hh" -#include "G4UnitsTable.hh" -#include "G4MaterialCutsCouple.hh" -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4MultipleScattering52 : public G4VContinuousDiscreteProcess - -{ - public: // with description - - G4MultipleScattering52(const G4String& processName="msc"); - - ~G4MultipleScattering52(); - - G4bool IsApplicable ( const G4ParticleDefinition& ); - // returns true for charged particles, false otherwise - - void BuildPhysicsTable(const G4ParticleDefinition& aParticleType); - // This function overloads the corresponding virtual function - // of the base class G4VContinuousDiscreteProcess. - // It is invoked by the G4ParticleWithCuts()::SetCut() method. - // It prepares the table of the transport mean free paths - // for every material. - - void PrintInfoDefinition(); - // Print few lines of informations about the process: validity range, - // origine ..etc.. - // Invoked by BuildPhysicsTable(). - - G4double AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double previousStepSize, - G4double currentMinimumStep, - G4double& currentSafety, - G4GPILSelection* selection); - // The function overloads the corresponding function of the base - // class.It limits the step near to boundaries only - // and invokes the method GetContinuousStepLimit at every step. - - G4double GetContinuousStepLimit(const G4Track& aTrack, - G4double previousStepSize, - G4double currentMinimumStep, - G4double& currentSafety); - // It performs the true step length --> geometrical step length - // transformation. It is invoked by the - // AlongStepGetPhysicalInteractionLength method. - - G4double GetMeanFreePath(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // It sets the force condition to true only - // in order to have the PostStepDoIt called at every step. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - - G4double GetTransportMeanFreePath( - G4double KineticEnergy,const G4MaterialCutsCouple* couple); - // Just a utility method to get the values of the transport - // mean free path . (It is not used inside the class.) - - G4VParticleChange* AlongStepDoIt(const G4Track& aTrack,const G4Step& aStep); - // The geometrical step length --> true path length transformation - // is performed here (the inverse of the transformation done - // by GetContinuousStepLimit). - - G4VParticleChange* PostStepDoIt(const G4Track& aTrack,const G4Step& aStep); - // It computes the final state of the particle: samples the - // scattering angle and computes the lateral displacement. - // The final state is returned as a ParticleChange object. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - void Setsamplez(G4bool value) {samplez = value;}; - // geom. step length distribution should be sampled or not - - void Setdtrl(G4double value) {dtrl = value;}; - // to reduce the energy/step dependence - - void SetBoundary(G4bool value) {boundary = value;}; - void Setfacxsi(G4double value) {facxsi = value; - G4cout << " facxsi=" << facxsi << G4endl;}; - void SetFacrange(G4double val) {facrange=val; - nsmallstep = G4int(std::log((cf+facrange-1.)/ - facrange)/std::log(cf))+1 ; - G4cout << " fr=" << facrange - << " nsmall=" << nsmallstep << G4endl ;}; - // Steplimit after boundary crossing = facrange*range - // estimated nb of steps at boundary nsmallstep = 1/facrange - - - void SetLateralDisplacementFlag(G4bool flag) {fLatDisplFlag = flag;}; - // lateral displacement to be/not to be computed - - void SetNuclCorrPar(G4double val) {NuclCorrPar = val;}; - void SetFactPar(G4double val) {FactPar = val;}; - - protected: // with description - - virtual G4double ComputeTransportCrossSection( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double AtomicWeight); - // It computes the transport cross section. - // The transport mean free path is 1/(transport cross section). - - private: - - // hide assignment operator as private - G4MultipleScattering52 & operator = (const G4MultipleScattering52 &right); - G4MultipleScattering52 ( const G4MultipleScattering52 &); - - private: // data members - - G4PhysicsTable* theTransportMeanFreePathTable; - - G4double taubig,tausmall,taulim; - - G4double LowestKineticEnergy; - G4double HighestKineticEnergy; - G4int TotBin; - - G4int materialIndex; - - G4double tLast; - G4double zLast; - - // model parameters - G4bool boundary; // spec. handling near boundaries - G4double facrange,tlimit,tlimitmin,cf; - G4int stepno,stepnolastmsc,nsmallstep ; - G4double laststep ; - G4GPILSelection valueGPILSelectionMSC; - - G4double zmean; // z(geom.step length) - G4bool samplez ; // distribution - - G4double range,T0,T1,lambda0,lambda1, // used to reduce the energy - Tlow,alam,blam,dtrl,lambdam, // (or step length) dependence - clam,zm,cthm; - - // with/without lateral displacement - G4bool fLatDisplFlag; - - // nuclear size effect correction - G4double NuclCorrPar; - G4double FactPar; - - G4ParticleChangeForMSC fParticleChange; - - G4double alfa1,alfa2,alfa3,b,xsi,c0,facxsi ; // angle distr. parameters - // facxsi : some tuning - // possibility in the tail -}; - -#include "G4MultipleScattering52.icc" - -#endif - - - diff --git a/source/processes/electromagnetic/standard/include/G4MultipleScattering52.icc b/source/processes/electromagnetic/standard/include/G4MultipleScattering52.icc deleted file mode 100644 index b535081b35..0000000000 --- a/source/processes/electromagnetic/standard/include/G4MultipleScattering52.icc +++ /dev/null @@ -1,100 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: G4MultipleScattering52.icc,v 1.2 2006/06/29 19:50:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//------------ G4MultipleScattering52 physics process --------------------------- -// by Laszlo Urban, March 2001 -// -// Modified: -// -// 18-05-01 V.Ivanchenko Clean up against Linux ANSI compilation -// 23-08-01 new angle and z distribution,energy dependence reduced, -// Store,Retrieve methods commented out temporarily, L.Urban -// 27-08-01 bugfix in AlongStepDoIt, L.Urban -// 28-08-01 GetContinuousStepLimit and AlongStepDoIt moved to .cc file (mma) -// 11-09-01 G4MultipleScatteringx put as default: G4MultipleScattering (mma) -// 15-01-03 Migrade to cut per region (V.Ivanchenko) -// 18-04-03 Change signature of GetTransportMeanFreePath (V.Ivanchenko) -// 16-06-03: ShortLived are not applicable any more (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// -//------------------------------------------------------------------------------ - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline -G4bool G4MultipleScattering52::IsApplicable(const G4ParticleDefinition& particle) -{ - return(particle.GetPDGCharge() != 0. && !particle.IsShortLived()); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4MultipleScattering52::AlongStepGetPhysicalInteractionLength( - const G4Track& track, - G4double previousStepSize, - G4double currentMinimumStep, - G4double& currentSafety, - G4GPILSelection* selection) -{ - // get Step limit proposed by the process - G4double steplength = GetContinuousStepLimit(track,previousStepSize, - currentMinimumStep,currentSafety); - // set return value for G4GPILSelection - *selection = valueGPILSelectionMSC; - return steplength; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4MultipleScattering52::GetMeanFreePath( - const G4Track&, - G4double, - G4ForceCondition* condition) - - // it does not limit the Step size , but it sets condition to - // Forced , because the PostStepDoIt always has to be called - -{ - *condition = Forced; - return DBL_MAX; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline -G4double G4MultipleScattering52::GetTransportMeanFreePath(G4double KineticEnergy, - const G4MaterialCutsCouple* couple) -{ - G4bool isOut; - - return (*theTransportMeanFreePathTable) - (couple->GetIndex())->GetValue(KineticEnergy,isOut); -} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/include/G4MultipleScattering71.hh b/source/processes/electromagnetic/standard/include/G4MultipleScattering71.hh index 925af53eb3..a7c5f1bd7f 100644 --- a/source/processes/electromagnetic/standard/include/G4MultipleScattering71.hh +++ b/source/processes/electromagnetic/standard/include/G4MultipleScattering71.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MultipleScattering71.hh,v 1.4 2006/06/29 19:50:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MultipleScattering71.hh,v 1.5 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //------------- G4MultipleScattering71 physics process -------------------------- @@ -57,8 +57,8 @@ // //------------------------------------------------------------------------------ // -// $Id: G4MultipleScattering71.hh,v 1.4 2006/06/29 19:50:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MultipleScattering71.hh,v 1.5 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // class description // @@ -225,7 +225,8 @@ inline G4VParticleChange* G4MultipleScattering71::PostStepDoIt(const G4Track& tr const G4Step& step) { fParticleChange.Initialize(track); - model->SampleSecondaries(CurrentMaterialCutsCouple(),track.GetDynamicParticle(), + std::vector* p = 0; + model->SampleSecondaries(p, CurrentMaterialCutsCouple(),track.GetDynamicParticle(), step.GetStepLength(),step.GetPostStepPoint()->GetSafety()); return &fParticleChange; } diff --git a/source/processes/electromagnetic/standard/include/G4PAIModel.hh b/source/processes/electromagnetic/standard/include/G4PAIModel.hh index 81beafe95a..9b867c15c3 100644 --- a/source/processes/electromagnetic/standard/include/G4PAIModel.hh +++ b/source/processes/electromagnetic/standard/include/G4PAIModel.hh @@ -85,11 +85,11 @@ public: G4double cutEnergy, G4double maxEnergy); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); virtual G4double SampleFluctuations(const G4Material*, const G4DynamicParticle*, @@ -140,8 +140,6 @@ private: G4int fMeanNumber; G4PhysicsLogVector* fParticleEnergyVector ; - - // vectors G4PhysicsTable* fPAItransferTable; diff --git a/source/processes/electromagnetic/standard/include/G4PAIPhotonModel.hh b/source/processes/electromagnetic/standard/include/G4PAIPhotonModel.hh index 2c90f09766..694cb9caef 100644 --- a/source/processes/electromagnetic/standard/include/G4PAIPhotonModel.hh +++ b/source/processes/electromagnetic/standard/include/G4PAIPhotonModel.hh @@ -85,11 +85,11 @@ public: G4double cutEnergy, G4double maxEnergy); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); virtual G4double SampleFluctuations(const G4Material*, const G4DynamicParticle*, diff --git a/source/processes/electromagnetic/standard/include/G4PAIxSection.hh b/source/processes/electromagnetic/standard/include/G4PAIxSection.hh index 2b1760ed58..b7c4fc213b 100644 --- a/source/processes/electromagnetic/standard/include/G4PAIxSection.hh +++ b/source/processes/electromagnetic/standard/include/G4PAIxSection.hh @@ -25,7 +25,7 @@ // // // $Id: G4PAIxSection.hh,v 1.12 2006/06/29 19:50:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4PAIxSection.hh -- header file diff --git a/source/processes/electromagnetic/standard/include/G4PEEffectModel.hh b/source/processes/electromagnetic/standard/include/G4PEEffectModel.hh index 228633a3aa..b9c74ae081 100644 --- a/source/processes/electromagnetic/standard/include/G4PEEffectModel.hh +++ b/source/processes/electromagnetic/standard/include/G4PEEffectModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PEEffectModel.hh,v 1.5 2006/06/29 19:50:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PEEffectModel.hh,v 1.6 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -80,11 +80,11 @@ public: const G4Material* material, G4double, G4double); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); protected: virtual G4double ElecCosThetaDistribution(G4double ElecKineEnergy); diff --git a/source/processes/electromagnetic/standard/include/G4PSTARStopping.hh b/source/processes/electromagnetic/standard/include/G4PSTARStopping.hh index 5aa21343a4..6366b583de 100644 --- a/source/processes/electromagnetic/standard/include/G4PSTARStopping.hh +++ b/source/processes/electromagnetic/standard/include/G4PSTARStopping.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PSTARStopping.hh,v 1.4 2006/06/29 19:50:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4PSTARStopping_h #define G4PSTARStopping_h 1 diff --git a/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.hh b/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.hh index e86e1741c7..009c7ef6f9 100644 --- a/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.hh +++ b/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhotoElectricEffect.hh,v 1.22 2006/09/14 10:27:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PhotoElectricEffect.hh,v 1.24 2007/05/23 08:47:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //------------------ G4PhotoElectricEffect physics process ------------------ @@ -99,11 +99,6 @@ protected: void InitialiseProcess(const G4ParticleDefinition*); - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*); - private: G4bool isInitialised; @@ -118,17 +113,6 @@ G4bool G4PhotoElectricEffect::IsApplicable(const G4ParticleDefinition& p) return (&p == G4Gamma::Gamma()); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline -std::vector* G4PhotoElectricEffect::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp) -{ - return model->SampleSecondaries(couple, dp); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect52.hh b/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect52.hh deleted file mode 100644 index afb3572c61..0000000000 --- a/source/processes/electromagnetic/standard/include/G4PhotoElectricEffect52.hh +++ /dev/null @@ -1,149 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// $Id: G4PhotoElectricEffect52.hh,v 1.2 2006/06/29 19:50:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// -// 12-06-96, Added SelectRandomAtom() method and new data member -// for cumulative total cross section, by M.Maire -// 21-06-96, SetCuts implementation, M.Maire -// 17-09-96, Dynamic array PartialSumSigma -// split ComputeBindingEnergy(), M.Maire -// 08-01-97, crossection table + meanfreepath table, M.Maire -// 13-03-97, adapted for the new physics scheme, M.Maire -// 13-08-98, new methods SetBining() PrintInfo() -// 17-11-98, use table of atomic shells in PostStepDoIt, mma -// 06-01-99, Sandia crossSection below 50 keV, V.Grichine mma -// 03-08-01, new methods Store/Retrieve PhysicsTable (mma) -// 06-08-01, BuildThePhysicsTable() called from constructor (mma) -// 19-09-01, come back to previous process name "phot" -// 20-09-01, DoIt: fminimalEnergy = 1*eV (mma) -// 01-10-01, come back to BuildPhysicsTable(const G4ParticleDefinition&) -// 10-01-02, moved few function from icc to cc -// 17-04-02, Keep only Sandia crossSections. Remove BuildPhysicsTables. -// Simplify public interface (mma) -// 29-04-02, Generate theta angle of the photoelectron from Sauter-Gavrila -// distribution (mma) -// 13-08-04, suppress icc file; make public ComputeCrossSectionPerAtom() (mma) -// 04-05-05, Add 52 to class name (V.Ivanchenko) -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// class description -// -// inherit from G4VDiscreteProcess -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef G4PhotoElectricEffect52_h -#define G4PhotoElectricEffect52_h 1 - -#include "G4ios.hh" -#include "globals.hh" -#include "Randomize.hh" -#include "G4VDiscreteProcess.hh" -#include "G4PhysicsTable.hh" -#include "G4PhysicsLogVector.hh" -#include "G4ElementTable.hh" -#include "G4Gamma.hh" -#include "G4Electron.hh" -#include "G4Step.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4PhotoElectricEffect52 : public G4VDiscreteProcess - -{ - public: // with description - - G4PhotoElectricEffect52(const G4String& processName ="phot", - G4ProcessType type = fElectromagnetic); - - ~G4PhotoElectricEffect52(); - - G4bool IsApplicable(const G4ParticleDefinition&); - // true for Gamma only. - - void PrintInfoDefinition(); - // Print few lines of informations about the process. - - G4double GetMeanFreePath(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // It returns the MeanFreePath of the process for the current track : - // (energy, material) - // The previousStepSize and G4ForceCondition* are not used. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - - G4VParticleChange* PostStepDoIt(const G4Track& aTrack, - const G4Step& aStep); - // It computes the final state of the process (at end of step), - // returned as a ParticleChange object. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - public: // with description - - // utilities to access the cross Section and mean free path: - - virtual - G4double ComputeCrossSectionPerAtom(G4double PhotonEnergy, - G4double AtomicNumber); - - virtual - G4double ComputeMeanFreePath(G4double PhotonEnergy, - G4Material* aMaterial); - - protected: - virtual - G4double ElecThetaDistribution(G4double ElecKineEnergy); - - private: - - G4Element* SelectRandomAtom(const G4DynamicParticle* aDynamicPhoton, - G4Material* aMaterial); - private: - - // hide assignment operator as private - G4PhotoElectricEffect52& operator=(const G4PhotoElectricEffect52 &right); - G4PhotoElectricEffect52(const G4PhotoElectricEffect52& ); - - private: - - G4double fminimalEnergy; // minimalEnergy of produced particles - - G4double MeanFreePath; // actual Mean Free Path (current medium) -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#endif - diff --git a/source/processes/electromagnetic/standard/include/G4PolarizedComptonScattering.hh b/source/processes/electromagnetic/standard/include/G4PolarizedComptonScattering.hh index 41e3d1e568..c187448d6e 100644 --- a/source/processes/electromagnetic/standard/include/G4PolarizedComptonScattering.hh +++ b/source/processes/electromagnetic/standard/include/G4PolarizedComptonScattering.hh @@ -25,7 +25,7 @@ // // // $Id: G4PolarizedComptonScattering.hh,v 1.9 2006/06/29 19:51:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // --------- G4PolarizedComptonScattering physics process ---------------------- // by Vicente Lara, March 1998 diff --git a/source/processes/electromagnetic/standard/include/G4UniversalFluctuation.hh b/source/processes/electromagnetic/standard/include/G4UniversalFluctuation.hh index ea08f514b5..5a4b61d974 100644 --- a/source/processes/electromagnetic/standard/include/G4UniversalFluctuation.hh +++ b/source/processes/electromagnetic/standard/include/G4UniversalFluctuation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4UniversalFluctuation.hh,v 1.4 2007/03/20 13:13:03 urban Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4UniversalFluctuation.hh,v 1.5 2007/04/03 11:08:36 urban Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -103,12 +103,16 @@ private: G4double f2Fluct; G4double e1Fluct; G4double e2Fluct; - G4double rateFluct; G4double e1LogFluct; G4double e2LogFluct; G4double ipotLogFluct; G4double e0; + G4double facwidth; + G4double oldloss; + G4double samestep; + G4double e1,e2; + G4double minNumberInteractionsBohr; G4double theBohrBeta2; G4double minLoss; diff --git a/source/processes/electromagnetic/standard/include/G4UrbanMscModel.hh b/source/processes/electromagnetic/standard/include/G4UrbanMscModel.hh index b89422f6c3..ac6468d710 100644 --- a/source/processes/electromagnetic/standard/include/G4UrbanMscModel.hh +++ b/source/processes/electromagnetic/standard/include/G4UrbanMscModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4UrbanMscModel.hh,v 1.23.2.1 2007/05/02 14:59:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4UrbanMscModel.hh,v 1.29 2007/06/21 15:04:24 gunter Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -74,6 +74,7 @@ // 31-01-07 code cleaning (L.Urban) // 06-02-07 Move SetMscStepLimitation method into the source (VI) // 15-02-07 new data member : smallstep (L.Urban) +// 10-04-07 remove navigator, smallstep, tnow (V.Ivanchenko) // // // Class Description: @@ -91,10 +92,10 @@ #include "G4VEmModel.hh" #include "G4PhysicsTable.hh" -#include "G4SafetyHelper.hh" +#include "G4MscStepLimitType.hh" class G4ParticleChangeForMSC; -class G4Navigator; +class G4SafetyHelper; class G4LossTableManager; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -106,7 +107,7 @@ public: G4UrbanMscModel(G4double facrange, G4double dtrl, G4double lambdalimit, G4double facgeom,G4double skin, - G4bool samplez, G4bool stepAlg, + G4bool samplez, G4MscStepLimitType stepAlg, const G4String& nam = "UrbanMscUni"); virtual ~G4UrbanMscModel(); @@ -121,11 +122,11 @@ public: G4double cut =0., G4double emax=DBL_MAX); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double length, - G4double safety); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double length, + G4double safety); virtual G4double ComputeTruePathLengthLimit( const G4Track& track, @@ -139,9 +140,13 @@ public: G4double ComputeTheta0(G4double truePathLength, G4double KineticEnergy); + void SetStepLimitType(G4MscStepLimitType); + void SetLateralDisplasmentFlag(G4bool val); - void SetMscStepLimitation(G4bool, G4double); + void SetRangeFactor(G4double); + + void SetGeomFactor(G4double); void SetSkin(G4double); @@ -165,12 +170,13 @@ private: const G4ParticleDefinition* particle; G4ParticleChangeForMSC* fParticleChange; - G4Navigator* navigator; + G4SafetyHelper* safetyHelper; G4PhysicsTable* theLambdaTable; const G4MaterialCutsCouple* couple; G4LossTableManager* theManager; + G4double mass; G4double charge; @@ -186,13 +192,16 @@ private: G4double tlimit; G4double tlimitmin; G4double tlimitminfix; - G4double tnow; + G4double nstepmax; G4double geombig; G4double geommin; G4double geomlimit; G4double facgeom; - G4double skin,skindepth,smallstep; + G4double skin; + G4double skindepth; + G4double smallstep; + G4double presafety; G4double facsafety; @@ -212,9 +221,10 @@ private: G4int currentMaterialIndex; + G4MscStepLimitType steppingAlgorithm; + G4bool samplez; G4bool latDisplasment; - G4bool steppingAlgorithm; G4bool isInitialized; G4bool inside; @@ -237,6 +247,32 @@ inline void G4UrbanMscModel::SetSkin(G4double val) { skin = val; + stepmin = tlimitminfix; + skindepth = skin*stepmin; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline +void G4UrbanMscModel::SetRangeFactor(G4double val) +{ + facrange = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline +void G4UrbanMscModel::SetGeomFactor(G4double val) +{ + facgeom = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... + +inline +void G4UrbanMscModel::SetStepLimitType(G4MscStepLimitType val) +{ + steppingAlgorithm = val; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.hh b/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.hh deleted file mode 100644 index 79dff5efb6..0000000000 --- a/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.hh +++ /dev/null @@ -1,253 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4VeEnergyLoss.hh,v 1.14 2006/06/29 19:51:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// - -// ----------------------------------------------------------------------------- -// 18-11-98 It is a modified version of G4VeEnergyLoss: continuous energy loss -// with generation of subcutoff delta rays, L. Urban -// 02-02-99 new data members , L.Urban -// 10-02-00 modifications , new e.m. structure, L.Urban -// 29-10-01 all static functions no more inlined (mma) -// 08-11-01 Charge,lastCharge not data members, L.Urban -// 15-01-03 Migrade to cut per region (V.Ivanchenko) -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef G4VeEnergyLoss_h -#define G4VeEnergyLoss_h 1 - -#include "G4ios.hh" -#include "globals.hh" -#include "Randomize.hh" -#include "G4VEnergyLoss.hh" -#include "G4Material.hh" -#include "G4Element.hh" -#include "G4VParticleChange.hh" -#include "globals.hh" -#include "G4Track.hh" -#include "G4Step.hh" -#include "G4Electron.hh" -#include "G4Positron.hh" -#include "G4PhysicsLogVector.hh" -#include "G4PhysicsLinearVector.hh" -#include "G4EnergyLossTables.hh" -#include "G4MaterialCutsCouple.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// Class description: -// -// This class is the implementation of the unified Energy Loss process -// with generation of subcutoff secondaries , see description of -// the AlongStepDoIt method. -// It calculates the continuous energy loss for e+/e-. -// The following processes give contributions to the continuous -// energy loss (by default) : -// --- ionisation (= cont.ion.loss + delta ray production) -// --- bremsstrahlung (= cont.loss due to soft brems+discrete bremsstrahlung) -// more can be added .......... -// This class creates static dE/dx and range tables for e+ and e-, -// which tables can be used by other processes , too. -// G4VeEnergyLoss is the base class for the processes giving contribution -// to the (continuous) energy loss of e+/e- . -// -// Class description - end - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4VeEnergyLoss : public G4VEnergyLoss - -{ - public: - - G4VeEnergyLoss(const G4String& ); - - virtual ~G4VeEnergyLoss(); - - public: // With description - - G4bool IsApplicable(const G4ParticleDefinition&); - // true for e+/e- , false otherwise - - void BuildDEDXTable(const G4ParticleDefinition& aParticleType); - // It builds dE/dx and range tables for aParticleType and - // for every material contained in the materialtable. - - G4double GetContinuousStepLimit(const G4Track& track, - G4double previousStepSize, - G4double currentMinimumStep, - G4double& currentSafety); - // Computes the steplimit due to the energy loss process. - - G4VParticleChange* AlongStepDoIt(const G4Track& track, - const G4Step& Step) ; - // --- Performs the computation of the mean energy loss - // after the step . - // --- Compares the value of the safety to the value - // of the cut in range. - // --- If safety < cut in range , generates secondaries - // with kinetic energy in the interval [Tsafety,Tcut], - // where Tsafety corresponds to range safety, - // Tcut is the cut in energy. - // --- Updates the value of the mean energy loss and - // the direction of the primary - // --- Computes the energy loss fluctuation. - - virtual G4double GetMeanFreePath(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition) = 0; - // Virtual function to be overridden in the derived classes - // ( ionisation and bremsstrahlung) . - - virtual G4VParticleChange* PostStepDoIt(const G4Track& track, - const G4Step& Step) = 0; - // Virtual function to be overridden in the derived classes - // ( ionisation and bremsstrahlung) . - - - private: - - - G4double GetConstraints(const G4DynamicParticle* aParticle, - const G4MaterialCutsCouple* couple); - - // hide assignment operator - G4VeEnergyLoss (G4VeEnergyLoss &); - G4VeEnergyLoss & operator=(const G4VeEnergyLoss &right); - - protected: - - virtual G4double SecondaryEnergyThreshold(size_t index) = 0; - - G4PhysicsTable* theLossTable; - - G4double MinKineticEnergy ; - - private: - - G4PhysicsTable* theDEDXTable; - - G4int CounterOfProcess; - G4PhysicsTable** RecorderOfProcess; - - G4double fdEdx; // computed in GetConstraints - G4double fRangeNow; // computed in GetConstraints - - G4double linLossLimit ; // - - G4double cN ; // coeffs to compute nb of deltas - G4int Ndeltamax ; // upper limit for nb of subcutoff - // delta rays in one step - - // - // static part of the class - // - public: // With description - - static void SetNbOfProcesses(G4int nb); - // Sets number of processes giving contribution to the energy loss - - static void PlusNbOfProcesses(); - // Increases number of processes giving contribution to the energy loss - - static void MinusNbOfProcesses(); - // Decreases number of processes giving contribution to the energy loss - - static G4int GetNbOfProcesses(); - // Gets number of processes giving contribution to the energy loss - // ( default value = 2) - - static void SetLowerBoundEloss(G4double val); - static void SetUpperBoundEloss(G4double val); - static void SetNbinEloss(G4int nb); - - static G4double GetLowerBoundEloss(); - static G4double GetUpperBoundEloss(); - static G4int GetNbinEloss(); - - - protected: - - //basic DEDX and Range tables - static G4PhysicsTable* theDEDXElectronTable ; - static G4PhysicsTable* theDEDXPositronTable ; - static G4PhysicsTable* theRangeElectronTable ; - static G4PhysicsTable* theRangePositronTable ; - - //inverse tables of the range tables - static G4PhysicsTable* theInverseRangeElectronTable; - static G4PhysicsTable* theInverseRangePositronTable; - - // lab and proper time tables - static G4PhysicsTable* theLabTimeElectronTable ; - static G4PhysicsTable* theLabTimePositronTable ; - static G4PhysicsTable* theProperTimeElectronTable ; - static G4PhysicsTable* theProperTimePositronTable ; - - //processes inherited from G4VeEnergyLoss - //register themselves in the static array Recorder - //for electrons/positrons separately - //nb of contributing processes = NbOfProcesses - static G4int NbOfProcesses; - - static G4int CounterOfElectronProcess; - static G4int CounterOfPositronProcess ; - static G4PhysicsTable** RecorderOfElectronProcess; - static G4PhysicsTable** RecorderOfPositronProcess; - - private: - - static G4int NbinEloss; // number of bins in table, - // calculated in BuildPhysicTable - static G4double LowerBoundEloss; - static G4double UpperBoundEloss; - static G4double RTable,LOGRTable; // LOGRTable=std::log(UpperBoundEloss- - // LowerBoundEloss)/NbinEloss - // RTable = std::exp(LOGRTable) - - //for interpolation within the tables - static G4PhysicsTable* theeRangeCoeffATable; - static G4PhysicsTable* theeRangeCoeffBTable; - static G4PhysicsTable* theeRangeCoeffCTable; - static G4PhysicsTable* thepRangeCoeffATable; - static G4PhysicsTable* thepRangeCoeffBTable; - static G4PhysicsTable* thepRangeCoeffCTable; - - - public: // With description - -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4VeEnergyLoss.icc" - -#endif - diff --git a/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.icc b/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.icc deleted file mode 100644 index a1f5a47557..0000000000 --- a/source/processes/electromagnetic/standard/include/G4VeEnergyLoss.icc +++ /dev/null @@ -1,100 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4VeEnergyLoss.icc,v 1.14 2006/06/29 19:51:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -// -// 18/11/98 L. Urban -// It is a modified version of G4VeEnergyLoss: -// continuous energy loss with generation of subcutoff delta rays -// 08-11-01 Charge,lastCharge not data members, L.Urban -// 15-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-04-03 finalRange is region aware (V.Ivanchenko) -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4VeEnergyLoss::GetConstraints( - const G4DynamicParticle* aParticle, - const G4MaterialCutsCouple* couple) -{ - // returns the Step limit - // dRoverRange is the max. allowed relative range loss in one Step - // it calculates dEdx and the range as well.... - - G4double StepLimit; - const G4ParticleDefinition* ParticleType=aParticle->GetDefinition(); - - G4double KineticEnergy = aParticle->GetKineticEnergy(); - - fdEdx = G4EnergyLossTables::GetDEDX(ParticleType,KineticEnergy,couple); - fRangeNow = - G4EnergyLossTables::GetRange(ParticleType,KineticEnergy,couple); - - // compute the Step limit - G4double r = std::min(finalRange, couple->GetProductionCuts() - ->GetProductionCut(idxG4ElectronCut)); - if (fRangeNow>r) - { - StepLimit = dRoverRange*fRangeNow + r*(1.0 - dRoverRange)*(2.0 - r/fRangeNow); - //randomise this value - if (rndmStepFlag) StepLimit = r + (StepLimit-r)*G4UniformRand(); - if (StepLimit > fRangeNow) StepLimit = fRangeNow; - } - else StepLimit = fRangeNow; - - return StepLimit; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4VeEnergyLoss::GetContinuousStepLimit( - const G4Track& track, - G4double, - G4double currentMinimumStep, - G4double&) -{ - - G4double Step = - GetConstraints(track.GetDynamicParticle(),track.GetMaterialCutsCouple()); - - if ((Step>0.0)&&(Step* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double&); - virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*, const G4ParticleDefinition*); const G4ParticleDefinition* particle; - G4double gammaThreshold; G4bool isInitialised; private: @@ -123,8 +112,6 @@ private: //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -#include "G4VEmModel.hh" - inline G4bool G4eBremsstrahlung::IsApplicable(const G4ParticleDefinition& p) { return (&p == G4Electron::Electron() || &p == G4Positron::Positron()); @@ -132,40 +119,5 @@ inline G4bool G4eBremsstrahlung::IsApplicable(const G4ParticleDefinition& p) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline std::vector* G4eBremsstrahlung::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double& tcut) -{ - G4ThreeVector dir = dp->GetMomentumDirection(); - std::vector* newp = model->SampleSecondaries(couple, dp, tcut); - if(((*newp)[0])->GetKineticEnergy() > gammaThreshold) { - fParticleChange.ProposeTrackStatus(fStopAndKill); - G4DynamicParticle* el = new G4DynamicParticle(dp->GetDefinition(), - fParticleChange.GetProposedMomentumDirection(), - fParticleChange.GetProposedKineticEnergy()); - - newp->push_back(el); - } - return newp; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline void G4eBremsstrahlung::SetGammaThreshold(G4double val) -{ - gammaThreshold = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4eBremsstrahlung::GammaThreshold() const -{ - return gammaThreshold; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - #endif diff --git a/source/processes/electromagnetic/standard/include/G4eBremsstrahlung52.hh b/source/processes/electromagnetic/standard/include/G4eBremsstrahlung52.hh deleted file mode 100644 index 58df8506f3..0000000000 --- a/source/processes/electromagnetic/standard/include/G4eBremsstrahlung52.hh +++ /dev/null @@ -1,190 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4eBremsstrahlung52.hh,v 1.4 2006/06/29 19:52:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// -// ------------ G4eBremsstrahlung5252 physics process ------ -// by Laszlo Urban, 24 July 1996 -// -// 01-10-96 new type G4OrderedTable; ComputePartialSumSigma() -// 20-03-97 new energy loss+ionisation+brems scheme, L.Urban -// 01-09-98 new method PrintInfo() -// 10-02-00 modifications , new e.m. structure, L.Urban -// 07-08-00 new cross section/en.loss parametrisation, LPM flag , L.Urban -// 09-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 19-09-01 come back to previous process name "eBrem" -// 29-10-01 all static functions no more inlined (mma) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 09-11-04 Remove Store/Retrieve tables (V.Ivantchenko) -// 07-02-06 ComputeCrossSectionPerAtom() made public (mma) -// -// ------------------------------------------------------------ - -// Class description -// -// This class manages the bremsstrahlung for e-/e+ -// it inherites from G4VContinuousDiscreteProcess via G4VeEnergyLoss. -// -// Class description - end - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#ifndef G4eBremsstrahlung52_h -#define G4eBremsstrahlung52_h 1 - -#include "G4ios.hh" -#include "globals.hh" -#include "Randomize.hh" -#include "G4VeEnergyLoss.hh" -#include "G4Track.hh" -#include "G4Step.hh" -#include "G4Gamma.hh" -#include "G4Electron.hh" -#include "G4Positron.hh" -#include "G4OrderedTable.hh" -#include "G4PhysicsTable.hh" -#include "G4PhysicsLogVector.hh" -#include "G4MaterialCutsCouple.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -class G4eBremsstrahlung52 : public G4VeEnergyLoss - -{ - public: - - G4eBremsstrahlung52(const G4String& processName = "eBrem"); - - ~G4eBremsstrahlung52(); - - G4bool IsApplicable(const G4ParticleDefinition&); - - void PrintInfoDefinition(); - - void BuildPhysicsTable(const G4ParticleDefinition& ParticleType); - - void BuildLossTable(const G4ParticleDefinition& ParticleType); - - void BuildLambdaTable(const G4ParticleDefinition& ParticleType); - - G4double GetMeanFreePath(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition ); - - G4VParticleChange *PostStepDoIt(const G4Track& track, - const G4Step& step); - - G4double GetLambda(G4double KineticEnergy, const G4MaterialCutsCouple* couple); - - public: - - G4double ComputeMeanFreePath( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4MaterialCutsCouple* couple); - - void ComputePartialSumSigma( const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4MaterialCutsCouple* couple); - - virtual G4double ComputeCrossSectionPerAtom( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double GammaEnergyCut); - - private: - - G4double ComputeBremLoss(G4double Z,G4double natom,G4double T, - G4double Cut,G4double x); - - G4double ComputePositronCorrFactorLoss(G4double AtomicNumber, - G4double KineticEnergy, - G4double GammaEnergyCut); - - G4double ComputePositronCorrFactorSigma(G4double AtomicNumber, - G4double KineticEnergy, - G4double GammaEnergyCut); - - G4Element* SelectRandomAtom(const G4MaterialCutsCouple* couple) const; - - G4double ScreenFunction1(G4double ScreenVariable); - - G4double ScreenFunction2(G4double ScreenVariable); - - G4double SupressionFunction(const G4Material* aMaterial, - G4double KineticEnergy, - G4double GammaEnergy) ; - - G4eBremsstrahlung52 & operator=(const G4eBremsstrahlung52 &right); - - G4eBremsstrahlung52(const G4eBremsstrahlung52&); - - protected: - - virtual G4double SecondaryEnergyThreshold(size_t index); - - private: - - G4PhysicsTable* theMeanFreePathTable; - - G4OrderedTable PartialSumSigma; // partial sum of total crosssection - - static G4double LowerBoundLambda; // low energy limit of crossection table - static G4double UpperBoundLambda; // high energy limit of crossection table - static G4int NbinLambda; // number of bins in the tables - - G4double MinThreshold; // minimun value for the production threshold - - G4double LowestKineticEnergy,HighestKineticEnergy; // bining of the Eloss table - G4int TotBin; // (from G4VeEnergyLoss) - - static G4double probsup; - static G4bool LPMflag; - - const std::vector* secondaryEnergyCuts; - - public: - - static void SetLowerBoundLambda(G4double val); - static void SetUpperBoundLambda(G4double val); - static void SetNbinLambda(G4int n); - static G4double GetLowerBoundLambda(); - static G4double GetUpperBoundLambda(); - static G4int GetNbinLambda(); - - static void SetLPMflag(G4bool val); - static G4bool GetLPMflag(); -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4eBremsstrahlung52.icc" - -#endif diff --git a/source/processes/electromagnetic/standard/include/G4eBremsstrahlung52.icc b/source/processes/electromagnetic/standard/include/G4eBremsstrahlung52.icc deleted file mode 100644 index 69dc74db29..0000000000 --- a/source/processes/electromagnetic/standard/include/G4eBremsstrahlung52.icc +++ /dev/null @@ -1,127 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4eBremsstrahlung52.icc,v 1.3 2006/06/29 19:52:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ------------ G4eBremsstrahlung52 physics process --------- -// by Michel Maire, 27 July 1996 -// -// 13-12-96 : Sign corrected in the ScreenFunctions, L.Urban -// 20/03/97 : new energy loss+ionisation+brems scheme, L.Urban -// 28/05/01 : V.Ivanchenko minor changes to provide ANSI -wall compilation -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// --------------------------------------------------------------------------- - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4bool G4eBremsstrahlung52::IsApplicable( - const G4ParticleDefinition& particle) -{ - return( (&particle == G4Electron::Electron()) - ||(&particle == G4Positron::Positron()) ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4eBremsstrahlung52::GetMeanFreePath(const G4Track& track, - G4double, - G4ForceCondition*) - -// gives the MeanFreePath in GEANT4 internal units - -{ - const G4DynamicParticle* aDynamicParticle = track.GetDynamicParticle(); - G4double KineticEnergy = aDynamicParticle->GetKineticEnergy(); - const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); - - G4double MeanFreePath; - G4bool isOutRange; - - if (KineticEnergy < LowestKineticEnergy) MeanFreePath = DBL_MAX; - else { - if (KineticEnergy > HighestKineticEnergy) KineticEnergy = 0.99*HighestKineticEnergy ; - MeanFreePath = (*theMeanFreePathTable)(couple->GetIndex())-> - GetValue( KineticEnergy, isOutRange ); - } - - return MeanFreePath; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4eBremsstrahlung52::ScreenFunction1(G4double ScreenVariable) - -// compute the value of the screening function 3*PHI1 - PHI2 - -{ - G4double screenVal; - - if (ScreenVariable > 1.) - screenVal = 42.24 - 8.368*std::log(ScreenVariable+0.952); - else - screenVal = 42.392 - ScreenVariable* (7.796 - 1.961*ScreenVariable); - - return screenVal; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4eBremsstrahlung52::ScreenFunction2(G4double ScreenVariable) - -// compute the value of the screening function 1.5*PHI1 - 0.5*PHI2 - -{ - G4double screenVal; - - if (ScreenVariable > 1.) - screenVal = 42.24 - 8.368*std::log(ScreenVariable+0.952); - else - screenVal = 41.734 - ScreenVariable* (6.484 - 1.250*ScreenVariable); - - return screenVal; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline G4double G4eBremsstrahlung52::GetLambda( - G4double KineticEnergy, - const G4MaterialCutsCouple* couple) -{ - G4bool isOut; - return (*theMeanFreePathTable)[couple->GetIndex()]-> - GetValue(KineticEnergy,isOut); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4eBremsstrahlung52::SecondaryEnergyThreshold(size_t index) -{ - return (*secondaryEnergyCuts)[index]; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/include/G4eBremsstrahlungModel.hh b/source/processes/electromagnetic/standard/include/G4eBremsstrahlungModel.hh index c852f780d5..420cbd5cf7 100644 --- a/source/processes/electromagnetic/standard/include/G4eBremsstrahlungModel.hh +++ b/source/processes/electromagnetic/standard/include/G4eBremsstrahlungModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eBremsstrahlungModel.hh,v 1.20 2006/08/29 14:00:24 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eBremsstrahlungModel.hh,v 1.22 2007/05/23 08:47:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -94,19 +94,22 @@ public: G4double cutEnergy, G4double maxEnergy); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); - void SetLPMflag(G4bool val) {theLPMflag = val;}; - G4bool LPMflag() const {return theLPMflag;}; + inline void SetLPMflag(G4bool val); + inline G4bool LPMflag() const; + + inline void SetEnergyThreshold(G4double val); + inline G4double EnergyThreshold() const; protected: - G4double MaxSecondaryEnergy(const G4ParticleDefinition*, - G4double kineticEnergy); + inline G4double MaxSecondaryEnergy(const G4ParticleDefinition*, + G4double kineticEnergy); const G4Element* SelectRandomAtom(const G4MaterialCutsCouple* couple); @@ -126,9 +129,9 @@ private: G4double SupressionFunction(const G4Material* material, G4double tkin, G4double gammaEnergy); - G4double ScreenFunction1(G4double ScreenVariable); + inline G4double ScreenFunction1(G4double ScreenVariable); - G4double ScreenFunction2(G4double ScreenVariable); + inline G4double ScreenFunction2(G4double ScreenVariable); // hide assignment operator G4eBremsstrahlungModel & operator=(const G4eBremsstrahlungModel &right); @@ -150,7 +153,10 @@ private: G4double probsup; G4double MigdalConstant; G4double LPMconstant; + G4double highEnergyTh; G4bool theLPMflag; + G4bool isInitialised; + std::vector partialSumSigma; }; @@ -162,14 +168,14 @@ inline G4double G4eBremsstrahlungModel::ScreenFunction1(G4double ScreenVariable) // compute the value of the screening function 3*PHI1 - PHI2 { - G4double screenVal; + G4double screenVal; - if (ScreenVariable > 1.) - screenVal = 42.24 - 8.368*std::log(ScreenVariable+0.952); - else - screenVal = 42.392 - ScreenVariable* (7.796 - 1.961*ScreenVariable); + if (ScreenVariable > 1.) + screenVal = 42.24 - 8.368*std::log(ScreenVariable+0.952); + else + screenVal = 42.392 - ScreenVariable* (7.796 - 1.961*ScreenVariable); - return screenVal; + return screenVal; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -180,14 +186,14 @@ G4double G4eBremsstrahlungModel::ScreenFunction2(G4double ScreenVariable) // compute the value of the screening function 1.5*PHI1 - 0.5*PHI2 { - G4double screenVal; + G4double screenVal; - if (ScreenVariable > 1.) - screenVal = 42.24 - 8.368*std::log(ScreenVariable+0.952); - else - screenVal = 41.734 - ScreenVariable* (6.484 - 1.250*ScreenVariable); + if (ScreenVariable > 1.) + screenVal = 42.24 - 8.368*std::log(ScreenVariable+0.952); + else + screenVal = 41.734 - ScreenVariable* (6.484 - 1.250*ScreenVariable); - return screenVal; + return screenVal; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -202,4 +208,36 @@ G4double G4eBremsstrahlungModel::MaxSecondaryEnergy( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +inline +void G4eBremsstrahlungModel::SetLPMflag(G4bool val) +{ + theLPMflag = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline +G4bool G4eBremsstrahlungModel::LPMflag() const +{ + return theLPMflag; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline +void G4eBremsstrahlungModel::SetEnergyThreshold(G4double val) +{ + highEnergyTh = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline +G4double G4eBremsstrahlungModel::EnergyThreshold() const +{ + return highEnergyTh; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + #endif diff --git a/source/processes/electromagnetic/standard/include/G4eCoulombScatteringModel.hh b/source/processes/electromagnetic/standard/include/G4eCoulombScatteringModel.hh index 94cc53bcee..d910ab5468 100644 --- a/source/processes/electromagnetic/standard/include/G4eCoulombScatteringModel.hh +++ b/source/processes/electromagnetic/standard/include/G4eCoulombScatteringModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eCoulombScatteringModel.hh,v 1.5 2006/10/19 09:44:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eCoulombScatteringModel.hh,v 1.6 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -87,11 +87,11 @@ public: G4double cut, G4double emax); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); protected: diff --git a/source/processes/electromagnetic/standard/include/G4eIonisation.hh b/source/processes/electromagnetic/standard/include/G4eIonisation.hh index 65220dd951..09a767a868 100644 --- a/source/processes/electromagnetic/standard/include/G4eIonisation.hh +++ b/source/processes/electromagnetic/standard/include/G4eIonisation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eIonisation.hh,v 1.33 2007/01/17 09:17:56 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4eIonisation.hh,v 1.35 2007/05/23 08:47:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -94,12 +94,6 @@ public: protected: - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double&); - virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*, const G4ParticleDefinition*); @@ -138,17 +132,6 @@ inline G4bool G4eIonisation::IsApplicable(const G4ParticleDefinition& p) return (&p == G4Electron::Electron() || &p == G4Positron::Positron()); } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline std::vector* G4eIonisation::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double& tcut) -{ - return model->SampleSecondaries(couple,dp,tcut); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/standard/include/G4eIonisation52.hh b/source/processes/electromagnetic/standard/include/G4eIonisation52.hh deleted file mode 100644 index ac794c0022..0000000000 --- a/source/processes/electromagnetic/standard/include/G4eIonisation52.hh +++ /dev/null @@ -1,171 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4eIonisation52.hh,v 1.4 2006/06/29 19:52:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------- G4eIonisation52 physics process -------------------------------- -// by Laszlo Urban, 20 March 1997 -// -// 10-02-00 modifications , new e.m. structure, L.Urban -// 03-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 13-08-01 new function ComputeRestrictedMeandEdx() (mma) -// 19-09-01 come back to previous ProcessName "eIoni" -// 29-10-01 all static functions no more inlined (mma) -// 15-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 09-11-04 Remove Store/Retrieve tables (V.Ivantchenko) -// 07-02-06 ComputeCrossSectionPerAtom() and dEdx() made public (mma) -// -//------------------------------------------------------------------------------ - -// Class description -// -// This class manages the ionisation process for e-/e+ -// it inherites from G4VContinuousDiscreteProcess via G4VeEnergyLoss. -// -// Class description - end - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef G4eIonisation52_h -#define G4eIonisation52_h 1 - -#include "G4VeEnergyLoss.hh" -#include "G4MaterialCutsCouple.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4eIonisation52 : public G4VeEnergyLoss - -{ - public: // with description - - G4eIonisation52(const G4String& processName = "eIoni"); - - ~G4eIonisation52(); - - G4bool IsApplicable(const G4ParticleDefinition&); - // return true for e+/e-, false otherwise - - void BuildPhysicsTable(const G4ParticleDefinition& aParticleType); - // this function overloads a virtual function of the base class. - // It is invoked by the G4ParticleWithCuts::SetCut() method. - // It invokes BuildLambdaTable(), BuildLossTable(), BuildDEDXTable() - - void BuildLossTable(const G4ParticleDefinition& aParticleType); - // build the dE/dx tables due to the ionisation, for every materials. - // (restricted stopping power, Berger-Seltzer formula) - - void BuildLambdaTable(const G4ParticleDefinition& aParticleType); - // build mean free path tables for the delta rays production. - // the tables are built for every materials. - - void PrintInfoDefinition(); - // Print few lines of informations about the process: validity range, - // origine ..etc.. - // Invoked by BuildPhysicsTable(). - - G4double GetMeanFreePath(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition ); - // It returns the MeanFreePath of the process for the current track : - // (energy, material) - // The previousStepSize and G4ForceCondition* are not used. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - G4VParticleChange *PostStepDoIt(const G4Track& track, - const G4Step& Step ); - // It computes the final state of the process (at end of step), - // returned as a ParticleChange object. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - G4double GetLambda(G4double KineticEnergy, const G4MaterialCutsCouple* couple); - // It returns the MeanFreePath of the process for a (energy, material) - - public: // with description - - virtual G4double ComputeRestrictedMeandEdx( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - const G4Material* material, - G4double DeltaThreshold); - // computes restricted mean dE/dx in Geant4 internal units. - - virtual G4double ComputeCrossSectionPerAtom( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double DeltaThreshold); - // computes total cross section per atom in Geant4 internal units. - - protected: - - virtual G4double SecondaryEnergyThreshold(size_t index); - - G4PhysicsTable* theMeanFreePathTable; - - private: - - // hide assignment operator - G4eIonisation52 & operator=(const G4eIonisation52 &right); - G4eIonisation52(const G4eIonisation52&); - - private: - - static G4double LowerBoundLambda; // binning for mean free path table - static G4double UpperBoundLambda; - static G4int NbinLambda; - - G4double LowestKineticEnergy; // binning for dE/dx table - G4double HighestKineticEnergy; - G4int TotBin; - - const std::vector* secondaryEnergyCuts; - - public: // with description - - static void SetLowerBoundLambda(G4double val); - static void SetUpperBoundLambda(G4double val); - static void SetNbinLambda(G4int n); - // set the parameters of the mean free path table. - - static G4double GetLowerBoundLambda(); - static G4double GetUpperBoundLambda(); - static G4int GetNbinLambda(); - // get the parameters of the mean free path table. - -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4eIonisation52.icc" - -#endif - diff --git a/source/processes/electromagnetic/standard/include/G4eeToTwoGammaModel.hh b/source/processes/electromagnetic/standard/include/G4eeToTwoGammaModel.hh index c3ea8d569f..a5979f4bc7 100644 --- a/source/processes/electromagnetic/standard/include/G4eeToTwoGammaModel.hh +++ b/source/processes/electromagnetic/standard/include/G4eeToTwoGammaModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eeToTwoGammaModel.hh,v 1.12 2006/10/20 08:59:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eeToTwoGammaModel.hh,v 1.14 2007/05/23 08:47:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -56,6 +56,8 @@ #include "G4VEmModel.hh" +class G4ParticleChangeForGamma; + class G4eeToTwoGammaModel : public G4VEmModel { @@ -88,11 +90,11 @@ public: G4double cutEnergy, G4double maxEnergy); - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double maxEnergy); + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double maxEnergy); private: @@ -102,6 +104,8 @@ private: G4double pi_rcl2; G4ParticleDefinition* theGamma; + G4ParticleChangeForGamma* fParticleChange; + G4bool isInitialised; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.hh b/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.hh index a532b0a7ea..d079b3f7e3 100644 --- a/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.hh +++ b/source/processes/electromagnetic/standard/include/G4eplusAnnihilation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eplusAnnihilation.hh,v 1.21 2006/09/14 10:27:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eplusAnnihilation.hh,v 1.23 2007/05/23 08:47:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -90,11 +90,6 @@ protected: virtual void InitialiseProcess(const G4ParticleDefinition*); - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*); - private: G4bool isInitialised; @@ -118,19 +113,6 @@ G4double G4eplusAnnihilation::AtRestGetPhysicalInteractionLength( return 0.0; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -inline -std::vector* G4eplusAnnihilation::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp) -{ - fParticleChange.SetProposedKineticEnergy(0.); - fParticleChange.ProposeTrackStatus(fStopAndKill); - return model->SampleSecondaries(couple, dp); -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... #endif diff --git a/source/processes/electromagnetic/standard/include/G4eplusAnnihilation52.hh b/source/processes/electromagnetic/standard/include/G4eplusAnnihilation52.hh deleted file mode 100644 index b4f5b99835..0000000000 --- a/source/processes/electromagnetic/standard/include/G4eplusAnnihilation52.hh +++ /dev/null @@ -1,172 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4eplusAnnihilation52.hh,v 1.2 2006/06/29 19:52:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// 10-01-97, crossection table + meanfreepath table, M.Maire -// 17-03-97, merge 'in fly' and 'at rest', M.Maire -// 31-08-98, new methods SetBining() and PrintInfo() -// 03-08-01, new methods Store/Retrieve PhysicsTable (mma) -// 06-08-01, BuildThePhysicsTable() called from constructor (mma) -// 20-09-01, DoIt: fminimalEnergy = 1*eV (mma) -// 01-10-01, come back to BuildPhysicsTable(const G4ParticleDefinition&) -// 05-08-04, suppress .icc file -// 13-08-04, public ComputeCrossSectionPerAtom() and ComputeMeanFreePath() -// 09-11-04, Remove Store/Retrieve tables (V.Ivantchenko) -// 04-05-05, Add 52 to class name (V.Ivanchenko) -// - -// class description -// -// e+ e- ---> gamma gamma -// inherit from G4VRestDiscreteProcess -// - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef G4eplusAnnihilation52_h -#define G4eplusAnnihilation52_h 1 - -#include "G4ios.hh" -#include "globals.hh" -#include "Randomize.hh" -#include "G4VRestDiscreteProcess.hh" -#include "G4PhysicsTable.hh" -#include "G4PhysicsLogVector.hh" -#include "G4ElementTable.hh" -#include "G4Gamma.hh" -#include "G4Positron.hh" -#include "G4Step.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4eplusAnnihilation52 : public G4VRestDiscreteProcess - -{ - public: // with description - - G4eplusAnnihilation52(const G4String& processName ="annihil", - G4ProcessType type = fElectromagnetic); - - ~G4eplusAnnihilation52(); - - G4bool IsApplicable(const G4ParticleDefinition&); - // true for positron only. - - void SetPhysicsTableBining(G4double lowE, G4double highE, G4int nBins); - // Allows to define the binning of the PhysicsTables, - // before to build them. - - void BuildPhysicsTable(const G4ParticleDefinition&); - // It builds the total CrossSectionPerAtom table, for e+, - // and for every element contained in the elementTable. - // It builds the MeanFreePath table, for e+, - // and for every material contained in the materialTable. - - G4bool StorePhysicsTable(const G4ParticleDefinition* , - const G4String& directory, G4bool); - // store CrossSection and MeanFreePath tables into an external file - // specified by 'directory' (must exist before invokation) - - //G4bool RetrievePhysicsTable(const G4ParticleDefinition* , - // const G4String& directory, G4bool); - // retrieve CrossSection and MeanFreePath tables from an external file - // specified by 'directory' - - void PrintInfoDefinition(); - // Print few lines of informations about the process: validity range, - // origine ..etc.. - // Invoked by BuildThePhysicsTable(). - - G4double GetMeanFreePath(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // It returns the MeanFreePath of the process for the current track : - // (energy, material) - // The previousStepSize and G4ForceCondition* are not used. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - G4double GetCrossSectionPerAtom(G4DynamicParticle* aDynamicPositron, - G4Element* anElement); - // It returns the total CrossSectionPerAtom of the process, - // for the current DynamicPositron (energy), in anElement. - - G4VParticleChange* PostStepDoIt(const G4Track& aTrack, - const G4Step& aStep); - // It computes the final state of the process (at end of step), - // returned as a ParticleChange object. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - G4double GetMeanLifeTime(const G4Track& aTrack, - G4ForceCondition* condition); - // It is invoked by the ProcessManager of the Positron if this - // e+ has a kinetic energy null. Then it return 0 to force the - // call of AtRestDoIt. - // This function overloads a virtual function of the base class. - - G4VParticleChange* AtRestDoIt(const G4Track& aTrack, - const G4Step& aStep); - // It computes the final state of the process: - // e+ (at rest) e- (at rest) ---> gamma gamma, - // returned as a ParticleChange object. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - virtual - G4double ComputeCrossSectionPerAtom(G4double PositKinEnergy, - G4double AtomicNumber); - - G4double ComputeMeanFreePath(G4double PositKinEnergy, - G4Material* aMaterial); - - private: - - // hide assignment operator as private - G4eplusAnnihilation52& operator=(const G4eplusAnnihilation52& right); - G4eplusAnnihilation52(const G4eplusAnnihilation52& ); - - private: - - G4PhysicsTable* theCrossSectionTable; - G4PhysicsTable* theMeanFreePathTable; - - G4double LowestEnergyLimit; // low energy limit of the tables - G4double HighestEnergyLimit; // high energy limit of the tables - G4int NumbBinTable; // number of bins in the tables - G4double fminimalEnergy; // minimalEnergy of produced particles -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#endif - diff --git a/source/processes/electromagnetic/standard/include/G4hIonisation.hh b/source/processes/electromagnetic/standard/include/G4hIonisation.hh index cedc49b9c7..3f2095399b 100644 --- a/source/processes/electromagnetic/standard/include/G4hIonisation.hh +++ b/source/processes/electromagnetic/standard/include/G4hIonisation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4hIonisation.hh,v 1.35 2007/01/17 09:17:56 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4hIonisation.hh,v 1.37 2007/05/23 08:47:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -109,12 +109,6 @@ protected: G4double& eloss, G4double& length); - std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double&); - virtual void InitialiseEnergyLossProcess(const G4ParticleDefinition*, const G4ParticleDefinition*); @@ -175,15 +169,4 @@ inline void G4hIonisation::CorrectionsAlongStep( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline std::vector* G4hIonisation::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double& tcut) -{ - return model->SampleSecondaries(couple, dp, tcut); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - #endif diff --git a/source/processes/electromagnetic/standard/include/G4hIonisation52.hh b/source/processes/electromagnetic/standard/include/G4hIonisation52.hh deleted file mode 100644 index 96b0acd0a5..0000000000 --- a/source/processes/electromagnetic/standard/include/G4hIonisation52.hh +++ /dev/null @@ -1,182 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4hIonisation52.hh,v 1.4 2006/06/29 19:52:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// --------------- G4hIonisation52 physics process ------------------------------- -// by Laszlo Urban, 30 May 1997 -// ----------------------------------------------------------------------------- -// -// corrected by L.Urban on 24/09/97 -// corrected by L.Urban on 13/01/98 -// bugs fixed by L.Urban on 02/02/99 -// 10/02/00 modifications , new e.m. structure, L.Urban -// 10-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 14-08-01 new function ComputeRestrictedMeandEdx() + 'cleanup' (mma) -// 19-09-01 come back to previous process name "hIoni" -// 29-10-01 all static functions no more inlined -// 15-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 09-11-04 Remove Store/Retrieve tables (V.Ivantchenko) -// 07-02-06 ComputeCrossSectionPerAtom() and dEdx() made public (mma) -// -// ----------------------------------------------------------------------------- - -// Class description -// -// This class manages the ionisation process for hadrons. -// it inherites from G4VContinuousDiscreteProcess via G4VhEnergyLoss. -// -// Class description - end - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#ifndef G4hIonisation52_h -#define G4hIonisation52_h 1 - -#include "G4VhEnergyLoss.hh" -#include "G4MaterialCutsCouple.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -class G4hIonisation52 : public G4VhEnergyLoss - -{ - public: // with description - - G4hIonisation52(const G4String& processName = "hIoni"); - - ~G4hIonisation52(); - - G4bool IsApplicable(const G4ParticleDefinition&); - // return true for charged particles, false otherwise - - void BuildPhysicsTable(const G4ParticleDefinition& aParticleType); - // this function overloads a virtual function of the base class. - // It is invoked by the G4ParticleWithCuts::SetCut() method. - // It invokes BuildLambdaTable(), BuildLossTable(), BuildDEDXTable() - - void BuildLossTable(const G4ParticleDefinition& aParticleType); - // build the dE/dx tables due to the ionisation, for every materials. - // (restricted stopping power, Bethe-Bloch formula) - - void BuildLambdaTable(const G4ParticleDefinition& aParticleType); - // build mean free path tables for the delta rays production. - // the tables are built for every materials. - - virtual void PrintInfoDefinition(); - // Print few lines of informations about the process: validity range, - // origine ..etc.. - // Invoked by BuildPhysicsTable(). - - G4double GetMeanFreePath(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition ); - // It returns the MeanFreePath of the process for the current track : - // (energy, material) - // The previousStepSize and G4ForceCondition* are not used. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - G4VParticleChange *PostStepDoIt(const G4Track& track, - const G4Step& Step ); - // It computes the final state of the process (at end of step), - // returned as a ParticleChange object. - // This function overloads a virtual function of the base class. - // It is invoked by the ProcessManager of the Particle. - - - public: // with description - - virtual G4double ComputeRestrictedMeandEdx( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - const G4Material* material, - G4double DeltaThreshold); - // computes restricted mean dE/dx in Geant4 internal units. - - virtual G4double ComputeCrossSectionPerAtom( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double DeltaThreshold); - // computes total cross section per atom in Geant4 internal units. - - protected: - - virtual G4double SecondaryEnergyThreshold(size_t index); - - G4PhysicsTable* theMeanFreePathTable; - - private: - - // hide assignment operator - G4hIonisation52 & operator=(const G4hIonisation52 &right); - G4hIonisation52(const G4hIonisation52&); - - private: - - static G4double LowerBoundLambda; // bining for lambda table - static G4double UpperBoundLambda; - static G4int NbinLambda; - - G4double LowestKineticEnergy; // binning for dE/dx table - G4double HighestKineticEnergy; - G4int TotBin; - - G4double Tmincut; // min energy of d-rays - G4double initialMass; // mass for Lambda table - - const std::vector* secondaryEnergyCuts; - - public: // with description - - static void SetLowerBoundLambda(G4double val); - static void SetUpperBoundLambda(G4double val); - static void SetNbinLambda(G4int n); - // set the parameters of the mean free path table. - - static G4double GetLowerBoundLambda(); - static G4double GetUpperBoundLambda(); - static G4int GetNbinLambda(); - // get the parameters of the mean free path table. -}; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4hIonisation52.icc" - -#endif - - - - - - - - diff --git a/source/processes/electromagnetic/standard/include/G4hMultipleScattering.hh b/source/processes/electromagnetic/standard/include/G4hMultipleScattering.hh index d0d51227cf..99d3a47fc0 100644 --- a/source/processes/electromagnetic/standard/include/G4hMultipleScattering.hh +++ b/source/processes/electromagnetic/standard/include/G4hMultipleScattering.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4hMultipleScattering.hh,v 1.2 2007/03/20 15:40:59 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4hMultipleScattering.hh,v 1.3 2007/05/18 18:43:32 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // @@ -76,10 +76,6 @@ public: // with description // Print few lines of informations about the process: validity range, void PrintInfo(); - // set boolean flag steppingAlgorithm - // ( true/false : standard or 7.1 style process) - void MscStepLimitation(G4bool algorithm, G4double factor = -1.); - // geom. step length distribution should be sampled or not void Setsamplez(G4bool value) { samplez = value;}; @@ -89,12 +85,6 @@ public: // with description // 'soften' step limitation above lambdalimit void SetLambdalimit(G4double value) { lambdalimit = value;}; - // Steplimit = facrange*max(range,lambda) - void SetFacrange(G4double val) { facrange=val;}; - - // connected with step size reduction due to geometry - void SetFacgeom(G4double val) { facgeom=val;}; - protected: // This function initialise models @@ -104,16 +94,9 @@ private: // data members G4UrbanMscModel* mscUrban; - G4double lowKineticEnergy; - G4double highKineticEnergy; - G4int totBins; - G4double lambdalimit; - G4double facrange; - G4double facgeom; G4double dtrl; - G4bool steppingAlgorithm; G4bool samplez; G4bool isInitialized; diff --git a/source/processes/electromagnetic/standard/include/G4ionIonisation.hh b/source/processes/electromagnetic/standard/include/G4ionIonisation.hh index 835d0bfd3a..851c0ac1eb 100644 --- a/source/processes/electromagnetic/standard/include/G4ionIonisation.hh +++ b/source/processes/electromagnetic/standard/include/G4ionIonisation.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ionIonisation.hh,v 1.42 2007/01/17 09:17:56 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4ionIonisation.hh,v 1.46 2007/05/23 08:47:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -94,6 +94,8 @@ public: void ActivateStoppingData(G4bool); + void ActivateNuclearStopping(G4bool); + protected: void CorrectionsAlongStep( @@ -102,21 +104,13 @@ protected: G4double& eloss, G4double& length); - virtual std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double&); - void InitialiseEnergyLossProcess(const G4ParticleDefinition*, const G4ParticleDefinition*); - G4double GetMeanFreePath(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition); + void InitialiseMassCharge(const G4Track&); - virtual G4double MinPrimaryEnergy(const G4ParticleDefinition* p, - const G4Material*, G4double cut); + G4double MinPrimaryEnergy(const G4ParticleDefinition* p, + const G4Material*, G4double cut); private: @@ -148,6 +142,7 @@ private: G4bool isInitialised; G4bool stopDataActive; + G4bool nuclearStopping; }; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -171,14 +166,13 @@ inline G4double G4ionIonisation::MinPrimaryEnergy( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline void G4ionIonisation::DefineMassCharge(const G4ParticleDefinition* pd, - const G4Material* mat, - G4double mass, - G4double kinEnergy) +inline void G4ionIonisation::InitialiseMassCharge(const G4Track& track) { - preKinEnergy = kinEnergy; - massRatio = baseMass/mass; - charge2 = effCharge->EffectiveChargeSquareRatio(pd,mat,kinEnergy); + preKinEnergy = track.GetKineticEnergy(); + massRatio = baseMass/track.GetDynamicParticle()->GetMass(); + charge2 = effCharge->EffectiveChargeSquareRatio(track.GetDefinition(), + track.GetMaterial(), + preKinEnergy); SetDynamicMassCharge(massRatio, charge2); } @@ -198,7 +192,8 @@ inline void G4ionIonisation::CorrectionsAlongStep( else { if(stopDataActive) eloss *= corr->EffectiveChargeCorrection(part,mat,preKinEnergy); - eloss += s*corr->NuclearDEDX(part,mat,preKinEnergy - eloss*0.5); + if(nuclearStopping) + eloss += s*corr->NuclearDEDX(part,mat,preKinEnergy - eloss*0.5); } fParticleChange.SetProposedCharge(effCharge->EffectiveCharge(part, mat,preKinEnergy-eloss)); @@ -207,17 +202,6 @@ inline void G4ionIonisation::CorrectionsAlongStep( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline std::vector* G4ionIonisation::SecondariesPostStep( - G4VEmModel* model, - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double& tcut) -{ - return model->SampleSecondaries(couple, dp, tcut); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - inline void G4ionIonisation::ActivateStoppingData(G4bool val) { stopDataActive = val; @@ -225,4 +209,11 @@ inline void G4ionIonisation::ActivateStoppingData(G4bool val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +inline void G4ionIonisation::ActivateNuclearStopping(G4bool val) +{ + nuclearStopping = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + #endif diff --git a/source/processes/electromagnetic/standard/src/G4ASTARStopping.cc b/source/processes/electromagnetic/standard/src/G4ASTARStopping.cc index 0553a5da6b..5a02680b0f 100644 --- a/source/processes/electromagnetic/standard/src/G4ASTARStopping.cc +++ b/source/processes/electromagnetic/standard/src/G4ASTARStopping.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ASTARStopping.cc,v 1.6 2006/06/29 19:52:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ //--------------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/standard/src/G4BetheBlochModel.cc b/source/processes/electromagnetic/standard/src/G4BetheBlochModel.cc index 3e3a82b4e9..72e051f07d 100644 --- a/source/processes/electromagnetic/standard/src/G4BetheBlochModel.cc +++ b/source/processes/electromagnetic/standard/src/G4BetheBlochModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BetheBlochModel.cc,v 1.12 2006/08/29 20:21:34 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4BetheBlochModel.cc,v 1.13 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -229,17 +229,17 @@ G4double G4BetheBlochModel::ComputeDEDXPerVolume(const G4Material* material, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -vector* G4BetheBlochModel::SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle* dp, - G4double minKinEnergy, - G4double maxEnergy) +void G4BetheBlochModel::SampleSecondaries(vector* vdp, + const G4MaterialCutsCouple*, + const G4DynamicParticle* dp, + G4double minKinEnergy, + G4double maxEnergy) { G4double kineticEnergy = dp->GetKineticEnergy(); G4double tmax = MaxSecondaryEnergy(dp->GetDefinition(),kineticEnergy); G4double maxKinEnergy = min(maxEnergy,tmax); - if(minKinEnergy >= maxKinEnergy) return 0; + if(minKinEnergy >= maxKinEnergy) return; G4double totEnergy = kineticEnergy + mass; G4double etot2 = totEnergy*totEnergy; @@ -297,7 +297,6 @@ vector* G4BetheBlochModel::SampleSecondaries( G4DynamicParticle* delta = new G4DynamicParticle(theElectron, deltaDirection,deltaKinEnergy); - vector* vdp = new vector; vdp->push_back(delta); // Change kinematics of primary particle @@ -307,8 +306,6 @@ vector* G4BetheBlochModel::SampleSecondaries( fParticleChange->SetProposedKineticEnergy(kineticEnergy); fParticleChange->SetProposedMomentumDirection(finalP); - - return vdp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4BetheHeitlerModel.cc b/source/processes/electromagnetic/standard/src/G4BetheHeitlerModel.cc index 16d8a1fe24..09798138b4 100644 --- a/source/processes/electromagnetic/standard/src/G4BetheHeitlerModel.cc +++ b/source/processes/electromagnetic/standard/src/G4BetheHeitlerModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BetheHeitlerModel.cc,v 1.10 2007/02/20 17:06:35 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4BetheHeitlerModel.cc,v 1.11 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -180,11 +180,11 @@ G4double G4BetheHeitlerModel::ComputeCrossSectionPerAtom( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4BetheHeitlerModel::SampleSecondaries( - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* aDynamicGamma, - G4double, - G4double) +void G4BetheHeitlerModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* aDynamicGamma, + G4double, + G4double) // The secondaries e+e- energies are sampled using the Bethe - Heitler // cross sections with Coulomb correction. // A modified version of the random number techniques of Butcher & Messel @@ -205,7 +205,7 @@ std::vector* G4BetheHeitlerModel::SampleSecondaries( G4double epsil ; G4double epsil0 = electron_mass_c2/GammaEnergy ; - if(epsil0 > 1.0) return 0; + if(epsil0 > 1.0) return; // do it fast if GammaEnergy < 2. MeV static const G4double Egsmall=2.*MeV; @@ -272,8 +272,8 @@ std::vector* G4BetheHeitlerModel::SampleSecondaries( } else { - PositTotEnergy = (1.-epsil)*GammaEnergy; - ElectTotEnergy = epsil*GammaEnergy; + PositTotEnergy = (1.-epsil)*GammaEnergy; + ElectTotEnergy = epsil*GammaEnergy; } // @@ -322,15 +322,12 @@ std::vector* G4BetheHeitlerModel::SampleSecondaries( thePositron,PositDirection,PositKineEnergy); // Fill output vector - std::vector* fvect = new std::vector; fvect->push_back(aParticle1); fvect->push_back(aParticle2); // kill incident photon fParticleChange->SetProposedKineticEnergy(0.); fParticleChange->ProposeTrackStatus(fStopAndKill); - - return fvect; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4BohrFluctuations.cc b/source/processes/electromagnetic/standard/src/G4BohrFluctuations.cc index 0b63e3cc97..743c86deb5 100644 --- a/source/processes/electromagnetic/standard/src/G4BohrFluctuations.cc +++ b/source/processes/electromagnetic/standard/src/G4BohrFluctuations.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BohrFluctuations.cc,v 1.4 2006/06/29 19:52:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/standard/src/G4BraggIonModel.cc b/source/processes/electromagnetic/standard/src/G4BraggIonModel.cc index 8e7e69caa2..f9be6349ec 100644 --- a/source/processes/electromagnetic/standard/src/G4BraggIonModel.cc +++ b/source/processes/electromagnetic/standard/src/G4BraggIonModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BraggIonModel.cc,v 1.15 2006/10/23 18:57:19 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4BraggIonModel.cc,v 1.16 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -212,15 +212,15 @@ G4double G4BraggIonModel::ComputeDEDXPerVolume(const G4Material* material, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -std::vector* G4BraggIonModel::SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle* dp, - G4double xmin, - G4double maxEnergy) +void G4BraggIonModel::SampleSecondaries(std::vector* vdp, + const G4MaterialCutsCouple*, + const G4DynamicParticle* dp, + G4double xmin, + G4double maxEnergy) { G4double tmax = MaxSecondaryKinEnergy(dp); G4double xmax = min(tmax, maxEnergy); - if(xmin >= xmax) return 0; + if(xmin >= xmax) return; G4double kineticEnergy = dp->GetKineticEnergy(); G4double energy = kineticEnergy + mass; @@ -263,7 +263,6 @@ std::vector* G4BraggIonModel::SampleSecondaries( G4DynamicParticle* delta = new G4DynamicParticle(theElectron,deltaDirection, deltaKinEnergy); - std::vector* vdp = new std::vector; vdp->push_back(delta); // Change kinematics of primary particle @@ -273,8 +272,6 @@ std::vector* G4BraggIonModel::SampleSecondaries( fParticleChange->SetProposedKineticEnergy(kineticEnergy); fParticleChange->SetProposedMomentumDirection(finalP); - - return vdp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4BraggModel.cc b/source/processes/electromagnetic/standard/src/G4BraggModel.cc index 9932cdc0bc..b14b9cb7bc 100644 --- a/source/processes/electromagnetic/standard/src/G4BraggModel.cc +++ b/source/processes/electromagnetic/standard/src/G4BraggModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4BraggModel.cc,v 1.14 2006/06/29 19:52:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4BraggModel.cc,v 1.15 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -206,15 +206,15 @@ G4double G4BraggModel::ComputeDEDXPerVolume(const G4Material* material, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -vector* G4BraggModel::SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle* dp, - G4double xmin, - G4double maxEnergy) +void G4BraggModel::SampleSecondaries(vector* vdp, + const G4MaterialCutsCouple*, + const G4DynamicParticle* dp, + G4double xmin, + G4double maxEnergy) { G4double tmax = MaxSecondaryKinEnergy(dp); G4double xmax = min(tmax, maxEnergy); - if(xmin >= xmax) return 0; + if(xmin >= xmax) return; G4double kineticEnergy = dp->GetKineticEnergy(); G4double energy = kineticEnergy + mass; @@ -265,9 +265,7 @@ vector* G4BraggModel::SampleSecondaries( G4DynamicParticle* delta = new G4DynamicParticle(theElectron,deltaDirection, deltaKinEnergy); - vector* vdp = new vector; vdp->push_back(delta); - return vdp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4ComptonScattering.cc b/source/processes/electromagnetic/standard/src/G4ComptonScattering.cc index 06ecddcf88..c19e16cdf3 100644 --- a/source/processes/electromagnetic/standard/src/G4ComptonScattering.cc +++ b/source/processes/electromagnetic/standard/src/G4ComptonScattering.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ComptonScattering.cc,v 1.27 2006/09/14 10:27:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //------------ G4ComptonScattering physics process ----------------------------- diff --git a/source/processes/electromagnetic/standard/src/G4ComptonScattering52.cc b/source/processes/electromagnetic/standard/src/G4ComptonScattering52.cc index cdb582da19..81a55561a2 100644 --- a/source/processes/electromagnetic/standard/src/G4ComptonScattering52.cc +++ b/source/processes/electromagnetic/standard/src/G4ComptonScattering52.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ComptonScattering52.cc,v 1.3 2006/10/16 15:26:49 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ComptonScattering52.cc,v 1.5 2007/05/16 14:00:56 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //------------ G4ComptonScattering52 physics process ----------------------------- diff --git a/source/processes/electromagnetic/standard/src/G4CoulombScattering.cc b/source/processes/electromagnetic/standard/src/G4CoulombScattering.cc index 36dc225a2e..a0a542a07e 100644 --- a/source/processes/electromagnetic/standard/src/G4CoulombScattering.cc +++ b/source/processes/electromagnetic/standard/src/G4CoulombScattering.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4CoulombScattering.cc,v 1.7 2006/10/19 09:44:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/standard/src/G4CoulombScatteringModel.cc b/source/processes/electromagnetic/standard/src/G4CoulombScatteringModel.cc index bacca13071..6a599ee78e 100644 --- a/source/processes/electromagnetic/standard/src/G4CoulombScatteringModel.cc +++ b/source/processes/electromagnetic/standard/src/G4CoulombScatteringModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4CoulombScatteringModel.cc,v 1.7 2006/10/19 09:44:27 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4CoulombScatteringModel.cc,v 1.8 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -142,13 +142,12 @@ G4double G4CoulombScatteringModel::SelectIsotope(const G4Element* elm) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4CoulombScatteringModel::SampleSecondaries( - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double, - G4double) +void G4CoulombScatteringModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double, + G4double) { - std::vector* fvect = 0; const G4Material* aMaterial = couple->GetMaterial(); const G4ParticleDefinition* p = dp->GetDefinition(); @@ -180,7 +179,7 @@ std::vector* G4CoulombScatteringModel::SampleSecondaries( G4double costm = std::max(cosThetaMax, 1.0 - 0.5*q2Limit/momCM2); if(1 == iz && p == theProton) costm = std::max(0.0, costm); - if(costm > cosThetaMin) return fvect; + if(costm > cosThetaMin) return; G4double x = G4UniformRand(); G4double y = (a + 1.0 - cosThetaMin)/(cosThetaMin - costm); @@ -213,15 +212,12 @@ std::vector* G4CoulombScatteringModel::SampleSecondaries( ekin = lfv2.e() - m2; if(ekin > Z*aMaterial->GetIonisation()->GetMeanExcitationEnergy()) { - fvect = new std::vector; G4ParticleDefinition* ion = theParticleTable->GetIon(iz, in, 0.0); G4DynamicParticle* newdp = new G4DynamicParticle(ion, lfv2); fvect->push_back(newdp); } else if(ekin > 0.0) { fParticleChange->ProposeLocalEnergyDeposit(ekin); } - - return fvect; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4GammaConversion.cc b/source/processes/electromagnetic/standard/src/G4GammaConversion.cc index ea673ec6db..f15210320e 100644 --- a/source/processes/electromagnetic/standard/src/G4GammaConversion.cc +++ b/source/processes/electromagnetic/standard/src/G4GammaConversion.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4GammaConversion.cc,v 1.27 2006/09/14 10:27:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //------------------ G4GammaConversion physics process ------------------------- diff --git a/source/processes/electromagnetic/standard/src/G4GammaConversion52.cc b/source/processes/electromagnetic/standard/src/G4GammaConversion52.cc deleted file mode 100644 index 1d1e6977bd..0000000000 --- a/source/processes/electromagnetic/standard/src/G4GammaConversion52.cc +++ /dev/null @@ -1,590 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4GammaConversion52.cc,v 1.4 2006/10/16 15:26:49 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//------------------ G4GammaConversion52 physics process ------------------------- -// by Michel Maire, 24 May 1996 -// -// 11-06-96 Added SelectRandomAtom() method, M.Maire -// 21-06-96 SetCuts implementation, M.Maire -// 24-06-96 simplification in ComputeCrossSectionPerAtom, M.Maire -// 24-06-96 in DoIt : change the particleType stuff, M.Maire -// 25-06-96 modification in the generation of the teta angle, M.Maire -// 16-09-96 minors optimisations in DoIt. Thanks to P.Urban -// dynamical array PartialSumSigma -// 13-12-96 fast sampling of epsil below 2 MeV, L.Urban -// 14-01-97 crossection table + meanfreepath table. -// PartialSumSigma removed, M.Maire -// 14-01-97 in DoIt the positron is always created, even with Ekine=0, -// for further annihilation, M.Maire -// 14-03-97 new Physics scheme for geant4alpha, M.Maire -// 28-03-97 protection in BuildPhysicsTable, M.Maire -// 19-06-97 correction in ComputeCrossSectionPerAtom, L.Urban -// 04-06-98 in DoIt, secondary production condition: -// range>std::min(threshold,safety) -// 13-08-98 new methods SetBining() PrintInfo() -// 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 11-07-01 PostStepDoIt - sampling epsil: power(rndm,0.333333) -// 13-07-01 DoIt: suppression of production cut for the (e-,e+) (mma) -// 06-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 06-08-01 BuildThePhysicsTable() called from constructor (mma) -// 17-09-01 migration of Materials to pure STL (mma) -// 20-09-01 DoIt: fminimalEnergy = 1*eV (mma) -// 01-10-01 come back to BuildPhysicsTable(const G4ParticleDefinition&) -// 11-01-02 ComputeCrossSection: correction of extrapolation below EnergyLimit -// 21-03-02 DoIt: correction of the e+e- angular distribution (bug 363) mma -// 08-11-04 Remove of Store/Retrieve tables (V.Ivantchenko) -// 04-05-05 Add 52 to class name (V.Ivanchenko) -// 16-11-05 replace shootBit() by G4UniformRand() mma -// ----------------------------------------------------------------------------- - -#include "G4GammaConversion52.hh" -#include "G4UnitsTable.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4GammaConversion52::G4GammaConversion52(const G4String& processName, - G4ProcessType type):G4VDiscreteProcess (processName, type), - theCrossSectionTable(NULL), - theMeanFreePathTable(NULL), - LowestEnergyLimit (2*electron_mass_c2), - HighestEnergyLimit(100*GeV), - NumbBinTable(100), - fminimalEnergy(1*eV) -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// destructor - -G4GammaConversion52::~G4GammaConversion52() -{ - if (theCrossSectionTable) { - theCrossSectionTable->clearAndDestroy(); - delete theCrossSectionTable; - } - - if (theMeanFreePathTable) { - theMeanFreePathTable->clearAndDestroy(); - delete theMeanFreePathTable; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4GammaConversion52::IsApplicable( const G4ParticleDefinition& particle) -{ - return ( &particle == G4Gamma::Gamma() ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -void G4GammaConversion52::SetPhysicsTableBining( - G4double lowE, G4double highE, G4int nBins) -{ - LowestEnergyLimit = lowE; HighestEnergyLimit = highE; NumbBinTable = nBins; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4GammaConversion52::BuildPhysicsTable(const G4ParticleDefinition&) -// Build cross section and mean free path tables -{ - G4double LowEdgeEnergy, Value; - G4PhysicsLogVector* ptrVector; - -// Build cross section per atom tables for the e+e- pair creation - - if (theCrossSectionTable) { - theCrossSectionTable->clearAndDestroy(); delete theCrossSectionTable;} - - theCrossSectionTable = new G4PhysicsTable(G4Element::GetNumberOfElements()); - const G4ElementTable* theElementTable = G4Element::GetElementTable(); - G4double AtomicNumber; - size_t J; - - for ( J=0 ; J < G4Element::GetNumberOfElements(); J++ ) - { - //create physics vector then fill it .... - ptrVector = new G4PhysicsLogVector(LowestEnergyLimit,HighestEnergyLimit, - NumbBinTable ); - AtomicNumber = (*theElementTable)[J]->GetZ(); - - for ( G4int i = 0 ; i < NumbBinTable ; i++ ) - { - LowEdgeEnergy = ptrVector->GetLowEdgeEnergy( i ) ; - Value = ComputeCrossSectionPerAtom( LowEdgeEnergy, AtomicNumber); - ptrVector->PutValue( i , Value ) ; - } - - theCrossSectionTable->insertAt( J , ptrVector ) ; - - } - -// Build mean free path table for the e+e- pair creation - - if (theMeanFreePathTable) - { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} - - theMeanFreePathTable= new G4PhysicsTable(G4Material::GetNumberOfMaterials()); - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4Material* material; - - for ( J=0 ; J < G4Material::GetNumberOfMaterials(); J++ ) - { - //create physics vector then fill it .... - ptrVector = new G4PhysicsLogVector(LowestEnergyLimit,HighestEnergyLimit, - NumbBinTable); - material = (*theMaterialTable)[J]; - - for ( G4int i = 0 ; i < NumbBinTable ; i++ ) - { - LowEdgeEnergy = ptrVector->GetLowEdgeEnergy( i ) ; - Value = ComputeMeanFreePath( LowEdgeEnergy, material); - ptrVector->PutValue( i , Value ) ; - } - - theMeanFreePathTable->insertAt( J , ptrVector ) ; - - } - - PrintInfoDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4GammaConversion52::ComputeCrossSectionPerAtom - (G4double GammaEnergy, G4double AtomicNumber) - -// Calculates the microscopic cross section in GEANT4 internal units. -// A parametrized formula from L. Urban is used to estimate -// the total cross section. -// It gives a good description of the data from 1.5 MeV to 100 GeV. -// below 1.5 MeV: sigma=sigma(1.5MeV)*(GammaEnergy-2electronmass) -// *(GammaEnergy-2electronmass) - -{ - G4double GammaEnergyLimit = 1.5*MeV; - G4double CrossSection = 0.0 ; - if ( AtomicNumber < 1. ) return CrossSection; - if ( GammaEnergy < 2*electron_mass_c2 ) return CrossSection; - - static const G4double - a0= 8.7842e+2*microbarn, a1=-1.9625e+3*microbarn, a2= 1.2949e+3*microbarn, - a3=-2.0028e+2*microbarn, a4= 1.2575e+1*microbarn, a5=-2.8333e-1*microbarn; - - static const G4double - b0=-1.0342e+1*microbarn, b1= 1.7692e+1*microbarn, b2=-8.2381 *microbarn, - b3= 1.3063 *microbarn, b4=-9.0815e-2*microbarn, b5= 2.3586e-3*microbarn; - - static const G4double - c0=-4.5263e+2*microbarn, c1= 1.1161e+3*microbarn, c2=-8.6749e+2*microbarn, - c3= 2.1773e+2*microbarn, c4=-2.0467e+1*microbarn, c5= 6.5372e-1*microbarn; - - G4double GammaEnergySave = GammaEnergy ; - if (GammaEnergy < GammaEnergyLimit) GammaEnergy = GammaEnergyLimit ; - - G4double X=log(GammaEnergy/electron_mass_c2),X2=X*X, X3=X2*X, X4=X3*X, X5=X4*X; - - G4double F1 = a0 + a1*X + a2*X2 + a3*X3 + a4*X4 + a5*X5, - F2 = b0 + b1*X + b2*X2 + b3*X3 + b4*X4 + b5*X5, - F3 = c0 + c1*X + c2*X2 + c3*X3 + c4*X4 + c5*X5; - - CrossSection = (AtomicNumber+1.)* - (F1*AtomicNumber + F2*AtomicNumber*AtomicNumber + F3); - - if (GammaEnergySave < GammaEnergyLimit) - { - X = (GammaEnergySave - 2.*electron_mass_c2) - /(GammaEnergyLimit- 2.*electron_mass_c2); - CrossSection *= X*X; - } - - if (CrossSection < 0.) CrossSection = 0.; - - return CrossSection; -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4GammaConversion52::ComputeMeanFreePath(G4double GammaEnergy, - G4Material* aMaterial) - -// computes and returns the photon mean free path in GEANT4 internal units - -{ - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - const G4double* NbOfAtomsPerVolume = aMaterial->GetVecNbOfAtomsPerVolume(); - - G4double SIGMA = 0 ; - - for ( size_t i=0 ; i < aMaterial->GetNumberOfElements() ; i++ ) - { - SIGMA += NbOfAtomsPerVolume[i] * - ComputeCrossSectionPerAtom(GammaEnergy, - (*theElementVector)[i]->GetZ()); - } - - return SIGMA > DBL_MIN ? 1./SIGMA : DBL_MAX; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4GammaConversion52::GetCrossSectionPerAtom( - const G4DynamicParticle* aDynamicGamma, - G4Element* anElement) - -// gives the total cross section per atom in GEANT4 internal units - -{ - G4double crossSection; - G4double GammaEnergy = aDynamicGamma->GetKineticEnergy(); - G4bool isOutRange ; - - if (GammaEnergy < LowestEnergyLimit) - crossSection = 0. ; - else { - if (GammaEnergy > HighestEnergyLimit) GammaEnergy=0.99*HighestEnergyLimit; - crossSection = (*theCrossSectionTable)(anElement->GetIndex())-> - GetValue( GammaEnergy, isOutRange ); - } - - return crossSection; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4GammaConversion52::GetMeanFreePath(const G4Track& aTrack, - G4double, - G4ForceCondition*) - -// returns the photon mean free path in GEANT4 internal units -// (MeanFreePath is a private member of the class) - -{ - const G4DynamicParticle* aDynamicGamma = aTrack.GetDynamicParticle(); - G4double GammaEnergy = aDynamicGamma->GetKineticEnergy(); - G4Material* aMaterial = aTrack.GetMaterial(); - - G4bool isOutRange; - - if (GammaEnergy < LowestEnergyLimit) - MeanFreePath = DBL_MAX; - else { - if (GammaEnergy > HighestEnergyLimit) GammaEnergy=0.99*HighestEnergyLimit; - MeanFreePath = (*theMeanFreePathTable)(aMaterial->GetIndex())-> - GetValue( GammaEnergy, isOutRange ); - } - - return MeanFreePath; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4GammaConversion52::PostStepDoIt(const G4Track& aTrack, - const G4Step& aStep) -// -// The secondaries e+e- energies are sampled using the Bethe - Heitler -// cross sections with Coulomb correction. -// A modified version of the random number techniques of Butcher & Messel -// is used (Nuc Phys 20(1960),15). -// -// GEANT4 internal units. -// -// Note 1 : Effects due to the breakdown of the Born approximation at -// low energy are ignored. -// Note 2 : The differential cross section implicitly takes account of -// pair creation in both nuclear and atomic electron fields. -// However triplet prodution is not generated. - -{ - aParticleChange.Initialize(aTrack); - G4Material* aMaterial = aTrack.GetMaterial(); - - const G4DynamicParticle* aDynamicGamma = aTrack.GetDynamicParticle(); - G4double GammaEnergy = aDynamicGamma->GetKineticEnergy(); - G4ParticleMomentum GammaDirection = aDynamicGamma->GetMomentumDirection(); - - - G4double epsil ; - G4double epsil0 = electron_mass_c2/GammaEnergy ; - - // do it fast if GammaEnergy < 2. MeV - const G4double Egsmall=2.*MeV; - if (GammaEnergy= 2. MeV - - // select randomly one element constituing the material - G4Element* anElement = SelectRandomAtom(aDynamicGamma, aMaterial); - - // Extract Coulomb factor for this Element - G4double FZ = 8.*(anElement->GetIonisation()->GetlogZ3()); - if (GammaEnergy > 50.*MeV) FZ += 8.*(anElement->GetfCoulomb()); - - // limits of the screening variable - G4double screenfac = 136.*epsil0/(anElement->GetIonisation()->GetZ3()); - G4double screenmax = exp ((42.24 - FZ)/8.368) - 0.952 ; - G4double screenmin = min(4.*screenfac,screenmax); - - // limits of the energy sampling - G4double epsil1 = 0.5 - 0.5*sqrt(1. - screenmin/screenmax) ; - G4double epsilmin = max(epsil0,epsil1) , epsilrange = 0.5 - epsilmin; - - // - // sample the energy rate of the created electron (or positron) - // - //G4double epsil, screenvar, greject ; - G4double screenvar, greject ; - - G4double F10 = ScreenFunction1(screenmin) - FZ; - G4double F20 = ScreenFunction2(screenmin) - FZ; - G4double NormF1 = max(F10*epsilrange*epsilrange,0.); - G4double NormF2 = max(1.5*F20,0.); - - do { - if ( NormF1/(NormF1+NormF2) > G4UniformRand() ) - { epsil = 0.5 - epsilrange*pow(G4UniformRand(), 0.333333); - screenvar = screenfac/(epsil*(1-epsil)); - greject = (ScreenFunction1(screenvar) - FZ)/F10; - } - else { epsil = epsilmin + epsilrange*G4UniformRand(); - screenvar = screenfac/(epsil*(1-epsil)); - greject = (ScreenFunction2(screenvar) - FZ)/F20; - } - - } while( greject < G4UniformRand() ); - - } // end of epsil sampling - - // - // fixe charges randomly - // - - G4double ElectTotEnergy, PositTotEnergy; - if (G4UniformRand() > 0.5) - { - ElectTotEnergy = (1.-epsil)*GammaEnergy; - PositTotEnergy = epsil*GammaEnergy; - } - else - { - PositTotEnergy = (1.-epsil)*GammaEnergy; - ElectTotEnergy = epsil*GammaEnergy; - } - - // - // scattered electron (positron) angles. ( Z - axis along the parent photon) - // - // universal distribution suggested by L. Urban - // (Geant3 manual (1993) Phys211), - // derived from Tsai distribution (Rev Mod Phys 49,421(1977)) - - G4double u; - const G4double a1 = 0.625 , a2 = 3.*a1 , d = 27. ; - - if (9./(9.+d) >G4UniformRand()) u= - log(G4UniformRand()*G4UniformRand())/a1; - else u= - log(G4UniformRand()*G4UniformRand())/a2; - - G4double TetEl = u*electron_mass_c2/ElectTotEnergy; - G4double TetPo = u*electron_mass_c2/PositTotEnergy; - G4double Phi = twopi * G4UniformRand(); - G4double dxEl= sin(TetEl)*cos(Phi),dyEl= sin(TetEl)*sin(Phi),dzEl=cos(TetEl); - G4double dxPo=-sin(TetPo)*cos(Phi),dyPo=-sin(TetPo)*sin(Phi),dzPo=cos(TetPo); - - // - // kinematic of the created pair - // - // the electron and positron are assumed to have a symetric - // angular distribution with respect to the Z axis along the parent photon. - - aParticleChange.SetNumberOfSecondaries(2); - - G4double ElectKineEnergy = max(0.,ElectTotEnergy - electron_mass_c2); - G4double localEnergyDeposit = 0.; - - if (ElectKineEnergy > fminimalEnergy) - { - G4ThreeVector ElectDirection (dxEl, dyEl, dzEl); - ElectDirection.rotateUz(GammaDirection); - - // create G4DynamicParticle object for the particle1 - G4DynamicParticle* aParticle1= new G4DynamicParticle( - G4Electron::Electron(),ElectDirection,ElectKineEnergy); - aParticleChange.AddSecondary(aParticle1); - } - else - { localEnergyDeposit += ElectKineEnergy;} - - // the e+ is always created (even with Ekine=0) for further annihilation. - - G4double PositKineEnergy = max(0.,PositTotEnergy - electron_mass_c2); - if (PositKineEnergy < fminimalEnergy) - { localEnergyDeposit += PositKineEnergy; PositKineEnergy = 0.;} - - G4ThreeVector PositDirection (dxPo, dyPo, dzPo); - PositDirection.rotateUz(GammaDirection); - - // create G4DynamicParticle object for the particle2 - G4DynamicParticle* aParticle2= new G4DynamicParticle( - G4Positron::Positron(),PositDirection,PositKineEnergy); - aParticleChange.AddSecondary(aParticle2); - - aParticleChange.ProposeLocalEnergyDeposit(localEnergyDeposit); - - // - // Kill the incident photon - // - - aParticleChange.ProposeEnergy( 0. ); - aParticleChange.ProposeTrackStatus( fStopAndKill ); - - // Reset NbOfInteractionLengthLeft and return aParticleChange - return G4VDiscreteProcess::PostStepDoIt( aTrack, aStep ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4Element* G4GammaConversion52::SelectRandomAtom( - const G4DynamicParticle* aDynamicGamma, - G4Material* aMaterial) -{ - // select randomly 1 element within the material - - const G4int NumberOfElements = aMaterial->GetNumberOfElements(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - if (NumberOfElements == 1) return (*theElementVector)[0]; - - const G4double* NbOfAtomsPerVolume = aMaterial->GetVecNbOfAtomsPerVolume(); - - G4double PartialSumSigma = 0. ; - G4double rval = G4UniformRand()/MeanFreePath; - - for ( G4int i=0 ; i < NumberOfElements ; i++ ) - { PartialSumSigma += NbOfAtomsPerVolume[i] * - GetCrossSectionPerAtom(aDynamicGamma, (*theElementVector)[i]); - if (rval <= PartialSumSigma) return ((*theElementVector)[i]); - } - G4cout << " WARNING !!! - The Material '"<< aMaterial->GetName() - << "' has no elements, NULL pointer returned." << G4endl; - return NULL; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4GammaConversion52::StorePhysicsTable(const G4ParticleDefinition* particle, - const G4String& directory, - G4bool ascii) -{ - G4String filename; - - // store cross section table - filename = GetPhysicsTableFileName(particle,directory,"CrossSection",ascii); - if ( !theCrossSectionTable->StorePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theCrossSectionTable->StorePhysicsTable in " << filename - << G4endl; - return false; - } - - // store mean free path table - filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - if ( !theMeanFreePathTable->StorePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theMeanFreePathTable->StorePhysicsTable in " << filename - << G4endl; - return false; - } - - G4cout << GetProcessName() << " for " << particle->GetParticleName() - << ": Success to store the PhysicsTables in " - << directory << G4endl; - return true; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -/* -G4bool G4GammaConversion52::RetrievePhysicsTable(const G4ParticleDefinition* particle, - const G4String& directory, - G4bool ascii) -{ - // delete theCrossSectionTable and theMeanFreePathTable - if (theCrossSectionTable != 0) { - theCrossSectionTable->clearAndDestroy(); - delete theCrossSectionTable; - } - if (theMeanFreePathTable != 0) { - theMeanFreePathTable->clearAndDestroy(); - delete theMeanFreePathTable; - } - - G4String filename; - - // retreive cross section table - filename = GetPhysicsTableFileName(particle,directory,"CrossSection",ascii); - theCrossSectionTable = new G4PhysicsTable(G4Element::GetNumberOfElements()); - if ( !G4PhysicsTableHelper::RetrievePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theCrossSectionTable->RetrievePhysicsTable in " << filename - << G4endl; - return false; - } - - // retreive mean free path table - filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); - if ( !G4PhysicsTableHelper::RetrievePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theMeanFreePathTable->RetrievePhysicsTable in " << filename - << G4endl; - return false; - } - - G4cout << GetProcessName() << " for " << particle->GetParticleName() - << ": Success to retrieve the PhysicsTables from " - << directory << G4endl; - return true; -} -*/ -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4GammaConversion52::PrintInfoDefinition() -{ - G4String comments = "Total cross sections from a parametrisation. "; - comments += "Good description from 1.5 MeV to 100 GeV for all Z. \n"; - comments += " e+e- energies according Bethe-Heitler"; - - G4cout << G4endl << GetProcessName() << ": " << comments - << "\n PhysicsTables from " - << G4BestUnit(LowestEnergyLimit, "Energy") - << " to " << G4BestUnit(HighestEnergyLimit,"Energy") - << " in " << NumbBinTable << " bins. \n"; - G4cout << " WARNING: This process is obsolete and will be soon removed" - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4InitXscPAI.cc b/source/processes/electromagnetic/standard/src/G4InitXscPAI.cc index 7cf20d7cc2..42c09850a1 100644 --- a/source/processes/electromagnetic/standard/src/G4InitXscPAI.cc +++ b/source/processes/electromagnetic/standard/src/G4InitXscPAI.cc @@ -25,7 +25,7 @@ // // // $Id: G4InitXscPAI.cc,v 1.9 2006/06/29 19:53:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4InitXscPAI.cc -- class implementation file diff --git a/source/processes/electromagnetic/standard/src/G4IonFluctuations.cc b/source/processes/electromagnetic/standard/src/G4IonFluctuations.cc index d609f0162f..9a9472153f 100644 --- a/source/processes/electromagnetic/standard/src/G4IonFluctuations.cc +++ b/source/processes/electromagnetic/standard/src/G4IonFluctuations.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4IonFluctuations.cc,v 1.3 2006/06/29 19:53:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/standard/src/G4KleinNishinaCompton.cc b/source/processes/electromagnetic/standard/src/G4KleinNishinaCompton.cc index aecda2de08..6cee6bc6c8 100644 --- a/source/processes/electromagnetic/standard/src/G4KleinNishinaCompton.cc +++ b/source/processes/electromagnetic/standard/src/G4KleinNishinaCompton.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4KleinNishinaCompton.cc,v 1.8 2006/06/29 19:53:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4KleinNishinaCompton.cc,v 1.9 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -132,11 +132,11 @@ G4double G4KleinNishinaCompton::ComputeCrossSectionPerAtom( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4KleinNishinaCompton::SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle* aDynamicGamma, - G4double, - G4double) +void G4KleinNishinaCompton::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple*, + const G4DynamicParticle* aDynamicGamma, + G4double, + G4double) { // The scattered gamma energy is sampled according to Klein - Nishina formula. // The random number techniques of Butcher & Messel are used @@ -200,8 +200,6 @@ std::vector* G4KleinNishinaCompton::SampleSecondaries( fParticleChange->ProposeLocalEnergyDeposit(gamEnergy1); } - std::vector* fvect = new std::vector; - // // kinematic of the scattered electron // @@ -216,7 +214,6 @@ std::vector* G4KleinNishinaCompton::SampleSecondaries( G4DynamicParticle* dp = new G4DynamicParticle(theElectron,eDirection,eKinEnergy); fvect->push_back(dp); } - return fvect; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc b/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc index 5b17f86cb5..843d4a3732 100644 --- a/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc +++ b/source/processes/electromagnetic/standard/src/G4MollerBhabhaModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MollerBhabhaModel.cc,v 1.29 2007/01/17 09:17:56 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4MollerBhabhaModel.cc,v 1.30 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -282,14 +282,14 @@ G4double G4MollerBhabhaModel::ComputeDEDXPerVolume( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -std::vector* G4MollerBhabhaModel::SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle* dp, - G4double tmin, - G4double maxEnergy) +void G4MollerBhabhaModel::SampleSecondaries(std::vector* vdp, + const G4MaterialCutsCouple*, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) { G4double tmax = std::min(maxEnergy, MaxSecondaryKinEnergy(dp)); - if(tmin >= tmax) return 0; + if(tmin >= tmax) return; G4double kineticEnergy = dp->GetKineticEnergy(); G4double energy = kineticEnergy + electron_mass_c2; @@ -394,11 +394,9 @@ std::vector* G4MollerBhabhaModel::SampleSecondaries( } // create G4DynamicParticle object for delta ray - std::vector* vdp = new std::vector; G4DynamicParticle* delta = new G4DynamicParticle(theElectron, deltaDirection,deltaKinEnergy); vdp->push_back(delta); - return vdp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4MscModel71.cc b/source/processes/electromagnetic/standard/src/G4MscModel71.cc index 9c514f2c91..65eb6b3ed3 100644 --- a/source/processes/electromagnetic/standard/src/G4MscModel71.cc +++ b/source/processes/electromagnetic/standard/src/G4MscModel71.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MscModel71.cc,v 1.4 2006/06/29 19:53:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4MscModel71.cc,v 1.5 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -502,14 +502,14 @@ G4double G4MscModel71::TrueStepLength(G4double geomStepLength) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4MscModel71::SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle* dynParticle, - G4double truestep, - G4double safety) +void G4MscModel71::SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle* dynParticle, + G4double truestep, + G4double safety) { G4double kineticEnergy = dynParticle->GetKineticEnergy(); - if(kineticEnergy <= 0.0) return 0; + if(kineticEnergy <= 0.0) return; G4double cth = SampleCosineTheta(truestep,kineticEnergy); G4double sth = sqrt((1.0 - cth)*(1.0 + cth)); @@ -551,7 +551,6 @@ std::vector* G4MscModel71::SampleSecondaries( fParticleChange->ProposePosition(newPosition); } - return 0; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/src/G4MultipleScattering.cc b/source/processes/electromagnetic/standard/src/G4MultipleScattering.cc index 10ec6f07bb..5472937331 100644 --- a/source/processes/electromagnetic/standard/src/G4MultipleScattering.cc +++ b/source/processes/electromagnetic/standard/src/G4MultipleScattering.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4MultipleScattering.cc,v 1.64 2007/04/24 12:00:16 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4MultipleScattering.cc,v 1.69 2007/06/11 15:01:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // @@ -119,6 +119,7 @@ // 23-10-06 skin = 1 by default (L.Urban) // 23-11-06 skin = 1 by default for e+-, 0 for other particles (VI) // 12-02-07 skin can be changed via UI command, default skin=1 (VI) +// 24-04-07 default skin=0 (temporal protection) (VI) // // ----------------------------------------------------------------------------- // @@ -127,8 +128,7 @@ #include "G4MultipleScattering.hh" #include "G4UrbanMscModel.hh" -#include "G4TransportationManager.hh" -#include "G4Navigator.hh" +#include "G4MscStepLimitType.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -137,25 +137,11 @@ using namespace std; G4MultipleScattering::G4MultipleScattering(const G4String& processName) : G4VMultipleScattering(processName) { - lowKineticEnergy = 0.1*keV; - highKineticEnergy = 100.*TeV; - totBins = 120; - - facrange = 0.02; dtrl = 0.05; lambdalimit = 1.*mm; - facgeom = 2.5; - steppingAlgorithm = true; samplez = false ; isInitialized = false; - - SetBinning(totBins); - SetMinKinEnergy(lowKineticEnergy); - SetMaxKinEnergy(highKineticEnergy); - - SetLateralDisplasmentFlag(true); - SetSkin(0.0); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -172,45 +158,34 @@ G4bool G4MultipleScattering::IsApplicable (const G4ParticleDefinition& p) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4MultipleScattering::MscStepLimitation(G4bool algorithm, G4double factor) -{ - steppingAlgorithm = algorithm; - if (factor > 0.) SetFacrange(factor); - else { if (algorithm) SetFacrange(0.02); else SetFacrange(0.2);} - - if(verboseLevel > 1) - G4cout << "Stepping algorithm is set to " << steppingAlgorithm - << " with facrange = " << facrange << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - void G4MultipleScattering::InitialiseProcess(const G4ParticleDefinition* p) { + // Modification of parameters between runs if(isInitialized) { - mscUrban->SetMscStepLimitation(steppingAlgorithm, facrange); if (p->GetParticleType() != "nucleus") { + mscUrban->SetStepLimitType(StepLimitType()); mscUrban->SetLateralDisplasmentFlag(LateralDisplasmentFlag()); mscUrban->SetSkin(Skin()); + mscUrban->SetRangeFactor(RangeFactor()); + mscUrban->SetGeomFactor(GeomFactor()); } return; } + // initialisation of parameters G4String part_name = p->GetParticleName(); + mscUrban = new G4UrbanMscModel(RangeFactor(),dtrl,lambdalimit, + GeomFactor(),Skin(), + samplez,StepLimitType()); + mscUrban->SetLateralDisplasmentFlag(LateralDisplasmentFlag()); if (p->GetParticleType() == "nucleus") { + mscUrban->SetStepLimitType(fMinimal); SetLateralDisplasmentFlag(false); SetBuildLambdaTable(false); SetSkin(0.0); - } else { - SetBuildLambdaTable(true); + SetRangeFactor(0.2); } - mscUrban = new G4UrbanMscModel(facrange,dtrl,lambdalimit, - facgeom,Skin(), - samplez,steppingAlgorithm); - mscUrban->SetLateralDisplasmentFlag(LateralDisplasmentFlag()); - mscUrban->SetLowEnergyLimit(lowKineticEnergy); - mscUrban->SetHighEnergyLimit(highKineticEnergy); AddEmModel(1,mscUrban); isInitialized = true; /* @@ -226,9 +201,9 @@ void G4MultipleScattering::InitialiseProcess(const G4ParticleDefinition* p) void G4MultipleScattering::PrintInfo() { - G4cout << " Boundary/stepping algorithm is active with facrange= " - << facrange - << " Step limitation " << steppingAlgorithm + G4cout << " Boundary/stepping algorithm is active with RangeFactor= " + << RangeFactor() + << " Step limit type " << StepLimitType() << G4endl; } diff --git a/source/processes/electromagnetic/standard/src/G4MultipleScattering52.cc b/source/processes/electromagnetic/standard/src/G4MultipleScattering52.cc deleted file mode 100644 index 17398aed5b..0000000000 --- a/source/processes/electromagnetic/standard/src/G4MultipleScattering52.cc +++ /dev/null @@ -1,955 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MultipleScattering52.cc,v 1.5 2006/10/16 15:26:49 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ----------------------------------------------------------------------------- -// 16/05/01 value of cparm changed , L.Urban -// 18/05/01 V.Ivanchenko Clean up against Linux ANSI compilation -// 07/08/01 new methods Store/Retrieve PhysicsTable (mma) -// 23-08-01 new angle and z distribution,energy dependence reduced, -// Store,Retrieve methods commented out temporarily, L.Urban -// 27-08-01 in BuildPhysicsTable:aParticleType.GetParticleName()=="mu+" (mma) -// 28-08-01 GetContinuousStepLimit and AlongStepDoIt moved from .icc file (mma) -// 03-09-01 value of data member factlim changed, L.Urban -// 10-09-01 small change in GetContinuousStepLimit, L.Urban -// 11-09-01 G4MultipleScatteringx put as default G4MultipleScattering -// store/retrieve physics table reactivated (mma) -// 13-09-01 corr. in ComputeTransportCrossSection, L.Urban -// 14-09-01 protection in GetContinuousStepLimit, L.Urban -// 17-09-01 migration of Materials to pure STL (mma) -// 27-09-01 value of data member factlim changed, L.Urban -// 31-10-01 big fixed in PostStepDoIt,L.Urban -// 24-04-02 some minor changes in boundary algorithm, L.Urban -// 06-05-02 bug fixed in GetContinuousStepLimit, L.Urban -// 24-05-02 changes in angle distribution and boundary algorithm, L.Urban -// 11-06-02 bug fixed in ComputeTransportCrossSection, L.Urban -// 12-08-02 bug fixed in PostStepDoIt (lateral displacement), L.Urban -// 15-08-02 new angle distribution, L.Urban -// 26-09-02 angle distribution + boundary algorithm modified, L.Urban -// 15-10-02 temporary fix for proton scattering -// 30-10-02 modified angle distribution,mods in boundary algorithm, -// changes in data members, L.Urban -// 30-10-02 rename variable cm - Ecm, V.Ivanchenko -// 11-12-02 precision problem in ComputeTransportCrossSection -// for small Tkin/for heavy particles cured, L.Urban -// 05-02-03 changes in data members, new sampling for geom. -// path length, step dependence reduced with new -// method -// 17-03-03 cut per region, V.Ivanchenko -// 13-04-03 add initialisation in GetContinuesStepLimit -// + change table size (V.Ivanchenko) -// 26-04-03 fix problems of retrieve tables (M.Asai) -// 23-05-03 important change in angle distribution for muons/hadrons -// the central part now is similar to the Highland parametrization + -// minor correction in angle sampling algorithm (for all particles) -// (L.Urban) -// 24-05-03 bug in nuclear size corr.computation fixed thanks to Vladimir(L.Urban) -// 30-05-03 misprint in PostStepDoIt corrected(L.Urban) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 08-11-04 Remove Store/Retrieve tables (V.Ivantchenko) -// ----------------------------------------------------------------------------- -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4MultipleScattering52.hh" -#include "G4StepStatus.hh" -#include "G4Navigator.hh" -#include "G4TransportationManager.hh" -#include "Randomize.hh" -#include "G4ProductionCutsTable.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4MultipleScattering52::G4MultipleScattering52(const G4String& processName) - : G4VContinuousDiscreteProcess(processName), - theTransportMeanFreePathTable(0), - taubig(8.0),tausmall(1.e-14),taulim(1.e-5), - LowestKineticEnergy(0.1*keV), - HighestKineticEnergy(100.*TeV), - TotBin(100), - materialIndex(0), - tLast (0.0), - zLast (0.0), - boundary(true), - facrange(0.199),tlimit(1.e10*mm),tlimitmin(1.e-7*mm), - cf(1.001), - stepno(0),stepnolastmsc(-1000000),nsmallstep(5), - laststep(0.), - valueGPILSelectionMSC(NotCandidateForSelection), - zmean(0.),samplez(true), - range(1.),T0(1.),T1(1.),lambda0(1.),lambda1(-1.), - Tlow(0.),alam(1.),blam(1.),dtrl(0.15), - lambdam(-1.),clam(1.),zm(1.),cthm(1.), - fLatDisplFlag(true), - NuclCorrPar (0.0615), - FactPar(0.40), - facxsi(1.) - { } - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4MultipleScattering52::~G4MultipleScattering52() -{ - if(theTransportMeanFreePathTable) - { - theTransportMeanFreePathTable->clearAndDestroy(); - delete theTransportMeanFreePathTable; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MultipleScattering52::BuildPhysicsTable( - const G4ParticleDefinition& aParticleType) -{ - // set values of some data members - if((aParticleType.GetParticleName() == "e-") || - (aParticleType.GetParticleName() == "e+")) - { - // parameters for e+/e- - alfa1 = 1.45 ; - alfa2 = 0.60 ; - alfa3 = 0.30 ; - b = 1. ; - xsi = facxsi*2.22 ; - c0 = 2.30 ; - } - else - { - // parameters for heavy particles - alfa1 = 1.10 ; - alfa2 = 0.14 ; - alfa3 = 0.07 ; - b = 1. ; - xsi = facxsi*2.70 ; - c0 = 1.40 ; - } - - // .............................. - Tlow = aParticleType.GetPDGMass(); - - // tables are built for MATERIALS - const G4double sigmafactor = twopi*classic_electr_radius* - classic_electr_radius; - G4double KineticEnergy,AtomicNumber,AtomicWeight,sigma,lambda; - G4double density; - - // destroy old tables if any - if (theTransportMeanFreePathTable) - { - theTransportMeanFreePathTable->clearAndDestroy(); - delete theTransportMeanFreePathTable; - } - - // create table - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - theTransportMeanFreePathTable = new G4PhysicsTable(numOfCouples); - - // loop for materials - for (size_t i=0; i - GetMaterialCutsCouple(i); - const G4Material* material = couple->GetMaterial(); - const G4ElementVector* theElementVector = material->GetElementVector(); - const G4double* NbOfAtomsPerVolume = - material->GetVecNbOfAtomsPerVolume(); - const G4int NumberOfElements = material->GetNumberOfElements(); - density = material->GetDensity(); - - // loop for kinetic energy values - for (G4int i=0; iGetLowEdgeEnergy(i); - sigma = 0.; - - // loop for element in the material - for (G4int iel=0; ielGetZ(); - AtomicWeight = (*theElementVector)[iel]->GetA(); - sigma += NbOfAtomsPerVolume[iel]* - ComputeTransportCrossSection(aParticleType,KineticEnergy, - AtomicNumber,AtomicWeight); - } - sigma *= sigmafactor; - lambda = 1./sigma; - aVector->PutValue(i,lambda); - } - - theTransportMeanFreePathTable->insert(aVector); - - } - - if((aParticleType.GetParticleName() == "e-" ) || - (aParticleType.GetParticleName() == "mu+" ) || - (aParticleType.GetParticleName() == "proton") ) PrintInfoDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MultipleScattering52::ComputeTransportCrossSection( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - G4double AtomicNumber,G4double AtomicWeight) -{ - const G4double epsfactor = 2.*electron_mass_c2*electron_mass_c2* - Bohr_radius*Bohr_radius/(hbarc*hbarc); - const G4double epsmin = 1.e-4 , epsmax = 1.e10; - - const G4double Zdat[15] = { 4., 6.,13.,20.,26.,29.,32.,38.,47., - 50.,56.,64.,74.,79.,82. }; - - const G4double Tdat[23] = {0.0001*MeV,0.0002*MeV,0.0004*MeV,0.0007*MeV, - 0.001*MeV,0.002*MeV,0.004*MeV,0.007*MeV, - 0.01*MeV,0.02*MeV,0.04*MeV,0.07*MeV, - 0.1*MeV,0.2*MeV,0.4*MeV,0.7*MeV, - 1.*MeV,2.*MeV,4.*MeV,7.*MeV,10.*MeV,20.*MeV, - 10000.0*MeV}; - - // corr. factors for e-/e+ lambda - G4double celectron[15][23] = - {{1.125,1.072,1.051,1.047,1.047,1.050,1.052,1.054, - 1.054,1.057,1.062,1.069,1.075,1.090,1.105,1.111, - 1.112,1.108,1.100,1.093,1.089,1.087,0.7235 }, - {1.408,1.246,1.143,1.096,1.077,1.059,1.053,1.051, - 1.052,1.053,1.058,1.065,1.072,1.087,1.101,1.108, - 1.109,1.105,1.097,1.090,1.086,1.082,0.7925 }, - {2.833,2.268,1.861,1.612,1.486,1.309,1.204,1.156, - 1.136,1.114,1.106,1.106,1.109,1.119,1.129,1.132, - 1.131,1.124,1.113,1.104,1.099,1.098,0.9147 }, - {3.879,3.016,2.380,2.007,1.818,1.535,1.340,1.236, - 1.190,1.133,1.107,1.099,1.098,1.103,1.110,1.113, - 1.112,1.105,1.096,1.089,1.085,1.098,0.9700 }, - {6.937,4.330,2.886,2.256,1.987,1.628,1.395,1.265, - 1.203,1.122,1.080,1.065,1.061,1.063,1.070,1.073, - 1.073,1.070,1.064,1.059,1.056,1.056,1.0022 }, - {9.616,5.708,3.424,2.551,2.204,1.762,1.485,1.330, - 1.256,1.155,1.099,1.077,1.070,1.068,1.072,1.074, - 1.074,1.070,1.063,1.059,1.056,1.052,1.0158 }, - {11.72,6.364,3.811,2.806,2.401,1.884,1.564,1.386, - 1.300,1.180,1.112,1.082,1.073,1.066,1.068,1.069, - 1.068,1.064,1.059,1.054,1.051,1.050,1.0284 }, - {18.08,8.601,4.569,3.183,2.662,2.025,1.646,1.439, - 1.339,1.195,1.108,1.068,1.053,1.040,1.039,1.039, - 1.039,1.037,1.034,1.031,1.030,1.036,1.0515 }, - {18.22,10.48,5.333,3.713,3.115,2.367,1.898,1.631, - 1.498,1.301,1.171,1.105,1.077,1.048,1.036,1.033, - 1.031,1.028,1.024,1.022,1.021,1.024,1.0834 }, - {14.14,10.65,5.710,3.929,3.266,2.453,1.951,1.669, - 1.528,1.319,1.178,1.106,1.075,1.040,1.027,1.022, - 1.020,1.017,1.015,1.013,1.013,1.020,1.0937 }, - {14.11,11.73,6.312,4.240,3.478,2.566,2.022,1.720, - 1.569,1.342,1.186,1.102,1.065,1.022,1.003,0.997, - 0.995,0.993,0.993,0.993,0.993,1.011,1.1140 }, - {22.76,20.01,8.835,5.287,4.144,2.901,2.219,1.855, - 1.677,1.410,1.224,1.121,1.073,1.014,0.986,0.976, - 0.974,0.972,0.973,0.974,0.975,0.987,1.1410 }, - {50.77,40.85,14.13,7.184,5.284,3.435,2.520,2.059, - 1.837,1.512,1.283,1.153,1.091,1.010,0.969,0.954, - 0.950,0.947,0.949,0.952,0.954,0.963,1.1750 }, - {65.87,59.06,15.87,7.570,5.567,3.650,2.682,2.182, - 1.939,1.579,1.325,1.178,1.108,1.014,0.965,0.947, - 0.941,0.938,0.940,0.944,0.946,0.954,1.1922 }, - // {45.60,47.34,15.92,7.810,5.755,3.767,2.760,2.239, // paper..... - {55.60,47.34,15.92,7.810,5.755,3.767,2.760,2.239, - 1.985,1.609,1.343,1.188,1.113,1.013,0.960,0.939, - 0.933,0.930,0.933,0.936,0.939,0.949,1.2026 }}; - G4double cpositron[15][23] = { - {2.589,2.044,1.658,1.446,1.347,1.217,1.144,1.110, - 1.097,1.083,1.080,1.086,1.092,1.108,1.123,1.131, - 1.131,1.126,1.117,1.108,1.103,1.100,0.7235 }, - {3.904,2.794,2.079,1.710,1.543,1.325,1.202,1.145, - 1.122,1.096,1.089,1.092,1.098,1.114,1.130,1.137, - 1.138,1.132,1.122,1.113,1.108,1.102,0.7925 }, - {7.970,6.080,4.442,3.398,2.872,2.127,1.672,1.451, - 1.357,1.246,1.194,1.179,1.178,1.188,1.201,1.205, - 1.203,1.190,1.173,1.159,1.151,1.145,0.9147 }, - {9.714,7.607,5.747,4.493,3.815,2.777,2.079,1.715, - 1.553,1.353,1.253,1.219,1.211,1.214,1.225,1.228, - 1.225,1.210,1.191,1.175,1.166,1.174,0.9700 }, - {17.97,12.95,8.628,6.065,4.849,3.222,2.275,1.820, - 1.624,1.382,1.259,1.214,1.202,1.202,1.214,1.219, - 1.217,1.203,1.184,1.169,1.160,1.151,1.0022 }, - {24.83,17.06,10.84,7.355,5.767,3.707,2.546,1.996, - 1.759,1.465,1.311,1.252,1.234,1.228,1.238,1.241, - 1.237,1.222,1.201,1.184,1.174,1.159,1.0158 }, - {23.26,17.15,11.52,8.049,6.375,4.114,2.792,2.155, - 1.880,1.535,1.353,1.281,1.258,1.247,1.254,1.256, - 1.252,1.234,1.212,1.194,1.183,1.170,1.0284 }, - {22.33,18.01,12.86,9.212,7.336,4.702,3.117,2.348, - 2.015,1.602,1.385,1.297,1.268,1.251,1.256,1.258, - 1.254,1.237,1.214,1.195,1.185,1.179,1.0515 }, - {33.91,24.13,15.71,10.80,8.507,5.467,3.692,2.808, - 2.407,1.873,1.564,1.425,1.374,1.330,1.324,1.320, - 1.312,1.288,1.258,1.235,1.221,1.205,1.0834 }, - {32.14,24.11,16.30,11.40,9.015,5.782,3.868,2.917, - 2.490,1.925,1.596,1.447,1.391,1.342,1.332,1.327, - 1.320,1.294,1.264,1.240,1.226,1.214,1.0937 }, - {29.51,24.07,17.19,12.28,9.766,6.238,4.112,3.066, - 2.602,1.995,1.641,1.477,1.414,1.356,1.342,1.336, - 1.328,1.302,1.270,1.245,1.231,1.233,1.1140 }, - {38.19,30.85,21.76,15.35,12.07,7.521,4.812,3.498, - 2.926,2.188,1.763,1.563,1.484,1.405,1.382,1.371, - 1.361,1.330,1.294,1.267,1.251,1.239,1.1410 }, - {49.71,39.80,27.96,19.63,15.36,9.407,5.863,4.155, - 3.417,2.478,1.944,1.692,1.589,1.480,1.441,1.423, - 1.409,1.372,1.330,1.298,1.280,1.258,1.1750 }, - {59.25,45.08,30.36,20.83,16.15,9.834,6.166,4.407, - 3.641,2.648,2.064,1.779,1.661,1.531,1.482,1.459, - 1.442,1.400,1.354,1.319,1.299,1.272,1.1922 }, - {56.38,44.29,30.50,21.18,16.51,10.11,6.354,4.542, - 3.752,2.724,2.116,1.817,1.692,1.554,1.499,1.474, - 1.456,1.412,1.364,1.328,1.307,1.282,1.2026 }}; - - G4double sigma; - G4double Z23 = 2.*log(AtomicNumber)/3.; Z23 = exp(Z23); - - G4double ParticleMass = aParticleType.GetPDGMass(); - G4double ParticleKineticEnergy = KineticEnergy ; - - // correction if particle .ne. e-/e+ - // compute equivalent kinetic energy - // lambda depends on p*beta .... - G4double Mass = ParticleMass ; - if((aParticleType.GetParticleName() != "e-") && - (aParticleType.GetParticleName() != "e+") ) - { - G4double TAU = KineticEnergy/Mass ; - G4double c = Mass*TAU*(TAU+2.)/(electron_mass_c2*(TAU+1.)) ; - G4double w = c-2. ; - G4double tau = 0.5*(w+sqrt(w*w+4.*c)) ; - KineticEnergy = electron_mass_c2*tau ; - Mass = electron_mass_c2 ; - } - - G4double Charge = aParticleType.GetPDGCharge(); - G4double ChargeSquare = Charge*Charge/(eplus*eplus); - - G4double TotalEnergy = KineticEnergy + Mass ; - G4double beta2 = KineticEnergy*(TotalEnergy+Mass) - /(TotalEnergy*TotalEnergy); - G4double bg2 = KineticEnergy*(TotalEnergy+Mass) - /(Mass*Mass); - - G4double eps = epsfactor*bg2/Z23; - - if (eps epsmax) w1=log(2.*eps)+1./eps-3./(8.*eps*eps); - else w1=log((a+1.)/(a-1.))-2./(a+1.); - w = 1./((1.-x0)*eps); - if (w < epsmin) w2=-log(w)-1.+2.*w-1.5*w*w; - else w2 = log((a-x0)/(a-1.))-(1.-x0)/(a-x0); - corrnuclsize = w1/w2; - corrnuclsize = exp(-FactPar*ParticleMass/ParticleKineticEnergy)* - (corrnuclsize-1.)+1.; - } - - // interpolate in AtomicNumber and beta2 - // get bin number in Z - G4int iZ = 14; - while ((iZ>=0)&&(Zdat[iZ]>=AtomicNumber)) iZ -= 1; - if (iZ==14) iZ = 13; - if (iZ==-1) iZ = 0 ; - - G4double Z1 = Zdat[iZ]; - G4double Z2 = Zdat[iZ+1]; - G4double ratZ = (AtomicNumber-Z1)/(Z2-Z1); - - // get bin number in T (beta2) - G4int iT = 22; - while ((iT>=0)&&(Tdat[iT]>=KineticEnergy)) iT -= 1; - if(iT==22) iT = 21; - if(iT==-1) iT = 0 ; - - // calculate betasquare values - G4double T = Tdat[iT], E = T + electron_mass_c2; - G4double b2small = T*(E+electron_mass_c2)/(E*E); - T = Tdat[iT+1]; E = T + electron_mass_c2; - G4double b2big = T*(E+electron_mass_c2)/(E*E); - G4double ratb2 = (beta2-b2small)/(b2big-b2small); - - G4double c1,c2,cc1,cc2,corr; - - if (Charge < 0.) - { - c1 = celectron[iZ][iT]; - c2 = celectron[iZ+1][iT]; - cc1 = c1+ratZ*(c2-c1); - - c1 = celectron[iZ][iT+1]; - c2 = celectron[iZ+1][iT+1]; - cc2 = c1+ratZ*(c2-c1); - - corr = cc1+ratb2*(cc2-cc1); - sigma /= corr; - } - - if (Charge > 0.) - { - c1 = cpositron[iZ][iT]; - c2 = cpositron[iZ+1][iT]; - cc1 = c1+ratZ*(c2-c1); - - c1 = cpositron[iZ][iT+1]; - c2 = cpositron[iZ+1][iT+1]; - cc2 = c1+ratZ*(c2-c1); - - corr = cc1+ratb2*(cc2-cc1); - sigma /= corr; - } - - // nucl. size correction for particles other than e+/e- only at present !!!! - if((aParticleType.GetParticleName() != "e-") && - (aParticleType.GetParticleName() != "e+") ) - sigma /= corrnuclsize; - - return sigma; - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4MultipleScattering52::GetContinuousStepLimit( - const G4Track& track, - G4double, - G4double currentMinimumStep, - G4double&) -{ - G4double zPathLength,tPathLength; - const G4DynamicParticle* aParticle; - G4double tau,zt,cz,cz1,grej,grej0; - const G4double expmax = 100., ztmax = (2.*expmax+1.)/(2.*expmax+3.) ; - const G4double tmax = 1.e20*mm ; - - G4bool isOut; - - // this process is not a candidate for selection by default - valueGPILSelectionMSC = NotCandidateForSelection; - - tPathLength = currentMinimumStep; - - const G4MaterialCutsCouple* couple = track.GetMaterialCutsCouple(); - materialIndex = couple->GetIndex(); - - aParticle = track.GetDynamicParticle(); - T0 = aParticle->GetKineticEnergy(); - - lambda0 = (*theTransportMeanFreePathTable) - (materialIndex)->GetValue(T0,isOut); - - - range = G4EnergyLossTables::GetRange(aParticle->GetDefinition(), - T0,couple); - //VI Initialisation at the beginning of the step - cthm = 1.; - lambda1 = -1.; - lambdam = -1.; - alam = range; - blam = 1.+alam/lambda0 ; - zm = 1.; - - // special treatment near boundaries ? - if (boundary && range >= currentMinimumStep) - { - // step limitation at boundary ? - stepno = track.GetCurrentStepNumber() ; - if(stepno == 1) - { - stepnolastmsc = -1000000 ; - tlimit = 1.e10 ; - } - - if(stepno > 1) - { - if(track.GetStep()->GetPreStepPoint()->GetStepStatus() == fGeomBoundary) - { - stepnolastmsc = stepno ; - // if : diff.treatment for small/not small Z - if(range > lambda0) - tlimit = facrange*range ; - else - tlimit = facrange*lambda0 ; - if(tlimit < tlimitmin) tlimit = tlimitmin ; - laststep = tlimit ; - if(tPathLength > tlimit) - { - tPathLength = tlimit ; - valueGPILSelectionMSC = CandidateForSelection; - } - } - else if(stepno > stepnolastmsc) - { - if((stepno - stepnolastmsc) < nsmallstep) - { - if(tPathLength > tlimit) - { - laststep *= cf ; - tPathLength = laststep ; - valueGPILSelectionMSC = CandidateForSelection; - } - } - } - } - } - - // do the true -> geom transformation - zmean = tPathLength; - - tau = tPathLength/lambda0 ; - - if (tau < tausmall || range < currentMinimumStep) zPathLength = tPathLength; - else - { - if(tPathLength/range < dtrl) zmean = lambda0*(1.-exp(-tau)); - else - { - T1 = G4EnergyLossTables::GetPreciseEnergyFromRange( - aParticle->GetDefinition(),range-tPathLength,couple); - lambda1 = (*theTransportMeanFreePathTable) - (materialIndex)->GetValue(T1,isOut); - if(T0 < Tlow) - alam = range ; - else - alam = lambda0*tPathLength/(lambda0-lambda1) ; - blam = 1.+alam/lambda0 ; - if(tPathLength/range < 2.*dtrl) - { - zmean = alam*(1.-exp(blam*log(1.-tPathLength/alam)))/blam ; - lambdam = -1. ; - } - else - { - G4double w = 1.-0.5*tPathLength/alam ; - lambdam = lambda0*w ; - clam = 1.+alam/lambdam ; - cthm = exp(alam*log(w)/lambda0) ; - zm = alam*(1.-exp(blam*log(w)))/blam ; - zmean = zm + alam*(1.-exp(clam*log(w)))*cthm/clam ; - } - } - - // sample z - zt = zmean/tPathLength ; - if (samplez && (zt < ztmax) && (zt > 0.5)) - { - cz = 0.5*(3.*zt-1.)/(1.-zt) ; - if(tPathLength < exp(log(tmax)/(2.*cz))) - { - cz1 = 1.+cz ; - grej0 = exp(cz1*log(cz*tPathLength/cz1))/cz ; - do - { - zPathLength = tPathLength*exp(log(G4UniformRand())/cz1) ; - grej = exp(cz*log(zPathLength))*(tPathLength-zPathLength)/grej0 ; - } while (grej < G4UniformRand()) ; - } - else zPathLength = zmean; - } - else zPathLength = zmean; - } - // protection against z > lambda - if(zPathLength > lambda0) - zPathLength = lambda0 ; - - tLast = tPathLength; - zLast = zPathLength; - - return zPathLength; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4MultipleScattering52::AlongStepDoIt( - const G4Track& track,const G4Step& step) -{ - // only a geom path->true path transformation is performed - - fParticleChange.Initialize(track); - - G4double geomPathLength = step.GetStepLength(); - - G4double truePathLength = 0. ; - - //VI change order of if operators - if(geomPathLength == zLast) truePathLength = tLast; - else if(geomPathLength/lambda0 < tausmall) truePathLength = geomPathLength; - else - { - if(lambda1 < 0.) truePathLength = -lambda0*log(1.-geomPathLength/lambda0) ; - else if(lambdam < 0.) - { - if(blam*geomPathLength/alam < 1.) - truePathLength = alam*(1.-exp(log(1.-blam*geomPathLength/alam)/ - blam)) ; - else - truePathLength = tLast; - } - else - { - if(geomPathLength <= zm) - { - if(blam*geomPathLength/alam < 1.) - truePathLength = alam*(1.-exp(log(1.-blam*geomPathLength/alam)/ - blam)) ; - else - truePathLength = 0.5*tLast; - - lambdam = -1. ; - } - else - { - if(clam*(geomPathLength-zm)/(alam*cthm) < 1.) - truePathLength = 0.5*tLast + alam*(1.- - exp(log(1.-clam*(geomPathLength-zm)/(alam*cthm)))/clam) ; - else - truePathLength = tLast ; - } - } - // protection .... - if(truePathLength > tLast) - truePathLength = tLast ; - } - - //VI truePath length cannot be smaller than geomPathLength - if (truePathLength < geomPathLength) truePathLength = geomPathLength; - fParticleChange.ProposeTrueStepLength(truePathLength); - - return &fParticleChange; - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4MultipleScattering52::PostStepDoIt( - const G4Track& trackData, - const G4Step& stepData) -{ - // angle distribution parameters - const G4double kappa = 2.5, kappapl1 = kappa+1., kappami1 = kappa-1. ; - - fParticleChange.Initialize(trackData); - G4double truestep = stepData.GetStepLength(); - - const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); - G4double KineticEnergy = aParticle->GetKineticEnergy(); - G4double Mass = aParticle->GetDefinition()->GetPDGMass() ; - - // do nothing for stopped particles ! - if(KineticEnergy > 0.) - { - // change direction first ( scattering ) - G4double cth = 1.0 ; - G4double tau = truestep/lambda0 ; - - if (tau < tausmall) cth = 1.; - else if(tau > taubig) cth = -1.+2.*G4UniformRand(); - else - { - if(lambda1 > 0.) - { - if(lambdam < 0.) - tau = -alam*log(1.-truestep/alam)/lambda0 ; - else - tau = -log(cthm)-alam*log(1.-(truestep-0.5*tLast)/alam)/lambdam ; - } - - if(tau > taubig) cth = -1.+2.*G4UniformRand(); - else - { - const G4double amax=25. ; - const G4double tau0 = 0.02 ; - const G4double c_highland = 13.6*MeV, corr_highland=0.038 ; - - const G4double x1fac1 = exp(-xsi) ; - const G4double x1fac2 = (1.-(1.+xsi)*x1fac1)/(1.-x1fac1) ; - const G4double x1fac3 = 1.3 ; // x1fac3 >= 1. !!!!!!!!! - - G4double a,x0,c,xmean1,xmean2, - xmeanth,prob,qprob ; - G4double ea,eaa,b1,bx,eb1,ebx,cnorm1,cnorm2,f1x0,f2x0,w ; - - // for heavy particles take the width of the cetral part - // from the Highland formula - // (Particle Physics Booklet, July 2002, eq. 26.10) - if(Mass > electron_mass_c2) // + other conditions (beta, x/X0,...?) - { - G4double Q = std::abs(aParticle->GetDefinition()->GetPDGCharge()) ; - G4double X0 = trackData.GetMaterialCutsCouple()-> - GetMaterial()->GetRadlen() ; - G4double xx0 = truestep/X0 ; - G4double betacp = KineticEnergy*(KineticEnergy+2.*Mass)/ - (KineticEnergy+Mass) ; - G4double theta0=c_highland*Q*sqrt(xx0)* - (1.+corr_highland*log(xx0))/betacp ; - if(theta0 > tausmall) - a = 0.5/(1.-cos(theta0)) ; - else - a = 1./(theta0*theta0) ; - } - else - { - w = log(tau/tau0) ; - if(tau < tau0) - a = (alfa1-alfa2*w)/tau ; - else - a = (alfa1+alfa3*w)/tau ; - } - - xmeanth = exp(-tau) ; - - x0 = 1.-xsi/a ; - if(x0 < -1.) x0 = -1. ; - - if(x0 == -1.) - { - // 1 model fuction only - // in order to have xmean1 > xmeanth -> qprob < 1 - if((1.-1./a) < xmeanth) - a = 1./(1.-xmeanth) ; - - if(a*(1.-x0) < amax) - ea = exp(-a*(1.-x0)) ; - else - ea = 0. ; - eaa = 1.-ea ; - xmean1 = 1.-1./a+(1.-x0)*ea/eaa ; - - c = 2. ; - b1 = b+1. ; - bx = b1 ; - eb1 = b1 ; - ebx = b1 ; - xmean2 = 0. ; - - prob = 1. ; - qprob = xmeanth/xmean1 ; - } - else - { - // 2 model fuctions - // in order to have xmean1 > xmeanth - if((1.-x1fac2/a) < xmeanth) - { - a = x1fac3*x1fac2/(1.-xmeanth) ; - if(a*(1.-x0) < amax) - ea = exp(-a*(1.-x0)) ; - else - ea = 0. ; - eaa = 1.-ea ; - xmean1 = 1.-1./a+(1.-x0)*ea/eaa ; - } - else - { - ea = x1fac1 ; - eaa = 1.-x1fac1 ; - xmean1 = 1.-x1fac2/a ; - } - - // from continuity of the 1st derivatives - c = a*(b-x0) ; - if(a*tau < c0) - c = c0*(b-x0)/tau ; - - if(c == 1.) c=1.000001 ; - if(c == 2.) c=2.000001 ; - if(c == 3.) c=3.000001 ; - - b1 = b+1. ; - bx=b-x0 ; - eb1=exp((c-1.)*log(b1)) ; - ebx=exp((c-1.)*log(bx)) ; - xmean2 = (x0*eb1+ebx+(eb1*bx-b1*ebx)/(2.-c))/(eb1-ebx) ; - - cnorm1 = a/eaa ; - f1x0 = cnorm1*exp(-a*(1.-x0)) ; - cnorm2 = (c-1.)*eb1*ebx/(eb1-ebx) ; - f2x0 = cnorm2/exp(c*log(b-x0)) ; - - // from continuity at x=x0 - prob = f2x0/(f1x0+f2x0) ; - // from xmean = xmeanth - qprob = (f1x0+f2x0)*xmeanth/(f2x0*xmean1+f1x0*xmean2) ; - } - - // protection against prob or qprob > 1 and - // prob or qprob < 0 - // *************************************************************** - if((qprob > 1.) || (qprob < 0.) || (prob > 1.) || (prob < 0.)) - { - // this print possibility has been left intentionally - // for debugging purposes .......................... - G4bool pr = false ; - // pr = true ; - if(pr) - { - const G4double prlim = 0.10 ; - if((std::abs((xmeanth-xmean2)/(xmean1-xmean2)-prob)/prob > prlim) || - ((xmeanth-xmean2)/(xmean1-xmean2) > 1.) || - ((xmeanth-xmean2)/(xmean1-xmean2) < 0.) ) - { - G4cout.precision(5) ; - G4cout << "\nparticle=" << aParticle->GetDefinition()-> - GetParticleName() << " in material " - << trackData.GetMaterialCutsCouple()-> - GetMaterial()->GetName() << " with kinetic energy " - << KineticEnergy << " MeV," << G4endl ; - G4cout << " step length=" - << truestep << " mm" << G4endl ; - G4cout << "p=" << prob << " q=" << qprob << " -----> " - << "p=" << (xmeanth-xmean2)/(xmean1-xmean2) - << " q=" << 1. << G4endl ; - } - } - qprob = 1. ; - prob = (xmeanth-xmean2)/(xmean1-xmean2) ; - } - // ************************************************************** - - // sampling of costheta - if(G4UniformRand() < qprob) - { - if(G4UniformRand() < prob) - cth = 1.+log(ea+G4UniformRand()*eaa)/a ; - else - cth = b-b1*bx/exp(log(ebx-G4UniformRand()*(ebx-eb1))/(c-1.)) ; - } - else - cth = -1.+2.*G4UniformRand() ; - } - } - - G4double sth = sqrt(1.-cth*cth); - G4double phi = twopi*G4UniformRand(); - G4double dirx = sth*cos(phi), diry = sth*sin(phi), dirz = cth; - - G4ParticleMomentum ParticleDirection = aParticle->GetMomentumDirection(); - - G4ThreeVector newDirection(dirx,diry,dirz); - newDirection.rotateUz(ParticleDirection); - fParticleChange.ProposeMomentumDirection(newDirection.x(), - newDirection.y(), - newDirection.z()); - - if (fLatDisplFlag) - { - // compute mean lateral displacement, only for safety > tolerance ! - G4double safetyminustolerance = stepData.GetPostStepPoint()->GetSafety(); - G4double rmean, etau; - - if (safetyminustolerance > 0.) - { - if (tau < tausmall) rmean = 0.; - else if(tau < taulim) rmean = kappa*tau*tau*tau*(1.-kappapl1*tau/4.)/6.; - else - { - if(tau0.) rmean = 2.*lambda0*sqrt(rmean/3.); - else rmean = 0.; - - // for rmean > 0) only - if (rmean > 0.) - { - if (rmean>safetyminustolerance) rmean = safetyminustolerance; - - // sample direction of lateral displacement - phi = twopi*G4UniformRand(); - dirx = cos(phi); diry = sin(phi); dirz = 0.; - - G4ThreeVector latDirection(dirx,diry,dirz); - latDirection.rotateUz(ParticleDirection); - - // compute new endpoint of the Step - G4ThreeVector newPosition = stepData.GetPostStepPoint()->GetPosition() - + rmean*latDirection; - - G4Navigator* navigator = - G4TransportationManager::GetTransportationManager() - ->GetNavigatorForTracking(); - navigator->LocateGlobalPointWithinVolume(newPosition); - - fParticleChange.ProposePosition(newPosition); - } - } - } - } - - return &fParticleChange; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4MultipleScattering52::PrintInfoDefinition() -{ - G4String comments = " Tables of transport mean free paths."; - comments += "\n New model of MSC , computes the lateral \n"; - comments += " displacement of the particle , too."; - - G4cout << G4endl << GetProcessName() << ": " << comments - << "\n PhysicsTables from " - << G4BestUnit(LowestKineticEnergy ,"Energy") - << " to " << G4BestUnit(HighestKineticEnergy,"Energy") - << " in " << TotBin << " bins. \n"; - G4cout << " WARNING: This process is obsolete and will be soon removed" - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4MultipleScattering71.cc b/source/processes/electromagnetic/standard/src/G4MultipleScattering71.cc index edf2e75201..a84511e774 100644 --- a/source/processes/electromagnetic/standard/src/G4MultipleScattering71.cc +++ b/source/processes/electromagnetic/standard/src/G4MultipleScattering71.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4MultipleScattering71.cc,v 1.4 2006/10/16 15:26:49 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // 16/05/01 value of cparm changed , L.Urban diff --git a/source/processes/electromagnetic/standard/src/G4PAIModel.cc b/source/processes/electromagnetic/standard/src/G4PAIModel.cc index d569c7c929..b15d130e8a 100644 --- a/source/processes/electromagnetic/standard/src/G4PAIModel.cc +++ b/source/processes/electromagnetic/standard/src/G4PAIModel.cc @@ -55,6 +55,7 @@ #include "G4DynamicParticle.hh" #include "G4ParticleDefinition.hh" #include "G4ParticleChangeForLoss.hh" +#include "G4GeometryTolerance.hh" //////////////////////////////////////////////////////////////////////// @@ -356,6 +357,8 @@ G4PAIModel::BuildLambdaVector(const G4MaterialCutsCouple* matCutsCouple) { G4int i ; G4double dNdxCut, lambda; + G4double kCarTolerance = G4GeometryTolerance::GetInstance() + ->GetSurfaceTolerance(); const G4ProductionCutsTable* theCoupleTable= G4ProductionCutsTable::GetProductionCutsTable(); @@ -568,12 +571,12 @@ G4double G4PAIModel::CrossSection( const G4MaterialCutsCouple* matCC, // // It is analog of PostStepDoIt in terms of secondary electron. // - -std::vector* -G4PAIModel::SampleSecondaries( const G4MaterialCutsCouple* matCC, - const G4DynamicParticle* dp, - G4double tmin, - G4double maxEnergy) + +void G4PAIModel::SampleSecondaries(std::vector* vdp, + const G4MaterialCutsCouple* matCC, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) { size_t jMat; for( jMat = 0 ;jMat < fMaterialCutsCoupleVector.size() ; ++jMat ) @@ -611,7 +614,7 @@ G4PAIModel::SampleSecondaries( const G4MaterialCutsCouple* matCC, // deltaTkin = 10*eV; G4cout<<"Set G4PAIModel::SampleSecondary::deltaTkin = "< kineticEnergy && particleMass != electron_mass_c2) deltaTkin = kineticEnergy; @@ -652,9 +655,7 @@ G4PAIModel::SampleSecondaries( const G4MaterialCutsCouple* matCC, deltaRay->SetKineticEnergy( deltaTkin ); // !!! trick for last steps /2.0 ??? deltaRay->SetMomentumDirection(deltaDirection); - std::vector* vdp = new std::vector; vdp->push_back(deltaRay); - return vdp; } diff --git a/source/processes/electromagnetic/standard/src/G4PAIPhotonModel.cc b/source/processes/electromagnetic/standard/src/G4PAIPhotonModel.cc index 101381a1ec..922d7e2537 100644 --- a/source/processes/electromagnetic/standard/src/G4PAIPhotonModel.cc +++ b/source/processes/electromagnetic/standard/src/G4PAIPhotonModel.cc @@ -56,6 +56,7 @@ #include "G4DynamicParticle.hh" #include "G4ParticleDefinition.hh" #include "G4ParticleChangeForLoss.hh" +#include "G4GeometryTolerance.hh" //////////////////////////////////////////////////////////////////////// @@ -377,6 +378,8 @@ G4PAIPhotonModel::BuildLambdaVector(const G4MaterialCutsCouple* matCutsCouple) { G4int i ; G4double dNdxCut,dNdxPhotonCut,dNdxPlasmonCut, lambda; + G4double kCarTolerance = G4GeometryTolerance::GetInstance() + ->GetSurfaceTolerance(); const G4ProductionCutsTable* theCoupleTable= G4ProductionCutsTable::GetProductionCutsTable(); @@ -721,13 +724,12 @@ G4double G4PAIPhotonModel::CrossSection( const G4MaterialCutsCouple* matCC, // be returned as G4Dynamicparticle*. // -std::vector* -G4PAIPhotonModel::SampleSecondaries( const G4MaterialCutsCouple* matCC, - const G4DynamicParticle* dp, - G4double tmin, - G4double maxEnergy) +void G4PAIPhotonModel::SampleSecondaries(std::vector* vdp, + const G4MaterialCutsCouple* matCC, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) { - std::vector* vdp = new std::vector; size_t jMat; for( jMat = 0 ;jMat < fMaterialCutsCoupleVector.size() ; ++jMat ) { @@ -867,7 +869,6 @@ G4PAIPhotonModel::SampleSecondaries( const G4MaterialCutsCouple* matCC, } fParticleChange->SetProposedKineticEnergy(kineticEnergy); - return vdp; } diff --git a/source/processes/electromagnetic/standard/src/G4PAIxSection.cc b/source/processes/electromagnetic/standard/src/G4PAIxSection.cc index b58753b14a..253055db31 100644 --- a/source/processes/electromagnetic/standard/src/G4PAIxSection.cc +++ b/source/processes/electromagnetic/standard/src/G4PAIxSection.cc @@ -25,7 +25,7 @@ // // // $Id: G4PAIxSection.cc,v 1.21 2006/06/29 19:53:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4PAIxSection.cc -- class implementation file diff --git a/source/processes/electromagnetic/standard/src/G4PEEffectModel.cc b/source/processes/electromagnetic/standard/src/G4PEEffectModel.cc index 5328517d9e..91fdcb9ae4 100644 --- a/source/processes/electromagnetic/standard/src/G4PEEffectModel.cc +++ b/source/processes/electromagnetic/standard/src/G4PEEffectModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4PEEffectModel.cc,v 1.5 2006/06/29 19:53:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PEEffectModel.cc,v 1.6 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -90,11 +90,11 @@ void G4PEEffectModel::Initialise(const G4ParticleDefinition*, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4PEEffectModel::SampleSecondaries( - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* aDynamicPhoton, - G4double, - G4double) +void G4PEEffectModel::SampleSecondaries(std::vector* fvect, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* aDynamicPhoton, + G4double, + G4double) { const G4Material* aMaterial = couple->GetMaterial(); @@ -107,7 +107,6 @@ std::vector* G4PEEffectModel::SampleSecondaries( // // Photo electron // - std::vector* fvect = new std::vector; // Select atomic shell G4int nShells = anElement->GetNbOfAtomicShells(); @@ -115,7 +114,7 @@ std::vector* G4PEEffectModel::SampleSecondaries( while ((iGetAtomicShell(i))) i++; // no shell available - if (i == nShells) return fvect; + if (i == nShells) return; G4double bindingEnergy = anElement->GetAtomicShell(i); G4double ElecKineEnergy = energy - bindingEnergy; @@ -139,7 +138,6 @@ std::vector* G4PEEffectModel::SampleSecondaries( fParticleChange->SetProposedKineticEnergy(0.); fParticleChange->ProposeTrackStatus(fStopAndKill); fParticleChange->ProposeLocalEnergyDeposit(bindingEnergy); - return fvect; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4PSTARStopping.cc b/source/processes/electromagnetic/standard/src/G4PSTARStopping.cc index 99dccbf23e..12806aa2d4 100644 --- a/source/processes/electromagnetic/standard/src/G4PSTARStopping.cc +++ b/source/processes/electromagnetic/standard/src/G4PSTARStopping.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PSTARStopping.cc,v 1.5 2006/06/29 19:53:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ //--------------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/standard/src/G4PhotoElectricEffect.cc b/source/processes/electromagnetic/standard/src/G4PhotoElectricEffect.cc index e51390382f..6e12d165c5 100644 --- a/source/processes/electromagnetic/standard/src/G4PhotoElectricEffect.cc +++ b/source/processes/electromagnetic/standard/src/G4PhotoElectricEffect.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PhotoElectricEffect.cc,v 1.37 2006/09/14 10:27:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //------------------ G4PhotoElectricEffect physics process --------------------- diff --git a/source/processes/electromagnetic/standard/src/G4PhotoElectricEffect52.cc b/source/processes/electromagnetic/standard/src/G4PhotoElectricEffect52.cc deleted file mode 100644 index 3cc82b3173..0000000000 --- a/source/processes/electromagnetic/standard/src/G4PhotoElectricEffect52.cc +++ /dev/null @@ -1,289 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4PhotoElectricEffect52.cc,v 1.3 2006/10/16 15:26:49 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// 12-06-96, Added SelectRandomAtom() method, by M.Maire -// 21-06-96, SetCuts implementation, M.Maire -// 17-09-96, PartialSumSigma(i) -// split of ComputeBindingEnergy, M.Maire -// 08-01-97, crossection table + meanfreepath table, M.Maire -// 13-03-97, adapted for the new physics scheme, M.Maire -// 28-03-97, protection in BuildPhysicsTable, M.Maire -// 04-06-98, in DoIt, secondary production condition: -// range > std::min(threshold,safety) -// 13-08-98, new methods SetBining() PrintInfo() -// 17-11-98, use table of Atomic shells in PostStepDoIt -// 06-01-99, use Sandia crossSection below 50 keV, V.Grichine mma -// 20-05-99, protection against very low energy photons ,L.Urban -// 08-06-99, removed this above protection from the DoIt. mma -// 21-06-00, in DoIt, killing photon: aParticleChange.SetEnergyChange(0.); mma -// 22-06-00, in DoIt, absorbe very low energy photon (back to 20-05-99); mma -// 22-02-01, back to 08-06-99 after correc in SandiaTable (materials-V03-00-05) -// 28-05-01, V.Ivanchenko minor changes to provide ANSI -wall compilation -// 13-07-01, DoIt: suppression of production cut of the electron (mma) -// 06-08-01, new methods Store/Retrieve PhysicsTable (mma) -// 06-08-01, BuildThePhysicsTable() called from constructor (mma) -// 17-09-01, migration of Materials to pure STL (mma) -// 20-09-01, DoIt: fminimalEnergy of generated electron = 1*eV (mma) -// 01-10-01, come back to BuildPhysicsTable(const G4ParticleDefinition&) -// 10-01-02, moved few function from icc to cc -// 17-04-02, Keep only Sandia crossSections. Remove BuildPhysicsTables. -// Simplify public interface (mma) -// 29-04-02, Generate theta angle of the photoelectron from Sauter-Gavrila -// distribution (mma) -// 15-01-03, photoelectron theta ditribution : return costeta=1 if gamma>5 -// (helmut burkhardt) -// 04-05-05, Add 52 to class name (V.Ivanchenko) -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4PhotoElectricEffect52.hh" -#include "G4UnitsTable.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4PhotoElectricEffect52::G4PhotoElectricEffect52(const G4String& processName, - G4ProcessType type):G4VDiscreteProcess (processName, type), - fminimalEnergy(1*eV) - -{ PrintInfoDefinition();} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// destructor - -G4PhotoElectricEffect52::~G4PhotoElectricEffect52() -{ } - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4bool G4PhotoElectricEffect52::IsApplicable(const G4ParticleDefinition& - particle) -{ - return ( &particle == G4Gamma::Gamma() ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4PhotoElectricEffect52::ComputeCrossSectionPerAtom(G4double GammaEnergy, - G4double AtomicNumber) - -// returns the photoElectric cross Section in GEANT4 internal units -{ - G4double* SandiaCof - = G4SandiaTable::GetSandiaCofPerAtom((int)AtomicNumber,GammaEnergy); - - G4double energy2 = GammaEnergy*GammaEnergy, energy3 = GammaEnergy*energy2, - energy4 = energy2*energy2; - - return SandiaCof[0]/GammaEnergy + SandiaCof[1]/energy2 + - SandiaCof[2]/energy3 + SandiaCof[3]/energy4; - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4PhotoElectricEffect52::ComputeMeanFreePath(G4double GammaEnergy, - G4Material* aMaterial) - -// returns the gamma mean free path in GEANT4 internal units -{ - G4double* SandiaCof = aMaterial->GetSandiaTable() - ->GetSandiaCofForMaterial(GammaEnergy); - - G4double energy2 = GammaEnergy*GammaEnergy, energy3 = GammaEnergy*energy2, - energy4 = energy2*energy2; - - - G4double SIGMA = SandiaCof[0]/GammaEnergy + SandiaCof[1]/energy2 + - SandiaCof[2]/energy3 + SandiaCof[3]/energy4; - - return SIGMA > DBL_MIN ? 1./SIGMA : DBL_MAX; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -inline G4double G4PhotoElectricEffect52::GetMeanFreePath(const G4Track& aTrack, - G4double, - G4ForceCondition*) - -// returns the gamma mean free path in GEANT4 internal units -{ - G4double GammaEnergy = aTrack.GetDynamicParticle()->GetKineticEnergy(); - G4double* SandiaCof = aTrack.GetMaterial()->GetSandiaTable() - ->GetSandiaCofForMaterial(GammaEnergy); - - G4double energy2 = GammaEnergy*GammaEnergy, energy3 = GammaEnergy*energy2, - energy4 = energy2*energy2; - - - G4double SIGMA = SandiaCof[0]/GammaEnergy + SandiaCof[1]/energy2 + - SandiaCof[2]/energy3 + SandiaCof[3]/energy4; - - MeanFreePath = SIGMA > DBL_MIN ? 1./SIGMA : DBL_MAX; - return MeanFreePath; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4PhotoElectricEffect52::PostStepDoIt(const G4Track& aTrack, - const G4Step& aStep) -// -// Generate an electron resulting of a photo electric effect. -// The incident photon disappear. -// GEANT4 internal units -// - -{ aParticleChange.Initialize(aTrack); - G4Material* aMaterial = aTrack.GetMaterial(); - - const G4DynamicParticle* aDynamicPhoton = aTrack.GetDynamicParticle(); - - G4double PhotonEnergy = aDynamicPhoton->GetKineticEnergy(); - G4ParticleMomentum PhotonDirection = aDynamicPhoton->GetMomentumDirection(); - - // select randomly one element constituing the material. - G4Element* anElement = SelectRandomAtom(aDynamicPhoton, aMaterial); - - // - // Photo electron - // - - G4int NbOfShells = anElement->GetNbOfAtomicShells(); - G4int i=0; - while ((iGetAtomicShell(i))) i++; - - if (i==NbOfShells) return G4VDiscreteProcess::PostStepDoIt(aTrack,aStep); - - G4double ElecKineEnergy = PhotonEnergy - anElement->GetAtomicShell(i); - - if (ElecKineEnergy > fminimalEnergy) - { - // direction of the photo electron - // - G4double cosTeta = ElecThetaDistribution(ElecKineEnergy); - G4double sinTeta = sqrt(1.-cosTeta*cosTeta); - G4double Phi = twopi * G4UniformRand(); - G4double dirx = sinTeta*cos(Phi),diry = sinTeta*sin(Phi),dirz = cosTeta; - G4ThreeVector ElecDirection(dirx,diry,dirz); - ElecDirection.rotateUz(PhotonDirection); - // - G4DynamicParticle* aElectron = new G4DynamicParticle ( - G4Electron::Electron(),ElecDirection, ElecKineEnergy); - aParticleChange.SetNumberOfSecondaries(1); - aParticleChange.AddSecondary(aElectron); - } - else - { - ElecKineEnergy = 0.; - aParticleChange.SetNumberOfSecondaries(0); - } - - // - // Kill the incident photon - // - aParticleChange.ProposeLocalEnergyDeposit(PhotonEnergy-ElecKineEnergy); - aParticleChange.ProposeEnergy(0.); - aParticleChange.ProposeTrackStatus(fStopAndKill); - - // Reset NbOfInteractionLengthLeft and return aParticleChange - return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4Element* G4PhotoElectricEffect52::SelectRandomAtom( - const G4DynamicParticle* aDynamicPhoton, - G4Material* aMaterial) -{ - // select randomly 1 element within the material - - const G4int NumberOfElements = aMaterial->GetNumberOfElements(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - if (NumberOfElements == 1) return (*theElementVector)[0]; - - G4double GammaEnergy = aDynamicPhoton->GetKineticEnergy(); - const G4double* NbOfAtomsPerVolume = aMaterial->GetVecNbOfAtomsPerVolume(); - - G4double PartialSumSigma = 0. ; - G4double rval = G4UniformRand(); - - for ( G4int elm=0 ; elm < NumberOfElements ; elm++ ) - {PartialSumSigma += NbOfAtomsPerVolume[elm] * - ComputeCrossSectionPerAtom(GammaEnergy, - (*theElementVector)[elm]->GetZ()); - if (rval<=PartialSumSigma*MeanFreePath) return ((*theElementVector)[elm]); - } - return ((*theElementVector)[NumberOfElements-1]); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4PhotoElectricEffect52::ElecThetaDistribution(G4double kineEnergy) -{ - // Compute Theta distribution of the emitted electron, with respect to the - // incident Gamma. - // The Sauter-Gavrila distribution for the K-shell is used. - // - G4double costeta = 1.; - G4double gamma = 1. + kineEnergy/electron_mass_c2; - if (gamma > 5.) return costeta; - G4double beta = sqrt(gamma*gamma-1.)/gamma; - G4double b = 0.5*gamma*(gamma-1.)*(gamma-2); - - G4double rndm,term,greject,grejsup; - if (gamma < 2.) grejsup = gamma*gamma*(1.+b-beta*b); - else grejsup = gamma*gamma*(1.+b+beta*b); - - do { rndm = 1.-2*G4UniformRand(); - costeta = (rndm+beta)/(rndm*beta+1.); - term = 1.-beta*costeta; - greject = (1.-costeta*costeta)*(1.+b*term)/(term*term); - } while(greject < G4UniformRand()*grejsup); - - return costeta; - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4PhotoElectricEffect52::PrintInfoDefinition() -{ - G4String comments = "Total cross sections from Sandia parametrisation. "; - - G4cout << G4endl << GetProcessName() << ": " << comments << G4endl; - G4cout << " WARNING: This process is obsolete and will be soon removed" - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4PolarizedComptonScattering.cc b/source/processes/electromagnetic/standard/src/G4PolarizedComptonScattering.cc index 0563fc5a37..c2e2f89291 100644 --- a/source/processes/electromagnetic/standard/src/G4PolarizedComptonScattering.cc +++ b/source/processes/electromagnetic/standard/src/G4PolarizedComptonScattering.cc @@ -25,7 +25,7 @@ // // // $Id: G4PolarizedComptonScattering.cc,v 1.16 2006/06/29 19:53:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //---------- G4PolarizedComptonScattering physics process ---------------------- diff --git a/source/processes/electromagnetic/standard/src/G4UniversalFluctuation.cc b/source/processes/electromagnetic/standard/src/G4UniversalFluctuation.cc index 54119b4d41..881ded7270 100644 --- a/source/processes/electromagnetic/standard/src/G4UniversalFluctuation.cc +++ b/source/processes/electromagnetic/standard/src/G4UniversalFluctuation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4UniversalFluctuation.cc,v 1.13 2007/03/21 15:23:45 urban Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4UniversalFluctuation.cc,v 1.14 2007/04/03 11:08:36 urban Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -54,7 +54,7 @@ // 17-10-05 correction for very small loss (L.Urban) // 20-03-07 'GLANDZ' part rewritten completely, no 'very small loss' // regime any more (L.Urban) -// 21-03-07 optimization in ionization part (L.Urban) +// 03-04-07 correction to get better width of eloss distr.(L.Urban) // //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -82,6 +82,9 @@ G4UniversalFluctuation::G4UniversalFluctuation(const G4String& nam) nmaxCont2(16.) { lastMaterial = 0; + facwidth = 1.000/keV; + oldloss = 0.; + samestep = 0.; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -114,7 +117,11 @@ G4double G4UniversalFluctuation::SampleFluctuations(const G4Material* material, // shortcut for very very small loss (out of validity of the model) // - if (meanLoss < minLoss) return meanLoss; + if (meanLoss < minLoss) + { + oldloss = meanLoss; + return meanLoss; + } if(!particle) InitialiseMe(dp->GetDefinition()); @@ -174,6 +181,17 @@ G4double G4UniversalFluctuation::SampleFluctuations(const G4Material* material, G4double a1 = 0. , a2 = 0., a3 = 0. ; + // correction to get better width even using stepmax + if(abs(meanLoss- oldloss) < 1.*eV) + samestep += 1; + else + samestep = 1.; + oldloss = meanLoss; + G4double width = 1.+samestep*facwidth*meanLoss; + if(width > 4.50) width = 4.50; + e1 = width*e1Fluct; + e2 = width*e2Fluct; + // cut and material dependent rate G4double rate = 1.0; if(tmax > ipotFluct) { @@ -183,8 +201,8 @@ G4double G4UniversalFluctuation::SampleFluctuations(const G4Material* material, rate = 0.03+0.23*log(log(tmax/ipotFluct)); G4double C = meanLoss*(1.-rate)/(w2-ipotLogFluct); - a1 = C*f1Fluct*(w2-e1LogFluct)/e1Fluct; - a2 = C*f2Fluct*(w2-e2LogFluct)/e2Fluct; + a1 = C*f1Fluct*(w2-e1LogFluct)/e1; + a2 = C*f2Fluct*(w2-e2LogFluct)/e2; } } @@ -200,29 +218,29 @@ G4double G4UniversalFluctuation::SampleFluctuations(const G4Material* material, // excitation of type 1 if(a1 > nmaxCont2) { - emean += a1*e1Fluct; - sig2e += a1*e1Fluct*e1Fluct; + emean += a1*e1; + sig2e += a1*e1*e1; } else if(a1 > 0.) { p1 = G4double(G4Poisson(a1)); - loss += p1*e1Fluct; + loss += p1*e1; if(p1 > 0.) - loss += (1.-2.*G4UniformRand())*e1Fluct; + loss += (1.-2.*G4UniformRand())*e1; } // excitation of type 2 if(a2 > nmaxCont2) { - emean += a2*e2Fluct; - sig2e += a2*e2Fluct*e2Fluct; + emean += a2*e2; + sig2e += a2*e2*e2; } else if(a2 > 0.) { p2 = G4double(G4Poisson(a2)); - loss += p2*e2Fluct; + loss += p2*e2; if(p2 > 0.) - loss += (1.-2.*G4UniformRand())*e2Fluct; + loss += (1.-2.*G4UniformRand())*e2; } // ionisation @@ -236,24 +254,16 @@ G4double G4UniversalFluctuation::SampleFluctuations(const G4Material* material, alfa = w1*(nmaxCont2+a3)/(w1*nmaxCont2+a3); G4double alfa1 = alfa*log(alfa)/(alfa-1.); G4double namean = a3*w1*(alfa-1.)/((w1-1.)*alfa); - emean += namean*e0*alfa1; + emean += namean*e0*alfa1; sig2e += e0*e0*namean*(alfa-alfa1*alfa1); p3 = a3-namean; } - + G4double w2 = alfa*e0; G4double w = (tmax-w2)/tmax; - G4double scale = 1.; - G4int nb = 0; - if(p3 < nmaxCont2) - nb = G4Poisson(p3); - else - { - nb = G4Poisson(nmaxCont2); - scale = p3/nmaxCont2; - } + G4int nb = G4Poisson(p3); if(nb > 0) - for (G4int k=0; k 0.) diff --git a/source/processes/electromagnetic/standard/src/G4UrbanMscModel.cc b/source/processes/electromagnetic/standard/src/G4UrbanMscModel.cc index 5f9a3ab304..3a23185d26 100644 --- a/source/processes/electromagnetic/standard/src/G4UrbanMscModel.cc +++ b/source/processes/electromagnetic/standard/src/G4UrbanMscModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4UrbanMscModel.cc,v 1.47 2007/03/07 15:44:42 urban Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4UrbanMscModel.cc,v 1.60 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -134,6 +134,9 @@ // 24-02-07 step reduction before boundary for 'small' geomlimit only // 03-03-07 single scattering around boundaries only (L.Urban) // 07-03-07 bugfix in ComputeTruePathLengthLimit (for skin > 0.) (L.Urban) +// 10-04-07 optimize logic of ComputeTruePathLengthLimit, remove +// unused members, use unique G4SafetyHelper (V.Ivanchenko) +// 01-05-07 optimization for skin > 0 (L.Urban) // // Class Description: @@ -155,6 +158,7 @@ #include "G4ParticleChangeForMSC.hh" #include "G4TransportationManager.hh" #include "G4Navigator.hh" +#include "G4SafetyHelper.hh" #include "G4Poisson.hh" @@ -165,7 +169,7 @@ using namespace std; G4UrbanMscModel::G4UrbanMscModel(G4double m_facrange, G4double m_dtrl, G4double m_lambdalimit, G4double m_facgeom,G4double m_skin, - G4bool m_samplez, G4bool m_stepAlg, + G4bool m_samplez, G4MscStepLimitType m_stepAlg, const G4String& nam) : G4VEmModel(nam), dtrl(m_dtrl), @@ -173,8 +177,8 @@ G4UrbanMscModel::G4UrbanMscModel(G4double m_facrange, G4double m_dtrl, facrange(m_facrange), facgeom(m_facgeom), skin(m_skin), - samplez(m_samplez), steppingAlgorithm(m_stepAlg), + samplez(m_samplez), isInitialized(false) { taubig = 8.0; @@ -190,7 +194,6 @@ G4UrbanMscModel::G4UrbanMscModel(G4double m_facrange, G4double m_dtrl, frscaling1 = 1.-frscaling2; tlimit = 1.e10*mm; tlimitmin = 10.*tlimitminfix; - tnow = 10.*tlimitminfix; nstepmax = 25.; geombig = 1.e50*mm; geommin = 1.e-3*mm; @@ -208,9 +211,7 @@ G4UrbanMscModel::G4UrbanMscModel(G4double m_facrange, G4double m_dtrl, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4UrbanMscModel::~G4UrbanMscModel() -{ - delete safetyHelper; -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -226,25 +227,9 @@ void G4UrbanMscModel::Initialise(const G4ParticleDefinition* p, else fParticleChange = new G4ParticleChangeForMSC(); - navigator = G4TransportationManager::GetTransportationManager() - ->GetNavigatorForTracking(); - - safetyHelper= new G4SafetyHelper(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4UrbanMscModel::SetMscStepLimitation(G4bool alg, G4double factor) -{ - steppingAlgorithm = alg; - facrange = factor; - - // reinitialisation - stepmin = tlimitminfix; - skindepth = skin*stepmin; - tlimitmin = 10.*tlimitminfix; - tnow = 10.*tlimitminfix; - inside = false; + safetyHelper = G4TransportationManager::GetTransportationManager() + ->GetSafetyHelper(); + safetyHelper->InitialiseHelper(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -499,10 +484,18 @@ G4double G4UrbanMscModel::ComputeTruePathLengthLimit( G4PhysicsTable* theTable, G4double currentMinimalStep) { - theLambdaTable = theTable; + tPathLength = currentMinimalStep; + G4int stepNumber = track.GetCurrentStepNumber(); const G4DynamicParticle* dp = track.GetDynamicParticle(); - SetParticle( dp->GetDefinition() ); + if(stepNumber == 1) { + inside = false; + insideskin = false; + tlimit = geombig; + SetParticle( dp->GetDefinition() ); + } + + theLambdaTable = theTable; couple = track.GetMaterialCutsCouple(); currentMaterialIndex = couple->GetIndex(); currentKinEnergy = dp->GetKineticEnergy(); @@ -510,213 +503,181 @@ G4double G4UrbanMscModel::ComputeTruePathLengthLimit( theManager->GetRangeFromRestricteDEDX(particle,currentKinEnergy,couple); lambda0 = GetLambda(currentKinEnergy); - tPathLength = currentMinimalStep; - if(tPathLength > currentRange) - tPathLength = currentRange; + // stop here if small range particle + if(inside) return tPathLength; + + if(tPathLength > currentRange) tPathLength = currentRange; G4StepPoint* sp = track.GetStep()->GetPreStepPoint(); - presafety = sp->GetSafety(); + + // G4cout << "G4UrbanMscModel::ComputeTruePathLengthLimit tPathLength= " + // <clearAndDestroy(); - delete theLossTable; theLossTable = 0; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VeEnergyLoss::SetNbOfProcesses(G4int nb) - {NbOfProcesses=nb;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4VeEnergyLoss::PlusNbOfProcesses() - {NbOfProcesses++ ;} - - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4VeEnergyLoss::MinusNbOfProcesses() - {NbOfProcesses-- ;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4VeEnergyLoss::GetNbOfProcesses() - {return NbOfProcesses;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VeEnergyLoss::SetLowerBoundEloss(G4double val) - {LowerBoundEloss=val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VeEnergyLoss::SetUpperBoundEloss(G4double val) - {UpperBoundEloss=val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VeEnergyLoss::SetNbinEloss(G4int nb) - {NbinEloss=nb;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4VeEnergyLoss::GetLowerBoundEloss() - {return LowerBoundEloss;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4VeEnergyLoss::GetUpperBoundEloss() - {return UpperBoundEloss;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4VeEnergyLoss::GetNbinEloss() - {return NbinEloss;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VeEnergyLoss::BuildDEDXTable( - const G4ParticleDefinition& aParticleType) -{ - ParticleMass = aParticleType.GetPDGMass(); - - // calculate data members LOGRTable,RTable first - G4double lrate = log(UpperBoundEloss/LowerBoundEloss); - LOGRTable=lrate/NbinEloss; - RTable =exp(LOGRTable); - - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - //set physically consistent value for finalRange - //and parameters for en.loss step limit - if (finalRangeRequested > 0.) { finalRange = finalRangeRequested;} - /* - else - { - for (size_t idxMate=0; idxMateGetMaterialCutsCouple(idxMate) - ->GetProductionCuts()->GetProductionCut(idxG4ElectronCut); - - if (finalRange > rcut) finalRange = rcut; - } - } - c1lim = dRoverRange; - c2lim = 2.*(1.-dRoverRange)*finalRange; - c3lim = -(1.-dRoverRange)*finalRange*finalRange; -*/ - // Build energy loss table as a sum of the energy loss due to the - // different processes. - - // create table if there is no table or there is a new cut value - - if (&aParticleType==G4Electron::Electron()) - {theDEDXTable= theDEDXElectronTable;} - else if (&aParticleType==G4Positron::Positron()) - {theDEDXTable= theDEDXPositronTable;} - - if ( !theDEDXTable || CutsWhereModified() ) - - { - // create table for the total energy loss - - if (&aParticleType==G4Electron::Electron()) - { - RecorderOfProcess=RecorderOfElectronProcess; - CounterOfProcess=CounterOfElectronProcess; - if (CounterOfProcess == NbOfProcesses) - { - if (theDEDXElectronTable) - { - theDEDXElectronTable->clearAndDestroy(); - delete theDEDXElectronTable; - } - theDEDXElectronTable = new G4PhysicsTable(numOfCouples); - theDEDXTable = theDEDXElectronTable; - } - } - if (&aParticleType==G4Positron::Positron()) - { - RecorderOfProcess=RecorderOfPositronProcess; - CounterOfProcess=CounterOfPositronProcess; - if (CounterOfProcess == NbOfProcesses) - { - if (theDEDXPositronTable) - { - theDEDXPositronTable->clearAndDestroy(); - delete theDEDXPositronTable; - } - theDEDXPositronTable = new G4PhysicsTable(numOfCouples); - theDEDXTable = theDEDXPositronTable; - } - } - - if (CounterOfProcess == NbOfProcesses) - { - // fill the tables - // loop for materials - G4double LowEdgeEnergy , Value; - G4bool isOutRange; - G4PhysicsTable* pointer; - - for (size_t J=0; JGetLowEdgeEnergy(i) ; - //here comes the sum of the different tables created by the - //processes (ionisation,bremsstrahlung,etc...) - Value = 0.; - for (G4int process=0; process < NbOfProcesses; process++) - { - pointer= RecorderOfProcess[process]; - Value += (*pointer)[J]->GetValue(LowEdgeEnergy,isOutRange); - } - - aVector->PutValue(i,Value) ; - } - - theDEDXTable->insert(aVector) ; - - } - - - //reset counter to zero - if (&aParticleType==G4Electron::Electron()) CounterOfElectronProcess=0; - if (&aParticleType==G4Positron::Positron()) CounterOfPositronProcess=0; - - ParticleMass = aParticleType.GetPDGMass(); - - if (&aParticleType==G4Electron::Electron()) - { - // Build range table - theRangeElectronTable = BuildRangeTable(theDEDXElectronTable, - theRangeElectronTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // Build lab/proper time tables - theLabTimeElectronTable = BuildLabTimeTable(theDEDXElectronTable, - theLabTimeElectronTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - theProperTimeElectronTable = BuildProperTimeTable(theDEDXElectronTable, - theProperTimeElectronTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // Build coeff tables for the energy loss calculation - theeRangeCoeffATable = BuildRangeCoeffATable(theRangeElectronTable, - theeRangeCoeffATable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - theeRangeCoeffBTable = BuildRangeCoeffBTable(theRangeElectronTable, - theeRangeCoeffBTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - theeRangeCoeffCTable = BuildRangeCoeffCTable(theRangeElectronTable, - theeRangeCoeffCTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // invert the range table - theInverseRangeElectronTable = BuildInverseRangeTable( - theRangeElectronTable, - theeRangeCoeffATable, - theeRangeCoeffBTable, - theeRangeCoeffCTable, - theInverseRangeElectronTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - /* - G4cout << "DEDXTable address= " << theDEDXElectronTable << G4endl; - if(theDEDXElectronTable) G4cout << (*theDEDXElectronTable) << G4endl; - G4cout << "RangeTable address= " << theRangeElectronTable << G4endl; - if(theRangeElectronTable) G4cout << (*theRangeElectronTable) << G4endl; - G4cout << "InverseRangeTable address= " << theInverseRangeElectronTable << G4endl; - if(theInverseRangeElectronTable) G4cout << (*theInverseRangeElectronTable) << G4endl; - */ - } - if (&aParticleType==G4Positron::Positron()) - { - // Build range table - theRangePositronTable = BuildRangeTable(theDEDXPositronTable, - theRangePositronTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - - // Build lab/proper time tables - theLabTimePositronTable = BuildLabTimeTable(theDEDXPositronTable, - theLabTimePositronTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - theProperTimePositronTable = BuildProperTimeTable(theDEDXPositronTable, - theProperTimePositronTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // Build coeff tables for the energy loss calculation - thepRangeCoeffATable = BuildRangeCoeffATable(theRangePositronTable, - thepRangeCoeffATable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - thepRangeCoeffBTable = BuildRangeCoeffBTable(theRangePositronTable, - thepRangeCoeffBTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - thepRangeCoeffCTable = BuildRangeCoeffCTable(theRangePositronTable, - thepRangeCoeffCTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // invert the range table - theInverseRangePositronTable = BuildInverseRangeTable( - theRangePositronTable, - thepRangeCoeffATable, - thepRangeCoeffBTable, - thepRangeCoeffCTable, - theInverseRangePositronTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - } - - // make the energy loss and the range table available - G4EnergyLossTables::Register(&aParticleType, - (&aParticleType==G4Electron::Electron())? - theDEDXElectronTable: theDEDXPositronTable, - (&aParticleType==G4Electron::Electron())? - theRangeElectronTable: theRangePositronTable, - (&aParticleType==G4Electron::Electron())? - theInverseRangeElectronTable: theInverseRangePositronTable, - (&aParticleType==G4Electron::Electron())? - theLabTimeElectronTable: theLabTimePositronTable, - (&aParticleType==G4Electron::Electron())? - theProperTimeElectronTable: theProperTimePositronTable, - LowerBoundEloss, UpperBoundEloss, 1.,NbinEloss); - - // create array for the min. delta cuts in kinetic energy - G4double absLowerLimit = 1.*keV ; - - -// if((subSecFlag) && (&aParticleType==G4Electron::Electron())) -// { -// G4cout << G4endl; -// G4cout.precision(5) ; -// G4cout << " eIoni Minimum Delta cut in range=" -// << MinDeltaCutInRange/mm -// << " mm." << G4endl; -// G4cout << G4endl; -// G4cout << " material min.delta energy(keV) " << G4endl; -// G4cout << G4endl; -// } - - if(MinDeltaEnergy) {delete [] MinDeltaEnergy; MinDeltaEnergy=0;} - MinDeltaEnergy = new G4double [numOfCouples]; - if(LowerLimitForced) {delete [] LowerLimitForced; LowerLimitForced=0;} - LowerLimitForced = new G4bool [numOfCouples]; - - for(size_t mat=0; matGetEnergyCutsVector(idxG4ElectronCut)))[mat]; - if(!setMinDeltaCutInRange) MinDeltaCutInRange = ecut/10.0; - MinDeltaEnergy[mat] = G4EnergyLossTables::GetPreciseEnergyFromRange( - G4Electron::Electron(), - MinDeltaCutInRange, - theCoupleTable->GetMaterialCutsCouple(mat)); - - if(MinDeltaEnergy[mat]ecut) MinDeltaEnergy[mat]=ecut; - - } - } - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4VeEnergyLoss::AlongStepDoIt( const G4Track& trackData, - const G4Step& stepData) -{ - // compute the energy loss after a Step - - static const G4double faclow = 1.5 ; - static const G4double Tlow = 1.0*keV; - - // get particle and material pointers from trackData - const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); - G4double Charge = aParticle->GetDefinition()->GetPDGCharge()/eplus; - G4double E = aParticle->GetKineticEnergy() ; - - const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); - const G4Material* aMaterial = couple->GetMaterial(); - G4int index = couple->GetIndex(); - G4double Step = stepData.GetStepLength(); - - aParticleChange.Initialize(trackData); - - G4double MeanLoss, finalT; - - if (E < MinKineticEnergy) finalT = 0.; - - else if (E= fRangeNow) finalT = 0.; - else finalT = E*(1.-sqrt(Step/fRangeNow)) ; - } - - else if (E>=UpperBoundEloss) finalT = E - Step*fdEdx; - - else if (Step >= fRangeNow) finalT = 0.; - - else - { - if((Step/fRangeNow < linLossLimit)||(E < Tlow)) finalT = E-Step*fdEdx ; - else - { - if (Charge<0.) finalT = G4EnergyLossTables::GetPreciseEnergyFromRange - (G4Electron::Electron(),fRangeNow-Step,couple); - else finalT = G4EnergyLossTables::GetPreciseEnergyFromRange - (G4Positron::Positron(),fRangeNow-Step,couple); - } - } - - if(finalT < MinKineticEnergy) finalT = 0. ; - - MeanLoss = E - finalT ; - - // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - // start of subcutoff generation - - // do not generate subdeltas for the initial step !! (time..) - if((subSecFlag) && (trackData.GetCurrentStepNumber() > 1)) - { - G4double MinDeltaEnergyNow = MinDeltaEnergy[index] ; - G4double TmintoProduceDelta=0.5*(3.-Charge)*MinDeltaEnergyNow ; - if((E > TmintoProduceDelta) && (MeanLoss > MinDeltaEnergyNow) - && (finalT > MinKineticEnergy)) - { - G4double T0,presafety,postsafety,safety,delta; - G4double fragment = Step; - G4double frperstep= 1.0; - G4double x1,y1,z1,dx,dy,dz,dTime,time0,DeltaTime; - //G4double epsil= MinKineticEnergy/2. ; - - G4double Tc = SecondaryEnergyThreshold(index); - G4double rcut=couple->GetProductionCuts()->GetProductionCut(idxG4ElectronCut); - - if(Charge < 0.) - { - if(Tc > 0.5*E) Tc=0.5*E ; - } - else - { - if(Tc > E) Tc=E ; - } - // generate subcutoff delta rays only if Tc>MinDeltaEnergy! - if(Tc > MinDeltaEnergyNow) - { - presafety = stepData.GetPreStepPoint()->GetSafety() ; - - G4Navigator *navigator= - G4TransportationManager::GetTransportationManager() - ->GetNavigatorForTracking(); - postsafety = - navigator->ComputeSafety(stepData.GetPostStepPoint()->GetPosition()); - - safety=min(presafety,postsafety); - - if(safetyGetPosition().x(); - y1=stepData.GetPreStepPoint()->GetPosition().y(); - z1=stepData.GetPreStepPoint()->GetPosition().z(); - dx=stepData.GetPostStepPoint()->GetPosition().x()-x1 ; - dy=stepData.GetPostStepPoint()->GetPosition().y()-y1 ; - dz=stepData.GetPostStepPoint()->GetPosition().z()-z1 ; - time0=stepData.GetPreStepPoint()->GetGlobalTime(); - dTime=stepData.GetPostStepPoint()->GetGlobalTime()-time0; - - if((presafety0.) - { - // compute nb of delta rays to be generated - // from the de/dx formula (approximately) - // and assuming an 1/T**2 delta energy spectrum - - G4double delToverTc=1.-T0/Tc ; - G4double deldedx=cN*aMaterial->GetDensity()* - ((E+electron_mass_c2)*(E+electron_mass_c2)* - log(Tc/T0)/(E*(E+electron_mass_c2))) ; - G4int N=G4int(deldedx*fragment*delToverTc/(T0*log(Tc/T0))+0.5) ; - - if(N > Ndeltamax) - N = Ndeltamax ; - G4double Px,Py,Pz ; - G4ThreeVector ParticleDirection ; - ParticleDirection=stepData.GetPreStepPoint()-> - GetMomentumDirection() ; - Px =ParticleDirection.x() ; - Py =ParticleDirection.y() ; - Pz =ParticleDirection.z() ; - - G4int subdelta = 0; - - if(N > 0) - { - G4double Tkin,Etot,P,T,p,costheta,sintheta,phi,dirx,diry,dirz, - Pnew,sumT,urandom ; - //delTkin,delLoss,rate, - //G4StepPoint *point ; - - sumT=0.; - - Tkin = E ; - Etot = Tkin+electron_mass_c2 ; - P = sqrt(Tkin*(Etot+electron_mass_c2)) ; - - aParticleChange.SetNumberOfSecondaries(N); - do { - subdelta += 1 ; - - if((Charge<0.)&&(Tc>0.5*Tkin)) Tc=0.5*Tkin ; - if((Charge>0.)&&(Tc> Tkin)) Tc= Tkin ; - - //check if there is enough energy .... - if((Tkin>TmintoProduceDelta)&&(Tc > T0)&&(MeanLoss>0.)) - { - delToverTc=1.-T0/Tc ; - T=T0/(1.-delToverTc*G4UniformRand()) ; - if(T > MeanLoss) T=MeanLoss ; - MeanLoss -= T ; - p=sqrt(T*(T+2.*electron_mass_c2)) ; - - costheta = T*(Etot+electron_mass_c2)/(P*p) ; - if(costheta<-1.) costheta=-1.; - if(costheta> 1.) costheta= 1.; - - phi=twopi*G4UniformRand() ; - sintheta=sqrt(1.-costheta*costheta); - dirx=sintheta*cos(phi); - diry=sintheta*sin(phi); - dirz=costheta; - - sumT += T ; - - urandom = G4UniformRand() ; - // distribute x,y,z along Pre-Post ! - G4double xd,yd,zd ; - xd=x1+frperstep*dx*urandom ; - yd=y1+frperstep*dy*urandom ; - zd=z1+frperstep*dz*urandom ; - G4ThreeVector DeltaPosition(xd,yd,zd) ; - DeltaTime=time0+frperstep*dTime*urandom ; - - G4ThreeVector DeltaDirection(dirx,diry,dirz) ; - DeltaDirection.rotateUz(ParticleDirection); - - G4DynamicParticle* theDelta = new G4DynamicParticle ; - theDelta->SetDefinition(G4Electron::Electron()); - theDelta->SetKineticEnergy(T); - - theDelta->SetMomentumDirection(DeltaDirection.x(), - DeltaDirection.y(),DeltaDirection.z()); - - // update initial particle,fill ParticleChange - Tkin -= T ; - Px =(P*ParticleDirection.x()-p*DeltaDirection.x()) ; - Py =(P*ParticleDirection.y()-p*DeltaDirection.y()) ; - Pz =(P*ParticleDirection.z()-p*DeltaDirection.z()) ; - Pnew = sqrt(Px*Px+Py*Py+Pz*Pz) ; - Px /= Pnew ; - Py /= Pnew ; - Pz /= Pnew ; - P = Pnew ; - G4ThreeVector ParticleDirectionnew(Px,Py,Pz) ; - ParticleDirection = ParticleDirectionnew; - - G4Track* deltaTrack = - new G4Track(theDelta,DeltaTime,DeltaPosition); - deltaTrack->SetTouchableHandle(stepData.GetPreStepPoint() - ->GetTouchableHandle()); - deltaTrack->SetParentID(trackData.GetTrackID()) ; - - aParticleChange.AddSecondary(deltaTrack) ; - - } - - } while (subdelta 0) - aParticleChange.ProposeMomentumDirection(Px,Py,Pz) ; - E = Tkin ; - - } - } - // ................................................................ - } - } - } - } - - // end of subcutoff generation - // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - finalT = E - MeanLoss ; - if(finalT < MinKineticEnergy) finalT = 0. ; - - //now the loss with fluctuation - if ((EnlossFlucFlag) && (finalT > 0.) && (finalT < E)&&(E > LowerBoundEloss)) - { - finalT = E-GetLossWithFluct(aParticle,couple,1.,MeanLoss,Step); - if (finalT < 0.) finalT = 0. ; - } - - // kill the particle if the kinetic energy <= 0 - if (finalT <= 0. ) - { - finalT = 0.; - if (Charge < 0.) aParticleChange.ProposeTrackStatus(fStopAndKill); - else aParticleChange.ProposeTrackStatus(fStopButAlive); - } - - aParticleChange.ProposeEnergy(finalT); - aParticleChange.ProposeLocalEnergyDeposit(E-finalT); - - return &aParticleChange; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - - diff --git a/source/processes/electromagnetic/standard/src/G4VhEnergyLoss.cc b/source/processes/electromagnetic/standard/src/G4VhEnergyLoss.cc deleted file mode 100644 index 059b5ef250..0000000000 --- a/source/processes/electromagnetic/standard/src/G4VhEnergyLoss.cc +++ /dev/null @@ -1,723 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4VhEnergyLoss.cc,v 1.49 2006/06/29 19:53:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// - -// ----------------------------------------------------------------------------- -// 07/10/98 bug fixes + some cleanup , L.Urban -// 22/10/98 cleanup , L.Urban -// 07/12/98 works for ions as well+ bug corrected, L.Urban -// 02/02/99 several bugs fixed, L.Urban -// 01/03/99 creation of sub-cutoff delta rays, L.Urban -// 28/04/99 bug fixed in DoIt , L.Urban -// 10/02/00 modifications , new e.m. structure, L.Urban -// 18/07/00 bug fix in AlongStepDoIt V.Ivanchenko -// 10/08/00 V.Ivanchenko change AlongStepDoIt and -// add EnergyLossFluctuation in order to simulate -// energy losses of ions -// 17/08/00 V.Ivanchenko change EnergyLossFluctuation -// 18/08/00 V.Ivanchenko bug fixed in GetConstrained -// 23/01/01 bug fixed in AlongStepDoIt , L.Urban -// 27/03/01 commented out the printing of subcutoff energies -// 28/05/01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 10/09/01 bugfix in subcutoff delta generation, L.Urban -// 12/09/01 min.delta cut is set as rcut/100 + some optimisation, L.Urban -// 17-09-01 migration of Materials to pure STL (mma) -// 29-10-01 all static functions no more inlined (mma) -// 08-11-01 BuildDEDXTable not static,Charge local variable, L.Urban -// 09-11-01 cosmetics; 80 columns everywhere (mma) -// 06-02-02 bug fixed in MinDeltaCutInRange computation, L.Urban -// 26-02-02 bug fixed in TouchebleHandle definition, V.Ivanchenko -// 29-05-02 bug fixed in N of subcutoff delta, V.Ivanchenko -// 10-06-02 bug fixed for stopping hadrons, V.Ivanchenko -// 15-01-03 Migrade to cut per region (V.Ivanchenko) -// 25-03-03 add finalRangeRequested (mma) -// 07-04-03 add verbosity (V.Ivanchenko) -// 08-04-03 finalRange is region aware (V.Ivanchenko) -// 17-04-03 fix problem of hadron tests (V.Ivanchenko) -// ----------------------------------------------------------------------------- -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4VhEnergyLoss.hh" -#include "G4EnergyLossTables.hh" -#include "G4Poisson.hh" -#include "G4Navigator.hh" -#include "G4TransportationManager.hh" -#include "G4ProcessManager.hh" -#include "G4ProductionCutsTable.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4VhEnergyLoss::NbOfProcesses = 1; - -G4int G4VhEnergyLoss::CounterOfProcess = 0; -G4PhysicsTable** G4VhEnergyLoss::RecorderOfProcess = - new G4PhysicsTable*[10]; - -G4int G4VhEnergyLoss::CounterOfpProcess = 0; -G4PhysicsTable** G4VhEnergyLoss::RecorderOfpProcess = - new G4PhysicsTable*[10]; - -G4int G4VhEnergyLoss::CounterOfpbarProcess = 0; -G4PhysicsTable** G4VhEnergyLoss::RecorderOfpbarProcess = - new G4PhysicsTable*[10]; - -G4PhysicsTable* G4VhEnergyLoss::theDEDXpTable = NULL; -G4PhysicsTable* G4VhEnergyLoss::theDEDXpbarTable = NULL; -G4PhysicsTable* G4VhEnergyLoss::theRangepTable = NULL; -G4PhysicsTable* G4VhEnergyLoss::theRangepbarTable = NULL; -G4PhysicsTable* G4VhEnergyLoss::theInverseRangepTable = NULL; -G4PhysicsTable* G4VhEnergyLoss::theInverseRangepbarTable = NULL; -G4PhysicsTable* G4VhEnergyLoss::theLabTimepTable = NULL; -G4PhysicsTable* G4VhEnergyLoss::theLabTimepbarTable = NULL; -G4PhysicsTable* G4VhEnergyLoss::theProperTimepTable = NULL; -G4PhysicsTable* G4VhEnergyLoss::theProperTimepbarTable = NULL; - -G4PhysicsTable* G4VhEnergyLoss::thepRangeCoeffATable = NULL; -G4PhysicsTable* G4VhEnergyLoss::thepRangeCoeffBTable = NULL; -G4PhysicsTable* G4VhEnergyLoss::thepRangeCoeffCTable = NULL; -G4PhysicsTable* G4VhEnergyLoss::thepbarRangeCoeffATable = NULL; -G4PhysicsTable* G4VhEnergyLoss::thepbarRangeCoeffBTable = NULL; -G4PhysicsTable* G4VhEnergyLoss::thepbarRangeCoeffCTable = NULL; - -G4PhysicsTable* G4VhEnergyLoss::theDEDXTable = NULL; - -G4double G4VhEnergyLoss::LowerBoundEloss = 1.*keV; -G4double G4VhEnergyLoss::UpperBoundEloss = 100.*TeV; -G4int G4VhEnergyLoss::NbinEloss = 100; -G4double G4VhEnergyLoss::RTable,G4VhEnergyLoss::LOGRTable; - -G4double G4VhEnergyLoss::cN = 0.077*MeV*cm2/g; -G4int G4VhEnergyLoss::Ndeltamax = 100; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4VhEnergyLoss::G4VhEnergyLoss(const G4String& processName) - : G4VEnergyLoss (processName), - theLossTable (NULL), - MinKineticEnergy(1.*eV), - linLossLimit(0.05) -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VhEnergyLoss::~G4VhEnergyLoss() -{ - if(theLossTable) { - theLossTable->clearAndDestroy(); - delete theLossTable; theLossTable = 0; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VhEnergyLoss::SetNbOfProcesses(G4int nb) - {NbOfProcesses=nb;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VhEnergyLoss::PlusNbOfProcesses() - {NbOfProcesses++ ;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VhEnergyLoss::MinusNbOfProcesses() - {NbOfProcesses-- ;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4VhEnergyLoss::GetNbOfProcesses() - {return NbOfProcesses;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VhEnergyLoss::SetLowerBoundEloss(G4double val) - {LowerBoundEloss=val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VhEnergyLoss::SetUpperBoundEloss(G4double val) - {UpperBoundEloss=val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VhEnergyLoss::SetNbinEloss(G4int nb) - {NbinEloss=nb;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4VhEnergyLoss::GetLowerBoundEloss() - {return LowerBoundEloss;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4VhEnergyLoss::GetUpperBoundEloss() - {return UpperBoundEloss;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4VhEnergyLoss::GetNbinEloss() - {return NbinEloss;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4VhEnergyLoss::BuildDEDXTable( - const G4ParticleDefinition& aParticleType) -{ - if(0 < verboseLevel) { - G4cout << "G4VhEnergyLoss::BuildDEDXTable() for process " - << GetProcessName() << " and particle " - << aParticleType.GetParticleName() << G4endl; - } - - // calculate data members LOGRTable,RTable first - G4double lrate = log(UpperBoundEloss/LowerBoundEloss); - LOGRTable=lrate/NbinEloss; - RTable =exp(LOGRTable); - - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - //set physically consistent value for finalRange - //and parameters for en.loss step limit - if (finalRangeRequested > 0.) { finalRange = finalRangeRequested;} - - // create table if there is no table or there is a new cut value - // create/fill proton or antiproton tables depending on the charge - G4double Charge = aParticleType.GetPDGCharge()/eplus; - ParticleMass = aParticleType.GetPDGMass() ; - - if (Charge>0.) {theDEDXTable= theDEDXpTable;} - else {theDEDXTable= theDEDXpbarTable;} - - G4String pname = aParticleType.GetParticleName(); - if( !theDEDXTable || (CutsWhereModified() && - (pname == "proton" || pname == "anti_proton")) ) - - { - // Build energy loss table as a sum of the energy loss due to the - // different processes. - if (Charge >0.) - { - if(theDEDXpTable) {theDEDXpTable->clearAndDestroy(); - delete theDEDXpTable;} - theDEDXpTable = new G4PhysicsTable(numOfCouples); - theDEDXTable = theDEDXpTable; - } - else - { - if(theDEDXpbarTable) {theDEDXpbarTable->clearAndDestroy(); - delete theDEDXpbarTable;} - theDEDXpbarTable = new G4PhysicsTable(numOfCouples); - theDEDXTable = theDEDXpbarTable; - } - - // loop for materials - // - G4bool isOutRange; - G4PhysicsTable* pointer; - - for (size_t J=0; JGetLowEdgeEnergy(i); - G4double Value = 0. ; - - // loop for the contributing processes - for (G4int process=0; process < NbOfProcesses; process++) - { - pointer= RecorderOfpProcess[process]; - Value += (*pointer)[J]->GetValue(LowEdgeEnergy,isOutRange); - } - - aVector->PutValue(i,Value); - } - - theDEDXTable->insert(aVector); - } - - - if(Charge > 0.) - { - // Build range table - // - theRangepTable = BuildRangeTable(theDEDXpTable, theRangepTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - // Build lab/proper time tables - // - theLabTimepTable = BuildLabTimeTable(theDEDXpTable, theLabTimepTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - theProperTimepTable = BuildProperTimeTable(theDEDXpTable, - theProperTimepTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // Build coeff tables for the energy loss calculation - // - thepRangeCoeffATable = BuildRangeCoeffATable(theRangepTable, - thepRangeCoeffATable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - thepRangeCoeffBTable = BuildRangeCoeffBTable(theRangepTable, - thepRangeCoeffBTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - thepRangeCoeffCTable = BuildRangeCoeffCTable(theRangepTable, - thepRangeCoeffCTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // invert the range table - // - theInverseRangepTable = BuildInverseRangeTable(theRangepTable, - thepRangeCoeffATable, - thepRangeCoeffBTable, - thepRangeCoeffCTable, - theInverseRangepTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - } - else - { - // Build range table - // - theRangepbarTable = BuildRangeTable(theDEDXpbarTable, theRangepbarTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // Build lab/proper time tables - // - theLabTimepbarTable = BuildLabTimeTable(theDEDXpbarTable, - theLabTimepbarTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - theProperTimepbarTable = BuildProperTimeTable(theDEDXpbarTable, - theProperTimepbarTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // Build coeff tables for the energy loss calculation - // - thepbarRangeCoeffATable = BuildRangeCoeffATable(theRangepbarTable, - thepbarRangeCoeffATable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - thepbarRangeCoeffBTable = BuildRangeCoeffBTable(theRangepbarTable, - thepbarRangeCoeffBTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - thepbarRangeCoeffCTable = BuildRangeCoeffCTable(theRangepbarTable, - thepbarRangeCoeffCTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - // invert the range table - // - theInverseRangepbarTable = BuildInverseRangeTable(theRangepbarTable, - thepbarRangeCoeffATable, - thepbarRangeCoeffBTable, - thepbarRangeCoeffCTable, - theInverseRangepbarTable, - LowerBoundEloss,UpperBoundEloss,NbinEloss); - - } - } - - // make the energy loss and the range table available - - G4EnergyLossTables::Register(&aParticleType, - (Charge>0)? theDEDXpTable: theDEDXpbarTable, - (Charge>0)? theRangepTable: theRangepbarTable, - (Charge>0)? theInverseRangepTable: theInverseRangepbarTable, - (Charge>0)? theLabTimepTable: theLabTimepbarTable, - (Charge>0)? theProperTimepTable: theProperTimepbarTable, - LowerBoundEloss, UpperBoundEloss, - proton_mass_c2/aParticleType.GetPDGMass(),NbinEloss); - - - if(MinDeltaEnergy) {delete [] MinDeltaEnergy; MinDeltaEnergy=0;} - MinDeltaEnergy = new G4double [numOfCouples]; - if(LowerLimitForced) {delete [] LowerLimitForced; LowerLimitForced=0;} - LowerLimitForced = new G4bool [numOfCouples]; - G4double Tlowerlimit = 1.*keV; - for (size_t mat=0; matGetEnergyCutsVector(1)))[mat]; - if(!setMinDeltaCutInRange) MinDeltaCutInRange = ecut/10.0; - MinDeltaEnergy[mat] = G4EnergyLossTables::GetPreciseEnergyFromRange( - G4Electron::Electron(), - MinDeltaCutInRange, - theCoupleTable->GetMaterialCutsCouple(mat)); - if(MinDeltaEnergy[mat]ecut) MinDeltaEnergy[mat]=ecut; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4VhEnergyLoss::GetConstraints(const G4DynamicParticle *aParticle, - const G4MaterialCutsCouple * couple) -{ - // returns the Step limit - // dRoverRange is the max. allowed relative range loss in one step - // it calculates dEdx and the range as well.... - - G4double KineticEnergy = aParticle->GetKineticEnergy(); - G4double massratio=proton_mass_c2/(aParticle->GetMass()); - G4double Tscaled = KineticEnergy*massratio; - G4double Charge = aParticle->GetCharge()/eplus; - G4double ChargeSquare = Charge*Charge; - - if (Charge>0.) - { - fRangeNow=G4EnergyLossTables::GetRange(G4Proton::Proton(),Tscaled,couple); - fdEdx =G4EnergyLossTables::GetDEDX (G4Proton::Proton(),Tscaled,couple); - } - else - { - fRangeNow=G4EnergyLossTables::GetRange(G4AntiProton::AntiProton(), - Tscaled,couple); - fdEdx =G4EnergyLossTables::GetDEDX (G4AntiProton::AntiProton(), - Tscaled,couple); - } - fdEdx *= ChargeSquare; - fRangeNow /= (ChargeSquare*massratio); - - // compute the (random) Step limit - // - G4double r = min(finalRange, couple->GetProductionCuts() - ->GetProductionCut(idxG4ElectronCut)); - G4double StepLimit; - if (fRangeNow > r) - { - StepLimit = dRoverRange*fRangeNow + r*(1.0 - dRoverRange)*(2.0 - r/fRangeNow); - // StepLimit = (c1lim*fRangeNow+c2lim+c3lim/fRangeNow); - - // randomise this value - if (rndmStepFlag) StepLimit=r+(StepLimit-r)*G4UniformRand(); - if (StepLimit > fRangeNow) StepLimit = fRangeNow; - } - else StepLimit = fRangeNow; - - return StepLimit; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4VhEnergyLoss::AlongStepDoIt( - const G4Track& trackData,const G4Step& stepData) -{ - // compute the energy loss after a step - // - aParticleChange.Initialize(trackData); - - const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); - const G4Material* aMaterial = couple->GetMaterial(); - G4int index = couple->GetIndex(); - - const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); - G4double Charge = aParticle->GetCharge()/eplus; - G4double ChargeSquare = Charge*Charge; - G4double mass=aParticle->GetMass(); - - // get the actual (true) Step length from stepData - G4double Step = stepData.GetStepLength(); - - G4double E = aParticle->GetKineticEnergy(); - G4double MeanLoss = 0.; - - if (E < MinKineticEnergy) MeanLoss = E; - else - { - if(Step >= fRangeNow) MeanLoss = E; - else if((E > UpperBoundEloss)||(E <= LowerBoundEloss)) MeanLoss = Step*fdEdx; - else - { - if (Step>linLossLimit*fRangeNow) - { - G4double massratio = proton_mass_c2/mass; - G4double rscaled = fRangeNow*massratio*ChargeSquare; - G4double sscaled = Step *massratio*ChargeSquare; - - if (Charge>0.) - { - MeanLoss = G4EnergyLossTables::GetPreciseEnergyFromRange( - G4Proton::Proton(), - rscaled ,couple) - - G4EnergyLossTables::GetPreciseEnergyFromRange( - G4Proton::Proton(), - rscaled-sscaled,couple); - } - else - { - MeanLoss = G4EnergyLossTables::GetPreciseEnergyFromRange( - G4AntiProton::AntiProton(), - rscaled ,couple) - - G4EnergyLossTables::GetPreciseEnergyFromRange( - G4AntiProton::AntiProton(), - rscaled-sscaled,couple); - } - MeanLoss /= massratio; - } - else MeanLoss = Step*fdEdx; - } - } - G4double finalT = E - MeanLoss; - - // subcutoff delta ray production start - // - if((subSecFlag) && (trackData.GetCurrentStepNumber() > 1)) - { - G4double delta; - G4double fragment = Step; - G4double frperstep = 1.0; - G4double x1,y1,z1,dx,dy,dz,dTime,time0,DeltaTime; - - G4double MinDeltaEnergyNow = MinDeltaEnergy[index] ; - G4double Tc = SecondaryEnergyThreshold(index); - - G4double w=mass+electron_mass_c2 ; - G4double ww=2.*mass-MinDeltaEnergyNow ; - G4double TmintoProduceDelta=0.5*(sqrt(ww*ww+2.*w*w*MinDeltaEnergyNow/ - electron_mass_c2)-ww); - - if((E > TmintoProduceDelta) && (MeanLoss > MinDeltaEnergyNow) - && (finalT > MinKineticEnergy)) - { - // max. possible delta energy - G4double Tmax = 2.*electron_mass_c2*E*(E+2.*mass)/ - (mass*mass+2.*electron_mass_c2*(E+mass)+ - electron_mass_c2*electron_mass_c2); - G4double rcut=couple->GetProductionCuts()->GetProductionCut(1); - if (Tc > Tmax) Tc=Tmax; - - // generate subcutoff delta rays only if Tc>MinDeltaEnergyNow - if ((Tc > MinDeltaEnergyNow) && (Tmax > MinDeltaEnergyNow)) - { - G4double presafety = stepData.GetPreStepPoint()->GetSafety(); - G4Navigator* navigator = - G4TransportationManager::GetTransportationManager() - ->GetNavigatorForTracking(); - G4double postsafety = - navigator->ComputeSafety(stepData.GetPostStepPoint()->GetPosition()); - G4double safety = min(presafety,postsafety); - - if (safety < rcut) - { - x1=stepData.GetPreStepPoint()->GetPosition().x(); - y1=stepData.GetPreStepPoint()->GetPosition().y(); - z1=stepData.GetPreStepPoint()->GetPosition().z(); - dx=stepData.GetPostStepPoint()->GetPosition().x()-x1; - dy=stepData.GetPostStepPoint()->GetPosition().y()-y1; - dz=stepData.GetPostStepPoint()->GetPosition().z()-z1; - time0=stepData.GetPreStepPoint()->GetGlobalTime(); - dTime=stepData.GetPostStepPoint()->GetGlobalTime()-time0; - - if ((presafety0.) - { - G4double T0=G4EnergyLossTables::GetPreciseEnergyFromRange( - G4Electron::Electron(), - min(presafety,postsafety), - couple); - // absolute lower limit for T0 - if((T0GetDensity()* - ((E+mass)*(E+mass)*log(Tc/T0)/(E*(E+mass))); - G4double delToverTc=1.-T0/Tc ; - G4int N = G4int(deldedx*fragment*delToverTc/(T0*log(Tc/T0))+0.5); - if(N > Ndeltamax) N = Ndeltamax; - - G4ThreeVector ParticleDirection = aParticle->GetMomentumDirection(); - G4double Px =ParticleDirection.x(); - G4double Py =ParticleDirection.y(); - G4double Pz =ParticleDirection.z(); - - G4int subdelta = 0; - - if (N > 0) - { - G4double T,p,costheta,sintheta,phi,dirx,diry,dirz, - Pnew,urandom; - G4double Tkin = E; - G4double Etot = Tkin+mass; - G4double P = sqrt(Tkin*(Etot+mass)); - - aParticleChange.SetNumberOfSecondaries(N); - do { - subdelta += 1; - Tmax = 2.*electron_mass_c2*Tkin*(Tkin+2.*mass)/ - (mass*mass+2.*electron_mass_c2*(Tkin+mass)+ - electron_mass_c2*electron_mass_c2); - if(Tc>Tmax) Tc = Tmax; - - //check if there is enough energy .... - if((Tkin>TmintoProduceDelta)&&(Tc > T0)&&(MeanLoss>0.)) - { - delToverTc=1.-T0/Tc; - T=T0/(1.-delToverTc*G4UniformRand()); - if(T > MeanLoss) T=MeanLoss; - MeanLoss -= T; - p=sqrt(T*(T+2.*electron_mass_c2)); - - costheta = T*(Etot+electron_mass_c2)/(P*p); - if(costheta<-1.) costheta=-1.; - if(costheta> 1.) costheta= 1.; - - phi=twopi*G4UniformRand(); - sintheta=sqrt(1.-costheta*costheta); - dirx=sintheta*cos(phi); - diry=sintheta*sin(phi); - dirz=costheta; - - urandom = G4UniformRand() ; - // distribute x,y,z along Pre-Post ! - G4double xd=x1+frperstep*dx*urandom; - G4double yd=y1+frperstep*dy*urandom; - G4double zd=z1+frperstep*dz*urandom; - G4ThreeVector DeltaPosition(xd,yd,zd); - DeltaTime=time0+frperstep*dTime*urandom; - - G4ThreeVector DeltaDirection(dirx,diry,dirz); - DeltaDirection.rotateUz(ParticleDirection); - - G4DynamicParticle* theDelta = new G4DynamicParticle; - theDelta->SetDefinition(G4Electron::Electron()); - theDelta->SetKineticEnergy(T); - - theDelta->SetMomentumDirection(DeltaDirection.x(), - DeltaDirection.y(),DeltaDirection.z()); - - // update initial particle,fill ParticleChange - Tkin -= T; - Px =(P*ParticleDirection.x()-p*DeltaDirection.x()); - Py =(P*ParticleDirection.y()-p*DeltaDirection.y()); - Pz =(P*ParticleDirection.z()-p*DeltaDirection.z()); - Pnew = sqrt(Px*Px+Py*Py+Pz*Pz); - Px /= Pnew; - Py /= Pnew; - Pz /= Pnew; - P = Pnew; - G4ThreeVector ParticleDirectionnew(Px,Py,Pz); - ParticleDirection = ParticleDirectionnew; - - G4Track* deltaTrack = - new G4Track(theDelta,DeltaTime,DeltaPosition); - deltaTrack->SetTouchableHandle(stepData.GetPreStepPoint() - ->GetTouchableHandle()); - - deltaTrack->SetParentID(trackData.GetTrackID()); - - aParticleChange.AddSecondary(deltaTrack); - } - - } while (subdelta 0) aParticleChange.ProposeMomentumDirection(Px,Py,Pz); - E = Tkin; - } - } - } - } - } - } - // end of subcutoff business - - finalT = E - MeanLoss; - if(finalT < MinKineticEnergy) finalT = 0.; - - // now the loss with fluctuation - if ((EnlossFlucFlag) && (finalT > 0.) && (finalT < E)&&(E > LowerBoundEloss)) - { - finalT = E - - EnergyLossFluctuation(aParticle,couple,ChargeSquare,MeanLoss,Step); - if (finalT < 0.) finalT = 0.; - } - - // kill the particle if the kinetic energy <= 0 - if (finalT <= 0.) - { - finalT = 0.; - if(!aParticle->GetDefinition()->GetProcessManager()->GetAtRestProcessVector()->size()) - aParticleChange.ProposeTrackStatus(fStopAndKill); - else aParticleChange.ProposeTrackStatus(fStopButAlive); - } - - aParticleChange.ProposeEnergy(finalT); - aParticleChange.ProposeLocalEnergyDeposit(E-finalT); - - return &aParticleChange; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4VhEnergyLoss::EnergyLossFluctuation( - const G4DynamicParticle* aParticle, - const G4MaterialCutsCouple* couple, - G4double ChargeSquare, - G4double MeanLoss, - G4double Step) -{ - return GetLossWithFluct(aParticle,couple,ChargeSquare,MeanLoss,Step); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4WaterStopping.cc b/source/processes/electromagnetic/standard/src/G4WaterStopping.cc index d8c6e80983..d8dbb90370 100644 --- a/source/processes/electromagnetic/standard/src/G4WaterStopping.cc +++ b/source/processes/electromagnetic/standard/src/G4WaterStopping.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4WaterStopping.cc,v 1.2 2006/06/29 19:53:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ //--------------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/standard/src/G4eBremsstrahlung.cc b/source/processes/electromagnetic/standard/src/G4eBremsstrahlung.cc index efb62851c4..cc7b2bbcbe 100644 --- a/source/processes/electromagnetic/standard/src/G4eBremsstrahlung.cc +++ b/source/processes/electromagnetic/standard/src/G4eBremsstrahlung.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eBremsstrahlung.cc,v 1.46 2007/01/18 12:17:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4eBremsstrahlung.cc,v 1.48 2007/05/23 08:47:34 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -88,17 +88,10 @@ using namespace std; -G4eBremsstrahlung::G4eBremsstrahlung(const G4String& name, G4double thresh): +G4eBremsstrahlung::G4eBremsstrahlung(const G4String& name): G4VEnergyLossProcess(name), - gammaThreshold(thresh), isInitialised(false) -{ - SetDEDXBinning(120); - SetLambdaBinning(120); - SetMinKinEnergy(0.1*keV); - SetMaxKinEnergy(100.0*TeV); - -} +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -111,7 +104,6 @@ void G4eBremsstrahlung::InitialiseEnergyLossProcess( const G4ParticleDefinition* p, const G4ParticleDefinition*) { - gammaThreshold = G4LossTableManager::Instance()->BremsstrahlungTh(); if(!isInitialised) { particle = p; SetSecondaryParticle(G4Gamma::Gamma()); @@ -124,19 +116,31 @@ void G4eBremsstrahlung::InitialiseEnergyLossProcess( AddEmModel(1, EmModel(), FluctModel()); isInitialised = true; } + G4LossTableManager* man = G4LossTableManager::Instance(); + dynamic_cast(EmModel()) + ->SetEnergyThreshold(man->BremsstrahlungTh()); + dynamic_cast(EmModel()) + ->SetLPMflag(man->LPMFlag()); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4eBremsstrahlung::PrintInfo() { - if(EmModel()) + if(EmModel()) { G4cout << " Total cross sections and sampling from " << EmModel()->GetName() << " model" << " (based on the EEDL data library) " << "\n Good description from 1 KeV to 100 GeV, " << "log scale extrapolation above 100 GeV." + << " LPM flag " + << dynamic_cast(EmModel())->LPMflag() << G4endl; + G4double eth = dynamic_cast(EmModel())->EnergyThreshold(); + if(eth < DBL_MIN) + G4cout << " HighEnergyThreshold(GeV)= " << eth/GeV + << G4endl; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/src/G4eBremsstrahlung52.cc b/source/processes/electromagnetic/standard/src/G4eBremsstrahlung52.cc deleted file mode 100644 index 97995b35d7..0000000000 --- a/source/processes/electromagnetic/standard/src/G4eBremsstrahlung52.cc +++ /dev/null @@ -1,1042 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4eBremsstrahlung52.cc,v 1.7 2006/10/16 15:26:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// -// ------------ G4eBremsstrahlung52 physics process -------- -// by Michel Maire, 24 July 1996 -// -// 26-09-96 extension of the total crosssection above 100 GeV, M.Maire -// 1-10-96 new type G4OrderedTable; ComputePartialSumSigma(), M.Maire -// 16-10-96 DoIt() call to the non static GetEnergyCuts(), L.Urban -// 13-12-96 Sign corrected in grejmax and greject -// error definition of screenvar, L.Urban -// 20-03-97 new energy loss+ionisation+brems scheme, L.Urban -// 07-04-98 remove 'tracking cut' of the diffracted particle, MMa -// 13-08-98 new methods SetBining() PrintInfo() -// 03-03-99 Bug fixed in LPM effect, L.Urban -// 10-02-00 modifications , new e.m. structure, L.Urban -// 07-08-00 new cross section/en.loss parametrisation, LPM flag , L.Urban -// 21-09-00 corrections in the LPM implementation, L.Urban -// 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 09-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 17-09-01 migration of Materials to pure STL (mma) -// 21-09-01 completion of RetrievePhysicsTable() (mma) -// 29-10-01 all static functions no more inlined (mma) -// 08-11-01 particleMass becomes a local variable -// 11-11-02 fix of division by 0 (VI) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 26-04-03 fix problems of retrieve tables (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 08-11-04 Remove of Store/Retrieve tables (V.Ivantchenko) -// -// -------------------------------------------------------------- - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -#include "G4eBremsstrahlung52.hh" -#include "G4EnergyLossTables.hh" -#include "G4ios.hh" -#include "G4UnitsTable.hh" -#include "G4ProductionCutsTable.hh" - -G4double G4eBremsstrahlung52::LowerBoundLambda = 1.*keV; -G4double G4eBremsstrahlung52::UpperBoundLambda = 100.*TeV; -G4int G4eBremsstrahlung52::NbinLambda = 100; -G4double G4eBremsstrahlung52::probsup = 1.00; -G4bool G4eBremsstrahlung52::LPMflag = true; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -using namespace std; - -G4eBremsstrahlung52::G4eBremsstrahlung52(const G4String& processName) - : G4VeEnergyLoss(processName), // initialization - theMeanFreePathTable(NULL) -{ // MinThreshold = 10*keV; - MinThreshold = 1*keV; } - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -// destructor - -G4eBremsstrahlung52::~G4eBremsstrahlung52() -{ - if (theMeanFreePathTable) { - theMeanFreePathTable->clearAndDestroy(); - delete theMeanFreePathTable; - } - - PartialSumSigma.clearAndDestroy(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eBremsstrahlung52::SetLowerBoundLambda(G4double val) - {LowerBoundLambda = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eBremsstrahlung52::SetUpperBoundLambda(G4double val) - {UpperBoundLambda = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eBremsstrahlung52::SetNbinLambda(G4int n) - {NbinLambda = n;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eBremsstrahlung52::GetLowerBoundLambda() - {return LowerBoundLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eBremsstrahlung52::GetUpperBoundLambda() - {return UpperBoundLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4eBremsstrahlung52::GetNbinLambda() - {return NbinLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eBremsstrahlung52::SetLPMflag(G4bool val) - {LPMflag = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4eBremsstrahlung52::GetLPMflag() - {return LPMflag;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eBremsstrahlung52::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) -{ - if( !CutsWhereModified() && theLossTable) return; - - LowestKineticEnergy = GetLowerBoundEloss(); - HighestKineticEnergy = GetUpperBoundEloss(); - TotBin = GetNbinEloss(); - - BuildLossTable(aParticleType); - - if (&aParticleType==G4Electron::Electron()) - { - RecorderOfElectronProcess[CounterOfElectronProcess] = (*this).theLossTable; - CounterOfElectronProcess++; - } - else - { - RecorderOfPositronProcess[CounterOfPositronProcess] = (*this).theLossTable; - CounterOfPositronProcess++; - } - - BuildLambdaTable(aParticleType); - - BuildDEDXTable (aParticleType); - - if (&aParticleType==G4Electron::Electron()) PrintInfoDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4eBremsstrahlung52::BuildLossTable(const G4ParticleDefinition& aParticleType) -{ - G4double KineticEnergy,TotalEnergy,bremloss,Z,x, - losslim,loss,rate,natom,Cut; - - const G4double MinKinEnergy = 1.*keV; - const G4double Thigh = 100.*GeV; - const G4double Cuthigh = 50.*GeV; - const G4double Factorhigh = 36./(1450.*GeV); - const G4double coef1 = -0.5, coef2 = 2./9.; - - G4double particleMass = aParticleType.GetPDGMass() ; - - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} - theLossTable = new G4PhysicsTable(numOfCouples); - - secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(0); - - // loop for materials - // - for (size_t J=0; JGetMaterialCutsCouple(J); - const G4Material* material= couple->GetMaterial(); - - const G4ElementVector* theElementVector = material->GetElementVector(); - const G4double* theAtomicNumDensityVector = material->GetAtomicNumDensityVector(); - const G4int NumberOfElements = material->GetNumberOfElements(); - - // loop for the kinetic energy values - for (G4int i=0; iGetLowEdgeEnergy(i) ; - TotalEnergy = KineticEnergy+particleMass ; - Cut = SecondaryEnergyThreshold(J); - if (Cut < MinThreshold) Cut = MinThreshold; - if (Cut > KineticEnergy) Cut = KineticEnergy; - - bremloss = 0.; - - if (KineticEnergy>MinKinEnergy) - { - // loop for elements in the material - for (G4int iel=0; ielGetZ(); - natom = theAtomicNumDensityVector[iel] ; - if (KineticEnergy <= Thigh) - { - //loss for MinKinEnergy100 GeV - x=log(Thigh/particleMass) ; - if (CutGetElectronDensity()) ; - - // now compute the correction due to the supression(s) - G4double kmin = 1.*eV ; - G4double kmax = Cut ; - - if(kmax > kmin) - { - - G4double floss = 0. ; - G4int nmax = 100 ; - - G4double vmin=log(kmin); - G4double vmax=log(kmax) ; - G4int nn = (G4int)(nmax*(vmax-vmin)/(log(HighestKineticEnergy)-vmin)) ; - G4double u,fac,c,v,dv ; - if(nn > 0) - { - dv = (vmax-vmin)/nn ; - v = vmin-dv ; - for(G4int n=0; n<=nn; n++) - { - v += dv; u = exp(v); - fac = u*SupressionFunction(material,KineticEnergy,u); - probsup = 1.; - fac *= probsup*(u*u/(u*u+kp2))+1.-probsup; - if ((n==0)||(n==nn)) c=0.5; - else c=1. ; - fac *= c ; - floss += fac ; - } - floss *=dv/(kmax-kmin); - } - else floss = 1.; - if(floss > 1.) floss = 1.; - // correct the loss - bremloss *= floss; - } - - if(bremloss < 0.) bremloss = 0.; - aVector->PutValue(i,bremloss); - } - - theLossTable->insert(aVector); - } - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4eBremsstrahlung52::ComputeBremLoss(G4double Z,G4double, - G4double T,G4double Cut,G4double) - -// compute loss due to soft brems -{ - static const G4double beta=1.00,ksi=2.00 ; - static const G4double clossh = 0.254 , closslow = 1./3. , alosslow = 1. ; - static const G4double Tlim= 10.*MeV ; - - static const G4double xlim = 1.2 ; - static const G4int NZ = 8 ; - static const G4int Nloss = 11 ; - static const G4double ZZ[NZ] = - {2.,4.,6.,14.,26.,50.,82.,92.}; - static const G4double coefloss[NZ][Nloss] = { - // Z=2 - { 0.98916, 0.47564, -0.2505, -0.45186, 0.14462, - 0.21307, -0.013738, -0.045689, -0.0042914, 0.0034429, - 0.00064189}, - - // Z=4 - { 1.0626, 0.37662, -0.23646, -0.45188, 0.14295, - 0.22906, -0.011041, -0.051398, -0.0055123, 0.0039919, - 0.00078003}, - // Z=6 - { 1.0954, 0.315, -0.24011, -0.43849, 0.15017, - 0.23001, -0.012846, -0.052555, -0.0055114, 0.0041283, - 0.00080318}, - - // Z=14 - { 1.1649, 0.18976, -0.24972, -0.30124, 0.1555, - 0.13565, -0.024765, -0.027047, -0.00059821, 0.0019373, - 0.00027647}, - - // Z=26 - { 1.2261, 0.14272, -0.25672, -0.28407, 0.13874, - 0.13586, -0.020562, -0.026722, -0.00089557, 0.0018665, - 0.00026981}, - - // Z=50 - { 1.3147, 0.020049, -0.35543, -0.13927, 0.17666, - 0.073746, -0.036076, -0.013407, 0.0025727, 0.00084005, - -1.4082e-05}, - - // Z=82 - { 1.3986, -0.10586, -0.49187, -0.0048846, 0.23621, - 0.031652, -0.052938, -0.0076639, 0.0048181, 0.00056486, - -0.00011995}, - - // Z=92 - { 1.4217, -0.116, -0.55497, -0.044075, 0.27506, - 0.081364, -0.058143, -0.023402, 0.0031322, 0.0020201, - 0.00017519} - - } ; - static G4double aaa=0.414 ; - static G4double bbb=0.345 ; - static G4double ccc=0.460 ; - - G4int iz = 0; - G4double delz = 1.e6; - for (G4int ii=0; ii=0; j--) fl = fl*xx+coefloss[iz][j]; - if (fl < 0.) fl = 0.; - } - - G4double loss; - G4double E = T+electron_mass_c2 ; - - loss = Z*(Z+ksi)*E*E/(T+E)*exp(beta*log(Cut/T))*(2.-clossh*exp(log(Z)/4.)); - if (T <= Tlim) loss /= exp(closslow*log(Tlim/T)); - if( T <= Cut) loss *= exp(alosslow*log(T/Cut)); - - // correction ................................ - loss *= (aaa+bbb*T/Tlim)/(1.+ccc*T/Tlim); - loss *= fl; - loss /= Avogadro; - - return loss; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4eBremsstrahlung52::ComputePositronCorrFactorLoss( - G4double Z,G4double KineticEnergy,G4double GammaCut) - -//calculates the correction factor for the energy loss due to bremsstrahlung for positrons -//the same correction is in the (discrete) bremsstrahlung - -{ - static const G4double K = 132.9416*eV ; - static const G4double a1=4.15e-1, a3=2.10e-3, a5=54.0e-5 ; - - G4double x = log(KineticEnergy/(K*Z*Z)), x2 = x*x, x3 = x2*x; - G4double eta = 0.5+atan(a1*x+a3*x3+a5*x3*x2)/pi; - G4double e0 = GammaCut/KineticEnergy; - - G4double factor(0.); - if (e0!=1.0) { factor=log(1.-e0)/eta; factor=exp(factor);} - factor = eta*(1.-factor)/e0; - - return factor; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4eBremsstrahlung52::BuildLambdaTable( - const G4ParticleDefinition& ParticleType) -{ - G4double LowEdgeEnergy , Value; - G4double FixedEnergy = (LowerBoundLambda + UpperBoundLambda)/2.; - - //create table - // - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - //create table - if (theMeanFreePathTable) {theMeanFreePathTable->clearAndDestroy(); - delete theMeanFreePathTable; - } - theMeanFreePathTable = new G4PhysicsTable(numOfCouples); - - PartialSumSigma.clearAndDestroy(); - PartialSumSigma.resize(numOfCouples); - - G4PhysicsLogVector* ptrVector; - for ( size_t J=0; JGetMaterialCutsCouple(J); - - for ( G4int i = 0 ; i < NbinLambda ; i++ ) - { - LowEdgeEnergy = ptrVector->GetLowEdgeEnergy( i ) ; - Value = ComputeMeanFreePath( &ParticleType, LowEdgeEnergy,couple); - ptrVector->PutValue( i , Value ) ; - } - - theMeanFreePathTable->insertAt( J , ptrVector ); - - // Compute the PartialSumSigma table at a given fixed energy - ComputePartialSumSigma( &ParticleType, FixedEnergy, couple) ; - } - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4eBremsstrahlung52::ComputeMeanFreePath( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4MaterialCutsCouple* couple) -{ - const G4Material* aMaterial = couple->GetMaterial(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector() ; - const G4double* theAtomNumDensityVector = aMaterial->GetAtomicNumDensityVector(); - G4double GammaEnergyCut = SecondaryEnergyThreshold(couple->GetIndex()); - if (GammaEnergyCut < MinThreshold) GammaEnergyCut = MinThreshold; - - G4double SIGMA = 0; - - for ( size_t i=0 ; i < aMaterial->GetNumberOfElements() ; i++ ) - { - SIGMA += theAtomNumDensityVector[i] * - ComputeCrossSectionPerAtom( ParticleType, KineticEnergy, - (*theElementVector)[i]->GetZ(), - GammaEnergyCut ); - } - - // now compute the correction due to the supression(s) - - G4double kmax = KineticEnergy ; - G4double kmin = GammaEnergyCut ; - - static const G4double MigdalConstant = classic_electr_radius - *electron_Compton_length - *electron_Compton_length/pi; - G4double TotalEnergy = KineticEnergy+electron_mass_c2 ; - G4double kp2 = MigdalConstant*TotalEnergy*TotalEnergy* - (aMaterial->GetElectronDensity()) ; - - if(kmax > kmin) - { - G4double fsig = 0.; - G4int nmax = 100 ; - G4double vmin=log(kmin); - G4double vmax=log(kmax) ; - G4int nn = (G4int)(nmax*(vmax-vmin)/(log(HighestKineticEnergy)-vmin)); - G4double u,fac,c,v,dv,y ; - if(nn > 0) - { - dv = (vmax-vmin)/nn ; - v = vmin-dv ; - - for(G4int n=0; n<=nn; n++) - { - v += dv; u = exp(v); - fac = SupressionFunction(aMaterial,KineticEnergy,u); - y = u/kmax; - fac *= (4.-4.*y+3.*y*y)/3.; - fac *= probsup*(u*u/(u*u+kp2))+1.-probsup; - if ((n==0)||(n==nn)) c=0.5; - else c=1. ; - fac *= c; - fsig += fac; - } - y = kmin/kmax ; - fsig *=dv/(-4.*log(y)/3.-4.*(1.-y)/3.+0.5*(1.-y*y)); - } - else fsig = 1.; - if (fsig > 1.) fsig = 1.; - // correct the cross section - SIGMA *= fsig; - } - - return SIGMA > DBL_MIN ? 1./SIGMA : DBL_MAX; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4eBremsstrahlung52::ComputeCrossSectionPerAtom( - const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, G4double AtomicNumber, - G4double GammaEnergyCut) - -// Calculates the cross section per atom in GEANT4 internal units. -// - -{ - G4double CrossSection = 0.0 ; - if ( KineticEnergy < 1*keV ) return CrossSection; - if ( KineticEnergy <= GammaEnergyCut ) return CrossSection; - - static const G4double ksi=2.0, alfa=1.00; - static const G4double csigh = 0.127, csiglow = 0.25, asiglow = 0.020*MeV ; - static const G4double Tlim = 10.*MeV ; - - static const G4double xlim = 1.2 ; - static const G4int NZ = 8 ; - static const G4int Nsig = 11 ; - static const G4double ZZ[NZ] = - {2.,4.,6.,14.,26.,50.,82.,92.} ; - static const G4double coefsig[NZ][Nsig] = { - // Z=2 - { 0.4638, 0.37748, 0.32249, -0.060362, -0.065004, - -0.033457, -0.004583, 0.011954, 0.0030404, -0.0010077, - -0.00028131}, - - // Z=4 - { 0.50008, 0.33483, 0.34364, -0.086262, -0.055361, - -0.028168, -0.0056172, 0.011129, 0.0027528, -0.00092265, - -0.00024348}, - - // Z=6 - { 0.51587, 0.31095, 0.34996, -0.11623, -0.056167, - -0.0087154, 0.00053943, 0.0054092, 0.00077685, -0.00039635, - -6.7818e-05}, - - // Z=14 - { 0.55058, 0.25629, 0.35854, -0.080656, -0.054308, - -0.049933, -0.00064246, 0.016597, 0.0021789, -0.001327, - -0.00025983}, - - // Z=26 - { 0.5791, 0.26152, 0.38953, -0.17104, -0.099172, - 0.024596, 0.023718, -0.0039205, -0.0036658, 0.00041749, - 0.00023408}, - - // Z=50 - { 0.62085, 0.27045, 0.39073, -0.37916, -0.18878, - 0.23905, 0.095028, -0.068744, -0.023809, 0.0062408, - 0.0020407}, - - // Z=82 - { 0.66053, 0.24513, 0.35404, -0.47275, -0.22837, - 0.35647, 0.13203, -0.1049, -0.034851, 0.0095046, - 0.0030535}, - - // Z=92 - { 0.67143, 0.23079, 0.32256, -0.46248, -0.20013, - 0.3506, 0.11779, -0.1024, -0.032013, 0.0092279, - 0.0028592} - - } ; - - G4int iz = 0 ; - G4double delz = 1.e6 ; - for (G4int ii=0; ii=0; j--) - { - fs = fs*xx+coefsig[iz][j] ; - } - if(fs < 0.) fs = 0. ; - } - - - CrossSection = AtomicNumber*(AtomicNumber+ksi)* - (1.-csigh*exp(log(AtomicNumber)/4.))* - pow(log(KineticEnergy/GammaEnergyCut),alfa) ; - - if(KineticEnergy <= Tlim) - CrossSection *= exp(csiglow*log(Tlim/KineticEnergy))* - (1.+asiglow/(sqrt(AtomicNumber)*KineticEnergy)) ; - - if (ParticleType == G4Positron::Positron()) - CrossSection *= ComputePositronCorrFactorSigma(AtomicNumber, KineticEnergy, - GammaEnergyCut); - CrossSection *= fs ; - CrossSection /= Avogadro ; - - if (CrossSection < 0.) CrossSection = 0.; - return CrossSection; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4eBremsstrahlung52::ComputePositronCorrFactorSigma( G4double AtomicNumber, - G4double KineticEnergy, G4double GammaEnergyCut) - -// Calculates the correction factor for the total cross section of the positron bremsstrahl. -// Eta is the ratio of positron to electron energy loss by bremstrahlung. -// A parametrized formula from L. Urban is used to estimate eta. It is a fit to the results -// of L. Kim & al: Phys Rev. A33,3002 (1986) - -{ - static const G4double K = 132.9416*eV; - static const G4double a1 = 4.15e-1, a3 = 2.10e-3, a5 = 54.0e-5; - - G4double x = log(KineticEnergy/(K*AtomicNumber*AtomicNumber)); - G4double eta = 0.5 + atan(a1*x + a3*x*x*x + a5*x*x*x*x*x)/pi ; - G4double alfa = (1. - eta)/eta; - return eta*pow((1. - GammaEnergyCut/KineticEnergy) , alfa); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4eBremsstrahlung52::ComputePartialSumSigma(const G4ParticleDefinition* ParticleType, - G4double KineticEnergy, - const G4MaterialCutsCouple* couple) - -// Build the table of cross section per element. The table is built for MATERIALS. -// This table is used by DoIt to select randomly an element in the material. -{ - const G4Material* aMaterial= couple->GetMaterial(); - G4int NbOfElements = aMaterial->GetNumberOfElements(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - const G4double* theAtomNumDensityVector = aMaterial->GetAtomicNumDensityVector(); - size_t index = couple->GetIndex(); - G4double GammaEnergyCut = SecondaryEnergyThreshold(index); - - PartialSumSigma[index] = new G4DataVector(); - - G4double SIGMA = 0. ; - - for ( G4int Ielem=0 ; Ielem < NbOfElements ; Ielem++ ) - { - SIGMA += theAtomNumDensityVector[Ielem] * - ComputeCrossSectionPerAtom( ParticleType, KineticEnergy, - (*theElementVector)[Ielem]->GetZ(), - GammaEnergyCut ); - PartialSumSigma[index]->push_back(SIGMA); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4VParticleChange* G4eBremsstrahlung52::PostStepDoIt(const G4Track& trackData, - const G4Step& stepData) -// -// The emitted gamma energy is sampled using a parametrized formula from L. Urban. -// This parametrization is derived from : -// cross-section values of Seltzer and Berger for electron energies 1 keV - 10 GeV, -// screened Bethe Heilter differential cross section above 10 GeV, -// Migdal corrections in both case. -// Seltzer & Berger: Nim B 12:95 (1985) -// Nelson, Hirayama & Rogers: Technical report 265 SLAC (1985) -// Migdal: Phys Rev 103:1811 (1956); Messel & Crawford: Pergamon Press (1970) -// -// A modified version of the random number techniques of Butcher & Messel is used -// (Nuc Phys 20(1960),15). -// -// GEANT4 internal units. -// -{ - static const G4double - ah10 = 4.67733E+00, ah11 =-6.19012E-01, ah12 = 2.02225E-02, - ah20 =-7.34101E+00, ah21 = 1.00462E+00, ah22 =-3.20985E-02, - ah30 = 2.93119E+00, ah31 =-4.03761E-01, ah32 = 1.25153E-02; - - static const G4double - bh10 = 4.23071E+00, bh11 =-6.10995E-01, bh12 = 1.95531E-02, - bh20 =-7.12527E+00, bh21 = 9.69160E-01, bh22 =-2.74255E-02, - bh30 = 2.69925E+00, bh31 =-3.63283E-01, bh32 = 9.55316E-03; - - static const G4double - al00 =-2.05398E+00, al01 = 2.38815E-02, al02 = 5.25483E-04, - al10 =-7.69748E-02, al11 =-6.91499E-02, al12 = 2.22453E-03, - al20 = 4.06463E-02, al21 =-1.01281E-02, al22 = 3.40919E-04; - - static const G4double - bl00 = 1.04133E+00, bl01 =-9.43291E-03, bl02 =-4.54758E-04, - bl10 = 1.19253E-01, bl11 = 4.07467E-02, bl12 =-1.30718E-03, - bl20 =-1.59391E-02, bl21 = 7.27752E-03, bl22 =-1.94405E-04; - - static const G4double MigdalConstant = classic_electr_radius - *electron_Compton_length - *electron_Compton_length/pi; - // const G4double LPMconstant = fine_structure_const*electron_mass_c2* - // electron_mass_c2/(8.*pi*hbarc) ; - G4double GammaEnergy ; - G4bool LPMOK = false ; - - aParticleChange.Initialize(trackData); - - //G4double LPMEnergy = LPMconstant*(aMaterial->GetRadlen()) ; - - const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); - const G4Material* aMaterial = couple->GetMaterial(); - const G4DynamicParticle* aDynamicParticle=trackData.GetDynamicParticle(); - G4double charge = aDynamicParticle->GetDefinition()->GetPDGCharge(); - - G4double KineticEnergy = aDynamicParticle->GetKineticEnergy(); - G4ParticleMomentum ParticleDirection = aDynamicParticle->GetMomentumDirection(); - - // Gamma production cut in this material - - G4double GammaEnergyCut = SecondaryEnergyThreshold(couple->GetIndex()); - if (GammaEnergyCut < MinThreshold) GammaEnergyCut = MinThreshold; - - // check against insufficient energy - if (KineticEnergy < GammaEnergyCut) - { - aParticleChange.ProposeMomentumDirection( ParticleDirection ); - aParticleChange.ProposeEnergy( KineticEnergy ); - aParticleChange.ProposeLocalEnergyDeposit (0.); - aParticleChange.SetNumberOfSecondaries(0); - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - } - - // select randomly one element constituing the material - G4Element* anElement = SelectRandomAtom(couple); - - // Extract Z factors for this Element - G4double lnZ = 3.*(anElement->GetIonisation()->GetlogZ3()); - G4double FZ = lnZ* (4.- 0.55*lnZ); - G4double ZZ = anElement->GetIonisation()->GetZZ3(); - - // limits of the energy sampling - G4double TotalEnergy = KineticEnergy + electron_mass_c2; - G4double xmin = GammaEnergyCut/KineticEnergy; - G4double epsilmin = GammaEnergyCut/TotalEnergy; - G4double epsilmax = KineticEnergy/TotalEnergy; - - // Migdal factor - G4double - MigdalFactor = (aMaterial->GetElectronDensity())*MigdalConstant - /(epsilmax*epsilmax); - - // - G4double x, epsil, greject, migdal, grejmax; - G4double U = log(KineticEnergy/electron_mass_c2), U2 = U*U; - - // - // sample the energy rate of the emitted gamma for electron kinetic energy > 1 MeV - // - - do { - if (KineticEnergy > 1.*MeV) - { - // parameters - G4double ah1 = ah10 + ZZ* (ah11 + ZZ* ah12), - ah2 = ah20 + ZZ* (ah21 + ZZ* ah22), - ah3 = ah30 + ZZ* (ah31 + ZZ* ah32); - - G4double bh1 = bh10 + ZZ* (bh11 + ZZ* bh12), - bh2 = bh20 + ZZ* (bh21 + ZZ* bh22), - bh3 = bh30 + ZZ* (bh31 + ZZ* bh32); - - G4double ah = 1. + (ah1*U2 + ah2*U + ah3) / (U2*U); - G4double bh = 0.75 + (bh1*U2 + bh2*U + bh3) / (U2*U); - - // limit of the screening variable - G4double screenfac = - 136.*electron_mass_c2/((anElement->GetIonisation()->GetZ3())*TotalEnergy); - G4double screenmin = screenfac*epsilmin/(1.-epsilmin); - - // Compute the maximum of the rejection function - G4double F1 = max(ScreenFunction1(screenmin) - FZ ,0.); - G4double F2 = max(ScreenFunction2(screenmin) - FZ ,0.); - grejmax = (F1 - epsilmin* (F1*ah - bh*epsilmin*F2))/(42.392 - FZ); - - // sample the energy rate of the emitted Gamma - G4double screenvar; - - - do { - - x = pow(xmin, G4UniformRand()); - epsil = x*KineticEnergy/TotalEnergy; - screenvar = screenfac*epsil/(1-epsil); - F1 = max(ScreenFunction1(screenvar) - FZ ,0.); - F2 = max(ScreenFunction2(screenvar) - FZ ,0.); - migdal = (1. + MigdalFactor)/(1. + MigdalFactor/(x*x)); - greject = migdal*(F1 - epsil* (ah*F1 - bh*epsil*F2))/(42.392 - FZ); - } while( greject < G4UniformRand()*grejmax ); - - } - - else - { - // sample the energy rate of the emitted gamma for electron kinetic energy < 1 MeV - // - // parameters - G4double al0 = al00 + ZZ* (al01 + ZZ* al02), - al1 = al10 + ZZ* (al11 + ZZ* al12), - al2 = al20 + ZZ* (al21 + ZZ* al22); - - G4double bl0 = bl00 + ZZ* (bl01 + ZZ* bl02), - bl1 = bl10 + ZZ* (bl11 + ZZ* bl12), - bl2 = bl20 + ZZ* (bl21 + ZZ* bl22); - - G4double al = al0 + al1*U + al2*U2; - G4double bl = bl0 + bl1*U + bl2*U2; - - // Compute the maximum of the rejection function - grejmax = max(1. + xmin* (al + bl*xmin), 1.+al+bl); - G4double xm = -al/(2.*bl); - if ((xmin < xm)&&(xm < 1.)) grejmax = max(grejmax, 1.+ xm* (al + bl*xm)); - - // sample the energy rate of the emitted Gamma - - do { x = pow(xmin, G4UniformRand()); - migdal = (1. + MigdalFactor)/(1. + MigdalFactor/(x*x)); - greject = migdal*(1. + x* (al + bl*x)); - } while( greject < G4UniformRand()*grejmax ); - } - - GammaEnergy = x*KineticEnergy; - - if(LPMflag) - { - // take into account the supression due to the LPM effect - if (G4UniformRand() <= SupressionFunction(aMaterial,KineticEnergy,GammaEnergy)) - LPMOK = true ; - } - else - LPMOK = true ; - - } while (!LPMOK) ; - - - //protection: DO NOT PRODUCE a gamma with energy 0. ! - if (GammaEnergy <= 0.) - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - - // - // angles of the emitted gamma. ( Z - axis along the parent particle) - // - // universal distribution suggested by L. Urban (Geant3 manual (1993) Phys211), - // derived from Tsai distribution (Rev Mod Phys 49,421(1977)) - - G4double u; - const G4double a1 = 0.625 , a2 = 3.*a1 , d = 27. ; - - if (9./(9.+d) > G4UniformRand()) u = - log(G4UniformRand()*G4UniformRand())/a1 ; - else u = - log(G4UniformRand()*G4UniformRand())/a2 ; - - G4double Teta = u*electron_mass_c2/TotalEnergy ; - G4double Phi = twopi * G4UniformRand() ; - G4double dirx = sin(Teta)*cos(Phi) , diry = sin(Teta)*sin(Phi) , dirz = cos(Teta) ; - - G4ThreeVector GammaDirection ( dirx, diry, dirz); - GammaDirection.rotateUz(ParticleDirection); - - // create G4DynamicParticle object for the Gamma - G4DynamicParticle* aGamma= new G4DynamicParticle (G4Gamma::Gamma(), - GammaDirection, GammaEnergy); - - aParticleChange.SetNumberOfSecondaries(1); - aParticleChange.AddSecondary(aGamma); - - // - // Update the incident particle - // - - G4double NewKinEnergy = KineticEnergy - GammaEnergy; - if (NewKinEnergy > 0.) - { - aParticleChange.ProposeMomentumDirection( ParticleDirection ); - aParticleChange.ProposeEnergy( NewKinEnergy ); - aParticleChange.ProposeLocalEnergyDeposit (0.); - } - else - { - aParticleChange.ProposeEnergy( 0. ); - aParticleChange.ProposeLocalEnergyDeposit (0.); - if (charge<0.) aParticleChange.ProposeTrackStatus(fStopAndKill); - else aParticleChange.ProposeTrackStatus(fStopButAlive); - } - - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4Element* G4eBremsstrahlung52::SelectRandomAtom(const G4MaterialCutsCouple* couple) const -{ - // select randomly 1 element within the material - - size_t index = couple->GetIndex(); - const G4Material* aMaterial = couple->GetMaterial(); - const G4int NumberOfElements = aMaterial->GetNumberOfElements(); - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - - G4double rval = G4UniformRand()*((*PartialSumSigma[index])[NumberOfElements-1]); - for ( G4int i=0; i < NumberOfElements; i++ ) - { - if (rval <= (*PartialSumSigma[index])[i]) return ((*theElementVector)[i]); - } - G4cout << " WARNING !!! - The Material '"<< aMaterial->GetName() - << "' has no elements, NULL pointer returned." << G4endl; - return 0; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - - -G4double G4eBremsstrahlung52::SupressionFunction(const G4Material* aMaterial, - G4double KineticEnergy,G4double GammaEnergy) -{ - // supression due to the LPM effect+polarisation of the medium/ - // supression due to the polarisation alone - const G4double MigdalConstant = classic_electr_radius* - electron_Compton_length* - electron_Compton_length/pi ; - - const G4double LPMconstant = fine_structure_const*electron_mass_c2* - electron_mass_c2/(8.*pi*hbarc) ; - G4double TotalEnergy,TotalEnergySquare,LPMEnergy,LPMGammaEnergyLimit, - LPMGammaEnergyLimit2,GammaEnergySquare,sp,s2lpm,supr,w,splim,Cnorm ; - - TotalEnergy = KineticEnergy+electron_mass_c2 ; - TotalEnergySquare = TotalEnergy*TotalEnergy ; - - LPMEnergy = LPMconstant*(aMaterial->GetRadlen()) ; - LPMGammaEnergyLimit = TotalEnergySquare/LPMEnergy ; - GammaEnergySquare = GammaEnergy*GammaEnergy ; - - LPMGammaEnergyLimit2 = LPMGammaEnergyLimit*LPMGammaEnergyLimit ; - splim = LPMGammaEnergyLimit2/(LPMGammaEnergyLimit2+MigdalConstant*TotalEnergySquare* - (aMaterial->GetElectronDensity())) ; - w = 1.+1./splim ; - - sp = GammaEnergySquare/(GammaEnergySquare+MigdalConstant*TotalEnergySquare* - (aMaterial->GetElectronDensity())) ; - if (LPMflag) - { - s2lpm = LPMEnergy*GammaEnergy/TotalEnergySquare; - if (s2lpm < 1.) - { - if ((1.-sp) < 1.e-6) w = s2lpm*(3.-sp); - else w = s2lpm*(1.+1./sp); - - Cnorm = 2./(sqrt(w*w+4.)-w) ; - supr = Cnorm*(sqrt(w*w+4.*s2lpm)-w)/2. ; - } - else supr = sp; - } - else supr = sp; - - supr /= sp; - return supr; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eBremsstrahlung52::PrintInfoDefinition() -{ - G4String comments = "Total cross sections from a NEW parametrisation" - " based on the EEDL data library. " - "\n Good description from 1 KeV to 100 GeV.\n" - " log scale extrapolation above 100 GeV \n" - " Gamma energy sampled from a parametrised formula."; - - G4cout << G4endl << GetProcessName() << ": " << comments - << "\n PhysicsTables from " - << G4BestUnit(LowerBoundLambda,"Energy") - << " to " << G4BestUnit(UpperBoundLambda,"Energy") - << " in " << NbinLambda << " bins. \n"; - G4cout << " WARNING: This process is obsolete and will be soon removed" - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/src/G4eBremsstrahlungModel.cc b/source/processes/electromagnetic/standard/src/G4eBremsstrahlungModel.cc index d1e7fc5570..da3814802b 100644 --- a/source/processes/electromagnetic/standard/src/G4eBremsstrahlungModel.cc +++ b/source/processes/electromagnetic/standard/src/G4eBremsstrahlungModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eBremsstrahlungModel.cc,v 1.37 2007/02/15 10:37:37 maire Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4eBremsstrahlungModel.cc,v 1.39 2007/05/23 08:47:35 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -81,18 +81,20 @@ using namespace std; G4eBremsstrahlungModel::G4eBremsstrahlungModel(const G4ParticleDefinition* p, const G4String& nam) : G4VEmModel(nam), - particle(0), - minThreshold(1.0*keV), - isElectron(true), - highKinEnergy(100.*TeV), - lowKinEnergy(1.0*keV), - probsup(1.0), - MigdalConstant(classic_electr_radius*electron_Compton_length*electron_Compton_length/pi), - LPMconstant(fine_structure_const*electron_mass_c2*electron_mass_c2/(4.*pi*hbarc)), - theLPMflag(true) + particle(0), + isElectron(true), + probsup(1.0), + MigdalConstant(classic_electr_radius*electron_Compton_length*electron_Compton_length/pi), + LPMconstant(fine_structure_const*electron_mass_c2*electron_mass_c2/(4.*pi*hbarc)), + theLPMflag(true), + isInitialised(false) { if(p) SetParticle(p); theGamma = G4Gamma::Gamma(); + minThreshold = 1.0*keV; + highKinEnergy= 100.*TeV; + lowKinEnergy = 1.0*keV; + highEnergyTh = DBL_MAX; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -159,11 +161,14 @@ void G4eBremsstrahlungModel::Initialise(const G4ParticleDefinition* p, } } } + if(isInitialised) return; + if(pParticleChange) fParticleChange = reinterpret_cast(pParticleChange); else fParticleChange = new G4ParticleChangeForLoss(); + isInitialised = true; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -645,11 +650,11 @@ G4DataVector* G4eBremsstrahlungModel::ComputePartialSumSigma( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4eBremsstrahlungModel::SampleSecondaries( - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double tmin, - G4double maxEnergy) +void G4eBremsstrahlungModel::SampleSecondaries(std::vector* vdp, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) // The emitted gamma energy is sampled using a parametrized formula // from L. Urban. // This parametrization is derived from : @@ -666,7 +671,7 @@ std::vector* G4eBremsstrahlungModel::SampleSecondaries( { G4double kineticEnergy = dp->GetKineticEnergy(); G4double tmax = min(maxEnergy, kineticEnergy); - if(tmin >= tmax) return 0; + if(tmin >= tmax) return; // // GEANT4 internal units. @@ -861,19 +866,31 @@ std::vector* G4eBremsstrahlungModel::SampleSecondaries( gammaDirection.rotateUz(direction); // create G4DynamicParticle object for the Gamma - std::vector* newp = new std::vector; G4DynamicParticle* g = new G4DynamicParticle(theGamma,gammaDirection, gammaEnergy); - newp->push_back(g); + vdp->push_back(g); G4double totMomentum = sqrt(kineticEnergy*(totalEnergy + electron_mass_c2)); G4ThreeVector dir = totMomentum*direction - gammaEnergy*gammaDirection; direction = dir.unit(); - fParticleChange->SetProposedMomentumDirection(direction); - fParticleChange->SetProposedKineticEnergy(kineticEnergy - gammaEnergy); + // energy of primary + G4double finalE = kineticEnergy - gammaEnergy; - return newp; + // stop tracking and create new secondary instead of primary + if(gammaEnergy > highEnergyTh) { + fParticleChange->ProposeTrackStatus(fStopAndKill); + fParticleChange->SetProposedKineticEnergy(0.0); + G4DynamicParticle* el = + new G4DynamicParticle(const_cast(particle), + direction, finalE); + vdp->push_back(el); + + // continue tracking + } else { + fParticleChange->SetProposedMomentumDirection(direction); + fParticleChange->SetProposedKineticEnergy(finalE); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/src/G4eCoulombScatteringModel.cc b/source/processes/electromagnetic/standard/src/G4eCoulombScatteringModel.cc index fb47a9acd0..af38ad46da 100644 --- a/source/processes/electromagnetic/standard/src/G4eCoulombScatteringModel.cc +++ b/source/processes/electromagnetic/standard/src/G4eCoulombScatteringModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eCoulombScatteringModel.cc,v 1.10 2006/10/26 17:36:17 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eCoulombScatteringModel.cc,v 1.11 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -176,11 +176,11 @@ G4double G4eCoulombScatteringModel::CalculateCrossSectionPerAtom( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4eCoulombScatteringModel::SampleSecondaries( - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double, - G4double) +void G4eCoulombScatteringModel::SampleSecondaries(std::vector*, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double, + G4double) { const G4Material* aMaterial = couple->GetMaterial(); const G4ParticleDefinition* p = dp->GetDefinition(); @@ -198,7 +198,7 @@ std::vector* G4eCoulombScatteringModel::SampleSecondaries( G4double a = 2.*ScreeningParameter(Z, q2, mom2, invbeta2); G4double costm = std::max(cosThetaMax, 1.0 - 0.5*q2Limit/mom2); - if(costm >= cosThetaMin) return 0; + if(costm >= cosThetaMin) return; G4double x = G4UniformRand(); G4double y = (a + 1.0 - cosThetaMin)/(cosThetaMin - costm); @@ -221,7 +221,7 @@ std::vector* G4eCoulombScatteringModel::SampleSecondaries( fParticleChange->ProposeMomentumDirection(newDirection); - return 0; + return; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4eIonisation.cc b/source/processes/electromagnetic/standard/src/G4eIonisation.cc index 6bb8c29f2e..2b5e86ff7b 100644 --- a/source/processes/electromagnetic/standard/src/G4eIonisation.cc +++ b/source/processes/electromagnetic/standard/src/G4eIonisation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eIonisation.cc,v 1.52 2007/01/18 12:17:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4eIonisation.cc,v 1.53 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -89,10 +89,6 @@ G4eIonisation::G4eIonisation(const G4String& name) isElectron(true), isInitialised(false) { - SetDEDXBinning(120); - SetLambdaBinning(120); - SetMinKinEnergy(0.1*keV); - SetMaxKinEnergy(100.0*TeV); SetStepFunction(0.2, 1*mm); SetIntegral(true); SetVerboseLevel(1); diff --git a/source/processes/electromagnetic/standard/src/G4eIonisation52.cc b/source/processes/electromagnetic/standard/src/G4eIonisation52.cc deleted file mode 100644 index 85e59655ea..0000000000 --- a/source/processes/electromagnetic/standard/src/G4eIonisation52.cc +++ /dev/null @@ -1,538 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4eIonisation52.cc,v 1.6 2006/10/16 15:26:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//--------------- G4eIonisation52 physics process -------------------------------- -// by Laszlo Urban, 20 March 1997 -//------------------------------------------------------------------------------ -// -// 07-04-98 remove 'tracking cut' of the ionizing particle, mma -// 04-09-98 new methods SetBining() PrintInfo() -// 07-09-98 Cleanup -// 02-02-99 correction inDoIt , L.Urban -// 10-02-00 modifications , new e.m. structure, L.Urban -// 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 09-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 13-08-01 new function ComputeRestrictedMeandEdx() (mma) -// 17-09-01 migration of Materials to pure STL (mma) -// 21-09-01 completion of RetrievePhysicsTable() (mma) -// 29-10-01 all static functions no more inlined (mma) -// 07-11-01 particleMass and Charge become local variables -// 26-03-02 change access to cuts in BuildLossTables (V.Ivanchenko) -// 16-01-03 Migrade to cut per region (V.Ivanchenko) -// 08-04-03 finalRange is region aware (V.Ivanchenko) -// 26-04-03 fix problems of retrieve tables (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 08-11-04 Remove of Store/Retrieve tables (V.Ivantchenko) -//------------------------------------------------------------------------------ - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4eIonisation52.hh" -#include "G4UnitsTable.hh" -#include "G4ProductionCutsTable.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eIonisation52::LowerBoundLambda = 1.*keV; -G4double G4eIonisation52::UpperBoundLambda = 100.*TeV; -G4int G4eIonisation52::NbinLambda = 100; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4eIonisation52::G4eIonisation52(const G4String& processName) - : G4VeEnergyLoss(processName), - theMeanFreePathTable(NULL) -{ - verboseLevel = -1; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4eIonisation52::~G4eIonisation52() -{ - if (theMeanFreePathTable) - {theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eIonisation52::SetLowerBoundLambda(G4double val) - {LowerBoundLambda = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eIonisation52::SetUpperBoundLambda(G4double val) - {UpperBoundLambda = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eIonisation52::SetNbinLambda(G4int n) - {NbinLambda = n;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eIonisation52::GetLowerBoundLambda() - {return LowerBoundLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eIonisation52::GetUpperBoundLambda() - {return UpperBoundLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4eIonisation52::GetNbinLambda() - {return NbinLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eIonisation52::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) -{ - if( !CutsWhereModified() && theLossTable) return; - - LowestKineticEnergy = GetLowerBoundEloss(); - HighestKineticEnergy = GetUpperBoundEloss(); - TotBin = GetNbinEloss(); - - BuildLossTable(aParticleType); - - if (&aParticleType==G4Electron::Electron()) - { - RecorderOfElectronProcess[CounterOfElectronProcess] = (*this).theLossTable; - CounterOfElectronProcess++; - } - else - { - RecorderOfPositronProcess[CounterOfPositronProcess] = (*this).theLossTable; - CounterOfPositronProcess++; - } - - BuildLambdaTable(aParticleType); - - BuildDEDXTable(aParticleType); - - if (&aParticleType==G4Electron::Electron()) PrintInfoDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eIonisation52::BuildLossTable(const G4ParticleDefinition& aParticleType) -{ - - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} - theLossTable = new G4PhysicsTable(numOfCouples); - - secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); - - // loop for materials - // - for (size_t J=0; JGetMaterialCutsCouple(J); - const G4Material* material= couple->GetMaterial(); - - // get electron cut in kinetic energy for the material - G4double DeltaThreshold = SecondaryEnergyThreshold(J); - - - // now comes the loop for the kinetic energy values - // - for (G4int i = 0; i < TotBin; i++) - { - G4double dEdx = ComputeRestrictedMeandEdx(aParticleType, - aVector->GetLowEdgeEnergy(i), - material, - DeltaThreshold); - if(1 < verboseLevel) { - G4cout << "Material= " << material->GetName() - << " E(MeV)= " << aVector->GetLowEdgeEnergy(i)/MeV - << " dEdx(MeV/mm)= " << dEdx*mm/MeV - << G4endl; - } - aVector->PutValue(i,dEdx); - } - theLossTable->insert(aVector); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eIonisation52::BuildLambdaTable(const G4ParticleDefinition& aParticleType) -{ - - if(0 < verboseLevel) { - G4cout << "G4eIonisation52::BuildLambdaTable() for process " - << GetProcessName() << " and particle " - << aParticleType.GetParticleName() << G4endl; - } - - //create table - // - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - if (theMeanFreePathTable) - { theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} - - theMeanFreePathTable = new G4PhysicsTable(numOfCouples); - - secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); - - // loop for materials - - for (size_t J=0 ; J < numOfCouples; J++) - { - - G4PhysicsLogVector* aVector = new G4PhysicsLogVector( - LowerBoundLambda, UpperBoundLambda, NbinLambda); - - // compute the (macroscopic) cross section first - const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(J); - const G4Material* material= couple->GetMaterial(); - - // get electron cut in kinetic energy for the material - G4double DeltaThreshold = SecondaryEnergyThreshold(J); - - const G4ElementVector* theElementVector = material->GetElementVector(); - const G4double* NbOfAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); - G4int NumberOfElements = material->GetNumberOfElements(); - - for (G4int i = 0 ; i < NbinLambda ; i++) - { - G4double LowEdgeEnergy = aVector->GetLowEdgeEnergy(i); - G4double SIGMA = 0.; - for (G4int iel=0; ielGetZ(), - DeltaThreshold); - } - - // mean free path = 1./macroscopic cross section - G4double Value = SIGMA > DBL_MIN ? 1./SIGMA : DBL_MAX; - aVector->PutValue(i, Value); - } - theMeanFreePathTable->insert(aVector); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eIonisation52::ComputeRestrictedMeandEdx ( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - const G4Material* material, - G4double DeltaThreshold) -{ - // calculate the dE/dx due to the ionization process (Geant4 internal units) - // Seltzer-Berger formula - // - G4double particleMass = aParticleType.GetPDGMass(); - - G4double ElectronDensity = material->GetElectronDensity(); - G4double Eexc = material->GetIonisation()->GetMeanExcitationEnergy(); - Eexc /= particleMass; G4double Eexcm2 = Eexc*Eexc; - - // for the lowenergy extrapolation - G4double Zeff = material->GetTotNbOfElectPerVolume()/ - material->GetTotNbOfAtomsPerVolume(); - G4double Th = 0.25*sqrt(Zeff)*keV; - G4double Tsav = 0.; - if (KineticEnergy < Th) {Tsav = KineticEnergy; KineticEnergy = Th;} - - G4double tau = KineticEnergy/particleMass; - G4double gamma = tau + 1., gamma2 = gamma*gamma, bg2 = tau*(tau+2.); - G4double beta2 = bg2/gamma2; - - G4double Tmax,d,dEdx; - - // electron - if (&aParticleType==G4Electron::Electron()) - { - Tmax = KineticEnergy/2.; - d = min(DeltaThreshold, Tmax)/particleMass; - dEdx = log(2.*(tau+2.)/Eexcm2)-1.-beta2 - + log((tau-d)*d)+tau/(tau-d) - + (0.5*d*d+(2.*tau+1.)*log(1.-d/tau))/gamma2; - } - - else //positron - { - Tmax = KineticEnergy; - d = min(DeltaThreshold, Tmax)/particleMass; - G4double d2=d*d/2., d3=d*d*d/3., d4=d*d*d*d/4.; - G4double y=1./(1.+gamma); - dEdx = log(2.*(tau+2.)/Eexcm2)+log(tau*d) - - beta2*(tau+2.*d-y*(3.*d2+y*(d-d3+y*(d2-tau*d3+d4))))/tau; - } - - //density correction - G4double Cden = material->GetIonisation()->GetCdensity(); - G4double Mden = material->GetIonisation()->GetMdensity(); - G4double Aden = material->GetIonisation()->GetAdensity(); - G4double X0den = material->GetIonisation()->GetX0density(); - G4double X1den = material->GetIonisation()->GetX1density(); - - const G4double twoln10 = 2.*log(10.); - G4double x = log(bg2)/twoln10; - G4double delta; - if (x < X0den) delta = 0.; - else {delta = twoln10*x - Cden; - if (x < X1den) delta += Aden*pow((X1den-x),Mden); - } - - //now you can compute the total ionization loss - dEdx -= delta; - dEdx *= twopi_mc2_rcl2*ElectronDensity/beta2; - if (dEdx <= 0.) dEdx = 0.; - - // low energy ? - const G4double Tl = 0.2*keV; - if (Tsav > 0.) - { - if (Tsav >= Tl) dEdx *= sqrt(KineticEnergy/Tsav); - else dEdx *= sqrt(KineticEnergy*Tsav)/Tl; - } - return dEdx; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eIonisation52::ComputeCrossSectionPerAtom( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - G4double AtomicNumber , - G4double DeltaThreshold) -{ - // calculates the cross section per atom (Geant4 internal units) - //(it is called for elements , AtomicNumber = Z ) - - G4double particleMass = aParticleType.GetPDGMass(); - G4double TotalEnergy = KineticEnergy + particleMass; - - G4double betasquare = KineticEnergy*(TotalEnergy+particleMass) - /(TotalEnergy*TotalEnergy); - G4double gamma = TotalEnergy/particleMass, gamma2 = gamma*gamma; - G4double x=DeltaThreshold/KineticEnergy, x2 = x*x; - - G4double MaxKineticEnergyTransfer; - if (&aParticleType==G4Electron::Electron()) - MaxKineticEnergyTransfer = 0.5*KineticEnergy; - else MaxKineticEnergyTransfer = KineticEnergy; - - - G4double TotalCrossSection = 0.; - if (MaxKineticEnergyTransfer > DeltaThreshold) - { - if (&aParticleType==G4Electron::Electron()) //Moller (e-e-) scattering - { - TotalCrossSection = (gamma-1.)*(gamma-1.)*(0.5-x)/gamma2 + 1./x - - 1./(1.-x)-(2.*gamma-1.)*log((1.-x)/x)/gamma2; - TotalCrossSection /= betasquare; - } - else //Bhabha (e+e-) scattering - { - G4double y=1./(1.+gamma), y2 =y*y, y12=1.-2.*y; - G4double b1=2.-y2, b2=y12*(3.+y2), b4=y12*y12*y12, b3=b4+y12*y12; - TotalCrossSection = (1./x-1.)/betasquare+b1*log(x)+b2*(1.-x) - - b3*(1.-x2)/2.+b4*(1.-x2*x)/3.; - } - TotalCrossSection *= (twopi_mc2_rcl2*AtomicNumber/KineticEnergy); - } - return TotalCrossSection ; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4eIonisation52::PostStepDoIt( const G4Track& trackData, - const G4Step& stepData) -{ - aParticleChange.Initialize(trackData); - - const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); - const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); - - G4double particleMass = aParticle->GetDefinition()->GetPDGMass(); - G4double Charge = aParticle->GetDefinition()->GetPDGCharge(); - G4double KineticEnergy = aParticle->GetKineticEnergy(); - G4double TotalEnergy = KineticEnergy + particleMass; - G4double Psquare = KineticEnergy*(TotalEnergy+particleMass); - G4double TotalMomentum = sqrt(Psquare); - G4ParticleMomentum ParticleDirection = aParticle->GetMomentumDirection(); - - // get kinetic energy cut for the electron - G4double DeltaThreshold = SecondaryEnergyThreshold(couple->GetIndex()); - - // some kinematics - G4double MaxKineticEnergyTransfer; - if (Charge < 0.) MaxKineticEnergyTransfer = 0.5*KineticEnergy; - else MaxKineticEnergyTransfer = KineticEnergy; - - // sampling kinetic energy of the delta ray - - if (MaxKineticEnergyTransfer <= DeltaThreshold) - // pathological case (should not happen, there is no change at all) - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - - - // normal case - G4double cc,y,y2,c2,b0,b1,b2,b3,b4,x,x1,grej,grejc; - - G4double tau = KineticEnergy/particleMass; - G4double gamma = tau+1., gamma2=gamma*gamma; - G4double xc = DeltaThreshold/KineticEnergy, xc1=1.-xc; - - if (Charge < 0.) // Moller (e-e-) scattering - { - b1=4./(9.*gamma2-10.*gamma+5.); - b2=tau*tau*b1; b3=(2.*gamma2+2.*gamma-1.)*b1; - cc=1.-2.*xc; - do { - x = xc/(1.-cc*G4UniformRand()); x1 = 1.-x; - grej = b2*x*x-b3*x/x1+b1*gamma2/(x1*x1); - } while (G4UniformRand()>grej); - } - else // Bhabha (e+e-) scattering - { - y=1./(gamma+1.); y2=y*y; cc=1.-2.*y; - b1=2.-y2; b2=cc*(3.+y2); - c2=cc*cc; b4=c2*cc; b3=c2+b4; - b0=gamma2/(gamma2-1.); - grejc=(((b4*xc-b3)*xc+b2)*xc-b1)*xc+b0; - do { - x = xc/(1.-xc1*G4UniformRand()); - grej = ((((b4*x-b3)*x+b2)*x-b1)*x+b0)/grejc; - } while (G4UniformRand()>grej); - } - - G4double DeltaKineticEnergy = x * KineticEnergy; - - // protection :do not produce a secondary with 0. kinetic energy ! - if (DeltaKineticEnergy <= 0.) - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - - G4double DeltaTotalMomentum = sqrt(DeltaKineticEnergy*(DeltaKineticEnergy + - 2.*electron_mass_c2 )); - - G4double costheta = DeltaKineticEnergy * (TotalEnergy + electron_mass_c2) - /(DeltaTotalMomentum * TotalMomentum); - - if (costheta < -1.) costheta = -1.; - if (costheta > +1.) costheta = +1.; - - // direction of the delta electron - - G4double phi = twopi * G4UniformRand(); - G4double sintheta = sqrt((1.+costheta)*(1.-costheta)); - G4double dirx = sintheta*cos(phi), diry = sintheta*sin(phi), dirz = costheta; - - G4ThreeVector DeltaDirection(dirx,diry,dirz); - DeltaDirection.rotateUz(ParticleDirection); - - // create G4DynamicParticle object for delta ray - - G4DynamicParticle* theDeltaRay = new G4DynamicParticle; - theDeltaRay->SetKineticEnergy( DeltaKineticEnergy ); - theDeltaRay->SetMomentumDirection( - DeltaDirection.x(),DeltaDirection.y(),DeltaDirection.z()); - theDeltaRay->SetDefinition(G4Electron::Electron()); - - // fill aParticleChange - // changed energy and momentum of the actual particle - G4double finalKineticEnergy = KineticEnergy - DeltaKineticEnergy; - - G4double Edep = 0.; - - if (finalKineticEnergy > MinKineticEnergy) - { - G4double finalPx = TotalMomentum*ParticleDirection.x() - - DeltaTotalMomentum*DeltaDirection.x(); - G4double finalPy = TotalMomentum*ParticleDirection.y() - - DeltaTotalMomentum*DeltaDirection.y(); - G4double finalPz = TotalMomentum*ParticleDirection.z() - - DeltaTotalMomentum*DeltaDirection.z(); - G4double finalMomentum = - sqrt(finalPx*finalPx+finalPy*finalPy+finalPz*finalPz); - finalPx /= finalMomentum; - finalPy /= finalMomentum; - finalPz /= finalMomentum; - - aParticleChange.ProposeMomentumDirection(finalPx, finalPy, finalPz); - } - else - { - Edep = finalKineticEnergy; - finalKineticEnergy = 0.; - if (Charge < 0.) aParticleChange.ProposeTrackStatus(fStopAndKill); - else aParticleChange.ProposeTrackStatus(fStopButAlive); - } - - aParticleChange.ProposeEnergy(finalKineticEnergy); - aParticleChange.SetNumberOfSecondaries(1); - aParticleChange.AddSecondary(theDeltaRay); - aParticleChange.ProposeLocalEnergyDeposit(Edep); - - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eIonisation52::PrintInfoDefinition() -{ - G4String comments = "delta cross sections from Moller+Bhabha. " - "Good description from 1 KeV to 100 GeV.\n" - " delta ray energy sampled from differential Xsection."; - - G4cout << G4endl << GetProcessName() << ": " << comments - << "\n PhysicsTables from " - << G4BestUnit(LowerBoundLambda,"Energy") - << " to " << G4BestUnit(UpperBoundLambda,"Energy") - << " in " << NbinLambda << " bins." - << "\n Step function: finalRange(mm)= " << finalRange - << ", dRoverRange= " << dRoverRange - << G4endl; - G4cout << " WARNING: This process is obsolete and will be soon removed" - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4eeToTwoGammaModel.cc b/source/processes/electromagnetic/standard/src/G4eeToTwoGammaModel.cc index 5bbb0ec44a..604df37ece 100644 --- a/source/processes/electromagnetic/standard/src/G4eeToTwoGammaModel.cc +++ b/source/processes/electromagnetic/standard/src/G4eeToTwoGammaModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4eeToTwoGammaModel.cc,v 1.12 2006/10/20 08:59:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4eeToTwoGammaModel.cc,v 1.14 2007/05/23 08:47:35 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -70,10 +70,12 @@ //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... #include "G4eeToTwoGammaModel.hh" +#include "G4TrackStatus.hh" #include "G4Electron.hh" #include "G4Positron.hh" #include "G4Gamma.hh" #include "Randomize.hh" +#include "G4ParticleChangeForGamma.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -82,7 +84,8 @@ using namespace std; G4eeToTwoGammaModel::G4eeToTwoGammaModel(const G4ParticleDefinition*, const G4String& nam) : G4VEmModel(nam), - pi_rcl2(pi*classic_electr_radius*classic_electr_radius) + pi_rcl2(pi*classic_electr_radius*classic_electr_radius), + isInitialised(false) { theGamma = G4Gamma::Gamma(); } @@ -96,7 +99,18 @@ G4eeToTwoGammaModel::~G4eeToTwoGammaModel() void G4eeToTwoGammaModel::Initialise(const G4ParticleDefinition*, const G4DataVector&) -{} +{ + if(isInitialised) return; + + if(pParticleChange) + fParticleChange = + reinterpret_cast(pParticleChange); + else + fParticleChange = new G4ParticleChangeForGamma(); + + isInitialised = true; +} + //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... G4double G4eeToTwoGammaModel::ComputeCrossSectionPerElectron( @@ -148,13 +162,12 @@ G4double G4eeToTwoGammaModel::CrossSectionPerVolume( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -vector* G4eeToTwoGammaModel::SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle* dp, - G4double, - G4double) +void G4eeToTwoGammaModel::SampleSecondaries(vector* vdp, + const G4MaterialCutsCouple*, + const G4DynamicParticle* dp, + G4double, + G4double) { - vector* vdp = new vector; G4double PositKinEnergy = dp->GetKineticEnergy(); // Case at rest @@ -244,7 +257,8 @@ vector* G4eeToTwoGammaModel::SampleSecondaries( << Phot2Direction << G4endl; */ } - return vdp; + fParticleChange->SetProposedKineticEnergy(0.); + fParticleChange->ProposeTrackStatus(fStopAndKill); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/standard/src/G4eplusAnnihilation.cc b/source/processes/electromagnetic/standard/src/G4eplusAnnihilation.cc index 457134cb1c..eccc7d0105 100644 --- a/source/processes/electromagnetic/standard/src/G4eplusAnnihilation.cc +++ b/source/processes/electromagnetic/standard/src/G4eplusAnnihilation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4eplusAnnihilation.cc,v 1.26 2006/09/14 10:27:19 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/standard/src/G4eplusAnnihilation52.cc b/source/processes/electromagnetic/standard/src/G4eplusAnnihilation52.cc deleted file mode 100644 index 9424d6713a..0000000000 --- a/source/processes/electromagnetic/standard/src/G4eplusAnnihilation52.cc +++ /dev/null @@ -1,501 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4eplusAnnihilation52.cc,v 1.3 2006/10/16 15:26:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// 10-01-97, crossection table + mean free path table, M.Maire -// 17-03-97, merge 'in fly' and 'at rest', M.Maire -// 23-03-97, protection in BuildPhysicsTable, M.Maire -// 31-08-98, new methods SetBining() and PrintInfo() -// 22-02-01, postStepDoIt: fStopButAlive instead of kineEnergy == 0. -// 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 13-07-01, DoIt: suppression of production cut for the gamma (mma) -// 06-08-01, new methods Store/Retrieve PhysicsTable (mma) -// 06-08-01, BuildThePhysicsTable() called from constructor (mma) -// 17-09-01, migration of Materials to pure STL (mma) -// 20-09-01, DoIt: fminimalEnergy = 1*eV (mma) -// 01-10-01, come back to BuildPhysicsTable(const G4ParticleDefinition&) -// 08-11-04, Remove of Store/Retrieve tables (V.Ivantchenko) -// 04-05-05, Add 52 to class name (V.Ivanchenko) -// -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4eplusAnnihilation52.hh" -#include "G4UnitsTable.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4eplusAnnihilation52::G4eplusAnnihilation52(const G4String& processName, - G4ProcessType type):G4VRestDiscreteProcess (processName, type), - theCrossSectionTable(NULL), - theMeanFreePathTable(NULL), - LowestEnergyLimit (10*keV), - HighestEnergyLimit(10*TeV), - NumbBinTable(100), - fminimalEnergy(1*eV) -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -// destructor - -G4eplusAnnihilation52::~G4eplusAnnihilation52() -{ - if (theCrossSectionTable) { - theCrossSectionTable->clearAndDestroy(); - delete theCrossSectionTable; - } - - if (theMeanFreePathTable) { - theMeanFreePathTable->clearAndDestroy(); - delete theMeanFreePathTable; - } -} -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4eplusAnnihilation52::IsApplicable( const G4ParticleDefinition& particle) -{ - return ( &particle == G4Positron::Positron() ); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -void G4eplusAnnihilation52::SetPhysicsTableBining( - G4double lowE, G4double highE, G4int nBins) -{ - LowestEnergyLimit = lowE; HighestEnergyLimit = highE; NumbBinTable = nBins; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eplusAnnihilation52::BuildPhysicsTable(const G4ParticleDefinition& ) -{ - // Build total cross section and mean free path tables - - G4double LowEdgeEnergy, Value; - G4PhysicsLogVector* ptrVector; - - // Build cross section per atom tables for the e+e- Annihilation52 - - if (theCrossSectionTable) { - theCrossSectionTable->clearAndDestroy(); delete theCrossSectionTable;} - - theCrossSectionTable = new G4PhysicsTable( G4Element::GetNumberOfElements()); - const G4ElementTable* theElementTable = G4Element::GetElementTable() ; - G4double AtomicNumber; - size_t J; - - for ( J=0 ; J < G4Element::GetNumberOfElements(); J++ ) - { - //create physics vector then fill it .... - ptrVector = new G4PhysicsLogVector(LowestEnergyLimit, HighestEnergyLimit, - NumbBinTable ); - AtomicNumber = (*theElementTable)[J]->GetZ(); - - for ( G4int i = 0 ; i < NumbBinTable ; i++ ) - { - LowEdgeEnergy = ptrVector->GetLowEdgeEnergy(i); - Value = ComputeCrossSectionPerAtom( LowEdgeEnergy, AtomicNumber); - ptrVector->PutValue( i , Value ) ; - } - - theCrossSectionTable->insertAt( J , ptrVector ); - - } - - // Build mean free path table for the e+e- Annihilation52 - - if (theMeanFreePathTable) { - theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} - - theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); - const G4MaterialTable* theMaterialTable = G4Material::GetMaterialTable(); - G4Material* material; - - for ( J=0 ; J < G4Material::GetNumberOfMaterials(); J++ ) - { - //create physics vector then fill it .... - ptrVector = new G4PhysicsLogVector(LowestEnergyLimit, HighestEnergyLimit, - NumbBinTable ); - material = (*theMaterialTable)[J]; - - for ( G4int i = 0 ; i < NumbBinTable ; i++ ) - { - LowEdgeEnergy = ptrVector->GetLowEdgeEnergy(i); - Value = ComputeMeanFreePath( LowEdgeEnergy, material); - ptrVector->PutValue( i , Value ); - } - - theMeanFreePathTable->insertAt( J , ptrVector ); - - } - - PrintInfoDefinition(); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eplusAnnihilation52::ComputeCrossSectionPerAtom - (G4double PositKinEnergy, G4double AtomicNumber) - -// Calculates the cross section per atom of Annihilation52 into two photons -// from the Heilter formula. -// GEANT4 internal units. - -{ - static const G4double pi_rcl2 = pi*classic_electr_radius*classic_electr_radius; - - G4double gama = 1. + PositKinEnergy/electron_mass_c2; - G4double gama2 = gama*gama, sqgama2 = sqrt(gama2-1.); - - return pi_rcl2*AtomicNumber - *((gama2+4*gama+1.)*log(gama+sqgama2) - (gama+3.)*sqgama2) - /((gama2-1.)*(gama+1.)); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eplusAnnihilation52::ComputeMeanFreePath( G4double PositKinEnergy, - G4Material* aMaterial) - -// returns the positron mean free path in GEANT4 internal units - -{ - const G4ElementVector* theElementVector = aMaterial->GetElementVector(); - const G4double* NbOfAtomsPerVolume = aMaterial->GetVecNbOfAtomsPerVolume(); - - G4double SIGMA = 0 ; - - for (size_t elm=0 ; elm < aMaterial->GetNumberOfElements() ; elm++ ) - { - SIGMA += NbOfAtomsPerVolume[elm] * - ComputeCrossSectionPerAtom(PositKinEnergy, - (*theElementVector)[elm]->GetZ()); - } - - return SIGMA > DBL_MIN ? 1./SIGMA : DBL_MAX; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eplusAnnihilation52::GetCrossSectionPerAtom( - G4DynamicParticle* aDynamicPositron, - G4Element* anElement) - -// return the total cross section per atom in GEANT4 internal units - -{ - G4double crossSection; - G4double PositronEnergy = aDynamicPositron->GetKineticEnergy(); - G4bool isOutRange ; - - if (PositronEnergy > HighestEnergyLimit) - crossSection = 0. ; - else { - if (PositronEnergy < LowestEnergyLimit) PositronEnergy = 1.01*LowestEnergyLimit; - crossSection = (*theCrossSectionTable)(anElement->GetIndex())-> - GetValue( PositronEnergy, isOutRange ); - } - - return crossSection; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eplusAnnihilation52::GetMeanFreePath(const G4Track& aTrack, - G4double, - G4ForceCondition*) - -// returns the positron mean free path in GEANT4 internal units - -{ - const G4DynamicParticle* aDynamicPositron = aTrack.GetDynamicParticle(); - G4double PositronEnergy = aDynamicPositron->GetKineticEnergy(); - G4Material* aMaterial = aTrack.GetMaterial(); - - G4double MeanFreePath; - G4bool isOutRange ; - - if (PositronEnergy > HighestEnergyLimit) MeanFreePath = DBL_MAX; - else - { - if (PositronEnergy < LowestEnergyLimit) - PositronEnergy = 1.01*LowestEnergyLimit; - MeanFreePath = (*theMeanFreePathTable)(aMaterial->GetIndex())-> - GetValue( PositronEnergy, isOutRange ); - } - - return MeanFreePath; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4eplusAnnihilation52::GetMeanLifeTime(const G4Track&, - G4ForceCondition*) - -// returns the Annihilation52 mean life time in GEANT4 internal units - -{ - return 0.0; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - - -G4VParticleChange* G4eplusAnnihilation52::PostStepDoIt(const G4Track& aTrack, - const G4Step& ) -// -// The secondaries Gamma energies are sampled using the Heitler cross section. -// -// A modified version of the random number techniques of Butcher & Messel -// is used (Nuc Phys 20(1960),15). -// -// GEANT4 internal units. -// -// Note 1: The initial electron is assumed free and at rest. -// -// Note 2: The Annihilation52 processes producing one or more than two photons are -// ignored, as negligible compared to the two photons process. - -{ - aParticleChange.Initialize(aTrack); - - const G4DynamicParticle* aDynamicPositron = aTrack.GetDynamicParticle(); - G4double PositKinEnergy = aDynamicPositron->GetKineticEnergy(); - G4ParticleMomentum PositDirection = aDynamicPositron->GetMomentumDirection(); - - aParticleChange.Initialize(aTrack); - - // Do not make anything if particle is stopped, the Annihilation52 then - // should be performed by the AtRestDoIt! - if (aTrack.GetTrackStatus() == fStopButAlive || PositKinEnergy == 0.0) - return &aParticleChange; - - G4double gamam1 = PositKinEnergy/electron_mass_c2; - G4double gama = gamam1+1. , gamap1 = gamam1+2.; - G4double sqgrate = sqrt(gamam1/gamap1)/2. , sqg2m1 = sqrt(gamam1*gamap1); - - // limits of the energy sampling - G4double epsilmin = 0.5 - sqgrate , epsilmax = 0.5 + sqgrate; - G4double epsilqot = epsilmax/epsilmin; - - // - // sample the energy rate of the created gammas - // - G4double epsil, greject; - - do { - epsil = epsilmin*pow(epsilqot,G4UniformRand()); - greject = 1. - epsil + (2*gama*epsil-1.)/(epsil*gamap1*gamap1); - } while( greject < G4UniformRand() ); - - // - // scattered Gamma angles. ( Z - axis along the parent positron) - // - - G4double cost = (epsil*gamap1-1.)/(epsil*sqg2m1); - G4double sint = sqrt((1.+cost)*(1.-cost)); - G4double phi = twopi * G4UniformRand(); - - G4double dirx = sint*cos(phi) , diry = sint*sin(phi) , dirz = cost; - - // - // kinematic of the created pair - // - - aParticleChange.SetNumberOfSecondaries(2); - G4double localEnergyDeposit = 0.; - - G4double TotalAvailableEnergy = PositKinEnergy + 2*electron_mass_c2; - G4double Phot1Energy = epsil*TotalAvailableEnergy; - if (Phot1Energy > fminimalEnergy) { - G4ThreeVector Phot1Direction (dirx, diry, dirz); - Phot1Direction.rotateUz(PositDirection); - // create G4DynamicParticle object for the particle1 - G4DynamicParticle* aParticle1= new G4DynamicParticle (G4Gamma::Gamma(), - Phot1Direction, Phot1Energy); - aParticleChange.AddSecondary(aParticle1); - } - else localEnergyDeposit += Phot1Energy; - - G4double Phot2Energy =(1.-epsil)*TotalAvailableEnergy; - if (Phot2Energy > fminimalEnergy) { - G4double Eratio= Phot1Energy/Phot2Energy; - G4double PositP= sqrt(PositKinEnergy*(PositKinEnergy+2.*electron_mass_c2)); - G4ThreeVector Phot2Direction (-dirx*Eratio, -diry*Eratio, - (PositP-dirz*Phot1Energy)/Phot2Energy); - Phot2Direction.rotateUz(PositDirection); - // create G4DynamicParticle object for the particle2 - G4DynamicParticle* aParticle2= new G4DynamicParticle (G4Gamma::Gamma(), - Phot2Direction, Phot2Energy); - aParticleChange.AddSecondary(aParticle2); - } - else localEnergyDeposit += Phot2Energy; - - aParticleChange.ProposeLocalEnergyDeposit(localEnergyDeposit); - - // - // Kill the incident positron - // - - aParticleChange.ProposeEnergy(0.); - aParticleChange.ProposeTrackStatus(fStopAndKill); - - return &aParticleChange; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4eplusAnnihilation52::AtRestDoIt(const G4Track& aTrack, - const G4Step& ) -// -// Performs the e+ e- Annihilation52 when both particles are assumed at rest. -// It generates two back to back photons with energy = electron_mass. -// The angular distribution is isotropic. -// GEANT4 internal units -// -// Note : Effects due to binding of atomic electrons are negliged. - -{ - aParticleChange.Initialize(aTrack); - - aParticleChange.SetNumberOfSecondaries(2); - - G4double cosTeta = 2*G4UniformRand()-1. , sinTeta = sqrt(1.-cosTeta*cosTeta); - G4double Phi = twopi * G4UniformRand(); - G4ThreeVector Direction (sinTeta*cos(Phi), sinTeta*sin(Phi), cosTeta); - - aParticleChange.AddSecondary( new G4DynamicParticle (G4Gamma::Gamma(), - Direction, electron_mass_c2) ); - aParticleChange.AddSecondary( new G4DynamicParticle (G4Gamma::Gamma(), - -Direction, electron_mass_c2) ); - - aParticleChange.ProposeLocalEnergyDeposit(0.); - - // Kill the incident positron - // - aParticleChange.ProposeTrackStatus(fStopAndKill); - - return &aParticleChange; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4bool G4eplusAnnihilation52::StorePhysicsTable(const G4ParticleDefinition* particle, - const G4String& directory, - G4bool ascii) -{ - G4String filename; - - // store cross section table - filename = GetPhysicsTableFileName(particle,directory,"CrossSection",ascii); - if ( !theCrossSectionTable->StorePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theCrossSectionTable->StorePhysicsTable in " << filename - << G4endl; - return false; - } - - // store mean free path table - filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - if ( !theMeanFreePathTable->StorePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theMeanFreePathTable->StorePhysicsTable in " << filename - << G4endl; - return false; - } - - G4cout << GetProcessName() << " for " << particle->GetParticleName() - << ": Success to store the PhysicsTables in " - << directory << G4endl; - return true; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -/* -G4bool G4eplusAnnihilation52::RetrievePhysicsTable(const G4ParticleDefinition* particle, - const G4String& directory, - G4bool ascii) -{ - // delete theCrossSectionTable and theMeanFreePathTable - if (theCrossSectionTable != 0) { - theCrossSectionTable->clearAndDestroy(); - delete theCrossSectionTable; - } - if (theMeanFreePathTable != 0) { - theMeanFreePathTable->clearAndDestroy(); - delete theMeanFreePathTable; - } - - G4String filename; - - // retreive cross section table - filename = GetPhysicsTableFileName(particle,directory,"CrossSection",ascii); - theCrossSectionTable = new G4PhysicsTable(G4Element::GetNumberOfElements()); - if ( !theCrossSectionTable->RetrievePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theCrossSectionTable->RetrievePhysicsTable in " << filename - << G4endl; - return false; - } - - // retreive mean free path table - filename = GetPhysicsTableFileName(particle,directory,"MeanFreePath",ascii); - theMeanFreePathTable = new G4PhysicsTable(G4Material::GetNumberOfMaterials()); - if ( !theMeanFreePathTable->RetrievePhysicsTable(filename, ascii) ){ - G4cout << " FAIL theMeanFreePathTable->RetrievePhysicsTable in " << filename - << G4endl; - return false; - } - - G4cout << GetProcessName() << " for " << particle->GetParticleName() - << ": Success to retrieve the PhysicsTables from " - << directory << G4endl; - return true; -} -*/ -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4eplusAnnihilation52::PrintInfoDefinition() -{ - G4String comments = "Total cross section from Heilter formula" - "(Annihilation52 into 2 photons).\n"; - comments += " gamma energies sampled according Heitler"; - - G4cout << G4endl << GetProcessName() << ": " << comments - << "\n PhysicsTables from " - << G4BestUnit(LowestEnergyLimit ,"Energy") - << " to " << G4BestUnit(HighestEnergyLimit,"Energy") - << " in " << NumbBinTable << " bins. \n"; - G4cout << " WARNING: This process is obsolete and will be soon removed" - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4hIonisation.cc b/source/processes/electromagnetic/standard/src/G4hIonisation.cc index 62adfbf789..3d00825396 100644 --- a/source/processes/electromagnetic/standard/src/G4hIonisation.cc +++ b/source/processes/electromagnetic/standard/src/G4hIonisation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4hIonisation.cc,v 1.68 2007/02/23 14:54:00 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4hIonisation.cc,v 1.69 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -106,10 +106,6 @@ G4hIonisation::G4hIonisation(const G4String& name) theBaseParticle(0), isInitialised(false) { - SetDEDXBinning(120); - SetLambdaBinning(120); - SetMinKinEnergy(0.1*keV); - SetMaxKinEnergy(100.0*TeV); SetStepFunction(0.2, 1*mm); SetIntegral(true); SetVerboseLevel(1); diff --git a/source/processes/electromagnetic/standard/src/G4hIonisation52.cc b/source/processes/electromagnetic/standard/src/G4hIonisation52.cc deleted file mode 100644 index 5e9a1aac54..0000000000 --- a/source/processes/electromagnetic/standard/src/G4hIonisation52.cc +++ /dev/null @@ -1,623 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4hIonisation52.cc,v 1.6 2006/10/16 15:26:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -//---------------- G4hIonisation52 physics process ------------------------------- -// by Laszlo Urban, 30 May 1997 -//------------------------------------------------------------------------------ -// -// corrected by L.Urban on 24/09/97 -// several bugs corrected by L.Urban on 13/01/98 -// 07-04-98 remove 'tracking cut' of the ionizing particle, mma -// 22-10-98 cleanup L.Urban -// 02-02-99 bugs fixed , L.Urban -// 29-07-99 correction in BuildLossTable for low energy, L.Urban -// 10-02-00 modifications , new e.m. structure, L.Urban -// 10-08-00 V.Ivanchenko change BuildLambdaTable, in order to -// simulate energy losses of ions; correction to -// cross section for particles with spin 1 is inserted as well -// 28-05-01 V.Ivanchenko minor changes to provide ANSI -wall compilation -// 10-08-01 new methods Store/Retrieve PhysicsTable (mma) -// 14-08-01 new function ComputeRestrictedMeandEdx() + 'cleanup' (mma) -// 29-08-01 PostStepDoIt: correction for spin 1/2 (instead of 1) (mma) -// 17-09-01 migration of Materials to pure STL (mma) -// 25-09-01 completion of RetrievePhysicsTable() (mma) -// 29-10-01 all static functions no more inlined -// 08-11-01 Charge renamed zparticle; added to the dedx -// 27-03-02 Bug fix in scaling of lambda table (V.Ivanchenko) -// 09-04-02 Update calculation of tables for GenericIons (V.Ivanchenko) -// 10-06-02 bug fixed for stopping hadrons (V.Ivanchenko) -// 15-01-03 Migrade to cut per region (V.Ivanchenko) -// 10-03-03 Use SubType for GenericIons (V.Ivanchenko) -// 07-04-03 Fix problem of several runs (V.Ivanchenko) -// 08-04-03 finalRange is region aware (V.Ivanchenko) -// 17-04-03 fix problem of hadron tests (V.Ivanchenko) -// 26-04-03 fix problems of retrieve tables (V.Ivanchenko) -// 08-08-03 This class is frozen at the release 5.2 (V.Ivanchenko) -// 08-11-04 Remove of Store/Retrieve tables (V.Ivantchenko) -// -//------------------------------------------------------------------------------ - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -#include "G4hIonisation52.hh" -#include "G4ProcessManager.hh" -#include "G4UnitsTable.hh" -#include "G4EnergyLossTables.hh" -#include "G4ProductionCutsTable.hh" - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4hIonisation52::LowerBoundLambda = 1.*keV; -G4double G4hIonisation52::UpperBoundLambda = 100.*TeV; -G4int G4hIonisation52::NbinLambda = 100; - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -using namespace std; - -G4hIonisation52::G4hIonisation52(const G4String& processName) - : G4VhEnergyLoss(processName), - theMeanFreePathTable(0), - Tmincut(1*keV) -{ - verboseLevel = 0; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4hIonisation52::~G4hIonisation52() -{ - if (theMeanFreePathTable) { - theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4hIonisation52::SetLowerBoundLambda(G4double val) - {LowerBoundLambda = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4hIonisation52::SetUpperBoundLambda(G4double val) - {UpperBoundLambda = val;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4hIonisation52::SetNbinLambda(G4int n) - {NbinLambda = n;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4hIonisation52::GetLowerBoundLambda() - {return LowerBoundLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4hIonisation52::GetUpperBoundLambda() - {return UpperBoundLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4int G4hIonisation52::GetNbinLambda() - {return NbinLambda;} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4hIonisation52::BuildPhysicsTable(const G4ParticleDefinition& aParticleType) -// just call BuildLossTable+BuildLambdaTable -{ - - if(verboseLevel > 0) { - G4cout << "G4hIonisation52::BuildPhysicsTable for " - << aParticleType.GetParticleName() - << " mass(MeV)= " << aParticleType.GetPDGMass()/MeV - << " charge= " << aParticleType.GetPDGCharge()/eplus - << " type= " << aParticleType.GetParticleType() - << G4endl; - - if(verboseLevel > 1) { - G4cout << " MFPtable= " << theMeanFreePathTable - << " DEDXtable= " << theDEDXpTable - << " iniMass= " << initialMass - << G4endl; - } - } - - if(aParticleType.GetParticleType() == "nucleus" && - aParticleType.GetParticleName() != "GenericIon" && - aParticleType.GetParticleSubType() == "generic") - { - - G4EnergyLossTables::Register(&aParticleType, - theDEDXpTable, - theRangepTable, - theInverseRangepTable, - theLabTimepTable, - theProperTimepTable, - LowestKineticEnergy, HighestKineticEnergy, - proton_mass_c2/aParticleType.GetPDGMass(), - TotBin); - - return; - } - - // get bining from EnergyLoss - LowestKineticEnergy = GetLowerBoundEloss(); - HighestKineticEnergy = GetUpperBoundEloss(); - TotBin = GetNbinEloss(); - const G4ParticleDefinition* theProton = G4Proton::Proton(); - G4bool makeTables = false; - - if (aParticleType.GetPDGCharge() > 0.) - { - if( CutsWhereModified() || !theDEDXpTable ) - { - BuildLossTable(*theProton); - RecorderOfpProcess[0] = (*this).theLossTable; -// CounterOfpProcess++; - makeTables = true; - } - } - else - { - if( CutsWhereModified() || !theDEDXpbarTable ) - { - BuildLossTable(*(G4AntiProton::AntiProton())) ; - RecorderOfpProcess[0] = (*this).theLossTable; -// CounterOfpbarProcess++; - makeTables = true; - } - } - - BuildLambdaTable(aParticleType); - - if( makeTables ) BuildDEDXTable(aParticleType); - - if(2 < verboseLevel) { - G4cout << "MeanFreePathTable is built for " - << aParticleType.GetParticleName() << G4endl; - G4cout << (*theMeanFreePathTable) << G4endl; - } - - - if (&aParticleType == theProton) PrintInfoDefinition(); - -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4hIonisation52::BuildLossTable(const G4ParticleDefinition& aParticleType) -{ - if(0 < verboseLevel) { - G4cout << "G4hIonisation52::BuildLossTable() for process " - << GetProcessName() << " and particle " - << aParticleType.GetParticleName() << G4endl; - } - - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - if (theLossTable) {theLossTable->clearAndDestroy(); delete theLossTable;} - theLossTable = new G4PhysicsTable(numOfCouples); - - secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); - - // loop for materials - // - for (size_t J=0; JGetMaterialCutsCouple(J); - const G4Material* material= couple->GetMaterial(); - - // get electron cut in kinetic energy for the material - G4double DeltaThreshold = SecondaryEnergyThreshold(J); - - // now comes the loop for the kinetic energy values - // - for (G4int i = 0 ; i < TotBin ; i++) - { - G4double dEdx = ComputeRestrictedMeandEdx(aParticleType, - aVector->GetLowEdgeEnergy(i), - material, - DeltaThreshold); - aVector->PutValue(i,dEdx); - } - theLossTable->insert(aVector); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4hIonisation52::BuildLambdaTable(const G4ParticleDefinition& aParticleType) -{ - - if(0 < verboseLevel) { - G4cout << "G4hIonisation52::BuildLambdaTable() for process " - << GetProcessName() << " and particle " - << aParticleType.GetParticleName() << G4endl; - } - - //create table - // - const G4ProductionCutsTable* theCoupleTable= - G4ProductionCutsTable::GetProductionCutsTable(); - size_t numOfCouples = theCoupleTable->GetTableSize(); - - if (theMeanFreePathTable) - {theMeanFreePathTable->clearAndDestroy(); delete theMeanFreePathTable;} - - theMeanFreePathTable = new G4PhysicsTable(numOfCouples); - - // get electron cut in kinetic energy - secondaryEnergyCuts = theCoupleTable->GetEnergyCutsVector(1); - - // loop for materials - - for (size_t J=0 ; J < numOfCouples; J++) - { - //create physics vector then fill it .... - G4PhysicsLogVector* aVector = new G4PhysicsLogVector( - LowerBoundLambda,UpperBoundLambda,NbinLambda); - - // compute the (macroscopic) cross section first - const G4MaterialCutsCouple* couple = theCoupleTable->GetMaterialCutsCouple(J); - const G4Material* material= couple->GetMaterial(); - - // get electron cut in kinetic energy for the material - G4double DeltaThreshold = SecondaryEnergyThreshold(J); - - const G4ElementVector* theElementVector = material->GetElementVector(); - const G4double* NbOfAtomsPerVolume = material->GetVecNbOfAtomsPerVolume(); - G4int NumberOfElements = material->GetNumberOfElements(); - - if(1 < verboseLevel) { - G4cout << "### For material " << material->GetName() - << " Tcut(MeV)= " << DeltaThreshold/MeV - << " Tmin(MeV)= " << LowerBoundLambda/MeV - << " Tmax(MeV)= " << UpperBoundLambda/MeV - << " nbins= " << NbinLambda - << G4endl; - } - - - for ( G4int i = 0 ; i < NbinLambda ; i++ ) - { - G4double LowEdgeEnergy = aVector->GetLowEdgeEnergy(i); - G4double sigma = 0.; - for (G4int iel=0; ielGetZ(), - DeltaThreshold); - } - - // mean free path = 1./macroscopic cross section - G4double Value = sigma > DBL_MIN ? 1./sigma : DBL_MAX; - aVector->PutValue(i, Value) ; - } - theMeanFreePathTable->insert(aVector); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4hIonisation52::ComputeRestrictedMeandEdx ( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - const G4Material* material, - G4double DeltaThreshold) -{ - // calculate the dE/dx due to the ionization process (Geant4 internal units) - // Bethe-Bloch formula - // - G4double particleMass = proton_mass_c2; - - G4double ElectronDensity = material->GetElectronDensity(); - G4double Eexc = material->GetIonisation()->GetMeanExcitationEnergy(); - G4double Eexc2 = Eexc*Eexc; - - G4double tau = KineticEnergy/particleMass; - G4double gamma = tau + 1., bg2 = tau*(tau+2.), beta2 = bg2/(gamma*gamma); - G4double RateMass = electron_mass_c2/particleMass; - G4double Tmax=2.*electron_mass_c2*bg2/(1.+2.*gamma*RateMass+RateMass*RateMass); - - G4double taul = material->GetIonisation()->GetTaul(); - - G4double dEdx = 0.; - // - // high energy part , Bethe-Bloch formula - // - if (tau > taul) - { - G4double rcut = min(DeltaThreshold/Tmax, 1.); - dEdx = log(2.*electron_mass_c2*bg2*Tmax/Eexc2) - +log(rcut)-(1.+rcut)*beta2; - - //density correction - G4double Cden = material->GetIonisation()->GetCdensity(); - G4double Mden = material->GetIonisation()->GetMdensity(); - G4double Aden = material->GetIonisation()->GetAdensity(); - G4double X0den = material->GetIonisation()->GetX0density(); - G4double X1den = material->GetIonisation()->GetX1density(); - - const G4double twoln10 = 2.*log(10.); - G4double x = log(bg2)/twoln10; - G4double delta; - if (x < X0den) delta = 0.; - else {delta = twoln10*x - Cden; - if (x < X1den) delta += Aden*pow((X1den-x),Mden); - } - - // shell correction - G4double* ShellCorrectionVector = material->GetIonisation()-> - GetShellCorrectionVector(); - const G4double bg2lim = 0.0169, taulim = 8.4146e-3; - G4double sh = 0., xs = 1.; - if (bg2 > bg2lim) for (G4int k=0; k<3; k++) - {xs *= bg2; sh += ShellCorrectionVector[k]/xs;} - else { for (G4int k=0; k<3; k++) - {xs *= bg2lim; sh += ShellCorrectionVector[k]/xs;} - sh *= log(tau/taul)/log(taulim/taul); - } - - // now you can compute the total ionization loss - dEdx -= (delta + sh); - dEdx *= twopi_mc2_rcl2*ElectronDensity/beta2; - if (dEdx < 0.) dEdx = 0.; - } - // - // low energy part , parametrized energy loss formulae - // - if (tau <= taul) - { - // get elements in the actual material, - const G4ElementVector* theElementVector = material->GetElementVector(); - const G4double* NbOfAtomsPerVolume=material->GetVecNbOfAtomsPerVolume(); - G4int NumberOfElements = material->GetNumberOfElements(); - - // loop for the elements in the material - dEdx = 0.; - for (G4int iel=0; ielGetIonisation()->GetTau0()) - dEdx += NbOfAtomsPerVolume[iel] - *(element->GetIonisation()->GetAlow()*sqrt(tau) - + element->GetIonisation()->GetBlow()*tau); - else - dEdx += NbOfAtomsPerVolume[iel] - * element->GetIonisation()->GetClow()/sqrt(tau); - } - G4double deltaloss = 0.; - if (DeltaThreshold < Tmax) - { - deltaloss = log(Tmax/DeltaThreshold)- - beta2*(1.-DeltaThreshold/Tmax) ; - if (aParticleType.GetPDGSpin() == 0.5) - deltaloss += 0.25*(Tmax-DeltaThreshold)*(Tmax-DeltaThreshold)/ - (KineticEnergy*KineticEnergy+proton_mass_c2*proton_mass_c2); - deltaloss *= twopi_mc2_rcl2*ElectronDensity/beta2; - } - dEdx -= deltaloss; - if (dEdx < 0.) dEdx = 0.; - } - return dEdx; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4double G4hIonisation52::ComputeCrossSectionPerAtom( - const G4ParticleDefinition& aParticleType, - G4double KineticEnergy, - G4double AtomicNumber, - G4double DeltaThreshold) -{ - // calculates the totalcross section per atom in GEANT4 internal units - // ( it is called for elements , AtomicNumber = Z ) - // - // nb: cross section formula is OK for spin=0 and 1/2 only ! - - initialMass = aParticleType.GetPDGMass(); - G4double particleMass = initialMass; - - G4double TotalEnergy = KineticEnergy + particleMass; - - G4double betasquare = KineticEnergy*(TotalEnergy+particleMass) - /(TotalEnergy*TotalEnergy); - G4double tempvar = particleMass+electron_mass_c2; - G4double MaxKineticEnergyTransfer = 2.*electron_mass_c2*KineticEnergy - *(TotalEnergy+particleMass) - /(tempvar*tempvar+2.*electron_mass_c2*KineticEnergy); - - G4double TotalCrossSection = 0.; - if (MaxKineticEnergyTransfer > DeltaThreshold) - { - tempvar = DeltaThreshold/MaxKineticEnergyTransfer; - TotalCrossSection = (1.-tempvar*(1.-betasquare*log(tempvar))) - /DeltaThreshold; - - G4double spin = aParticleType.GetPDGSpin(); - if (spin == 0.5) TotalCrossSection += 0.5 - *(MaxKineticEnergyTransfer-DeltaThreshold) - /(TotalEnergy*TotalEnergy); - if (spin == 1.) TotalCrossSection += - -log(tempvar)/(3.0*DeltaThreshold) + - (MaxKineticEnergyTransfer - DeltaThreshold) * - ((5.0+ 1.0/tempvar)*0.25 / (TotalEnergy*TotalEnergy) - - betasquare / - (MaxKineticEnergyTransfer * DeltaThreshold)) / 3.0; - - TotalCrossSection *= twopi_mc2_rcl2*AtomicNumber/betasquare; - } - return TotalCrossSection; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -G4VParticleChange* G4hIonisation52::PostStepDoIt(const G4Track& trackData, - const G4Step& stepData) -{ - aParticleChange.Initialize(trackData); - - const G4MaterialCutsCouple* couple = trackData.GetMaterialCutsCouple(); - const G4DynamicParticle* aParticle = trackData.GetDynamicParticle(); - - G4double particleMass = aParticle->GetMass(); - G4double KineticEnergy = aParticle->GetKineticEnergy(); - G4double TotalEnergy = KineticEnergy + particleMass; - G4double Psquare = KineticEnergy*(TotalEnergy+particleMass); - G4double Esquare = TotalEnergy*TotalEnergy; - G4double betasquare=Psquare/Esquare; - G4double summass = particleMass + electron_mass_c2; - G4double MaxKineticEnergyTransfer = 2.*electron_mass_c2*Psquare - /(summass*summass+2.*electron_mass_c2*KineticEnergy); - G4ParticleMomentum ParticleDirection = aParticle->GetMomentumDirection(); - - // get electron cut in kinetic energy - - G4double DeltaThreshold = SecondaryEnergyThreshold(couple->GetIndex()); - - // sampling kinetic energy of the delta ray - // - if (MaxKineticEnergyTransfer <= DeltaThreshold) - // pathological case (it should not happen, there is no change at all) - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - - // normal case - G4double xc = DeltaThreshold/MaxKineticEnergyTransfer; - G4double rate = MaxKineticEnergyTransfer/TotalEnergy; - G4double te2 = 0.; - if (aParticle->GetDefinition()->GetPDGSpin() == 0.5) te2=0.5*rate*rate; - - // sampling follows ... - G4double x,grej; - G4double grejc=1.-betasquare*xc+te2*xc*xc; - do { x=xc/(1.-(1.-xc)*G4UniformRand()); - grej=(1.-x*(betasquare-x*te2))/grejc; - } while(G4UniformRand() > grej); - - G4double DeltaKineticEnergy = x * MaxKineticEnergyTransfer; - - if (DeltaKineticEnergy <= 0.) - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); - - G4double DeltaTotalMomentum = sqrt(DeltaKineticEnergy * (DeltaKineticEnergy + - 2. * electron_mass_c2 )); - G4double TotalMomentum = sqrt(Psquare); - G4double costheta = DeltaKineticEnergy * (TotalEnergy + electron_mass_c2) - /(DeltaTotalMomentum * TotalMomentum); - - if (costheta < -1.) costheta = -1.; - if (costheta > +1.) costheta = +1.; - - // direction of the delta electron - // - G4double phi = twopi*G4UniformRand(); - G4double sintheta = sqrt((1.+costheta)*(1.-costheta)); - G4double dirx = sintheta*cos(phi), diry = sintheta*sin(phi), dirz = costheta; - - G4ThreeVector DeltaDirection(dirx,diry,dirz); - DeltaDirection.rotateUz(ParticleDirection); - - // create G4DynamicParticle object for delta ray - // - G4DynamicParticle *theDeltaRay = new G4DynamicParticle; - theDeltaRay->SetKineticEnergy( DeltaKineticEnergy ); - theDeltaRay->SetMomentumDirection( - DeltaDirection.x(),DeltaDirection.y(),DeltaDirection.z()); - theDeltaRay->SetDefinition(G4Electron::Electron()); - - // fill aParticleChange - // - G4double finalKineticEnergy = KineticEnergy - DeltaKineticEnergy; - G4double Edep = 0; - - if (finalKineticEnergy > MinKineticEnergy) - { - G4double finalPx = TotalMomentum*ParticleDirection.x() - - DeltaTotalMomentum*DeltaDirection.x(); - G4double finalPy = TotalMomentum*ParticleDirection.y() - - DeltaTotalMomentum*DeltaDirection.y(); - G4double finalPz = TotalMomentum*ParticleDirection.z() - - DeltaTotalMomentum*DeltaDirection.z(); - G4double finalMomentum = - sqrt(finalPx*finalPx+finalPy*finalPy+finalPz*finalPz); - finalPx /= finalMomentum; - finalPy /= finalMomentum; - finalPz /= finalMomentum; - - aParticleChange.ProposeMomentumDirection( finalPx,finalPy,finalPz ); - } - else - { - Edep = finalKineticEnergy; - finalKineticEnergy = 0.; - if (!aParticle->GetDefinition()->GetProcessManager()->GetAtRestProcessVector()->size()) - aParticleChange.ProposeTrackStatus(fStopAndKill); - else aParticleChange.ProposeTrackStatus(fStopButAlive); - } - - aParticleChange.ProposeEnergy( finalKineticEnergy ); - aParticleChange.SetNumberOfSecondaries(1); - aParticleChange.AddSecondary(theDeltaRay); - aParticleChange.ProposeLocalEnergyDeposit (Edep); - - //ResetNumberOfInteractionLengthLeft(); - return G4VContinuousDiscreteProcess::PostStepDoIt(trackData,stepData); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - -void G4hIonisation52::PrintInfoDefinition() -{ - G4String comments = " Knock-on electron cross sections . " - "\n Good description above the mean excitation energy.\n" - " delta ray energy sampled from differential Xsection."; - - G4cout << G4endl << GetProcessName() << ": " << comments - << "\n PhysicsTables from " << G4BestUnit(LowestKineticEnergy, - "Energy") - << " to " << G4BestUnit(HighestKineticEnergy,"Energy") - << " in " << TotBin << " bins. " - << "\n Step function: finalRange(mm)= " << finalRange - << ", dRoverRange= " << dRoverRange - << G4endl; - G4cout << " WARNING: This process is obsolete and will be soon removed" - << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... diff --git a/source/processes/electromagnetic/standard/src/G4hMultipleScattering.cc b/source/processes/electromagnetic/standard/src/G4hMultipleScattering.cc index 07df9be165..6d97e0f034 100644 --- a/source/processes/electromagnetic/standard/src/G4hMultipleScattering.cc +++ b/source/processes/electromagnetic/standard/src/G4hMultipleScattering.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4hMultipleScattering.cc,v 1.3 2007/03/20 15:40:59 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4hMultipleScattering.cc,v 1.6 2007/06/11 15:01:26 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // @@ -47,8 +47,7 @@ #include "G4hMultipleScattering.hh" #include "G4UrbanMscModel.hh" -#include "G4TransportationManager.hh" -#include "G4Navigator.hh" +#include "G4MscStepLimitType.hh" //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -57,25 +56,17 @@ using namespace std; G4hMultipleScattering::G4hMultipleScattering(const G4String& processName) : G4VMultipleScattering(processName) { - lowKineticEnergy = 0.1*keV; - highKineticEnergy = 100.*TeV; - totBins = 120; - - facrange = 0.2; dtrl = 0.05; lambdalimit = 1.*mm; - facgeom = 0.1; - steppingAlgorithm = false; samplez = false ; isInitialized = false; - SetBinning(totBins); - SetMinKinEnergy(lowKineticEnergy); - SetMaxKinEnergy(highKineticEnergy); - SetLateralDisplasmentFlag(true); SetSkin(0.0); + SetRangeFactor(0.2); + SetGeomFactor(0.1); + SetStepLimitType(fMinimal); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... @@ -92,43 +83,34 @@ G4bool G4hMultipleScattering::IsApplicable (const G4ParticleDefinition& p) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... -void G4hMultipleScattering::MscStepLimitation(G4bool algorithm, G4double factor) -{ - steppingAlgorithm = algorithm; - if (factor > 0.) SetFacrange(factor); - else { if (algorithm) SetFacrange(0.02); else SetFacrange(0.2);} - - if(verboseLevel > 1) - G4cout << "Stepping algorithm is set to " << steppingAlgorithm - << " with facrange = " << facrange << G4endl; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo...... - void G4hMultipleScattering::InitialiseProcess(const G4ParticleDefinition* p) { + // Modification of parameters between runs if(isInitialized) { - mscUrban->SetMscStepLimitation(steppingAlgorithm, facrange); if (p->GetParticleType() != "nucleus") { + mscUrban->SetStepLimitType(StepLimitType()); mscUrban->SetLateralDisplasmentFlag(LateralDisplasmentFlag()); mscUrban->SetSkin(Skin()); + mscUrban->SetRangeFactor(RangeFactor()); + mscUrban->SetGeomFactor(GeomFactor()); } return; } + // initialisation of parameters + G4String part_name = p->GetParticleName(); + mscUrban = new G4UrbanMscModel(RangeFactor(),dtrl,lambdalimit, + GeomFactor(),Skin(), + samplez,StepLimitType()); + mscUrban->SetLateralDisplasmentFlag(LateralDisplasmentFlag()); + if (p->GetParticleType() == "nucleus") { + mscUrban->SetStepLimitType(fMinimal); SetLateralDisplasmentFlag(false); SetBuildLambdaTable(false); SetSkin(0.0); - } else { - SetBuildLambdaTable(true); + SetRangeFactor(0.2); } - mscUrban = new G4UrbanMscModel(facrange,dtrl,lambdalimit, - facgeom,Skin(), - samplez,steppingAlgorithm); - mscUrban->SetLateralDisplasmentFlag(LateralDisplasmentFlag()); - mscUrban->SetLowEnergyLimit(lowKineticEnergy); - mscUrban->SetHighEnergyLimit(highKineticEnergy); AddEmModel(1,mscUrban); isInitialized = true; } @@ -137,9 +119,9 @@ void G4hMultipleScattering::InitialiseProcess(const G4ParticleDefinition* p) void G4hMultipleScattering::PrintInfo() { - G4cout << " Boundary/stepping algorithm is active with facrange= " - << facrange - << " Step limitation " << steppingAlgorithm + G4cout << " Boundary/stepping algorithm is active with RangeFactor= " + << RangeFactor() + << " Step limit type " << StepLimitType() << G4endl; } diff --git a/source/processes/electromagnetic/standard/src/G4ionIonisation.cc b/source/processes/electromagnetic/standard/src/G4ionIonisation.cc index f534fdb62c..56b267f510 100644 --- a/source/processes/electromagnetic/standard/src/G4ionIonisation.cc +++ b/source/processes/electromagnetic/standard/src/G4ionIonisation.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4ionIonisation.cc,v 1.39 2007/01/18 12:17:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4ionIonisation.cc,v 1.43 2007/05/22 17:34:36 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -52,6 +52,7 @@ // 10-05-06 Add a possibility to download user data (V.Ivantchenko) // 13-05-06 Add data for light ion stopping in water (V.Ivantchenko) // 14-01-07 use SetEmModel() and SetFluctModel() from G4VEnergyLossProcess (mma) +// 16-05-07 Add data for light ion stopping only for GenericIon (V.Ivantchenko) // // // ------------------------------------------------------------------- @@ -80,12 +81,9 @@ G4ionIonisation::G4ionIonisation(const G4String& name) theParticle(0), theBaseParticle(0), isInitialised(false), - stopDataActive(true) + stopDataActive(true), + nuclearStopping(true) { - SetDEDXBinning(120); - SetLambdaBinning(120); - SetMinKinEnergy(0.1*keV); - SetMaxKinEnergy(100.0*TeV); SetLinearLossLimit(0.15); SetStepFunction(0.1, 0.1*mm); SetIntegral(true); @@ -130,8 +128,13 @@ void G4ionIonisation::InitialiseEnergyLossProcess( EmModel(2)->SetHighEnergyLimit(100*TeV); AddEmModel(2, EmModel(2), FluctModel()); - effCharge = corr->GetIonEffectiveCharge(EmModel(1)); - G4WaterStopping ws(corr); + // Add ion stoping tables for Generic Ion + if(part == G4GenericIon::GenericIon()) { + G4WaterStopping ws(corr); + effCharge = corr->GetIonEffectiveCharge(EmModel(1)); + } else { + effCharge = corr->GetIonEffectiveCharge(0); + } isInitialised = true; } @@ -147,6 +150,7 @@ void G4ionIonisation::PrintInfo() << eth/MeV << " MeV" << "\n Parametrisation from " << EmModel(1)->GetName() << " for protons below." + << " NuclearStopping " << nuclearStopping << G4endl; if (stopDataActive) G4cout << "\n Stopping Power data for " @@ -157,19 +161,6 @@ void G4ionIonisation::PrintInfo() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4ionIonisation::GetMeanFreePath(const G4Track& track, - G4double, - G4ForceCondition* cond) -{ - DefineMassCharge(track.GetDefinition(), - track.GetMaterial(), - track.GetDynamicParticle()->GetMass(), - track.GetKineticEnergy()); - return G4VEnergyLossProcess::GetMeanFreePath(track, 0.0, cond); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - void G4ionIonisation::AddStoppingData(G4int Z, G4int A, const G4String& mname, G4PhysicsVector& dVector) diff --git a/source/processes/electromagnetic/utils/History b/source/processes/electromagnetic/utils/History index c6c12c3fde..99cca86b78 100644 --- a/source/processes/electromagnetic/utils/History +++ b/source/processes/electromagnetic/utils/History @@ -1,4 +1,4 @@ -$Id: History,v 1.276 2007/05/08 17:56:12 vnivanch Exp $ +$Id: History,v 1.290 2007/06/20 12:43:54 vnivanch Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,70 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +20 June 07: V.Ivant (emutils-V08-03-06) +- G4VEnergyLossProcess add initialisation of preStepKinEnergy before + run in order to fix a problem of test14 reported by Valgrind + +14 June 07: V.Ivant (emutils-V08-03-05) +- G4LossTableManager - add deletion of G4EmCorrections in destructor + +12 June 07: V.Ivant (emutils-V08-03-04) +- G4VEnergyLossProcess fixed estimation of step limit inside + AlongStepGetPhysicalInteractionLength method - do not use safety + +11 June 07: V.Ivant (emutils-V08-03-03) +- G4MscStepLimitType, G4VMultipleScattering, G4EnergyLossMessenger + substitute name "G4v71" -> "Minimal" + +23 May 07: V.Ivant (emutils-V08-03-02) +- G4VEnergyLossProcess, G4VEmProcess - remove method SecondaryPostStep + use instead a direct call to selected model + +22 May 07: V.Ivant (emutils-V08-03-01) +- G4VEmModel - change interface of SampleSecondary method, it become + void, extra parameter std::vector*, this vector + is now a member of base class G4VEnergyLossProcess, G4VEmProcess, + no new and delete of the vector in the run time. About 5% speadup + of EM shower simulation +- G4VEnergyLossProcess, G4VEmProcess, G4VMultipleScattering modified + to follow this new interface + +21 May 07: V.Ivant (emutils-V08-03-00) +21 May 07: V.Ivant (emutils-V08-02-12) +- G4VEnergyLossProcess - speadup the code by added implementation + method PostStepGetPhysicalInteractionLength; + added methods InitialiseStep and InitialiseMassCharge +- G4VEmProcess - speadup the code by added implementation + method PostStepGetPhysicalInteractionLength; + add comments to header and inline methods + +20 May 07: V.Ivant (emutils-V08-02-11) +- G4VMultipleScattering - speadup the code by added implementation + of method AlongStepGetPhysicalInteractionLength and + do not use ContinuousStepLimit; also added implementation + of method PostStepGetPhysicalInteractionLength +- G4VEnergyLossProcess - speadup the code by added implementation + method AlongStepGetPhysicalInteractionLength and + do not use ContinuousStepLimit + +18 May 07: V.Ivant (emutils-V08-02-10) +- G4EnergyLossMessenger - make new UI sub-directory "/process/msc" + and reorganise UI commands for msc + processes; use G4EmProcessOptions as + an interface to all EM processes +- G4LossTableManager - remove set msc parameters +- G4EmProcessOptions - update interface to msc processes, add + extra methods to set parameters +- G4VEnergyLossProcess - cleanup comments and reorgnize code for + easier reading; move short methods to inline; +- G4VMultipleScattering - cleanup comments and reorgnize code for + easier reading; move short methods to inline; + add method to set msc parameters +- G4MscStepLimitType - is added + +10 May 07: V.Ivant (emutils-V08-02-09) +- integrated fixes of emutils-V08-02-06a + 25 April 07: V.Ivant (emutils-V08-02-08) - G4VEnegryLossProcess - move initialisation of safety helper to BuildPhysicsTable diff --git a/source/processes/electromagnetic/utils/include/G4DummyModel.hh b/source/processes/electromagnetic/utils/include/G4DummyModel.hh index 2e8d7b13fe..f2a1a32b47 100644 --- a/source/processes/electromagnetic/utils/include/G4DummyModel.hh +++ b/source/processes/electromagnetic/utils/include/G4DummyModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DummyModel.hh,v 1.2 2006/06/29 19:54:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4DummyModel.hh,v 1.3 2007/05/22 17:31:57 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -63,11 +63,11 @@ public: void Initialise(const G4ParticleDefinition*, const G4DataVector&); - std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double tmax); + void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double tmax); private: diff --git a/source/processes/electromagnetic/utils/include/G4EmCalculator.hh b/source/processes/electromagnetic/utils/include/G4EmCalculator.hh index 56e85222de..297f204c20 100644 --- a/source/processes/electromagnetic/utils/include/G4EmCalculator.hh +++ b/source/processes/electromagnetic/utils/include/G4EmCalculator.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4EmCalculator.hh,v 1.18 2007/03/15 12:34:46 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------------- diff --git a/source/processes/electromagnetic/utils/include/G4EmCorrections.hh b/source/processes/electromagnetic/utils/include/G4EmCorrections.hh index 8009209b94..92db58d6f4 100644 --- a/source/processes/electromagnetic/utils/include/G4EmCorrections.hh +++ b/source/processes/electromagnetic/utils/include/G4EmCorrections.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmCorrections.hh,v 1.8 2006/06/29 19:54:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4EmCorrections.hh,v 1.9 2007/05/18 18:39:54 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -58,9 +58,10 @@ #include "G4Material.hh" #include "G4ParticleDefinition.hh" -class G4NistManager; class G4VEmModel; class G4PhysicsVector; +class G4IonTable; +class G4NistManager; class G4EmCorrections { @@ -229,8 +230,9 @@ private: G4AtomicShells shells; G4ionEffectiveCharge effCharge; - G4NistManager* nist; - G4VEmModel* ionModel; + G4NistManager* nist; + const G4IonTable* ionTable; + G4VEmModel* ionModel; // Ion stopping data G4int nIons; diff --git a/source/processes/electromagnetic/utils/include/G4EmModelManager.hh b/source/processes/electromagnetic/utils/include/G4EmModelManager.hh index 50bcae9766..3fb24b6718 100644 --- a/source/processes/electromagnetic/utils/include/G4EmModelManager.hh +++ b/source/processes/electromagnetic/utils/include/G4EmModelManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4EmModelManager.hh,v 1.21 2007/03/17 19:24:39 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/utils/include/G4EmMultiModel.hh b/source/processes/electromagnetic/utils/include/G4EmMultiModel.hh index 3b4639e093..29d89ec357 100644 --- a/source/processes/electromagnetic/utils/include/G4EmMultiModel.hh +++ b/source/processes/electromagnetic/utils/include/G4EmMultiModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmMultiModel.hh,v 1.5 2006/06/29 19:54:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4EmMultiModel.hh,v 1.6 2007/05/22 17:31:57 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -84,11 +84,11 @@ public: G4double cutEnergy, G4double maxEnergy); - std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin, - G4double tmax); + void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin, + G4double tmax); void DefineForRegion(const G4Region*); diff --git a/source/processes/electromagnetic/utils/include/G4EmProcessOptions.hh b/source/processes/electromagnetic/utils/include/G4EmProcessOptions.hh index d54112eef6..50b630fd79 100644 --- a/source/processes/electromagnetic/utils/include/G4EmProcessOptions.hh +++ b/source/processes/electromagnetic/utils/include/G4EmProcessOptions.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmProcessOptions.hh,v 1.11 2007/02/12 12:31:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4EmProcessOptions.hh,v 1.12 2007/05/18 18:39:54 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------------- @@ -56,6 +56,7 @@ #include #include "globals.hh" +#include "G4MscStepLimitType.hh" class G4LossTableManager; class G4Region; @@ -105,16 +106,20 @@ public: void SetLinearLossLimit(G4double val); - void SetSkin(G4double val); - void ActivateDeexcitation(G4bool val, const G4Region* r = 0); - void SetMscStepLimitation(G4bool algorithm, G4double factor = -1.); - - void SetLPMFlag(G4bool val); + void SetMscStepLimitation(G4MscStepLimitType val); void SetMscLateralDisplacement(G4bool val); + void SetSkin(G4double val); + + void SetMscRangeFactor(G4double val); + + void SetMscGeomFactor(G4double val); + + void SetLPMFlag(G4bool val); + void SetBremsstrahlungTh(G4double val); private: diff --git a/source/processes/electromagnetic/utils/include/G4EmTableType.hh b/source/processes/electromagnetic/utils/include/G4EmTableType.hh index 9155838a01..0d05997ce2 100644 --- a/source/processes/electromagnetic/utils/include/G4EmTableType.hh +++ b/source/processes/electromagnetic/utils/include/G4EmTableType.hh @@ -25,7 +25,7 @@ // // // $Id: G4EmTableType.hh,v 1.3 2007/01/15 17:27:40 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/utils/include/G4EnergyLossMessenger.hh b/source/processes/electromagnetic/utils/include/G4EnergyLossMessenger.hh index 9377939499..f160688744 100644 --- a/source/processes/electromagnetic/utils/include/G4EnergyLossMessenger.hh +++ b/source/processes/electromagnetic/utils/include/G4EnergyLossMessenger.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EnergyLossMessenger.hh,v 1.17 2007/03/17 19:24:39 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4EnergyLossMessenger.hh,v 1.18 2007/05/18 18:39:54 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -43,6 +43,7 @@ // 10-11-06 Add command binsDEDX (V.Ivantchenko) // 12-02-07 Add SetSkin, SetLinearLossLimit (V.Ivanchenko) // 16-03-07 modify /process/eLoss/minsubsec command (V.Ivanchenko) +// 18-05-07 add /process/msc directory and commands (V.Ivanchenko) // // ------------------------------------------------------------------- // @@ -78,6 +79,8 @@ class G4UIcmdWithABool; class G4UIcmdWithAnInteger; class G4UIcmdWithADouble; class G4UIcmdWithADoubleAndUnit; +class G4UIcmdWithAString; +class G4EmProcessOptions; //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -92,13 +95,16 @@ public: // with description private: + G4EmProcessOptions* opt; + G4UIdirectory* eLossDirectory; + G4UIdirectory* mscDirectory; G4UIcmdWithABool* RndmStepCmd; G4UIcmdWithABool* EnlossFlucCmd; G4UIcmdWithABool* SubSecCmd; G4UIcmdWithADouble* MinSubSecCmd; G4UIcommand* StepFuncCmd; - G4UIcommand* mscCmd; + G4UIcmdWithAString* mscCmd; G4UIcmdWithADoubleAndUnit* MinEnCmd; G4UIcmdWithADoubleAndUnit* MaxEnCmd; G4UIcmdWithABool* IntegCmd; @@ -107,9 +113,12 @@ private: G4UIcmdWithABool* latCmd; G4UIcmdWithAnInteger* verCmd; G4UIcmdWithAnInteger* dedxCmd; - G4UIcmdWithAnInteger* lbCmd; + G4UIcmdWithAnInteger* lamCmd; G4UIcmdWithADouble* lllCmd; + G4UIcmdWithADouble* labCmd; G4UIcmdWithADouble* skinCmd; + G4UIcmdWithADouble* frCmd; + G4UIcmdWithADouble* fgCmd; }; #endif diff --git a/source/processes/electromagnetic/utils/include/G4EnergyLossTables.hh b/source/processes/electromagnetic/utils/include/G4EnergyLossTables.hh index fa11d9f1e0..d4139381e5 100644 --- a/source/processes/electromagnetic/utils/include/G4EnergyLossTables.hh +++ b/source/processes/electromagnetic/utils/include/G4EnergyLossTables.hh @@ -25,7 +25,7 @@ // // // $Id: G4EnergyLossTables.hh,v 1.19 2006/06/29 19:54:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: // diff --git a/source/processes/electromagnetic/utils/include/G4LossTableBuilder.hh b/source/processes/electromagnetic/utils/include/G4LossTableBuilder.hh index 4b8cde8f7d..e6985998b4 100644 --- a/source/processes/electromagnetic/utils/include/G4LossTableBuilder.hh +++ b/source/processes/electromagnetic/utils/include/G4LossTableBuilder.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4LossTableBuilder.hh,v 1.7 2006/06/29 19:54:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------------- diff --git a/source/processes/electromagnetic/utils/include/G4LossTableManager.hh b/source/processes/electromagnetic/utils/include/G4LossTableManager.hh index cbcab77695..1242dcf3b9 100644 --- a/source/processes/electromagnetic/utils/include/G4LossTableManager.hh +++ b/source/processes/electromagnetic/utils/include/G4LossTableManager.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4LossTableManager.hh,v 1.46 2007/02/12 12:31:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4LossTableManager.hh,v 1.47 2007/05/18 18:39:54 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------------- @@ -59,6 +59,7 @@ // 10-05-06 Add methods SetMscStepLimitation, FacRange and MscFlag (VI) // 22-05-06 Add methods Set/Get bremsTh (VI) // 12-02-07 Add SetSkin, SetLinearLossLimit (V.Ivanchenko) +// 18-06-07 Move definition of msc parameters to G4EmProcessOptions (V.Ivanchenko) // // Class Description: // @@ -193,10 +194,6 @@ public: void SetLPMFlag(G4bool val); - void SetMscLateralDisplacement(G4bool val); - - void SetSkin(G4double val); - void SetLinearLossLimit(G4double val); void SetBremsstrahlungTh(G4double val); @@ -209,14 +206,6 @@ public: G4bool LPMFlag() const; - void SetMscStepLimitation(G4bool algorithm, G4double factor = -1.); - - G4bool MscFlag() const; - - G4bool MscLateralDisplacementFlag() const; - - G4double FacRange() const; - G4double BremsstrahlungTh() const; G4VEnergyLossProcess* GetEnergyLossProcess(const G4ParticleDefinition*); @@ -284,9 +273,6 @@ private: G4bool maxEnergyForMuonsActive; G4bool stepFunctionActive; G4bool flagLPM; - G4bool flagMSC; - G4bool flagMSCLateral; - G4bool mscActive; G4double minSubRange; G4double maxRangeVariation; @@ -294,7 +280,6 @@ private: G4double minKinEnergy; G4double maxKinEnergy; G4double maxKinEnergyForMuons; - G4double facRange; G4double bremsTh; G4LossTableBuilder* tableBuilder; diff --git a/source/physics_lists/lists/include/QGSP_HP.hh b/source/processes/electromagnetic/utils/include/G4MscStepLimitType.hh similarity index 73% rename from source/physics_lists/lists/include/QGSP_HP.hh rename to source/processes/electromagnetic/utils/include/G4MscStepLimitType.hh index 9f0d977865..04bf9893ae 100644 --- a/source/physics_lists/lists/include/QGSP_HP.hh +++ b/source/processes/electromagnetic/utils/include/G4MscStepLimitType.hh @@ -23,45 +23,34 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: QGSP_HP.hh,v 1.1 2006/10/31 11:35:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ // -//--------------------------------------------------------------------------- +// $Id: G4MscStepLimitType.hh,v 1.2 2007/06/11 14:56:51 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // -// ClassName: +//--------------------------------------------------------------- // -// Author: 2002 J.P. Wellisch +// G4MscStepLimitType.hh // -// Modified: +// Class Description: +// This is an enumerator to define type of multiple scattering +// step limitation // -//---------------------------------------------------------------------------- +// Author: Vladimir Ivanchenko // -#ifndef TQGSP_HP_h -#define TQGSP_HP_h 1 +// Creation date: 18.05.2007 +// Modifications: +// +//--------------------------------------------------------------- -#include "G4VModularPhysicsList.hh" -#include "globals.hh" -#include "CompileTimeConstraints.hh" +#ifndef G4MscStepLimitType_h +#define G4MscStepLimitType_h 1 -template -class TQGSP_HP: public T +enum G4MscStepLimitType { -public: - TQGSP_HP(G4int ver = 1); - virtual ~TQGSP_HP(); - -public: - // SetCuts() - virtual void SetCuts(); - -private: - enum {ok = CompileTimeConstraints::IsA::ok }; + fMinimal = 0, + fUseSafety, + fUseDistanceToBoundary }; -#include "QGSP_HP.icc" -typedef TQGSP_HP QGSP_HP; - -// 2002 by J.P. Wellisch #endif - diff --git a/source/processes/electromagnetic/utils/include/G4VEmFluctuationModel.hh b/source/processes/electromagnetic/utils/include/G4VEmFluctuationModel.hh index 765eb5d4c8..c08cae6e0d 100644 --- a/source/processes/electromagnetic/utils/include/G4VEmFluctuationModel.hh +++ b/source/processes/electromagnetic/utils/include/G4VEmFluctuationModel.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VEmFluctuationModel.hh,v 1.10 2006/06/29 19:54:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/utils/include/G4VEmModel.hh b/source/processes/electromagnetic/utils/include/G4VEmModel.hh index 15a417c8d5..5d77a8c474 100644 --- a/source/processes/electromagnetic/utils/include/G4VEmModel.hh +++ b/source/processes/electromagnetic/utils/include/G4VEmModel.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VEmModel.hh,v 1.45 2006/08/29 19:18:54 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VEmModel.hh,v 1.46 2007/05/22 17:31:57 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -102,11 +102,11 @@ public: virtual void Initialise(const G4ParticleDefinition*, const G4DataVector&) = 0; - virtual std::vector* SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double tmin = 0.0, - G4double tmax = DBL_MAX) = 0; + virtual void SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double tmin = 0.0, + G4double tmax = DBL_MAX) = 0; //------------------------------------------------------------------------ // Methods with standard implementation; may be overwritten if needed diff --git a/source/processes/electromagnetic/utils/include/G4VEmProcess.hh b/source/processes/electromagnetic/utils/include/G4VEmProcess.hh index e15a0d1436..8dcb7f2ba0 100644 --- a/source/processes/electromagnetic/utils/include/G4VEmProcess.hh +++ b/source/processes/electromagnetic/utils/include/G4VEmProcess.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VEmProcess.hh,v 1.34 2006/09/13 10:34:32 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VEmProcess.hh,v 1.37 2007/05/23 08:43:46 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -102,16 +102,11 @@ protected: virtual void InitialiseProcess(const G4ParticleDefinition*) = 0; - virtual std::vector* SecondariesPostStep( - G4VEmModel*, - const G4MaterialCutsCouple*, - const G4DynamicParticle*) = 0; - //------------------------------------------------------------------------ // Methods with standard implementation; may be overwritten if needed //------------------------------------------------------------------------ - virtual G4double RecalculateLambda(G4double kinEnergy, + inline virtual G4double RecalculateLambda(G4double kinEnergy, const G4MaterialCutsCouple* couple); //------------------------------------------------------------------------ @@ -130,20 +125,6 @@ public: void BuildPhysicsTable(const G4ParticleDefinition&); // Build physics table during initialisation - void SetLambdaBinning(G4int nbins); - G4int LambdaBinning() const; - // Binning for lambda table - - void SetMinKinEnergy(G4double e); - G4double MinKinEnergy() const; - // Min kinetic energy for tables - - void SetMaxKinEnergy(G4double e); - G4double MaxKinEnergy() const; - // Max kinetic energy for tables - - void SetLambdaFactor(G4double val); - G4bool StorePhysicsTable(const G4ParticleDefinition*, const G4String& directory, G4bool ascii = false); @@ -158,95 +139,135 @@ public: // (return false if the process has no functionality or in case of failure) // File name should is constructed as processName+particleName and the // should be placed under the directory specifed by the argument. - - void SetModel(G4VEmModel*); - // Assign a model to a process - - G4VEmModel* Model(); - // return the assigned model - - void AddEmModel(G4int, G4VEmModel*, const G4Region* region = 0); - // Add EM model coupled for the region - - void UpdateEmModel(const G4String&, G4double, G4double); - // Define new energy range for the model identified by the name - - G4double GetLambda(G4double& kinEnergy, const G4MaterialCutsCouple* couple); - // It returns the Lambda of the process - - const G4PhysicsTable* LambdaTable() const; G4double MicroscopicCrossSection(G4double kineticEnergy, const G4MaterialCutsCouple* couple); // It returns the cross section of the process for energy/ material - G4double ComputeCrossSectionPerAtom(G4double kineticEnergy, - G4double Z, G4double A=0.); + inline G4double ComputeCrossSectionPerAtom(G4double kineticEnergy, + G4double Z, G4double A=0.); // It returns the cross section of the process per atom - G4double MeanFreePath( const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition); + inline G4double MeanFreePath(const G4Track& track); - const G4ParticleDefinition* Particle() const; - const G4ParticleDefinition* SecondaryParticle() const; + //------------------------------------------------------------------------ + // Specific methods for post step simulation + //------------------------------------------------------------------------ - void ActivateDeexcitation(G4bool, const G4Region* r = 0); + G4double PostStepGetPhysicalInteractionLength( + const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition + ); - G4VEmModel* SelectModelForMaterial(G4double kinEnergy, + inline G4VEmModel* SelectModelForMaterial(G4double kinEnergy, size_t& idxRegion) const; - void SetIntegral(G4bool val); - G4bool IsIntegral() const; + inline G4double GetLambda(G4double& kinEnergy, + const G4MaterialCutsCouple* couple); + // It returns the Lambda of the process - void SetApplyCuts(G4bool val); + //------------------------------------------------------------------------ + // Specific methods to build and access Physics Tables + //------------------------------------------------------------------------ + + inline void SetLambdaBinning(G4int nbins); + inline G4int LambdaBinning() const; + // Binning for lambda table + + inline void SetMinKinEnergy(G4double e); + inline G4double MinKinEnergy() const; + // Min kinetic energy for tables + + inline void SetMaxKinEnergy(G4double e); + inline G4double MaxKinEnergy() const; + // Max kinetic energy for tables + + inline const G4PhysicsTable* LambdaTable() const; + + //------------------------------------------------------------------------ + // Define and access particle type + //------------------------------------------------------------------------ + + inline const G4ParticleDefinition* Particle() const; + inline const G4ParticleDefinition* SecondaryParticle() const; + + //------------------------------------------------------------------------ + // Specific methods to set, access, modify models + //------------------------------------------------------------------------ + + void AddEmModel(G4int, G4VEmModel*, const G4Region* region = 0); + // Add EM model coupled for the region + + inline void SetModel(G4VEmModel*); + // Assign a model to a process + + inline G4VEmModel* Model(); + // return the assigned model + + inline void UpdateEmModel(const G4String&, G4double, G4double); + // Define new energy range for the model identified by the name // Access to models - G4VEmModel* GetModelByIndex(G4int idx = 0); + inline G4VEmModel* GetModelByIndex(G4int idx = 0); + + //------------------------------------------------------------------------ + // Get/set parameters used for simulation of energy loss + //------------------------------------------------------------------------ + + inline void ActivateDeexcitation(G4bool, const G4Region* r = 0); + + inline void SetLambdaFactor(G4double val); + + inline void SetIntegral(G4bool val); + inline G4bool IsIntegral() const; + + inline void SetApplyCuts(G4bool val); protected: - void SetParticle(const G4ParticleDefinition* p); - - void SetSecondaryParticle(const G4ParticleDefinition* p); - - G4double GetMeanFreePath(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition); - G4PhysicsVector* LambdaPhysicsVector(const G4MaterialCutsCouple*); - G4VEmModel* SelectModel(G4double& kinEnergy); + inline void SetParticle(const G4ParticleDefinition* p); + + inline void SetSecondaryParticle(const G4ParticleDefinition* p); - size_t CurrentMaterialCutsCoupleIndex() const {return currentMaterialIndex;}; + inline G4double GetMeanFreePath(const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition); - void ResetNumberOfInteractionLengthLeft(); + inline G4VEmModel* SelectModel(G4double& kinEnergy); - G4double GetGammaEnergyCut(); - G4double GetElectronEnergyCut(); + inline size_t CurrentMaterialCutsCoupleIndex() const; - void SetBuildTableFlag(G4bool val); + inline G4double GetGammaEnergyCut(); - void SetStartFromNullFlag(G4bool val); + inline G4double GetElectronEnergyCut(); + + inline void SetBuildTableFlag(G4bool val); + + inline void SetStartFromNullFlag(G4bool val); private: void Clear(); - void DefineMaterial(const G4MaterialCutsCouple* couple); - - void ComputeIntegralLambda(G4double kinEnergy); - - G4double GetLambdaFromTable(G4double kinEnergy); - - G4double GetCurrentLambda(G4double kinEnergy); - - G4double ComputeCurrentLambda(G4double kinEnergy); - void BuildLambdaTable(); void FindLambdaMax(); + inline void InitialiseStep(const G4Track&); + + inline void DefineMaterial(const G4MaterialCutsCouple* couple); + + inline void ComputeIntegralLambda(G4double kinEnergy); + + inline G4double GetLambdaFromTable(G4double kinEnergy); + + inline G4double GetCurrentLambda(G4double kinEnergy); + + inline G4double ComputeCurrentLambda(G4double kinEnergy); + // hide assignment operator G4VEmProcess(G4VEmProcess &); @@ -260,6 +281,8 @@ protected: private: + std::vector secParticles; + G4EmModelManager* modelManager; G4VEmModel* selectedModel; @@ -292,11 +315,8 @@ private: G4double mfpKinEnergy; G4double preStepKinEnergy; G4double preStepLambda; - G4double preStepMFP; G4bool integral; - G4bool meanFreePath; - G4bool aboveCSmax; G4bool buildLambdaTable; G4bool applyCuts; G4bool startFromNull; @@ -316,12 +336,21 @@ inline void G4VEmProcess::DefineMaterial(const G4MaterialCutsCouple* couple) currentCouple = couple; currentMaterial = couple->GetMaterial(); currentMaterialIndex = couple->GetIndex(); - if(!meanFreePath) ResetNumberOfInteractionLengthLeft(); + mfpKinEnergy = DBL_MAX; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +inline void G4VEmProcess::InitialiseStep(const G4Track& track) +{ + preStepKinEnergy = track.GetKineticEnergy(); + DefineMaterial(track.GetMaterialCutsCouple()); + if (theNumberOfInteractionLengthLeft < 0.0) mfpKinEnergy = DBL_MAX; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + inline G4double G4VEmProcess::GetLambda(G4double& kineticEnergy, const G4MaterialCutsCouple* couple) { @@ -341,7 +370,8 @@ inline G4double G4VEmProcess::GetCurrentLambda(G4double e) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4VEmProcess::RecalculateLambda(G4double e, const G4MaterialCutsCouple* couple) +inline G4double G4VEmProcess::RecalculateLambda(G4double e, + const G4MaterialCutsCouple* couple) { DefineMaterial(couple); return ComputeCurrentLambda(e); @@ -353,7 +383,8 @@ inline G4double G4VEmProcess::ComputeCurrentLambda(G4double e) { G4VEmModel* currentModel = SelectModel(e); G4double x = 0.0; - if(currentModel) x = currentModel->CrossSectionPerVolume(currentMaterial,particle,e); + if(currentModel) + x = currentModel->CrossSectionPerVolume(currentMaterial,particle,e); return x; } @@ -369,13 +400,11 @@ inline G4double G4VEmProcess::GetLambdaFromTable(G4double e) inline void G4VEmProcess::ComputeIntegralLambda(G4double e) { - meanFreePath = false; - aboveCSmax = false; mfpKinEnergy = theEnergyOfCrossSectionMax[currentMaterialIndex]; if (e <= mfpKinEnergy) { preStepLambda = GetLambdaFromTable(e); + // mfpKinEnergy = 0.0; } else { - aboveCSmax = true; G4double e1 = e*lambdaFactor; if(e1 > mfpKinEnergy) { preStepLambda = GetLambdaFromTable(e); @@ -388,6 +417,69 @@ inline void G4VEmProcess::ComputeIntegralLambda(G4double e) preStepLambda = theCrossSectionMax[currentMaterialIndex]; } } + // theNumberOfInteractionLengthLeft = -1.; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEmProcess::PostStepGetPhysicalInteractionLength( + const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition) +{ + // condition is set to "Not Forced" + *condition = NotForced; + G4double x = DBL_MAX; + if(previousStepSize <= DBL_MIN) theNumberOfInteractionLengthLeft = -1.0; + InitialiseStep(track); + + if(preStepKinEnergy < mfpKinEnergy) { + if (integral) ComputeIntegralLambda(preStepKinEnergy); + else preStepLambda = GetCurrentLambda(preStepKinEnergy); + if(preStepLambda <= DBL_MIN) mfpKinEnergy = 0.0; + } + + if(preStepLambda > DBL_MIN) { + + if (theNumberOfInteractionLengthLeft < 0.0) { + // beggining of tracking (or just after DoIt of this process) + ResetNumberOfInteractionLengthLeft(); + } else if(previousStepSize > DBL_MIN) { + // subtract NumberOfInteractionLengthLeft + SubtractNumberOfInteractionLengthLeft(previousStepSize); + if(theNumberOfInteractionLengthLeft<0.) + theNumberOfInteractionLengthLeft=perMillion; + } + + // get mean free path + currentInteractionLength = 1.0/preStepLambda; + x = theNumberOfInteractionLengthLeft * currentInteractionLength; + +#ifdef G4VERBOSE + if (verboseLevel>2){ + G4cout << "G4VEmProcess::PostStepGetPhysicalInteractionLength "; + G4cout << "[ " << GetProcessName() << "]" << G4endl; + G4cout << " for " << particle->GetParticleName() + << " in Material " << currentMaterial->GetName() + << " Ekin(MeV)= " << preStepKinEnergy/MeV + <&, const G4Step&, - G4VEmModel* model, G4int matIdx); + G4VEmModel* model, G4int matIdx, + G4double& extraEdep); - // Set scaling parameters - void SetDynamicMassCharge(G4double massratio, G4double charge2ratio); + G4double GetDEDXDispersion(const G4MaterialCutsCouple *couple, + const G4DynamicParticle* dp, + G4double length); + + + inline G4double AlongStepGetPhysicalInteractionLength( + const G4Track&, + G4double previousStepSize, + G4double currentMinimumStep, + G4double& currentSafety, + G4GPILSelection* selection + ); + + inline G4double PostStepGetPhysicalInteractionLength( + const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition + ); + + //------------------------------------------------------------------------ + // Specific methods to build and access Physics Tables + //------------------------------------------------------------------------ + + G4double MicroscopicCrossSection(G4double kineticEnergy, + const G4MaterialCutsCouple* couple); + + G4PhysicsTable* BuildDEDXTable(G4EmTableType tType = fRestricted); + + G4PhysicsTable* BuildLambdaTable(G4EmTableType tType = fRestricted); + + void SetDEDXTable(G4PhysicsTable* p, G4EmTableType tType); + void SetCSDARangeTable(G4PhysicsTable* pRange); + void SetRangeTableForLoss(G4PhysicsTable* p); + void SetInverseRangeTable(G4PhysicsTable* p); + void SetSecondaryRangeTable(G4PhysicsTable* p); + + void SetLambdaTable(G4PhysicsTable* p); + void SetSubLambdaTable(G4PhysicsTable* p); + + // Binning for dEdx, range, inverse range and labda tables + inline void SetDEDXBinning(G4int nbins); + inline void SetLambdaBinning(G4int nbins); + + // Binning for dEdx, range, and inverse range tables + inline void SetDEDXBinningForCSDARange(G4int nbins); + + // Min kinetic energy for tables + inline void SetMinKinEnergy(G4double e); + inline G4double MinKinEnergy() const; + + // Max kinetic energy for tables + inline void SetMaxKinEnergy(G4double e); + inline G4double MaxKinEnergy() const; + + // Max kinetic energy for tables + inline void SetMaxKinEnergyForCSDARange(G4double e); + + // Access to specific tables + inline G4PhysicsTable* DEDXTable() const; + inline G4PhysicsTable* DEDXTableForSubsec() const; + inline G4PhysicsTable* DEDXunRestrictedTable() const; + inline G4PhysicsTable* IonisationTable() const; + inline G4PhysicsTable* IonisationTableForSubsec() const; + inline G4PhysicsTable* CSDARangeTable() const; + inline G4PhysicsTable* RangeTableForLoss() const; + inline G4PhysicsTable* InverseRangeTable() const; + inline G4PhysicsTable* LambdaTable(); + inline G4PhysicsTable* SubLambdaTable(); + + // Return values for given G4MaterialCutsCouple + inline G4double GetDEDX(G4double& kineticEnergy, const G4MaterialCutsCouple*); + inline G4double GetDEDXForSubsec(G4double& kineticEnergy, + const G4MaterialCutsCouple*); + inline G4double GetRange(G4double& kineticEnergy, const G4MaterialCutsCouple*); + inline G4double GetCSDARange(G4double& kineticEnergy, const G4MaterialCutsCouple*); + inline G4double GetRangeForLoss(G4double& kineticEnergy, const G4MaterialCutsCouple*); + inline G4double GetKineticEnergy(G4double& range, const G4MaterialCutsCouple*); + inline G4double GetLambda(G4double& kineticEnergy, const G4MaterialCutsCouple*); + + inline G4bool TablesAreBuilt() const; + + //------------------------------------------------------------------------ + // Define and access particle type + //------------------------------------------------------------------------ + + inline void SetBaseParticle(const G4ParticleDefinition* p); + inline const G4ParticleDefinition* Particle() const; + inline const G4ParticleDefinition* BaseParticle() const; + inline const G4ParticleDefinition* SecondaryParticle() const; + + //------------------------------------------------------------------------ + // Specific methods to set, access, modify models + //------------------------------------------------------------------------ + + // Add EM model coupled with fluctuation model for the region + inline void AddEmModel(G4int, G4VEmModel*, G4VEmFluctuationModel* fluc = 0, + const G4Region* region = 0); + + // Assign a model to a process + inline void SetEmModel(G4VEmModel*, G4int index=1); + + // return the assigned model + inline G4VEmModel* EmModel(G4int index=1); + + // Assign a fluctuation model to a process + inline void SetFluctModel(G4VEmFluctuationModel*); + + // return the assigned fluctuation model + inline G4VEmFluctuationModel* FluctModel(); + + // Define new energy range for the model identified by the name + inline void UpdateEmModel(const G4String&, G4double, G4double); // Access to models - G4VEmModel* GetModelByIndex(G4int idx = 0); + inline G4VEmModel* GetModelByIndex(G4int idx = 0); - G4int NumberOfModels(); + inline G4int NumberOfModels(); + + //------------------------------------------------------------------------ + // Get/set parameters used for simulation of energy loss + //------------------------------------------------------------------------ + + inline void SetLossFluctuations(G4bool val); + inline void SetRandomStep(G4bool val); + inline void SetIntegral(G4bool val); + inline G4bool IsIntegral() const; + + // Set/Get flag "isIonisation" + inline void SetIonisation(G4bool val); + inline G4bool IsIonisationProcess() const; + + // Redefine parameteters for stepping control + // + inline void SetLinearLossLimit(G4double val); + inline void SetMinSubRange(G4double val); + inline void SetStepFunction(G4double v1, G4double v2); + inline void SetLambdaFactor(G4double val); + + + // Add subcutoff option for the region + void ActivateSubCutoff(G4bool val, const G4Region* region = 0); + + inline G4int NumberOfSubCutoffRegions() const; + + // Activate deexcitation code + virtual void ActivateDeexcitation(G4bool, const G4Region* region = 0); + + //------------------------------------------------------------------------ + // Run time method for simulation of ionisation + //------------------------------------------------------------------------ + + inline G4double SampleRange(); + + inline G4VEmModel* SelectModelForMaterial(G4double kinEnergy, size_t& idx) const; + + + // Set scaling parameters + inline void SetDynamicMassCharge(G4double massratio, G4double charge2ratio); + + // Helper functions + inline G4double MeanFreePath(const G4Track& track); + + inline G4double ContinuousStepLimit(const G4Track& track, + G4double previousStepSize, + G4double currentMinimumStep, + G4double& currentSafety); protected: - void SetParticle(const G4ParticleDefinition* p); - - void SetSecondaryParticle(const G4ParticleDefinition* p); - - G4VEmModel* SelectModel(G4double kinEnergy); - - size_t CurrentMaterialCutsCoupleIndex() const; - - G4double GetCurrentRange() const; - G4PhysicsVector* LambdaPhysicsVector(const G4MaterialCutsCouple*, - G4double cut); + G4double cut); + + inline virtual void InitialiseMassCharge(const G4Track&); + + inline void SetParticle(const G4ParticleDefinition* p); + + inline void SetSecondaryParticle(const G4ParticleDefinition* p); + + inline G4VEmModel* SelectModel(G4double kinEnergy); + + inline size_t CurrentMaterialCutsCoupleIndex() const; + + inline G4double GetCurrentRange() const; private: // Clear tables void Clear(); - void DefineMaterial(const G4MaterialCutsCouple* couple); + inline void InitialiseStep(const G4Track&); + + inline void DefineMaterial(const G4MaterialCutsCouple* couple); // Returnd values for scaled energy and base particles mass // - G4double GetDEDXForScaledEnergy(G4double scaledKinEnergy); - G4double GetSubDEDXForScaledEnergy(G4double scaledKinEnergy); - G4double GetIonisationForScaledEnergy(G4double scaledKinEnergy); - G4double GetSubIonisationForScaledEnergy(G4double scaledKinEnergy); - G4double GetScaledRangeForScaledEnergy(G4double scaledKinEnergy); - G4double GetLimitScaledRangeForScaledEnergy(G4double scaledKinEnergy); - G4double GetLambdaForScaledEnergy(G4double scaledKinEnergy); - G4double ScaledKinEnergyForLoss(G4double range); - void ComputeLambdaForScaledEnergy(G4double scaledKinEnergy); + inline G4double GetDEDXForScaledEnergy(G4double scaledKinEnergy); + inline G4double GetSubDEDXForScaledEnergy(G4double scaledKinEnergy); + inline G4double GetIonisationForScaledEnergy(G4double scaledKinEnergy); + inline G4double GetSubIonisationForScaledEnergy(G4double scaledKinEnergy); + inline G4double GetScaledRangeForScaledEnergy(G4double scaledKinEnergy); + inline G4double GetLimitScaledRangeForScaledEnergy(G4double scaledKinEnergy); + inline G4double GetLambdaForScaledEnergy(G4double scaledKinEnergy); + inline G4double ScaledKinEnergyForLoss(G4double range); + inline void ComputeLambdaForScaledEnergy(G4double scaledKinEnergy); // hide assignment operator @@ -391,6 +424,7 @@ private: std::vector scoffRegions; G4int nSCoffRegions; G4int* idxSCoffRegions; + std::vector secParticles; std::vector scTracks; std::vector scProcesses; G4int nProcesses; @@ -420,6 +454,7 @@ private: const G4ParticleDefinition* particle; const G4ParticleDefinition* baseParticle; const G4ParticleDefinition* secondaryParticle; + const G4ParticleDefinition* theElectron; const G4ParticleDefinition* thePositron; G4PhysicsVector* vstrag; @@ -444,7 +479,6 @@ private: G4double chargeSqRatio; G4double preStepLambda; - G4double preStepMFP; G4double fRange; G4double preStepKinEnergy; G4double preStepScaledEnergy; @@ -455,13 +489,13 @@ private: G4double lambdaFactor; G4double mfpKinEnergy; + G4GPILSelection aGPILSelection; + G4bool lossFluctuationFlag; G4bool lossFluctuationArePossible; G4bool rndmStepFlag; G4bool tablesAreBuilt; G4bool integral; - G4bool meanFreePath; - G4bool aboveCSmax; G4bool isIonisation; G4bool useSubCutoff; }; @@ -476,12 +510,28 @@ inline void G4VEnergyLossProcess::DefineMaterial( currentCouple = couple; currentMaterial = couple->GetMaterial(); currentMaterialIndex = couple->GetIndex(); - if(!meanFreePath) ResetNumberOfInteractionLengthLeft(); + mfpKinEnergy = DBL_MAX; } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +inline void G4VEnergyLossProcess::InitialiseStep(const G4Track& track) +{ + InitialiseMassCharge(track); + preStepKinEnergy = track.GetKineticEnergy(); + preStepScaledEnergy = preStepKinEnergy*massRatio; + DefineMaterial(track.GetMaterialCutsCouple()); + if (theNumberOfInteractionLengthLeft < 0.0) mfpKinEnergy = DBL_MAX; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::InitialiseMassCharge(const G4Track&) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + inline G4double G4VEnergyLossProcess::GetDEDX(G4double& kineticEnergy, const G4MaterialCutsCouple* couple) { @@ -526,11 +576,11 @@ inline G4double G4VEnergyLossProcess::GetIonisationForScaledEnergy(G4double e) { G4bool b; G4double x = 0.0; - if(theIonisationTable) { - x = ((*theIonisationTable)[currentMaterialIndex]->GetValue(e, b)) - *chargeSqRatio; - if(e < minKinEnergy) x *= std::sqrt(e/minKinEnergy); - } + // if(theIonisationTable) { + x = ((*theIonisationTable)[currentMaterialIndex]->GetValue(e, b)) + *chargeSqRatio; + if(e < minKinEnergy) x *= std::sqrt(e/minKinEnergy); + //} return x; } @@ -541,11 +591,11 @@ G4double G4VEnergyLossProcess::GetSubIonisationForScaledEnergy(G4double e) { G4bool b; G4double x = 0.0; - if(theIonisationSubTable) { - x = ((*theIonisationSubTable)[currentMaterialIndex]->GetValue(e, b)) - *chargeSqRatio; - if(e < minKinEnergy) x *= std::sqrt(e/minKinEnergy); - } + //if(theIonisationSubTable) { + x = ((*theIonisationSubTable)[currentMaterialIndex]->GetValue(e, b)) + *chargeSqRatio; + if(e < minKinEnergy) x *= std::sqrt(e/minKinEnergy); + //} return x; } @@ -640,39 +690,21 @@ inline G4double G4VEnergyLossProcess::ScaledKinEnergyForLoss(G4double r) { G4PhysicsVector* v = (*theInverseRangeTable)[currentMaterialIndex]; G4double rmin = v->GetLowEdgeEnergy(0); - G4double e = minKinEnergy; - if(r <= rmin) { - r /= rmin; - e *= r*r; - } else { + G4double e = 0.0; + if(r >= rmin) { G4bool b; e = v->GetValue(r, b); + } else if(r > 0.0) { + G4double x = r/rmin; + e = minKinEnergy*x*x; } return e; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4VEnergyLossProcess::GetDEDXDispersion( - const G4MaterialCutsCouple *couple, - const G4DynamicParticle* dp, - G4double length) -{ - DefineMaterial(couple); - G4double ekin = dp->GetKineticEnergy(); - G4VEmModel* currentModel = SelectModel(ekin*massRatio); - G4double tmax = currentModel->MaxSecondaryKinEnergy(dp); - tmax = std::min(tmax,(*theCuts)[currentMaterialIndex]); - G4double d = 0.0; - G4VEmFluctuationModel* fm = currentModel->GetModelOfFluctuations(); - if(fm) d = fm->Dispersion(currentMaterial,dp,tmax,length); - return d; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - inline G4double G4VEnergyLossProcess::GetLambda(G4double& kineticEnergy, - const G4MaterialCutsCouple* couple) + const G4MaterialCutsCouple* couple) { DefineMaterial(couple); G4double x = 0.0; @@ -693,13 +725,11 @@ inline G4double G4VEnergyLossProcess::GetLambdaForScaledEnergy(G4double e) inline void G4VEnergyLossProcess::ComputeLambdaForScaledEnergy(G4double e) { - meanFreePath = false; - aboveCSmax = false; mfpKinEnergy = theEnergyOfCrossSectionMax[currentMaterialIndex]; if (e <= mfpKinEnergy) { preStepLambda = GetLambdaForScaledEnergy(e); + // mfpKinEnergy = 0.0; } else { - aboveCSmax = true; G4double e1 = e*lambdaFactor; if(e1 > mfpKinEnergy) { preStepLambda = GetLambdaForScaledEnergy(e); @@ -712,47 +742,51 @@ inline void G4VEnergyLossProcess::ComputeLambdaForScaledEnergy(G4double e) preStepLambda = chargeSqRatio*theCrossSectionMax[currentMaterialIndex]; } } + // theNumberOfInteractionLengthLeft = -1.; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4VEnergyLossProcess::GetMeanFreePath( - const G4Track& track, G4double, G4ForceCondition* condition) +inline G4double G4VEnergyLossProcess::ContinuousStepLimit( + const G4Track& track, G4double x, G4double y, G4double& z) { - *condition = NotForced; - preStepKinEnergy = track.GetKineticEnergy(); - preStepScaledEnergy = preStepKinEnergy*massRatio; - if(aboveCSmax && preStepScaledEnergy < mfpKinEnergy) - ResetNumberOfInteractionLengthLeft(); - DefineMaterial(track.GetMaterialCutsCouple()); - if (meanFreePath) { - if (integral) ComputeLambdaForScaledEnergy(preStepScaledEnergy); - else preStepLambda = GetLambdaForScaledEnergy(preStepScaledEnergy); - if(0.0 < preStepLambda) preStepMFP = 1.0/preStepLambda; - else preStepMFP = DBL_MAX; - } - // G4cout< DBL_MIN) { + + if (theNumberOfInteractionLengthLeft < 0.0) { + // beggining of tracking (or just after DoIt of this process) + ResetNumberOfInteractionLengthLeft(); + } else if(previousStepSize > DBL_MIN) { + // subtract NumberOfInteractionLengthLeft + SubtractNumberOfInteractionLengthLeft(previousStepSize); + if(theNumberOfInteractionLengthLeft<0.) + theNumberOfInteractionLengthLeft=perMillion; + } + + // get mean free path + currentInteractionLength = 1.0/preStepLambda; + x = theNumberOfInteractionLengthLeft * currentInteractionLength; +#ifdef G4VERBOSE + if (verboseLevel>2){ + G4cout << "G4VEnergyLossProcess::PostStepGetPhysicalInteractionLength "; + G4cout << "[ " << GetProcessName() << "]" << G4endl; + G4cout << " for " << particle->GetParticleName() + << " in Material " << currentMaterial->GetName() + << " Ekin(MeV)= " << preStepKinEnergy/MeV + < 0.0) reduceFactor = 1.0/(chargeSqRatio*massRatio); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -942,6 +1039,20 @@ inline G4double G4VEnergyLossProcess::GetCurrentRange() const //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +void G4VEnergyLossProcess::AddEmModel(G4int order, G4VEmModel* p, + G4VEmFluctuationModel* fluc, + const G4Region* region) +{ + modelManager->AddEmModel(order, p, fluc, region); + if(p) p->SetParticleChange(pParticleChange, fluc); + if(!fluc) { + lossFluctuationFlag = false; + lossFluctuationArePossible = false; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + inline G4VEmModel* G4VEnergyLossProcess::GetModelByIndex(G4int idx) { return modelManager->GetModel(idx); @@ -956,4 +1067,201 @@ inline G4int G4VEnergyLossProcess::NumberOfModels() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +inline void G4VEnergyLossProcess::SetEmModel(G4VEmModel* p, G4int index) +{ + emModel[index] = p; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4VEmModel* G4VEnergyLossProcess::EmModel(G4int index) +{ + return emModel[index]; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetFluctModel(G4VEmFluctuationModel* p) +{ + fluctModel = p; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4VEmFluctuationModel* G4VEnergyLossProcess::FluctModel() +{ + return fluctModel; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::UpdateEmModel(const G4String& nam, + G4double emin, G4double emax) +{ + modelManager->UpdateEmModel(nam, emin, emax); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetIntegral(G4bool val) +{ + integral = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetParticle(const G4ParticleDefinition* p) +{ + particle = p; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetBaseParticle(const G4ParticleDefinition* p) +{ + baseParticle = p; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetSecondaryParticle(const G4ParticleDefinition* p) +{ + secondaryParticle = p; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetLinearLossLimit(G4double val) +{ + linLossLimit = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetLossFluctuations(G4bool val) +{ + if(!val || lossFluctuationArePossible) lossFluctuationFlag = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetRandomStep(G4bool val) +{ + rndmStepFlag = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetMinSubRange(G4double val) +{ + minSubRange = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4bool G4VEnergyLossProcess::TablesAreBuilt() const +{ + return tablesAreBuilt; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4int G4VEnergyLossProcess::NumberOfSubCutoffRegions() const +{ + return nSCoffRegions; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetDEDXBinning(G4int nbins) +{ + nBins = nbins; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetLambdaBinning(G4int nbins) +{ + nBins = nbins; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetDEDXBinningForCSDARange(G4int nbins) +{ + nBinsCSDA = nbins; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEnergyLossProcess::MinKinEnergy() const +{ + return minKinEnergy; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetMinKinEnergy(G4double e) +{ + minKinEnergy = e; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetMaxKinEnergy(G4double e) +{ + maxKinEnergy = e; + if(e < maxKinEnergyCSDA) maxKinEnergyCSDA = e; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetMaxKinEnergyForCSDARange(G4double e) +{ + maxKinEnergyCSDA = e; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VEnergyLossProcess::MaxKinEnergy() const +{ + return maxKinEnergy; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetLambdaFactor(G4double val) +{ + if(val > 0.0 && val <= 1.0) lambdaFactor = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VEnergyLossProcess::SetIonisation(G4bool val) +{ + isIonisation = val; + if(val) aGPILSelection = CandidateForSelection; + else aGPILSelection = NotCandidateForSelection; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4bool G4VEnergyLossProcess::IsIonisationProcess() const +{ + return isIonisation; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4VEnergyLossProcess::SetStepFunction(G4double v1, G4double v2) +{ + dRoverRange = v1; + finalRange = v2; + if (dRoverRange > 0.999) dRoverRange = 1.0; + currentCouple = 0; + mfpKinEnergy = DBL_MAX; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + #endif diff --git a/source/processes/electromagnetic/utils/include/G4VMultipleScattering.hh b/source/processes/electromagnetic/utils/include/G4VMultipleScattering.hh index fc782ca47f..f8a435e49b 100644 --- a/source/processes/electromagnetic/utils/include/G4VMultipleScattering.hh +++ b/source/processes/electromagnetic/utils/include/G4VMultipleScattering.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VMultipleScattering.hh,v 1.42 2007/03/15 12:33:38 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4VMultipleScattering.hh,v 1.46 2007/06/11 14:56:51 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -79,6 +79,7 @@ #include "G4Step.hh" #include "G4EmModelManager.hh" #include "G4VEmModel.hh" +#include "G4MscStepLimitType.hh" class G4ParticleDefinition; class G4DataVector; @@ -114,50 +115,22 @@ protected: //------------------------------------------------------------------------ public: + //------------------------------------------------------------------------ + // Generic methods common to all ContinuousDiscrete processes + //------------------------------------------------------------------------ + // Initialise for build of tables virtual void PreparePhysicsTable(const G4ParticleDefinition&); // Build physics table during initialisation virtual void BuildPhysicsTable(const G4ParticleDefinition&); - // set boolean flag steppingAlgorithm - // ( true/false : standard or 7.1 style process) - virtual void MscStepLimitation(G4bool algorithm, G4double factor = -1.); - - //------------------------------------------------------------------------ - // Generic methods common to all models - //------------------------------------------------------------------------ - - virtual G4VParticleChange* AlongStepDoIt(const G4Track&, const G4Step&); - - virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); - - // The function overloads the corresponding function of the base - // class.It limits the step near to boundaries only - // and invokes the method GetContinuousStepLimit at every step. - G4double AlongStepGetPhysicalInteractionLength( - const G4Track&, - G4double previousStepSize, - G4double currentMinimalStep, - G4double& currentSafety, - G4GPILSelection* selection); - // Print out of generic class parameters void PrintInfoDefinition(); - void SetBinning(G4int nbins); - G4int Binning() const; - // Print out of the class parameters + inline virtual G4VParticleChange* AlongStepDoIt(const G4Track&, const G4Step&); - void SetMinKinEnergy(G4double e); - G4double MinKinEnergy() const; - // Print out of the class parameters - - void SetMaxKinEnergy(G4double e); - G4double MaxKinEnergy() const; - - // Build empty Physics Vector - G4PhysicsVector* PhysicsVector(const G4MaterialCutsCouple*); + inline virtual G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step&); // Store PhysicsTable in a file. // Return false in case of failure at I/O @@ -174,59 +147,139 @@ public: const G4String& directory, G4bool ascii); - void AddEmModel(G4int, G4VEmModel*, const G4Region* region = 0); + //------------------------------------------------------------------------ + // Specific methods for multiple scattering + //------------------------------------------------------------------------ + + // Build empty Physics Vector + G4PhysicsVector* PhysicsVector(const G4MaterialCutsCouple*); + + // The function overloads the corresponding function of the base + // class.It limits the step near to boundaries only + // and invokes the method GetMscContinuousStepLimit at every step. + inline virtual G4double AlongStepGetPhysicalInteractionLength( + const G4Track&, + G4double previousStepSize, + G4double currentMinimalStep, + G4double& currentSafety, + G4GPILSelection* selection); + + // The function overloads the corresponding function of the base + // class. + inline virtual G4double PostStepGetPhysicalInteractionLength( + const G4Track&, + G4double previousStepSize, + G4ForceCondition* condition); // This method does not used for tracking, it is intended only for tests - virtual G4double ContinuousStepLimit(const G4Track& track, - G4double previousStepSize, - G4double currentMinimalStep, - G4double& currentSafety); + inline virtual G4double ContinuousStepLimit(const G4Track& track, + G4double previousStepSize, + G4double currentMinimalStep, + G4double& currentSafety); - G4bool LateralDisplasmentFlag() const; - void SetLateralDisplasmentFlag(G4bool val); - // lateral displacement to be/not to be computed + //------------------------------------------------------------------------ + // Specific methods to build and access Physics Tables + //------------------------------------------------------------------------ - G4double Skin() const; - void SetSkin(G4double val); - // skin parameter + inline void SetBinning(G4int nbins); + inline G4int Binning() const; - void SetBuildLambdaTable(G4bool val); + inline void SetMinKinEnergy(G4double e); + inline G4double MinKinEnergy() const; + // Print out of the class parameters - G4PhysicsTable* LambdaTable() const; + inline void SetMaxKinEnergy(G4double e); + inline G4double MaxKinEnergy() const; - G4VEmModel* SelectModelForMaterial(G4double kinEnergy, size_t& idxRegion) const; + inline void SetBuildLambdaTable(G4bool val); - // Define particle definition - const G4ParticleDefinition* Particle() const; - void SetParticle(const G4ParticleDefinition*); + inline G4PhysicsTable* LambdaTable() const; + + //------------------------------------------------------------------------ + // Define and access particle type + //------------------------------------------------------------------------ + + inline const G4ParticleDefinition* Particle() const; + inline void SetParticle(const G4ParticleDefinition*); + + //------------------------------------------------------------------------ + // Specific methods to set, access, modify models + //------------------------------------------------------------------------ + + void AddEmModel(G4int, G4VEmModel*, const G4Region* region = 0); + + inline G4VEmModel* SelectModelForMaterial(G4double kinEnergy, size_t& idxRegion) const; // Access to models - G4VEmModel* GetModelByIndex(G4int idx = 0); + inline G4VEmModel* GetModelByIndex(G4int idx = 0); + + //------------------------------------------------------------------------ + // Parameters for simulation of multiple scattering + //------------------------------------------------------------------------ + + inline void SetLateralDisplasmentFlag(G4bool val); + // lateral displacement to be/not to be computed + + inline void SetSkin(G4double val); + // skin parameter + + inline void SetRangeFactor(G4double val); + // FactorRange parameter + + inline void SetGeomFactor(G4double val); + // FactorRange parameter + + inline void SetStepLimitType(G4MscStepLimitType val); + // FactorRange parameter protected: // This method is used for tracking, it returns mean free path value - G4double GetMeanFreePath(const G4Track& track, - G4double, - G4ForceCondition* condition); + inline virtual G4double GetMeanFreePath(const G4Track& track, + G4double, + G4ForceCondition* condition); - G4double GetLambda(const G4ParticleDefinition* p, G4double& kineticEnergy); + //------------------------------------------------------------------------ + // Run time methods + //------------------------------------------------------------------------ + + inline G4double GetLambda(const G4ParticleDefinition* p, G4double& kineticEnergy); // This method is used for tracking, it returns step limit - virtual G4double GetContinuousStepLimit(const G4Track& track, + inline G4double GetMscContinuousStepLimit(const G4Track& track, G4double previousStepSize, G4double currentMinimalStep, G4double& currentSafety); - G4VEmModel* SelectModel(G4double kinEnergy); + // This method is not used for tracking, it returns step limit + inline virtual G4double GetContinuousStepLimit(const G4Track& track, + G4double previousStepSize, + G4double currentMinimalStep, + G4double& currentSafety); + + inline G4VEmModel* SelectModel(G4double kinEnergy); // Select concrete model - const G4MaterialCutsCouple* CurrentMaterialCutsCouple() const; + inline const G4MaterialCutsCouple* CurrentMaterialCutsCouple() const; // Return current G4MaterialCutsCouple - void DefineMaterial(const G4MaterialCutsCouple* couple); + inline void DefineMaterial(const G4MaterialCutsCouple* couple); // define current material + //------------------------------------------------------------------------ + // Parameters for simulation of multiple scattering + //------------------------------------------------------------------------ + + inline G4double Skin() const; + + inline G4double RangeFactor() const; + + inline G4double GeomFactor() const; + + inline G4MscStepLimitType StepLimitType() const; + + inline G4bool LateralDisplasmentFlag() const; + private: // hide assignment operator @@ -255,9 +308,13 @@ private: G4int nBins; + G4MscStepLimitType stepLimit; + G4double minKinEnergy; G4double maxKinEnergy; G4double skin; + G4double facrange; + G4double facgeom; G4bool latDisplasment; G4bool buildLambdaTable; @@ -276,11 +333,19 @@ inline void G4VMultipleScattering::DefineMaterial(const G4MaterialCutsCouple* co //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4VMultipleScattering::GetMeanFreePath(const G4Track&, - G4double, - G4ForceCondition* cond) +inline G4double G4VMultipleScattering::PostStepGetPhysicalInteractionLength( + const G4Track&, G4double, G4ForceCondition* condition) { - *cond = Forced; + *condition = Forced; + return DBL_MAX; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VMultipleScattering::GetMeanFreePath( + const G4Track&, G4double, G4ForceCondition* condition) +{ + *condition = Forced; return DBL_MAX; } @@ -295,7 +360,7 @@ inline G4double G4VMultipleScattering::AlongStepGetPhysicalInteractionLength( { // get Step limit proposed by the process valueGPILSelectionMSC = NotCandidateForSelection; - G4double steplength = GetContinuousStepLimit(track,previousStepSize, + G4double steplength = GetMscContinuousStepLimit(track,previousStepSize, currentMinimalStep,currentSafety); // G4cout << "StepLimit= " << steplength << G4endl; // set return value for G4GPILSelection @@ -305,7 +370,7 @@ inline G4double G4VMultipleScattering::AlongStepGetPhysicalInteractionLength( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -inline G4double G4VMultipleScattering::GetContinuousStepLimit( +inline G4double G4VMultipleScattering::GetMscContinuousStepLimit( const G4Track& track, G4double, G4double currentMinimalStep, @@ -329,13 +394,25 @@ inline G4double G4VMultipleScattering::GetContinuousStepLimit( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +inline G4double G4VMultipleScattering::GetContinuousStepLimit( + const G4Track& track, + G4double previousStepSize, + G4double currentMinimalStep, + G4double& currentSafety) +{ + return GetMscContinuousStepLimit(track,previousStepSize,currentMinimalStep, + currentSafety); +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + inline G4double G4VMultipleScattering::ContinuousStepLimit( const G4Track& track, G4double previousStepSize, G4double currentMinimalStep, G4double& currentSafety) { - return GetContinuousStepLimit(track,previousStepSize,currentMinimalStep, + return GetMscContinuousStepLimit(track,previousStepSize,currentMinimalStep, currentSafety); } @@ -372,8 +449,11 @@ inline G4VParticleChange* G4VMultipleScattering::PostStepDoIt(const G4Track& tra const G4Step& step) { fParticleChange.Initialize(track); - currentModel->SampleSecondaries(currentCouple,track.GetDynamicParticle(), - step.GetStepLength(),step.GetPostStepPoint()->GetSafety()); + std::vector* p=0; + currentModel->SampleSecondaries(p, currentCouple, + track.GetDynamicParticle(), + step.GetStepLength(), + step.GetPostStepPoint()->GetSafety()); return &fParticleChange; } @@ -459,14 +539,68 @@ inline G4double G4VMultipleScattering::Skin() const inline void G4VMultipleScattering::SetSkin(G4double val) { - skin = val; + if(val <= 0.99999) { + skin = 0.0; + stepLimit = fUseSafety; + } else { + skin = val; + stepLimit = fUseDistanceToBoundary; + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VMultipleScattering::RangeFactor() const +{ + return facrange; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VMultipleScattering::SetRangeFactor(G4double val) +{ + if(val > 0.0) facrange = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4double G4VMultipleScattering::GeomFactor() const +{ + return facgeom; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VMultipleScattering::SetGeomFactor(G4double val) +{ + if(val > 0.0) facgeom = val; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline G4MscStepLimitType G4VMultipleScattering::StepLimitType() const +{ + return stepLimit; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +inline void G4VMultipleScattering::SetStepLimitType(G4MscStepLimitType val) +{ + stepLimit = val; + if(val == fMinimal) { + skin = 0; + facrange = 0.2; + } else if(val == fUseSafety) { + skin = 0; + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... inline void G4VMultipleScattering::SetBuildLambdaTable(G4bool val) { - buildLambdaTable = val; + buildLambdaTable = val; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/include/G4ionEffectiveCharge.hh b/source/processes/electromagnetic/utils/include/G4ionEffectiveCharge.hh index 0ea94faec6..a4ae548d17 100644 --- a/source/processes/electromagnetic/utils/include/G4ionEffectiveCharge.hh +++ b/source/processes/electromagnetic/utils/include/G4ionEffectiveCharge.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ionEffectiveCharge.hh,v 1.8 2006/08/15 16:21:39 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/utils/src/G4DummyModel.cc b/source/processes/electromagnetic/utils/src/G4DummyModel.cc index 54a0a6dade..c8d76ddc09 100644 --- a/source/processes/electromagnetic/utils/src/G4DummyModel.cc +++ b/source/processes/electromagnetic/utils/src/G4DummyModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4DummyModel.cc,v 1.2 2006/06/29 19:54:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4DummyModel.cc,v 1.3 2007/05/22 17:31:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -67,15 +67,12 @@ void G4DummyModel::Initialise(const G4ParticleDefinition*, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4DummyModel::SampleSecondaries( - const G4MaterialCutsCouple*, - const G4DynamicParticle*, - G4double, - G4double) -{ - std::vector* vdp = 0; - return vdp; -} +void G4DummyModel::SampleSecondaries(std::vector*, + const G4MaterialCutsCouple*, + const G4DynamicParticle*, + G4double, + G4double) +{} //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/src/G4EmCalculator.cc b/source/processes/electromagnetic/utils/src/G4EmCalculator.cc index c5b0e3cf65..b98935043c 100644 --- a/source/processes/electromagnetic/utils/src/G4EmCalculator.cc +++ b/source/processes/electromagnetic/utils/src/G4EmCalculator.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4EmCalculator.cc,v 1.36 2007/03/15 12:34:47 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/utils/src/G4EmCorrections.cc b/source/processes/electromagnetic/utils/src/G4EmCorrections.cc index c385ebe2c5..e50eae13ba 100644 --- a/source/processes/electromagnetic/utils/src/G4EmCorrections.cc +++ b/source/processes/electromagnetic/utils/src/G4EmCorrections.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmCorrections.cc,v 1.21 2007/05/08 17:50:06 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4EmCorrections.cc,v 1.22 2007/05/18 18:39:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -78,6 +78,7 @@ G4EmCorrections::G4EmCorrections() verbose = 1; massFactor = 1.0; nist = G4NistManager::Instance(); + ionTable = G4ParticleTable::GetParticleTable()->GetIonTable(); } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -675,7 +676,7 @@ G4double G4EmCorrections::EffectiveChargeCorrection(const G4ParticleDefinition* G4int Z = p->GetAtomicNumber(); G4int A = p->GetAtomicMass(); if(verbose > 1) G4cout << "Zion= " << Z << " Aion= " << A << G4endl; - massFactor = proton_mass_c2/G4ParticleTable::GetParticleTable()->GetIonTable()->GetIonMass(Z,A); + massFactor = proton_mass_c2/ionTable->GetIonMass(Z,A); idx = 0; for(; idxGetParticleName(); + G4cout << " nModels=" << nEmModels <GetParticleName(); + G4cout << G4endl; } theCuts.clear(); diff --git a/source/processes/electromagnetic/utils/src/G4EmMultiModel.cc b/source/processes/electromagnetic/utils/src/G4EmMultiModel.cc index c38f91e191..96ca8caf9f 100644 --- a/source/processes/electromagnetic/utils/src/G4EmMultiModel.cc +++ b/source/processes/electromagnetic/utils/src/G4EmMultiModel.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmMultiModel.cc,v 1.5 2006/06/29 19:55:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4EmMultiModel.cc,v 1.6 2007/05/22 17:31:58 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -140,15 +140,13 @@ G4double G4EmMultiModel::CrossSection(const G4MaterialCutsCouple* couple, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -std::vector* G4EmMultiModel::SampleSecondaries( - const G4MaterialCutsCouple* couple, - const G4DynamicParticle* dp, - G4double tmin, - G4double maxEnergy) +void G4EmMultiModel::SampleSecondaries(std::vector* vdp, + const G4MaterialCutsCouple* couple, + const G4DynamicParticle* dp, + G4double tmin, + G4double maxEnergy) { - std::vector* vdp = 0; - - if(nModels) { + if(nModels > 0) { G4int i; G4double cross = 0.0; G4double t1 = tmin; @@ -168,13 +166,11 @@ std::vector* G4EmMultiModel::SampleSecondaries( t1 = std::max(t2, tsecmin[i]); t2 = std::min(maxEnergy, tsecmin[i+1]); if(cross <= cross_section[i]) { - vdp = (model[i])->SampleSecondaries(couple, dp, t1, t2); + (model[i])->SampleSecondaries(vdp, couple, dp, t1, t2); break; } } } - - return vdp; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/src/G4EmProcessOptions.cc b/source/processes/electromagnetic/utils/src/G4EmProcessOptions.cc index a497037f6d..ccfc78db2e 100644 --- a/source/processes/electromagnetic/utils/src/G4EmProcessOptions.cc +++ b/source/processes/electromagnetic/utils/src/G4EmProcessOptions.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4EmProcessOptions.cc,v 1.20 2007/02/12 12:31:50 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4EmProcessOptions.cc,v 1.21 2007/05/18 18:39:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -260,13 +260,6 @@ void G4EmProcessOptions::SetDEDXBinningForCSDARange(G4int val) void G4EmProcessOptions::SetLambdaBinning(G4int val) { - const std::vector& v = - theManager->GetEnergyLossProcessVector(); - std::vector::const_iterator itr; - for(itr = v.begin(); itr != v.end(); itr++) { - G4VEnergyLossProcess* p = *itr; - if(p) p->SetLambdaBinning(val); - } const std::vector& w = theManager->GetEmProcessVector(); std::vector::const_iterator itp; @@ -368,7 +361,6 @@ void G4EmProcessOptions::SetVerbose(G4int val, const G4String& name) else if (s->GetProcessName() == name) s->SetVerboseLevel(val); } } - } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -407,10 +399,67 @@ void G4EmProcessOptions::ActivateDeexcitation(G4bool val, const G4Region* r) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4EmProcessOptions::SetMscStepLimitation(G4bool algorithm, - G4double factor) +void G4EmProcessOptions::SetMscStepLimitation(G4MscStepLimitType val) { - theManager->SetMscStepLimitation(algorithm, factor); + const std::vector& u = + theManager->GetMultipleScatteringVector(); + std::vector::const_iterator itm; + for(itm = u.begin(); itm != u.end(); itm++) { + if(*itm) (*itm)->SetStepLimitType(val); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4EmProcessOptions::SetMscLateralDisplacement(G4bool val) +{ + const std::vector& u = + theManager->GetMultipleScatteringVector(); + std::vector::const_iterator itm; + for(itm = u.begin(); itm != u.end(); itm++) { + if(*itm) (*itm)->SetLateralDisplasmentFlag(val); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4EmProcessOptions::SetSkin(G4double val) +{ + if(val < 0.0) return; + const std::vector& u = + theManager->GetMultipleScatteringVector(); + std::vector::const_iterator itm; + for(itm = u.begin(); itm != u.end(); itm++) { + if(*itm) { + (*itm)->SetSkin(val); + } + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4EmProcessOptions::SetMscRangeFactor(G4double val) +{ + if(val < 0.0) return; + const std::vector& u = + theManager->GetMultipleScatteringVector(); + std::vector::const_iterator itm; + for(itm = u.begin(); itm != u.end(); itm++) { + if(*itm) (*itm)->SetRangeFactor(val); + } +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4EmProcessOptions::SetMscGeomFactor(G4double val) +{ + if(val < 0.0) return; + const std::vector& u = + theManager->GetMultipleScatteringVector(); + std::vector::const_iterator itm; + for(itm = u.begin(); itm != u.end(); itm++) { + if(*itm) (*itm)->SetGeomFactor(val); + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -422,13 +471,6 @@ void G4EmProcessOptions::SetLPMFlag(G4bool val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4EmProcessOptions::SetMscLateralDisplacement(G4bool val) -{ - theManager->SetMscLateralDisplacement(val); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - void G4EmProcessOptions::SetLinearLossLimit(G4double val) { theManager->SetLinearLossLimit(val); @@ -436,13 +478,6 @@ void G4EmProcessOptions::SetLinearLossLimit(G4double val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4EmProcessOptions::SetSkin(G4double val) -{ - theManager->SetSkin(val); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - void G4EmProcessOptions::SetBremsstrahlungTh(G4double val) { theManager->SetBremsstrahlungTh(val); diff --git a/source/processes/electromagnetic/utils/src/G4EnergyLossMessenger.cc b/source/processes/electromagnetic/utils/src/G4EnergyLossMessenger.cc index 3060088f48..75532ebe3b 100644 --- a/source/processes/electromagnetic/utils/src/G4EnergyLossMessenger.cc +++ b/source/processes/electromagnetic/utils/src/G4EnergyLossMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4EnergyLossMessenger.cc,v 1.27 2007/03/17 19:24:39 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4EnergyLossMessenger.cc,v 1.29 2007/06/11 14:56:51 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -47,6 +47,7 @@ // 15-03-07 Send a message "/run/physicsModified" if reinitialisation // is needed after the command (V.Ivanchenko) // 16-03-07 modify /process/eLoss/minsubsec command (V.Ivanchenko) +// 18-05-07 add /process/msc directory and commands (V.Ivanchenko) // // ------------------------------------------------------------------- // @@ -57,7 +58,6 @@ #include "G4EnergyLossMessenger.hh" #include "G4VEnergyLoss.hh" -#include "G4LossTableManager.hh" #include "G4UIdirectory.hh" #include "G4UIcommand.hh" @@ -66,8 +66,11 @@ #include "G4UIcmdWithAnInteger.hh" #include "G4UIcmdWithADouble.hh" #include "G4UIcmdWithADoubleAndUnit.hh" +#include "G4UIcmdWithAString.hh" #include "G4EmProcessOptions.hh" #include "G4UImanager.hh" +#include "G4MscStepLimitType.hh" +#include "G4EmProcessOptions.hh" #include @@ -75,8 +78,11 @@ G4EnergyLossMessenger::G4EnergyLossMessenger() { + opt = 0; eLossDirectory = new G4UIdirectory("/process/eLoss/"); - eLossDirectory->SetGuidance("Commands for G4VEnergyLoss."); + eLossDirectory->SetGuidance("Commands for EM processes."); + mscDirectory = new G4UIdirectory("/process/msc/"); + mscDirectory->SetGuidance("Commands for EM scattering processes."); RndmStepCmd = new G4UIcmdWithABool("/process/eLoss/rndmStep",this); RndmStepCmd->SetGuidance("Randomize the proposed step by eLoss."); @@ -156,25 +162,17 @@ G4EnergyLossMessenger::G4EnergyLossMessenger() lpmCmd->SetDefaultValue(true); lpmCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - latCmd = new G4UIcmdWithABool("/process/eLoss/MscLateralDisplacement",this); - latCmd->SetGuidance("Switch true/false sampling of latra dislacent."); - latCmd->SetParameterName("lat",true); - latCmd->SetDefaultValue(true); - latCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - dedxCmd = new G4UIcmdWithAnInteger("/process/eLoss/binsDEDX",this); dedxCmd->SetGuidance("Set number of bins for DEDX tables."); dedxCmd->SetParameterName("binsDEDX",true); - // dedxCmd->SetParameterRange("binsDEDX>59"); dedxCmd->SetDefaultValue(120); dedxCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - lbCmd = new G4UIcmdWithAnInteger("/process/eLoss/binsLambda",this); - lbCmd->SetGuidance("Set number of bins for Lambda tables."); - lbCmd->SetParameterName("binsL",true); - // lbCmd->SetParameterRange("binsL>59"); - lbCmd->SetDefaultValue(120); - lbCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + lamCmd = new G4UIcmdWithAnInteger("/process/eLoss/binsLambda",this); + lamCmd->SetGuidance("Set number of bins for Lambda tables."); + lamCmd->SetParameterName("binsL",true); + lamCmd->SetDefaultValue(120); + lamCmd->AvailableForStates(G4State_PreInit,G4State_Idle); verCmd = new G4UIcmdWithAnInteger("/process/eLoss/verbose",this); verCmd->SetGuidance("Set verbose level for EM physics."); @@ -182,24 +180,42 @@ G4EnergyLossMessenger::G4EnergyLossMessenger() verCmd->SetDefaultValue(1); verCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - mscCmd = new G4UIcommand("/process/eLoss/MscStepLimit",this); - mscCmd->SetGuidance("Set msc step limit flag and facRange value."); - G4UIparameter* facRange = new G4UIparameter("facRange",'d',false); - facRange->SetGuidance("msc parameter facRange"); - facRange->SetParameterRange("facRange>0."); - mscCmd->SetParameter(facRange); - G4UIparameter* msc = new G4UIparameter("algMsc",'s',true); - msc->SetGuidance("msc step algorithm flag"); - msc->SetDefaultValue("true"); - mscCmd->SetParameter(msc); - mscCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - lllCmd = new G4UIcmdWithADouble("/process/eLoss/linLossLimit",this); lllCmd->SetGuidance("Set linearLossLimit parameter."); lllCmd->SetParameterName("linlim",true); lllCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - skinCmd = new G4UIcmdWithADouble("/process/eLoss/MscSkin",this); + labCmd = new G4UIcmdWithADouble("/process/eLoss/lambdaFactor",this); + labCmd->SetGuidance("Set lambdaFactor parameter."); + labCmd->SetParameterName("Fl",true); + labCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + mscCmd = new G4UIcmdWithAString("/process/msc/StepLimit",this); + mscCmd->SetGuidance("Set msc step limitation type."); + mscCmd->SetParameterName("StepLim",true); + mscCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + latCmd = new G4UIcmdWithABool("/process/msc/LateralDisplacement",this); + latCmd->SetGuidance("Switch true/false sampling of latra dislacent."); + latCmd->SetParameterName("lat",true); + latCmd->SetDefaultValue(true); + latCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + frCmd = new G4UIcmdWithADouble("/process/msc/RangeFactor",this); + frCmd->SetGuidance("Set RangeFactor parameter for msc process."); + frCmd->SetParameterName("Fr",true); + frCmd->SetRange("Fr>0"); + frCmd->SetDefaultValue(0.02); + frCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + fgCmd = new G4UIcmdWithADouble("/process/msc/GeomFactor",this); + fgCmd->SetGuidance("Set GeomFactor parameter for msc process."); + fgCmd->SetParameterName("Fg",true); + fgCmd->SetRange("Fg>0"); + fgCmd->SetDefaultValue(3.5); + fgCmd->AvailableForStates(G4State_PreInit,G4State_Idle); + + skinCmd = new G4UIcmdWithADouble("/process/msc/Skin",this); skinCmd->SetGuidance("Set skin parameter for multiple scattering."); skinCmd->SetParameterName("skin",true); skinCmd->AvailableForStates(G4State_PreInit,G4State_Idle); @@ -210,12 +226,14 @@ G4EnergyLossMessenger::G4EnergyLossMessenger() G4EnergyLossMessenger::~G4EnergyLossMessenger() { + delete opt; delete RndmStepCmd; delete EnlossFlucCmd; delete SubSecCmd; delete MinSubSecCmd; delete StepFuncCmd; delete eLossDirectory; + delete mscDirectory; delete MinEnCmd; delete MaxEnCmd; delete IntegCmd; @@ -225,8 +243,11 @@ G4EnergyLossMessenger::~G4EnergyLossMessenger() delete verCmd; delete mscCmd; delete dedxCmd; - delete lbCmd; + delete frCmd; + delete fgCmd; delete lllCmd; + delete lamCmd; + delete labCmd; delete skinCmd; } @@ -234,26 +255,26 @@ G4EnergyLossMessenger::~G4EnergyLossMessenger() void G4EnergyLossMessenger::SetNewValue(G4UIcommand* command,G4String newValue) { - G4LossTableManager* lossTables = G4LossTableManager::Instance(); - + if(!opt) opt = new G4EmProcessOptions(); + if (command == RndmStepCmd) { G4VEnergyLoss::SetRndmStep(RndmStepCmd->GetNewBoolValue(newValue)); - lossTables->SetRandomStep(RndmStepCmd->GetNewBoolValue(newValue)); + opt->SetRandomStep(RndmStepCmd->GetNewBoolValue(newValue)); } if (command == EnlossFlucCmd) { G4VEnergyLoss::SetEnlossFluc(EnlossFlucCmd->GetNewBoolValue(newValue)); - lossTables->SetLossFluctuations(EnlossFlucCmd->GetNewBoolValue(newValue)); + opt->SetLossFluctuations(EnlossFlucCmd->GetNewBoolValue(newValue)); } if (command == SubSecCmd) { G4VEnergyLoss::SetSubSec(SubSecCmd->GetNewBoolValue(newValue)); - lossTables->SetSubCutoff(SubSecCmd->GetNewBoolValue(newValue)); + opt->SetSubCutoff(SubSecCmd->GetNewBoolValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); } if (command == MinSubSecCmd) { - lossTables->SetMinSubRange(MinSubSecCmd->GetNewDoubleValue(newValue)); + opt->SetMinSubRange(MinSubSecCmd->GetNewDoubleValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); } @@ -264,65 +285,82 @@ void G4EnergyLossMessenger::SetNewValue(G4UIcommand* command,G4String newValue) is >> v1 >> v2 >> unt; v2 *= G4UIcommand::ValueOf(unt); G4VEnergyLoss::SetStepFunction(v1,v2); - lossTables->SetStepFunction(v1,v2); + opt->SetStepFunction(v1,v2); } if (command == mscCmd) { - G4double f; - G4bool a = true; - G4String s; - std::istringstream is(newValue); - is >> f >> s; - if(s == "false" || s == "0" || s == "no") a = false; - lossTables->SetMscStepLimitation(a,f); + if(newValue == "Minimal") + opt->SetMscStepLimitation(fMinimal); + + else if(newValue == "UseDistanceToBoundary") + opt->SetMscStepLimitation(fUseDistanceToBoundary); + + else if(newValue == "UseSafety") + opt->SetMscStepLimitation(fUseSafety); + + else { + G4cout << "### G4EnergyLossMessenger WARNING: StepLimit type <" + << newValue << "> unknown!" << G4endl; + return; + } G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); } if (command == MinEnCmd) { - lossTables->SetMinEnergy(MinEnCmd->GetNewDoubleValue(newValue)); + opt->SetMinEnergy(MinEnCmd->GetNewDoubleValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); } if (command == MaxEnCmd) { - lossTables->SetMaxEnergy(MaxEnCmd->GetNewDoubleValue(newValue)); + opt->SetMaxEnergy(MaxEnCmd->GetNewDoubleValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); } if (command == IntegCmd) - lossTables->SetIntegral(IntegCmd->GetNewBoolValue(newValue)); - - if (command == rangeCmd) - lossTables->SetBuildCSDARange(rangeCmd->GetNewBoolValue(newValue)); + opt->SetIntegral(IntegCmd->GetNewBoolValue(newValue)); + if (command == rangeCmd) { + opt->SetBuildCSDARange(rangeCmd->GetNewBoolValue(newValue)); + G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + } + if (command == lpmCmd) { - lossTables->SetLPMFlag(lpmCmd->GetNewBoolValue(newValue)); + opt->SetLPMFlag(lpmCmd->GetNewBoolValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); } if (command == latCmd) { - lossTables->SetMscLateralDisplacement(latCmd->GetNewBoolValue(newValue)); + opt->SetMscLateralDisplacement(latCmd->GetNewBoolValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); } if (command == verCmd) - lossTables->SetVerbose(verCmd->GetNewIntValue(newValue)); + opt->SetVerbose(verCmd->GetNewIntValue(newValue)); if (command == lllCmd) - lossTables->SetLinearLossLimit(lllCmd->GetNewDoubleValue(newValue)); + opt->SetLinearLossLimit(lllCmd->GetNewDoubleValue(newValue)); + + if (command == labCmd) + opt->SetLambdaFactor(labCmd->GetNewDoubleValue(newValue)); if (command == skinCmd) { - lossTables->SetSkin(skinCmd->GetNewDoubleValue(newValue)); + opt->SetSkin(skinCmd->GetNewDoubleValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); } - - G4EmProcessOptions opt; if (command == dedxCmd) { - opt.SetDEDXBinning(dedxCmd->GetNewIntValue(newValue)); + opt->SetDEDXBinning(dedxCmd->GetNewIntValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); } - - if (command == lbCmd) { - opt.SetDEDXBinning(lbCmd->GetNewIntValue(newValue)); + if (command == lamCmd) { + opt->SetLambdaBinning(lamCmd->GetNewIntValue(newValue)); + G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + } + if (command == frCmd) { + opt->SetMscRangeFactor(frCmd->GetNewDoubleValue(newValue)); + G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); + } + if (command == fgCmd) { + opt->SetMscGeomFactor(fgCmd->GetNewDoubleValue(newValue)); G4UImanager::GetUIpointer()->ApplyCommand("/run/physicsModified"); } } diff --git a/source/processes/electromagnetic/utils/src/G4EnergyLossTables.cc b/source/processes/electromagnetic/utils/src/G4EnergyLossTables.cc index 3f6ed296ca..48309af1c5 100644 --- a/source/processes/electromagnetic/utils/src/G4EnergyLossTables.cc +++ b/source/processes/electromagnetic/utils/src/G4EnergyLossTables.cc @@ -25,7 +25,7 @@ // // // $Id: G4EnergyLossTables.cc,v 1.33 2006/06/29 19:55:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // first version created by P.Urban , 06/04/1998 diff --git a/source/processes/electromagnetic/utils/src/G4LossTableBuilder.cc b/source/processes/electromagnetic/utils/src/G4LossTableBuilder.cc index efcd66c2f7..014aac5e3b 100644 --- a/source/processes/electromagnetic/utils/src/G4LossTableBuilder.cc +++ b/source/processes/electromagnetic/utils/src/G4LossTableBuilder.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4LossTableBuilder.cc,v 1.24 2007/02/16 11:59:35 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/utils/src/G4LossTableManager.cc b/source/processes/electromagnetic/utils/src/G4LossTableManager.cc index 36d4a2b64c..477e69dcc7 100644 --- a/source/processes/electromagnetic/utils/src/G4LossTableManager.cc +++ b/source/processes/electromagnetic/utils/src/G4LossTableManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4LossTableManager.cc,v 1.82 2007/03/17 19:24:39 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4LossTableManager.cc,v 1.84 2007/06/14 07:28:48 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -68,6 +68,7 @@ // 16-01-07 Create new energy loss table for e+,e-,mu+,mu- and // left ionisation table for further usage (VI) // 12-02-07 Add SetSkin, SetLinearLossLimit (V.Ivanchenko) +// 18-06-07 Move definition of msc parameters to G4EmProcessOptions (V.Ivanchenko) // // Class Description: // @@ -123,6 +124,7 @@ G4LossTableManager::~G4LossTableManager() Clear(); delete theMessenger; delete tableBuilder; + delete emCorrections; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... @@ -157,11 +159,7 @@ G4LossTableManager::G4LossTableManager() maxEnergyForMuonsActive = false; stepFunctionActive = false; flagLPM = true; - flagMSC = true; - flagMSCLateral = true; - facRange = 0.02; bremsTh = DBL_MAX; - mscActive = false; verbose = 1; } @@ -227,7 +225,6 @@ void G4LossTableManager::DeRegister(G4VEnergyLossProcess* p) void G4LossTableManager::Register(G4VMultipleScattering* p) { msc_vector.push_back(p); - if(mscActive) p->MscStepLimitation(flagMSC, facRange); if(verbose > 1) G4cout << "G4LossTableManager::Register G4VMultipleScattering : " << p->GetProcessName() << G4endl; @@ -714,7 +711,6 @@ void G4LossTableManager::SetDEDXBinning(G4int val) } } - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... void G4LossTableManager::SetDEDXBinningForCSDARange(G4int val) @@ -728,9 +724,6 @@ void G4LossTableManager::SetDEDXBinningForCSDARange(G4int val) void G4LossTableManager::SetLambdaBinning(G4int val) { - for(G4int i=0; iSetLambdaBinning(val); - } size_t msc = msc_vector.size(); for (size_t j=0; jSetBinning(val); @@ -830,67 +823,11 @@ void G4LossTableManager::SetLPMFlag(G4bool val) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... -void G4LossTableManager::SetMscLateralDisplacement(G4bool val) -{ - flagMSCLateral = val; - size_t msc = msc_vector.size(); - for (size_t j=0; jSetLateralDisplasmentFlag(val); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... - -void G4LossTableManager::SetSkin(G4double val) -{ - if(val < 0.0) return; - size_t msc = msc_vector.size(); - for (size_t j=0; jSetSkin(val); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... - G4bool G4LossTableManager::LPMFlag() const { return flagLPM; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo..... - -G4bool G4LossTableManager::MscLateralDisplacementFlag() const -{ - return flagMSCLateral; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4LossTableManager::SetMscStepLimitation(G4bool val, G4double factor) -{ - mscActive = true; - flagMSC = val; - facRange = factor; - size_t msc = msc_vector.size(); - for (size_t j=0; jMscStepLimitation(val, factor); - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4bool G4LossTableManager::MscFlag() const -{ - return flagMSC; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4LossTableManager::FacRange() const -{ - return facRange; -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4LossTableManager::SetBremsstrahlungTh(G4double val) diff --git a/source/processes/electromagnetic/utils/src/G4VEmFluctuationModel.cc b/source/processes/electromagnetic/utils/src/G4VEmFluctuationModel.cc index 1e43e52e59..a3cde48faa 100644 --- a/source/processes/electromagnetic/utils/src/G4VEmFluctuationModel.cc +++ b/source/processes/electromagnetic/utils/src/G4VEmFluctuationModel.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VEmFluctuationModel.cc,v 1.2 2006/06/29 19:55:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/utils/src/G4VEmModel.cc b/source/processes/electromagnetic/utils/src/G4VEmModel.cc index 3a0b92d985..fb615bfaf7 100644 --- a/source/processes/electromagnetic/utils/src/G4VEmModel.cc +++ b/source/processes/electromagnetic/utils/src/G4VEmModel.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VEmModel.cc,v 1.6 2006/06/29 19:55:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/utils/src/G4VEmProcess.cc b/source/processes/electromagnetic/utils/src/G4VEmProcess.cc index 4d39c8f413..1d9b3b3742 100644 --- a/source/processes/electromagnetic/utils/src/G4VEmProcess.cc +++ b/source/processes/electromagnetic/utils/src/G4VEmProcess.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VEmProcess.cc,v 1.36 2006/09/13 10:34:32 maire Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VEmProcess.cc,v 1.40 2007/05/23 08:43:46 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -49,6 +49,7 @@ // 04-09-05 default lambdaFactor 0.8 (V.Ivanchenko) // 11-01-06 add A to parameters of ComputeCrossSectionPerAtom (VI) // 12-09-06 add SetModel() (mma) +// 12-04-07 remove double call to Clear model manager (V.Ivanchenko) // // Class Description: // @@ -90,8 +91,6 @@ G4VEmProcess::G4VEmProcess(const G4String& name, G4ProcessType type): lambdaFactor(0.8), currentCouple(0), integral(false), - meanFreePath(true), - aboveCSmax(true), buildLambdaTable(true), applyCuts(false), startFromNull(true), @@ -105,6 +104,7 @@ G4VEmProcess::G4VEmProcess(const G4String& name, G4ProcessType type): thePositron = G4Positron::Positron(); pParticleChange = &fParticleChange; + secParticles.reserve(5); modelManager = new G4EmModelManager(); (G4LossTableManager::Instance())->Register(this); @@ -114,6 +114,9 @@ G4VEmProcess::G4VEmProcess(const G4String& name, G4ProcessType type): G4VEmProcess::~G4VEmProcess() { + if(1 < verboseLevel) + G4cout << "G4VEmProcess destruct " << GetProcessName() + << G4endl; Clear(); if(theLambdaTable) theLambdaTable->clearAndDestroy(); delete modelManager; @@ -156,11 +159,9 @@ void G4VEmProcess::Clear() if(theCrossSectionMax) delete [] theCrossSectionMax; theEnergyOfCrossSectionMax = 0; theCrossSectionMax = 0; - modelManager->Clear(); currentCouple = 0; preStepLambda = 0.0; mfpKinEnergy = DBL_MAX; - preStepMFP = DBL_MAX; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -228,34 +229,6 @@ void G4VEmProcess::BuildLambdaTable() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4VEmProcess::SetParticle(const G4ParticleDefinition* p) -{ - particle = p; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEmProcess::SetSecondaryParticle(const G4ParticleDefinition* p) -{ - secondaryParticle = p; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEmProcess::SetModel(G4VEmModel* model) -{ - selectedModel = model; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4VEmModel* G4VEmProcess::Model() -{ - return selectedModel; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - void G4VEmProcess::AddEmModel(G4int order, G4VEmModel* p, const G4Region* region) { @@ -265,16 +238,8 @@ void G4VEmProcess::AddEmModel(G4int order, G4VEmModel* p, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4VEmProcess::UpdateEmModel(const G4String& nam, - G4double emin, G4double emax) -{ - modelManager->UpdateEmModel(nam, emin, emax); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - G4VParticleChange* G4VEmProcess::PostStepDoIt(const G4Track& track, - const G4Step& step) + const G4Step&) { fParticleChange.InitializeForPostStep(track); @@ -295,8 +260,10 @@ G4VParticleChange* G4VEmProcess::PostStepDoIt(const G4Track& track, << G4endl; } - if(preStepLambda*G4UniformRand() > lx) - return G4VDiscreteProcess::PostStepDoIt(track,step); + if(preStepLambda*G4UniformRand() > lx) { + ClearNumberOfInteractionLengthLeft(); + return &fParticleChange; + } } G4VEmModel* currentModel = SelectModel(finalT); @@ -312,45 +279,49 @@ G4VParticleChange* G4VEmProcess::PostStepDoIt(const G4Track& track, */ - std::vector* newp = - SecondariesPostStep(currentModel,currentCouple,track.GetDynamicParticle()); + // sample secondaries + secParticles.clear(); + currentModel->SampleSecondaries(&secParticles, + currentCouple, + track.GetDynamicParticle()); + + // save secondaries + G4int num = secParticles.size(); + if(num > 0) { - if (newp) { - G4int num = newp->size(); fParticleChange.SetNumberOfSecondaries(num); G4double edep = fParticleChange.GetLocalEnergyDeposit(); for (G4int i=0; iGetDefinition(); G4double e = dp->GetKineticEnergy(); G4bool good = true; - if (p == theGamma) { - if (e < (*theCutsGamma)[currentMaterialIndex]) good = false; + if(applyCuts) { + if (p == theGamma) { + if (e < (*theCutsGamma)[currentMaterialIndex]) good = false; - } else if (p == theElectron) { - if (e < (*theCutsElectron)[currentMaterialIndex]) good = false; + } else if (p == theElectron) { + if (e < (*theCutsElectron)[currentMaterialIndex]) good = false; - } else if (p == thePositron) { - if (e < (*theCutsPositron)[currentMaterialIndex]) { - good = false; - e += 2.0*electron_mass_c2; + } else if (p == thePositron) { + if (e < (*theCutsPositron)[currentMaterialIndex]) { + good = false; + e += 2.0*electron_mass_c2; + } + } + if(!good) { + delete dp; + edep += e; } } - - if (good || !applyCuts) { - fParticleChange.AddSecondary(dp); - - } else { - delete dp; - edep += e; - } + if (good) fParticleChange.AddSecondary(dp); } fParticleChange.ProposeLocalEnergyDeposit(edep); - delete newp; } - return G4VDiscreteProcess::PostStepDoIt(track,step); + ClearNumberOfInteractionLengthLeft(); + return &fParticleChange; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -415,24 +386,6 @@ G4double G4VEmProcess::MicroscopicCrossSection(G4double kineticEnergy, //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4VEmProcess::ComputeCrossSectionPerAtom(G4double kineticEnergy, - G4double Z, G4double A) -{ - G4VEmModel* model = SelectModel(kineticEnergy); - return model->ComputeCrossSectionPerAtom(particle,kineticEnergy,Z,A); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4VEmProcess::MeanFreePath(const G4Track& track, - G4double s, - G4ForceCondition* cond) -{ - return GetMeanFreePath(track, s, cond); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - G4bool G4VEmProcess::StorePhysicsTable(const G4ParticleDefinition* part, const G4String& directory, G4bool ascii) @@ -543,75 +496,6 @@ void G4VEmProcess::FindLambdaMax() //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4VEmProcess::SetLambdaBinning(G4int nbins) -{ - nLambdaBins = nbins; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4int G4VEmProcess::LambdaBinning() const -{ - return nLambdaBins; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEmProcess::SetMinKinEnergy(G4double e) -{ - minKinEnergy = e; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4VEmProcess::MinKinEnergy() const -{ - return minKinEnergy; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEmProcess::SetMaxKinEnergy(G4double e) -{ - maxKinEnergy = e; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4VEmProcess::MaxKinEnergy() const -{ - return maxKinEnergy; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEmProcess::ActivateDeexcitation(G4bool, const G4Region*) -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -const G4PhysicsTable* G4VEmProcess::LambdaTable() const -{ - return theLambdaTable; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEmProcess::SetIntegral(G4bool val) -{ - if(particle && particle != theGamma) integral = val; - if(integral) buildLambdaTable = true; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4bool G4VEmProcess::IsIntegral() const -{ - return integral; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - G4PhysicsVector* G4VEmProcess::LambdaPhysicsVector(const G4MaterialCutsCouple*) { G4PhysicsVector* v = @@ -620,24 +504,3 @@ G4PhysicsVector* G4VEmProcess::LambdaPhysicsVector(const G4MaterialCutsCouple*) } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEmProcess::SetBuildTableFlag(G4bool val) -{ - buildLambdaTable = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEmProcess::SetStartFromNullFlag(G4bool val) -{ - startFromNull = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEmProcess::SetApplyCuts(G4bool val) -{ - applyCuts = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... diff --git a/source/processes/electromagnetic/utils/src/G4VEnergyLoss.cc b/source/processes/electromagnetic/utils/src/G4VEnergyLoss.cc index 5521ab6f8f..940ab61622 100644 --- a/source/processes/electromagnetic/utils/src/G4VEnergyLoss.cc +++ b/source/processes/electromagnetic/utils/src/G4VEnergyLoss.cc @@ -25,7 +25,7 @@ // // // $Id: G4VEnergyLoss.cc,v 1.46 2006/06/29 19:55:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- diff --git a/source/processes/electromagnetic/utils/src/G4VEnergyLossProcess.cc b/source/processes/electromagnetic/utils/src/G4VEnergyLossProcess.cc index b8e912732f..55d17eb1c9 100644 --- a/source/processes/electromagnetic/utils/src/G4VEnergyLossProcess.cc +++ b/source/processes/electromagnetic/utils/src/G4VEnergyLossProcess.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VEnergyLossProcess.cc,v 1.102 2007/05/08 17:52:00 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4VEnergyLossProcess.cc,v 1.109 2007/06/20 12:43:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -102,6 +102,9 @@ // 16-01-07 add IonisationTable and IonisationSubTable (V.Ivanchenko) // 16-02-07 set linLossLimit=1.e-6 (V.Ivanchenko) // 13-03-07 use SafetyHelper instead of navigator (V.Ivanchenko) +// 10-04-07 use unique SafetyHelper (V.Ivanchenko) +// 12-04-07 Add verbosity at destruction (V.Ivanchenko) +// 25-04-07 move initialisation of safety helper to BuildPhysicsTable (VI) // // Class Description: // @@ -164,7 +167,7 @@ G4VEnergyLossProcess::G4VEnergyLossProcess(const G4String& name, baseParticle(0), secondaryParticle(0), currentCouple(0), - nBins(90), + nBins(120), nBinsCSDA(70), nWarnings(0), linLossLimit(0.05), @@ -176,45 +179,55 @@ G4VEnergyLossProcess::G4VEnergyLossProcess(const G4String& name, rndmStepFlag(false), tablesAreBuilt(false), integral(true), - meanFreePath(false), - aboveCSmax(true), isIonisation(true), useSubCutoff(false) { + SetVerboseLevel(1); + // Size of tables lowestKinEnergy = 1.*eV; minKinEnergy = 0.1*keV; - maxKinEnergy = 100.0*GeV; + maxKinEnergy = 100.0*TeV; maxKinEnergyCSDA = 1.0*GeV; - pParticleChange = &fParticleChange; - // default dRoverRange and finalRange SetStepFunction(0.2, 1.0*mm); - SetVerboseLevel(1); + + theElectron = G4Electron::Electron(); thePositron = G4Positron::Positron(); + // run time objects + pParticleChange = &fParticleChange; modelManager = new G4EmModelManager(); + safetyHelper = G4TransportationManager::GetTransportationManager() + ->GetSafetyHelper(); + aGPILSelection = CandidateForSelection; + + // initialise model (G4LossTableManager::Instance())->Register(this); emModel[0]=emModel[1]=emModel[2]=emModel[3]=emModel[4]=0; fluctModel = 0; + scoffRegions.clear(); scProcesses.clear(); + scTracks.reserve(5); + secParticles.reserve(5); - safetyHelper = new G4SafetyHelper(); - - const G4int n = 7; - vstrag = new G4PhysicsLogVector(keV, GeV, n); - G4double s[n] = {-0.2, -0.85, -1.3, -1.578, -1.76, -1.85, -1.9}; - for(G4int i=0; iPutValue(i, s[i]);} + // Data for stragling of ranges from ICRU'37 report + const G4int nrbins = 7; + vstrag = new G4PhysicsLogVector(keV, GeV, nrbins); + G4double s[nrbins] = {-0.2, -0.85, -1.3, -1.578, -1.76, -1.85, -1.9}; + for(G4int i=0; iPutValue(i, s[i]);} } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4VEnergyLossProcess::~G4VEnergyLossProcess() { + if(1 < verboseLevel) + G4cout << "G4VEnergyLossProcess destruct " << GetProcessName() + << G4endl; delete vstrag; - delete safetyHelper; Clear(); if ( !baseParticle ) { @@ -245,11 +258,11 @@ void G4VEnergyLossProcess::Clear() G4cout << "G4VEnergyLossProcess::Clear() for " << GetProcessName() << G4endl; - if(theDEDXAtMaxEnergy) delete [] theDEDXAtMaxEnergy; - if(theRangeAtMaxEnergy) delete [] theRangeAtMaxEnergy; - if(theEnergyOfCrossSectionMax) delete [] theEnergyOfCrossSectionMax; - if(theCrossSectionMax) delete [] theCrossSectionMax; - if(idxSCoffRegions) delete [] idxSCoffRegions; + delete [] theDEDXAtMaxEnergy; + delete [] theRangeAtMaxEnergy; + delete [] theEnergyOfCrossSectionMax; + delete [] theCrossSectionMax; + delete [] idxSCoffRegions; theDEDXAtMaxEnergy = 0; theRangeAtMaxEnergy = 0; @@ -296,8 +309,8 @@ void G4VEnergyLossProcess::PreparePhysicsTable( currentCouple = 0; preStepLambda = 0.0; mfpKinEnergy = DBL_MAX; - preStepMFP = DBL_MAX; fRange = DBL_MAX; + preStepKinEnergy = 0.0; // Base particle and set of models can be defined here InitialiseEnergyLossProcess(particle, baseParticle); @@ -338,7 +351,7 @@ void G4VEnergyLossProcess::PreparePhysicsTable( massRatio = (baseParticle->GetPDGMass())/initialMass; G4double q = initialCharge/baseParticle->GetPDGCharge(); chargeSqRatio = q*q; - reduceFactor = 1.0/(chargeSqRatio*massRatio); + if(chargeSqRatio > 0.0) reduceFactor = 1.0/(chargeSqRatio*massRatio); } theCuts = modelManager->Initialise(particle, secondaryParticle, @@ -402,8 +415,10 @@ void G4VEnergyLossProcess::BuildPhysicsTable(const G4ParticleDefinition& part) if(!tablesAreBuilt && &part == particle) G4LossTableManager::Instance()->BuildPhysicsTable(particle, this); - if(0 < verboseLevel && (&part == particle) && !baseParticle) + if(0 < verboseLevel && (&part == particle) && !baseParticle) { PrintInfoDefinition(); + safetyHelper->InitialiseHelper(); + } if(1 < verboseLevel) { G4cout << "### G4VEnergyLossProcess::BuildPhysicsTable() done for " @@ -416,56 +431,6 @@ void G4VEnergyLossProcess::BuildPhysicsTable(const G4ParticleDefinition& part) //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4VEnergyLossProcess::SetEmModel(G4VEmModel* p, G4int index) -{ - emModel[index] = p; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4VEmModel* G4VEnergyLossProcess::EmModel(G4int index) -{ - return emModel[index]; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetFluctModel(G4VEmFluctuationModel* p) -{ - fluctModel = p; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4VEmFluctuationModel* G4VEnergyLossProcess::FluctModel() -{ - return fluctModel; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::AddEmModel(G4int order, G4VEmModel* p, - G4VEmFluctuationModel* fluc, - const G4Region* region) -{ - modelManager->AddEmModel(order, p, fluc, region); - if(p) p->SetParticleChange(pParticleChange, fluc); - if(!fluc) { - lossFluctuationFlag = false; - lossFluctuationArePossible = false; - } -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::UpdateEmModel(const G4String& nam, - G4double emin, G4double emax) -{ - modelManager->UpdateEmModel(nam, emin, emax); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - void G4VEnergyLossProcess::ActivateSubCutoff(G4bool val, const G4Region* r) { G4RegionStore* regionStore = G4RegionStore::GetInstance(); @@ -629,10 +594,10 @@ G4VParticleChange* G4VEnergyLossProcess::AlongStepDoIt(const G4Track& track, // Get the actual (true) Step length G4double length = step.GetStepLength(); - if(length == 0.0) return &fParticleChange; + if(length <= DBL_MIN) return &fParticleChange; G4double eloss = 0.0; - /* + /* if(-1 < verboseLevel) { const G4ParticleDefinition* d = track.GetDefinition(); G4cout << "AlongStepDoIt for " @@ -650,28 +615,22 @@ G4VParticleChange* G4VEnergyLossProcess::AlongStepDoIt(const G4Track& track, // stopping if (length >= fRange) { - eloss = preStepKinEnergy; + fParticleChange.SetProposedKineticEnergy(0.0); + fParticleChange.ProposeLocalEnergyDeposit(preStepKinEnergy); + return &fParticleChange; + } // Short step - } else if( length <= linLossLimit * fRange ) { - eloss = GetDEDXForScaledEnergy(preStepScaledEnergy)*length; + eloss = GetDEDXForScaledEnergy(preStepScaledEnergy)*length; + + // if( length <= linLossLimit * fRange ) { + // eloss = GetDEDXForScaledEnergy(preStepScaledEnergy)*length; // Long step - } else { + //} else { + if(eloss > preStepKinEnergy*linLossLimit) { G4double r = GetScaledRangeForScaledEnergy(preStepScaledEnergy); G4double x = r - length/reduceFactor; - if(x < 0.0) { - if(0 < verboseLevel && nWarnings<0) { - G4cout << "WARNING! G4VEnergyLossProcess::AlongStepDoIt: x= " << x - << " for eScaled(MeV)= " << preStepScaledEnergy/MeV - << " step(mm)= " << length/mm - << " range(mm)= " << fRange/mm - << " for " << track.GetDefinition()->GetParticleName() - << G4endl; - nWarnings++; - } - x = 0.0; - } eloss = (ScaledKinEnergyForLoss(r) - ScaledKinEnergyForLoss(x))/massRatio; /* @@ -754,47 +713,32 @@ G4VParticleChange* G4VEnergyLossProcess::AlongStepDoIt(const G4Track& track, cut = (*theSubCuts)[currentMaterialIndex]; eloss -= GetSubDEDXForScaledEnergy(preStepScaledEnergy)*length; if(eloss < 0.0) eloss = 0.0; - SampleSubCutSecondaries(scTracks, step, currentModel,currentMaterialIndex); + scTracks.clear(); + SampleSubCutSecondaries(scTracks, step, + currentModel,currentMaterialIndex, + esecdep); /* - if(nProcesses) { + if(nProcesses > 0) { for(G4int i=0; iSampleSubCutSecondaries( scTracks, step, (scProcesses[i])-> SelectModelForMaterial(preStepKinEnergy, currentMaterialIndex), - currentMaterialIndex); + currentMaterialIndex,esecdep); } } */ G4int n = scTracks.size(); - if(n) { + if(n>0) { G4ThreeVector mom = dynParticle->GetMomentum(); fParticleChange.SetNumberOfSecondaries(n); for(G4int i=0; iGetKineticEnergy(); - G4double e = ekin; + G4double e = t->GetKineticEnergy(); if (t->GetDefinition() == thePositron) e += 2.0*electron_mass_c2; - G4bool addSec = true; - - // do not track very low-energy delta-electrons - if(theSecondaryRangeTable) { - G4bool b; - G4double rg = - ((*theSecondaryRangeTable)[currentMaterialIndex]->GetValue(e, b)); - // if(rg < currentMinSafety) { - if(rg < safetyHelper->ComputeSafety(t->GetPosition())) { - esecdep += e; - delete t; - addSec = false; - } - } - if(addSec) { - esec += e; - pParticleChange->AddSecondary(t); - mom -= t->GetMomentum(); - } + esec += e; + pParticleChange->AddSecondary(t); + // mom -= t->GetMomentum(); } - scTracks.clear(); // fParticleChange.SetProposedMomentum(mom); } } @@ -806,7 +750,7 @@ G4VParticleChange* G4VEnergyLossProcess::AlongStepDoIt(const G4Track& track, // Sample fluctuations if (lossFluctuationFlag && - eloss + esec + esecdep + lowestKinEnergy < preStepKinEnergy) { + (eloss + esec + esecdep + lowestKinEnergy) < preStepKinEnergy) { G4double tmax = std::min(currentModel->MaxSecondaryKinEnergy(dynParticle),cut); @@ -829,7 +773,7 @@ G4VParticleChange* G4VEnergyLossProcess::AlongStepDoIt(const G4Track& track, // Energy balanse G4double finalT = preStepKinEnergy - eloss - esec; if (finalT <= lowestKinEnergy) { - eloss += finalT; + eloss = preStepKinEnergy - esec; finalT = 0.0; } @@ -856,7 +800,8 @@ void G4VEnergyLossProcess::SampleSubCutSecondaries( std::vector& tracks, const G4Step& step, G4VEmModel* model, - G4int idx) + G4int idx, + G4double& extraEdep) { // Fast check weather subcutoff can work G4double subcut = (*theSubCuts)[idx]; @@ -869,7 +814,9 @@ void G4VEnergyLossProcess::SampleSubCutSecondaries( G4double cross = chargeSqRatio*(((*theSubLambdaTable)[idx])->GetValue(dp->GetKineticEnergy(),b)); G4double length = step.GetStepLength(); - if(length*cross < 1.e-9) return; + + // negligible probability to get any interaction + if(length*cross < perMillion) return; /* if(-1 < verboseLevel) G4cout << "<<< Subcutoff for " << GetProcessName() @@ -891,28 +838,42 @@ void G4VEnergyLossProcess::SampleSubCutSecondaries( G4double del = -std::log(G4UniformRand())/cross; fragment += del/length; if (fragment > 1.0) break; - std::vector* newp = - model->SampleSecondaries(track->GetMaterialCutsCouple(),dp,subcut,cut); - if (newp) { - G4DynamicParticle* p; - G4int nNew = newp->size(); - for (G4int i=0; iSampleSecondaries(&secParticles,track->GetMaterialCutsCouple(),dp,subcut,cut); - p = (*newp)[i]; - G4ThreeVector r = prepoint + fragment*dr; - G4Track* t = new G4Track(p, pretime + fragment*dt, r); + // position of subcutoff particles + G4ThreeVector r = prepoint + fragment*dr; + std::vector::iterator it; + for(it=secParticles.begin(); it!=secParticles.end(); it++) { + + G4bool addSec = true; + // do not track very low-energy delta-electrons + if(theSecondaryRangeTable && (*it)->GetDefinition() == theElectron) { + G4bool b; + G4double ekin = (*it)->GetKineticEnergy(); + G4double rg = ((*theSecondaryRangeTable)[idx]->GetValue(ekin, b)); + // if(rg < currentMinSafety) { + if(rg < safetyHelper->ComputeSafety(r)) { + extraEdep += ekin; + delete (*it); + addSec = false; + } + } + if(addSec) { + G4Track* t = new G4Track((*it), pretime + fragment*dt, r); t->SetTouchableHandle(track->GetTouchableHandle()); tracks.push_back(t); + /* - if(-1 < verboseLevel) + if(-1 < verboseLevel) G4cout << "New track " << p->GetDefinition()->GetParticleName() - << " e(keV)= " << p->GetKineticEnergy()/keV - << " fragment= " << fragment - << G4endl; + << " e(keV)= " << p->GetKineticEnergy()/keV + << " fragment= " << fragment + << G4endl; */ } - delete newp; } } while (fragment <= 1.0); } @@ -920,11 +881,11 @@ void G4VEnergyLossProcess::SampleSubCutSecondaries( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... G4VParticleChange* G4VEnergyLossProcess::PostStepDoIt(const G4Track& track, - const G4Step& step) + const G4Step&) { fParticleChange.InitializeForPostStep(track); G4double finalT = track.GetKineticEnergy(); - if(finalT == 0.0) return &fParticleChange; + if(finalT <= lowestKinEnergy) return &fParticleChange; G4double postStepScaledEnergy = finalT*massRatio; /* @@ -948,34 +909,33 @@ G4VParticleChange* G4VEnergyLossProcess::PostStepDoIt(const G4Track& track, nWarnings++; } */ - if(preStepLambda*G4UniformRand() > lx) - return G4VContinuousDiscreteProcess::PostStepDoIt(track,step); + if(preStepLambda*G4UniformRand() > lx) { + ClearNumberOfInteractionLengthLeft(); + return &fParticleChange; + } } G4VEmModel* currentModel = SelectModel(postStepScaledEnergy); const G4DynamicParticle* dynParticle = track.GetDynamicParticle(); G4double tcut = (*theCuts)[currentMaterialIndex]; - G4double tmax = currentModel->MaxSecondaryKinEnergy(dynParticle); - if (tcut < tmax) { - std::vector* newp = SecondariesPostStep( - currentModel, currentCouple, dynParticle, tcut); + // sample secondaries + secParticles.clear(); + currentModel->SampleSecondaries(&secParticles, currentCouple, dynParticle, tcut); - if(newp) { - G4int num = newp->size(); - fParticleChange.SetNumberOfSecondaries(num); - for (G4int i=0; i 0) { + fParticleChange.SetNumberOfSecondaries(num); + for (G4int i=0; iLowEnergyLimit() << ", " << currentModel->HighEnergyLimit() << ")" << " preStepLambda= " << preStepLambda @@ -984,12 +944,8 @@ G4VParticleChange* G4VEnergyLossProcess::PostStepDoIt(const G4Track& track, << G4endl; } */ - if (finalT <= lowestKinEnergy) { - fParticleChange.SetProposedKineticEnergy(0.0); - return &fParticleChange; - } - - return G4VContinuousDiscreteProcess::PostStepDoIt(track,step); + ClearNumberOfInteractionLengthLeft(); + return &fParticleChange; } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -1131,7 +1087,14 @@ void G4VEnergyLossProcess::SetRangeTableForLoss(G4PhysicsTable* p) void G4VEnergyLossProcess::SetSecondaryRangeTable(G4PhysicsTable* p) { - theSecondaryRangeTable = p; + if(theSecondaryRangeTable != p) { + theSecondaryRangeTable = p; + if(1 < verboseLevel) { + G4cout << "### Set SecondaryRange table " << p + << " for " << particle->GetParticleName() + << " and process " << GetProcessName() << G4endl; + } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -1199,7 +1162,14 @@ void G4VEnergyLossProcess::SetLambdaTable(G4PhysicsTable* p) void G4VEnergyLossProcess::SetSubLambdaTable(G4PhysicsTable* p) { - if(theSubLambdaTable != p) theSubLambdaTable = p; + if(theSubLambdaTable != p) { + theSubLambdaTable = p; + if(1 < verboseLevel) { + G4cout << "### Set SebLambda table " << p + << " for " << particle->GetParticleName() + << " and process " << GetProcessName() << G4endl; + } + } } //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... @@ -1236,61 +1206,6 @@ G4double G4VEnergyLossProcess::MicroscopicCrossSection( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -G4double G4VEnergyLossProcess::MeanFreePath( - const G4Track& track, G4double s, G4ForceCondition* cond) -{ - return GetMeanFreePath(track, s, cond); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4VEnergyLossProcess::ContinuousStepLimit( - const G4Track& track, G4double x, G4double y, G4double& z) -{ - return GetContinuousStepLimit(track, x, y, z); -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetIntegral(G4bool val) -{ - integral = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetStepFunction(G4double v1, G4double v2) -{ - dRoverRange = v1; - finalRange = v2; - if (dRoverRange > 0.999) dRoverRange = 1.0; - currentCouple = 0; - mfpKinEnergy = DBL_MAX; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetParticle(const G4ParticleDefinition* p) -{ - particle = p; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetBaseParticle(const G4ParticleDefinition* p) -{ - baseParticle = p; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetSecondaryParticle(const G4ParticleDefinition* p) -{ - secondaryParticle = p; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - G4bool G4VEnergyLossProcess::StorePhysicsTable( const G4ParticleDefinition* part, const G4String& directory, G4bool ascii) @@ -1595,132 +1510,6 @@ G4bool G4VEnergyLossProcess::RetrievePhysicsTable( return res; } -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetLinearLossLimit(G4double val) -{ - linLossLimit = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetLossFluctuations(G4bool val) -{ - if(val && !lossFluctuationArePossible) return; - lossFluctuationFlag = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetRandomStep(G4bool val) -{ - rndmStepFlag = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetMinSubRange(G4double val) -{ - minSubRange = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4bool G4VEnergyLossProcess::TablesAreBuilt() const -{ - return tablesAreBuilt; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4int G4VEnergyLossProcess::NumberOfSubCutoffRegions() const -{ - return nSCoffRegions; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetDEDXBinning(G4int nbins) -{ - nBins = nbins; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetLambdaBinning(G4int nbins) -{ - nBins = nbins; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetDEDXBinningForCSDARange(G4int nbins) -{ - nBinsCSDA = nbins; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4VEnergyLossProcess::MinKinEnergy() const -{ - return minKinEnergy; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetMinKinEnergy(G4double e) -{ - minKinEnergy = e; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetMaxKinEnergy(G4double e) -{ - maxKinEnergy = e; - if(e < maxKinEnergyCSDA) maxKinEnergyCSDA = e; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetMaxKinEnergyForCSDARange(G4double e) -{ - maxKinEnergyCSDA = e; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4double G4VEnergyLossProcess::MaxKinEnergy() const -{ - return maxKinEnergy; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::ActivateDeexcitation(G4bool, const G4Region*) -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetLambdaFactor(G4double val) -{ - if(val > 0.0 && val <= 1.0) lambdaFactor = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -void G4VEnergyLossProcess::SetIonisation(G4bool val) -{ - isIonisation = val; -} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - -G4bool G4VEnergyLossProcess::IsIonisationProcess() const -{ - return isIonisation; -} - //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... void G4VEnergyLossProcess::AddCollaborativeProcess( @@ -1736,3 +1525,26 @@ void G4VEnergyLossProcess::AddCollaborativeProcess( //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... +G4double G4VEnergyLossProcess::GetDEDXDispersion( + const G4MaterialCutsCouple *couple, + const G4DynamicParticle* dp, + G4double length) +{ + DefineMaterial(couple); + G4double ekin = dp->GetKineticEnergy(); + G4VEmModel* currentModel = SelectModel(ekin*massRatio); + G4double tmax = currentModel->MaxSecondaryKinEnergy(dp); + tmax = std::min(tmax,(*theCuts)[currentMaterialIndex]); + G4double d = 0.0; + G4VEmFluctuationModel* fm = currentModel->GetModelOfFluctuations(); + if(fm) d = fm->Dispersion(currentMaterial,dp,tmax,length); + return d; +} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + +void G4VEnergyLossProcess::ActivateDeexcitation(G4bool, const G4Region*) +{} + +//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... + diff --git a/source/processes/electromagnetic/utils/src/G4VMultipleScattering.cc b/source/processes/electromagnetic/utils/src/G4VMultipleScattering.cc index 2805971457..dbfb31a7f9 100644 --- a/source/processes/electromagnetic/utils/src/G4VMultipleScattering.cc +++ b/source/processes/electromagnetic/utils/src/G4VMultipleScattering.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VMultipleScattering.cc,v 1.41 2007/02/12 17:04:51 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4VMultipleScattering.cc,v 1.43 2007/05/18 18:39:55 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // @@ -52,6 +52,7 @@ // 15-04-05 optimize internal interface (V.Ivanchenko) // 15-04-05 remove boundary flag (V.Ivanchenko) // 27-10-05 introduce virtual function MscStepLimitation() (V.Ivanchenko) +// 12-04-07 Add verbosity at destruction (V.Ivanchenko) // // Class Description: // @@ -88,11 +89,14 @@ G4VMultipleScattering::G4VMultipleScattering(const G4String& name, G4ProcessType currentParticle(0), currentCouple(0), nBins(120), + stepLimit(fUseSafety), skin(0.0), + facrange(0.02), + facgeom(2.5), latDisplasment(true), buildLambdaTable(true) { - minKinEnergy = 100.0*eV; + minKinEnergy = 0.1*keV; maxKinEnergy = 100.0*TeV; SetVerboseLevel(1); @@ -107,6 +111,9 @@ G4VMultipleScattering::G4VMultipleScattering(const G4String& name, G4ProcessType G4VMultipleScattering::~G4VMultipleScattering() { + if(1 < verboseLevel) + G4cout << "G4VMultipleScattering destruct " << GetProcessName() + << G4endl; delete modelManager; if (theLambdaTable) theLambdaTable->clearAndDestroy(); (G4LossTableManager::Instance())->DeRegister(this); @@ -309,8 +316,3 @@ G4bool G4VMultipleScattering::RetrievePhysicsTable(const G4ParticleDefinition* p //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... -void G4VMultipleScattering::MscStepLimitation(G4bool, G4double) -{} - -//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... - diff --git a/source/processes/electromagnetic/utils/src/G4ionEffectiveCharge.cc b/source/processes/electromagnetic/utils/src/G4ionEffectiveCharge.cc index a2227eac18..30ba09c5da 100644 --- a/source/processes/electromagnetic/utils/src/G4ionEffectiveCharge.cc +++ b/source/processes/electromagnetic/utils/src/G4ionEffectiveCharge.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ionEffectiveCharge.cc,v 1.14 2006/08/15 16:21:39 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/electromagnetic/xrays/History b/source/processes/electromagnetic/xrays/History index 30cb574b94..b9a241a8b1 100644 --- a/source/processes/electromagnetic/xrays/History +++ b/source/processes/electromagnetic/xrays/History @@ -1,4 +1,4 @@ -$Id: History,v 1.55 2006/05/19 10:05:27 vnivanch Exp $ +$Id: History,v 1.56 2007/05/11 14:22:54 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,10 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +11 May 07: G.Cosmo (xrays-V08-03-00) +- Use call to G4GeometryTolerance instead of kCarTolerance in G4ForwardXrayTR. +- Requires tag "global-V08-03-00" and related tag set. + 19 May 06: V.Ivant (xrays-V08-00-03) - Create two processes G4SynchrotronRadiation and G4SynchrotronRadiationInMat diff --git a/source/processes/electromagnetic/xrays/include/G4Cerenkov.hh b/source/processes/electromagnetic/xrays/include/G4Cerenkov.hh index dbe0d62495..82e7305a47 100644 --- a/source/processes/electromagnetic/xrays/include/G4Cerenkov.hh +++ b/source/processes/electromagnetic/xrays/include/G4Cerenkov.hh @@ -25,7 +25,7 @@ // // // $Id: G4Cerenkov.hh,v 1.8 2006/06/29 19:55:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/xrays/include/G4ForwardXrayTR.hh b/source/processes/electromagnetic/xrays/include/G4ForwardXrayTR.hh index e0a7394370..780940753a 100644 --- a/source/processes/electromagnetic/xrays/include/G4ForwardXrayTR.hh +++ b/source/processes/electromagnetic/xrays/include/G4ForwardXrayTR.hh @@ -25,7 +25,7 @@ // // // $Id: G4ForwardXrayTR.hh,v 1.14 2006/06/29 19:55:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4ForwardXrayTR -- header file // diff --git a/source/processes/electromagnetic/xrays/include/G4GammaXTRadiator.hh b/source/processes/electromagnetic/xrays/include/G4GammaXTRadiator.hh index daf46c3a74..b59a59654e 100644 --- a/source/processes/electromagnetic/xrays/include/G4GammaXTRadiator.hh +++ b/source/processes/electromagnetic/xrays/include/G4GammaXTRadiator.hh @@ -25,7 +25,7 @@ // // // $Id: G4GammaXTRadiator.hh,v 1.4 2006/06/29 19:55:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // /////////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/xrays/include/G4RegularXTRadiator.hh b/source/processes/electromagnetic/xrays/include/G4RegularXTRadiator.hh index 5e0ce9f05d..d19b085d08 100644 --- a/source/processes/electromagnetic/xrays/include/G4RegularXTRadiator.hh +++ b/source/processes/electromagnetic/xrays/include/G4RegularXTRadiator.hh @@ -25,7 +25,7 @@ // // // $Id: G4RegularXTRadiator.hh,v 1.3 2006/06/29 19:55:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // /////////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/xrays/include/G4Scintillation.hh b/source/processes/electromagnetic/xrays/include/G4Scintillation.hh index 1ebb724031..231ce6a626 100644 --- a/source/processes/electromagnetic/xrays/include/G4Scintillation.hh +++ b/source/processes/electromagnetic/xrays/include/G4Scintillation.hh @@ -25,7 +25,7 @@ // // // $Id: G4Scintillation.hh,v 1.13 2006/06/29 19:55:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/xrays/include/G4StrawTubeXTRadiator.hh b/source/processes/electromagnetic/xrays/include/G4StrawTubeXTRadiator.hh index 65de9fd4be..c2d136e9a0 100644 --- a/source/processes/electromagnetic/xrays/include/G4StrawTubeXTRadiator.hh +++ b/source/processes/electromagnetic/xrays/include/G4StrawTubeXTRadiator.hh @@ -25,7 +25,7 @@ // // // $Id: G4StrawTubeXTRadiator.hh,v 1.2 2006/06/29 19:55:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // /////////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiation.hh b/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiation.hh index 86aca66f42..8331295e55 100644 --- a/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiation.hh +++ b/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiation.hh @@ -25,7 +25,7 @@ // // // $Id: G4SynchrotronRadiation.hh,v 1.4 2006/06/29 19:55:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiationInMat.hh b/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiationInMat.hh index 9f5559e4fb..6f7042c99a 100644 --- a/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiationInMat.hh +++ b/source/processes/electromagnetic/xrays/include/G4SynchrotronRadiationInMat.hh @@ -25,7 +25,7 @@ // // // $Id: G4SynchrotronRadiationInMat.hh,v 1.2 2006/06/29 19:55:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/source/processes/electromagnetic/xrays/include/G4TransitionRadiation.hh b/source/processes/electromagnetic/xrays/include/G4TransitionRadiation.hh index 36a89b79b8..edfd53442c 100644 --- a/source/processes/electromagnetic/xrays/include/G4TransitionRadiation.hh +++ b/source/processes/electromagnetic/xrays/include/G4TransitionRadiation.hh @@ -25,7 +25,7 @@ // // // $Id: G4TransitionRadiation.hh,v 1.9 2006/06/29 19:55:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4TransitionRadiation -- header file // diff --git a/source/processes/electromagnetic/xrays/include/G4TransparentRegXTRadiator.hh b/source/processes/electromagnetic/xrays/include/G4TransparentRegXTRadiator.hh index 956973a428..f82c0726e2 100644 --- a/source/processes/electromagnetic/xrays/include/G4TransparentRegXTRadiator.hh +++ b/source/processes/electromagnetic/xrays/include/G4TransparentRegXTRadiator.hh @@ -25,7 +25,7 @@ // // // $Id: G4TransparentRegXTRadiator.hh,v 1.2 2006/06/29 19:55:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // /////////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/xrays/include/G4VTRModel.hh b/source/processes/electromagnetic/xrays/include/G4VTRModel.hh index 45f8e3ea3c..d7e9f37798 100644 --- a/source/processes/electromagnetic/xrays/include/G4VTRModel.hh +++ b/source/processes/electromagnetic/xrays/include/G4VTRModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4VTRModel.hh,v 1.3 2006/06/29 19:55:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VTRModel -- header file // diff --git a/source/processes/electromagnetic/xrays/include/G4VTransitionRadiation.hh b/source/processes/electromagnetic/xrays/include/G4VTransitionRadiation.hh index c704a83515..71c69b32a7 100644 --- a/source/processes/electromagnetic/xrays/include/G4VTransitionRadiation.hh +++ b/source/processes/electromagnetic/xrays/include/G4VTransitionRadiation.hh @@ -25,7 +25,7 @@ // // // $Id: G4VTransitionRadiation.hh,v 1.3 2006/06/29 19:55:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VTransitionRadiation -- header file // diff --git a/source/processes/electromagnetic/xrays/include/G4VXTRenergyLoss.hh b/source/processes/electromagnetic/xrays/include/G4VXTRenergyLoss.hh index d110689dfa..6a3727b5ad 100644 --- a/source/processes/electromagnetic/xrays/include/G4VXTRenergyLoss.hh +++ b/source/processes/electromagnetic/xrays/include/G4VXTRenergyLoss.hh @@ -25,7 +25,7 @@ // // // $Id: G4VXTRenergyLoss.hh,v 1.18 2006/06/29 19:55:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // /////////////////////////////////////////////////////////////////////////// diff --git a/source/processes/electromagnetic/xrays/src/G4Cerenkov.cc b/source/processes/electromagnetic/xrays/src/G4Cerenkov.cc index f5f1295c9b..ee2d7099af 100644 --- a/source/processes/electromagnetic/xrays/src/G4Cerenkov.cc +++ b/source/processes/electromagnetic/xrays/src/G4Cerenkov.cc @@ -25,7 +25,7 @@ // // // $Id: G4Cerenkov.cc,v 1.21 2006/06/29 19:56:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //////////////////////////////////////////////////////////////////////// // Cerenkov Radiation Class Implementation diff --git a/source/processes/electromagnetic/xrays/src/G4ForwardXrayTR.cc b/source/processes/electromagnetic/xrays/src/G4ForwardXrayTR.cc index 1852045e14..ac2dc7dd78 100644 --- a/source/processes/electromagnetic/xrays/src/G4ForwardXrayTR.cc +++ b/source/processes/electromagnetic/xrays/src/G4ForwardXrayTR.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ForwardXrayTR.cc,v 1.13 2006/06/29 19:56:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ForwardXrayTR.cc,v 1.14 2007/05/11 14:23:04 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4ForwardXrayTR class -- implementation file @@ -51,7 +51,7 @@ #include "G4PhysicsLinearVector.hh" #include "G4PhysicsLogVector.hh" #include "G4ProductionCutsTable.hh" - +#include "G4GeometryTolerance.hh" // Table initialization @@ -575,13 +575,13 @@ G4VParticleChange* G4ForwardXrayTR::PostStepDoIt(const G4Track& aTrack, G4StepPoint* pPreStepPoint = aStep.GetPreStepPoint(); G4StepPoint* pPostStepPoint = aStep.GetPostStepPoint(); + G4double tol=0.5*G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); if (pPostStepPoint->GetStepStatus() != fGeomBoundary) { return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); } - if (aTrack.GetStepLength() <= kCarTolerance*0.5) - + if (aTrack.GetStepLength() <= tol) { return G4VDiscreteProcess::PostStepDoIt(aTrack, aStep); } diff --git a/source/processes/electromagnetic/xrays/src/G4GammaXTRadiator.cc b/source/processes/electromagnetic/xrays/src/G4GammaXTRadiator.cc index 8626b669b4..aecaf31d24 100644 --- a/source/processes/electromagnetic/xrays/src/G4GammaXTRadiator.cc +++ b/source/processes/electromagnetic/xrays/src/G4GammaXTRadiator.cc @@ -25,7 +25,7 @@ // // // $Id: G4GammaXTRadiator.cc,v 1.5 2006/06/29 19:56:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include diff --git a/source/processes/electromagnetic/xrays/src/G4RegularXTRadiator.cc b/source/processes/electromagnetic/xrays/src/G4RegularXTRadiator.cc index 41db98bf50..9b0d4914a3 100644 --- a/source/processes/electromagnetic/xrays/src/G4RegularXTRadiator.cc +++ b/source/processes/electromagnetic/xrays/src/G4RegularXTRadiator.cc @@ -25,7 +25,7 @@ // // // $Id: G4RegularXTRadiator.cc,v 1.9 2006/06/29 19:56:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include diff --git a/source/processes/electromagnetic/xrays/src/G4Scintillation.cc b/source/processes/electromagnetic/xrays/src/G4Scintillation.cc index f7536bfcb6..f9c0153cd2 100644 --- a/source/processes/electromagnetic/xrays/src/G4Scintillation.cc +++ b/source/processes/electromagnetic/xrays/src/G4Scintillation.cc @@ -25,7 +25,7 @@ // // // $Id: G4Scintillation.cc,v 1.26 2006/06/29 19:56:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //////////////////////////////////////////////////////////////////////// // Scintillation Light Class Implementation diff --git a/source/processes/electromagnetic/xrays/src/G4StrawTubeXTRadiator.cc b/source/processes/electromagnetic/xrays/src/G4StrawTubeXTRadiator.cc index b87a4c82d2..4ca9780665 100644 --- a/source/processes/electromagnetic/xrays/src/G4StrawTubeXTRadiator.cc +++ b/source/processes/electromagnetic/xrays/src/G4StrawTubeXTRadiator.cc @@ -25,7 +25,7 @@ // // // $Id: G4StrawTubeXTRadiator.cc,v 1.4 2006/06/29 19:56:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include diff --git a/source/processes/electromagnetic/xrays/src/G4SynchrotronRadiation.cc b/source/processes/electromagnetic/xrays/src/G4SynchrotronRadiation.cc index 149b6b8872..6a5293db0c 100644 --- a/source/processes/electromagnetic/xrays/src/G4SynchrotronRadiation.cc +++ b/source/processes/electromagnetic/xrays/src/G4SynchrotronRadiation.cc @@ -25,7 +25,7 @@ // // // $Id: G4SynchrotronRadiation.cc,v 1.5 2006/06/29 19:56:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/electromagnetic/xrays/src/G4SynchrotronRadiationInMat.cc b/source/processes/electromagnetic/xrays/src/G4SynchrotronRadiationInMat.cc index 0d90681616..d8d2574f6e 100644 --- a/source/processes/electromagnetic/xrays/src/G4SynchrotronRadiationInMat.cc +++ b/source/processes/electromagnetic/xrays/src/G4SynchrotronRadiationInMat.cc @@ -25,7 +25,7 @@ // // // $Id: G4SynchrotronRadiationInMat.cc,v 1.2 2006/06/29 19:56:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/electromagnetic/xrays/src/G4TransitionRadiation.cc b/source/processes/electromagnetic/xrays/src/G4TransitionRadiation.cc index 50d1c09ff9..023d4eb429 100644 --- a/source/processes/electromagnetic/xrays/src/G4TransitionRadiation.cc +++ b/source/processes/electromagnetic/xrays/src/G4TransitionRadiation.cc @@ -25,7 +25,7 @@ // // // $Id: G4TransitionRadiation.cc,v 1.7 2006/06/29 19:56:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4TransitionRadiation class -- implementation file diff --git a/source/processes/electromagnetic/xrays/src/G4TransparentRegXTRadiator.cc b/source/processes/electromagnetic/xrays/src/G4TransparentRegXTRadiator.cc index 4e267ab0b8..d637c0aa71 100644 --- a/source/processes/electromagnetic/xrays/src/G4TransparentRegXTRadiator.cc +++ b/source/processes/electromagnetic/xrays/src/G4TransparentRegXTRadiator.cc @@ -25,7 +25,7 @@ // // // $Id: G4TransparentRegXTRadiator.cc,v 1.10 2006/06/29 19:56:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include diff --git a/source/processes/electromagnetic/xrays/src/G4VTransitionRadiation.cc b/source/processes/electromagnetic/xrays/src/G4VTransitionRadiation.cc index 44ff519ff5..f769f80bcb 100644 --- a/source/processes/electromagnetic/xrays/src/G4VTransitionRadiation.cc +++ b/source/processes/electromagnetic/xrays/src/G4VTransitionRadiation.cc @@ -25,7 +25,7 @@ // // // $Id: G4VTransitionRadiation.cc,v 1.5 2006/06/29 19:56:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VTransitionRadiation class -- implementation file diff --git a/source/processes/electromagnetic/xrays/src/G4VXTRenergyLoss.cc b/source/processes/electromagnetic/xrays/src/G4VXTRenergyLoss.cc index 018e6a3ac1..d65b6a4b33 100644 --- a/source/processes/electromagnetic/xrays/src/G4VXTRenergyLoss.cc +++ b/source/processes/electromagnetic/xrays/src/G4VXTRenergyLoss.cc @@ -25,7 +25,7 @@ // // // $Id: G4VXTRenergyLoss.cc,v 1.34 2006/06/29 19:56:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // History: // 2001-2002 R&D by V.Grichine diff --git a/source/processes/hadronic/GNUmakefile b/source/processes/hadronic/GNUmakefile index 510c3e8ef8..3611569dde 100644 --- a/source/processes/hadronic/GNUmakefile +++ b/source/processes/hadronic/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.19 2004/06/01 05:37:34 hpw Exp $ +# $Id: GNUmakefile,v 1.21 2007/05/27 08:27:15 gcosmo Exp $ # ---------------------------------------------------------------- # GNUmakefile for hadronic processes library. G.Folger 10-Dec-97. # ---------------------------------------------------------------- @@ -35,6 +35,7 @@ SUBDIRS += models/high_energy SUBDIRS += models/im_r_matrix SUBDIRS += models/isotope_production SUBDIRS += models/leading_particle +SUBDIRS += models/lll_fission SUBDIRS += models/low_energy SUBDIRS += models/management SUBDIRS += models/neutron_hp @@ -63,6 +64,7 @@ SUBLIBS += G4hadronic_leading_particle SUBLIBS += G4hadronic_LE SUBLIBS += G4had_mod_man SUBLIBS += G4had_neu_hp +SUBLIBS += G4had_lll_fis SUBLIBS += G4hadronic_radioactivedecay SUBLIBS += G4had_theo_max SUBLIBS += G4had_mod_util diff --git a/source/processes/hadronic/cross_sections/History b/source/processes/hadronic/cross_sections/History index 2359a71e37..104b8b76bd 100644 --- a/source/processes/hadronic/cross_sections/History +++ b/source/processes/hadronic/cross_sections/History @@ -14,6 +14,42 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +15 June 2007 Gabriele Cosmo (hadr-cross-V08-03-04) +--------------------------- +- Fixed memory leak in classes G4ElectroNuclearCrossSection and + G4PhotoNuclearCrossSection. + +08 June 2007 Vladimir Grichine +------------------------------ +- Fixed bug in push_back of fTotalXsc for pi- in G4PiNuclearCrossSection. + +08 June 2007 Vladimir Ivantchenko (hadr-cross-V08-03-03) +------------------------------------------------------- +- G4PiNuclearCrossSection.cc - fix non-initilised total cross section + for pi- + +30 May 2007 Dennis Wright (hadr-cross-V08-03-02) +------------------------------------------------ +- G4GlauberGribovCrossSection.cc, G4HadronNucleonXsc.cc + fix compiler warning: un-initialized variable + +24 May 2007 Dennis Wright (hadr-cross-V08-03-01) +------------------------------------------------ +- G4HadronCrossSections.hh, .cc : replace PSIZE with NPARTS to avoid + name conflict with SDK windows environment + +23 May 2007 Dennis Wright for Vladimir Grichine (hadr-cross-V08-03-00) +---------------------------------------------------------------------- +- G4GlauberGribovCrossSection.hh, .cc : add new methods: + + G4double GetRatioSD(const G4DynamicParticle*, G4double At, G4double Zt); + G4double GetRatioQE(const G4DynamicParticle*, G4double At, G4double Zt); + + allowing one to get qe/in and sd/in ratios. + +- G4HadronNucleonXsc.hh, .cc : add new method GetHadronNucleonXscMK to get + hadron-nucleon cross section using Mikhail Kossov's parameterization. + 03 May 2007 Dennis Wright (hadr-cross-V08-02-06) ------------------------------------------------ - G4HadronCrossSections::GetParticleCode() : replace code which diff --git a/source/processes/hadronic/cross_sections/include/G4BGGNucleonElasticXS.hh b/source/processes/hadronic/cross_sections/include/G4BGGNucleonElasticXS.hh index 954eb6de37..e5612bbe00 100644 --- a/source/processes/hadronic/cross_sections/include/G4BGGNucleonElasticXS.hh +++ b/source/processes/hadronic/cross_sections/include/G4BGGNucleonElasticXS.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BGGNucleonElasticXS.hh,v 1.1 2007/03/13 15:19:30 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/hadronic/cross_sections/include/G4BGGNucleonInelasticXS.hh b/source/processes/hadronic/cross_sections/include/G4BGGNucleonInelasticXS.hh index a5ad1dbdd0..6ad5538f99 100644 --- a/source/processes/hadronic/cross_sections/include/G4BGGNucleonInelasticXS.hh +++ b/source/processes/hadronic/cross_sections/include/G4BGGNucleonInelasticXS.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BGGNucleonInelasticXS.hh,v 1.1 2007/03/13 15:19:30 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/hadronic/cross_sections/include/G4BGGPionElasticXS.hh b/source/processes/hadronic/cross_sections/include/G4BGGPionElasticXS.hh index 5eaf2ee076..5417b56526 100644 --- a/source/processes/hadronic/cross_sections/include/G4BGGPionElasticXS.hh +++ b/source/processes/hadronic/cross_sections/include/G4BGGPionElasticXS.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BGGPionElasticXS.hh,v 1.1 2007/03/13 15:19:30 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/hadronic/cross_sections/include/G4BGGPionInelasticXS.hh b/source/processes/hadronic/cross_sections/include/G4BGGPionInelasticXS.hh index 12633dde86..d15e61eb36 100644 --- a/source/processes/hadronic/cross_sections/include/G4BGGPionInelasticXS.hh +++ b/source/processes/hadronic/cross_sections/include/G4BGGPionInelasticXS.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BGGPionInelasticXS.hh,v 1.1 2007/03/13 15:19:30 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/hadronic/cross_sections/include/G4ElectroNuclearCrossSection.hh b/source/processes/hadronic/cross_sections/include/G4ElectroNuclearCrossSection.hh index b4f28e8a31..8c093e2073 100644 --- a/source/processes/hadronic/cross_sections/include/G4ElectroNuclearCrossSection.hh +++ b/source/processes/hadronic/cross_sections/include/G4ElectroNuclearCrossSection.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 physics class: G4ElectroNuclearCrossSection -- header file @@ -50,12 +50,8 @@ class G4ElectroNuclearCrossSection : public G4VCrossSectionDataSet { public: - G4ElectroNuclearCrossSection() // Constructor @@?? - { - //theHadronCrossSections = G4HadronCrossSections::Instance(); - } - - ~G4ElectroNuclearCrossSection() {} + G4ElectroNuclearCrossSection(); + ~G4ElectroNuclearCrossSection(); G4bool IsApplicable(const G4DynamicParticle* aParticle, const G4Element* ) { @@ -114,6 +110,10 @@ private: static G4double lastSig; // Last value of the Cross Section static G4double lastG; // Last value of gamma=lnE-ln(me) static G4double lastH; // Last value of the High energy A-dependence + + static std::vector J1; // Vector of pointers to the J1 tabulated functions + static std::vector J2; // Vector of pointers to the J2 tabulated functions + static std::vector J3; // Vector of pointers to the J3 tabulated functions }; // Gives the threshold energy for different nuclei (min of p- and n-threshold) diff --git a/source/processes/hadronic/cross_sections/include/G4GlauberGribovCrossSection.hh b/source/processes/hadronic/cross_sections/include/G4GlauberGribovCrossSection.hh index 6e46ea8d16..cab0c32210 100644 --- a/source/processes/hadronic/cross_sections/include/G4GlauberGribovCrossSection.hh +++ b/source/processes/hadronic/cross_sections/include/G4GlauberGribovCrossSection.hh @@ -82,14 +82,23 @@ public: void DumpPhysicsTable(const G4ParticleDefinition&) {G4cout << "G4GlauberGribovCrossSection: uses Glauber-Gribov formula"< GDR; // Vector of pointers to the GDRPhotonuclearCrossSection + static std::vector HEN; // Vector of pointers to the HighEnPhotonuclearCrossSect + //G4HadronCrossSections* theHadronCrossSections; }; diff --git a/source/processes/hadronic/cross_sections/src/G4BGGNucleonElasticXS.cc b/source/processes/hadronic/cross_sections/src/G4BGGNucleonElasticXS.cc index 006f6ca059..43fd2a2d1b 100644 --- a/source/processes/hadronic/cross_sections/src/G4BGGNucleonElasticXS.cc +++ b/source/processes/hadronic/cross_sections/src/G4BGGNucleonElasticXS.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BGGNucleonElasticXS.cc,v 1.1 2007/03/13 15:19:30 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/hadronic/cross_sections/src/G4BGGNucleonInelasticXS.cc b/source/processes/hadronic/cross_sections/src/G4BGGNucleonInelasticXS.cc index e1e47db729..76d15d4915 100644 --- a/source/processes/hadronic/cross_sections/src/G4BGGNucleonInelasticXS.cc +++ b/source/processes/hadronic/cross_sections/src/G4BGGNucleonInelasticXS.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BGGNucleonInelasticXS.cc,v 1.1 2007/03/13 15:19:30 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/hadronic/cross_sections/src/G4BGGPionElasticXS.cc b/source/processes/hadronic/cross_sections/src/G4BGGPionElasticXS.cc index bd44e35237..be751153c8 100644 --- a/source/processes/hadronic/cross_sections/src/G4BGGPionElasticXS.cc +++ b/source/processes/hadronic/cross_sections/src/G4BGGPionElasticXS.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BGGPionElasticXS.cc,v 1.1 2007/03/13 15:19:30 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/hadronic/cross_sections/src/G4BGGPionInelasticXS.cc b/source/processes/hadronic/cross_sections/src/G4BGGPionInelasticXS.cc index 05dc091c88..5695d9c7bb 100644 --- a/source/processes/hadronic/cross_sections/src/G4BGGPionInelasticXS.cc +++ b/source/processes/hadronic/cross_sections/src/G4BGGPionInelasticXS.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4BGGPionInelasticXS.cc,v 1.1 2007/03/13 15:19:30 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------- // diff --git a/source/processes/hadronic/cross_sections/src/G4ElectroNuclearCrossSection.cc b/source/processes/hadronic/cross_sections/src/G4ElectroNuclearCrossSection.cc index 960515c076..2af9eb930d 100644 --- a/source/processes/hadronic/cross_sections/src/G4ElectroNuclearCrossSection.cc +++ b/source/processes/hadronic/cross_sections/src/G4ElectroNuclearCrossSection.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ElectroNuclearCrossSection.cc,v 1.26 2006/12/28 04:34:12 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4ElectroNuclearCrossSection.cc,v 1.27 2007/06/15 16:36:39 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Physics class: G4ElectroNuclearCrossSection for gamma+A cross sections @@ -43,7 +43,7 @@ #include "G4ElectroNuclearCrossSection.hh" -// Initialization of the +// Initialization of statics G4double G4ElectroNuclearCrossSection::lastE=0.; // Last used in the cross section TheEnergy G4int G4ElectroNuclearCrossSection::lastF=0; // Last used in the cross section TheFirstBin G4double G4ElectroNuclearCrossSection::lastG=0.; // Last used in the cross section TheGamma @@ -57,6 +57,28 @@ G4int G4ElectroNuclearCrossSection::lastZ=0; // The last Z of calculated n G4double G4ElectroNuclearCrossSection::lastTH=0.; // Last energy threshold G4double G4ElectroNuclearCrossSection::lastSig=0.;// Last value of the Cross Section +std::vector G4ElectroNuclearCrossSection::J1; // Vector of pointers to the J1 tabulated functions +std::vector G4ElectroNuclearCrossSection::J2; // Vector of pointers to the J2 tabulated functions +std::vector G4ElectroNuclearCrossSection::J3; // Vector of pointers to the J3 tabulated functions + +G4ElectroNuclearCrossSection::G4ElectroNuclearCrossSection() +{ +} + +G4ElectroNuclearCrossSection::~G4ElectroNuclearCrossSection() +{ + std::vector::iterator pos; + for(pos=J1.begin(); pos colF; // Vector of Last StartPosition in the Ji-function tables static std::vector colTH; // Vector of the energy thresholds for the eA->eX reactions static std::vector colH; // Vector of HighEnergyCoefficients (functional calculations) - static std::vector J1; // Vector of pointers to the J1 tabulated functions - static std::vector J2; // Vector of pointers to the J2 tabulated functions - static std::vector J3; // Vector of pointers to the J3 tabulated functions // *** End of Static Definitions (Associative Memory) *** const G4double Energy = aPart->GetKineticEnergy()/MeV; // Energy of the electron const G4int targetAtomicNumber = static_cast(AA+.499); //@@ Nat mixture (?!) diff --git a/source/processes/hadronic/cross_sections/src/G4GlauberGribovCrossSection.cc b/source/processes/hadronic/cross_sections/src/G4GlauberGribovCrossSection.cc index 6a88cde874..941461a3e2 100644 --- a/source/processes/hadronic/cross_sections/src/G4GlauberGribovCrossSection.cc +++ b/source/processes/hadronic/cross_sections/src/G4GlauberGribovCrossSection.cc @@ -148,8 +148,8 @@ GetCrossSection(const G4DynamicParticle* aParticle, const G4Element* anElement, // // Calculates total and inelastic Xsc, derives elastic as total - inelastic accordong to // Glauber model with Gribov correction calculated in the dipole approximation on -// light cone. Gaussian density helps to calculate rest integrals of the model. -// [1] B.Z. Kopeliovich, nucl-th/0306044 +// light cone. Gaussian density of point-like nucleons helps to calculate rest integrals of the model. +// [1] B.Z. Kopeliovich, nucl-th/0306044 + simplification above @@ -166,16 +166,19 @@ GetIsoZACrossSection(const G4DynamicParticle* aParticle, G4double Z, G4double A, theParticle == thePiPlus || theParticle == thePiMinus ) { - sigma = GetHadronNucleaonXscNS(aParticle, A, Z); + sigma = GetHadronNucleonXscNS(aParticle, A, Z); cofInelastic = 2.4; cofTotal = 2.0; } else { - sigma = GetHadronNucleaonXscPDG(aParticle, A, Z); + sigma = GetHadronNucleonXscPDG(aParticle, A, Z); cofInelastic = 2.2; cofTotal = 2.0; } + // cofInelastic = 2.0; + + nucleusSquare = cofTotal*pi*R*R; // basically 2piRR ratio = sigma/nucleusSquare; @@ -183,25 +186,114 @@ GetIsoZACrossSection(const G4DynamicParticle* aParticle, G4double Z, G4double A, fTotalXsc = xsection; - /* - fElasticXsc = 0.5*( xsection - nucleusSquare*ratio/(1.+ratio) ); - - if (fElasticXsc < 0.) fElasticXsc = 0.; - - fInelasticXsc = fTotalXsc - fElasticXsc; - - if (fInelasticXsc < 0.) fInelasticXsc = 0.; - */ + fInelasticXsc = nucleusSquare*std::log( 1. + cofInelastic*ratio )/cofInelastic; fElasticXsc = fTotalXsc - fInelasticXsc; + + G4double difratio = ratio/(1.+ratio); + + fDiffractionXsc = 0.5*nucleusSquare*( difratio - std::log( 1. + difratio ) ); + + + sigma = GetHNinelasticXsc(aParticle, A, Z); + ratio = sigma/nucleusSquare; + + fProductionXsc = nucleusSquare*std::log( 1. + cofInelastic*ratio )/cofInelastic; + if (fElasticXsc < 0.) fElasticXsc = 0.; return xsection; } +////////////////////////////////////////////////////////////////////////// +// +// Return single-diffraction/inelastic cross-section ratio + +G4double G4GlauberGribovCrossSection:: +GetRatioSD(const G4DynamicParticle* aParticle, G4double A, G4double Z) +{ + G4double sigma, cofInelastic, cofTotal, nucleusSquare, ratio; + G4double R = GetNucleusRadius(A); + + const G4ParticleDefinition* theParticle = aParticle->GetDefinition(); + + if( theParticle == theProton || + theParticle == theNeutron || + theParticle == thePiPlus || + theParticle == thePiMinus ) + { + sigma = GetHadronNucleonXscNS(aParticle, A, Z); + cofInelastic = 2.4; + cofTotal = 2.0; + } + else + { + sigma = GetHadronNucleonXscPDG(aParticle, A, Z); + cofInelastic = 2.2; + cofTotal = 2.0; + } + nucleusSquare = cofTotal*pi*R*R; // basically 2piRR + ratio = sigma/nucleusSquare; + + fInelasticXsc = nucleusSquare*std::log( 1. + cofInelastic*ratio )/cofInelastic; + + G4double difratio = ratio/(1.+ratio); + + fDiffractionXsc = 0.5*nucleusSquare*( difratio - std::log( 1. + difratio ) ); + + if (fInelasticXsc > 0.) ratio = fDiffractionXsc/fInelasticXsc; + else ratio = 0.; + + return ratio; +} + +////////////////////////////////////////////////////////////////////////// +// +// Return suasi-elastic/inelastic cross-section ratio + +G4double G4GlauberGribovCrossSection:: +GetRatioQE(const G4DynamicParticle* aParticle, G4double A, G4double Z) +{ + G4double sigma, cofInelastic, cofTotal, nucleusSquare, ratio; + G4double R = GetNucleusRadius(A); + + const G4ParticleDefinition* theParticle = aParticle->GetDefinition(); + + if( theParticle == theProton || + theParticle == theNeutron || + theParticle == thePiPlus || + theParticle == thePiMinus ) + { + sigma = GetHadronNucleonXscNS(aParticle, A, Z); + cofInelastic = 2.4; + cofTotal = 2.0; + } + else + { + sigma = GetHadronNucleonXscPDG(aParticle, A, Z); + cofInelastic = 2.2; + cofTotal = 2.0; + } + nucleusSquare = cofTotal*pi*R*R; // basically 2piRR + ratio = sigma/nucleusSquare; + + fInelasticXsc = nucleusSquare*std::log( 1. + cofInelastic*ratio )/cofInelastic; + + sigma = GetHNinelasticXsc(aParticle, A, Z); + ratio = sigma/nucleusSquare; + + fProductionXsc = nucleusSquare*std::log( 1. + cofInelastic*ratio )/cofInelastic; + + if (fInelasticXsc > fProductionXsc) ratio = (fInelasticXsc-fProductionXsc)/fInelasticXsc; + else ratio = 0.; + if ( ratio < 0. ) ratio = 0.; + + return ratio; +} + ///////////////////////////////////////////////////////////////////////////////////// // // Returns hadron-nucleon Xsc according to differnt parametrisations: @@ -210,14 +302,14 @@ GetIsoZACrossSection(const G4DynamicParticle* aParticle, G4double Z, G4double A, // [4] M.J. Longo, et al, Phys.Rev.Lett. 33 (1974) 725 G4double -G4GlauberGribovCrossSection::GetHadronNucleaonXsc(const G4DynamicParticle* aParticle, +G4GlauberGribovCrossSection::GetHadronNucleonXsc(const G4DynamicParticle* aParticle, const G4Element* anElement ) { G4double At = anElement->GetN(); // number of nucleons G4double Zt = anElement->GetZ(); // number of protons - return GetHadronNucleaonXsc( aParticle, At, Zt ); + return GetHadronNucleonXsc( aParticle, At, Zt ); } @@ -231,7 +323,7 @@ G4GlauberGribovCrossSection::GetHadronNucleaonXsc(const G4DynamicParticle* aPart // [4] M.J. Longo, et al, Phys.Rev.Lett. 33 (1974) 725 G4double -G4GlauberGribovCrossSection::GetHadronNucleaonXsc(const G4DynamicParticle* aParticle, +G4GlauberGribovCrossSection::GetHadronNucleonXsc(const G4DynamicParticle* aParticle, G4double At, G4double Zt ) { G4double xsection; @@ -302,14 +394,14 @@ G4GlauberGribovCrossSection::GetHadronNucleaonXsc(const G4DynamicParticle* aPart // http://pdg.lbl.gov/2006/reviews/hadronicrpp.pdf G4double -G4GlauberGribovCrossSection::GetHadronNucleaonXscPDG(const G4DynamicParticle* aParticle, +G4GlauberGribovCrossSection::GetHadronNucleonXscPDG(const G4DynamicParticle* aParticle, const G4Element* anElement ) { G4double At = anElement->GetN(); // number of nucleons G4double Zt = anElement->GetZ(); // number of protons - return GetHadronNucleaonXscPDG( aParticle, At, Zt ); + return GetHadronNucleonXscPDG( aParticle, At, Zt ); } @@ -322,7 +414,7 @@ G4GlauberGribovCrossSection::GetHadronNucleaonXscPDG(const G4DynamicParticle* aP // At = number of nucleons, Zt = number of protons G4double -G4GlauberGribovCrossSection::GetHadronNucleaonXscPDG(const G4DynamicParticle* aParticle, +G4GlauberGribovCrossSection::GetHadronNucleonXscPDG(const G4DynamicParticle* aParticle, G4double At, G4double Zt ) { G4double xsection; @@ -426,20 +518,22 @@ G4GlauberGribovCrossSection::GetHadronNucleaonXscPDG(const G4DynamicParticle* aP xsection *= millibarn; // parametrised in mb return xsection; } + + ///////////////////////////////////////////////////////////////////////////////////// // // Returns hadron-nucleon cross-section based on N. Starkov parametrisation of // data from mainly http://wwwppds.ihep.su:8001/c5-6A.html database G4double -G4GlauberGribovCrossSection::GetHadronNucleaonXscNS(const G4DynamicParticle* aParticle, +G4GlauberGribovCrossSection::GetHadronNucleonXscNS(const G4DynamicParticle* aParticle, const G4Element* anElement ) { G4double At = anElement->GetN(); // number of nucleons G4double Zt = anElement->GetZ(); // number of protons - return GetHadronNucleaonXscNS( aParticle, At, Zt ); + return GetHadronNucleonXscNS( aParticle, At, Zt ); } @@ -451,7 +545,7 @@ G4GlauberGribovCrossSection::GetHadronNucleaonXscNS(const G4DynamicParticle* aPa // data from mainly http://wwwppds.ihep.su:8001/c5-6A.html database G4double -G4GlauberGribovCrossSection::GetHadronNucleaonXscNS(const G4DynamicParticle* aParticle, +G4GlauberGribovCrossSection::GetHadronNucleonXscNS(const G4DynamicParticle* aParticle, G4double At, G4double Zt ) { G4double xsection(0), Delta, A0, B0; @@ -755,6 +849,577 @@ G4GlauberGribovCrossSection::GetHadronNucleaonXscNS(const G4DynamicParticle* aPa return xsection; } + +///////////////////////////////////////////////////////////////////////////////////// +// +// Returns hadron-nucleon inelastic cross-section based on proper parametrisation + +G4double +G4GlauberGribovCrossSection::GetHNinelasticXsc(const G4DynamicParticle* aParticle, + const G4Element* anElement ) +{ + G4double At = anElement->GetN(); // number of nucleons + G4double Zt = anElement->GetZ(); // number of protons + + + return GetHNinelasticXsc( aParticle, At, Zt ); +} + +///////////////////////////////////////////////////////////////////////////////////// +// +// Returns hadron-nucleon inelastic cross-section based on FTF-parametrisation + +G4double +G4GlauberGribovCrossSection::GetHNinelasticXsc(const G4DynamicParticle* aParticle, + G4double At, G4double Zt ) +{ + G4ParticleDefinition* hadron = aParticle->GetDefinition(); + G4double sumInelastic, Nt = At - Zt; + if(Nt < 0.) Nt = 0.; + + if( hadron == theKPlus ) + { + sumInelastic = GetHNinelasticXscVU(aParticle, At, Zt); + } + else + { + sumInelastic = Zt*GetHadronNucleonXscMK(aParticle, theProton); + sumInelastic += Nt*GetHadronNucleonXscMK(aParticle, theNeutron); + } + return sumInelastic; +} + + +///////////////////////////////////////////////////////////////////////////////////// +// +// Returns hadron-nucleon inelastic cross-section based on FTF-parametrisation + +G4double +G4GlauberGribovCrossSection::GetHNinelasticXscVU(const G4DynamicParticle* aParticle, + G4double At, G4double Zt ) +{ + G4int PDGcode = aParticle->GetDefinition()->GetPDGEncoding(); + G4int absPDGcode = std::abs(PDGcode); + + G4double Elab = aParticle->GetTotalEnergy(); + // (s - 2*0.88*GeV*GeV)/(2*0.939*GeV)/GeV; + G4double Plab = aParticle->GetMomentum().mag(); + // std::sqrt(Elab * Elab - 0.88); + + Elab /= GeV; + Plab /= GeV; + + G4double LogPlab = std::log( Plab ); + G4double sqrLogPlab = LogPlab * LogPlab; + + //G4cout<<"Plab = "< 1000 ) //------Projectile is baryon -------- + { + G4double XtotPP = 48.0 + 0. *std::pow(Plab, 0. ) + + 0.522*sqrLogPlab - 4.51*LogPlab; + + G4double XtotPN = 47.3 + 0. *std::pow(Plab, 0. ) + + 0.513*sqrLogPlab - 4.27*LogPlab; + + G4double XelPP = 11.9 + 26.9*std::pow(Plab,-1.21) + + 0.169*sqrLogPlab - 1.85*LogPlab; + + G4double XelPN = 11.9 + 26.9*std::pow(Plab,-1.21) + + 0.169*sqrLogPlab - 1.85*LogPlab; + + Xtotal = ( NumberOfTargetProtons * XtotPP + + NumberOfTargetNeutrons * XtotPN ); + + Xelastic = ( NumberOfTargetProtons * XelPP + + NumberOfTargetNeutrons * XelPN ); + } + else if( PDGcode == 211 ) //------Projectile is PionPlus ------- + { + G4double XtotPiP = 16.4 + 19.3 *std::pow(Plab,-0.42) + + 0.19 *sqrLogPlab - 0.0 *LogPlab; + + G4double XtotPiN = 33.0 + 14.0 *std::pow(Plab,-1.36) + + 0.456*sqrLogPlab - 4.03*LogPlab; + + G4double XelPiP = 0.0 + 11.4*std::pow(Plab,-0.40) + + 0.079*sqrLogPlab - 0.0 *LogPlab; + + G4double XelPiN = 1.76 + 11.2*std::pow(Plab,-0.64) + + 0.043*sqrLogPlab - 0.0 *LogPlab; + + Xtotal = ( NumberOfTargetProtons * XtotPiP + + NumberOfTargetNeutrons * XtotPiN ); + + Xelastic = ( NumberOfTargetProtons * XelPiP + + NumberOfTargetNeutrons * XelPiN ); + } + else if( PDGcode == -211 ) //------Projectile is PionMinus ------- + { + G4double XtotPiP = 33.0 + 14.0 *std::pow(Plab,-1.36) + + 0.456*sqrLogPlab - 4.03*LogPlab; + + G4double XtotPiN = 16.4 + 19.3 *std::pow(Plab,-0.42) + + 0.19 *sqrLogPlab - 0.0 *LogPlab; + + G4double XelPiP = 1.76 + 11.2*std::pow(Plab,-0.64) + + 0.043*sqrLogPlab - 0.0 *LogPlab; + + G4double XelPiN = 0.0 + 11.4*std::pow(Plab,-0.40) + + 0.079*sqrLogPlab - 0.0 *LogPlab; + + Xtotal = ( NumberOfTargetProtons * XtotPiP + + NumberOfTargetNeutrons * XtotPiN ); + + Xelastic = ( NumberOfTargetProtons * XelPiP + + NumberOfTargetNeutrons * XelPiN ); + } + else if( PDGcode == 111 ) //------Projectile is PionZero ------- + { + G4double XtotPiP =(16.4 + 19.3 *std::pow(Plab,-0.42) + + 0.19 *sqrLogPlab - 0.0 *LogPlab + //Pi+ + 33.0 + 14.0 *std::pow(Plab,-1.36) + + 0.456*sqrLogPlab - 4.03*LogPlab)/2; //Pi- + + G4double XtotPiN =(33.0 + 14.0 *std::pow(Plab,-1.36) + + 0.456*sqrLogPlab - 4.03*LogPlab + //Pi+ + 16.4 + 19.3 *std::pow(Plab,-0.42) + + 0.19 *sqrLogPlab - 0.0 *LogPlab)/2; //Pi- + + G4double XelPiP =( 0.0 + 11.4*std::pow(Plab,-0.40) + + 0.079*sqrLogPlab - 0.0 *LogPlab + //Pi+ + 1.76 + 11.2*std::pow(Plab,-0.64) + + 0.043*sqrLogPlab - 0.0 *LogPlab)/2; //Pi- + + G4double XelPiN =( 1.76 + 11.2*std::pow(Plab,-0.64) + + 0.043*sqrLogPlab - 0.0 *LogPlab + //Pi+ + 0.0 + 11.4*std::pow(Plab,-0.40) + + 0.079*sqrLogPlab - 0.0 *LogPlab)/2; //Pi- + + Xtotal = ( NumberOfTargetProtons * XtotPiP + + NumberOfTargetNeutrons * XtotPiN ); + + Xelastic = ( NumberOfTargetProtons * XelPiP + + NumberOfTargetNeutrons * XelPiN ); + } + else if( PDGcode == 321 ) //------Projectile is KaonPlus ------- + { + G4double XtotKP = 18.1 + 0. *std::pow(Plab, 0. ) + + 0.26 *sqrLogPlab - 1.0 *LogPlab; + G4double XtotKN = 18.7 + 0. *std::pow(Plab, 0. ) + + 0.21 *sqrLogPlab - 0.89*LogPlab; + + G4double XelKP = 5.0 + 8.1*std::pow(Plab,-1.8 ) + + 0.16 *sqrLogPlab - 1.3 *LogPlab; + + G4double XelKN = 7.3 + 0. *std::pow(Plab,-0. ) + + 0.29 *sqrLogPlab - 2.4 *LogPlab; + + Xtotal = ( NumberOfTargetProtons * XtotKP + + NumberOfTargetNeutrons * XtotKN ); + + Xelastic = ( NumberOfTargetProtons * XelKP + + NumberOfTargetNeutrons * XelKN ); + } + else if( PDGcode ==-321 ) //------Projectile is KaonMinus ------ + { + G4double XtotKP = 32.1 + 0. *std::pow(Plab, 0. ) + + 0.66 *sqrLogPlab - 5.6 *LogPlab; + G4double XtotKN = 25.2 + 0. *std::pow(Plab, 0. ) + + 0.38 *sqrLogPlab - 2.9 *LogPlab; + + G4double XelKP = 7.3 + 0. *std::pow(Plab,-0. ) + + 0.29 *sqrLogPlab - 2.4 *LogPlab; + + G4double XelKN = 5.0 + 8.1*std::pow(Plab,-1.8 ) + + 0.16 *sqrLogPlab - 1.3 *LogPlab; + + Xtotal = ( NumberOfTargetProtons * XtotKP + + NumberOfTargetNeutrons * XtotKN ); + + Xelastic = ( NumberOfTargetProtons * XelKP + + NumberOfTargetNeutrons * XelKN ); + } + else if( PDGcode == 311 ) //------Projectile is KaonZero ------ + { + G4double XtotKP = ( 18.1 + 0. *std::pow(Plab, 0. ) + + 0.26 *sqrLogPlab - 1.0 *LogPlab + //K+ + 32.1 + 0. *std::pow(Plab, 0. ) + + 0.66 *sqrLogPlab - 5.6 *LogPlab)/2; //K- + + G4double XtotKN = ( 18.7 + 0. *std::pow(Plab, 0. ) + + 0.21 *sqrLogPlab - 0.89*LogPlab + //K+ + 25.2 + 0. *std::pow(Plab, 0. ) + + 0.38 *sqrLogPlab - 2.9 *LogPlab)/2; //K- + + G4double XelKP = ( 5.0 + 8.1*std::pow(Plab,-1.8 ) + + 0.16 *sqrLogPlab - 1.3 *LogPlab + //K+ + 7.3 + 0. *std::pow(Plab,-0. ) + + 0.29 *sqrLogPlab - 2.4 *LogPlab)/2; //K- + + G4double XelKN = ( 7.3 + 0. *std::pow(Plab,-0. ) + + 0.29 *sqrLogPlab - 2.4 *LogPlab + //K+ + 5.0 + 8.1*std::pow(Plab,-1.8 ) + + 0.16 *sqrLogPlab - 1.3 *LogPlab)/2; //K- + + Xtotal = ( NumberOfTargetProtons * XtotKP + + NumberOfTargetNeutrons * XtotKN ); + + Xelastic = ( NumberOfTargetProtons * XelKP + + NumberOfTargetNeutrons * XelKN ); + } + else //------Projectile is undefined, Nucleon assumed + { + G4double XtotPP = 48.0 + 0. *std::pow(Plab, 0. ) + + 0.522*sqrLogPlab - 4.51*LogPlab; + + G4double XtotPN = 47.3 + 0. *std::pow(Plab, 0. ) + + 0.513*sqrLogPlab - 4.27*LogPlab; + + G4double XelPP = 11.9 + 26.9*std::pow(Plab,-1.21) + + 0.169*sqrLogPlab - 1.85*LogPlab; + G4double XelPN = 11.9 + 26.9*std::pow(Plab,-1.21) + + 0.169*sqrLogPlab - 1.85*LogPlab; + + Xtotal = ( NumberOfTargetProtons * XtotPP + + NumberOfTargetNeutrons * XtotPN ); + + Xelastic = ( NumberOfTargetProtons * XelPP + + NumberOfTargetNeutrons * XelPN ); + } + Xinelastic = Xtotal - Xelastic; + + if(Xinelastic < 0.) Xinelastic = 0.; + + return Xinelastic*= millibarn; +} + +///////////////////////////////////////////////////////////////////////////////////// +// +// Returns hadron-nucleon cross-section based on Mikhail Kossov CHIPS parametrisation of +// data from G4QuasiFreeRatios class + +G4double +G4GlauberGribovCrossSection::GetHadronNucleonXscMK(const G4DynamicParticle* aParticle, + const G4ParticleDefinition* nucleon ) +{ + G4int I = -1; + G4int PDG = aParticle->GetDefinition()->GetPDGEncoding(); + G4double totalXsc = 0; + G4double elasticXsc = 0; + G4double inelasticXsc; + // G4int absPDG = std::abs(PDG); + + G4double p = aParticle->GetMomentum().mag()/GeV; + + G4bool F = false; + if(nucleon == theProton) F = true; + else if(nucleon == theNeutron) F = false; + else + { + G4cout << "nucleon is not proton or neutron, return xsc for proton" << G4endl; + F = true; + } + + G4bool kfl = true; // Flag of K0/aK0 oscillation + G4bool kf = false; + + if( PDG == 130 || PDG == 310 ) + { + kf = true; + if( G4UniformRand() > .5 ) kfl = false; + } + if ( PDG == 2212 && F || PDG == 2112 && !F ) I = 0; // pp/nn + else if( PDG == 2112 && F || PDG == 2212 && !F ) I = 1; // np/pn + + else if( PDG == -211 && F || PDG == 211 && !F ) I = 2; // pimp/pipn + else if( PDG == 211 && F || PDG ==-211 && !F ) I = 3; // pipp/pimn + + else if( PDG == -321 || PDG == -311 || ( kf && !kfl ) ) I = 4; // KmN/K0N + else if( PDG == 321 || PDG == 311 || ( kf && kfl ) ) I = 5; // KpN/aK0N + + else if( PDG > 3000 && PDG < 3335) I = 6; // @@ for all hyperons - take Lambda + else if( PDG < -2000 && PDG > -3335) I = 7; // @@ for all anti-baryons - anti-p/anti-n + else + { + G4cout<<"MK PDG = "<pma) + { + G4double lp = std::log(p)-lmi; + G4double lp2 = lp*lp; + elasticXsc = pbe*lp2 + 6.72; + totalXsc = pbt*lp2 + 38.2; + } + else + { + G4double p2 = p*p; + G4double LE = 1./( .00012 + p2*.2); + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + G4double rp2 = 1./p2; + elasticXsc = LE + ( pbe*lp2 + 6.72+32.6/p)/( 1. + rp2/p); + totalXsc = LE + ( pbt*lp2 + 38.2+52.7*rp2)/( 1. + 2.72*rp2*rp2); + } + } + else if( I==1 ) // np/pn + { + if( p < pmi ) + { + G4double p2 = p*p; + elasticXsc = 1./( .00012 + p2*( .051 + .1*p2)); + totalXsc = elasticXsc; + } + else if( p > pma ) + { + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + elasticXsc = pbe*lp2 + 6.72; + totalXsc = pbt*lp2 + 38.2; + } + else + { + G4double p2 = p*p; + G4double LE = 1./( .00012 + p2*( .051 + .1*p2 ) ); + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + G4double rp2 = 1./p2; + elasticXsc = LE + (pbe*lp2 + 6.72 + 30./p)/( 1. + .49*rp2/p); + totalXsc = LE + (pbt*lp2 + 38.2)/( 1. + .54*rp2*rp2); + } + } + else if( I == 2 ) // pimp/pipn + { + G4double lp = std::log(p); + + if(p pma ) + { + G4double ld = lp - lmi; + G4double ld2 = ld*ld; + G4double sp = std::sqrt(p); + elasticXsc = pbe*ld2 + 2.4 + 7./sp; + totalXsc = pbt*ld2 + 22.3 + 12./sp; + } + else + { + G4double lr = lp + 1.27; + G4double LE = 1.53/( lr*lr + .0676); + G4double ld = lp - lmi; + G4double ld2 = ld*ld; + G4double p2 = p*p; + G4double p4 = p2*p2; + G4double sp = std::sqrt(p); + G4double lm = lp + .36; + G4double md = lm*lm + .04; + G4double lh = lp - .017; + G4double hd = lh*lh + .0025; + elasticXsc = LE + (pbe*ld2 + 2.4 + 7./sp)/( 1. + .7/p4) + .6/md + .05/hd; + totalXsc = LE*3 + (pbt*ld2 + 22.3 + 12./sp)/(1. + .4/p4) + 1./md + .06/hd; + } + } + else if( I == 3 ) // pipp/pimn + { + G4double lp = std::log(p); + + if( p < pmi ) + { + G4double lr = lp + 1.27; + G4double lr2 = lr*lr; + elasticXsc = 13./( lr2 + lr2*lr2 + .0676); + totalXsc = elasticXsc; + } + else if( p > pma ) + { + G4double ld = lp - lmi; + G4double ld2 = ld*ld; + G4double sp = std::sqrt(p); + elasticXsc = pbe*ld2 + 2.4 + 6./sp; + totalXsc = pbt*ld2 + 22.3 + 5./sp; + } + else + { + G4double lr = lp + 1.27; + G4double lr2 = lr*lr; + G4double LE = 13./(lr2 + lr2*lr2 + .0676); + G4double ld = lp - lmi; + G4double ld2 = ld*ld; + G4double p2 = p*p; + G4double p4 = p2*p2; + G4double sp = std::sqrt(p); + G4double lm = lp - .32; + G4double md = lm*lm + .0576; + elasticXsc = LE + (pbe*ld2 + 2.4 + 6./sp)/(1. + 3./p4) + .7/md; + totalXsc = LE + (pbt*ld2 + 22.3 + 5./sp)/(1. + 1./p4) + .8/md; + } + } + else if( I == 4 ) // Kmp/Kmn/K0p/K0n + { + if( p < pmi) + { + G4double psp = p*std::sqrt(p); + elasticXsc = 5.2/psp; + totalXsc = 14./psp; + } + else if( p > pma ) + { + G4double ld = std::log(p) - lmi; + G4double ld2 = ld*ld; + elasticXsc = pbe*ld2 + 2.23; + totalXsc = pbt*ld2 + 19.5; + } + else + { + G4double ld = std::log(p) - lmi; + G4double ld2 = ld*ld; + G4double sp = std::sqrt(p); + G4double psp = p*sp; + G4double p2 = p*p; + G4double p4 = p2*p2; + G4double lm = p - .39; + G4double md = lm*lm + .000156; + G4double lh = p - 1.; + G4double hd = lh*lh + .0156; + elasticXsc = 5.2/psp + (pbe*ld2 + 2.23)/(1. - .7/sp + .075/p4) + .004/md + .15/hd; + totalXsc = 14./psp + (pbt*ld2 + 19.5)/(1. - .21/sp + .52/p4) + .006/md + .30/hd; + } + } + else if( I == 5 ) // Kpp/Kpn/aKp/aKn + { + if( p < pmi ) + { + G4double lr = p - .38; + G4double lm = p - 1.; + G4double md = lm*lm + .372; + elasticXsc = .7/(lr*lr + .0676) + 2./md; + totalXsc = elasticXsc + .6/md; + } + else if( p > pma ) + { + G4double ld = std::log(p) - lmi; + G4double ld2 = ld*ld; + elasticXsc = pbe*ld2 + 2.23; + totalXsc = pbt*ld2 + 19.5; + } + else + { + G4double ld = std::log(p) - lmi; + G4double ld2 = ld*ld; + G4double lr = p - .38; + G4double LE = .7/(lr*lr + .0676); + G4double sp = std::sqrt(p); + G4double p2 = p*p; + G4double p4 = p2*p2; + G4double lm = p - 1.; + G4double md = lm*lm + .372; + elasticXsc = LE + (pbe*ld2 + 2.23)/(1. - .7/sp + .1/p4) + 2./md; + totalXsc = LE + (pbt*ld2 + 19.5)/(1. + .46/sp + 1.6/p4) + 2.6/md; + } + } + else if( I == 6 ) // hyperon-N + { + if( p < pmi ) + { + G4double p2 = p*p; + elasticXsc = 1./(.002 + p2*(.12 + p2)); + totalXsc = elasticXsc; + } + else if( p > pma ) + { + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + G4double sp = std::sqrt(p); + elasticXsc = (pbe*lp2 + 6.72)/(1. + 2./sp); + totalXsc = (pbt*lp2 + 38.2 + 900./sp)/(1. + 27./sp); + } + else + { + G4double p2 = p*p; + G4double LE = 1./(.002 + p2*(.12 + p2)); + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + G4double p4 = p2*p2; + G4double sp = std::sqrt(p); + elasticXsc = LE + (pbe*lp2 + 6.72 + 99./p2)/(1. + 2./sp + 2./p4); + totalXsc = LE + (pbt*lp2 + 38.2 + 900./sp)/(1. + 27./sp + 3./p4); + } + } + else if( I == 7 ) // antibaryon-N + { + if( p > pma ) + { + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + elasticXsc = pbe*lp2 + 6.72; + totalXsc = pbt*lp2 + 38.2; + } + else + { + G4double ye = std::pow(p, 1.25); + G4double yt = std::pow(p, .35); + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + elasticXsc = 80./(ye + 1.) + pbe*lp2 + 6.72; + totalXsc = (80./yt + .3)/yt +pbt*lp2 + 38.2; + } + } + else + { + G4cout<<"PDG incoding = "< totalXsc ) elasticXsc = totalXsc; + + totalXsc *= millibarn; + elasticXsc *= millibarn; + inelasticXsc = totalXsc - elasticXsc; + if (inelasticXsc < 0.) inelasticXsc = 0.; + + return inelasticXsc; +} + //////////////////////////////////////////////////////////////////////////////////// // // @@ -786,6 +1451,10 @@ G4GlauberGribovCrossSection::GetNucleusRadius( const G4DynamicParticle* , R = fRadiusConst*cubicrAt; + // return R; // !!!! + + + G4double meanA = 21.; G4double tauA1 = 40.; @@ -809,9 +1478,9 @@ G4GlauberGribovCrossSection::GetNucleusRadius( const G4DynamicParticle* , else { R *= ( 1.0 + b3*( 1. - std::exp( (At - meanA)/tauA3) ) ); - } - + } return R; + } //////////////////////////////////////////////////////////////////////////////////// // diff --git a/source/processes/hadronic/cross_sections/src/G4HadronCaptureDataSet.cc b/source/processes/hadronic/cross_sections/src/G4HadronCaptureDataSet.cc index 167df80ad8..095ddc707c 100644 --- a/source/processes/hadronic/cross_sections/src/G4HadronCaptureDataSet.cc +++ b/source/processes/hadronic/cross_sections/src/G4HadronCaptureDataSet.cc @@ -25,7 +25,7 @@ // // // $Id: G4HadronCaptureDataSet.cc,v 1.8 2006/06/29 19:57:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Physics class: HadronCaptureDataSet for cross sections diff --git a/source/processes/hadronic/cross_sections/src/G4HadronCrossSections.cc b/source/processes/hadronic/cross_sections/src/G4HadronCrossSections.cc index c4a6d04975..3670c95266 100644 --- a/source/processes/hadronic/cross_sections/src/G4HadronCrossSections.cc +++ b/source/processes/hadronic/cross_sections/src/G4HadronCrossSections.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Hadron Physics class G4HadronCrossSections @@ -82,7 +82,7 @@ G4float G4HadronCrossSections::plab[TSIZE] = { // Elastic scattering on free protons //--------------------------------------------------------------------- -G4float G4HadronCrossSections::csel[PSIZE][TSIZE] = { +G4float G4HadronCrossSections::csel[NPARTS][TSIZE] = { {0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, //1 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, @@ -441,7 +441,7 @@ G4float G4HadronCrossSections::csel[PSIZE][TSIZE] = { // Inelastic scattering on free protons //--------------------------------------------------------------------- -G4float G4HadronCrossSections::csin[PSIZE][TSIZE] = { +G4float G4HadronCrossSections::csin[NPARTS][TSIZE] = { {0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, //1 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, 0.00000E+00, @@ -1165,7 +1165,7 @@ G4float G4HadronCrossSections::csfiss[4][NFISS] = { 1000.0} }; -G4float G4HadronCrossSections::alpha[PSIZE] = { +G4float G4HadronCrossSections::alpha[NPARTS] = { 0.7,0.7,0.7,0.7,0.7,0.7, 0.75,0.75,0.75, 0.76,0.76,0.76,0.76, @@ -1182,13 +1182,13 @@ G4float G4HadronCrossSections::alphac[TSIZE] = { 0.982,0.988,0.992,1.010,1.020,1.030,1.040 }; -G4float G4HadronCrossSections::partel[PSIZE] = { +G4float G4HadronCrossSections::partel[NPARTS] = { 0.,0.,0.,0.,0.,0., 1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 1.,1.,1.,1.,1.,1.,1.,1.,1.,1., 1.,1.,1.,1.,1.,1.,1.,1.,1. }; -G4float G4HadronCrossSections::partin[PSIZE] = { +G4float G4HadronCrossSections::partin[NPARTS] = { 0.,0.,0.,0.,0.,0., 1.00,0.00,1.05,1.20,1.35,1.30,1.20,1.00,1.30, 1.00,1.30,1.00,1.30,1.00,1.00,1.00,1.30,1.30,1.30, @@ -1196,13 +1196,13 @@ G4float G4HadronCrossSections::partin[PSIZE] = { }; // Enabling flags for corrections for compounds -G4int G4HadronCrossSections::icorr[PSIZE] = { +G4int G4HadronCrossSections::icorr[NPARTS] = { 1,1,1,1,1,1,1,1,1,1,1,1,1,1, 0,1,0,1,0,1,1,1,0,0,0,1,1,0,0,1,1,1,1,0,0 }; // Enabling flags for interaction to occur -G4int G4HadronCrossSections::intrc[PSIZE] = { +G4int G4HadronCrossSections::intrc[NPARTS] = { 0,0,0,0,0,0, 1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,2,2,0, 1,1,1,1,1,1,1,1,1,1,0 diff --git a/source/processes/hadronic/cross_sections/src/G4HadronElasticDataSet.cc b/source/processes/hadronic/cross_sections/src/G4HadronElasticDataSet.cc index ee8c726685..09642017c0 100644 --- a/source/processes/hadronic/cross_sections/src/G4HadronElasticDataSet.cc +++ b/source/processes/hadronic/cross_sections/src/G4HadronElasticDataSet.cc @@ -25,7 +25,7 @@ // // // $Id: G4HadronElasticDataSet.cc,v 1.8 2006/06/29 19:57:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Physics class: HadronElasticDataSet for cross sections diff --git a/source/processes/hadronic/cross_sections/src/G4HadronFissionDataSet.cc b/source/processes/hadronic/cross_sections/src/G4HadronFissionDataSet.cc index 5e43e5309b..6a25f79cc2 100644 --- a/source/processes/hadronic/cross_sections/src/G4HadronFissionDataSet.cc +++ b/source/processes/hadronic/cross_sections/src/G4HadronFissionDataSet.cc @@ -25,7 +25,7 @@ // // // $Id: G4HadronFissionDataSet.cc,v 1.8 2006/06/29 19:57:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Physics class: HadronFissionDataSet for cross sections diff --git a/source/processes/hadronic/cross_sections/src/G4HadronInelasticDataSet.cc b/source/processes/hadronic/cross_sections/src/G4HadronInelasticDataSet.cc index c8a331d729..f5b1031f59 100644 --- a/source/processes/hadronic/cross_sections/src/G4HadronInelasticDataSet.cc +++ b/source/processes/hadronic/cross_sections/src/G4HadronInelasticDataSet.cc @@ -25,7 +25,7 @@ // // // $Id: G4HadronInelasticDataSet.cc,v 1.8 2006/06/29 19:57:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Physics class: HadronInelasticDataSet for cross sections diff --git a/source/processes/hadronic/cross_sections/src/G4HadronNucleonXsc.cc b/source/processes/hadronic/cross_sections/src/G4HadronNucleonXsc.cc index f2deb1d9d7..f4b38f2815 100644 --- a/source/processes/hadronic/cross_sections/src/G4HadronNucleonXsc.cc +++ b/source/processes/hadronic/cross_sections/src/G4HadronNucleonXsc.cc @@ -40,7 +40,7 @@ G4HadronNucleonXsc::G4HadronNucleonXsc() : fUpperLimit( 10000 * GeV ), - fLowerLimit( 3 * GeV ) + fLowerLimit( 0.03 * MeV ) { theGamma = G4Gamma::Gamma(); theProton = G4Proton::Proton(); @@ -201,7 +201,7 @@ G4HadronNucleonXsc::GetHadronNucleonXscEL(const G4DynamicParticle* aParticle, xsection *= millibarn; fTotalXsc = xsection; - fInelasticXsc = 0.5*xsection; + fInelasticXsc = 0.83*xsection; fElasticXsc = fTotalXsc - fInelasticXsc; if (fElasticXsc < 0.)fElasticXsc = 0.; @@ -351,7 +351,7 @@ G4HadronNucleonXsc::GetHadronNucleonXscPDG(const G4DynamicParticle* aParticle, xsection *= millibarn; // parametrised in mb fTotalXsc = xsection; - fInelasticXsc = 0.5*xsection; + fInelasticXsc = 0.83*xsection; fElasticXsc = fTotalXsc - fInelasticXsc; if (fElasticXsc < 0.)fElasticXsc = 0.; @@ -722,12 +722,13 @@ G4HadronNucleonXsc::GetHadronNucleonXscNS(const G4DynamicParticle* aParticle, fTotalXsc = xsection; } fTotalXsc *= millibarn; // parametrised in mb + // xsection *= millibarn; // parametrised in mb - fInelasticXsc = 0.5*xsection; + fInelasticXsc = 0.83*fTotalXsc; fElasticXsc = fTotalXsc - fInelasticXsc; if (fElasticXsc < 0.)fElasticXsc = 0.; - return xsection; + return fTotalXsc; } ///////////////////////////////////////////////////////////////////////////////////// @@ -772,7 +773,7 @@ G4HadronNucleonXsc::GetHadronNucleonXscVU(const G4DynamicParticle* aParticle, fElasticXsc = 11.9 + 26.9*std::pow(Plab,-1.21) + 0.169*sqrLogPlab - 1.85*LogPlab; } } - else if( PDGcode == 211 && pORn ) //------Projectile is PionPlus ---- + else if( PDGcode == 211 && pORn ) //------Projectile is PionPlus ---- { if(proton) { @@ -843,7 +844,7 @@ G4HadronNucleonXsc::GetHadronNucleonXscVU(const G4DynamicParticle* aParticle, fElasticXsc = 5.0 + 8.1*std::pow(Plab,-1.8 ) + 0.16*sqrLogPlab - 1.3*LogPlab; } } - else if( PDGcode == 311 && pORn ) //------Projectile is KaonZero ----- + else if( PDGcode == 311 && pORn ) //------Projectile is KaonZero ----- { if(proton) { @@ -860,7 +861,7 @@ G4HadronNucleonXsc::GetHadronNucleonXscVU(const G4DynamicParticle* aParticle, 5.0 + 8.1*std::pow(Plab,-1.8 ) + 0.16 *sqrLogPlab - 1.3 *LogPlab)/2; //K- } } - else //------Projectile is undefined, Nucleon assumed + else //------Projectile is undefined, Nucleon assumed { if(proton) { @@ -869,7 +870,6 @@ G4HadronNucleonXsc::GetHadronNucleonXscVU(const G4DynamicParticle* aParticle, } if(neutron) { - fTotalXsc = 47.3 + 0. *std::pow(Plab, 0. ) + 0.513*sqrLogPlab - 4.27*LogPlab; fElasticXsc = 11.9 + 26.9*std::pow(Plab,-1.21) + 0.169*sqrLogPlab - 1.85*LogPlab; } @@ -878,9 +878,331 @@ G4HadronNucleonXsc::GetHadronNucleonXscVU(const G4DynamicParticle* aParticle, fElasticXsc *= millibarn; fInelasticXsc = fTotalXsc - fElasticXsc; if (fInelasticXsc < 0.) fInelasticXsc = 0.; + return fTotalXsc; } +///////////////////////////////////////////////////////////////////////////////////// +// +// Returns hadron-nucleon cross-section based on Mikhail Kossov parametrisation of +// data from G4QuasiFreeRatios class + +G4double +G4HadronNucleonXsc::GetHadronNucleonXscMK(const G4DynamicParticle* aParticle, + const G4ParticleDefinition* nucleon ) +{ + G4int I = -1; + G4int PDG = aParticle->GetDefinition()->GetPDGEncoding(); + + // G4int absPDG = std::abs(PDG); + + G4double p = aParticle->GetMomentum().mag()/GeV; + + G4bool F = false; + if(nucleon == theProton) F = true; + else if(nucleon == theNeutron) F = false; + else + { + G4cout << "nucleon is not proton or neutron, return xsc for proton" << G4endl; + F = true; + } + + G4bool kfl = true; // Flag of K0/aK0 oscillation + G4bool kf = false; + + if( PDG == 130 || PDG == 310 ) + { + kf = true; + if( G4UniformRand() > .5 ) kfl = false; + } + if ( PDG == 2212 && F || PDG == 2112 && !F ) I = 0; // pp/nn + else if( PDG == 2112 && F || PDG == 2212 && !F ) I = 1; // np/pn + + else if( PDG == -211 && F || PDG == 211 && !F ) I = 2; // pimp/pipn + else if( PDG == 211 && F || PDG ==-211 && !F ) I = 3; // pipp/pimn + + else if( PDG == -321 || PDG == -311 || ( kf && !kfl ) ) I = 4; // KmN/K0N + else if( PDG == 321 || PDG == 311 || ( kf && kfl ) ) I = 5; // KpN/aK0N + + else if( PDG > 3000 && PDG < 3335) I = 6; // @@ for all hyperons - take Lambda + else if( PDG < -2000 && PDG > -3335) I = 7; // @@ for all anti-baryons - anti-p/anti-n + else + { + G4cout<<"MK PDG = "<pma) + { + G4double lp = std::log(p)-lmi; + G4double lp2 = lp*lp; + fElasticXsc = pbe*lp2 + 6.72; + fTotalXsc = pbt*lp2 + 38.2; + } + else + { + G4double p2 = p*p; + G4double LE = 1./( .00012 + p2*.2); + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + G4double rp2 = 1./p2; + fElasticXsc = LE + ( pbe*lp2 + 6.72+32.6/p)/( 1. + rp2/p); + fTotalXsc = LE + ( pbt*lp2 + 38.2+52.7*rp2)/( 1. + 2.72*rp2*rp2); + } + } + else if( I==1 ) // np/pn + { + if( p < pmi ) + { + G4double p2 = p*p; + fElasticXsc = 1./( .00012 + p2*( .051 + .1*p2)); + fTotalXsc = fElasticXsc; + } + else if( p > pma ) + { + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + fElasticXsc = pbe*lp2 + 6.72; + fTotalXsc = pbt*lp2 + 38.2; + } + else + { + G4double p2 = p*p; + G4double LE = 1./( .00012 + p2*( .051 + .1*p2 ) ); + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + G4double rp2 = 1./p2; + fElasticXsc = LE + (pbe*lp2 + 6.72 + 30./p)/( 1. + .49*rp2/p); + fTotalXsc = LE + (pbt*lp2 + 38.2)/( 1. + .54*rp2*rp2); + } + } + else if( I == 2 ) // pimp/pipn + { + G4double lp = std::log(p); + + if(p pma ) + { + G4double ld = lp - lmi; + G4double ld2 = ld*ld; + G4double sp = std::sqrt(p); + fElasticXsc = pbe*ld2 + 2.4 + 7./sp; + fTotalXsc = pbt*ld2 + 22.3 + 12./sp; + } + else + { + G4double lr = lp + 1.27; + G4double LE = 1.53/( lr*lr + .0676); + G4double ld = lp - lmi; + G4double ld2 = ld*ld; + G4double p2 = p*p; + G4double p4 = p2*p2; + G4double sp = std::sqrt(p); + G4double lm = lp + .36; + G4double md = lm*lm + .04; + G4double lh = lp - .017; + G4double hd = lh*lh + .0025; + fElasticXsc = LE + (pbe*ld2 + 2.4 + 7./sp)/( 1. + .7/p4) + .6/md + .05/hd; + fTotalXsc = LE*3 + (pbt*ld2 + 22.3 + 12./sp)/(1. + .4/p4) + 1./md + .06/hd; + } + } + else if( I == 3 ) // pipp/pimn + { + G4double lp = std::log(p); + + if( p < pmi ) + { + G4double lr = lp + 1.27; + G4double lr2 = lr*lr; + fElasticXsc = 13./( lr2 + lr2*lr2 + .0676); + fTotalXsc = fElasticXsc; + } + else if( p > pma ) + { + G4double ld = lp - lmi; + G4double ld2 = ld*ld; + G4double sp = std::sqrt(p); + fElasticXsc = pbe*ld2 + 2.4 + 6./sp; + fTotalXsc = pbt*ld2 + 22.3 + 5./sp; + } + else + { + G4double lr = lp + 1.27; + G4double lr2 = lr*lr; + G4double LE = 13./(lr2 + lr2*lr2 + .0676); + G4double ld = lp - lmi; + G4double ld2 = ld*ld; + G4double p2 = p*p; + G4double p4 = p2*p2; + G4double sp = std::sqrt(p); + G4double lm = lp - .32; + G4double md = lm*lm + .0576; + fElasticXsc = LE + (pbe*ld2 + 2.4 + 6./sp)/(1. + 3./p4) + .7/md; + fTotalXsc = LE + (pbt*ld2 + 22.3 + 5./sp)/(1. + 1./p4) + .8/md; + } + } + else if( I == 4 ) // Kmp/Kmn/K0p/K0n + { + if( p < pmi) + { + G4double psp = p*std::sqrt(p); + fElasticXsc = 5.2/psp; + fTotalXsc = 14./psp; + } + else if( p > pma ) + { + G4double ld = std::log(p) - lmi; + G4double ld2 = ld*ld; + fElasticXsc = pbe*ld2 + 2.23; + fTotalXsc = pbt*ld2 + 19.5; + } + else + { + G4double ld = std::log(p) - lmi; + G4double ld2 = ld*ld; + G4double sp = std::sqrt(p); + G4double psp = p*sp; + G4double p2 = p*p; + G4double p4 = p2*p2; + G4double lm = p - .39; + G4double md = lm*lm + .000156; + G4double lh = p - 1.; + G4double hd = lh*lh + .0156; + fElasticXsc = 5.2/psp + (pbe*ld2 + 2.23)/(1. - .7/sp + .075/p4) + .004/md + .15/hd; + fTotalXsc = 14./psp + (pbt*ld2 + 19.5)/(1. - .21/sp + .52/p4) + .006/md + .30/hd; + } + } + else if( I == 5 ) // Kpp/Kpn/aKp/aKn + { + if( p < pmi ) + { + G4double lr = p - .38; + G4double lm = p - 1.; + G4double md = lm*lm + .372; + fElasticXsc = .7/(lr*lr + .0676) + 2./md; + fTotalXsc = fElasticXsc + .6/md; + } + else if( p > pma ) + { + G4double ld = std::log(p) - lmi; + G4double ld2 = ld*ld; + fElasticXsc = pbe*ld2 + 2.23; + fTotalXsc = pbt*ld2 + 19.5; + } + else + { + G4double ld = std::log(p) - lmi; + G4double ld2 = ld*ld; + G4double lr = p - .38; + G4double LE = .7/(lr*lr + .0676); + G4double sp = std::sqrt(p); + G4double p2 = p*p; + G4double p4 = p2*p2; + G4double lm = p - 1.; + G4double md = lm*lm + .372; + fElasticXsc = LE + (pbe*ld2 + 2.23)/(1. - .7/sp + .1/p4) + 2./md; + fTotalXsc = LE + (pbt*ld2 + 19.5)/(1. + .46/sp + 1.6/p4) + 2.6/md; + } + } + else if( I == 6 ) // hyperon-N + { + if( p < pmi ) + { + G4double p2 = p*p; + fElasticXsc = 1./(.002 + p2*(.12 + p2)); + fTotalXsc = fElasticXsc; + } + else if( p > pma ) + { + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + G4double sp = std::sqrt(p); + fElasticXsc = (pbe*lp2 + 6.72)/(1. + 2./sp); + fTotalXsc = (pbt*lp2 + 38.2 + 900./sp)/(1. + 27./sp); + } + else + { + G4double p2 = p*p; + G4double LE = 1./(.002 + p2*(.12 + p2)); + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + G4double p4 = p2*p2; + G4double sp = std::sqrt(p); + fElasticXsc = LE + (pbe*lp2 + 6.72 + 99./p2)/(1. + 2./sp + 2./p4); + fTotalXsc = LE + (pbt*lp2 + 38.2 + 900./sp)/(1. + 27./sp + 3./p4); + } + } + else if( I == 7 ) // antibaryon-N + { + if( p > pma ) + { + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + fElasticXsc = pbe*lp2 + 6.72; + fTotalXsc = pbt*lp2 + 38.2; + } + else + { + G4double ye = std::pow(p, 1.25); + G4double yt = std::pow(p, .35); + G4double lp = std::log(p) - lmi; + G4double lp2 = lp*lp; + fElasticXsc = 80./(ye + 1.) + pbe*lp2 + 6.72; + fTotalXsc = (80./yt + .3)/yt +pbt*lp2 + 38.2; + } + } + else + { + G4cout<<"PDG incoding = "< fTotalXsc ) fElasticXsc = fTotalXsc; + + fTotalXsc *= millibarn; + fElasticXsc *= millibarn; + fInelasticXsc = fTotalXsc - fElasticXsc; + if (fInelasticXsc < 0.) fInelasticXsc = 0.; + + + return fTotalXsc; +} + + + + + //////////////////////////////////////////////////////////////////////////////////// // // diff --git a/source/processes/hadronic/cross_sections/src/G4NucleonNuclearCrossSection.cc b/source/processes/hadronic/cross_sections/src/G4NucleonNuclearCrossSection.cc index 57f9ce4548..592c0932f7 100644 --- a/source/processes/hadronic/cross_sections/src/G4NucleonNuclearCrossSection.cc +++ b/source/processes/hadronic/cross_sections/src/G4NucleonNuclearCrossSection.cc @@ -670,7 +670,6 @@ GetIsoZACrossSection( const G4DynamicParticle* aParticle, fTotalXsc = Interpolate(Z1, Z2, Z, xt1, xt2); } } - fElasticXsc = fTotalXsc - result; if( fElasticXsc < 0.) fElasticXsc = 0.; diff --git a/source/processes/hadronic/cross_sections/src/G4PhotoNuclearCrossSection.cc b/source/processes/hadronic/cross_sections/src/G4PhotoNuclearCrossSection.cc index 0e31c71147..851a26c9ce 100644 --- a/source/processes/hadronic/cross_sections/src/G4PhotoNuclearCrossSection.cc +++ b/source/processes/hadronic/cross_sections/src/G4PhotoNuclearCrossSection.cc @@ -25,7 +25,7 @@ // // // The lust update: M.V. Kossov, CERN/ITEP(Moscow) 17-June-02 -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Physics class: G4PhotoNuclearCrossSection for gamma+A cross sections @@ -40,7 +40,7 @@ #include "G4PhotoNuclearCrossSection.hh" -// Initialization of the +// Initialization of the statics G4int G4PhotoNuclearCrossSection::lastN=0; // The last N of calculated nucleus G4int G4PhotoNuclearCrossSection::lastZ=0; @@ -58,6 +58,24 @@ G4double G4PhotoNuclearCrossSection::lastTH=0.; G4double G4PhotoNuclearCrossSection::lastSP=0.; // Last value of the ShadowingPomeron (A-dependent) +std::vector G4PhotoNuclearCrossSection::GDR; // Vector of pointers to the GDRPhotonuclearCrossSection +std::vector G4PhotoNuclearCrossSection::HEN; // Vector of pointers to the HighEnPhotonuclearCrossSect + +G4PhotoNuclearCrossSection::G4PhotoNuclearCrossSection() +{ +} + +G4PhotoNuclearCrossSection::~G4PhotoNuclearCrossSection() +{ + std::vector::iterator pos; + for(pos=GDR.begin(); pos colZ; // Z of calculated nuclei static std::vector spA; // shadowing coefficients (A-dependent) static std::vector eTH; // energy threshold (A-dependent) - static std::vector GDR; // Vector of pointers to the GDRPhotonuclearCrossSection - static std::vector HEN; // Vector of pointers to the HighEnPhotonuclearCrossSect // const G4double Energy = aPart->GetKineticEnergy()/MeV; const G4int targetAtomicNumber = static_cast(AA+.499); //@@ Nat mixture (?!) diff --git a/source/processes/hadronic/cross_sections/src/G4PiData.cc b/source/processes/hadronic/cross_sections/src/G4PiData.cc index dd47375068..786ec6a288 100644 --- a/source/processes/hadronic/cross_sections/src/G4PiData.cc +++ b/source/processes/hadronic/cross_sections/src/G4PiData.cc @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- // by J.P Wellisch, Sun Sep 15 2002. diff --git a/source/processes/hadronic/cross_sections/src/G4PiNuclearCrossSection.cc b/source/processes/hadronic/cross_sections/src/G4PiNuclearCrossSection.cc index d55e864387..7e060cd0a2 100644 --- a/source/processes/hadronic/cross_sections/src/G4PiNuclearCrossSection.cc +++ b/source/processes/hadronic/cross_sections/src/G4PiNuclearCrossSection.cc @@ -368,8 +368,10 @@ GetIsoZACrossSection(const G4DynamicParticle* particle, G4double ZZ, G4double result = 0; G4int Z=G4lrint(ZZ); debug.push_back(Z); - size_t it=0; + size_t it = 0; + while(ittheZ[it]) it++; + debug.push_back(theZ[it]); debug.push_back(kineticEnergy); @@ -380,13 +382,16 @@ GetIsoZACrossSection(const G4DynamicParticle* particle, G4double ZZ, } G4int Z1, Z2; G4double x1, x2, xt1, xt2; - if(charge<0) + if( charge < 0 ) { - if(theZ[it]==Z) + if( theZ[it] == Z ) { result = thePimData[it]->ReactionXSection(kineticEnergy); + fTotalXsc = thePimData[it]->TotalXSection(kineticEnergy); + debug.push_back("D1 "); debug.push_back(result); + debug.push_back(fTotalXsc); } else { diff --git a/source/processes/hadronic/management/History b/source/processes/hadronic/management/History index 612e79d010..5078f780ea 100644 --- a/source/processes/hadronic/management/History +++ b/source/processes/hadronic/management/History @@ -14,6 +14,28 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +15 June 2007 Gabriele Cosmo (hadr-man-V08-03-03) +------------------------------------------------ +- G4HadronicProcess: fixed memory leak with deletion of 'theIsoResult' and + 'theCrossSectionDataStore' in destructor. + +12 June 2007 Dennis Wright (hadr-man-V08-03-02) +----------------------------------------------- +- G4HadronicProcess::FillTotalResult: use different G4DynamicParticle constructor + and do not allow kinetic energy to be exactly 0. This partly removes a spurious + peak at 90 degrees + +01 June 2007 Dennis Wright (hadr-man-V08-03-01) +----------------------------------------------- +- G4HadronicProcess.cc : change default for isotope production to off + this fixes a memory leak. + +30 Apr 2007 Dennis Wright (hadr-man-V08-03-00) +---------------------------------------------- +- G4HadronicProcess.cc + remove effective charge calculation + remove unused variable newWeight + 23 Apr 2007 Dennis Wright (hadr-man-V08-02-03) ---------------------------------------------- - G4HadronicProcess.hh diff --git a/source/processes/hadronic/management/include/G4EnergyRangeManager.hh b/source/processes/hadronic/management/include/G4EnergyRangeManager.hh index 1b88556018..d853bbc7f2 100644 --- a/source/processes/hadronic/management/include/G4EnergyRangeManager.hh +++ b/source/processes/hadronic/management/include/G4EnergyRangeManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4EnergyRangeManager.hh,v 1.9 2006/06/29 19:58:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Energy Range Manager // original by H.P. Wellisch diff --git a/source/processes/hadronic/management/include/G4HadLeadBias.hh b/source/processes/hadronic/management/include/G4HadLeadBias.hh index 5a5b5e32f2..0fc44f4b67 100644 --- a/source/processes/hadronic/management/include/G4HadLeadBias.hh +++ b/source/processes/hadronic/management/include/G4HadLeadBias.hh @@ -23,7 +23,7 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- #ifndef G4HadLeadBias_h diff --git a/source/processes/hadronic/management/include/G4VLeadingParticleBiasing.hh b/source/processes/hadronic/management/include/G4VLeadingParticleBiasing.hh index 64468840b9..e9121fdff5 100644 --- a/source/processes/hadronic/management/include/G4VLeadingParticleBiasing.hh +++ b/source/processes/hadronic/management/include/G4VLeadingParticleBiasing.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VLeadingParticleBiasing.hh,v 1.6 2006/06/29 19:58:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------------- #ifndef G4VLeadingParticleBiasing_h diff --git a/source/processes/hadronic/management/src/G4EnergyRangeManager.cc b/source/processes/hadronic/management/src/G4EnergyRangeManager.cc index a9b28deb24..b463cb089f 100644 --- a/source/processes/hadronic/management/src/G4EnergyRangeManager.cc +++ b/source/processes/hadronic/management/src/G4EnergyRangeManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4EnergyRangeManager.cc,v 1.15 2006/06/29 19:58:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Energy Range Manager // original by H.P. Wellisch diff --git a/source/processes/hadronic/management/src/G4HadronicProcess.cc b/source/processes/hadronic/management/src/G4HadronicProcess.cc index 653e65306d..99ec9eb0a4 100644 --- a/source/processes/hadronic/management/src/G4HadronicProcess.cc +++ b/source/processes/hadronic/management/src/G4HadronicProcess.cc @@ -31,7 +31,7 @@ #include #include #include "G4HadronicProcess.hh" -#include "G4EffectiveCharge.hh" +// #include "G4EffectiveCharge.hh" #include "G4HadProjectile.hh" #include "G4ElementVector.hh" #include "G4Track.hh" @@ -62,8 +62,8 @@ namespace G4HadronicProcess_local } } -G4IsoParticleChange * G4HadronicProcess::theIsoResult = NULL; -G4IsoParticleChange * G4HadronicProcess::theOldIsoResult = NULL; +G4IsoParticleChange * G4HadronicProcess::theIsoResult = 0; +G4IsoParticleChange * G4HadronicProcess::theOldIsoResult = 0; G4bool G4HadronicProcess::isoIsEnabled = true; void G4HadronicProcess:: @@ -77,7 +77,7 @@ G4HadronicProcess::G4HadronicProcess( const G4String &processName, G4VDiscreteProcess( processName, aType) { ModelingState = 0; - isoIsOnAnyway = 0; + isoIsOnAnyway = -1; theTotalResult = new G4ParticleChange(); theCrossSectionDataStore = new G4CrossSectionDataStore(); aScaleFactor = 1; @@ -88,13 +88,13 @@ G4VDiscreteProcess( processName, aType) G4HadronicProcess::~G4HadronicProcess() { delete theTotalResult; - std::for_each(theProductionModels.begin(), - theProductionModels.end(), - G4Delete()); - std::for_each(theBias.begin(), - theBias.end(), - G4Delete()); - if(theOldIsoResult) delete theOldIsoResult; + + std::for_each(theProductionModels.begin(), + theProductionModels.end(), G4Delete()); + std::for_each(theBias.begin(), theBias.end(), G4Delete()); + + delete theOldIsoResult; delete theIsoResult; + delete theCrossSectionDataStore; } void G4HadronicProcess::RegisterMe( G4HadronicInteraction *a ) @@ -223,7 +223,6 @@ const G4Track &aTrack, const G4Step &) return theTotalResult; } - // Get kinetic energy per nucleon for ions if(aParticle->GetDefinition()->GetBaryonNumber() > 1.5) @@ -314,7 +313,6 @@ const G4Track &aTrack, const G4Step &) } while(!result); - if(!ModelingState && !getenv("BypassAllSafetyChecks") ) { G4cout << "ERROR IN EXECUTION -- HADRONIC PROCESS STATE NOT VALID"<GetStatusChange() == isAlive && thePro.GetDefinition() != aTrack.GetDefinition()) { @@ -333,6 +330,7 @@ const G4Track &aTrack, const G4Step &) result->SetTrafoToLab(thePro.GetTrafoToLab()); + /* // Loop over charged ion secondaries for(G4int i=0; iGetNumberOfSecondaries(); i++) @@ -354,7 +352,8 @@ const G4Track &aTrack, const G4Step &) aSecTrack->SetCharge(charge); } } - + */ + if(getenv("HadronicDoitLogging") ) { G4cout << "HadronicDoitLogging " @@ -391,6 +390,7 @@ const G4Track &aTrack, const G4Step &) FillTotalResult(result, aTrack); if(G4HadronicProcess_debug_flag) std::cout << "@@@@ hadronic process end "<< std::endl; + return theTotalResult; } @@ -401,23 +401,25 @@ G4HadronicProcess::DoIsotopeCounting(G4HadFinalState * aResult, const G4Nucleus & aNucleus) { // get the PC from iso-production - if(theOldIsoResult) delete theOldIsoResult; - if(theIsoResult) delete theIsoResult; + delete theOldIsoResult; + theOldIsoResult = 0; + delete theIsoResult; theIsoResult = new G4IsoParticleChange; G4bool done = false; - G4IsoResult * anIsoResult = NULL; + G4IsoResult * anIsoResult = 0; for(unsigned int i=0; iGetIsotope(aTrack, aNucleus); - if(anIsoResult!=NULL) + if(anIsoResult!=0) { done = true; break; } } - // if none in charge, use default iso production + + // If no production models active, use default iso production if(!done) anIsoResult = ExtractResidualNucleus(aTrack, aNucleus, aResult); - + // Add all info explicitely and add typename from model called. theIsoResult->SetIsotope(anIsoResult->GetIsotope()); theIsoResult->SetProductionPosition(aTrack.GetPosition()); @@ -427,6 +429,17 @@ G4HadronicProcess::DoIsotopeCounting(G4HadFinalState * aResult, theIsoResult->SetProducer(typeid(*theInteraction).name()); delete anIsoResult; + + // If isotope production is enabled the GetIsotopeProductionInfo() + // method must be called or else a memory leak will result + // + // The following code will fix the memory leak, but remove the + // isotope information: + // + // if(theIsoResult) { + // delete theIsoResult; + // theIsoResult = 0; + // } return aResult; } @@ -470,14 +483,6 @@ G4HadronicProcess::ExtractResidualNucleus(const G4Track&, G4String biff = ost1.str(); G4IsoResult * theResult = new G4IsoResult(biff, aNucleus); - // char the1[100] = {""}; - // std::ostrstream ost1(the1, 100, std::ios::out); - // ost1 <ProposeTrackStatus(fAlive); G4double rotation = 2.*pi*G4UniformRand(); G4ThreeVector it(0., 0., 1.); + /* if(xBiasOn) { @@ -596,32 +602,29 @@ G4HadronicProcess::FillTotalResult(G4HadFinalState * aR, const G4Track & aT) G4Exception("G4HadronicProcess", "007", FatalException, "use of unsupported track-status."); } + if(GetProcessName() != "hElastic" && GetProcessName() != "HadronElastic" && theTotalResult->GetTrackStatus()==fAlive && aR->GetStatusChange()==isAlive ) { - G4double newWeight = theTotalResult->GetParentWeight(); - G4double newM=aT.GetDefinition()->GetPDGMass(); - G4double newE=aR->GetEnergyChange() + newM; - G4double newP=std::sqrt(newE*newE - newM*newM); - G4DynamicParticle * aNew = - new G4DynamicParticle(aT.GetDefinition(), newE, newP*aR->GetMomentumChange()); - // std::cout << "Debug 0 "<GetNumberOfSecondaries()<GetEnergyChange()<<" "<< aNew->GetTotalEnergy() <GetMomentumChange()<<" "<< aNew->GetMomentum() << std::endl; - //std::cout << "Debug 3 "<GetParentWeight(); + + G4double newKE = std::max(DBL_MIN, aR->GetEnergyChange()); + G4DynamicParticle* aNew = new G4DynamicParticle(aT.GetDefinition(), + aR->GetMomentumChange(), + newKE); G4HadSecondary* theSec = new G4HadSecondary(aNew, 1.0); aR->AddSecondary(theSec); aR->SetStatusChange(stopAndKill); + theTotalResult->ProposeTrackStatus(fStopAndKill); theTotalResult->ProposeEnergy( 0.0 ); - //std::cout << "Debug 4 "<< aR->GetNumberOfSecondaries() <ProposeLocalEnergyDeposit(aR->GetLocalEnergyDeposit()); theTotalResult->SetNumberOfSecondaries(aR->GetNumberOfSecondaries()); - + if(aR->GetStatusChange() != stopAndKill) { G4double newM=aT.GetDefinition()->GetPDGMass(); @@ -633,12 +636,13 @@ G4HadronicProcess::FillTotalResult(G4HadFinalState * aR, const G4Track & aT) newP4*=aR->GetTrafoToLab(); theTotalResult->ProposeMomentumDirection(newP4.vect().unit()); } + for(G4int i=0; iGetNumberOfSecondaries(); i++) { - //std::cout << "Debug 5 "<< aR->GetNumberOfSecondaries() <GetSecondary(i)->GetParticle()->Get4Momentum(); theM.rotate(rotation, it); theM*=aR->GetTrafoToLab(); + if(go_wild(theM.e())) { G4Exception("G4HadronicProcess", "007", FatalException, @@ -651,12 +655,15 @@ G4HadronicProcess::FillTotalResult(G4HadFinalState * aR, const G4Track & aT) G4Exception("G4HadronicProcess", "007", FatalException, "secondary track received NaN momentum."); } + aR->GetSecondary(i)->GetParticle()->Set4Momentum(theM); G4double time = aR->GetSecondary(i)->GetTime(); if(time<0) time = aT.GetGlobalTime(); + G4Track* track = new G4Track(aR->GetSecondary(i)->GetParticle(), aT.GetGlobalTime(), aT.GetPosition()); + G4double newWeight = aT.GetWeight()*aR->GetSecondary(i)->GetWeight(); //static G4double pinelcount=0; if(xBiasOn) newWeight *= XBiasSecondaryWeight(); @@ -681,10 +688,10 @@ G4HadronicProcess::FillTotalResult(G4HadFinalState * aR, const G4Track & aT) <<" "<GetParticleName() <SetTouchableHandle(aT.GetTouchableHandle()); theTotalResult->AddSecondary(track); } + aR->Clear(); return; } diff --git a/source/processes/hadronic/models/GNUmakefile b/source/processes/hadronic/models/GNUmakefile index 792d6bdda3..a28a3ac93f 100644 --- a/source/processes/hadronic/models/GNUmakefile +++ b/source/processes/hadronic/models/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.16 2004/06/01 05:37:56 hpw Exp $ +# $Id: GNUmakefile,v 1.17 2007/05/25 19:27:20 dennis Exp $ # -------------------------------------------------------------- # GNUmakefile for hadronic models library. G.Folger 10-Dec-97 # -------------------------------------------------------------- @@ -31,6 +31,7 @@ SUBDIRS += leading_particle SUBDIRS += low_energy SUBDIRS += management SUBDIRS += neutron_hp +SUBDIRS += lll_fission SUBDIRS += photolepton_hadron/muon_nuclear SUBDIRS += parton_string/diffraction SUBDIRS += parton_string/hadronization @@ -51,6 +52,7 @@ SUBLIBS += G4hadronic_leading_particle SUBLIBS += G4hadronic_LE SUBLIBS += G4had_mod_man SUBLIBS += G4had_neu_hp +SUBLIBS += G4had_lll_fis SUBLIBS += G4hadronic_radioactivedecay SUBLIBS += G4had_theo_max SUBLIBS += G4had_mod_util diff --git a/source/processes/hadronic/models/binary_cascade/History b/source/processes/hadronic/models/binary_cascade/History index c8eec0c0b5..e0914c374f 100644 --- a/source/processes/hadronic/models/binary_cascade/History +++ b/source/processes/hadronic/models/binary_cascade/History @@ -12,7 +12,11 @@ code and to keep track of all tags. --------------------------------------------------------------- * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- - + + +18-May-2007 Gunter Folger had-binary-V08-03-00 +- G4BinaryLightIonReaction: Protect against divide by 0 when energy momentum + correction stalls (for numerical precision?) 04-May-2007 Gunter Folger tag had-binary-V08-02-01 ---------------------------------------------------------------- diff --git a/source/processes/hadronic/models/binary_cascade/src/G4BinaryLightIonReaction.cc b/source/processes/hadronic/models/binary_cascade/src/G4BinaryLightIonReaction.cc index 87b183aed9..f51bd6ce2d 100644 --- a/source/processes/hadronic/models/binary_cascade/src/G4BinaryLightIonReaction.cc +++ b/source/processes/hadronic/models/binary_cascade/src/G4BinaryLightIonReaction.cc @@ -618,19 +618,20 @@ G4bool G4BinaryLightIonReaction::EnergyAndMomentumCorrector( } OldScale=Scale; Scale = TotalCollisionMass/Sum - 1; +// G4cout << "E/P corr - " << cAttempt << " " << Scale << G4endl; + if (std::abs(Scale) <= ErrLimit + || OldScale == Scale) // protect 'frozen' situation and divide by 0 in calculating new factor below + { + if (getenv("debug_G4BinaryLightIonReactionResults")) G4cout << "E/p corrector: " << cAttempt << G4endl; + success = true; + break; + } if ( cAttempt > 10 ) { // G4cout << " speed it up? " << std::abs(OldScale/(OldScale-Scale)) << G4endl; factor=std::max(1.,std::log(std::abs(OldScale/(OldScale-Scale)))); // G4cout << " ? factor ? " << factor << G4endl; } -// G4cout << "E/P corr - " << cAttempt << " " << Scale << G4endl; - if (std::abs(Scale) <= ErrLimit) - { - if (getenv("debug_G4BinaryLightIonReactionResults")) G4cout << "E/p corrector: " << cAttempt << G4endl; - success = true; - break; - } } if( (!success) && getenv("debug_G4BinaryLightIonReactionResults")) diff --git a/source/processes/hadronic/models/cascade/History b/source/processes/hadronic/models/cascade/History index 9ffefea019..24216e758c 100644 --- a/source/processes/hadronic/models/cascade/History +++ b/source/processes/hadronic/models/cascade/History @@ -14,6 +14,11 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +25 May 2007 Dennis Wright for Aatos Heikkinen (hadr-casc-V08-03-00) +------------------------------------------------------------------- +- implemented interfaces for pre-equilibrium and equilbrium evaporation + models + 04 May 2007 Aatos Heikkinen (hadr-casc-V08-02-00) ------------------------------------------------- diff --git a/source/processes/hadronic/models/cascade/cascade/GNUmakefile b/source/processes/hadronic/models/cascade/cascade/GNUmakefile index af53fc42d1..32302cfc9e 100644 --- a/source/processes/hadronic/models/cascade/cascade/GNUmakefile +++ b/source/processes/hadronic/models/cascade/cascade/GNUmakefile @@ -1,4 +1,4 @@ -# $Id: GNUmakefile,v 1.8 2003/10/08 14:53:20 hpw Exp $ +# $Id: GNUmakefile,v 1.9 2007/05/20 12:01:26 miheikki Exp $ # ----------------------------------------------------------- # GNUmakefile for hadronic library. Gabriele Cosmo, 18/9/96. # ----------------------------------------------------------- @@ -25,6 +25,7 @@ CPPFLAGS += -I$(G4BASE)/global/management/include \ -I$(G4BASE)/processes/hadronic/cross_sections/include \ -I$(G4BASE)/processes/hadronic/models/management/include \ -I$(G4BASE)/processes/hadronic/models/util/include \ + -I$(G4BASE)/processes/hadronic/models/de_excitation/evaporation/include/ \ -I$(G4BASE)/processes/hadronic/models/cascade/cascade/include \ -I$(G4BASE)/processes/hadronic/models/cascade/utils/include \ -I$(G4BASE)/particles/management/include \ diff --git a/source/processes/hadronic/models/cascade/cascade/include/G4BertiniData.hh b/source/processes/hadronic/models/cascade/cascade/include/G4BertiniData.hh index 3639123dcb..a6e0c7ff0a 100644 --- a/source/processes/hadronic/models/cascade/cascade/include/G4BertiniData.hh +++ b/source/processes/hadronic/models/cascade/cascade/include/G4BertiniData.hh @@ -47,6 +47,9 @@ class G4BertiniData //: public G4VIntraNuclearTransportModel private: static G4BertiniData* theInstance; + +public: + static const G4int pair[6][2]; }; #endif diff --git a/source/processes/hadronic/models/cascade/cascade/include/G4CascadeInterface.hh b/source/processes/hadronic/models/cascade/cascade/include/G4CascadeInterface.hh index a548450acf..a13df74a0d 100644 --- a/source/processes/hadronic/models/cascade/cascade/include/G4CascadeInterface.hh +++ b/source/processes/hadronic/models/cascade/cascade/include/G4CascadeInterface.hh @@ -23,12 +23,11 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// CLASS DESCRIPTION -// G4CascadeInterface defines an interface to HETC and INUCL -// models of an medium energy (~ 0.5 - 10 GeV) intra-nuclear transport. -// If you have any questions, please contact -// package writer aatos.heikkinen@cern.ch. -// -------------------------------------------------------------------- +// $Id: G4CascadeInterface.hh,v 1.12 2007/05/23 12:25:54 miheikki Exp $ +// Defines an interface to Bertini (BERT) cascade +// based on INUCL intra-nuclear transport.models +// with bullet hadron energy ~< 10 GeV + #ifndef G4CASCADEINTERFACE_H #define G4CASCADEINTERFACE_H 1 @@ -44,7 +43,6 @@ class G4CascadeInterface : public G4VIntraNuclearTransportModel { public: - G4CascadeInterface(); ~G4CascadeInterface(){ @@ -52,11 +50,9 @@ public: G4ReactionProductVector* Propagate(G4KineticTrackVector* theSecondaries, G4V3DNucleus* theNucleus); - G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack, - G4Nucleus& theNucleus); + G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack, G4Nucleus& theNucleus); private: - G4int operator==(G4CascadeInterface& right) { return (this == &right); } @@ -66,6 +62,7 @@ private: } G4int verboseLevel; + private: G4HadFinalState theResult; diff --git a/source/processes/hadronic/models/cascade/cascade/include/G4ElasticCascadeInterface.hh b/source/processes/hadronic/models/cascade/cascade/include/G4ElasticCascadeInterface.hh index 744ddc127a..e9840fe153 100644 --- a/source/processes/hadronic/models/cascade/cascade/include/G4ElasticCascadeInterface.hh +++ b/source/processes/hadronic/models/cascade/cascade/include/G4ElasticCascadeInterface.hh @@ -23,16 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// CLASS DESCRIPTION -// G4CascadeInterface defines an interface to HETC and INUCL -// models of an medium energy (~ 0.5 - 5 GeV) intra-nuclear transport. -// If you have any questions, please contact -// package writer aatos.heikkinen@cern.ch. -// -------------------------------------------------------------------- - -// This file is based on G4CascadeInterface.hh -// Modifications by: Pekka Kaitaniemi (kaitanie@cc.helsinki.fi) -// Helsinki Institute of Physics +// Pekka Kaitaniemi, HIP +// Aatos Heikkinen #ifndef G4ELASTICCASCADEINTERFACE_H #define G4ELASTICCASCADEINTERFACE_H 1 @@ -46,23 +38,15 @@ #include "G4ReactionProductVector.hh" #include "G4ReactionProduct.hh" - class G4ElasticCascadeInterface : public G4VIntraNuclearTransportModel { - public: - G4ElasticCascadeInterface(); - - ~G4ElasticCascadeInterface(){ - } + ~G4ElasticCascadeInterface(){} G4ReactionProductVector* Propagate(G4KineticTrackVector* theSecondaries, G4V3DNucleus* theNucleus); - - G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack, - G4Nucleus& theNucleus); + G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack, G4Nucleus& theNucleus); private: - G4int operator==(G4ElasticCascadeInterface& right) { return (this == &right); } @@ -72,9 +56,7 @@ private: } G4int verboseLevel; -private: G4HadFinalState theResult; - }; -#endif //G4ELASTICCASCADEINTERFACE_H +#endif diff --git a/source/processes/hadronic/models/cascade/cascade/include/G4EvaporationInuclCollider.hh b/source/processes/hadronic/models/cascade/cascade/include/G4EvaporationInuclCollider.hh new file mode 100644 index 0000000000..dfc9d8804d --- /dev/null +++ b/source/processes/hadronic/models/cascade/cascade/include/G4EvaporationInuclCollider.hh @@ -0,0 +1,88 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4EvaporationInuclCollider.hh,v 1.1 2007/05/24 17:41:20 miheikki Exp $ +#ifndef G4EVAPORATIONINUCL_COLLIDER_HH +#define G4EVAPORATIONINUCL_COLLIDER_HH + +#include "G4Collider.hh" + +#include "G4EquilibriumEvaporator.hh" +#include "G4Fissioner.hh" +#include "G4BigBanger.hh" + +#include "G4ElementaryParticleCollider.hh" +#include "G4InteractionCase.hh" +#include "G4InuclNuclei.hh" +#include "G4InuclSpecialFunctions.hh" +#include "G4Analyser.hh" + +using namespace G4InuclSpecialFunctions; + +class G4EvaporationInuclCollider : public G4Collider { + +public: + + G4EvaporationInuclCollider(); + + G4EvaporationInuclCollider(G4EquilibriumEvaporator* eqevaporator, G4Fissioner* fissioner, G4BigBanger* bigbanger) { + + setEquilibriumEvaporator(eqevaporator, fissioner, bigbanger); + }; + + void setEquilibriumEvaporator(G4EquilibriumEvaporator* eqevaporator, G4Fissioner* fissioner, G4BigBanger* bigbanger) { + theEquilibriumEvaporator = eqevaporator; + theEquilibriumEvaporator->setFissioner(fissioner); + theEquilibriumEvaporator->setBigBanger(bigbanger); + }; + + void setBigBanger(G4BigBanger* bigbanger) { + + theBigBanger = bigbanger; + }; + + virtual G4CollisionOutput collide(G4InuclParticle* bullet, G4InuclParticle* target); + +private: + + G4int verboseLevel; + + G4bool inelasticInteractionPossible(G4InuclParticle* bullet, + G4InuclParticle* target, + G4double ekin) const; + + G4InteractionCase bulletTargetSetter(G4InuclParticle* bullet, + G4InuclParticle* target) const; + + G4bool explosion(G4InuclNuclei* target) const; + + G4EquilibriumEvaporator* theEquilibriumEvaporator; + G4BigBanger* theBigBanger; + +}; + +#endif // G4EVAPORATIONINUCL_COLLIDER_HH + + diff --git a/source/processes/hadronic/models/cascade/cascade/include/G4InuclElementaryParticle.hh b/source/processes/hadronic/models/cascade/cascade/include/G4InuclElementaryParticle.hh index aa6986981a..b4c046eb99 100644 --- a/source/processes/hadronic/models/cascade/cascade/include/G4InuclElementaryParticle.hh +++ b/source/processes/hadronic/models/cascade/cascade/include/G4InuclElementaryParticle.hh @@ -72,6 +72,20 @@ public: valid_particle = true; }; + + G4InuclElementaryParticle(const std::vector& mom, + G4int type, G4int model) + : G4InuclParticle(mom), + particleType(type) { + + G4InuclParticle::setModel(model); + + particleMass = getParticleMass(type); + momentum[0] = std::sqrt(momentum[1] * momentum[1] + momentum[2] * momentum[2] + + momentum[3] * momentum[3] + particleMass * particleMass); + valid_particle = true; + }; + G4InuclElementaryParticle(G4double ekin, G4int type) : particleType(type) { @@ -450,7 +464,6 @@ private: G4double particleMass; G4bool valid_particle; - }; #endif // G4INUCL_ELEMENTARY_PARTICLE_HH diff --git a/source/physics_lists/lists/include/LHEP_BIC.hh b/source/processes/hadronic/models/cascade/cascade/include/G4InuclEvaporation.hh similarity index 65% rename from source/physics_lists/lists/include/LHEP_BIC.hh rename to source/processes/hadronic/models/cascade/cascade/include/G4InuclEvaporation.hh index ef9edd374b..d6e1383d2f 100644 --- a/source/physics_lists/lists/include/LHEP_BIC.hh +++ b/source/processes/hadronic/models/cascade/cascade/include/G4InuclEvaporation.hh @@ -23,46 +23,46 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: LHEP_BIC.hh,v 1.1 2006/10/31 11:35:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4InuclEvaporation.hh,v 1.5 2007/05/24 23:27:01 miheikki Exp $ +// Defines an interface to evaporation models of Bertini cascase (BERT) +// based on INUCL code. // -//--------------------------------------------------------------------------- -// -// ClassName: HadronPhysicsLHEP_BIC -// -// Author: 2002 J.P. Wellisch -// -// Modified: -// -//---------------------------------------------------------------------------- -// -#ifndef TLHEP_BIC_h -#define TLHEP_BIC_h 1 +#ifndef G4INUCLEVAPORATION_h +#define G4INUCLEVAPORATION_h 1 -#include "G4VModularPhysicsList.hh" #include "globals.hh" -#include "CompileTimeConstraints.hh" +#include "G4VEvaporation.hh" +#include "G4Fragment.hh" -template -class TLHEP_BIC: public T -{ +//#define DEBUG + +class G4InuclEvaporation : public G4VEvaporation { public: - TLHEP_BIC(G4int ver = 1); - virtual ~TLHEP_BIC(); - -public: - // SetCuts() - virtual void SetCuts(); + G4InuclEvaporation(); + ~G4InuclEvaporation(); private: - enum {ok = CompileTimeConstraints::IsA::ok }; -}; -#include "LHEP_BIC.icc" -typedef TLHEP_BIC LHEP_BIC; + G4InuclEvaporation(const G4InuclEvaporation &right); -// 2002 by J.P. Wellisch + const G4InuclEvaporation & operator=(const G4InuclEvaporation &right); + G4bool operator==(const G4InuclEvaporation &right) const; + G4bool operator!=(const G4InuclEvaporation &right) const; + + void fillResult( std::vector< G4DynamicParticle * > secondaryParticleVector, + G4FragmentVector * aResult ); +public: + + G4FragmentVector * BreakItUp(const G4Fragment &theNucleus); + + void setVerboseLevel( const G4int verbose ); + +private: + G4int verboseLevel; + +#ifdef DEBUG #endif +}; - +#endif diff --git a/source/processes/hadronic/models/cascade/cascade/include/G4InuclParticle.hh b/source/processes/hadronic/models/cascade/cascade/include/G4InuclParticle.hh index 7d7c9a624d..79c3b16053 100644 --- a/source/processes/hadronic/models/cascade/cascade/include/G4InuclParticle.hh +++ b/source/processes/hadronic/models/cascade/cascade/include/G4InuclParticle.hh @@ -33,50 +33,70 @@ #include #include +// Notice: no cc-file for G4InuclParticle + class G4InuclParticle { public: - - G4InuclParticle() {}; + G4InuclParticle() { + setModel(0); // default model + }; virtual ~G4InuclParticle() { }; G4InuclParticle(const std::vector& mom) { - setMomentum(mom); + setModel(0); }; void setMomentum(const std::vector& mom) { - momentum = mom; }; - std::vector getMomentum() const { + std::vector getMomentum() const { return momentum; }; G4double getMomModule() const { - return std::sqrt(momentum[1] * momentum[1] + - momentum[2] * momentum[2] + - momentum[3] * momentum[3]); + momentum[2] * momentum[2] + + momentum[3] * momentum[3]); }; virtual void printParticle() const { - G4cout << " px " << momentum[1] << " py " << momentum[2] << " pz " << momentum[3] << " pmod " << std::sqrt(momentum[1] * momentum[1] + - momentum[2] * momentum[2] + - momentum[3] * momentum[3]) - << " E " << momentum[0] << G4endl; + momentum[2] * momentum[2] + + momentum[3] * momentum[3]) + << " E " << momentum[0] + << " creator model " << modelId << G4endl; + }; + + void setModel(G4int model) { + modelId = model; + }; + + G4int getModel() { + return modelId; }; protected: - std::vector momentum; +private: + G4int modelId; // used to indicate model that created instance of G4InuclParticle + + // 0 default + // 1 bullet + // 2 target + // 3 G4ElementaryParticleCollider + // 4 G4IntraNucleiCascader + // 5 G4NonEquilibriumEvaporator + // 6 G4EquilibriumEvaporator + // 7 G4Fissioner + // 8 G4BigBanger }; #endif // G4INUCL_PARTICLE_HH diff --git a/examples/extended/biasing/B03/include/B03AppBase.hh b/source/processes/hadronic/models/cascade/cascade/include/G4PreCompoundCascadeInterface.hh similarity index 59% rename from examples/extended/biasing/B03/include/B03AppBase.hh rename to source/processes/hadronic/models/cascade/cascade/include/G4PreCompoundCascadeInterface.hh index ec765a794d..f277a4df3e 100644 --- a/examples/extended/biasing/B03/include/B03AppBase.hh +++ b/source/processes/hadronic/models/cascade/cascade/include/G4PreCompoundCascadeInterface.hh @@ -23,46 +23,47 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: B03AppBase.hh,v 1.2 2006/06/29 16:35:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// -------------------------------------------------------------------- -#ifndef B03AppBase_hh -#define B03AppBase_hh B03AppBase_hh +// $Id: G4PreCompoundCascadeInterface.hh,v 1.1 2007/05/23 14:37:28 miheikki Exp $ +// Defines an interface to Bertini (BERT) INC with exitons. Evaporation is NOT included -class G4RunManager; -class B03PrimaryGeneratorAction; -class B03PhysicsList; -class B03DetectorConstruction; +#ifndef G4PRECOMPOUNDCASCADEINTERFACE_H +#define G4PRECOMPOUNDCASCADEINTERFACE_H 1 + +#include "G4Nucleon.hh" +#include "G4Nucleus.hh" +#include "G4VIntraNuclearTransportModel.hh" +#include "G4KineticTrackVector.hh" +#include "G4FragmentVector.hh" +#include "G4ParticleChange.hh" +#include "G4ReactionProductVector.hh" +#include "G4ReactionProduct.hh" + +class G4PreCompoundCascadeInterface : public G4VIntraNuclearTransportModel { -class B03AppBase { public: - ~B03AppBase(); - static B03AppBase &GetB03AppBase(); - G4RunManager &GetRunManager(){return *frunMgr;} - -private: - B03AppBase(); - static B03AppBase *fB03AppBase; - G4RunManager *frunMgr; + G4PreCompoundCascadeInterface(); - B03DetectorConstruction *fDetector; - B03PrimaryGeneratorAction *fPrimary; - B03PhysicsList *fPhysics; + ~G4PreCompoundCascadeInterface(){ + } + + G4ReactionProductVector* Propagate(G4KineticTrackVector* theSecondaries, G4V3DNucleus* theNucleus); + + G4HadFinalState* ApplyYourself(const G4HadProjectile& aTrack, G4Nucleus& theNucleus); + +private: + G4int operator==(G4PreCompoundCascadeInterface& right) { + return (this == &right); + } + + G4int operator!=(G4PreCompoundCascadeInterface& right) { + return (this != &right); + } + + G4int verboseLevel; + +private: + G4HadFinalState theResult; + }; -// B03AppBase *GetB03AppBase(); - - - -#endif - - - - - - - - - - +#endif // G4PRECOMPOUNDCASCADEINTERFACE_H diff --git a/source/processes/hadronic/models/cascade/cascade/include/G4PreCompoundInuclCollider.hh b/source/processes/hadronic/models/cascade/cascade/include/G4PreCompoundInuclCollider.hh new file mode 100644 index 0000000000..c5079b98ac --- /dev/null +++ b/source/processes/hadronic/models/cascade/cascade/include/G4PreCompoundInuclCollider.hh @@ -0,0 +1,105 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +#ifndef G4PRECOMPOUNDINUCL_COLLIDER_HH +#define G4PRECOMPOUNDINUCL_COLLIDER_HH + +#include "G4Collider.hh" +#include "G4IntraNucleiCascader.hh" +#include "G4NonEquilibriumEvaporator.hh" +#include "G4BigBanger.hh" +#include "G4ElementaryParticleCollider.hh" +#include "G4InteractionCase.hh" +#include "G4InuclNuclei.hh" +#include "G4InuclSpecialFunctions.hh" +#include "G4Analyser.hh" + +using namespace G4InuclSpecialFunctions; + +class G4PreCompoundInuclCollider : public G4Collider { + +public: + + G4PreCompoundInuclCollider(); + + G4PreCompoundInuclCollider(G4ElementaryParticleCollider* ecollider, + G4IntraNucleiCascader* incascader, + G4NonEquilibriumEvaporator* noeqevaporator, + G4BigBanger* bigbanger) { + + setElementaryParticleCollider(ecollider); + setIntraNucleiCascader(incascader,ecollider); + setNonEquilibriumEvaporator(noeqevaporator); + setBigBanger(bigbanger); + + }; + + void setElementaryParticleCollider(G4ElementaryParticleCollider* ecollider) { + + theElementaryParticleCollider = ecollider; + }; + + void setIntraNucleiCascader(G4IntraNucleiCascader* incascader, + G4ElementaryParticleCollider* ecollider) { + + theIntraNucleiCascader = incascader; + theIntraNucleiCascader->setElementaryParticleCollider(ecollider); + }; + + void setNonEquilibriumEvaporator(G4NonEquilibriumEvaporator* noeqevaporator) { + + theNonEquilibriumEvaporator = noeqevaporator; + }; + + void setBigBanger(G4BigBanger* bigbanger) { + + theBigBanger = bigbanger; + }; + + virtual G4CollisionOutput collide(G4InuclParticle* bullet, + G4InuclParticle* target); + +private: + G4int verboseLevel; + + G4bool inelasticInteractionPossible(G4InuclParticle* bullet, + G4InuclParticle* target, + G4double ekin) const; + + G4InteractionCase bulletTargetSetter(G4InuclParticle* bullet, + G4InuclParticle* target) const; + + G4bool explosion(G4InuclNuclei* target) const; + + G4ElementaryParticleCollider* theElementaryParticleCollider; + G4IntraNucleiCascader* theIntraNucleiCascader; + G4NonEquilibriumEvaporator* theNonEquilibriumEvaporator; + G4BigBanger* theBigBanger; + +}; + +#endif // G4PRECOMPOUNDINUCL_COLLIDER_HH + + diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4Analyser.cc b/source/processes/hadronic/models/cascade/cascade/src/G4Analyser.cc index 3f389c6ee5..24bb825c8d 100644 --- a/source/processes/hadronic/models/cascade/cascade/src/G4Analyser.cc +++ b/source/processes/hadronic/models/cascade/cascade/src/G4Analyser.cc @@ -25,6 +25,7 @@ // #include "G4Analyser.hh" #include +#include G4Analyser::G4Analyser() :verboseLevel(1) { @@ -341,13 +342,14 @@ void G4Analyser::printResultsNtuple() { // Create one line of ACII data. // Several runs should create ntuple for data-analysis - G4cout << int(eventNumber + 0.1) << " " << - averageMultiplicity / eventNumber << " " << - averageProtonNumber / eventNumber << " " << - averageNeutronNumber / eventNumber << " " << - averageNucleonKinEnergy / (averageProtonNumber + averageNeutronNumber) << " " << - averageProtonKinEnergy / (averageProtonNumber + 1.0e-10) << " " << - averageNeutronKinEnergy / (averageNeutronNumber + 1.0e-10) << " " << - averagePionNumber / eventNumber << " " << - averagePionKinEnergy / (averagePionNumber + 1.0e-10) << G4endl; + G4cout << + std::setw(15) << int(eventNumber + 0.1) << + std::setw(15) << averageMultiplicity / eventNumber << + std::setw(15) << averageProtonNumber / eventNumber << + std::setw(15) << averageNeutronNumber / eventNumber << " " << + std::setw(15) << averageNucleonKinEnergy / (averageProtonNumber + averageNeutronNumber) << " " << + std::setw(15) << averageProtonKinEnergy / (averageProtonNumber + 1.0e-10) << " " << + std::setw(15) << averageNeutronKinEnergy / (averageNeutronNumber + 1.0e-10) << " " << + std::setw(15) << averagePionNumber / eventNumber << " " << + std::setw(15) << averagePionKinEnergy / (averagePionNumber + 1.0e-10) << G4endl; } diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4BertiniData.cc b/source/processes/hadronic/models/cascade/cascade/src/G4BertiniData.cc index 95d183cee7..473d678b3f 100644 --- a/source/processes/hadronic/models/cascade/cascade/src/G4BertiniData.cc +++ b/source/processes/hadronic/models/cascade/cascade/src/G4BertiniData.cc @@ -31,3 +31,5 @@ // Initialize static pointer for singleton instance G4BertiniData* G4BertiniData::theInstance = 0; +const G4int G4BertiniData::pair[6][2] = + {{0, 1}, {1, 7}, {7,27}, {27,69}, {69,94}, {94,111}}; diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4BertiniNucleiModel.cc b/source/processes/hadronic/models/cascade/cascade/src/G4BertiniNucleiModel.cc index f531ebcc48..7208d4315f 100644 --- a/source/processes/hadronic/models/cascade/cascade/src/G4BertiniNucleiModel.cc +++ b/source/processes/hadronic/models/cascade/cascade/src/G4BertiniNucleiModel.cc @@ -395,7 +395,8 @@ G4InuclElementaryParticle G4BertiniNucleiModel::generateQuasiDeutron(G4int type1 dtype = 122; }; - return G4InuclElementaryParticle(dmom, dtype); + // return G4InuclElementaryParticle(dmom, dtype); + return G4InuclElementaryParticle(dmom, dtype, 3); } partners G4BertiniNucleiModel::generateInteractionPartners(G4CascadParticle& cparticle) const { @@ -452,6 +453,8 @@ partners G4BertiniNucleiModel::generateInteractionPartners(G4CascadParticle& cpa G4InuclElementaryParticle particle; + particle.setModel(3); + thePartners.push_back(partner(particle, path)); } else { /// normal case @@ -628,6 +631,8 @@ partners G4BertiniNucleiModel::generateInteractionPartners(G4CascadParticle& cpa if (thePartners[i].second > thePartners[j].second) { G4InuclElementaryParticle particle = thePartners[i].first; + + particle.setModel(3); G4double pathi = thePartners[i].second; thePartners[i] = partner(thePartners[j].first, thePartners[j].second); thePartners[j] = partner(particle, pathi); @@ -638,6 +643,8 @@ partners G4BertiniNucleiModel::generateInteractionPartners(G4CascadParticle& cpa G4InuclElementaryParticle particle; + particle.setModel(3); + thePartners.push_back(partner(particle, path)); }; diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4BigBanger.cc b/source/processes/hadronic/models/cascade/cascade/src/G4BigBanger.cc index 1a1d544b7b..ca801221c7 100644 --- a/source/processes/hadronic/models/cascade/cascade/src/G4BigBanger.cc +++ b/source/processes/hadronic/models/cascade/cascade/src/G4BigBanger.cc @@ -163,7 +163,8 @@ G4BigBanger::generateBangInSCM(G4double etot, G4int knd = iz > 0 ? 1 : 2; - particles.push_back(G4InuclElementaryParticle(mom, knd)); + // particles.push_back(G4InuclElementaryParticle(mom, knd)); + particles.push_back(G4InuclElementaryParticle(mom, knd, 8)); // modelId included return particles; }; diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4ElasticCascadeInterface.cc b/source/processes/hadronic/models/cascade/cascade/src/G4ElasticCascadeInterface.cc index 615de7603a..edb5212820 100644 --- a/source/processes/hadronic/models/cascade/cascade/src/G4ElasticCascadeInterface.cc +++ b/source/processes/hadronic/models/cascade/cascade/src/G4ElasticCascadeInterface.cc @@ -23,10 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // - -// This file is based on G4CascadeInterface.cc -// Modifications by Pekka Kaitaniemi (kaitanie@cc.helsinki.fi) -// Helsinki Institute of Physics +// Pekka Kaitaniemi, HIP +// Aatos Heikkinen #include "G4ElasticCascadeInterface.hh" #include "globals.hh" @@ -69,7 +67,7 @@ G4ReactionProductVector* G4ElasticCascadeInterface::Propagate(G4KineticTrackVect G4HadFinalState* G4ElasticCascadeInterface::ApplyYourself(const G4HadProjectile& aTrack, G4Nucleus& theNucleus) { -#ifdef debug_G4ElasticCascadeInterface +#ifdef DEBUG_ELASTIC static G4int counter(0); counter++; G4cerr << "Reaction number "<< counter << " "<GetDefinition()->GetParticleName()<<" "<< aTrack.GetDynamicParticle()->GetKineticEnergy()< many diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4EquilibriumEvaporator.cc b/source/processes/hadronic/models/cascade/cascade/src/G4EquilibriumEvaporator.cc index 1e41e6d350..d878c23520 100644 --- a/source/processes/hadronic/models/cascade/cascade/src/G4EquilibriumEvaporator.cc +++ b/source/processes/hadronic/models/cascade/cascade/src/G4EquilibriumEvaporator.cc @@ -143,6 +143,7 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* /*bullet*/, G4InuclNuclei nuclei(PEX, A, Z); + nuclei.setModel(6); nuclei.setExitationEnergy(EEXS); G4CollisionOutput explosion = theBigBanger->collide(0, &nuclei); @@ -284,6 +285,8 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* /*bullet*/, if (itry < itry_max) { // new photon escape G4InuclElementaryParticle particle(10); + + particle.setModel(6); G4double pmod = 0.001 * S; std::vector mom(4); std::pair COS_SIN = randomCOS_SIN(); @@ -378,6 +381,8 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* /*bullet*/, if (icase < 2) { // particle escape G4int ptype = 2 - icase; G4InuclElementaryParticle particle(ptype); + + particle.setModel(6); G4double mass = particle.getMass(); // generate particle momentum G4double pmod = std::sqrt((2.0 * mass + S) * S); @@ -429,6 +434,7 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* /*bullet*/, } else { G4InuclNuclei nuclei(AN[icase], Q[icase]); + nuclei.setModel(6); G4double mass = nuclei.getMass(); // generate particle momentum G4double pmod = std::sqrt((2.0 * mass + S) * S); @@ -488,6 +494,7 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* /*bullet*/, } else { // fission G4InuclNuclei nuclei(A, Z); + nuclei.setModel(6); nuclei.setExitationEnergy(EEXS); if (verboseLevel > 2){ @@ -546,6 +553,7 @@ G4CollisionOutput G4EquilibriumEvaporator::collide(G4InuclParticle* /*bullet*/, for (G4int i = 1; i < 4; i++) pnuc[i] = pin[i] - ppout[i]; G4InuclNuclei nuclei(pnuc, A, Z); + nuclei.setModel(6); nuclei.setEnergy(); pnuc = nuclei.getMomentum(); G4double eout = pnuc[0] + ppout[0]; diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4EvaporationInuclCollider.cc b/source/processes/hadronic/models/cascade/cascade/src/G4EvaporationInuclCollider.cc new file mode 100644 index 0000000000..7314b25fbb --- /dev/null +++ b/source/processes/hadronic/models/cascade/cascade/src/G4EvaporationInuclCollider.cc @@ -0,0 +1,217 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +#include "G4EvaporationInuclCollider.hh" +#include "G4InuclElementaryParticle.hh" +#include "G4LorentzConvertor.hh" +#include "G4ParticleLargerEkin.hh" +#include + +typedef std::vector::iterator particleIterator; +typedef std::vector::iterator nucleiIterator; + +G4EvaporationInuclCollider::G4EvaporationInuclCollider() + : verboseLevel(0) { + + if (verboseLevel > 3) { + G4cout << " >>> G4EvaporationInuclCollider::G4EvaporationInuclCollider" << G4endl; + } +} + +G4CollisionOutput G4EvaporationInuclCollider::collide(G4InuclParticle* /*bullet*/, G4InuclParticle* target) { + + verboseLevel = 0; + if (verboseLevel > 3) { + G4cout << " >>> G4EvaporationInuclCollider::evaporate" << G4endl; + } + + G4CollisionOutput globalOutput; + + G4LorentzConvertor convertToTargetRestFrame; + G4InuclNuclei* ntarget = dynamic_cast(target); + convertToTargetRestFrame.setTarget(ntarget->getMomentum(), ntarget->getMass()); + + G4double at = ntarget->getA(); + G4double zt = ntarget->getZ(); + G4double eEx = ntarget->getExitationEnergy(); + + std::vector bmom(4, 0.0); + bmom[3] = convertToTargetRestFrame.getTRSMomentum(); + + G4InuclNuclei targ(at, zt); + std::vector tmom(4, 0.0); + targ.setExitationEnergy(eEx); + targ.setMomentum(tmom); + targ.setEnergy(); + + targ.printParticle(); + + G4CollisionOutput output; + output = theEquilibriumEvaporator->collide(0, &targ); + + G4CollisionOutput TRFoutput; + TRFoutput.addOutgoingParticles(output.getOutgoingParticles()); + TRFoutput.addTargetFragments(output.getNucleiFragments()); + + if (verboseLevel > 3) { + G4cout << " After EquilibriumEvaporator " << G4endl; + output.printCollisionOutput(); + }; + + + std::vector particles = TRFoutput.getOutgoingParticles(); + std::vector nucleus = TRFoutput.getNucleiFragments(); + + globalOutput.addOutgoingParticles(particles); + globalOutput.addTargetFragments(nucleus); + + if (verboseLevel > 3) G4cout << "G4EvaporationInuclCollider::collide end" << G4endl; + + + return globalOutput; + +} + + +G4bool G4EvaporationInuclCollider::inelasticInteractionPossible(G4InuclParticle* bullet, + G4InuclParticle* target, + G4double ekin) const { + + if (verboseLevel > 3) { + G4cout << " >>> G4EvaporationInuclCollider::inelasticInteractionPossible" << G4endl; + } + + const G4double coeff = 0.001 * 1.2; + const G4double one_third = 1.0 / 3.0; + + G4bool possible = true; + G4double at; + G4double zt; + G4double ab; + G4double zb; + + if (G4InuclNuclei* nuclei_target = dynamic_cast(target)) { + at = nuclei_target->getA(); + zt = nuclei_target->getZ(); + if (G4InuclNuclei* nuclei_bullet = dynamic_cast(bullet)) { + ab = nuclei_bullet->getA(); + zb = nuclei_bullet->getZ(); + } else { + G4InuclElementaryParticle* particle = + dynamic_cast(bullet); + + ab = 1; + zb = particle->getCharge(); + }; + } else { + if(G4InuclNuclei* nuclei_bullet = dynamic_cast(bullet)) { + ab = nuclei_bullet->getA(); + zb = nuclei_bullet->getZ(); + + G4InuclElementaryParticle* particle = + dynamic_cast(target); + + at = 1; + zt = particle->getCharge(); + } else { + + return possible; + }; + }; + + // VCOL used for testing if elastic collision possible + G4double VCOL = coeff * zt * zb / (std::pow(at, one_third) + std::pow(ab, one_third)); + + // possible = VCOL < ekin; // NOTE: inelastic collision if not true + possible = true; // we force elastic + + if (verboseLevel > 3) { + G4cout << " >>> G4EvaporationInuclCollider::inelasticInteractionPossible" << G4endl; + G4cout << " VCOL: " << VCOL << " ekin: " << ekin << " inelastic possible: " << possible << G4endl; + } + + return possible; + +} + +G4InteractionCase G4EvaporationInuclCollider::bulletTargetSetter(G4InuclParticle* bullet, + G4InuclParticle* target) const { + + if (verboseLevel > 3) { + G4cout << " >>> G4EvaporationInuclCollider::bulletTargetSetter" << G4endl; + } + + G4InteractionCase interCase; + + if (G4InuclNuclei* nuclei_target = dynamic_cast(target)) { + if (G4InuclNuclei* nuclei_bullet = dynamic_cast(bullet)) { // A + A + interCase.setInterCase(2); + if (nuclei_target->getA() >= nuclei_bullet->getA()) { + interCase.setBulletTarget(bullet, target); + } else { + interCase.setBulletTarget(target, bullet); + }; + } else { + interCase.setInterCase(1); + interCase.setBulletTarget(bullet, target); + }; + } else { + G4InuclNuclei* nuclei_bullet = dynamic_cast(bullet); + if (nuclei_bullet) { + G4InuclElementaryParticle* part = + dynamic_cast(target); + if (part) { + interCase.setInterCase(1); + interCase.setBulletTarget(target, bullet); + }; + }; + }; + + return interCase; +} + +G4bool G4EvaporationInuclCollider::explosion(G4InuclNuclei* target) const { + + if (verboseLevel > 3) { + G4cout << " >>> G4EvaporationInuclCollider::explosion" << G4endl; + } + + const G4double a_cut = 20.0; + const G4double be_cut = 3.0; + + G4double a = target->getA(); + G4double z = target->getZ(); + G4double eexs = target->getExitationEnergy(); + G4bool explo = true; + + if (a > a_cut) { + explo = false; + } else { + if (eexs < be_cut * bindingEnergy(a, z)) explo = false; + }; + + return explo; +} + diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4Fissioner.cc b/source/processes/hadronic/models/cascade/cascade/src/G4Fissioner.cc index 49b1e8dd1c..a0e360e645 100644 --- a/source/processes/hadronic/models/cascade/cascade/src/G4Fissioner.cc +++ b/source/processes/hadronic/models/cascade/cascade/src/G4Fissioner.cc @@ -138,7 +138,10 @@ G4CollisionOutput G4Fissioner::collide(G4InuclParticle* /*bullet*/, G4double Z2 = Z - Z1; G4InuclNuclei nuclei1(A1, Z1); + nuclei1.setModel(7); // sign in the modelId (=G4Fissioner) G4InuclNuclei nuclei2(A2, Z2); + nuclei2.setModel(7); + G4double mass1 = nuclei1.getMass(); G4double mass2 = nuclei2.getMass(); G4double EK = config.ekin; @@ -164,12 +167,14 @@ G4CollisionOutput G4Fissioner::collide(G4InuclParticle* /*bullet*/, G4double EEXS2 = EV*A2; G4InuclNuclei nuclei1(mom1, A1, Z1); + nuclei1.setModel(7); nuclei1.setExitationEnergy(EEXS1); nuclei1.setEnergy(); output.addTargetFragment(nuclei1); G4InuclNuclei nuclei2(mom2, A2, Z2); + nuclei2.setModel(7); nuclei2.setExitationEnergy(EEXS2); nuclei2.setEnergy(); output.addTargetFragment(nuclei2); diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4IntraNucleiCascader.cc b/source/processes/hadronic/models/cascade/cascade/src/G4IntraNucleiCascader.cc index 1cff789ca5..fa443b8e3d 100644 --- a/source/processes/hadronic/models/cascade/cascade/src/G4IntraNucleiCascader.cc +++ b/source/processes/hadronic/models/cascade/cascade/src/G4IntraNucleiCascader.cc @@ -69,6 +69,7 @@ G4CollisionOutput G4IntraNucleiCascader::collide(G4InuclParticle* bullet, G4InuclNuclei* bnuclei = dynamic_cast(bullet); G4InuclElementaryParticle* bparticle = dynamic_cast(bullet); G4NucleiModel model(tnuclei); + std::vector momentum_in = bullet->getMomentum(); momentum_in[0] += tnuclei->getMass(); diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4InuclEvaporation.cc b/source/processes/hadronic/models/cascade/cascade/src/G4InuclEvaporation.cc new file mode 100644 index 0000000000..d9046329b4 --- /dev/null +++ b/source/processes/hadronic/models/cascade/cascade/src/G4InuclEvaporation.cc @@ -0,0 +1,251 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4InuclEvaporation.cc,v 1.6 2007/05/25 04:16:21 miheikki Exp $ +// +#include +#include "G4IonTable.hh" +#include "globals.hh" +#include "G4V3DNucleus.hh" +#include "G4DynamicParticleVector.hh" +#include "G4EvaporationInuclCollider.hh" +#include "G4InuclEvaporation.hh" +#include "G4InuclNuclei.hh" +#include "G4Track.hh" +#include "G4Nucleus.hh" +#include "G4Nucleon.hh" +#include "G4NucleiModel.hh" +#include "G4HadronicException.hh" +#include "G4LorentzVector.hh" +#include "G4EquilibriumEvaporator.hh" +#include "G4Fissioner.hh" +#include "G4BigBanger.hh" +#include "G4InuclElementaryParticle.hh" +#include "G4InuclParticle.hh" +#include "G4CollisionOutput.hh" + +typedef std::vector::iterator particleIterator; +typedef std::vector::iterator nucleiIterator; + + +G4InuclEvaporation::G4InuclEvaporation() { + verboseLevel=0; +} + +G4InuclEvaporation::G4InuclEvaporation(const G4InuclEvaporation &) : G4VEvaporation() { + throw G4HadronicException(__FILE__, __LINE__, "G4InuclEvaporation::copy_constructor meant to not be accessable."); +} + + +G4InuclEvaporation::~G4InuclEvaporation() { +} + +const G4InuclEvaporation & G4InuclEvaporation::operator=(const G4InuclEvaporation &) { + throw G4HadronicException(__FILE__, __LINE__, "G4InuclEvaporation::operator= meant to not be accessable."); + return *this; +} + + +G4bool G4InuclEvaporation::operator==(const G4InuclEvaporation &) const { + return false; +} + +G4bool G4InuclEvaporation::operator!=(const G4InuclEvaporation &) const { + return true; +} + +void G4InuclEvaporation::setVerboseLevel( const G4int verbose ) { + verboseLevel = verbose; +} + +G4FragmentVector * G4InuclEvaporation::BreakItUp(const G4Fragment &theNucleus) { + + enum particleType { nuclei = 0, proton = 1, neutron = 2, pionPlus = 3, + pionMinus = 5, pionZero = 7, photon = 10, + kaonPlus = 11, kaonMinus = 13, kaonZero = 15, + kaonZeroBar = 17, lambda = 21, sigmaPlus = 23, + sigmaZero = 25, sigmaMinus = 27, xiZero = 29, xiMinus = 31 }; + + std::vector< G4DynamicParticle * > secondaryParticleVector; + G4FragmentVector * theResult = new G4FragmentVector; + + if (theNucleus.GetExcitationEnergy() <= 0.0) { // Check that Excitation Energy > 0 + theResult->push_back(new G4Fragment(theNucleus)); + return theResult; + } + + G4double A = theNucleus.GetA(); + G4double Z = theNucleus.GetZ(); + G4double mTar = G4NucleiProperties::GetAtomicMass(A, Z); // Mass of the target nucleus + G4LorentzVector tmp =theNucleus.GetMomentum(); + + G4ThreeVector momentum = tmp.vect(); + // G4double energy = tmp.e(); + G4double exitationE = theNucleus.GetExcitationEnergy(); + + // Move to CMS frame, save initial velocity of the nucleus to boostToLab vector. + // G4ThreeVector boostToLab( ( 1/G4NucleiProperties::GetAtomicMass( A, Z ) ) * momentum ); + G4InuclNuclei* tempNuc = new G4InuclNuclei(A, Z); + G4double mass=tempNuc->getMass()*1000; + G4ThreeVector boostToLab( ( 1/mass) * momentum ); + + if ( verboseLevel > 2 ) + G4cout << " G4InuclEvaporation : initial kinematics : boostToLab vector = " << boostToLab << G4endl + << " excitation energy : " << exitationE << G4endl; + + if (verboseLevel > 2) { + G4cout << "G4InuclEvaporation::BreakItUp >>> A: " << A << " Z: " << Z << " exitation E: " << + exitationE << " mass: " << mTar << G4endl; + }; + + G4InuclNuclei* nucleus = new G4InuclNuclei(A, Z); + nucleus->setExitationEnergy(exitationE/1000); + std::vector tmom(4, 0.0); + nucleus->setMomentum(tmom); + nucleus->setEnergy(); + + G4EquilibriumEvaporator* eqil = new G4EquilibriumEvaporator; + G4Fissioner* fiss = new G4Fissioner; + G4BigBanger* bigb = new G4BigBanger; + G4EvaporationInuclCollider* evaporator = new G4EvaporationInuclCollider(eqil, fiss, bigb); + G4CollisionOutput output; + + output = evaporator->collide(0, nucleus); + + std::vector nucleiFragments = output.getNucleiFragments(); + std::vector particles = output.getOutgoingParticles(); + + G4double ekin,emas; + G4double eTot=0.0; + G4DynamicParticle* cascadeParticle = 0; + G4int i=1; + //G4cout << "# particles: " << output.getOutgoingParticles().size() << G4endl; + if (!particles.empty()) { + particleIterator ipart; + G4int outgoingParticle; + + for (ipart = particles.begin(); ipart != particles.end(); ipart++) { + + outgoingParticle = ipart->type(); + + if (verboseLevel > 2) { + G4cout << "Evaporated particle: " << i << " of type: " << outgoingParticle << G4endl; + i++; + // ipart->printParticle(); + } + + std::vector mom = ipart->getMomentum(); + eTot += std::sqrt(mom[0]*1000 * mom[0]*1000); + + ekin = ipart->getKineticEnergy()*1000; + emas = ipart->getMass()*1000; + + G4ThreeVector aMom(mom[1]*1000, mom[2]*1000, mom[3]*1000); + + G4LorentzVector v(aMom, (ekin+emas)); + v.boost( boostToLab ); + + switch(outgoingParticle) { + + case proton: + cascadeParticle = new G4DynamicParticle(G4Proton::ProtonDefinition(), v.vect(), v.e()); + break; + + case neutron: + cascadeParticle = new G4DynamicParticle(G4Neutron::NeutronDefinition(), v.vect(), v.e()); + break; + + case photon: + cascadeParticle = new G4DynamicParticle(G4Gamma::Gamma(), v.vect(), v.e()); + break; + default: + G4cout << " ERROR: GInuclEvapration::Propagate undefined particle type" << G4endl; + }; + + secondaryParticleVector.push_back( cascadeParticle ); + // theResult.AddSecondary(cascadeParticle); + } + } + fillResult( secondaryParticleVector, theResult); + + + // G4cout << "# fragments " << output.getNucleiFragments().size() << G4endl; + i=1; + if (!nucleiFragments.empty()) { + nucleiIterator ifrag; + + for (ifrag = nucleiFragments.begin(); ifrag != nucleiFragments.end(); ifrag++) { + + ekin = ifrag->getKineticEnergy()*1000; + emas = ifrag->getMass()*1000; + std::vector mom = ifrag->getMomentum(); + eTot += std::sqrt(mom[0]*1000 * mom[0]*1000); + + G4ThreeVector aMom(mom[1]*1000, mom[2]*1000, mom[3]*1000); + // aMom = aMom.unit(); + + G4LorentzVector v(aMom, (ekin+emas)); + v.boost( boostToLab ); + + if (verboseLevel > 2) { + G4cout << " Nuclei fragment: " << i << G4endl; i++; + // ifrag->printParticle(); + } + + G4int A = G4int(ifrag->getA()); + G4int Z = G4int(ifrag->getZ()); + // cascadeParticle = new G4DynamicParticle(G4Proton::ProtonDefinition(), v.vect(), v.e()); + if (verboseLevel > 2) { + G4cout << "boosted v" << v << G4endl; + } + // theResult->push_back( new G4Fragment(A, Z, tmp) ); + theResult->push_back( new G4Fragment(A, Z, v) ); + } + } + + //G4cout << ">>>> G4InuclEvaporation::BreakItUp end " << G4endl; + return theResult; +} + +void G4InuclEvaporation::fillResult( std::vector secondaryParticleVector, + G4FragmentVector * aResult ) +{ + // Fill the vector pParticleChange with secondary particles stored in vector. + for ( size_t i = 0 ; i < secondaryParticleVector.size() ; i++ ) + { + G4int aZ = static_cast (secondaryParticleVector[i]->GetDefinition()->GetPDGCharge() ); + G4int aA = static_cast (secondaryParticleVector[i]->GetDefinition()->GetBaryonNumber()); + G4LorentzVector aMomentum = secondaryParticleVector[i]->Get4Momentum(); + if(aA>0) { + aResult->push_back( new G4Fragment(aA, aZ, aMomentum) ); + } else { + aResult->push_back( new G4Fragment(aMomentum, secondaryParticleVector[i]->GetDefinition()) ); + } + } + return; +} + + + diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4NonEquilibriumEvaporator.cc b/source/processes/hadronic/models/cascade/cascade/src/G4NonEquilibriumEvaporator.cc index 5ff06a415a..69e0586e73 100644 --- a/source/processes/hadronic/models/cascade/cascade/src/G4NonEquilibriumEvaporator.cc +++ b/source/processes/hadronic/models/cascade/cascade/src/G4NonEquilibriumEvaporator.cc @@ -286,6 +286,8 @@ G4CollisionOutput G4NonEquilibriumEvaporator::collide(G4InuclParticle* /*bullet* } else { // real escape G4InuclElementaryParticle particle(ptype); + + particle.setModel(5); G4double mass = particle.getMass(); EPART *= 0.001; // to the GeV // generate particle momentum @@ -425,6 +427,7 @@ G4CollisionOutput G4NonEquilibriumEvaporator::collide(G4InuclParticle* /*bullet* for (G4int i = 1; i < 4; i++) pnuc[i] = pin[i] - ppout[i]; G4InuclNuclei nuclei(pnuc, A, Z); + nuclei.setModel(5); nuclei.setEnergy(); pnuc = nuclei.getMomentum(); diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4PreCompoundCascadeInterface.cc b/source/processes/hadronic/models/cascade/cascade/src/G4PreCompoundCascadeInterface.cc new file mode 100644 index 0000000000..caec1eeded --- /dev/null +++ b/source/processes/hadronic/models/cascade/cascade/src/G4PreCompoundCascadeInterface.cc @@ -0,0 +1,479 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// + +#include "G4PreCompoundCascadeInterface.hh" +#include "globals.hh" +#include "G4DynamicParticleVector.hh" +#include "G4IonTable.hh" +#include "G4PreCompoundInuclCollider.hh" +#include "G4IntraNucleiCascader.hh" +#include "G4ElementaryParticleCollider.hh" +#include "G4NonEquilibriumEvaporator.hh" +#include "G4BigBanger.hh" +#include "G4InuclElementaryParticle.hh" +#include "G4InuclNuclei.hh" +#include "G4InuclParticle.hh" +#include "G4CollisionOutput.hh" +#include "G4V3DNucleus.hh" +#include "G4Track.hh" +#include "G4Nucleus.hh" +#include "G4NucleiModel.hh" +#include "G4LorentzRotation.hh" + + +typedef std::vector::iterator particleIterator; +typedef std::vector::iterator nucleiIterator; + +G4PreCompoundCascadeInterface::G4PreCompoundCascadeInterface() + :verboseLevel(0) { + + if (verboseLevel > 3) { + G4cout << " >>> G4PreCompoundCascadeInterface::G4PreCompoundCascadeInterface" << G4endl; + } +} + +G4ReactionProductVector* G4PreCompoundCascadeInterface::Propagate(G4KineticTrackVector* , + G4V3DNucleus* ) { + return 0; +} + +// #define debug_G4PreCompoundCascadeInterface + +G4HadFinalState* G4PreCompoundCascadeInterface::ApplyYourself(const G4HadProjectile& aTrack, + G4Nucleus& theNucleus) { +#ifdef debug_G4PreCompoundCascadeInterface + static G4int counter(0); + counter++; + G4cerr << "Reaction number "<< counter << " "<GetDefinition()->GetParticleName()<<" "<< aTrack.GetDynamicParticle()->GetKineticEnergy()< 3) { + G4cout << " >>> G4PreCompoundCascadeInterface::ApplyYourself" << G4endl; + }; + + G4double eInit = 0.0; + G4double eTot = 0.0; + G4double sumBaryon = 0.0; + G4double sumEnergy = 0.0; + + // Make conversion between native Geant4 and Bertini cascade classes. + // NOTE: Geant4 units are MeV = 1 and GeV = 1000. Cascade code by default use GeV = 1. + + enum particleType { nuclei = 0, proton = 1, neutron = 2, pionPlus = 3, + pionMinus = 5, pionZero = 7, photon = 10, + kaonPlus = 11, kaonMinus = 13, kaonZero = 15, + kaonZeroBar = 17, lambda = 21, sigmaPlus = 23, + sigmaZero = 25, sigmaMinus = 27, xiZero = 29, xiMinus = 31 }; + + G4int bulletType = 0; + + // Coding particles + if (aTrack.GetDefinition() == G4Proton::Proton() ) bulletType = proton; + if (aTrack.GetDefinition() == G4Neutron::Neutron() ) bulletType = neutron; + if (aTrack.GetDefinition() == G4PionPlus::PionPlus() ) bulletType = pionPlus; + if (aTrack.GetDefinition() == G4PionMinus::PionMinus() ) bulletType = pionMinus; + if (aTrack.GetDefinition() == G4PionZero::PionZero() ) bulletType = pionZero; + if (aTrack.GetDefinition() == G4Gamma::Gamma() ) bulletType = photon; + if (aTrack.GetDefinition() == G4KaonPlus::KaonPlus() ) bulletType = kaonPlus; + if (aTrack.GetDefinition() == G4KaonMinus::KaonMinus() ) bulletType = kaonMinus; + if (aTrack.GetDefinition() == G4Lambda::Lambda() ) bulletType = lambda; + if (aTrack.GetDefinition() == G4SigmaPlus::SigmaPlus() ) bulletType = sigmaPlus; + if (aTrack.GetDefinition() == G4SigmaZero::SigmaZero() ) bulletType = sigmaZero; + if (aTrack.GetDefinition() == G4SigmaMinus::SigmaMinus() ) bulletType = sigmaMinus; + if (aTrack.GetDefinition() == G4XiZero::XiZero() ) bulletType = xiZero; + if (aTrack.GetDefinition() == G4XiMinus::XiMinus() ) bulletType = xiMinus; + + if (aTrack.GetDefinition() == G4KaonZeroLong::KaonZeroLong() || + aTrack.GetDefinition() == G4KaonZeroShort::KaonZeroShort() ) { + if (G4UniformRand() > 0.5) { + bulletType = kaonZero; + } else { + bulletType = kaonZeroBar; + } + } + + // Code momentum and energy. + G4double px,py,pz; + px=aTrack.Get4Momentum().px() / GeV; + py=aTrack.Get4Momentum().py() / GeV; + pz=aTrack.Get4Momentum().pz() / GeV; + + G4LorentzVector projectileMomentum = aTrack.Get4Momentum(); + G4LorentzRotation toZ; + toZ.rotateZ(-projectileMomentum.phi()); + toZ.rotateY(-projectileMomentum.theta()); + G4LorentzRotation toLabFrame = toZ.inverse(); + + std::vector momentumBullet(4); + momentumBullet[0] =0.; + momentumBullet[1] =0; + momentumBullet[2] =0; + momentumBullet[3] =std::sqrt(px*px+py*py+pz*pz); + + G4InuclElementaryParticle * bullet = new G4InuclElementaryParticle(momentumBullet, bulletType); + + sumEnergy = bullet->getKineticEnergy(); // In GeV + + if (bulletType == proton || bulletType == neutron || bulletType == lambda || + bulletType == sigmaPlus || bulletType == sigmaZero || bulletType == sigmaMinus || + bulletType == xiZero || bulletType == xiMinus) { + + sumBaryon += 1; + } + + // Set target + G4InuclNuclei* target = 0; + G4InuclParticle* targetH = 0; + // and outcoming particles + G4DynamicParticle* cascadeParticle = 0; + + std::vector targetMomentum(4, 0.0); + + G4double theNucleusA = theNucleus.GetN(); + + if ( !(G4int(theNucleusA) == 1) ) { + target = new G4InuclNuclei(targetMomentum, + theNucleusA, + theNucleus.GetZ()); + target->setEnergy(); + + std::vector bmom = bullet->getMomentum(); + eInit = std::sqrt(bmom[0] * bmom[0]); + std::vector tmom = target->getMomentum(); + eInit += std::sqrt(tmom[0] * tmom[0]); + + sumBaryon += theNucleusA; + + if (verboseLevel > 2) { + G4cout << "Bullet: " << G4endl; + bullet->printParticle(); + } + if (verboseLevel > 2) { + G4cout << "Target: " << G4endl; + target->printParticle(); + } + } + + G4CollisionOutput output; + + // Colliders initialisation + G4ElementaryParticleCollider* colep = new G4ElementaryParticleCollider; + + G4IntraNucleiCascader* inc = new G4IntraNucleiCascader; // the actual cascade + inc->setInteractionCase(1); // Interaction type is particle with nuclei. + + G4NonEquilibriumEvaporator* noneq = new G4NonEquilibriumEvaporator; + G4BigBanger* bigb = new G4BigBanger; + G4PreCompoundInuclCollider* collider = new G4PreCompoundInuclCollider(colep, inc, noneq, bigb); + + G4int maxTries = 10; // maximum tries for inelastic collision to avoid infinite loop + G4int nTries = 0; // try counter + + if (G4int(theNucleusA) == 1) { // special treatment for target H(1,1) (proton) + + targetH = new G4InuclElementaryParticle(targetMomentum, 1); + + G4float cutElastic[32]; + + cutElastic[proton ] = 1.0; // 1 GeV + cutElastic[neutron ] = 1.0; + cutElastic[lambda] = 1.0; + cutElastic[sigmaPlus] = 1.0; + cutElastic[sigmaZero] = 1.0; + cutElastic[sigmaMinus] = 1.0; + cutElastic[xiZero] = 1.0; + cutElastic[xiMinus] = 1.0; + + cutElastic[pionPlus ] = 0.6; // 0.6 GeV + + cutElastic[kaonPlus ] = 0.5; // 0.5 GeV + cutElastic[kaonMinus] = 0.5; + cutElastic[kaonMinus] = 0.5; + cutElastic[kaonZero] = 0.5; + cutElastic[kaonZeroBar] = 0.5; + + cutElastic[pionMinus] = 0.2; // 0.2 GeV + cutElastic[pionZero ] = 0.2; + + + if (momentumBullet[3] > cutElastic[bulletType]) { // inelastic collision possible + + do { // we try to create inelastic interaction + output = collider->collide(bullet, targetH); + nTries++; + } while( + (nTries < maxTries) && + (output.getOutgoingParticles().size() == 2 && // elastic: bullet + p = H(1,1) coming out + (output.getOutgoingParticles().begin()->type() == bulletType || output.getOutgoingParticles().begin()->type() == proton) + ) + ); + + } else { // only elastic collision is energetically possible + output = collider->collide(bullet, targetH); + } + + sumBaryon += 1; + + std::vector bmom = bullet->getMomentum(); + eInit = std::sqrt(bmom[0] * bmom[0]); + std::vector tmom = targetH->getMomentum(); + eInit += std::sqrt(tmom[0] * tmom[0]); + + if (verboseLevel > 2) { + G4cout << "Target: " << G4endl; + targetH->printParticle(); + } + + } else { // treat all other targets excepet H(1,1) + + do // we try to create inelastic interaction + { + output = collider->collide(bullet, target ); + nTries++; + } while ( + // (nTries < maxTries) && + //(output.getOutgoingParticles().size() + output.getNucleiFragments().size() < 2.5) && + //(output.getOutgoingParticles().size()!=0) && + //(output.getOutgoingParticles().begin()->type()==bullet->type()) + //); + + (nTries < maxTries) && + output.getOutgoingParticles().size() == 1 && // we retry when elastic collision happened + output.getNucleiFragments().size() == 1 && + output.getOutgoingParticles().begin()->type() == bullet->type() && + output.getNucleiFragments().begin()->getA() == target->getA() && + output.getNucleiFragments().begin()->getZ() == target->getZ() + ); + } + + if (verboseLevel > 1) + { + G4cout << " Cascade output: " << G4endl; + output.printCollisionOutput(); + } + + // Convert cascade data to use hadronics interface + std::vector nucleiFragments = output.getNucleiFragments(); + std::vector particles = output.getOutgoingParticles(); + + theResult.SetStatusChange(stopAndKill); + + if (!particles.empty()) { + particleIterator ipart; + G4int outgoingParticle; + + for (ipart = particles.begin(); ipart != particles.end(); ipart++) { + outgoingParticle = ipart->type(); + std::vector mom = ipart->getMomentum(); + eTot += std::sqrt(mom[0] * mom[0]); + + G4double ekin = ipart->getKineticEnergy() * GeV; + G4ThreeVector aMom(mom[1], mom[2], mom[3]); + aMom = aMom.unit(); + + if (ipart->baryon() ) { + sumBaryon -= 1; + } + + sumEnergy -= ekin / GeV; + + switch(outgoingParticle) { + + case proton: +#ifdef debug_G4PreCompoundCascadeInterface + G4cerr << "proton " << counter << " " << aMom << " " << ekin << G4endl; +#endif + cascadeParticle = new G4DynamicParticle(G4Proton::ProtonDefinition(), aMom, ekin); + break; + + case neutron: + +#ifdef debug_G4PreCompoundCascadeInterface + G4cerr << "neutron "<< counter<<" "< 0.5) { + cascadeParticle = new G4DynamicParticle(G4KaonZeroLong::KaonZeroLongDefinition(), aMom, ekin); + } else { + cascadeParticle = new G4DynamicParticle(G4KaonZeroShort::KaonZeroShortDefinition(), aMom, ekin); + } + break; + + case kaonZeroBar: + if (G4UniformRand() > 0.5) { + cascadeParticle = new G4DynamicParticle(G4KaonZeroLong::KaonZeroLongDefinition(), aMom, ekin); + } else { + cascadeParticle = new G4DynamicParticle(G4KaonZeroShort::KaonZeroShortDefinition(), aMom, ekin); + } + break; + + case lambda: + cascadeParticle = new G4DynamicParticle(G4Lambda::LambdaDefinition(), aMom, ekin); + break; + + case sigmaPlus: + cascadeParticle = new G4DynamicParticle(G4SigmaPlus::SigmaPlusDefinition(), aMom, ekin); + break; + + case sigmaZero: + cascadeParticle = new G4DynamicParticle(G4SigmaZero::SigmaZeroDefinition(), aMom, ekin); + break; + + case sigmaMinus: + cascadeParticle = new G4DynamicParticle(G4SigmaMinus::SigmaMinusDefinition(), aMom, ekin); + break; + + case xiZero: + cascadeParticle = new G4DynamicParticle(G4XiZero::XiZeroDefinition(), aMom, ekin); + break; + + case xiMinus: + cascadeParticle = new G4DynamicParticle(G4XiMinus::XiMinusDefinition(), aMom, ekin); + break; + + default: + G4cout << " ERROR: G4PreCompoundCascadeInterface::Propagate undefined particle type" << G4endl; + } + + cascadeParticle->Set4Momentum(cascadeParticle->Get4Momentum()*=toLabFrame); + theResult.AddSecondary(cascadeParticle); + } + } + + // get nuclei fragments + G4DynamicParticle * aFragment = 0; + G4ParticleDefinition * aIonDef = 0; + G4ParticleTable *theTableOfParticles = G4ParticleTable::GetParticleTable(); + + if (!nucleiFragments.empty()) { + nucleiIterator ifrag; + + for (ifrag = nucleiFragments.begin(); ifrag != nucleiFragments.end(); ifrag++) + { + G4double eKin = ifrag->getKineticEnergy() * GeV; + std::vector mom = ifrag->getMomentum(); + eTot += std::sqrt(mom[0] * mom[0]); + + G4ThreeVector aMom(mom[1], mom[2], mom[3]); + aMom = aMom.unit(); + + // hpw @@@ ==> Should be zero: G4double fragmentExitation = ifrag->getExitationEnergyInGeV(); + + if (verboseLevel > 2) { + G4cout << " Nuclei fragment: " << G4endl; + ifrag->printParticle(); + } + + G4int A = G4int(ifrag->getA()); + G4int Z = G4int(ifrag->getZ()); + aIonDef = theTableOfParticles->FindIon(Z, A, 0, Z); + + aFragment = new G4DynamicParticle(aIonDef, aMom, eKin); + + sumBaryon -= A; + sumEnergy -= eKin / GeV; + + aFragment->Set4Momentum(aFragment->Get4Momentum()*=toLabFrame); + theResult.AddSecondary(aFragment); + } + } + + if (verboseLevel > 2) { + if (sumBaryon != 0) { + G4cout << "ERROR: no baryon number conservation, sum of baryons = " << sumBaryon << G4endl; + } + + if (sumEnergy > 0.01 ) { + G4cout << "Kinetic energy conservation violated by " << sumEnergy << " GeV" << G4endl; + } + + G4cout << "Total energy conservation at level ~" << (eInit - eTot) * GeV << " MeV" << G4endl; + + if (sumEnergy < -5.0e-5 ) { // 0.05 MeV + G4cout << "FATAL ERROR: energy created " << sumEnergy * GeV << " MeV" << G4endl; + } + } + + delete bullet; + delete colep; + delete inc; + delete noneq; + delete bigb; + delete collider; + + if(target != 0) delete target; + if(targetH != 0) delete targetH; + // if(cascadeParticle != 0) delete cascadeParticle; + // if(aFragment != 0) delete aFragment; + + return &theResult; + } diff --git a/source/processes/hadronic/models/cascade/cascade/src/G4PreCompoundInuclCollider.cc b/source/processes/hadronic/models/cascade/cascade/src/G4PreCompoundInuclCollider.cc new file mode 100644 index 0000000000..ebc81225b3 --- /dev/null +++ b/source/processes/hadronic/models/cascade/cascade/src/G4PreCompoundInuclCollider.cc @@ -0,0 +1,381 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +#include "G4PreCompoundInuclCollider.hh" +#include "G4InuclElementaryParticle.hh" +#include "G4LorentzConvertor.hh" +#include "G4ParticleLargerEkin.hh" +#include + +typedef std::vector::iterator particleIterator; +typedef std::vector::iterator nucleiIterator; + +G4PreCompoundInuclCollider::G4PreCompoundInuclCollider() + : verboseLevel(0) { + + if (verboseLevel > 3) { + G4cout << " >>> G4PreCompoundInuclCollider::G4PreCompoundInuclCollider" << G4endl; + } +} + +G4CollisionOutput G4PreCompoundInuclCollider::collide(G4InuclParticle* bullet, + G4InuclParticle* target) { + + verboseLevel = 0; + if (verboseLevel > 3) { + G4cout << " >>> G4PreCompoundInuclCollider::collide" << G4endl; + } + + const G4int itry_max = 1000; + + G4CollisionOutput globalOutput; + G4InuclElementaryParticle* particle1 = + dynamic_cast(bullet); + G4InuclElementaryParticle* particle2 = + dynamic_cast(target); + + if (particle1 && particle2) { // particle + particle (NOTE: also the h + H(1,1) treated here) + if (verboseLevel > 2) { + particle1->printParticle(); + particle2->printParticle(); + } + + globalOutput = theElementaryParticleCollider->collide(bullet, target); + + } else { // needs to call all machinery + G4LorentzConvertor convertToTargetRestFrame; + G4InteractionCase interCase = bulletTargetSetter(bullet, target); + G4int intcase = interCase.getInterCase(); + + if (intcase > 0) { // ok + G4InuclNuclei* ntarget = + dynamic_cast(interCase.getTarget()); + + convertToTargetRestFrame.setTarget(ntarget->getMomentum(), + ntarget->getMass()); + G4int btype = 0; + G4double ab = 0.0; + G4double zb = 0.0; + G4double at = ntarget->getA(); + G4double zt = ntarget->getZ(); + + if (intcase == 1) { // particle with nuclei + G4InuclElementaryParticle* pbullet = + dynamic_cast(interCase.getBullet()); + + if (pbullet->photon()) { + G4cout << " InuclCollider -> can not collide with photon " << G4endl; + + globalOutput.trivialise(bullet, target); + + return globalOutput; + } else { + convertToTargetRestFrame.setBullet(pbullet->getMomentum(), + pbullet->getMass()); + btype = pbullet->type(); + }; + + } else { // nuclei with nuclei + G4InuclNuclei* nbullet = + dynamic_cast(interCase.getBullet()); + + convertToTargetRestFrame.setBullet(nbullet->getMomentum(), + nbullet->getMass()); + ab = nbullet->getA(); + zb = nbullet->getZ(); + }; + + G4double ekin = convertToTargetRestFrame.getKinEnergyInTheTRS(); + + if (verboseLevel > 3) { + G4cout << " ekin in trs " << ekin << G4endl; + } + + if (inelasticInteractionPossible(bullet, target, ekin)) { + convertToTargetRestFrame.toTheTargetRestFrame(); + + if (verboseLevel > 3) { + G4cout << " degenerated? " << convertToTargetRestFrame.trivial() << G4endl; + } + + std::vector bmom(4, 0.0); + + bmom[3] = convertToTargetRestFrame.getTRSMomentum(); + + G4InuclNuclei ntarget(at, zt); + std::vector tmom(4, 0.0); + + ntarget.setMomentum(tmom); + ntarget.setEnergy(); + theIntraNucleiCascader->setInteractionCase(intcase); + + G4bool bad = true; + G4int itry = 0; + + while (bad && itry < itry_max) { + G4CollisionOutput TRFoutput; + G4CollisionOutput output; + + itry++; + if (intcase == 1) { + G4InuclElementaryParticle pbullet(bmom, btype); + + output = theIntraNucleiCascader->collide(&pbullet, &ntarget); + } else { + G4InuclNuclei nbullet(ab, zb); + nbullet.setMomentum(bmom); + nbullet.setEnergy(); + output = theIntraNucleiCascader->collide(&nbullet, &ntarget); + }; + + if (verboseLevel > 3) { + G4cout << " After Cascade " << G4endl; + + output.printCollisionOutput(); + } + + // the rest, if any + TRFoutput.addOutgoingParticles(output.getOutgoingParticles()); + + if (output.numberOfNucleiFragments() == 1) { // there is smth. after + G4InuclNuclei cascad_rec_nuclei = output.getNucleiFragments()[0]; + if (explosion(&cascad_rec_nuclei)) { + if (verboseLevel > 3) { + G4cout << " big bang after cascade " << G4endl; + }; + + output = theBigBanger->collide(0,&cascad_rec_nuclei); + TRFoutput.addOutgoingParticles(output.getOutgoingParticles()); + } else { + output = theNonEquilibriumEvaporator->collide(0, &cascad_rec_nuclei); + + if (verboseLevel > 3) { + G4cout << " After NonEquilibriumEvaporator " << G4endl; + output.printCollisionOutput(); + }; + + TRFoutput.addOutgoingParticles(output.getOutgoingParticles()); + TRFoutput.addTargetFragments(output.getNucleiFragments()); + }; + }; + + // convert to the LAB + G4bool withReflection = convertToTargetRestFrame.reflectionNeeded(); + std::vector particles = + TRFoutput.getOutgoingParticles(); + + if (!particles.empty()) { + particleIterator ipart; + for(ipart = particles.begin(); ipart != particles.end(); ipart++) { + std::vector mom = ipart->getMomentum(); + + if (withReflection) mom[3] = -mom[3]; + mom = convertToTargetRestFrame.rotate(mom); + ipart->setMomentum(mom); + mom = convertToTargetRestFrame.backToTheLab(ipart->getMomentum()); + ipart->setMomentum(mom); + }; + std::sort(particles.begin(), particles.end(), G4ParticleLargerEkin()); + }; + + std::vector nucleus = TRFoutput.getNucleiFragments(); + + if (!nucleus.empty()) { + nucleiIterator inuc; + + for (inuc = nucleus.begin(); inuc != nucleus.end(); inuc++) { + std::vector mom = inuc->getMomentum(); + + if (withReflection) mom[3] = -mom[3]; + mom = convertToTargetRestFrame.rotate(mom); + inuc->setMomentum(mom); + inuc->setEnergy(); + mom = convertToTargetRestFrame.backToTheLab(inuc->getMomentum()); + inuc->setMomentum(mom); + inuc->setEnergy(); + }; + }; + globalOutput.addOutgoingParticles(particles); + globalOutput.addTargetFragments(nucleus); + globalOutput.setOnShell(bullet, target); + if(globalOutput.acceptable()) { + + return globalOutput; + } else { + globalOutput.reset(); + }; + }; + + if (verboseLevel > 3) { + G4cout << " InuclCollider -> can not generate acceptable inter. after " + << itry_max << " attempts " << G4endl; + } + + globalOutput.trivialise(bullet, target); + + return globalOutput; + } else { + + if (verboseLevel > 3) { + G4cout << " InuclCollider -> inelastic interaction is impossible " << G4endl + << " due to the coulomb barirer " << G4endl; + } + + globalOutput.trivialise(bullet, target); + + return globalOutput; + }; + + } else { + + if (verboseLevel > 3) { + G4cout << " InuclCollider -> inter case " << intcase << G4endl; + }; + }; + }; + + return globalOutput; +} + +G4bool G4PreCompoundInuclCollider::inelasticInteractionPossible(G4InuclParticle* bullet, + G4InuclParticle* target, + G4double ekin) const { + + if (verboseLevel > 3) { + G4cout << " >>> G4PreCompoundInuclCollider::inelasticInteractionPossible" << G4endl; + } + + const G4double coeff = 0.001 * 1.2; + const G4double one_third = 1.0 / 3.0; + + G4bool possible = true; + G4double at; + G4double zt; + G4double ab; + G4double zb; + + if (G4InuclNuclei* nuclei_target = dynamic_cast(target)) { + at = nuclei_target->getA(); + zt = nuclei_target->getZ(); + if (G4InuclNuclei* nuclei_bullet = dynamic_cast(bullet)) { + ab = nuclei_bullet->getA(); + zb = nuclei_bullet->getZ(); + } else { + G4InuclElementaryParticle* particle = + dynamic_cast(bullet); + + ab = 1; + zb = particle->getCharge(); + }; + } else { + if(G4InuclNuclei* nuclei_bullet = dynamic_cast(bullet)) { + ab = nuclei_bullet->getA(); + zb = nuclei_bullet->getZ(); + + G4InuclElementaryParticle* particle = + dynamic_cast(target); + + at = 1; + zt = particle->getCharge(); + } else { + + return possible; + }; + }; + + // VCOL used for testing if elastic collision possible + G4double VCOL = coeff * zt * zb / (std::pow(at, one_third) + std::pow(ab, one_third)); + + // possible = VCOL < ekin; // NOTE: inelastic collision if not true + possible = true; // we force elastic + + if (verboseLevel > 3) { + G4cout << " >>> G4PreCompoundInuclCollider::inelasticInteractionPossible" << G4endl; + G4cout << " VCOL: " << VCOL << " ekin: " << ekin << " inelastic possible: " << possible << G4endl; + } + + return possible; + +} + +G4InteractionCase G4PreCompoundInuclCollider::bulletTargetSetter(G4InuclParticle* bullet, + G4InuclParticle* target) const { + + if (verboseLevel > 3) { + G4cout << " >>> G4PreCompoundInuclCollider::bulletTargetSetter" << G4endl; + } + + G4InteractionCase interCase; + + if (G4InuclNuclei* nuclei_target = dynamic_cast(target)) { + if (G4InuclNuclei* nuclei_bullet = dynamic_cast(bullet)) { // A + A + interCase.setInterCase(2); + if (nuclei_target->getA() >= nuclei_bullet->getA()) { + interCase.setBulletTarget(bullet, target); + } else { + interCase.setBulletTarget(target, bullet); + }; + } else { + interCase.setInterCase(1); + interCase.setBulletTarget(bullet, target); + }; + } else { + G4InuclNuclei* nuclei_bullet = dynamic_cast(bullet); + if (nuclei_bullet) { + G4InuclElementaryParticle* part = + dynamic_cast(target); + if (part) { + interCase.setInterCase(1); + interCase.setBulletTarget(target, bullet); + }; + }; + }; + + return interCase; +} + +G4bool G4PreCompoundInuclCollider::explosion(G4InuclNuclei* target) const { + + if (verboseLevel > 3) { + G4cout << " >>> G4PreCompoundInuclCollider::explosion" << G4endl; + } + + const G4double a_cut = 20.0; + const G4double be_cut = 3.0; + + G4double a = target->getA(); + G4double z = target->getZ(); + G4double eexs = target->getExitationEnergy(); + G4bool explo = true; + + if (a > a_cut) { + explo = false; + } else { + if (eexs < be_cut * bindingEnergy(a, z)) explo = false; + }; + + return explo; +} + diff --git a/source/processes/hadronic/models/cascade/cascade/src/bindingEnergyExact.cc b/source/processes/hadronic/models/cascade/cascade/src/bindingEnergyExact.cc index 9a00b74aa7..6940069e3d 100644 --- a/source/processes/hadronic/models/cascade/cascade/src/bindingEnergyExact.cc +++ b/source/processes/hadronic/models/cascade/cascade/src/bindingEnergyExact.cc @@ -314,8 +314,11 @@ G4double G4InuclSpecialFunctions::bindingEnergyExact(G4double A, default: - G4cout << " DM(A, Z): wrong exact case: IN " << IN - << " IZ " << IZ << G4endl; + if (verboseLevel > 3) { + G4cout << " >>> G4InuclSpecialFunctions::bindingEnergyExact" << G4endl; + G4cout << " DM(A, Z): wrong exact case: IN " << IN << " IZ " << IZ + << " -> Using default bindingEnergyAsymptotic(A, Z)" << G4endl; + } DM = bindingEnergyAsymptotic(A, Z); }; diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Chips.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Chips.hh index 2bfb372e2c..a5ea4e306e 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Chips.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Chips.hh @@ -25,7 +25,7 @@ // // // $Id: G4Chips.hh,v 1.19 2006/06/29 20:05:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4Chips ---------------- // by Mikhail Kossov, September 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QBesIKJY.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QBesIKJY.hh index 3739946ad5..2e27c139a4 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QBesIKJY.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QBesIKJY.hh @@ -25,7 +25,7 @@ // // // $Id: G4QBesIKJY.hh,v 1.2 2006/06/29 20:05:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QBesIKJY ---------------- // by Mikhail Kossov, Sept 2000. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCHIPSWorld.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCHIPSWorld.hh index bfbdf88584..ecaa5a131a 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCHIPSWorld.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCHIPSWorld.hh @@ -25,7 +25,7 @@ // // // $Id: G4QCHIPSWorld.hh,v 1.25 2006/06/29 20:05:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCHIPSWorld ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidate.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidate.hh index c3034ac349..e8adf0ccd6 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidate.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidate.hh @@ -25,7 +25,7 @@ // // // $Id: G4QCandidate.hh,v 1.28 2006/06/29 20:05:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCandidate ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidateVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidateVector.hh index de3b37e9de..8f2a39797a 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidateVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QCandidateVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4QCandidateVector.hh,v 1.21 2006/06/29 20:06:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QChipolino.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QChipolino.hh index dffe9f2cf4..10a54bc088 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QChipolino.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QChipolino.hh @@ -25,7 +25,7 @@ // // // $Id: G4QChipolino.hh,v 1.23 2006/06/29 20:06:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QChipolino ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QContent.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QContent.hh index 00d8116f42..77550584f9 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QContent.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QContent.hh @@ -25,7 +25,7 @@ // // // $Id: G4QContent.hh,v 1.28 2006/06/29 20:06:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QContent ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChan.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChan.hh index 3dbd2766e7..c12b4c092c 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChan.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChan.hh @@ -25,7 +25,7 @@ // // // $Id: G4QDecayChan.hh,v 1.23 2006/06/29 20:06:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QDecayChan ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChanVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChanVector.hh index 064917bce3..b5f628f86e 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChanVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QDecayChanVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4QDecayChanVector.hh,v 1.19 2006/06/29 20:06:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QEnvironment.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QEnvironment.hh index ced17c5ef6..d4f54cafe6 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QEnvironment.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QEnvironment.hh @@ -25,7 +25,7 @@ // // // $Id: G4QEnvironment.hh,v 1.28 2007/02/28 14:26:25 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QEnvironment ---------------- // by Mikhail Kossov, August 2000. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QException.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QException.hh index 9969b86aa2..3bbc6d15d3 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QException.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QException.hh @@ -25,7 +25,7 @@ // // // $Id: G4QException.hh,v 1.10 2006/06/29 20:06:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QException ---------------- // by Mikhail Kossov, November 2003. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QFragmentation.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QFragmentation.hh index 14b67fce42..57b71e9ad1 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QFragmentation.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QFragmentation.hh @@ -25,7 +25,7 @@ // // // $Id: G4QFragmentation.hh,v 1.2 2006/12/12 11:02:22 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadron.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadron.hh index 10440bfbca..b4731a1e11 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadron.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadron.hh @@ -25,7 +25,7 @@ // // // $Id: G4QHadron.hh,v 1.34 2006/11/20 16:29:11 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QHadron ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadronBuilder.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadronBuilder.hh index 401ed384ff..09f5a3af3e 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadronBuilder.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadronBuilder.hh @@ -25,7 +25,7 @@ // // // $Id: G4QHadronBuilder.hh,v 1.2 2006/12/12 11:02:22 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadronVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadronVector.hh index 42785c6cc0..738f3c894e 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadronVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QHadronVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4QHadronVector.hh,v 1.22 2006/11/16 11:36:09 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. @@ -36,7 +36,7 @@ #define G4QHadronVector_h 1 // // $Id: G4QHadronVector.hh,v 1.22 2006/11/16 11:36:09 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QInteraction.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QInteraction.hh index 6a7f34a3a6..081949a2a4 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QInteraction.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QInteraction.hh @@ -25,7 +25,7 @@ // // // $Id: G4QInteraction.hh,v 1.2 2006/12/12 11:02:22 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4QInteraction_h diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QInteractionVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QInteractionVector.hh index 57c0f205b6..9054333de2 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QInteractionVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QInteractionVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4QInteractionVector.hh,v 1.1 2006/10/30 10:40:34 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. @@ -37,7 +37,7 @@ // // $Id: G4QInteractionVector.hh,v 1.1 2006/10/30 10:40:34 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QIsotope.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QIsotope.hh index 512d665fc5..1ab112979b 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QIsotope.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QIsotope.hh @@ -25,7 +25,7 @@ // // // $Id: G4QIsotope.hh,v 1.5 2006/06/29 20:06:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ---------------- G4QIsotope header ---------------- diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QNucleus.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QNucleus.hh index 53b065acd9..ca7469b5cd 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QNucleus.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QNucleus.hh @@ -25,7 +25,7 @@ // // // $Id: G4QNucleus.hh,v 1.31 2006/10/27 16:47:34 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QNucleus ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCode.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCode.hh index 37014c08c1..8257a19241 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCode.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCode.hh @@ -25,7 +25,7 @@ // // // $Id: G4QPDGCode.hh,v 1.26 2006/06/29 20:06:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QPDGCode ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCodeVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCodeVector.hh index 824e83ce2c..71549f69f1 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCodeVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGCodeVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4QPDGCodeVector.hh,v 1.19 2006/06/29 20:06:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGToG4Particle.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGToG4Particle.hh index 6c138e3e5c..5e03d23178 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGToG4Particle.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPDGToG4Particle.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4QPDGToG4Particle.hh,v 1.4 2006/06/29 20:06:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QPDGToG4Particle header ---------------- // by Mikhail Kossov, December 2003. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentCluster.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentCluster.hh index 96e227ece4..b6b3d8c681 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentCluster.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentCluster.hh @@ -25,7 +25,7 @@ // // // $Id: G4QParentCluster.hh,v 1.23 2006/06/29 20:06:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QParentCluster ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentClusterVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentClusterVector.hh index c372c7aedb..59a244916a 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentClusterVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParentClusterVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4QParentClusterVector.hh,v 1.18 2006/06/29 20:06:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticle.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticle.hh index a5635bfd77..cdc1dcf4fe 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticle.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticle.hh @@ -25,7 +25,7 @@ // // // $Id: G4QParticle.hh,v 1.24 2006/06/29 20:06:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QParticle ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticleVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticleVector.hh index 1c1087ec59..2220bd0395 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticleVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParticleVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4QParticleVector.hh,v 1.19 2006/06/29 20:06:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParton.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParton.hh index b5b8ae7855..a99026fd2a 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParton.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QParton.hh @@ -28,7 +28,7 @@ #define G4QParton_h 1 // $Id: G4QParton.hh,v 1.2 2006/12/12 11:02:22 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class header file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPartonPair.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPartonPair.hh index 49c3926b9b..15c70e83c8 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPartonPair.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPartonPair.hh @@ -27,7 +27,7 @@ #define G4QPartonPair_h 1 // // $Id: G4QPartonPair.hh,v 1.1 2006/10/30 10:40:34 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPartonPairVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPartonPairVector.hh index 4244d93070..cee693a01d 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPartonPairVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPartonPairVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4QPartonPairVector.hh,v 1.1 2006/11/16 11:36:09 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, October 2006. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPartonVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPartonVector.hh index 526fab0ba0..c39384e07a 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPartonVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPartonVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4QPartonVector.hh,v 1.1 2006/10/30 10:40:34 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCandidateVector ---------------- // by Mikhail Kossov, Oct 2006. @@ -36,7 +36,7 @@ #define G4QPartonVector_h 1 // // $Id: G4QPartonVector.hh,v 1.1 2006/10/30 10:40:34 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPomeron.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPomeron.hh index e992677f65..e691577f60 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPomeron.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QPomeron.hh @@ -27,7 +27,7 @@ #define G4QPomeron_h 1 // // $Id: G4QPomeron.hh,v 1.2 2006/12/12 11:02:22 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QSplitter.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QSplitter.hh index a86f1a7d70..20d94f3efb 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QSplitter.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QSplitter.hh @@ -25,7 +25,7 @@ // // // $Id: G4QSplitter.hh,v 1.2 2006/06/29 20:06:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QSplitter ---------------- // by Mikhail Kossov, Avgust 2005. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QString.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QString.hh index d4b6a8d6eb..bb5e8a63a3 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QString.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QString.hh @@ -26,7 +26,7 @@ // // // $Id: G4QString.hh,v 1.2 2006/12/12 11:02:22 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4QString_h #define G4QString_h 1 diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QStringVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QStringVector.hh index ed9d646afa..b0fa8d6ae3 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QStringVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QStringVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4QStringVector.hh,v 1.1 2006/10/30 10:40:35 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QStringVector ---------------- // by Mikhail Kossov, October 2006. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Quasmon.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Quasmon.hh index 0b38b8b673..465134accf 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Quasmon.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4Quasmon.hh @@ -25,7 +25,7 @@ // // // $Id: G4Quasmon.hh,v 1.38 2006/06/29 20:06:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4Quasmon ---------------- // by Mikhail Kossov, July 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QuasmonString.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QuasmonString.hh index ed24d35cb0..0e3c7587c2 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QuasmonString.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QuasmonString.hh @@ -25,7 +25,7 @@ // // // $Id: G4QuasmonString.hh,v 1.4 2006/06/29 20:06:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QuasmonString ---------------- // by Mikhail Kossov, October 2004. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QuasmonVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QuasmonVector.hh index c4cce21b2d..1b6b7b4dee 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QuasmonVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/include/G4QuasmonVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4QuasmonVector.hh,v 1.19 2006/06/29 20:06:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QuasmonVector ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QBesIKJY.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QBesIKJY.cc index 23503e22c3..654052d56b 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QBesIKJY.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QBesIKJY.cc @@ -25,7 +25,7 @@ // // // $Id: G4QBesIKJY.cc,v 1.2 2006/06/29 20:06:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QBesIKJY ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCHIPSWorld.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCHIPSWorld.cc index 69b240f7c8..69aeccc245 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCHIPSWorld.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCHIPSWorld.cc @@ -25,7 +25,7 @@ // // // $Id: G4QCHIPSWorld.cc,v 1.32 2006/06/29 20:06:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCHIPSWorld ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCandidate.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCandidate.cc index 04adfcdcb2..8c6b3b2250 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCandidate.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QCandidate.cc @@ -25,7 +25,7 @@ // // // $Id: G4QCandidate.cc,v 1.34 2006/11/27 10:44:53 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCandidate ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QChipolino.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QChipolino.cc index 9932196f4f..6b9b67bde6 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QChipolino.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QChipolino.cc @@ -25,7 +25,7 @@ // // // $Id: G4QChipolino.cc,v 1.32 2006/11/27 10:44:53 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QChipolino ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QContent.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QContent.cc index f4730cc448..b5b2d8186b 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QContent.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QContent.cc @@ -25,7 +25,7 @@ // // // $Id: G4QContent.cc,v 1.43 2006/11/27 10:44:53 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QContent ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QDecayChan.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QDecayChan.cc index 684e85d8ec..d55cca6bcb 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QDecayChan.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QDecayChan.cc @@ -25,7 +25,7 @@ // // // $Id: G4QDecayChan.cc,v 1.27 2006/11/27 10:44:54 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QDecayChan ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QEnvironment.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QEnvironment.cc index a326182c56..215786c9f8 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QEnvironment.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QEnvironment.cc @@ -28,7 +28,7 @@ // // // $Id: G4QEnvironment.cc,v 1.123 2007/05/03 07:35:27 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QEnvironment ---------------- // by Mikhail Kossov, August 2000. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QException.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QException.cc index 849fcd0802..049189531d 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QException.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QException.cc @@ -25,7 +25,7 @@ // // // $Id: G4QException.cc,v 1.9 2006/06/29 20:06:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QException ---------------- // by Mikhail Kossov, November 2003. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QFragmentation.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QFragmentation.cc index 0468be4bed..c92e76c760 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QFragmentation.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QFragmentation.cc @@ -25,7 +25,7 @@ // // // $Id: G4QFragmentation.cc,v 1.3 2007/05/02 14:59:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QHadron.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QHadron.cc index 067f68de68..63fde4dbd2 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QHadron.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QHadron.cc @@ -25,7 +25,7 @@ // // // $Id: G4QHadron.cc,v 1.48 2007/05/03 07:54:58 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QHadron ---------------- // by Mikhail Kossov, Sept 1999. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QHadronBuilder.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QHadronBuilder.cc index 999103a0e8..2a3ec33ec5 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QHadronBuilder.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QHadronBuilder.cc @@ -25,7 +25,7 @@ // // // $Id: G4QHadronBuilder.cc,v 1.2 2006/12/12 11:02:22 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // GEANT4 class implementation file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QInteraction.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QInteraction.cc index 53826c15eb..3a16d24105 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QInteraction.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QInteraction.cc @@ -25,7 +25,7 @@ // // // $Id: G4QInteraction.cc,v 1.2 2006/12/12 11:02:22 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QIsotope.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QIsotope.cc index 11046499ab..b63a2389f2 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QIsotope.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QIsotope.cc @@ -25,7 +25,7 @@ // // // $Id: G4QIsotope.cc,v 1.9 2006/12/07 19:25:49 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QIsotope class ---------------- // by Mikhail Kossov, December 2003. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QNucleus.cc b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QNucleus.cc index b358b83798..8021cbe6b4 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QNucleus.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/body/src/G4QNucleus.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4QNucleus.cc,v 1.73 2007/05/09 07:27:31 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4QNucleus.cc,v 1.75 2007/05/15 13:30:47 mkossov Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QNucleus ---------------- // by Mikhail Kossov, Sept 1999. @@ -53,7 +53,8 @@ G4double G4QNucleus::clustProb=4.; // clusterization probability in dense r G4double G4QNucleus::mediRatio=1.; // relative vacuum hadronization probability G4double G4QNucleus::nucleonDistance=.8*fermi; // Distance between nucleons (0.8 fm) -G4QNucleus::G4QNucleus() : G4QHadron(),Z(0),N(0),S(0),maxClust(0),currentNucleon(-1) +G4QNucleus::G4QNucleus() : G4QHadron(),Z(0),N(0),S(0),dZ(0),dN(0),dS(0),maxClust(0), + currentNucleon(-1) { Tb = new std::vector; probVect[0]=mediRatio; @@ -63,8 +64,8 @@ G4QNucleus::G4QNucleus() : G4QHadron(),Z(0),N(0),S(0),maxClust(0),currentNucleon #endif } -G4QNucleus::G4QNucleus(G4int z, G4int n, G4int s) : - G4QHadron(90000000+s*1000000+z*1000+n),Z(z),N(n),S(s),maxClust(0),currentNucleon(-1) +G4QNucleus::G4QNucleus(G4int z, G4int n, G4int s) : G4QHadron(90000000+s*1000000+z*1000+n), + Z(z),N(n),S(s),dZ(0),dN(0),dS(0),maxClust(0),currentNucleon(-1) { Tb = new std::vector; probVect[0]=mediRatio; @@ -117,7 +118,9 @@ G4QNucleus::G4QNucleus(G4LorentzVector p, G4int nucPDG) : } G4QNucleus::G4QNucleus(G4int z, G4int n, G4int s, G4LorentzVector p) : - G4QHadron(90000000+s*1000000+z*1000+n,p),Z(z),N(n),S(s),maxClust(0),currentNucleon(-1) + G4QHadron(90000000+s*1000000+z*1000+n,p),Z(z),N(n),S(s),dZ(0),dN(0),dS(0),maxClust(0), + currentNucleon(-1) + { Tb = new std::vector; probVect[0]=mediRatio; @@ -135,7 +138,9 @@ G4QNucleus::G4QNucleus(G4int z, G4int n, G4int s, G4LorentzVector p) : #endif } -G4QNucleus::G4QNucleus(G4QContent nucQC): G4QHadron(nucQC), maxClust(0), currentNucleon(-1) +G4QNucleus::G4QNucleus(G4QContent nucQC): G4QHadron(nucQC),dZ(0),dN(0),dS(0),maxClust(0), + currentNucleon(-1) + { static const G4double mPi0 = G4QPDGCode(111).GetMass(); Tb = new std::vector; @@ -183,7 +188,7 @@ G4QNucleus::G4QNucleus(G4QContent nucQC): G4QHadron(nucQC), maxClust(0), current } G4QNucleus::G4QNucleus(G4QContent nucQC, G4LorentzVector p) : - G4QHadron(nucQC,p), maxClust(0), currentNucleon(-1) + G4QHadron(nucQC,p),dZ(0),dN(0),dS(0),maxClust(0),currentNucleon(-1) { Tb = new std::vector; #ifdef debug @@ -326,12 +331,15 @@ void G4QNucleus::InitByPDG(G4int nucPDG) #ifdef debug G4cout<<"G4QNucleus::InitByPDG: >Called< PDG="<80000000&&nucPDG<100000000) // Try to convert the NUCCoding to PDGCoding + if(nucPDG>80000000 && nucPDG<100000000) // Try to convert the NUCCoding to PDGCoding { G4QPDGCode(22).ConvertPDGToZNS(nucPDG, z, n, s); Z =z; @@ -349,7 +357,7 @@ void G4QNucleus::InitByPDG(G4int nucPDG) Set4Momentum(p); SetNFragments(0); #ifdef debug - G4cout<<"G4QNucleus::InitByPDG:->QPDG="<QPDG="< 2N="<SetQPDG(db); h2->SetQPDG(pi); h1->Set4Momentum(n14M); h2->Set4Momentum(pi4M); return true; - } - else - { + } + else + { G4cerr<<"***G4QNucleus::EvaporateBaryon: M="<SetQPDG(pQPDG); h2->SetQPDG(pQPDG); - if(!DecayIn2(h1mom,h2mom)) return false; + if(!DecayIn2(h1mom,h2mom)) return false; } else if(N==2) { @@ -953,12 +961,12 @@ G4bool G4QNucleus::EvaporateBaryon(G4QHadron* h1, G4QHadron* h2) h2mom=h1mom; h1->SetQPDG(nQPDG); h2->SetQPDG(nQPDG); - if(!DecayIn2(h1mom,h2mom)) return false; + if(!DecayIn2(h1mom,h2mom)) return false; } else if(N==1&&Z==1) { if(totMass<=mNP) - { + { #ifdef ppdebug G4cout<<"G4QNucl::EvaporateBaryon: Photon ### d+g ###, dM="<SetQPDG(gQPDG); h2->SetQPDG(NPQPDG); - } + } else - { + { h1mom=G4LorentzVector(0.,0.,0.,mProt); h2mom=G4LorentzVector(0.,0.,0.,mNeut); h1->SetQPDG(pQPDG); h2->SetQPDG(nQPDG); } - if(!DecayIn2(h1mom,h2mom)) return false; + if(!DecayIn2(h1mom,h2mom)) return false; } else if(Z==1&&S==1) { @@ -982,7 +990,7 @@ G4bool G4QNucleus::EvaporateBaryon(G4QHadron* h1, G4QHadron* h2) h2mom=G4LorentzVector(0.,0.,0.,mLamb); h1->SetQPDG(pQPDG); h2->SetQPDG(lQPDG); - if(!DecayIn2(h1mom,h2mom)) return false; + if(!DecayIn2(h1mom,h2mom)) return false; } else { @@ -990,11 +998,11 @@ G4bool G4QNucleus::EvaporateBaryon(G4QHadron* h1, G4QHadron* h2) h2mom=G4LorentzVector(0.,0.,0.,mLamb); h1->SetQPDG(nQPDG); h2->SetQPDG(lQPDG); - if(!DecayIn2(h1mom,h2mom)) return false; + if(!DecayIn2(h1mom,h2mom)) return false; } h1->Set4Momentum(h1mom); h2->Set4Momentum(h2mom); - return true; + return true; } else if(a>2) { @@ -1316,7 +1324,7 @@ G4bool G4QNucleus::EvaporateBaryon(G4QHadron* h1, G4QHadron* h2) nBnd=mNeut-GSMass+GSResNn; // Binding energy for neutron G4double eMax=sqrt(mN2+np2m); #ifdef ppdebug - G4cout<<"G4QNucl::EvapBaryon: nm="< + +class G4QCoherentChargeExchange : public G4VDiscreteProcess +{ +public: + + // Constructor + G4QCoherentChargeExchange(const G4String& processName ="CHIPS_CoherChargeExScattering"); + + // Destructor + ~G4QCoherentChargeExchange(); + + G4bool IsApplicable(const G4ParticleDefinition& particle); + + G4double GetMeanFreePath(const G4Track& aTrack, G4double previousStepSize, + G4ForceCondition* condition); + // It returns the MeanFreePath of the process for the current track : + // (energy, material) + // The previousStepSize and G4ForceCondition* are not used. + // This function overloads a virtual function of the base class. + // It is invoked by the ProcessManager of the Particle. + + + G4VParticleChange* PostStepDoIt(const G4Track& aTrack, const G4Step& aStep); + // It computes the final state of the process (at end of step), + // returned as a ParticleChange object. + // This function overloads a virtual function of the base class. + // It is invoked by the ProcessManager of the Particle. + + + G4LorentzVector GetEnegryMomentumConservation(); + + G4int GetNumberOfNeutronsInTarget(); + +private: + + // Hide assignment operator as private + G4QCoherentChargeExchange& operator=(const G4QCoherentChargeExchange &right); + + // Copy constructor + G4QCoherentChargeExchange(const G4QCoherentChargeExchange&); + + // Calculate XS/t: oxs=true - only CS; xst=true - calculate XS, xst=false(oxs=f/t) - t/tm + G4double CalculateXSt(G4bool oxs, G4bool xst, G4double p, G4int Z, G4int N, G4int pPDG); + + // Calculate ChEx/El suppression coefficient + G4double ChExElCoef(G4double p, G4int Z, G4int N, G4int pPDG); + + // BODY + // Static Parameters -------------------------------------------------------------------- + static G4int nPartCWorld; // The#of particles for hadronization (limit of A of fragm.) + //--------------------------------- End of static parameters --------------------------- + // Working parameters + G4VQCrossSection* theCS; + G4LorentzVector EnMomConservation; // Residual of Energy/Momentum Cons. + G4int nOfNeutrons; // #of neutrons in the target nucleus + + // Modifires for the reaction + G4double Time; // Time shift of the capture reaction + G4double EnergyDeposition; // Energy deposited in the reaction + static std::vector ElementZ; // Z of the element(i) in theLastCalc + static std::vector ElProbInMat; // SumProbabilityElements in Material + static std::vector *> ElIsoN; // N of isotope(j) of Element(i) + static std::vector *> IsoProbInEl;// SumProbabIsotopes in Element i +}; +#endif + diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QCollision.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QCollision.hh index f10f3d6eb7..ce763697a1 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QCollision.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QCollision.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4QCollision.hh,v 1.7 2006/10/30 10:33:36 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCollision header ---------------- // by Mikhail Kossov, December 2003. diff --git a/source/processes/hadronic/util/include/G4ParticleVector.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QDiffractionRatio.hh similarity index 52% rename from source/processes/hadronic/util/include/G4ParticleVector.hh rename to source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QDiffractionRatio.hh index 321c470578..144ffd0fc8 100644 --- a/source/processes/hadronic/util/include/G4ParticleVector.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QDiffractionRatio.hh @@ -24,17 +24,59 @@ // ******************************************************************** // // +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// GEANT4 physics class: G4QDiffractionRatio -- header file +// M.V. Kossov, ITEP(Moscow), 24-OCT-01 +// The last update: M.V. Kossov, CERN/ITEP (Moscow) 15-Oct-2006 // -#ifndef G4ParticleVector_h -#define G4ParticleVector_h 1 +#ifndef G4QDiffractionRatio_h +#define G4QDiffractionRatio_h 1 #include "globals.hh" #include "G4ios.hh" -#include "G4DynamicParticle.hh" +#include "Randomize.hh" #include +//#include "G4DynamicParticle.hh" +//#include "G4Element.hh" +//#include "G4ParticleTable.hh" +//#include "G4NucleiProperties.hh" +//#include "G4NucleiPropertiesTable.hh" +#include "G4QPDGCode.hh" +#include "G4Quasmon.hh" +#include "G4QHadronVector.hh" +#include "G4VCrossSectionDataSet.hh" +#include "G4QElasticCrossSection.hh" +#include "G4RandomDirection.hh" -typedef std::vector G4ParticleVector; -struct DeleteDynamicParticle {void operator()(G4DynamicParticle*aP) {delete aP;}}; +class G4QDiffractionRatio +{ + protected: + + G4QDiffractionRatio() {} // Constructor + + public: + + ~G4QDiffractionRatio() {} // Destructor + + static G4QDiffractionRatio* GetPointer(); // Gives a pointer to this singletone + + // Diffraction/Prodaction Ratio (Production=Inelastic-QuasiElastic) + G4double GetRatio(G4double pIU, G4int prPDG, G4int tgZ, G4int tgN); + + // ==> The following ill be a protected function for internal CHIPS usage + // Fragment(pPDG,p4M) on a nucleus (tgZ, tgN), result: Vector of secondary hadrons + // Whoeve uses this member function is responsible for DEL/DESTROY of the G4QHadronVector + G4QHadronVector* Fragment(G4int pPDG, G4LorentzVector p4M, G4int tgZ, G4int tgN); + + private: + // These working member functions are in CHIPS units and must not be used externally + G4double CalcDiff2Prod_Ratio(G4double s, G4int A); // R=Diff/Prod (sqrt(s)(hN) in GeV, A) + + // Body + private: +}; #endif diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QElastic.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QElastic.hh index 66401a38b3..c26873faef 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QElastic.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QElastic.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QElastic.hh,v 1.2 2006/06/29 20:08:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4QElastic.hh,v 1.3 2007/05/23 15:14:25 mkossov Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QElastic header ---------------- // by Mikhail Kossov, December 2003. @@ -104,6 +104,9 @@ private: // Copy constructor G4QElastic(const G4QElastic&); + // Calculate XS/t: oxs=true - only CS; xst=true - calculate XS, xst=false(oxs=f/t) - t/tm + G4double CalculateXSt(G4bool oxs, G4bool xst, G4double p, G4int Z, G4int N, G4int pPDG); + // BODY // Static Parameters -------------------------------------------------------------------- static G4int nPartCWorld; // The#of particles for hadronization (limit of A of fragm.) diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QElasticCrossSection.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QElasticCrossSection.hh index 69b98caf83..a155f510d7 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QElasticCrossSection.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QElasticCrossSection.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 physics class: G4QElasticCrossSection -- header file @@ -48,16 +48,19 @@ #include "G4Electron.hh" #include "G4Positron.hh" #include "G4VQCrossSection.hh" +#include "G4QElastic.hh" +#include "G4QCoherentChargeExchange.hh" +#include "G4QuasiFreeRatios.hh" class G4QElasticCrossSection : public G4VQCrossSection { protected: - G4QElasticCrossSection() {} // Constructor + G4QElasticCrossSection(); // Constructor public: - ~G4QElasticCrossSection() {} + ~G4QElasticCrossSection(); static G4VQCrossSection* GetPointer(); // Gives a pointer to this singletone @@ -67,7 +70,10 @@ public: G4double CalculateCrossSection(G4bool CS, G4int F, G4int I, G4int pPDG, G4int Z, G4int N, G4double pP); - +protected: + friend class G4QElastic; + friend class G4QCoherentChargeExchange; + friend class G4QuasiFreeRatios; G4double GetExchangeT(G4int tZ, G4int tN, G4int pPDG); // Randomizes -t=Q2 (in IU=MeV^2) G4double GetHMaxT(); // Currrent Max(-t=Q2)/2. (in IU=MeV^2) @@ -120,5 +126,17 @@ private: static G4double* lastB3T; // E-dep of the slope of the third difruction static G4double* lastS4T; // E-dep of mantissa of the 4-th difruction static G4double* lastB4T; // E-dep of the slope of the 4-th difruction + + static std::vector PAR; // Vector of parameters for functional calculations + static std::vector CST; // Vector of cross-section table + static std::vector SST; // Vector of the first squared slope + static std::vector S1T; // Vector of the first mantissa + static std::vector B1T; // Vector of the first slope + static std::vector S2T; // Vector of the secon mantissa + static std::vector B2T; // Vector of the second slope + static std::vector S3T; // Vector of the third mantissa + static std::vector B3T; // Vector of the third slope + static std::vector S4T; // Vector of the 4-th mantissa (gloria) + static std::vector B4T; // Vector of the 4-th slope (gloria) }; #endif diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QElectronNuclearCrossSection.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QElectronNuclearCrossSection.hh index a309b8a26d..216b2df439 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QElectronNuclearCrossSection.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QElectronNuclearCrossSection.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 physics class: G4QElectronNuclearCrossSection -- header file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QGluonString.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QGluonString.hh index 746e73e2dd..68ef21e99c 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QGluonString.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QGluonString.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4QGluonString.hh,v 1.1 2006/10/30 10:33:38 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QGluonString header ---------------- // by Mikhail Kossov, October 2006. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QMuonNuclearCrossSection.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QMuonNuclearCrossSection.hh index fe4df4dd5e..fbf8fb5fb4 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QMuonNuclearCrossSection.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QMuonNuclearCrossSection.hh @@ -25,7 +25,7 @@ // // // $Id: G4QMuonNuclearCrossSection.hh,v 1.5 2006/12/01 10:57:46 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 physics class: G4QMuonNuclearCrossSection -- header file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QNuMuNuclearCrossSection.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QNuMuNuclearCrossSection.hh index 3e679a2fa9..e559384485 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QNuMuNuclearCrossSection.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QNuMuNuclearCrossSection.hh @@ -25,7 +25,7 @@ // // // $Id: G4QNuMuNuclearCrossSection.hh,v 1.6 2006/12/01 10:57:46 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 physics class: G4QNuMuNuclearCrossSection -- header file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QPhotonNuclearCrossSection.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QPhotonNuclearCrossSection.hh index d5bf318101..e1ccc857fa 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QPhotonNuclearCrossSection.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QPhotonNuclearCrossSection.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 physics class: G4QPhotonNuclearCrossSection -- header file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QProtonNuclearCrossSection.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QProtonNuclearCrossSection.hh index c5bb744e5b..b85fefc2e3 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QProtonNuclearCrossSection.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QProtonNuclearCrossSection.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 physics class: G4QProtonNuclearCrossSection -- header file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QTauNuclearCrossSection.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QTauNuclearCrossSection.hh index 16f25f4d88..3224893974 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QTauNuclearCrossSection.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QTauNuclearCrossSection.hh @@ -25,7 +25,7 @@ // // // $Id: G4QTauNuclearCrossSection.hh,v 1.5 2006/12/01 10:57:46 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 physics class: G4QTauNuclearCrossSection -- header file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QuasiFreeRatios.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QuasiFreeRatios.hh index 698b8e2c27..75861c14ba 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QuasiFreeRatios.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4QuasiFreeRatios.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 physics class: G4QuasiFreeRatios -- header file @@ -54,20 +54,29 @@ class G4QuasiFreeRatios { protected: - G4QuasiFreeRatios() {} // Constructor + G4QuasiFreeRatios(); // Constructor public: - ~G4QuasiFreeRatios() {} // Destructor + ~G4QuasiFreeRatios(); // Destructor static G4QuasiFreeRatios* GetPointer(); // Gives a pointer to this singletone // Pair(QuasiFree/Inelastic,QuasiElastic/QuasiFree) std::pair GetRatios(G4double pIU, G4int prPDG, G4int tgZ, G4int tgN); + // ChargeExchange/QuasiElastic factor pair + std::pair GetChExFactor(G4double pIU, G4int pPDG, G4int Z, G4int N); // scatter (pPDG,p4M) on a virtual nucleon (NPDG,N4M), result: final pair(newN4M,newp4M) // if(newN4M.e()==0.) - below threshold, XS=0, no scattering of the progectile happened std::pair Scatter(G4int NPDG, G4LorentzVector N4M, G4int pPDG, G4LorentzVector p4M); + // ChExer (pPDG,p4M) on a virtual nucleon (NPDG,N4M), result: final pair(newN4M,newp4M) + // if(newN4M.e()==0.) - keep projectile, XS=0, no interaction of the progectile happened + // User should himself change the charge (PDG) (e.g. pn->np, pi+n->pi0p, pi-p->pi0n etc.) + // Recepy: change target n to p or taget p to n and conserve enrgy, changing projectile + // Do not use for the nucleon, as it is already included in quasielastic, and for pi0. + std::pair ChExer(G4int NPDG, G4LorentzVector N4M, + G4int pPDG, G4LorentzVector p4M); // Mean hN El and Tot XS(IU) for the isotopic (Z,N): on p -> (Z=1,N=0), on n -> (Z=0,N=1) std::pair GetElTot(G4double pIU, G4int hPDG, G4int Z, G4int N); //(IU) @@ -80,5 +89,9 @@ class G4QuasiFreeRatios // Body private: + static std::vector vE; // Vector of ElastPointers to LogTable + static std::vector vT; // Vector of pointers to LinTable + static std::vector vL; // Vector of pointers to LogTable + static std::vector*> vX; // Vector of ETPointers to LogTable }; #endif diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4VQCrossSection.hh b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4VQCrossSection.hh index edf25dd097..2a0a180a5e 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4VQCrossSection.hh +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/include/G4VQCrossSection.hh @@ -25,7 +25,7 @@ // // // $Id: G4VQCrossSection.hh,v 1.8 2006/12/09 14:33:35 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 virtual class: G4VQCrossSection -- header file diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QANuMuNuclearCrossSection.cc b/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QANuMuNuclearCrossSection.cc index 8f9a9e9109..eb413aded0 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QANuMuNuclearCrossSection.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QANuMuNuclearCrossSection.cc @@ -25,7 +25,7 @@ // // // $Id: G4QANuMuNuclearCrossSection.cc,v 1.9 2006/12/01 10:57:46 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Physics class: G4QANuMuNuclearCrossSection for gamma+A cross sections diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QAtomicElectronScattering.cc b/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QAtomicElectronScattering.cc index 502633a6a0..dad4f7e273 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QAtomicElectronScattering.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QAtomicElectronScattering.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4QAtomicElectronScattering.cc,v 1.2 2006/12/13 15:45:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QAtomicElectronScattering class ----------------- // by Mikhail Kossov, December 2003. diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QCaptureAtRest.cc b/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QCaptureAtRest.cc index 8ca21703ec..3e49aa4d7a 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QCaptureAtRest.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QCaptureAtRest.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QCaptureAtRest.cc,v 1.11 2007/03/09 10:07:35 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4QCaptureAtRest.cc,v 1.12 2007/04/20 15:50:56 mkossov Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QCaptureAtRest class ----------------- // by Mikhail Kossov, December 2003. @@ -701,7 +701,7 @@ G4VParticleChange* G4QCaptureAtRest::AtRestDoIt(const G4Track& track, const G4St cascT->push_back(aNewTrack); } // ----- Ericson mu to pi conversion ----- ????? ----- - if(G4UniformRand()<.025) // .025 is a parameter ! + if(G4UniformRand()<.04) // .04 is a parameter ! { projPDG=-211; // Phase space decay of mu->nu+q+aq M=1 diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QCoherentChargeExchange.cc b/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QCoherentChargeExchange.cc new file mode 100644 index 0000000000..9c721ce4ea --- /dev/null +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QCoherentChargeExchange.cc @@ -0,0 +1,599 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4QCoherentChargeExchange.cc,v 1.3 2007/05/23 15:14:25 mkossov Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ---------------- G4QCoherentChargeExchange class ----------------- +// by Mikhail Kossov, December 2003. +// G4QCoherentChargeExchange class of the CHIPS Simulation Branch in GEANT4 +// --------------------------------------------------------------- +// **************************************************************************************** +// ********** This CLASS is temporary moved from the photolepton_hadron directory ********* +// **************************************************************************************** + +//#define debug +//#define pdebug +//#define tdebug +//#define nandebug +//#define ppdebug + +#include "G4QCoherentChargeExchange.hh" + +// Initialization of static vectors +G4int G4QCoherentChargeExchange::nPartCWorld=152; // #of particles initialized in CHIPS +std::vector G4QCoherentChargeExchange::ElementZ; // Z of element(i) in theLastCalc +std::vector G4QCoherentChargeExchange::ElProbInMat; // SumProbOfElem in Material +std::vector*> G4QCoherentChargeExchange::ElIsoN;// N of isotope(j), E(i) +std::vector*>G4QCoherentChargeExchange::IsoProbInEl;//SumProbIsotE(i) + +// Constructor +G4QCoherentChargeExchange::G4QCoherentChargeExchange(const G4String& processName) + : G4VDiscreteProcess(processName) +{ +#ifdef debug + G4cout<<"G4QCohChargeEx::Constructor is called processName="<0) G4cout << GetProcessName() << " process is created "<< G4endl; + + //G4QCHIPSWorld::Get()->GetParticles(nPartCWorld); // Create CHIPS World (234 part. max) +} + +// Destructor +G4QCoherentChargeExchange::~G4QCoherentChargeExchange() {} + + +G4LorentzVector G4QCoherentChargeExchange::GetEnegryMomentumConservation() + {return EnMomConservation;} + +G4int G4QCoherentChargeExchange::GetNumberOfNeutronsInTarget() {return nOfNeutrons;} + +// output of the function must be in units of length! L=1/sig_V,sig_V=SUM(n(j,i)*sig(j,i)), +// where n(i,j) is a number of nuclei of the isotop j of the element i in V=1(lengtUnit^3) +// ********** All CHIPS cross sections are calculated in the surface units ************ +G4double G4QCoherentChargeExchange::GetMeanFreePath(const G4Track& aTrack,G4double Q, + G4ForceCondition* Fc) +{ + *Fc = NotForced; + const G4DynamicParticle* incidentParticle = aTrack.GetDynamicParticle(); + G4ParticleDefinition* incidentParticleDefinition=incidentParticle->GetDefinition(); + if( !IsApplicable(*incidentParticleDefinition)) + G4cout<<"*W*G4QCohChargeEx::GetMeanFreePath called for notImplementedParticle"<GetTotalMomentum(); // 3-momentum of the Particle +#ifdef debug + G4double KinEn = incidentParticle->GetKineticEnergy(); + G4cout<<"G4QCohChEx::GetMeanFreePath: kinE="<GetVecNbOfAtomsPerVolume(); + const G4ElementVector* theElementVector = material->GetElementVector(); + G4int nE=material->GetNumberOfElements(); +#ifdef debug + G4cout<<"G4QCohChargeExchange::GetMeanFreePath:"<* SPI=IsoProbInEl[ip]; // Pointer to the SPI vector + SPI->clear(); + delete SPI; + std::vector* IsN=ElIsoN[ip]; // Pointer to the N vector + IsN->clear(); + delete IsN; + } + ElProbInMat.clear(); // Clean up the SumProb's of Elements (SPE) + ElementZ.clear(); // Clear the body vector for Z of Elements + IsoProbInEl.clear(); // Clear the body vector for SPI + ElIsoN.clear(); // Clear the body vector for N of Isotopes + for(G4int i=0; i(pElement->GetZ()); // Z of the Element + ElementZ.push_back(Z); // Remember Z of the Element + G4int isoSize=0; // The default for the isoVectorLength is 0 + G4int indEl=0; // Index of non-natural element or 0(default) + G4IsotopeVector* isoVector=pElement->GetIsotopeVector(); // Get the predefined IsoVect + if(isoVector) isoSize=isoVector->size();// Get size of the existing isotopeVector +#ifdef debug + G4cout<<"G4QCoherentChargeExchange::GetMeanFreePath:isovectorLength="<GetIndex()+1; // Index of the non-trivial element is an order +#ifdef debug + G4cout<<"G4QCCX::GetMFP: iE="<* pr= new std::pair(N,abund); +#ifdef debug + G4cout<<"G4QCohChEx::GetMeanFreePath:pair#="<push_back(pr); + } +#ifdef debug + G4cout<<"G4QCohChEx::GetMeanFreePath: pairVectorLength="<size()<InitElement(Z,indEl,newAbund); // definition of the newInd + for(G4int k=0; k*>* cs= Isotopes->GetCSVector(Z,indEl);//CSPointer + std::vector* SPI = new std::vector; // Pointer to the SPI vector + IsoProbInEl.push_back(SPI); + std::vector* IsN = new std::vector; // Pointer to the N vector + ElIsoN.push_back(IsN); + G4int nIs=cs->size(); // A#Of Isotopes in the Element +#ifdef debug + G4cout<<"G4QCohChargEx::GMFP:=***=>,#isot="<="<GetMeanCrossSection(Z,indEl)<<",AddToSigma=" + <GetMeanCrossSection(Z,indEl)*NOfNucPerVolume[i]<>G4QCoherChargeExch::IsApplicable: PDG="<GetParticles(nPartCWorld); // Create CHIPS World (234 part.max) + } + //------------------------------------------------------------------------------------- + const G4DynamicParticle* projHadron = track.GetDynamicParticle(); + const G4ParticleDefinition* particle=projHadron->GetDefinition(); +#ifdef debug + G4cout<<"G4QCohChargeExchange::PostStepDoIt: Before the GetMeanFreePath is called In4M=" + <Get4Momentum()<<" of PDG="<GetPDGEncoding()<<", Type=" + <GetParticleType()<<", Subtp="<GetParticleSubType()<Get4Momentum())/MeV; // Convert to MeV! + G4double momentum = projHadron->GetTotalMomentum()/MeV; // 3-momentum of the Proj in MeV + G4double Momentum = proj4M.rho(); // @@ Just for the test purposes + if(std::fabs(Momentum-momentum)>.000001) + G4cerr<<"*Warning*G4QCohChEx::PostStepDoIt:P(IU)="<GetElementVector(); + G4int nE=material->GetNumberOfElements(); +#ifdef debug + G4cout<<"G4QCohChargeExchange::PostStepDoIt: "<GetPDGEncoding(); + G4cout<<"G4QCohChrgExchange::PostStepDoIt: projPDG="<size(); // #of isotopes in the element i +#ifdef debug + G4cout<<"G4QCohChargeExchange::PosStDoIt:nI="<1) + { + G4double rndI=(*SPI)[nofIsot-1]*G4UniformRand(); // Randomize the isotop of the Element + for(j=0; jN="<GetKineticEnergy()*MeV; // Kin energy in MeV (Is *MeV n?) + G4ParticleMomentum dir = projHadron->GetMomentumDirection();// It is a unit three-vector + G4LorentzVector tot4M=proj4M+G4LorentzVector(0.,0.,0.,tM); // Total 4-mom of the reaction +#ifdef debug + G4cout<<"G4QCohChrgEx::PostStepDoIt: tM="<1.) cost=1.; + else if(cost<-1.) cost=-1.; + } + G4LorentzVector reco4M=G4LorentzVector(0.,0.,0.,tM); // 4mom of the recoil target + G4LorentzVector scat4M=G4LorentzVector(0.,0.,0.,pM); // 4mom of the recoil target + G4LorentzVector dir4M=tot4M-G4LorentzVector(0.,0.,0.,(tot4M.e()-tM-pM)*.01); + if(!G4QHadron(tot4M).RelDecayIn2(scat4M, reco4M, dir4M, cost, cost)) + { + G4cerr<<"G4QCohChEx::PSDI:t4M="<Set4Momentum(reco4M); +#ifdef debug + G4ThreeVector curD=theSec->GetMomentumDirection(); + G4double curM=theSec->GetMass(); + G4double curE=theSec->GetKineticEnergy()+curM; + G4cout<<"G4QCohChEx::PostStpDoIt:p="<SetTouchableHandle(trTouchable); + aParticleChange.AddSecondary( aNewTrack ); +#ifdef debug + G4cout<<"G4QCoherentChargeExchange::PostStepDoIt:*** PostStepDoIt is done ***"<GetCrossSection(true, p, Z, N, pPDG); // XS for isotope + res*=ChExElCoef(p, Z, N, pPDG); + } + else if(!oxs && xst) // Calculate Cross-Section & prepare differential + { + res=CSmanager->GetCrossSection(false, p, Z, N, pPDG);// XS for isotope + init t-distr. + res*=ChExElCoef(p, Z, N, pPDG); // @@ is that necessary? + // The XS for the nucleus must be calculated the last + init=true; + } + else if(init) // Return t-value for scattering (=G4QElastic) + { + if(oxs) res=CSmanager->GetHMaxT(); // Calculate the max_t value + else res=CSmanager->GetExchangeT(Z, N, pPDG); // fanctionally randomized -t in MeV^2 + } + else G4cout<<"*Warning*G4QCohChrgExchange::CalculateXSt: NotInitiatedScattering"<sma -> logTab + static const G4double ds=sma/nps; // Step of the linear Table + static const G4int nls=150; // Number of steps in the R(lns) logTable + static const G4int mls=nls+1; // Number of elements in the R(lns) logTable + static const G4double lsi=1.79; // The min ln(sqs) logTabEl(sqs=5.99 < sma=6.) + static const G4double lsa=8.; // The max ln(sqs) logTabEl(sqs=5.99 - 2981 GeV) + static const G4double mi=std::exp(lsi);// The min s of logTabEl(~ 5.99 GeV) + static const G4double ms=std::exp(lsa);// The max s of logTabEl(~ 2981 GeV) + static const G4double dl=(lsa-lsi)/nls;// Step of the logarithmic Table + static const G4double edl=std::exp(dl);// Multiplication step of the logarithmic Table + static const G4double toler=.0001; // Tolarence (GeV) defining the same sqs + static G4double lastS=0.; // Last sqs value for which R was calculated + static G4double lastR=0.; // Last ratio R which was calculated + // Local Associative Data Base: + static std::vector vA; // Vector of calculated A + static std::vector vH; // Vector of max sqs initialized in the LinTable + static std::vector vN; // Vector of topBin number initialized in LinTable + static std::vector vM; // Vector of relMax ln(sqs) initialized in LogTable + static std::vector vK; // Vector of topBin number initialized in LogTable + static std::vector vT; // Vector of pointers to LinTable in C++ heap + static std::vector vL; // Vector of pointers to LogTable in C++ heap + // Last values of the Associative Data Base: + static G4int lastPDG=0; // Last PDG for which R was calculated (now indep) + static G4int lastA=0; // theLast of calculated A + static G4double lastH=0.; // theLast of max sqs initialized in the LinTable + static G4int lastN=0; // theLast of topBin number initialized in LinTable + static G4double lastM=0.; // theLast of relMax ln(sqs) initialized in LogTab. + static G4int lastK=0; // theLast of topBin number initialized in LogTable + static G4double* lastT=0; // theLast of pointer to LinTable in the C++ heap + static G4double* lastL=0; // theLast of pointer to LogTable in the C++ heap + // LogTable is created only if necessary. R(sqs>2981GeV) calcul by formula for any nuclei + G4int A=tgN+tgZ; + if(pIU238) + { + G4cout<<"-*-Warning-*-G4QuasiFreeRatio::GetRatio: A="<238, return zero"<ms) + { + lastR=CalcDiff2Prod_Ratio(s,A); // @@ Probably user ought to be notified about bigS + return lastR; + } + G4bool found=false; + G4int i=-1; + if(nDB) for (i=0; i(s/ds)+1; // MaxBin to be initialized + if(lastN>nps) + { + lastN=nps; + lastH=sma; + } + else lastH = lastN*ds; // Calculate max initialized s for LinTab + G4double sv=0; + lastT[0]=1.; + for(G4int j=1; j<=lastN; j++) // Calculate LinTab values + { + sv+=ds; + lastT[j]=CalcDiff2Prod_Ratio(sv,A); + } + if(s>sma) // Initialize the logarithmic Table + { + lastL=new G4double[mls]; // Create the logarithmic Table + G4double ls=std::log(s); + lastK = static_cast((ls-lsi)/dl)+1; // MaxBin to be initialized in LogTaB + if(lastK>nls) + { + lastK=nls; + lastM=lsa-lsi; + } + else lastM = lastK*dl; // Calculate max initialized ln(s)-lsi for LogTab + sv=mi; + for(G4int j=0; j<=lastK; j++) // Calculate LogTab values + { + lastL[j]=CalcDiff2Prod_Ratio(sv,A); + if(j!=lastK) sv*=edl; + } + } + else // LogTab is not initialized + { + lastL = 0; + lastK = 0; + lastM = 0.; + } + i++; // Make a new record to AMDB and position on it + vA.push_back(lastA); + vH.push_back(lastH); + vN.push_back(lastN); + vM.push_back(lastM); + vK.push_back(lastK); + vT.push_back(lastT); + vL.push_back(lastL); + } + else // The A value was found in AMDB + { + lastA=vA[i]; + lastH=vH[i]; + lastN=vN[i]; + lastM=vM[i]; + lastK=vK[i]; + lastT=vT[i]; + lastL=vL[i]; + if(s>lastM) // At least LinTab must be updated + { + G4int nextN=lastN+1; // The next bin to be initialized + if(lastN(s/ds)+1;// MaxBin to be initialized + if(lastN>nps) + { + lastN=nps; + lastH=sma; + } + else lastH = lastN*ds; // Calculate max initialized s for LinTab + G4double sv=lastM; + for(G4int j=nextN; j<=lastN; j++)// Calculate LogTab values + { + sv+=ds; + lastT[j]=CalcDiff2Prod_Ratio(sv,A); + } + } // End of LinTab update + if(lastN>=nextN) + { + vH[i]=lastH; + vN[i]=lastN; + } + G4int nextK=lastK+1; + if(s>sma && lastK((ls-lsi)/dl)+1; // MaxBin to be initialized in LogTaB + if(lastK>nls) + { + lastK=nls; + lastM=lsa-lsi; + } + else lastM = lastK*dl; // Calculate max initialized ln(s)-lsi for LogTab + for(G4int j=nextK; j<=lastK; j++)// Calculate LogTab values + { + sv*=edl; + lastL[j]=CalcDiff2Prod_Ratio(sv,A); + } + } // End of LogTab update + if(lastK>=nextK) + { + vM[i]=lastM; + vK[i]=lastK; + } + } + } + // Now one can use tabeles to calculate the value + if(s(s/ds); // Low edge number of the bin + G4double d=s-n*ds; // Linear shift + G4double v=lastT[n]; // Base + lastR=v+d*(lastT[n+1]-v)/ds; // Result + } + else // Use log table + { + G4double ls=std::log(s)-lsi; // ln(s)-l_min + G4int n=static_cast(ls/dl); // Low edge number of the bin + G4double d=ls-n*dl; // Log shift + G4double v=lastL[n]; // Base + lastR=v+d*(lastL[n+1]-v)/dl; // Result + } + if(lastR<0.) lastR=0.; + if(lastR>1.) lastR=1.; + return lastR; +} // End of CalcDiff2Prod_Ratio + +// Calculate Diffraction/Production Ratio as a function of total sq(s)(hN) (in GeV), A=Z+N +G4double G4QDiffractionRatio::CalcDiff2Prod_Ratio(G4double s, G4int A) +{ + static G4int mA=0; + static G4double S=.1; // s=SQRT(M_N^2+M_h^2+2*E_h*M_N) + static G4double R=0.; // Prototype of the result + static G4double p1=0.; + static G4double p2=0.; + static G4double p4=0.; + static G4double p5=0.; + static G4double p6=0.; + static G4double p7=0.; + if(s<=0. || A<=1) return 0.; + if(A!=mA && A!=1) + { + mA=A; + G4double a=mA; + G4double sa=std::sqrt(a); + G4double a2=a*a; + G4double a3=a2*a; + G4double a4=a3*a; + G4double a5=a4*a; + G4double a6=a5*a; + G4double a7=a6*a; + G4double a8=a7*a; + G4double a11=a8*a3; + G4double a12=a8*a4; + G4double p=std::pow(a,0.37); + p1=(.023*p+3.5/a3+2.1e6/a12+4.e-14*a5)/(1.+7.6e-4*a*sa+2.15e7/a11); + p2=(1.42*std::pow(a,0.61)+1.6e5/a8+4.5e-8*a4)/(1.+4.e-8*a4+1.2e4/a6); + G4double q=std::pow(a,0.7); + p4=(.036/q+.0009*q)/(1.+6./a3+1.e-7*a3); + p5=1.3*std::pow(a,0.1168)/(1.+1.2e-8*a3); + p6=.00046*(a+11830./a2); + p7=1./(1.+6.17/a2+.00406*a); + } + else if(A==1 && mA!=1) + { + p1=.0315; + p2=.73417; + p4=.01109; + p5=1.0972; + p6=.065787; + p7=.62976; + } + else if(std::fabs(s-S)/S<.0001) return R; + G4double s2=s*s; + G4double s4=s2*s2; + G4double dl=std::log(s)-p5; + R=1./(1.+1./(p1+p2/s4+p4*dl*dl/(1.+p6*std::pow(s,p7)))); + return R; +} // End of CalcQF2IN_Ratio + +G4QHadronVector* G4QDiffractionRatio::Fragment(G4int pPDG, G4LorentzVector p4M, + G4int tgZ, G4int tgN) +{ + static const G4double pFm= 250.; // Fermi momentum in MeV (delta function) + static const G4double pFm2= pFm*pFm; // Squared Fermi momentum in MeV^2 (delta function) + static const G4double mPi0= G4QPDGCode(111).GetMass(); // pi0 mass (MeV =min diffraction) + static const G4double mNeut= G4QPDGCode(2112).GetMass(); + static const G4double mNeut2=mNeut*mNeut; + static const G4double dmNeut=mNeut+mNeut; + static const G4double mProt= G4QPDGCode(2212).GetMass(); + static const G4double mProt2=mProt*mProt; + static const G4double dmProt=mProt+mProt; + G4LorentzVector pr4M=p4M/megaelectronvolt; // Convert 4-momenta in MeV (keep p4M) + // prepare the DONOTHING answer + G4QHadronVector* ResHV = new G4QHadronVector;// !! MUST BE DESTROYE/DDELETER by CALLER !! + G4QHadron* hadron = new G4QHadron(pPDG,p4M); // Hadron for not scattered projectile + ResHV->push_back(hadron); // It must be cleaned up for real scattering sec + // @@ diffraction is simulated as noncoherent (coherent is small) + G4int tgA=tgZ+tgN; // A of the target + G4int tPDG=90000000+tgZ*1000+tgN; // PDG code of the targetNucleus/recoilNucleus + G4double tgM=G4QPDGCode(tPDG).GetMass(); // Mass of the target nucleus + G4int rPDG=2112; // prototype of PDG code of the recoiled nucleon + if(tgA*G4UniformRand()>tgN) // Substitute by a proton + { + rPDG=2212; // PDG code of the recoiled QF nucleon + tPDG-=1000; // PDG code of the recoiled nucleus + } + else tPDG-=1; // PDG code of the recoiled nucleus + G4double tM=G4QPDGCode(tPDG).GetMass(); // Mass of the recoiled nucleus + G4double tE=std::sqrt(tM*tM+pFm2); + G4ThreeVector tP=pFm*G4RandomDirection(); + G4LorentzVector t4M(tP,tE); // 4M of the recoil nucleus + G4LorentzVector tg4M(0.,0.,0.,tgM); + G4LorentzVector N4M=tg4M-t4M; // Quasi-free target nucleon + G4LorentzVector tot4M=N4M+p4M; // total momentum of quasi-free diffraction + G4double mT=mNeut; + G4double mT2=mNeut2; // Squared mass of the free nucleon spectator + G4double dmT=dmNeut; + G4int Z=0; + G4int N=1; + if(rPDG==2212) + { + mT=mProt; + mT2=mProt2; + dmT=dmProt; + Z=1; + N=0; + } + G4double mP2=pr4M.m2(); // Squared mass of the projectile + if(mP2<0.) mP2=0.; // A possible problem for photon (m_min = 2*m_pi0) + G4double s=tot4M.m2(); // @@ Check <0 ... + G4double E=(s-mT2-mP2)/dmT; // Effective interactin energy (virt. nucl. target) + G4double E2=E*E; + if(E<0. || E2-.0000001); // To make the Warning for NAN + else G4cout<<"******G4QDiffR::Frag:-t="<size(); // A#of collected hadrons from diff.frag. | + if(qNH) for(G4int iq=0; iqpush_back(loh); // Fill in the result | + } // | + delete leadhs; // <----<----<----<----<----<----<----<----<----<----<----<----<----<--* + + return ResHV; // Result +} // End of Scatter diff --git a/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QElastic.cc b/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QElastic.cc index 5336d22072..521b50781d 100644 --- a/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QElastic.cc +++ b/source/processes/hadronic/models/chiral_inv_phase_space/interface/src/G4QElastic.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4QElastic.cc,v 1.21 2007/03/16 10:05:05 mkossov Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4QElastic.cc,v 1.23 2007/05/23 15:14:25 mkossov Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------- G4QElastic class ----------------- // by Mikhail Kossov, December 2003. @@ -140,12 +140,12 @@ G4double G4QElastic::GetMeanFreePath(const G4Track& aTrack,G4double Q,G4ForceCon for(G4int j=0; jGetIsotope(j)->GetN()-Z; // N means A=N+Z ! - if(pElement->GetIsotope(j)->GetZ()!=Z)G4cerr<<"G4QCaptureAtRest::GetMeanFreePath" - <<": Z="<GetIsotope(j)->GetZ()<<"#"<GetIsotope(j)->GetZ()!=Z)G4cerr<<"G4QElastic::GetMeanFreePath: Z=" + <GetIsotope(j)->GetZ()<<"#"<* pr= new std::pair(N,abund); #ifdef debug - G4cout<<"G4QElastic::GetMeanFreePath:pair#="<* IsN = ElIsoN[i]; // Vector of "#of neutrons" in the isotope El[i] G4int nofIsot=SPI->size(); // #of isotopes in the element i #ifdef debug - G4cout<<"G4QElastic::PosStDoIt:n="< G4QElasticCrossSection::PAR; // Vector of parameters for functional calculations +std::vector G4QElasticCrossSection::CST; // Vector of cross-section table +std::vector G4QElasticCrossSection::SST; // Vector of the first squared slope +std::vector G4QElasticCrossSection::S1T; // Vector of the first mantissa +std::vector G4QElasticCrossSection::B1T; // Vector of the first slope +std::vector G4QElasticCrossSection::S2T; // Vector of the secon mantissa +std::vector G4QElasticCrossSection::B2T; // Vector of the second slope +std::vector G4QElasticCrossSection::S3T; // Vector of the third mantissa +std::vector G4QElasticCrossSection::B3T; // Vector of the third slope +std::vector G4QElasticCrossSection::S4T; // Vector of the 4-th mantissa (gloria) +std::vector G4QElasticCrossSection::B4T; // Vector of the 4-th slope (gloria) + +G4QElasticCrossSection::G4QElasticCrossSection() +{ +} + +G4QElasticCrossSection::~G4QElasticCrossSection() +{ + std::vector::iterator pos; + for (pos=CST.begin(); pos PIN; // Vector of max initialized log(P) in the table - static std::vector PAR; // Vector of parameters for functional calculations - static std::vector CST; // Vector of cross-section table - static std::vector SST; // Vector of the first squared slope - static std::vector S1T; // Vector of the first mantissa - static std::vector B1T; // Vector of the first slope - static std::vector S2T; // Vector of the secon mantissa - static std::vector B2T; // Vector of the second slope - static std::vector S3T; // Vector of the third mantissa - static std::vector B3T; // Vector of the third slope - static std::vector S4T; // Vector of the 4-th mantissa (gloria) - static std::vector B4T; // Vector of the 4-th slope (gloria) // *** End of Static Definitions (Associative Memory Data Base) *** if(tgZ==0 && tgN==1) // Temporary change for Quasi-Elastic { @@ -325,7 +368,7 @@ G4double G4QElasticCrossSection::CalculateCrossSection(G4bool CS,G4int F,G4int I #endif if(lastLP>lastPIN && lastLP G4QuasiFreeRatios::vE; // Vector of ElastPointers to LogTable in C++ heap +std::vector G4QuasiFreeRatios::vT; // Vector of pointers to LinTable in C++ heap +std::vector G4QuasiFreeRatios::vL; // Vector of pointers to LogTable in C++ heap +std::vector*> G4QuasiFreeRatios::vX; // Vector of ETPointers to LogTable + +G4QuasiFreeRatios::G4QuasiFreeRatios() +{ +} + +G4QuasiFreeRatios::~G4QuasiFreeRatios() +{ + std::vector::iterator pos; + for(pos=vE.begin(); pos*>::iterator pos2; + for(pos2=vX.begin(); pos2 vN; // Vector of topBin number initialized in LinTable static std::vector vM; // Vector of rel max ln(s) initialized in LogTable static std::vector vK; // Vector of topBin number initialized in LogTable - static std::vector vT; // Vector of pointers to LinTable in C++ heap - static std::vector vL; // Vector of pointers to LogTable in C++ heap // Last values of the Associative Data Base: static G4int lastA=0; // theLast of calculated A static G4double lastH=0.; // theLast of max s initialized in the LinTable @@ -545,8 +572,6 @@ std::pair G4QuasiFreeRatios::FetchElTot(G4double p, G4int PDG static std::vector vI; // Vector of index for which XS was calculated static std::vector vM; // Vector of rel max ln(p) initialized in LogTable static std::vector vK; // Vector of topBin number initialized in LogTable - static std::vector vE; // Vector of ElastPointers to LogTable in C++ heap - static std::vector*> vX; // Vector of ETPointers to LogTable // Last values of the Associative Data Base: static G4int lastI=0; // The Last index for which XS was calculated static G4double lastM=0.; // The Last rel max ln(p) initialized in LogTable @@ -687,12 +712,54 @@ std::pair G4QuasiFreeRatios::GetElTot(G4double pIU, G4int hPD G4cout<<"-Warning-G4QuasiFreeRatio::GetElTot:Z="< pA=FetchElTot(pGeV, hPDG, true); - std::pair nA=FetchElTot(pGeV, hPDG, false); + std::pair hp=FetchElTot(pGeV, hPDG, true); + std::pair hn=FetchElTot(pGeV, hPDG, false); G4double A=(Z+N)/millibarn; // To make the result in independent units(IU) - return std::make_pair((Z*pA.first+N*nA.first)/A,(Z*pA.second+N*nA.second)/A); + return std::make_pair((Z*hp.first+N*hn.first)/A,(Z*hp.second+N*hn.second)/A); } // End of GetElTot +// (Mean Elastic and Mean Total) Cross-Sections (mb) for PDG+(Z,N) at P=p[GeV/c] +std::pair G4QuasiFreeRatios::GetChExFactor(G4double pIU, G4int hPDG, + G4int Z, G4int N) +{ + G4double pGeV=pIU/gigaelectronvolt; + G4double resP=0.; + G4double resN=0.; + if(Z<1 && N<1) + { + G4cout<<"-Warning-G4QuasiFreeRatio::GetChExF:Z="<.5) + { + mult=1./(1.+std::log(pGeV+pGeV))/pGeV; + if(mult>1.) mult=1.; + } + if(pf) + { + std::pair hp=FetchElTot(pGeV, hPDG, true); + resP=pf*(hp.second/hp.first-1.)*mult; + } + if(nf) + { + std::pair hn=FetchElTot(pGeV, hPDG, false); + resN=nf*(hn.second/hn.first-1.)*mult; + } + return std::make_pair(resP,resN); +} // End of GetChExFactor + // scatter (pPDG,p4M) on a virtual nucleon (NPDG,N4M), result: final pair(newN4M,newp4M) // if(newN4M.e()==0.) - below threshold, XS=0, no scattering of the progectile happened std::pair G4QuasiFreeRatios::Scatter(G4int NPDG, @@ -744,7 +811,7 @@ std::pair G4QuasiFreeRatios::Scatter(G4int NPDG #endif #ifdef nandebug if(xSec>0. || xSec<0. || xSec==0); - else G4cout<<"******G4QElast::Scatter:xSec="< -8.0 ) + { + value2 = value*value; + + fact1 = 57568490574.0 + value2*(-13362590354.0 + + value2*( 651619640.7 + + value2*(-11214424.18 + + value2*( 77392.33017 + + value2*(-184.9052456 ) ) ) ) ); + + fact2 = 57568490411.0 + value2*( 1029532985.0 + + value2*( 9494680.718 + + value2*(59272.64853 + + value2*(267.8532712 + + value2*1.0 ) ) ) ); + + bessel = fact1/fact2; + } + else + { + arg = 8.0/modvalue; + + value2 = arg*arg; + + shift = modvalue-0.785398164; + + fact1 = 1.0 + value2*(-0.1098628627e-2 + + value2*(0.2734510407e-4 + + value2*(-0.2073370639e-5 + + value2*0.2093887211e-6 ) ) ); + + fact2 = -0.1562499995e-1 + value2*(0.1430488765e-3 + + value2*(-0.6911147651e-5 + + value2*(0.7621095161e-6 + - value2*0.934945152e-7 ) ) ); + + bessel = sqrt(0.636619772/modvalue)*(cos(shift)*fact1 - arg*sin(shift)*fact2 ); + } + return bessel; +} + +///////////////////////////////////////////////////////////// +// +// Bessel J1 function based on rational approximation from +// J.F. Hart, Computer Approximations, New York, Willey 1968, p. 141 + +inline G4double G4DiffuseElastic::BesselJone(G4double value) +{ + G4double modvalue, value2, fact1, fact2, arg, shift, bessel; + + modvalue = fabs(value); + + if ( modvalue < 8.0 ) + { + value2 = value*value; + + fact1 = value*(72362614232.0 + value2*(-7895059235.0 + + value2*( 242396853.1 + + value2*(-2972611.439 + + value2*( 15704.48260 + + value2*(-30.16036606 ) ) ) ) ) ); + + fact2 = 144725228442.0 + value2*(2300535178.0 + + value2*(18583304.74 + + value2*(99447.43394 + + value2*(376.9991397 + + value2*1.0 ) ) ) ); + bessel = fact1/fact2; + } + else + { + arg = 8.0/modvalue; + + value2 = arg*arg; + + shift = modvalue - 2.356194491; + + fact1 = 1.0 + value2*( 0.183105e-2 + + value2*(-0.3516396496e-4 + + value2*(0.2457520174e-5 + + value2*(-0.240337019e-6 ) ) ) ); + + fact2 = 0.04687499995 + value2*(-0.2002690873e-3 + + value2*( 0.8449199096e-5 + + value2*(-0.88228987e-6 + + value2*0.105787412e-6 ) ) ); + + bessel = sqrt( 0.636619772/modvalue)*(cos(shift)*fact1 - arg*sin(shift)*fact2); + + if (value < 0.0) bessel = -bessel; + } + return bessel; +} + +//////////////////////////////////////////////////////////////////// +// +// damp factor in diffraction x*pi/sh(x*pi) + +inline G4double G4DiffuseElastic::DampFactor(G4double x) +{ + G4double df; + G4double f2 = 2., f3 = 6., f4 = 24.; // first factorials + + // x *= pi; + + if( std::fabs(x) < 0.01 ) + { + df = 1./(1. + x/f2 + x*x/f3 + x*x*x/f4); + } + else + { + df = x/std::sinh(x); + } + return df; +} + + +//////////////////////////////////////////////////////////////////// +// +// return J1(x)/x with special case for small x + +inline G4double G4DiffuseElastic::BesselOneByArg(G4double x) +{ + G4double x2, result; + + if( std::fabs(x) < 0.01 ) + { + x *= 0.5; + x2 = x*x; + result = 2. - x2 + x2*x2/6.; + } + else + { + result = BesselJone(x)/x; + } + return result; +} + +#endif diff --git a/source/processes/hadronic/models/coherent_elastic/include/G4ElasticHadrNucleusHE.hh b/source/processes/hadronic/models/coherent_elastic/include/G4ElasticHadrNucleusHE.hh index 4a653201f8..8ff5f64753 100644 --- a/source/processes/hadronic/models/coherent_elastic/include/G4ElasticHadrNucleusHE.hh +++ b/source/processes/hadronic/models/coherent_elastic/include/G4ElasticHadrNucleusHE.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ElasticHadrNucleusHE.hh,v 1.34 2007/04/02 08:32:00 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4ElasticHadrNucleusHE.hh,v 1.41 2007/05/31 17:03:01 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4ElasticHadrNucleusHe.hh @@ -37,6 +37,8 @@ // 19.11.05 The HE elastic scattering on proton is added (N.Starkov) // 16.11.06 General redesign (N.Starkov) // 23.11.06 General cleanup, ONQ0=3 (V.Ivanchenko) +// 15.05.07 Redesign and cleanup (V.Ivanchenko) +// 18.05.07 Cleanup (V.Grichine) // #ifndef G4ElasticHadrNucleusHE_h @@ -51,38 +53,57 @@ #include "G4HadronicInteraction.hh" +class G4NistManager; + +static const G4int NHADRONS = 26; // Number of hadrons for which model is applied static const G4int ONQ0 = 5; // The initial number of steps on Q2 static const G4int ONQ2 = 100; // The total number of steps on Q2 static const G4int NENERGY = 30; static const G4int NQTABLE = NENERGY*ONQ2; -class ElasticData + +/////////////////////////////////////////////////////////////////////// +// +// + +class G4ElasticData { public: - ElasticData(const G4ParticleDefinition* h, - G4int A, G4double* eGeV); + G4ElasticData(const G4ParticleDefinition* h, + G4int Z, G4double A, G4double* eGeV); - ~ElasticData(){} + ~G4ElasticData(){} const G4ParticleDefinition* Hadron() {return hadr;} private: - void DefineNucleusParameters(G4int A); + void DefineNucleusParameters(G4double A); const G4ParticleDefinition* hadr; + // hide assignment operator + G4ElasticData & operator=(const G4ElasticData &right); + G4ElasticData(const G4ElasticData&); + public: G4int AtomicWeight; G4double R1, R2, Pnucl, Aeff; G4double limitQ2; G4double massGeV; + G4double mass2GeV2; + G4double massA; + G4double massA2; G4int dnkE[NENERGY]; G4double maxQ2[NENERGY]; + G4double CrossSecMaxQ2[NENERGY]; G4double TableQ2[ONQ2]; G4double TableCrossSec[NQTABLE]; }; -// ############################################################ +///////////////////////////////////////////////////////////////////// +// +// + class G4ElasticHadrNucleusHE : public G4HadronicInteraction { public: @@ -91,113 +112,134 @@ public: virtual ~G4ElasticHadrNucleusHE(); - G4HadFinalState * ApplyYourself(const G4HadProjectile &aTrack, - G4Nucleus &G4Nucleus); + G4HadFinalState * ApplyYourself(const G4HadProjectile& aTrack, + G4Nucleus& G4Nucleus); - G4double SampleT(const G4ParticleDefinition* p, - G4double pTotLabMomentum, G4int Z, G4int N); + G4double SampleT(const G4ParticleDefinition* p, G4double plab, + G4int Z, G4int A); + G4double HadronNucleusQ2_2(G4ElasticData * pElD, G4int Z, + G4double plabGeV, G4double tmax); -private: + void DefineHadronValues(G4int Z); - G4double InterPol(G4double X1, G4double X2, G4double X3, - G4double Y1, G4double Y2, G4double Y3, - G4double X); - - G4double HadronNucleusQ2_2(const G4ParticleDefinition * aHadron, - ElasticData * pElD, - G4double aLabMom); - - G4double GetLightFq2(G4int N, G4double Q); - - G4int GetBinom(G4int m, G4int n); - - -// ====================================================== - G4DynamicParticle aHad; - - G4float GetFt(G4double T); - G4float GetDistrFun(G4double Q2); - G4double GetQ2(G4double Ran); + G4double GetLightFq2(G4int Z, G4int A, G4double Q); G4double GetQ2_2(G4int N, G4double * Q, G4double * F, G4double R); - G4double HadronProtonQ2(const G4ParticleDefinition * aHadron, - G4double TotMom); - - void GetKinematics(const G4ParticleDefinition * aHadron, - G4double TotMom); - - void GetParametersHP(const G4ParticleDefinition * aHadron, - G4double TotMom); G4double LineInterpol(G4double p0, G4double p2, G4double c1, G4double c2, G4double p); - void GetHadronValues(const G4ParticleDefinition * aHadron, - G4double TotMom); + void InterpolateHN(G4int n, const G4double EnP[], + const G4double C0P[], const G4double C1P[], + const G4double B0P[], const G4double B1P[]); + + // hide assignment operator + G4ElasticHadrNucleusHE & operator=(const G4ElasticHadrNucleusHE &right); + G4ElasticHadrNucleusHE(const G4ElasticHadrNucleusHE&); + + G4double GetBinomCof( G4int n, G4int m ); - G4double SigTot, Slope, ReOnIm, HdrE, ConstU, Q2; - G4double ProtonM, HadronM, HadronE, Sh, PM2, HM2; +private: + + + void Binom(); + + + // fields + + G4int iHadrCode; + G4int iHadron; + G4int HadronCode[NHADRONS]; + G4int HadronType[NHADRONS]; + + // protection energy and momemtum + + G4double lowestEnergyLimit; + G4double plabLowLimit; + + // transition between internal and CLHEP units - G4double EcmP, EcmH, Kcm, CosCM, SqrtS, MaxT, FmaxT, DsigDt; - G4double Slope1, Slope2, Coeff1, Coeff2, IntConst, MaxTR; - G4double Slope0, Coeff0; - G4double BoundaryP[7], BoundaryTL[7], BoundaryTG[7]; - G4double MomentumH; - G4int HadrCodes[7]; - G4int verboselevel; -// ====================================================== G4double MbToGeV2; G4double sqMbToGeV; G4double Fm2ToGeV2; G4double GeV2; + G4double protonM; // GeV + G4double protonM2; // GeV^2 - G4int HadrCode; - G4int Nstep, // The number of steps on Q2 - iKindWork, // - iContr, // - iPoE; // The number of steps on E - G4int iTypeWork, CurrentN; + // projectile kinematics in GeV + + G4double hMass; + G4double hMass2; + G4double hLabMomentum; + G4double hLabMomentum2; + G4double MomentumCM; + G4double HadrEnergy; + + // nucleaus parameters - G4double aNucleon; G4double R1, R2, Pnucl, Aeff; - G4double dEbeg1, dEend1, dQ2, maxQ2; - G4double HadrTot, HadrSlope, HadrReIm, DDSect2, DDSect3, MomentumCM; - G4double Q2res; + // elastic parameters - G4double Energy[NENERGY]; - G4double LowEdgeEnergy[NENERGY]; + G4double HadrTot, HadrSlope, HadrReIm, DDSect2, DDSect3; - G4double SetBinom[240][240]; + // momentum limits for different models of hadron/nucleon scatetring + // G4double BoundaryP[7], BoundaryTL[7], BoundaryTG[7]; - std::vector SetOfElasticData; + // parameterisation of scattering -// ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + G4double Slope1, Slope2, Coeff1, Coeff2, MaxTR; + G4double Slope0, Coeff0; - void Binom() - { - G4int N, M; - G4double Fact1, J; + G4double Energy[NENERGY]; + G4double LowEdgeEnergy[NENERGY]; - for(N=0; N<240; N++) - { - J = 1; - for(M=0; M<=N; M++) - { - Fact1 = 1; - if ((N>0) && (N>M) && M>0) - { - J *= G4double(N-M+1)/G4double(M); - Fact1 = J; - } - SetBinom[N][M] = Fact1; - } - } - return; - } + G4double SetBinom[240][240]; + + G4ElasticData* SetOfElasticData[NHADRONS][93]; + G4NistManager* nistManager; }; // The end of the class description +//////////////////////////////////////////////////////////////// + +inline +G4double G4ElasticHadrNucleusHE::LineInterpol(G4double p1, G4double p2, + G4double c1, G4double c2, + G4double p) +{ + return c1+(p-p1)*(c2-c1)/(p2-p1); +} + +//////////////////////////////////////////////////////////////// + +inline +void G4ElasticHadrNucleusHE::InterpolateHN(G4int n, const G4double EnP[], + const G4double C0P[], const G4double C1P[], + const G4double B0P[], const G4double B1P[]) +{ + G4int i; + + for( i = 1; i < n; i++) if( hLabMomentum <= EnP[i] ) break; + + if(i == n) i = n - 1; + + Coeff0 = LineInterpol(EnP[i], EnP[i-1], C0P[i], C0P[i-1], hLabMomentum); + Coeff1 = LineInterpol(EnP[i], EnP[i-1], C1P[i], C1P[i-1], hLabMomentum); + Slope0 = LineInterpol(EnP[i], EnP[i-1], B0P[i], B0P[i-1], hLabMomentum); + Slope1 = LineInterpol(EnP[i], EnP[i-1], B1P[i], B1P[i-1], hLabMomentum); +} + +//////////////////////////////////////////////////////////////// + +inline +G4double G4ElasticHadrNucleusHE::GetBinomCof( G4int n, G4int m ) +{ + if ( n >= m && n <= 240) return SetBinom[n][m]; + else return 0.; +} + + #endif diff --git a/source/processes/hadronic/models/coherent_elastic/include/G4HadronElastic.hh b/source/processes/hadronic/models/coherent_elastic/include/G4HadronElastic.hh index 9282c9b14d..cecd0f5e18 100644 --- a/source/processes/hadronic/models/coherent_elastic/include/G4HadronElastic.hh +++ b/source/processes/hadronic/models/coherent_elastic/include/G4HadronElastic.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4HadronElastic.hh,v 1.24 2007/04/03 10:38:43 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4HadronElastic.hh,v 1.26 2007/05/15 16:06:47 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Model: Low energy elastic scattering with 4-momentum balance @@ -41,6 +41,7 @@ // 16-Nov-06 V.Ivanchenko default ekinhigh = 0.4*GeV // 16-Nov-06 V.Ivanchenko cleanup and rename Set methods and variables // 28-Mar-07 V.Ivanchenko add NIST manager +// 11-May-07 V.Ivanchenko remove unused method Defs1 // // // Class Description @@ -67,13 +68,12 @@ enum G4ElasticGenerator class G4ParticleDefinition; class G4VQCrossSection; class G4ElasticHadrNucleusHE; -class G4NistManager; class G4HadronElastic : public G4HadronicInteraction { public: - G4HadronElastic(); + G4HadronElastic(G4ElasticHadrNucleusHE* HModel = 0); virtual ~G4HadronElastic(); @@ -107,12 +107,7 @@ private: G4double aa, G4double bb, G4double cc, G4double dd, G4double rr); - void Defs1(G4double p, G4double px, G4double py, G4double pz, - G4double pxinc, G4double pyinc, G4double pzinc, - G4double* pxnew, G4double* pynew, G4double* pznew); - G4VQCrossSection* qCManager; - G4NistManager* nistManager; G4ElasticHadrNucleusHE* hElastic; G4ParticleDefinition* theProton; diff --git a/source/processes/hadronic/models/coherent_elastic/include/G4UHadronElasticProcess.hh b/source/processes/hadronic/models/coherent_elastic/include/G4UHadronElasticProcess.hh index 654e0c7594..382ab7da13 100644 --- a/source/processes/hadronic/models/coherent_elastic/include/G4UHadronElasticProcess.hh +++ b/source/processes/hadronic/models/coherent_elastic/include/G4UHadronElasticProcess.hh @@ -25,7 +25,7 @@ // // // $Id: G4UHadronElasticProcess.hh,v 1.10 2006/11/16 20:09:13 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Geant4 Hadron Elastic Scattering Process -- header file // diff --git a/source/processes/hadronic/models/coherent_elastic/src/G4ChargeExchange.cc b/source/processes/hadronic/models/coherent_elastic/src/G4ChargeExchange.cc index 4637451ace..9d154a3d5b 100644 --- a/source/processes/hadronic/models/coherent_elastic/src/G4ChargeExchange.cc +++ b/source/processes/hadronic/models/coherent_elastic/src/G4ChargeExchange.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ChargeExchange.cc,v 1.8 2007/03/12 10:58:45 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4ChargeExchange.cc,v 1.11 2007/05/25 17:46:52 dennis Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Model: Charge and strangness exchange based on G4LightMedia model @@ -49,7 +49,7 @@ G4ChargeExchange::G4ChargeExchange(G4HadronElastic* hel, G4double elim, G4double ehigh) -: G4HadronicInteraction(), +: G4HadronicInteraction("G4ChargeExchange"), fElastic(hel), native(false), ekinlim(elim), diff --git a/source/processes/hadronic/models/coherent_elastic/src/G4ChargeExchangeProcess.cc b/source/processes/hadronic/models/coherent_elastic/src/G4ChargeExchangeProcess.cc index 94704594e2..772d5ff689 100644 --- a/source/processes/hadronic/models/coherent_elastic/src/G4ChargeExchangeProcess.cc +++ b/source/processes/hadronic/models/coherent_elastic/src/G4ChargeExchangeProcess.cc @@ -25,7 +25,7 @@ // // // $Id: G4ChargeExchangeProcess.cc,v 1.9 2007/01/30 10:23:26 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Geant4 Hadron Elastic Scattering Process -- header file diff --git a/source/processes/hadronic/models/coherent_elastic/src/G4DiffuseElastic.cc b/source/processes/hadronic/models/coherent_elastic/src/G4DiffuseElastic.cc new file mode 100644 index 0000000000..b413126e79 --- /dev/null +++ b/source/processes/hadronic/models/coherent_elastic/src/G4DiffuseElastic.cc @@ -0,0 +1,530 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4DiffuseElastic.cc,v 1.7 2007/06/12 14:46:26 grichine Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// +// Physics model class G4DiffuseElastic +// +// +// G4 Model: optical diffuse elastic scattering with 4-momentum balance +// +// 24-May-07 V. Grichine +// + +#include "G4DiffuseElastic.hh" +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "G4IonTable.hh" +#include "G4QElasticCrossSection.hh" +#include "G4VQCrossSection.hh" +#include "G4ElasticHadrNucleusHE.hh" +#include "Randomize.hh" +#include "G4Integrator.hh" +#include "globals.hh" +#include "G4Proton.hh" +#include "G4Neutron.hh" +#include "G4Deuteron.hh" +#include "G4Alpha.hh" +#include "G4PionPlus.hh" +#include "G4PionMinus.hh" + +G4DiffuseElastic::G4DiffuseElastic() + : G4HadronicInteraction(), fParticle(0) +{ + SetMinEnergy( 0.0*GeV ); + SetMaxEnergy( 100.*TeV ); + verboseLevel = 0; + lowEnergyRecoilLimit = 100.*keV; + lowEnergyLimitQ = 0.0*GeV; + lowEnergyLimitHE = 0.0*GeV; + lowestEnergyLimit= 0.0*keV; + plabLowLimit = 20.0*MeV; + + theProton = G4Proton::Proton(); + theNeutron = G4Neutron::Neutron(); + theDeuteron = G4Deuteron::Deuteron(); + theAlpha = G4Alpha::Alpha(); + thePionPlus = G4PionPlus::PionPlus(); + thePionMinus= G4PionMinus::PionMinus(); +} + + +G4DiffuseElastic::~G4DiffuseElastic() +{ +} + + + +G4HadFinalState* +G4DiffuseElastic::ApplyYourself( const G4HadProjectile& aTrack, + G4Nucleus& targetNucleus ) +{ + theParticleChange.Clear(); + + const G4HadProjectile* aParticle = &aTrack; + + G4double ekin = aParticle->GetKineticEnergy(); + + if(ekin <= lowestEnergyLimit) + { + theParticleChange.SetEnergyChange(ekin); + theParticleChange.SetMomentumChange(aTrack.Get4Momentum().vect().unit()); + return &theParticleChange; + } + + G4double aTarget = targetNucleus.GetN(); + G4double zTarget = targetNucleus.GetZ(); + + G4double plab = aParticle->GetTotalMomentum(); + + if (verboseLevel >1) + { + G4cout << "G4DiffuseElastic::DoIt: Incident particle plab=" + << plab/GeV << " GeV/c " + << " ekin(MeV) = " << ekin/MeV << " " + << aParticle->GetDefinition()->GetParticleName() << G4endl; + } + // Scattered particle referred to axis of incident particle + + const G4ParticleDefinition* theParticle = aParticle->GetDefinition(); + G4double m1 = theParticle->GetPDGMass(); + + G4int Z = static_cast(zTarget+0.5); + G4int A = static_cast(aTarget+0.5); + G4int N = A - Z; + + G4int projPDG = theParticle->GetPDGEncoding(); + + if (verboseLevel>1) + { + G4cout << "G4DiffuseElastic for " << theParticle->GetParticleName() + << " PDGcode= " << projPDG << " on nucleus Z= " << Z + << " A= " << A << " N= " << N + << G4endl; + } + G4ParticleDefinition * theDef = 0; + + if(Z == 1 && A == 1) theDef = theProton; + else if (Z == 1 && A == 2) theDef = theDeuteron; + else if (Z == 1 && A == 3) theDef = G4Triton::Triton(); + else if (Z == 2 && A == 3) theDef = G4He3::He3(); + else if (Z == 2 && A == 4) theDef = theAlpha; + else theDef = G4ParticleTable::GetParticleTable()->FindIon(Z,A,0,Z); + + G4double m2 = theDef->GetPDGMass(); + G4LorentzVector lv1 = aParticle->Get4Momentum(); + G4LorentzVector lv(0.0,0.0,0.0,m2); + lv += lv1; + + G4ThreeVector bst = lv.boostVector(); + lv1.boost(-bst); + + G4ThreeVector p1 = lv1.vect(); + G4double ptot = p1.mag(); + G4double tmax = 4.0*ptot*ptot; + G4double t = 0.0; + + + // + // Sample t + // + + t = SampleT( theParticle, ptot, A); + + // NaN finder + if(!(t < 0.0 || t >= 0.0)) + { + if (verboseLevel > 0) + { + G4cout << "G4DiffuseElastic:WARNING: Z= " << Z << " N= " + << N << " pdg= " << projPDG + << " mom(GeV)= " << plab/GeV + << " S-wave will be sampled" + << G4endl; + } + t = G4UniformRand()*tmax; + } + if(verboseLevel>1) + { + G4cout <<" t= " << t << " tmax= " << tmax + << " ptot= " << ptot << G4endl; + } + // Sampling of angles in CM system + + G4double phi = G4UniformRand()*twopi; + G4double cost = 1. - 2.0*t/tmax; + G4double sint; + + if( cost >= 1.0 ) + { + cost = 1.0; + sint = 0.0; + } + else if( cost <= -1.0) + { + cost = -1.0; + sint = 0.0; + } + else + { + sint = std::sqrt((1.0-cost)*(1.0+cost)); + } + if (verboseLevel>1) + G4cout << "cos(t)=" << cost << " std::sin(t)=" << sint << G4endl; + + G4ThreeVector v1(sint*std::cos(phi),sint*std::sin(phi),cost); + v1 *= ptot; + G4LorentzVector nlv1(v1.x(),v1.y(),v1.z(),std::sqrt(ptot*ptot + m1*m1)); + + nlv1.boost(bst); + + G4double eFinal = nlv1.e() - m1; + + if (verboseLevel > 1) + { + G4cout << "Scattered: " + << nlv1<<" m= " << m1 << " ekin(MeV)= " << eFinal + << " Proj: 4-mom " << lv1 + <GetDefinition()->GetParticleName() + << " p(GeV/c)= " << plab + << " on " << theDef->GetParticleName() + << G4endl; + eFinal = 0.0; + nlv1.setE(m1); + } + + theParticleChange.SetMomentumChange(nlv1.vect().unit()); + theParticleChange.SetEnergyChange(eFinal); + + G4LorentzVector nlv0 = lv - nlv1; + G4double erec = nlv0.e() - m2; + + if (verboseLevel > 1) + { + G4cout << "Recoil: " + << nlv0<<" m= " << m2 << " ekin(MeV)= " << erec + < lowEnergyRecoilLimit) + { + G4DynamicParticle * aSec = new G4DynamicParticle(theDef, nlv0); + theParticleChange.AddSecondary(aSec); + } else { + if(erec < 0.0) erec = 0.0; + theParticleChange.SetLocalEnergyDeposit(erec); + } + + return &theParticleChange; +} + + +//////////////////////////////////////////////////////////////////////////// +// +// return differential elastic cross section d(sigma)/d(omega) + +G4double +G4DiffuseElastic::GetDiffuseElasticXsc( const G4ParticleDefinition* particle, + G4double theta, + G4double momentum, + G4double A ) +{ + fParticle = particle; + fWaveVector = momentum/hbarc; + fAtomicWeight = A; + + G4double r0; + if(A > 10.) r0 = 1.16*( 1 - std::pow(A, -2./3.) )*fermi; // 1.08*fermi; + else r0 = 1.1*fermi; + fNuclearRadius = r0*std::pow(A, 1./3.); + + G4double sigma = fNuclearRadius*fNuclearRadius*GetDiffElasticProb(theta); + + return sigma; +} + +//////////////////////////////////////////////////////////////////////////// +// +// return differential elastic probability d(probability)/d(omega) + +G4double +G4DiffuseElastic::GetDiffElasticProb( // G4ParticleDefinition* particle, + G4double theta + // G4double momentum, + // G4double A + ) +{ + G4double sigma, bzero, bzero2, bonebyarg, bonebyarg2, damp, damp2; + G4double delta, diffuse, gamma; + G4double e1, e2, bone, bone2; + + // G4double wavek = momentum/hbarc; // wave vector + // G4double r0 = 1.08*fermi; + // G4double rad = r0*std::pow(A, 1./3.); + G4double kr = fWaveVector*fNuclearRadius; // wavek*rad; + G4double kr2 = kr*kr; + G4double krt = kr*theta; + + bzero = BesselJzero(krt); + bzero2 = bzero*bzero; + bone = BesselJone(krt); + bone2 = bone*bone; + bonebyarg = BesselOneByArg(krt); + bonebyarg2 = bonebyarg*bonebyarg; + + if (fParticle == theProton) + { + diffuse = 0.63*fermi; + gamma = 0.3*fermi; + delta = 0.1*fermi*fermi; + e1 = 0.3*fermi; + e2 = 0.35*fermi; + } + else // as proton, if were not defined + { + diffuse = 0.63*fermi; + gamma = 0.3*fermi; + delta = 0.1*fermi*fermi; + e1 = 0.3*fermi; + e2 = 0.35*fermi; + } + G4double kg = fWaveVector*gamma; // wavek*delta; + G4double kg2 = kg*kg; + G4double dk2t = delta*fWaveVector*fWaveVector*theta; // delta*wavek*wavek*theta; + G4double dk2t2 = dk2t*dk2t; + G4double pikdt = pi*fWaveVector*diffuse*theta;// pi*wavek*diffuse*theta; + + G4double mode2k2 = (e1*e1+e2*e2)*fWaveVector*fWaveVector; + G4double e2dk3t = -2.*e2*delta*fWaveVector*fWaveVector*fWaveVector*theta; + + + damp = DampFactor(pikdt); + damp2 = damp*damp; + + sigma = kg2 + dk2t2; + sigma *= bzero2; + sigma += mode2k2*bone2 + e2dk3t*bzero*bone; + sigma += kr2*bonebyarg2; + sigma *= damp2; // *rad*rad; + + return sigma; +} + + +//////////////////////////////////////////////////////////////////////////// +// +// return differential elastic probability 2*pi*sin(theta)*d(probability)/d(omega) + +G4double +G4DiffuseElastic::GetIntegrandFunction( G4double theta ) +{ + G4double result; + + result = 2*pi*std::sin(theta); + result *= GetDiffElasticProb(theta); + return result; +} + +//////////////////////////////////////////////////////////////////////////// +// +// return integral elastic cross section d(sigma)/d(omega) integrated 0 - theta + +G4double +G4DiffuseElastic::IntegralElasticProb( const G4ParticleDefinition* particle, + G4double theta, + G4double momentum, + G4double A ) +{ + G4double result; + fParticle = particle; + fWaveVector = momentum/hbarc; + fAtomicWeight = A; + G4double r0; + if(A > 10.) r0 = 1.16*( 1 - std::pow(A, -2./3.) )*fermi; // 1.08*fermi; + else r0 = 1.1*fermi; + fNuclearRadius = r0*std::pow(A, 1./3.); + + + G4Integrator integral; + + // result = integral.Legendre10(this,&G4DiffuseElastic::GetIntegrandFunction, 0., theta ); + result = integral.Legendre96(this,&G4DiffuseElastic::GetIntegrandFunction, 0., theta ); + + return result; +} + +//////////////////////////////////////////////////////////////////////////// +// +// Return inv momentum transfer -t > 0 + +G4double G4DiffuseElastic::SampleT( const G4ParticleDefinition* aParticle, G4double p, G4double A) +{ + G4double theta = SampleThetaCMS( aParticle, p, A); // sample theta in cms + G4double t = 2*p*p*( 1 - std::cos(theta) ); // -t !!! + return t; +} + +//////////////////////////////////////////////////////////////////////////// +// +// Return scattering angle sampled in cms + + +G4double +G4DiffuseElastic::SampleThetaCMS(const G4ParticleDefinition* particle, + G4double momentum, G4double A) +{ + G4int i, iMax = 100; + G4double r0, norm, result, theta1, theta2, thetaMax, sum = 0.; + + fParticle = particle; + fWaveVector = momentum/hbarc; + fAtomicWeight = A; + + if(A > 10.) r0 = 1.16*( 1 - std::pow(A, -2./3.) )*fermi; // 1.08*fermi; + else r0 = 1.1*fermi; + + fNuclearRadius = r0*std::pow(A, 1./3.); + + thetaMax = 10.174/fWaveVector/fNuclearRadius; + if (thetaMax > pi) thetaMax = pi; + + G4Integrator integral; + + // result = integral.Legendre10(this,&G4DiffuseElastic::GetIntegrandFunction, 0., theta ); + norm = integral.Legendre96(this,&G4DiffuseElastic::GetIntegrandFunction, 0., thetaMax ); + + norm *= G4UniformRand(); + + for(i = 1; i <= iMax; i++) + { + theta1 = (i-1)*thetaMax/iMax; + theta2 = i*thetaMax/iMax; + sum += integral.Legendre10(this,&G4DiffuseElastic::GetIntegrandFunction, theta1, theta2); + + if ( sum >= norm ) + { + result = 0.5*(theta1 + theta2); + break; + } + } + if (i > iMax ) result = 0.5*(theta1 + theta2); + return result; +} + + +//////////////////////////////////////////////////////////////////////////// +// +// Return scattering angle sampled in lab system (target at rest) + + + +G4double +G4DiffuseElastic::SampleThetaLab( const G4HadProjectile* aParticle, + G4double tmass, G4double A) +{ + const G4ParticleDefinition* theParticle = aParticle->GetDefinition(); + G4double m1 = theParticle->GetPDGMass(); + G4double plab = aParticle->GetTotalMomentum(); + G4LorentzVector lv1 = aParticle->Get4Momentum(); + G4LorentzVector lv(0.0,0.0,0.0,tmass); + lv += lv1; + + G4ThreeVector bst = lv.boostVector(); + lv1.boost(-bst); + + G4ThreeVector p1 = lv1.vect(); + G4double ptot = p1.mag(); + G4double tmax = 4.0*ptot*ptot; + G4double t = 0.0; + + + // + // Sample t + // + + t = SampleT( theParticle, ptot, A); + + // NaN finder + if(!(t < 0.0 || t >= 0.0)) + { + if (verboseLevel > 0) + { + G4cout << "G4DiffuseElastic:WARNING: A = " << A + << " mom(GeV)= " << plab/GeV + << " S-wave will be sampled" + << G4endl; + } + t = G4UniformRand()*tmax; + } + if(verboseLevel>1) + { + G4cout <<" t= " << t << " tmax= " << tmax + << " ptot= " << ptot << G4endl; + } + // Sampling of angles in CM system + + G4double phi = G4UniformRand()*twopi; + G4double cost = 1. - 2.0*t/tmax; + G4double sint; + + if( cost >= 1.0 ) + { + cost = 1.0; + sint = 0.0; + } + else if( cost <= -1.0) + { + cost = -1.0; + sint = 0.0; + } + else + { + sint = std::sqrt((1.0-cost)*(1.0+cost)); + } + if (verboseLevel>1) + { + G4cout << "cos(t)=" << cost << " std::sin(t)=" << sint << G4endl; + } + G4ThreeVector v1(sint*std::cos(phi),sint*std::sin(phi),cost); + v1 *= ptot; + G4LorentzVector nlv1(v1.x(),v1.y(),v1.z(),std::sqrt(ptot*ptot + m1*m1)); + + nlv1.boost(bst); + + G4ThreeVector np1 = nlv1.vect(); + + // G4double theta = std::acos( np1.z()/np1.mag() ); // degree; + + G4double theta = np1.theta(); + + return theta; +} diff --git a/source/processes/hadronic/models/coherent_elastic/src/G4ElasticHadrNucleusHE.cc b/source/processes/hadronic/models/coherent_elastic/src/G4ElasticHadrNucleusHE.cc index 644134377c..a3bdfc764f 100644 --- a/source/processes/hadronic/models/coherent_elastic/src/G4ElasticHadrNucleusHE.cc +++ b/source/processes/hadronic/models/coherent_elastic/src/G4ElasticHadrNucleusHE.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ElasticHadrNucleusHE.cc,v 1.57 2007/04/02 08:32:00 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4ElasticHadrNucleusHE.cc,v 1.73 2007/06/14 10:00:45 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // The generator of high energy hadron-nucleus elastic scattering @@ -36,6 +36,9 @@ // 19.11.05 The HE elastic scattering on proton is added (N.Starkov) // 16.11.06 The low energy boundary is shifted to T = 400 MeV (N.Starkov) // 23.11.06 General cleanup, ONQ0=3, use pointer instead of particle name (VI) +// 02.05.07 Scale sampled t as p^2 (VI) +// 15.05.07 Redesign and cleanup (V.Ivanchenko) +// 17.05.07 cleanup (V.Grichine) // #include "G4ElasticHadrNucleusHE.hh" @@ -43,102 +46,151 @@ #include "G4ios.hh" #include "G4ParticleTable.hh" #include "G4IonTable.hh" +#include "G4Proton.hh" +#include "G4NistManager.hh" using namespace std; -// ############################################################ -ElasticData:: ElasticData(const G4ParticleDefinition* p, - G4int A, G4double* eGeV) +/////////////////////////////////////////////////////////////// +// +// + +G4ElasticData::G4ElasticData(const G4ParticleDefinition* p, + G4int Z, G4double AWeight, G4double* eGeV) { hadr = p; massGeV = p->GetPDGMass()/GeV; - AtomicWeight = A; - - DefineNucleusParameters(A); + mass2GeV2= massGeV*massGeV; + AtomicWeight = G4int(AWeight + 0.5); + DefineNucleusParameters(AWeight); limitQ2 = 35./(R1*R1); // (GeV/c)^2 G4double dQ2 = limitQ2/(ONQ2 - 1.); TableQ2[0] = 0.0; - for(G4int ii=1; ii(Nucleus-1),0.309)*0.9; - R2 = 2.3*std::pow(static_cast(Nucleus),0.36); - Pnucl = 0.176+0.00167*Nucleus+8.69E-6*Nucleus*Nucleus; + break; + case 1: + R1 = 4.5; + R2 = 2.3; + Pnucl = 0.177; Aeff = 0.9; + break; + default: + R1 = 4.45*std::pow(A - 1.,0.309)*0.9; + R2 = 2.3 *std::pow(A, 0.36); + + if(A < 100 && A > 3) Pnucl = 0.176 + 0.00275*A; + else Pnucl = 0.4; + + if(A >= 100) Aeff = 0.7; + else if(A < 100 && A > 75) Aeff = 1.5 - 0.008*A; + else Aeff = 0.9; + break; } - // G4cout<<" Nucl.Par. "<GetPDGEncoding(); - - if(N>1) { - - ElasticData * ElD1 = 0; - - size_t SizeData = SetOfElasticData.size(); - - G4int NumberOfRecord = -1; - - if(verboselevel > 1) - G4cout<<" SampleT: SizeData "< 0) { - for(size_t kk = 0; kkAtomicWeight == N && ElD1->Hadron() == p) { - NumberOfRecord = kk; - break; - } - } - } // if SizeData!=0 -// ........................................... - if(NumberOfRecord == -1) { - ElD1 = new ElasticData(p, N, Energy); - SetOfElasticData.push_back(ElD1); - if(verboselevel > 1) - G4cout<< " G4ElasticHadrNucleusHE::SampleT: new record " <GetParticleName() << " A= " << N - << G4endl; - } - - Q2 = HadronNucleusQ2_2(p, ElD1, pTotLabMomentum); - - } - - else Q2 = HadronProtonQ2(p, pTotLabMomentum); - - if(verboselevel > 1) - G4cout<<" SampleT: Q2(GeV^2)= "<GetKineticEnergy(); - G4DynamicParticle * dParticle = &aHad; - G4ParticleDefinition * hadrDef = - const_cast(aHadron.GetDefinition()); + if( ekin <= lowestEnergyLimit ) + { + theParticleChange.SetEnergyChange(ekin); + theParticleChange.SetMomentumChange(aTrack.Get4Momentum().vect().unit()); + return &theParticleChange; + } - G4ThreeVector hadrMomentum = aHadron.Get4Momentum().vect(); - dParticle->SetDefinition(hadrDef); - dParticle->SetMomentum(hadrMomentum); + G4double aTarget = targetNucleus.GetN(); + G4double zTarget = targetNucleus.GetZ(); -// --------------- Nucleus Definition --------------- - G4double A = aNucl->GetN(); - G4int nA = G4int(A + 0.5); - G4int nZ = G4int(aNucl->GetZ()); + G4double plab = aParticle->GetTotalMomentum(); - G4ParticleDefinition * secNuclDef = 0; + if (verboseLevel >1) + { + G4cout << "G4ElasticHadrNucleusHE: Incident particle plab=" + << plab/GeV << " GeV/c " + << " ekin(MeV) = " << ekin/MeV << " " + << aParticle->GetDefinition()->GetParticleName() << G4endl; + } + // Scattered particle referred to axis of incident particle - if(nZ == 1 && nA == 1) secNuclDef = G4Proton::Proton(); - else if(nZ == 1 && nA == 2) secNuclDef = G4Deuteron::Deuteron(); - else if(nZ == 1 && nA == 3) secNuclDef = G4Triton::Triton(); - else if(nZ == 2 && nA == 3) secNuclDef = G4He3::He3(); - else if(nZ == 2 && nA == 4) secNuclDef = G4Alpha::Alpha(); - else secNuclDef = G4ParticleTable:: - GetParticleTable()->FindIon(nZ,nA,0,nZ); -// ---------------------------------------------------- - G4double ranQ2; + const G4ParticleDefinition* theParticle = aParticle->GetDefinition(); + G4double m1 = theParticle->GetPDGMass(); - ranQ2 = SampleT(hadrDef, dParticle->GetTotalMomentum(), nZ, nA); + G4int Z = static_cast(zTarget+0.5); + G4int A = static_cast(aTarget+0.5); + G4int projPDG = theParticle->GetPDGEncoding(); - Q2res = ranQ2; + if (verboseLevel>1) + { + G4cout << "G4ElasticHadrNucleusHE for " << theParticle->GetParticleName() + << " PDGcode= " << projPDG << " on nucleus Z= " << Z + << " A= " << A + << G4endl; + } + G4ParticleDefinition * theDef = 0; -// ---------------- Hadron kinematics ---------------- - G4double m1 = hadrDef->GetPDGMass(); - G4double m2 = secNuclDef->GetPDGMass(); - G4LorentzVector lv1 = dParticle->Get4Momentum(); - G4LorentzVector lv0(0.0,0.0,0.0,m2); - G4LorentzVector lv1test = dParticle->Get4Momentum(); - G4LorentzVector lv0test(0.0,0.0,0.0,m2); + if (Z == 1 && A == 1) theDef = G4Proton::Proton(); + else if (Z == 1 && A == 2) theDef = G4Deuteron::Deuteron(); + else if (Z == 1 && A == 3) theDef = G4Triton::Triton(); + else if (Z == 2 && A == 3) theDef = G4He3::He3(); + else if (Z == 2 && A == 4) theDef = G4Alpha::Alpha(); + else theDef = G4ParticleTable::GetParticleTable()->FindIon(Z,A,0,Z); + + G4double m2 = theDef->GetPDGMass(); + G4LorentzVector lv1 = aParticle->Get4Momentum(); + G4LorentzVector lv(0.0,0.0,0.0,m2); + lv += lv1; - G4LorentzVector lv = lv0 + lv1; G4ThreeVector bst = lv.boostVector(); lv1.boost(-bst); - lv0.boost(-bst); + G4ThreeVector p1 = lv1.vect(); G4double ptot = p1.mag(); + G4double tmax = 4.0*ptot*ptot; + G4double t = 0.0; + + // Choose generator + G4bool swave = false; + + // S-wave for very low energy + if(plab < plabLowLimit) swave = true; + + // normal sampling + if(!swave) { + t = SampleT(theParticle,plab,Z,A); + if(t > tmax) swave = true; + } + + if(swave) t = G4UniformRand()*tmax; // Sampling in CM system G4double phi = G4UniformRand()*twopi; - G4double cost = 1. - 0.5*ranQ2/(ptot*ptot); - - if(std::abs(cost) > 1.0) cost = 2.0*G4UniformRand() - 1.0; - G4double sint = std::sqrt((1.0-cost)*(1.0+cost)); + G4double cost = 1. - 2.0*t/tmax; + G4double sint; + if( cost >= 1.0 ) + { + cost = 1.0; + sint = 0.0; + } + else if( cost <= -1.0) + { + cost = -1.0; + sint = 0.0; + } + else + { + sint = std::sqrt((1.0-cost)*(1.0+cost)); + } + if (verboseLevel>1) + { + G4cout << "cos(t)=" << cost << " std::sin(t)=" << sint << G4endl; + } G4ThreeVector v1(sint*std::cos(phi),sint*std::sin(phi),cost); - p1 = p1.unit(); - v1.rotateUz(p1); v1 *= ptot; - G4LorentzVector nlv1(v1.x(),v1.y(),v1.z(), - std::sqrt(ptot*ptot + m1*m1)); - G4LorentzVector nlv0 = lv0 + lv1 - nlv1; - nlv0.boost(bst); - nlv1.boost(bst); + G4LorentzVector nlv1( v1.x(), v1.y(), v1.z(), std::sqrt(ptot*ptot + m1*m1)); - - lv1 = nlv1-lv1test; - lv0 = nlv0-lv0test; - - Q2res = -lv0.m2(); + nlv1.boost(bst); G4double eFinal = nlv1.e() - m1; - if(eFinal < 0.0) + if (verboseLevel > 1) + { + G4cout << "Scattered: " + << nlv1<<" m= " << m1 << " ekin(MeV)= " << eFinal + << " Proj: 4-mom " << lv1 + <GetParticleName() - << " p(GeV/c)= " << dParticle->GetTotalMomentum()/GeV - << " on " << secNuclDef->GetParticleName() - << G4endl; + G4cout << "G4ElasticHadrNucleusHE WARNING ekin= " << eFinal + << " after scattering of " + << aParticle->GetDefinition()->GetParticleName() + << " p(GeV/c)= " << plab + << " on " << theDef->GetParticleName() + << G4endl; eFinal = 0.0; + nlv1.setE(m1); } - theParticleChange.SetMomentumChange(nlv1.vect().unit()); + theParticleChange.SetMomentumChange( nlv1.vect().unit() ); theParticleChange.SetEnergyChange(eFinal); + + G4LorentzVector nlv0 = lv - nlv1; + G4double erec = nlv0.e() - m2; - G4DynamicParticle * aSec = new G4DynamicParticle(secNuclDef, nlv0); + if (verboseLevel > 1) + { + G4cout << "Recoil: " + << nlv0<<" m= " << m2 << " ekin(MeV)= " << erec + <GetDefinition()->GetParticleName() + << " p(GeV/c)= " << plab + << " on " << theDef->GetParticleName() + << G4endl; + nlv0.setE(m2); + } + G4DynamicParticle * aSec = new G4DynamicParticle(theDef, nlv0); theParticleChange.AddSecondary(aSec); - if(verboselevel > 1) - G4cout<GetPDGEncoding(); + + if(verboseLevel > 1) + { + G4cout<< " G4ElasticHadrNucleusHE::SampleT: " + << " for " << p->GetParticleName() + << " at Z= " << Z << " A= " << N + << " plab(GeV)= " << plab + << G4endl; + } + G4int idx; + + for( idx = 0 ; idx < NHADRONS; idx++) + { + if(iHadrCode == HadronCode[idx]) break; + } + + // Hadron is not in the list + + if( idx >= NHADRONS ) return Q2; + + iHadron = HadronType[idx]; + iHadrCode = HadronCode[idx]; + G4ElasticData* ElD1 = SetOfElasticData[idx][Z]; + + // Construct elastic data + + if(!ElD1) + { + G4double AWeight = nistManager->GetAtomicMassAmu(Z); + ElD1 = new G4ElasticData(p, Z, AWeight, Energy); + SetOfElasticData[idx][Z] = ElD1; + + if(verboseLevel > 1) + { + G4cout<< " G4ElasticHadrNucleusHE::SampleT: new record " << idx + << " for " << p->GetParticleName() << " Z= " << Z + << G4endl; + } + } + hMass = ElD1->massGeV; + hMass2 = ElD1->mass2GeV2; + G4double M = ElD1->massA; + G4double M2 = ElD1->massA2; + G4double plab2 = plab*plab; + G4double Q2max = 4.*plab2*M2/(hMass2 + M2 + 2.*M*std::sqrt(plab2 + hMass2)); + + // sample scattering + + Q2 = HadronNucleusQ2_2(ElD1, Z, plab, Q2max); + + if(verboseLevel > 1) + G4cout<<" SampleT: Q2(GeV^2)= "<dnkE[NumbOnE] = ONQ0; - } else { + } + else + { rmax = pElD->TableCrossSec[index+length-1]; } G4double* dNumbFQ2 = &(pElD->TableCrossSec[index]); // No more vector needed - if(rmax >= Rand) { - for(iNumbQ2 = 1; iNumbQ2= Rand) + { + + for( iNumbQ2 = 1; iNumbQ2TableCrossSec[index+iNumbQ2]) break; } - // Build second part of the vector - } else { - - R1 = pElD->R1; - R2 = pElD->R2; - Aeff = pElD->Aeff; - Pnucl = pElD->Pnucl; - G4double P = sqrt(P2); - GetHadronValues(aHadron, P); + + } + else // Build second part of the vector + { + if(!isIni) + { + R1 = pElD->R1; + R2 = pElD->R2; + Aeff = pElD->Aeff; + Pnucl = pElD->Pnucl; + hLabMomentum = std::sqrt(hLabMomentum2); + DefineHadronValues(Z); + Weight = pElD->CrossSecMaxQ2[NumbOnE]; + } G4int AWeight = pElD->AtomicWeight; - Weight = GetLightFq2(AWeight, Q2max); // Stop building when find out the node - for(iNumbQ2 = length; iNumbQ2TableQ2[iNumbQ2]; - if(Q2 < Q2max) Buf = GetLightFq2(AWeight, Q2)/Weight; + if(Q2 < Q2max) Buf = GetLightFq2(Z, AWeight, Q2)/Weight; else Buf = 1.0; pElD->TableCrossSec[index+iNumbQ2] = Buf; - if(verboselevel > 1) + + if(verboseLevel > 1) G4cout<<" HadrNucleusQ2_2: NumbOnE= " << NumbOnE << " iNumbQ2= " << iNumbQ2 << " Q2= " <dnkE[NumbOnE] = iNumbQ2+1; break; } } } - Q2 = GetQ2_2(iNumbQ2, dNumbQ2, dNumbFQ2, Rand); - if(Q2max < pElD->limitQ2) Q2 *= ptot2/P2; - if(verboselevel > 1) + if(tmax < Q2max) Q2 *= tmax/Q2max; + + if(verboseLevel > 1) G4cout<<" HadrNucleusQ2_2(2): Q2= "<GetPDGMass()/GeV; - HadronE = std::sqrt(MomentumH*MomentumH + HadronM*HadronM); - - HdrE = HadronE; - - PM2 = ProtonM*ProtonM; - HM2 = HadronM*HadronM; - Sh = 2.0*ProtonM*HadronE+PM2+HM2; // GeV - SqrtS = std::sqrt(Sh); - ConstU = 2*PM2+2*HM2-Sh; - - EcmH = (Sh+HM2-PM2)/2/SqrtS; - EcmP = (Sh-HM2+PM2)/2/SqrtS; - - Kcm = sqrt(EcmH*EcmH-HM2); - MaxT = 4*Kcm*Kcm; - - BoundaryP[0]=9.0; BoundaryTG[0]=5.0;BoundaryTL[0]=MaxT/2.0; - BoundaryP[1]=20.0;BoundaryTG[1]=1.5;BoundaryTL[1]=MaxT; - BoundaryP[2]=5.0; BoundaryTG[2]=1.0;BoundaryTL[2]=1.5; - BoundaryP[3]=8.0; BoundaryTG[3]=3.0;BoundaryTL[3]=MaxT; - BoundaryP[4]=7.0; BoundaryTG[4]=3.0;BoundaryTL[4]=MaxT; - BoundaryP[5]=5.0; BoundaryTG[5]=2.0;BoundaryTL[5]=MaxT; - BoundaryP[6]=5.0; BoundaryTG[6]=1.5;BoundaryTL[6]=3.0; - - HadrCodes[0] = 2212; HadrCodes[1] = 2112; - HadrCodes[2] = -2212; HadrCodes[3] = 211; - HadrCodes[4] = -211; HadrCodes[5] = 321; - HadrCodes[6] = -321; - - HadrCode = aHadron->GetPDGEncoding(); - - G4int NumberH=0; - - while(HadrCode!=HadrCodes[NumberH]) NumberH++; - - if(MomentumHGetPDGEncoding(); - - switch(HadrCode) - { - case 2212 : - case 3122 : - case 3222 : - case 3112 : - case 3212 : - case 3312 : - case 3322 : - case 3334 : - { - G4double EnP[6]={1.5,3.0,5.0,9.0,14.0,19.0}; - G4double C0P[6]={0.15,0.02,0.06,0.08,0.0003,0.0002}; - G4double C1P[6]={0.05,0.02,0.03,0.025,0.0,0.0}; - G4double B0P[6]={1.5,2.5,3.0,4.5,1.4,1.25}; - G4double B1P[6]={5.0,1.0,3.5,4.0,4.8,4.8}; - - if(BoundaryP[0]EnP[iStep]) iStep++; - - Coeff0 = LineInterpol(EnP[iStep], EnP[iStep-1], - C0P[iStep], C0P[iStep-1], - HadrP); - - Coeff1 = LineInterpol(EnP[iStep], EnP[iStep-1], - C1P[iStep], C1P[iStep-1], - HadrP); - - Slope0 = LineInterpol(EnP[iStep], EnP[iStep-1], - B0P[iStep], B0P[iStep-1], - HadrP); - - Slope1 = LineInterpol(EnP[iStep], EnP[iStep-1], - B1P[iStep], B1P[iStep-1], - HadrP); - } // else - Coeff2 = 0; - Slope2 = 5; - } break; // case 2212 - case 2112 : - case -2112 : - { - G4double EnN[5]={1.5,5.0,10.0,14.0,20.0}; - G4double C0N[5]={0.0,0.0,0.02,0.02,0.01}; - G4double C1N[5]={0.06,0.008,0.0015,0.001,0.0003}; - G4double B0N[5]={1.5,2.5,3.8,3.8,3.5}; - G4double B1N[5]={1.5,2.2,3.6,4.5,4.8}; - - if(BoundaryP[1]EnN[iStep]) iStep++; - - Coeff0 = LineInterpol(EnN[iStep], EnN[iStep-1], - C0N[iStep], C0N[iStep-1], - HadrP); - - Coeff1 = LineInterpol(EnN[iStep], EnN[iStep-1], - C1N[iStep], C1N[iStep-1], - HadrP); - - Slope0 = LineInterpol(EnN[iStep], EnN[iStep-1], - B0N[iStep], B0N[iStep-1], - HadrP); - - Slope1 = LineInterpol(EnN[iStep], EnN[iStep-1], - B1N[iStep], B1N[iStep-1], - HadrP); - Coeff2 = 0.8/HadrP/HadrP; - Slope2 = 5; - } // else - } break; // case 2112 - - case -2212 : - case -3122 : - case -3222 : - case -3112 : - case -3212 : - case -3312 : - case -3322 : - case -3334 : - { - G4double EnP[2]={1.5,4.0}; - G4double C0P[2]={0.001,0.0005}; - G4double C1P[2]={0.003,0.001}; - G4double B0P[2]={2.5,4.5}; - G4double B1P[2]={1.0,4.0}; - if(BoundaryP[2]EnP[iStep]) iStep++; - - Coeff0 = LineInterpol(EnP[iStep], EnP[iStep-1], - C0P[iStep], C0P[iStep-1], - HadrP); - - Coeff1 = LineInterpol(EnP[iStep], EnP[iStep-1], - C1P[iStep], C1P[iStep-1], - HadrP); - - Slope0 = LineInterpol(EnP[iStep], EnP[iStep-1], - B0P[iStep], B0P[iStep-1], - HadrP); - - Slope1 = LineInterpol(EnP[iStep], EnP[iStep-1], - B1P[iStep], B1P[iStep-1], - HadrP); - } // else - - Coeff2=0.0; - Slope2=5.0; - } break; // case -2212 - - case 211 : - { - G4double EnPP[4]={1.0,2.0,3.0,4.0}; - G4double C0PP[4]={0.0,0.0,0.0,0.0}; - G4double C1PP[4]={0.15,0.08,0.02,0.01}; - G4double B0PP[4]={1.5,2.8,3.8,3.8}; - G4double B1PP[4]={0.8,1.6,3.6,4.6}; - - if(BoundaryP[3]EnPP[iStep]) iStep++; - - Coeff0 = LineInterpol(EnPP[iStep], EnPP[iStep-1], - C0PP[iStep], C0PP[iStep-1], - HadrP); - - Coeff1 = LineInterpol(EnPP[iStep], EnPP[iStep-1], - C1PP[iStep], C1PP[iStep-1], - HadrP); - - Slope0 = LineInterpol(EnPP[iStep], EnPP[iStep-1], - B0PP[iStep], B0PP[iStep-1], - HadrP); - - Slope1 = LineInterpol(EnPP[iStep], EnPP[iStep-1], - B1PP[iStep], B1PP[iStep-1], - HadrP); - Coeff2 = 0.02/HadrP; - Slope2 = 5; - } // else - } break; // case 211 - - case -211 : - { - G4double EnPP[4]={1.0,2.0,3.0,4.0}; - G4double C0PP[4]={0.0,0.0,0.0,0.0}; -// G4double C1PP[4]={0.15,0.08,0.02,0.01}; -// G4double B0PP[4]={1.5,2.8,3.8,3.8}; - G4double B1PP[4]={0.8,1.6,3.6,4.6}; - - if(BoundaryP[4]EnPP[iStep]) iStep++; - - Coeff0 = LineInterpol(EnPP[iStep], EnPP[iStep-1], - C0PP[iStep], C0PP[iStep-1], - HadrP); - Slope1 = LineInterpol(EnPP[iStep], EnPP[iStep-1], - B1PP[iStep], B1PP[iStep-1], - HadrP); - Coeff2 = 0.02/HadrP; - Slope2 = 5; - } // else - } break; // case -211 - - case 321 : - { - G4double EnK[4]={1.4,2.33,3.0,5.0}; - G4double C0K[4]={0.0,0.0,0.0,0.0}; - G4double C1K[4]={0.01,0.007,0.005,0.003}; - G4double B0K[4]={1.5,2.0,3.8,3.8}; - G4double B1K[4]={1.6,1.6,1.6,1.6}; - - if(BoundaryP[5]EnK[iStep]) iStep++; - - Coeff0 = LineInterpol(EnK[iStep], EnK[iStep-1], - C0K[iStep], C0K[iStep-1], - HadrP); - - Coeff1 = LineInterpol(EnK[iStep], EnK[iStep-1], - C1K[iStep], C1K[iStep-1], - HadrP); - - Slope0 = LineInterpol(EnK[iStep], EnK[iStep-1], - B0K[iStep], B0K[iStep-1], - HadrP); - - Slope1 = LineInterpol(EnK[iStep], EnK[iStep-1], - B1K[iStep], B1K[iStep-1], - HadrP); - Coeff2 = 0.34/HadrP/HadrP/HadrP; - Slope2 = 5; - } // else - } break; // case 321 - case -321 : - { - G4double EnKM[2]={1.4,4.0}; - G4double C0KM[2]={0.006,0.002}; - G4double C1KM[2]={0.00,0.00}; - G4double B0KM[2]={2.5,3.5}; - G4double B1KM[2]={1.6,1.6}; - - if(BoundaryP[6]EnKM[iStep]) iStep++; - - Coeff0 = LineInterpol(EnKM[iStep], EnKM[iStep-1], - C0KM[iStep], C0KM[iStep-1], - HadrP); - - Coeff1 = LineInterpol(EnKM[iStep], EnKM[iStep-1], - C1KM[iStep], C1KM[iStep-1], - HadrP); - - Slope0 = LineInterpol(EnKM[iStep], EnKM[iStep-1], - B0KM[iStep], B0KM[iStep-1], - HadrP); - - Slope1 = LineInterpol(EnKM[iStep], EnKM[iStep-1], - B1KM[iStep], B1KM[iStep-1], - HadrP); - Coeff2 = 0.01/HadrP/HadrP/HadrP; - Slope2 = 5; - } // else - } break; // case -321 - } - } -// ++++++++++++++++++++++++++++++++++++++++ -G4double G4ElasticHadrNucleusHE:: - LineInterpol(G4double p1, G4double p2, - G4double c1, G4double c2, - G4double p) - { - G4double c; - - c = c1+(p-p1)/(p2-p1)*(c2-c1); - return c; - } -// ============================================================ -G4float G4ElasticHadrNucleusHE::GetFt(G4double Q2) - { - G4float Fdistr, SqrQ2 = std::sqrt(Q2); - - Fdistr = (1-Coeff1-Coeff0/*-0.0*Coeff2*std::exp(ConstU)*/) - /Slope*(1-std::exp(-Slope*Q2)) - - +Coeff0*(1-std::exp(-Slope0*Q2)) - - +Coeff2/Slope2*std::exp(Slope2*ConstU)* - (std::exp(Slope2*Q2)-1) - - +2*Coeff1/Slope1*(1/Slope1-(1/Slope1+SqrQ2)* - std::exp(-Slope1*SqrQ2)) - ; - - return Fdistr; - } -// +++++++++++++++++++++++++++++++++++++++ -G4float G4ElasticHadrNucleusHE::GetDistrFun(G4double Q2) - { - G4float Fq2; - - Fq2 = GetFt(Q2); - - if(verboselevel == 1) - G4cout<<" GetDistrFun: Fq2 "< 0.0001) - { - if(delta>0) - { - DDD2 = DDD0; - DDD0 = (DDD0+DDD1)*0.5; - } - else if(delta<0) - { - DDD1 = DDD0; - DDD0 = (DDD0+DDD2)*0.5; - } - delta = GetDistrFun(DDD0)-Ran; - } - - Q2 = DDD0; - - return Q2; - } -// ++++++++++++++++++++++++++++++++++++++++++ -G4double G4ElasticHadrNucleusHE:: - HadronProtonQ2(const G4ParticleDefinition * aHadron, - G4double inLabMom) - { - G4double Ran = G4UniformRand(), Q2; - - GetKinematics(aHadron, inLabMom); - - Q2 = GetQ2(Ran); - - return Q2; - } - -// =========================================== -// ########################################################## -void G4ElasticHadrNucleusHE:: - GetHadronValues(const G4ParticleDefinition * aHadron, - G4double HadrMoment) -{ - G4double protM = proton_mass_c2/GeV; - G4double protM2 = protM*protM; - - G4int iHadron(-1), iHadrCode; - iHadrCode = aHadron->GetPDGEncoding(); - - if( iHadrCode == 2212 || - iHadrCode == 2112 || - iHadrCode == 3122 || - iHadrCode == 3222 || - iHadrCode == 3112 || - iHadrCode == 3212 || - iHadrCode == 3312 || - iHadrCode == 3322 || - iHadrCode == 3334 ) iHadron = 0; - - else if( - iHadrCode == -2212 || - iHadrCode == -2112 || - iHadrCode == -3122 || - iHadrCode == -3222 || - iHadrCode == -3112 || - iHadrCode == -3212 || - iHadrCode == -3312 || - iHadrCode == -3322 || - iHadrCode == -3334 ) iHadron = 1; - - else if( iHadrCode == 211) iHadron = 2; - else if( iHadrCode == -211) iHadron = 3; - - else if( iHadrCode == 321 || - iHadrCode == 130 || - iHadrCode == 310 || - iHadrCode == 311) iHadron = 4; - - else if( iHadrCode == -321 || - iHadrCode == -130 || - iHadrCode == -310 || - iHadrCode == -311) iHadron = 5; - - else - { - G4cout<<" ElasticHE: For the hadron " - << aHadron->GetParticleName() - <<" other method must be used."<GetPDGMass()/GeV; // In GeV - G4double mHadr2 = mHadr*mHadr; - - G4double HadrEnergy = sqrt(mHadr2+HadrMoment*HadrMoment); - - G4double sHadr = 2*HadrEnergy*protM+protM2+mHadr2; - G4double sqrS = std::sqrt(sHadr); - G4double Ecm = (sHadr-mHadr2+protM2)/2/sqrS; - MomentumCM = std::sqrt(Ecm*Ecm-protM2); - - if(HadrEnergy-mHadr<0.39) - { - G4cout<<"ElasticHE(GetHadronValues): The energy T = " - <<(HadrEnergy-mHadr) - <<" GeV is very low for this method! T = 0.400 GeV is set." - <10) - { - B0 = 7.5; - A0 = 100-B0*17.2167; // log(3.0e7) - -// HadrTot = A0+B0*std::log(HadrEnergy) -8 -// +81*std::pow(HadrEnergy,-0.175); // mb - - TotP = TotN = A0+B0*logE-11 - +103*std::pow(sHadr,-0.165); // mb - } -// ================== neutron ================ - else if(HadrMoment <= 10 && HadrMoment >1.4 /*iHadrCode == 2112*/) - { -// HadrTot - - TotN = 33.3+ - 15.2*(HadrMoment*HadrMoment-1.35)/ - (std::pow(HadrMoment,2.37)+0.95); - } - - else if(HadrMoment <= 1.4 && HadrMoment > 0.8 /*iHadrCode == 2112*/) - { -// HadrTot = 33+25.5*std::pow(std::log(HadrMoment/0.95),2.0); - - TotN = 33+25.5*(logE+0.0513)*(logE+0.0513); // -log(0.95) - } - - else if(HadrMoment <= 0.8 /*&& iHadrCode == 2112*/) - { -// HadrTot = 33+30*std::pow(std::log(HadrMoment/1.3),4.0); - - A0 = (logE-0.2634)*(logE-0.2634); // log(1.3) - TotN = 33+30*A0*A0; - } -// ================= proton =============== - if(HadrMoment <= 10 && HadrMoment>1.05 /*iHadrCode == 2212*/) - { -// HadrTot - - TotP = 39.0+ - 75*(HadrMoment-1.2)/(HadrMoment*HadrMoment*HadrMoment+0.15); - } - - else if(HadrMoment <= 1.05 && HadrMoment > 0.7 /*iHadrCode == 2212*/) - { - A0 = logE+0.3147; -// HadrTot - - TotP = 23+40*A0*A0; - } - - else if(HadrMoment <= 0.7 /*&& iHadrCode == 2212*/) - { -// HadrTot = 23+50*std::pow(std::log(0.73/HadrMoment),3.5); - - TotP = 23+50*std::pow(std::log(0.73/HadrMoment),3.5); - } - - HadrTot = (TotP+TotN)/2; - -// ============================================ - HadrSlope = 6.44+0.88*std::log(sHadr)-1; // GeV-2 - if(HadrMoment<2) HadrSlope = 1.5; - - if(HadrMoment>1.2) - HadrReIm = 0.13*std::log(sHadr/350)* - std::pow(sHadr,-0.18); - - else if(HadrMoment <= 1.2 && HadrMoment > 0.6) - { - HadrReIm = -0.0- - 75.5*(std::pow(HadrMoment,0.25)-0.95)/ - (std::pow(3*HadrMoment,2.2)+1); - } - - else if(HadrMoment <= 0.6) - { - A0 = 9*HadrMoment*HadrMoment; - HadrReIm = -0.0+ - 15.5*HadrMoment/(A0*3*HadrMoment+2); - } - - DDSect2 = 11; //mb*GeV-2 - DDSect3 = 3; //mb*GeV-2 -// ================== lambda ================== - if( iHadrCode == 3122) - { - HadrTot *= 0.88; - HadrSlope *=0.85; - } -// ================== sigma + ================== - if( iHadrCode == 3222) - { - HadrTot *=0.81; - HadrSlope *=0.85; - } -// ================== sigma 0,- ================== - if(iHadrCode == 3112 || iHadrCode == 3212 ) - { - HadrTot *=0.88; - HadrSlope *=0.85; - } -// =================== xi ================= - if( iHadrCode == 3312 || iHadrCode == 3322 ) - { - HadrTot *=0.77; - HadrSlope *=0.75; - } -// ================= omega ================= - if( iHadrCode == 3334) - { - HadrTot *=0.78; - HadrSlope *=0.7; - } - - break; -// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& - case 1: // antiproton - - sqrS = std::sqrt(sHadr); - HadrTot = 5.2+5.2*std::log(HadrEnergy) - +123.2*std::pow(HadrEnergy,-0.5); // mb - HadrSlope = 8.32+0.57*std::log(sHadr); //GeV-2 - - if(HadrEnergy<1000) - HadrReIm =0.06*(sqrS-2.236)*(sqrS-14.14)* - std::pow(sHadr,-0.8); - else - HadrReIm = 0.6*std::log(sHadr/350)*std::pow(sHadr,-0.25); - - DDSect2 = 11; //mb*GeV-2 - DDSect3 = 3; //mb*GeV-2 -// ================== lambda ================== - if( iHadrCode == -3122) - { - HadrTot *= 0.88; - HadrSlope *=0.85; - } -// ================== sigma + ================== - if( iHadrCode == -3222) - { - HadrTot *=0.81; - HadrSlope *=0.85; - } -// ================== sigma 0,- ================== - if(iHadrCode == -3112 || iHadrCode == -3212 ) - { - HadrTot *=0.88; - HadrSlope *=0.85; - } -// =================== xi ================= - if( iHadrCode == -3312 || iHadrCode == -3322 ) - { - HadrTot *=0.77; - HadrSlope *=0.75; - } -// ================= omega ================= - if( iHadrCode == -3334) - { - HadrTot *=0.78; + case 0: // proton, neutron + case 6: + + TotP = TotN = 7.5*logE - 40.12525 + 103*std::pow(sHadr,-0.165); // mb + + if(hLabMomentum<10.) + { + // ================== neutron ================ + + if(iHadrCode == 2112) + { + if( hLabMomentum > 1.4 ) + TotN = 33.3+15.2*(hLabMomentum2-1.35)/(std::pow(hLabMomentum,2.37)+0.95); + + else if(hLabMomentum > 0.8) + { + G4double A0 = logE + 0.0513; + TotN = 33.0 + 25.5*A0*A0; + } + else + { + G4double A0 = logE - 0.2634; // log(1.3) + TotN = 33.0 + 30.*A0*A0*A0*A0; + } + // ================= proton =============== + } + else if(iHadrCode == 2212) + { + if(hLabMomentum>1.05) + TotP = 39.0+75.*(hLabMomentum-1.2)/(hLabMomentum2*hLabMomentum+0.15); + + else if(hLabMomentum > 0.7) + { + G4double A0 = logE + 0.3147; + TotP = 23.0 + 40.*A0*A0; + } + else + TotP = 23.+50.*std::pow(std::log(0.73/hLabMomentum),3.5); + } + } + HadrTot = 0.5*(TotP+TotN); + + // Proton slope + HadrSlope = 5.44 + 0.88*logS; // GeV-2 + + if( hLabMomentum < 2.) HadrSlope = 1.5; + + if(hLabMomentum>1.2) + HadrReIm = 0.13*(logS - 5.8579332)*std::pow(sHadr,-0.18); + + else if(hLabMomentum > 0.6) + HadrReIm = -75.5*(std::pow(hLabMomentum,0.25)-0.95)/ + (std::pow(3*hLabMomentum,2.2)+1); + + else + HadrReIm = 15.5*hLabMomentum/(27*hLabMomentum2*hLabMomentum+2); + + DDSect2 = 11; //mb*GeV-2 + DDSect3 = 3; //mb*GeV-2 + // ================== lambda ================== + if( iHadrCode == 3122) + { + HadrTot *= 0.88; + HadrSlope *=0.85; + } + // ================== sigma + ================== + if( iHadrCode == 3222) + { + HadrTot *=0.81; + HadrSlope *=0.85; + } + // ================== sigma 0,- ================== + if(iHadrCode == 3112 || iHadrCode == 3212 ) + { + HadrTot *=0.88; + HadrSlope *=0.85; + } + // =================== xi ================= + if( iHadrCode == 3312 || iHadrCode == 3322 ) + { + HadrTot *=0.77; + HadrSlope *=0.75; + } + // ================= omega ================= + if( iHadrCode == 3334) + { + HadrTot *=0.78; + HadrSlope *=0.7; + } + + break; + + case 1: + case 7: // antiproton + + HadrTot = 5.2+5.2*logE + 123.2/sqrS; // mb + HadrSlope = 8.32+0.57*logS; //GeV-2 + + if( HadrEnergy < 1000 ) + HadrReIm = 0.06*(sqrS-2.236)*(sqrS-14.14)*std::pow(sHadr,-0.8); + else + HadrReIm = 0.6*(logS - 5.8579332)*std::pow(sHadr,-0.25); + + DDSect2 = 11; //mb*GeV-2 + DDSect3 = 3; //mb*GeV-2 + // ================== lambda ================== + if( iHadrCode == -3122) + { + HadrTot *= 0.88; + HadrSlope *=0.85; + } + // ================== sigma + ================== + else if( iHadrCode == -3222) + { + HadrTot *=0.81; + HadrSlope *=0.85; + } + // ================== sigma 0,- ================== + else if(iHadrCode == -3112 || iHadrCode == -3212 ) + { + HadrTot *=0.88; + HadrSlope *=0.85; + } + // =================== xi ================= + else if( iHadrCode == -3312 || iHadrCode == -3322 ) + { + HadrTot *=0.77; + HadrSlope *=0.75; + } + // ================= omega ================= + else if( iHadrCode == -3334) + { + HadrTot *=0.78; HadrSlope *=0.7; - } + } - break; -// ------------------------------------------- + break; + // ------------------------------------------- case 2: // pi plus, pi minus case 3: - if(HadrMoment>3.5) -// HadrTot - TotP = 10.6+2.*logE+ - 25*std::pow(HadrEnergy,-0.43); // mb -// ========================================= - else if(HadrMoment <= 3.5 && HadrMoment >1.15) - { - G4double Ex1 = 3.2* - std::exp(-(HadrMoment-2.55)*(HadrMoment-2.55)/0.55/0.55); + if(hLabMomentum>3.5) + TotP = 10.6+2.*logE + 25.*std::pow(HadrEnergy,-0.43); // mb + // ========================================= + else if(hLabMomentum >1.15) + { + G4double x = (hLabMomentum - 2.55)/0.55; + G4double y = (hLabMomentum - 1.47)/0.225; + TotP = 3.2*std::exp(-x*x) + 12.*std::exp(-y*y) + 27.5; + } + // ========================================= + else if(hLabMomentum >0.4) + TotP = 88*(logE+0.2877)*(logE+0.2877)+14.0; + + // ========================================= + else + { + G4double x = (hLabMomentum - 0.29)/0.085; + TotP = 20. + 180.*std::exp(-x*x); + } + // ------------------------------------------- - G4double Ex2 = 12* - std::exp(-(HadrMoment-1.47)*(HadrMoment-1.47)/0.225/0.225); - - TotP = Ex1+Ex2+27.5; - } -// ========================================= - else if(HadrMoment <= 1.15) - { -// G4double Ex4 = 88*(std::log(HadrMoment/0.75))* -// (std::log(HadrMoment/0.75)); - - TotP = 88*(logE+0.2877)*(logE+0.2877)+14.0; - -// G4cout<<"HadrValue: Pi+ Mom Kin Tot Ex3 "< 3.0 ) - TotN = 10.6+2*std::log(HadrEnergy)+ - 30*std::pow(HadrEnergy,-0.43); // mb - - else if(HadrMoment <= 3.0 && HadrMoment > 1.3) - TotN = 36.1+0.079-4.313*logE+ - 3*std::exp(-(HadrMoment-2.1)*(HadrMoment-2.1)/0.4/0.4)+ - 1.5*std::exp(-(HadrMoment-1.4)*(HadrMoment-1.4)/0.12/0.12); - - else if(HadrMoment <= 1.3 && HadrMoment > 0.65) - TotN = 36.1+ - 10*std::exp(-(HadrMoment-0.72)*(HadrMoment-0.72)/0.06/0.06)+ - 24*std::exp(-(HadrMoment-1.015)*(HadrMoment-1.015)/0.075/0.075); - - else if(HadrMoment <= 0.65 && HadrMoment > 0.37) - { - TotN = 26+110*(std::log(HadrMoment/0.48))* - (std::log(HadrMoment/0.48)); - } - - else ///(HadrMoment<0.37) - TotN = 28.0+ - 40*std::exp(-(HadrMoment-0.29)*(HadrMoment-0.29)/0.07/0.07); + if(hLabMomentum > 3.0 ) + TotN = 10.6 + 2.*logE + 30.*std::pow(HadrEnergy,-0.43); // mb + else if(hLabMomentum > 1.3) + { + G4double x = (hLabMomentum - 2.1)/0.4; + G4double y = (hLabMomentum - 1.4)/0.12; + TotN = 36.1+0.079 - 4.313*logE + 3.*std::exp(-x*x) + 1.5*std::exp(-y*y); + } + else if(hLabMomentum > 0.65) + { + G4double x = (hLabMomentum - 0.72)/0.06; + G4double y = (hLabMomentum - 1.015)/0.075; + TotN = 36.1 + 10.*std::exp(-x*x) + 24*std::exp(-y*y); + } + else if(hLabMomentum > 0.37) + { + G4double x = std::log(hLabMomentum/0.48); + TotN = 26. + 110.*x*x; + } + else + { + G4double x = (hLabMomentum - 0.29)/0.07; + TotN = 28.0 + 40.*std::exp(-x*x); + } HadrTot = (TotP+TotN)/2; - HadrSlope = 7.28+0.245*std::log(sHadr); // GeV-2 - HadrReIm = 0.2*std::log(sHadr/100)*std::pow(sHadr,-0.15); + HadrSlope = 7.28+0.245*logS; // GeV-2 + HadrReIm = 0.2*(logS - 4.6051702)*std::pow(sHadr,-0.15); DDSect2 = 4.6; //mb*GeV-2 DDSect3 = 1.33; //mb*GeV-2 - break; -// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& + break; + case 4: // K plus - HadrTot = 10.6+1.8*std::log(HadrEnergy)+ - 9.0*std::pow(HadrEnergy,-0.55); // mb + HadrTot = 10.6+1.8*logE + 9.0*std::pow(HadrEnergy,-0.55); // mb if(HadrEnergy>100) HadrSlope = 15.0; - else -// HadrSlope = 5.28+1.76*std::log(sHadr)- - HadrSlope = 1.0+1.76*std::log(sHadr)- - 2.84*std::pow(sHadr,-0.5); // GeV-2 - HadrReIm = 0.4*(sHadr-20)*(sHadr-150)* - std::pow(sHadr+50,-2.1); - DDSect2 = 3.5; //mb*GeV-2 - DDSect3 = 1.03; //mb*GeV-2 - break; -// &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& - case 5: // K minus + else HadrSlope = 1.0+1.76*logS - 2.84/sqrS; // GeV-2 - HadrTot = 10+1.8*std::log(HadrEnergy) - +25*std::pow(HadrEnergy,-0.5); // mb - HadrSlope = 6.98+0.127*std::log(sHadr); // GeV-2 -// if(HadrEnergy<8) HadrReIm = 0.7; -// else - HadrReIm = 0.4*(sHadr-20)*(sHadr-20)* - std::pow(sHadr+50,-2.1); + HadrReIm = 0.4*(sHadr-20)*(sHadr-150)*std::pow(sHadr+50,-2.1); DDSect2 = 3.5; //mb*GeV-2 DDSect3 = 1.03; //mb*GeV-2 - break; - } // switch + break; + + case 5: // K minus + + HadrTot = 10+1.8*logE + 25./sqrS; // mb + HadrSlope = 6.98+0.127*logS; // GeV-2 + HadrReIm = 0.4*(sHadr-20)*(sHadr-20)*std::pow(sHadr+50,-2.1); + DDSect2 = 3.5; //mb*GeV-2 + DDSect3 = 1.03; //mb*GeV-2 + break; + } + if(verboseLevel>2) + G4cout << "HadrTot= " << HadrTot << " HadrSlope= " << HadrSlope + << " HadrReIm= " << HadrReIm << " DDSect2= " << DDSect2 + << " DDSect3= " << DDSect3 << G4endl; + + if(Z != 1) return; + + // Scattering of protons + + Coeff0 = Coeff1 = Coeff2 = 0.0; + Slope0 = Slope1 = 1.0; + Slope2 = 5.0; + + // data for iHadron=0 + static const G4double EnP0[6]={1.5,3.0,5.0,9.0,14.0,19.0}; + static const G4double C0P0[6]={0.15,0.02,0.06,0.08,0.0003,0.0002}; + static const G4double C1P0[6]={0.05,0.02,0.03,0.025,0.0,0.0}; + static const G4double B0P0[6]={1.5,2.5,3.0,4.5,1.4,1.25}; + static const G4double B1P0[6]={5.0,1.0,3.5,4.0,4.8,4.8}; + + // data for iHadron=6,7 + static const G4double EnN[5]={1.5,5.0,10.0,14.0,20.0}; + static const G4double C0N[5]={0.0,0.0,0.02,0.02,0.01}; + static const G4double C1N[5]={0.06,0.008,0.0015,0.001,0.0003}; + static const G4double B0N[5]={1.5,2.5,3.8,3.8,3.5}; + static const G4double B1N[5]={1.5,2.2,3.6,4.5,4.8}; + + // data for iHadron=1 + static const G4double EnP[2]={1.5,4.0}; + static const G4double C0P[2]={0.001,0.0005}; + static const G4double C1P[2]={0.003,0.001}; + static const G4double B0P[2]={2.5,4.5}; + static const G4double B1P[2]={1.0,4.0}; + + // data for iHadron=2 + static const G4double EnPP[4]={1.0,2.0,3.0,4.0}; + static const G4double C0PP[4]={0.0,0.0,0.0,0.0}; + static const G4double C1PP[4]={0.15,0.08,0.02,0.01}; + static const G4double B0PP[4]={1.5,2.8,3.8,3.8}; + static const G4double B1PP[4]={0.8,1.6,3.6,4.6}; + + // data for iHadron=3 + static const G4double EnPPN[4]={1.0,2.0,3.0,4.0}; + static const G4double C0PPN[4]={0.0,0.0,0.0,0.0}; + static const G4double C1PPN[4]={0.0,0.0,0.0,0.0}; + static const G4double B0PPN[4]={1.5,2.8,3.8,3.8}; + static const G4double B1PPN[4]={0.8,1.6,3.6,4.6}; + + // data for iHadron=4 + static const G4double EnK[4]={1.4,2.33,3.0,5.0}; + static const G4double C0K[4]={0.0,0.0,0.0,0.0}; + static const G4double C1K[4]={0.01,0.007,0.005,0.003}; + static const G4double B0K[4]={1.5,2.0,3.8,3.8}; + static const G4double B1K[4]={1.6,1.6,1.6,1.6}; + + // data for iHadron=5 + static const G4double EnKM[2]={1.4,4.0}; + static const G4double C0KM[2]={0.006,0.002}; + static const G4double C1KM[2]={0.00,0.00}; + static const G4double B0KM[2]={2.5,3.5}; + static const G4double B1KM[2]={1.6,1.6}; + + switch(iHadron) + { + case 0 : + + if(hLabMomentum < EnP0[5]) + InterpolateHN(6,EnP0,C0P0,C1P0,B0P0,B1P0); + break; + + case 6 : + case 7 : + + if(hLabMomentum < EnN[4]) + InterpolateHN(5,EnN,C0N,C1N,B0N,B1N); + break; + + case 1 : + + if(hLabMomentum < EnP[1]) + InterpolateHN(2,EnP,C0P,C1P,B0P,B1P); + break; + + case 2 : + + if(hLabMomentum < EnPP[3]) + InterpolateHN(4,EnPP,C0PP,C1PP,B0PP,B1PP); + Coeff2 = 0.02/hLabMomentum; + break; + + case 3 : + + if(hLabMomentum < EnPPN[3]) + InterpolateHN(4,EnPPN,C0PPN,C1PPN,B0PPN,B1PPN); + Coeff2 = 0.02/hLabMomentum; + break; + + case 4 : + + if(hLabMomentum < EnK[3]) + InterpolateHN(4,EnK,C0K,C1K,B0K,B1K); + Coeff2 = 0.34/hLabMomentum2/hLabMomentum; + break; + + case 5 : + if(hLabMomentum < EnKM[1]) + InterpolateHN(2,EnKM,C0KM,C1KM,B0KM,B1KM); + Coeff2 = 0.01/hLabMomentum2/hLabMomentum; + break; } -// ========================================================= +} -/* End of file */ +/////////////////////////////////////////////////////////////////// +// +// + +void G4ElasticHadrNucleusHE::Binom() +{ + G4int N, M; + G4double Fact1, J; + + for(N = 0; N < 240; N++) + { + J = 1; + + for( M = 0; M <= N; M++ ) + { + Fact1 = 1; + + if ( ( N > 0 ) && ( N > M ) && M > 0 ) + { + J *= G4double(N-M+1)/G4double(M); + Fact1 = J; + } + SetBinom[N][M] = Fact1; + } + } + return; +} + + +// +// +/////////////////////////////////////////////////////////// diff --git a/source/processes/hadronic/models/coherent_elastic/src/G4HadronElastic.cc b/source/processes/hadronic/models/coherent_elastic/src/G4HadronElastic.cc index ba88fdc8d7..558cba7909 100644 --- a/source/processes/hadronic/models/coherent_elastic/src/G4HadronElastic.cc +++ b/source/processes/hadronic/models/coherent_elastic/src/G4HadronElastic.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HadronElastic.cc,v 1.48 2007/05/05 18:45:23 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4HadronElastic.cc,v 1.54 2007/05/25 17:50:49 dennis Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Physics model class G4HadronElastic (derived from G4LElastic) @@ -60,6 +60,7 @@ // 04-May-07 V.Ivanchenko do not use HE model for hydrogen target to avoid NaN; // use QElastic for p, n incident for any energy for // p and He targets only +// 11-May-07 V.Ivanchenko remove unused method Defs1 // #include "G4HadronElastic.hh" @@ -76,10 +77,9 @@ #include "G4Alpha.hh" #include "G4PionPlus.hh" #include "G4PionMinus.hh" -#include "G4NistManager.hh" -G4HadronElastic::G4HadronElastic() - : G4HadronicInteraction() +G4HadronElastic::G4HadronElastic(G4ElasticHadrNucleusHE* HModel) + : G4HadronicInteraction("G4HadronElastic"), hElastic(HModel) { SetMinEnergy( 0.0*GeV ); SetMaxEnergy( 100.*TeV ); @@ -91,8 +91,7 @@ G4HadronElastic::G4HadronElastic() plabLowLimit = 20.0*MeV; qCManager = G4QElasticCrossSection::GetPointer(); - nistManager = G4NistManager::Instance(); - hElastic = new G4ElasticHadrNucleusHE(); + if(!hElastic) hElastic = new G4ElasticHadrNucleusHE(); theProton = G4Proton::Proton(); theNeutron = G4Neutron::Neutron(); @@ -180,15 +179,16 @@ G4HadFinalState* G4HadronElastic::ApplyYourself( G4ElasticGenerator gtype = fLElastic; // Q-elastic for p,n scattering on H and He - if ((theParticle == theProton || theParticle == theNeutron) - && Z <= 2 && ekin >= lowEnergyLimitQ) + if (theParticle == theProton || theParticle == theNeutron) + // && Z <= 2 && ekin >= lowEnergyLimitQ) gtype = fQElastic; else { // S-wave for very low energy if(plab < plabLowLimit) gtype = fSWave; - // HE-elastic for energetic projectiles - else if(ekin >= lowEnergyLimitHE && A < 238 && Z>= 2) gtype = fHElastic; + // HE-elastic for energetic projectile mesons + else if(ekin >= lowEnergyLimitHE && theParticle->GetBaryonNumber() == 0) + gtype = fHElastic; } // @@ -211,14 +211,11 @@ G4HadFinalState* G4HadronElastic::ApplyYourself( if(gtype == fLElastic) { t = GeV*GeV*SampleT(ptot,m1,m2,aTarget); - if(t > tmax) gtype = fSWave; } // use mean atomic number if(gtype == fHElastic) { - G4int A0 = static_cast(nistManager->GetAtomicMassAmu(Z)+0.5); - t = hElastic->SampleT(theParticle,plab,Z,A0); - if(t > tmax) gtype = fSWave; + t = hElastic->SampleT(theParticle,plab,Z,A); } // NaN finder @@ -234,7 +231,7 @@ G4HadFinalState* G4HadronElastic::ApplyYourself( G4cout << " S-wave will be sampled" << G4endl; } - gtype = fSWave; + t = 0.0; } if(gtype == fSWave) t = G4UniformRand()*tmax; @@ -246,9 +243,22 @@ G4HadFinalState* G4HadronElastic::ApplyYourself( // Sampling in CM system G4double phi = G4UniformRand()*twopi; G4double cost = 1. - 2.0*t/tmax; - if(std::abs(cost) > 1.0) cost = -1.0 + 2.0*G4UniformRand(); - G4double sint = std::sqrt((1.0-cost)*(1.0+cost)); - + G4double sint; + + if( cost >= 1.0 ) + { + cost = 1.0; + sint = 0.0; + } + else if( cost <= -1.0) + { + cost = -1.0; + sint = 0.0; + } + else + { + sint = std::sqrt((1.0-cost)*(1.0+cost)); + } if (verboseLevel>1) G4cout << "cos(t)=" << cost << " std::sin(t)=" << sint << G4endl; @@ -461,9 +471,7 @@ label17: goto label4; } - // Test function for root-finder - G4double G4HadronElastic::Fctcos(G4double t, G4double aa, G4double bb, G4double cc, G4double dd, @@ -484,35 +492,3 @@ G4HadronElastic::Fctcos(G4double t, } -void -G4HadronElastic::Defs1(G4double p, G4double px, G4double py, G4double pz, - G4double pxinc, G4double pyinc, G4double pzinc, - G4double* pxnew, G4double* pynew, G4double* pznew) -{ -// Transform scattered particle to reflect direction of incident particle - G4double pt2 = pxinc*pxinc + pyinc*pyinc; - if (pt2 > 0.) { - G4double cost = pzinc/p; - G4double sint1 = std::sqrt(std::abs((1. - cost )*(1.+cost))); - G4double sint2 = std::sqrt(pt2)/p; - G4double sint = 0.5*(sint1 + sint2); - G4double ph = pi*0.5; - if (pyinc < 0.) ph = pi*1.5; - if (std::abs(pxinc) > 1.e-6) ph = std::atan2(pyinc, pxinc); - G4double cosp = std::cos(ph); - G4double sinp = std::sin(ph); - if (verboseLevel > 1) { - G4cout << "cost sint " << cost << " " << sint << G4endl; - G4cout << "cosp sinp " << cosp << " " << sinp << G4endl; - } - *pxnew = cost*cosp*px - sinp*py + sint*cosp*pz; - *pynew = cost*sinp*px + cosp*py + sint*sinp*pz; - *pznew = -sint*px +cost*pz; - } - else { - G4double cost=pzinc/p; - *pxnew = cost*px; - *pynew = py; - *pznew = cost*pz; - } -} diff --git a/source/processes/hadronic/models/coherent_elastic/src/G4LEnp.cc b/source/processes/hadronic/models/coherent_elastic/src/G4LEnp.cc index 53ee9830dd..99449ede85 100644 --- a/source/processes/hadronic/models/coherent_elastic/src/G4LEnp.cc +++ b/source/processes/hadronic/models/coherent_elastic/src/G4LEnp.cc @@ -37,8 +37,7 @@ #include "Randomize.hh" -G4LEnp::G4LEnp() : - G4HadronicInteraction() +G4LEnp::G4LEnp():G4HadronicInteraction("G4LEnp") { // theParticleChange.SetNumberOfSecondaries(1); diff --git a/source/processes/hadronic/models/coherent_elastic/src/G4LEpp.cc b/source/processes/hadronic/models/coherent_elastic/src/G4LEpp.cc index ddd9d04603..41d99351fb 100644 --- a/source/processes/hadronic/models/coherent_elastic/src/G4LEpp.cc +++ b/source/processes/hadronic/models/coherent_elastic/src/G4LEpp.cc @@ -35,8 +35,7 @@ // Initialization of static data arrays: #include "G4LEppData.hh" -G4LEpp::G4LEpp() : - G4HadronicInteraction() +G4LEpp::G4LEpp():G4HadronicInteraction("G4LEpp") { // theParticleChange.SetNumberOfSecondaries(1); // SetMinEnergy(10.*MeV); diff --git a/source/processes/hadronic/models/coherent_elastic/src/G4UHadronElasticProcess.cc b/source/processes/hadronic/models/coherent_elastic/src/G4UHadronElasticProcess.cc index b1986781e8..2912b27355 100644 --- a/source/processes/hadronic/models/coherent_elastic/src/G4UHadronElasticProcess.cc +++ b/source/processes/hadronic/models/coherent_elastic/src/G4UHadronElasticProcess.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4UHadronElasticProcess.cc,v 1.32 2007/03/12 10:58:45 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4UHadronElasticProcess.cc,v 1.34 2007/06/14 17:08:27 vnivanch Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // Geant4 Hadron Elastic Scattering Process -- header file // @@ -37,6 +37,7 @@ // 26.09.06 V.Ivanchenko add lowestEnergy // 20.10.06 V.Ivanchenko initialise lowestEnergy=0 for neitrals, eV for charged // 23.01.07 V.Ivanchnko add cross section interfaces with Z and A +// 02.05.07 V.Ivanchnko add He3 // #include "G4UHadronElasticProcess.hh" @@ -162,7 +163,7 @@ G4double G4UHadronElasticProcess::GetMicroscopicCrossSection( x = 0.0; if(ni == 0) { G4int N = G4int(elm->GetN()+0.5) - iz; - x = qCManager->GetCrossSection(false,momentum,iz,N,pPDG); + x = qCManager->GetCrossSection(true,momentum,iz,N,pPDG); xsecH[0] = x; if(verboseLevel>1) G4cout << "G4UHadronElasticProcess compute CHIPS CS for Z= " << iz @@ -183,7 +184,7 @@ G4double G4UHadronElasticProcess::GetMicroscopicCrossSection( << " N= " << N << " pdg= " << pPDG << " mom(GeV)= " << momentum/GeV << " " << qCManager << G4endl; - G4double y = ab[j]*qCManager->GetCrossSection(false,momentum,iz,N,pPDG); + G4double y = ab[j]*qCManager->GetCrossSection(true,momentum,iz,N,pPDG); x += y; xsecH[j] = x; } @@ -351,6 +352,7 @@ IsApplicable(const G4ParticleDefinition& aParticleType) aParticleType == *(G4AntiXiMinus::AntiXiMinus()) || aParticleType == *(G4Deuteron::Deuteron()) || aParticleType == *(G4Triton::Triton()) || + aParticleType == *(G4He3::He3()) || aParticleType == *(G4Alpha::Alpha()) || aParticleType == *(G4OmegaMinus::OmegaMinus()) || aParticleType == *(G4AntiOmegaMinus::AntiOmegaMinus())); diff --git a/source/processes/hadronic/models/de_excitation/History b/source/processes/hadronic/models/de_excitation/History index 66c379561d..f70e3f46d0 100644 --- a/source/processes/hadronic/models/de_excitation/History +++ b/source/processes/hadronic/models/de_excitation/History @@ -14,6 +14,20 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- + 5 June 2007 Alex Howard (hadr-deex-V08-03-01) +----------------------------------------------- +- Fixed bug in fix "hadr-deex-V08-03-00" - deleted pointers and iterators were + attempted to be accessed. Now a final state iterator list is created and + filled when necessary. + + + 18 May 2007 Alex Howard (hadr-deex-V08-03-00) +----------------------------------------------- +- Fixed bug in low A,Z false condition in G4DiscreteGammaDeexcitation.cc, now +the condition is (Z<2 || A<3 || Z>98) false (so stops at Cf rather than >100) +and includes helium (previously excluded) +- Fixed bug in pointer to iterator moving before its beginning G4ExcitationHandler.cc + 14 Feb 2007 Alex Howard (hadr-deex-V08-02-02) ----------------------------------------------- - evaporation diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationChannel.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationChannel.hh index 987535b513..e3e84e23fb 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationChannel.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4AlphaEvaporationChannel.hh,v 1.3 2006/06/29 20:09:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationProbability.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationProbability.hh index d4d6af9779..3e5457abf5 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationProbability.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4AlphaEvaporationProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4AlphaEvaporationProbability.hh,v 1.3 2006/06/29 20:09:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationChannel.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationChannel.hh index 319267c79f..fa5620d9e1 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationChannel.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4DeuteronEvaporationChannel.hh,v 1.3 2006/06/29 20:09:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationProbability.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationProbability.hh index 6543550047..9fa61c5296 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationProbability.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4DeuteronEvaporationProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4DeuteronEvaporationProbability.hh,v 1.3 2006/06/29 20:09:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4Evaporation.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4Evaporation.hh index c05e994768..94747eb3d8 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4Evaporation.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4Evaporation.hh @@ -25,7 +25,7 @@ // // // $Id: G4Evaporation.hh,v 1.4 2007/02/14 13:37:49 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationChannel.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationChannel.hh index 0c9d2dfc8f..cab6ae3e55 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationChannel.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4EvaporationChannel.hh,v 1.3 2006/06/29 20:09:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationFactory.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationFactory.hh index 72fba07770..480f5ee025 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationFactory.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationFactory.hh @@ -25,7 +25,7 @@ // // // $Id: G4EvaporationFactory.hh,v 1.3 2006/06/29 20:09:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationProbability.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationProbability.hh index dbddfdd277..33577f932c 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationProbability.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4EvaporationProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4EvaporationProbability.hh,v 1.3 2006/06/29 20:09:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationChannel.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationChannel.hh index 6fd11daf4a..b44c1ad1ed 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationChannel.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4He3EvaporationChannel.hh,v 1.3 2006/06/29 20:09:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationProbability.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationProbability.hh index 9eeacce4a2..75ba7941e9 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationProbability.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4He3EvaporationProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4He3EvaporationProbability.hh,v 1.3 2006/06/29 20:10:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationChannel.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationChannel.hh index c474cbe4cb..93b12e155f 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationChannel.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronEvaporationChannel.hh,v 1.3 2006/06/29 20:10:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationProbability.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationProbability.hh index 0384160f3e..cc9110b32d 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationProbability.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4NeutronEvaporationProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronEvaporationProbability.hh,v 1.4 2006/06/29 20:10:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationChannel.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationChannel.hh index 8686dfe2c9..6a2e3633ec 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationChannel.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProtonEvaporationChannel.hh,v 1.3 2006/06/29 20:10:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationProbability.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationProbability.hh index 3709473cf4..b231386481 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationProbability.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4ProtonEvaporationProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProtonEvaporationProbability.hh,v 1.3 2006/06/29 20:10:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationChannel.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationChannel.hh index b947e682b6..ec10949737 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationChannel.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4TritonEvaporationChannel.hh,v 1.3 2006/06/29 20:10:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationProbability.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationProbability.hh index aff5f3b693..e022a67cb1 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationProbability.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4TritonEvaporationProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4TritonEvaporationProbability.hh,v 1.3 2006/06/29 20:10:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/include/G4VEvaporation.hh b/source/processes/hadronic/models/de_excitation/evaporation/include/G4VEvaporation.hh index 0cea97c448..39890be2c7 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/include/G4VEvaporation.hh +++ b/source/processes/hadronic/models/de_excitation/evaporation/include/G4VEvaporation.hh @@ -25,7 +25,7 @@ // // // $Id: G4VEvaporation.hh,v 1.3 2006/06/29 20:10:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) written from G4Evaporation.hh (May 1998) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4AlphaEvaporationChannel.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4AlphaEvaporationChannel.cc index 7d1fb6e04f..f9e98650f4 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4AlphaEvaporationChannel.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4AlphaEvaporationChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4AlphaEvaporationChannel.cc,v 1.4 2006/06/29 20:10:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4AlphaEvaporationProbability.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4AlphaEvaporationProbability.cc index 921d52c0ed..6b331f08f8 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4AlphaEvaporationProbability.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4AlphaEvaporationProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4AlphaEvaporationProbability.cc,v 1.4 2006/06/29 20:10:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4DeuteronEvaporationChannel.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4DeuteronEvaporationChannel.cc index e24707a343..f36e57c243 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4DeuteronEvaporationChannel.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4DeuteronEvaporationChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4DeuteronEvaporationChannel.cc,v 1.4 2006/06/29 20:10:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4DeuteronEvaporationProbability.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4DeuteronEvaporationProbability.cc index 8e17fc6b4a..f659a15d1e 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4DeuteronEvaporationProbability.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4DeuteronEvaporationProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4DeuteronEvaporationProbability.cc,v 1.4 2006/06/29 20:10:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4Evaporation.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4Evaporation.cc index f4f6ec8e11..bf02674326 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4Evaporation.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4Evaporation.cc @@ -25,7 +25,7 @@ // // // $Id: G4Evaporation.cc,v 1.7 2007/02/14 13:37:49 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationChannel.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationChannel.cc index 8dab2acb5b..980e9a940d 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationChannel.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4EvaporationChannel.cc,v 1.5 2006/06/29 20:10:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationFactory.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationFactory.cc index 38023a197a..7ea7141543 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationFactory.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationFactory.cc @@ -25,7 +25,7 @@ // // // $Id: G4EvaporationFactory.cc,v 1.4 2006/06/29 20:10:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationProbability.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationProbability.cc index 9d004f883c..162f25e416 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationProbability.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4EvaporationProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4EvaporationProbability.cc,v 1.5 2006/06/29 20:10:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4He3EvaporationChannel.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4He3EvaporationChannel.cc index 7c80d4ad7d..1662e84e71 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4He3EvaporationChannel.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4He3EvaporationChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4He3EvaporationChannel.cc,v 1.4 2006/06/29 20:10:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4He3EvaporationProbability.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4He3EvaporationProbability.cc index 494b559994..cc2b94b3f9 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4He3EvaporationProbability.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4He3EvaporationProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4He3EvaporationProbability.cc,v 1.4 2006/06/29 20:10:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4NeutronEvaporationChannel.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4NeutronEvaporationChannel.cc index e89540757c..f5ca1503fd 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4NeutronEvaporationChannel.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4NeutronEvaporationChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4NeutronEvaporationChannel.cc,v 1.4 2006/06/29 20:10:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4NeutronEvaporationProbability.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4NeutronEvaporationProbability.cc index df3102366a..1647d7d299 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4NeutronEvaporationProbability.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4NeutronEvaporationProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4NeutronEvaporationProbability.cc,v 1.4 2006/06/29 20:10:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4ProtonEvaporationChannel.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4ProtonEvaporationChannel.cc index db5bfb5373..57540a18b5 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4ProtonEvaporationChannel.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4ProtonEvaporationChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProtonEvaporationChannel.cc,v 1.4 2006/06/29 20:10:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4ProtonEvaporationProbability.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4ProtonEvaporationProbability.cc index f1d1faf97b..942d067396 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4ProtonEvaporationProbability.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4ProtonEvaporationProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProtonEvaporationProbability.cc,v 1.4 2006/06/29 20:10:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4TritonEvaporationChannel.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4TritonEvaporationChannel.cc index 8d0abe1029..c03f02483c 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4TritonEvaporationChannel.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4TritonEvaporationChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4TritonEvaporationChannel.cc,v 1.4 2006/06/29 20:10:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4TritonEvaporationProbability.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4TritonEvaporationProbability.cc index 7ead3da551..6faa397917 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4TritonEvaporationProbability.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4TritonEvaporationProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4TritonEvaporationProbability.cc,v 1.4 2006/06/29 20:10:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/evaporation/src/G4VEvaporation.cc b/source/processes/hadronic/models/de_excitation/evaporation/src/G4VEvaporation.cc index 6559c0eea7..fb5e08021c 100644 --- a/source/processes/hadronic/models/de_excitation/evaporation/src/G4VEvaporation.cc +++ b/source/processes/hadronic/models/de_excitation/evaporation/src/G4VEvaporation.cc @@ -25,7 +25,7 @@ // // // $Id: G4VEvaporation.cc,v 1.5 2006/06/29 20:10:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) writen from G4Evaporation.cc (May 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4B9FermiFragment.hh b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4B9FermiFragment.hh index 92348b051f..c3d32f1759 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4B9FermiFragment.hh +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4B9FermiFragment.hh @@ -25,7 +25,7 @@ // // // $Id: G4B9FermiFragment.hh,v 1.3 2006/06/29 20:10:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4Be8FermiFragment.hh b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4Be8FermiFragment.hh index 90944e7768..f07d5a1fd1 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4Be8FermiFragment.hh +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4Be8FermiFragment.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be8FermiFragment.hh,v 1.3 2006/06/29 20:10:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiBreakUp.hh b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiBreakUp.hh index eafae4c28b..c42dce803d 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiBreakUp.hh +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiBreakUp.hh @@ -25,7 +25,7 @@ // // // $Id: G4FermiBreakUp.hh,v 1.3 2006/06/29 20:11:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiConfiguration.hh b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiConfiguration.hh index 4732cdce5a..645b60d4a2 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiConfiguration.hh +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiConfiguration.hh @@ -25,7 +25,7 @@ // // // $Id: G4FermiConfiguration.hh,v 1.4 2006/06/29 20:11:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiConfigurationList.hh b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiConfigurationList.hh index f31fdaf0eb..3ba20ac751 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiConfigurationList.hh +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4FermiConfigurationList.hh @@ -25,7 +25,7 @@ // // // $Id: G4FermiConfigurationList.hh,v 1.5 2006/06/29 20:12:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4He5FermiFragment.hh b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4He5FermiFragment.hh index d7340fcfb6..ce2fecba6d 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4He5FermiFragment.hh +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4He5FermiFragment.hh @@ -25,7 +25,7 @@ // // // $Id: G4He5FermiFragment.hh,v 1.3 2006/06/29 20:12:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4Li5FermiFragment.hh b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4Li5FermiFragment.hh index afb6d9b577..73b2f12c35 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4Li5FermiFragment.hh +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4Li5FermiFragment.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li5FermiFragment.hh,v 1.3 2006/06/29 20:12:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4StableFermiFragment.hh b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4StableFermiFragment.hh index 7007d0be2f..d55d8693f0 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4StableFermiFragment.hh +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4StableFermiFragment.hh @@ -25,7 +25,7 @@ // // // $Id: G4StableFermiFragment.hh,v 1.3 2006/06/29 20:12:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4UnstableFermiFragment.hh b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4UnstableFermiFragment.hh index 78388f548d..b829da4846 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4UnstableFermiFragment.hh +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4UnstableFermiFragment.hh @@ -25,7 +25,7 @@ // // // $Id: G4UnstableFermiFragment.hh,v 1.3 2006/06/29 20:12:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4VFermiBreakUp.hh b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4VFermiBreakUp.hh index dd5c07f3b6..92bcd645f2 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4VFermiBreakUp.hh +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4VFermiBreakUp.hh @@ -25,7 +25,7 @@ // // // $Id: G4VFermiBreakUp.hh,v 1.3 2006/06/29 20:12:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4VFermiFragment.hh b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4VFermiFragment.hh index 0424a3aaae..f33bc3452f 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4VFermiFragment.hh +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/include/G4VFermiFragment.hh @@ -25,7 +25,7 @@ // // // $Id: G4VFermiFragment.hh,v 1.3 2006/06/29 20:12:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4B9FermiFragment.cc b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4B9FermiFragment.cc index b443296700..7598eafdaf 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4B9FermiFragment.cc +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4B9FermiFragment.cc @@ -25,7 +25,7 @@ // // // $Id: G4B9FermiFragment.cc,v 1.7 2006/06/29 20:12:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4Be8FermiFragment.cc b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4Be8FermiFragment.cc index 28f34997ee..f1cadba2de 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4Be8FermiFragment.cc +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4Be8FermiFragment.cc @@ -25,7 +25,7 @@ // // // $Id: G4Be8FermiFragment.cc,v 1.7 2006/06/29 20:12:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4FermiConfiguration.cc b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4FermiConfiguration.cc index e4ef83e6c0..dfbfb38d5e 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4FermiConfiguration.cc +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4FermiConfiguration.cc @@ -25,7 +25,7 @@ // // // $Id: G4FermiConfiguration.cc,v 1.9 2006/06/29 20:12:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4He5FermiFragment.cc b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4He5FermiFragment.cc index ab6ab5c97f..37d2e57bfd 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4He5FermiFragment.cc +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4He5FermiFragment.cc @@ -25,7 +25,7 @@ // // // $Id: G4He5FermiFragment.cc,v 1.7 2006/06/29 20:13:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4Li5FermiFragment.cc b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4Li5FermiFragment.cc index 4d1862c07e..91d35fb802 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4Li5FermiFragment.cc +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4Li5FermiFragment.cc @@ -25,7 +25,7 @@ // // // $Id: G4Li5FermiFragment.cc,v 1.7 2006/06/29 20:13:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4StableFermiFragment.cc b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4StableFermiFragment.cc index 2b74734352..d6104b4932 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4StableFermiFragment.cc +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4StableFermiFragment.cc @@ -25,7 +25,7 @@ // // // $Id: G4StableFermiFragment.cc,v 1.5 2006/06/29 20:13:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4UnstableFermiFragment.cc b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4UnstableFermiFragment.cc index 87b23fdcb8..32cafe1415 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4UnstableFermiFragment.cc +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4UnstableFermiFragment.cc @@ -25,7 +25,7 @@ // // // $Id: G4UnstableFermiFragment.cc,v 1.8 2006/06/29 20:13:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4VFermiBreakUp.cc b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4VFermiBreakUp.cc index e78c038e78..baab1e2ef0 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4VFermiBreakUp.cc +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4VFermiBreakUp.cc @@ -25,7 +25,7 @@ // // // $Id: G4VFermiBreakUp.cc,v 1.5 2006/06/29 20:13:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4VFermiFragment.cc b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4VFermiFragment.cc index 94bfa2bcab..ad5c011cea 100644 --- a/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4VFermiFragment.cc +++ b/source/processes/hadronic/models/de_excitation/fermi_breakup/src/G4VFermiFragment.cc @@ -25,7 +25,7 @@ // // // $Id: G4VFermiFragment.cc,v 1.5 2006/06/29 20:13:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/fission/include/G4CompetitiveFission.hh b/source/processes/hadronic/models/de_excitation/fission/include/G4CompetitiveFission.hh index 83613e8d43..4aa9497633 100644 --- a/source/processes/hadronic/models/de_excitation/fission/include/G4CompetitiveFission.hh +++ b/source/processes/hadronic/models/de_excitation/fission/include/G4CompetitiveFission.hh @@ -25,7 +25,7 @@ // // // $Id: G4CompetitiveFission.hh,v 1.3 2006/06/29 20:13:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/fission/include/G4FissionBarrier.hh b/source/processes/hadronic/models/de_excitation/fission/include/G4FissionBarrier.hh index 7a97cce0f1..0e20b5b486 100644 --- a/source/processes/hadronic/models/de_excitation/fission/include/G4FissionBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/fission/include/G4FissionBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4FissionBarrier.hh,v 1.3 2006/06/29 20:13:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/fission/include/G4FissionLevelDensityParameter.hh b/source/processes/hadronic/models/de_excitation/fission/include/G4FissionLevelDensityParameter.hh index aecaf06302..95e3bb3d1b 100644 --- a/source/processes/hadronic/models/de_excitation/fission/include/G4FissionLevelDensityParameter.hh +++ b/source/processes/hadronic/models/de_excitation/fission/include/G4FissionLevelDensityParameter.hh @@ -25,7 +25,7 @@ // // // $Id: G4FissionLevelDensityParameter.hh,v 1.3 2006/06/29 20:13:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/fission/include/G4FissionParameters.hh b/source/processes/hadronic/models/de_excitation/fission/include/G4FissionParameters.hh index adc498760c..577ac9e826 100644 --- a/source/processes/hadronic/models/de_excitation/fission/include/G4FissionParameters.hh +++ b/source/processes/hadronic/models/de_excitation/fission/include/G4FissionParameters.hh @@ -25,7 +25,7 @@ // // // $Id: G4FissionParameters.hh,v 1.3 2006/06/29 20:13:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/fission/include/G4FissionProbability.hh b/source/processes/hadronic/models/de_excitation/fission/include/G4FissionProbability.hh index 68c31fee57..7059438880 100644 --- a/source/processes/hadronic/models/de_excitation/fission/include/G4FissionProbability.hh +++ b/source/processes/hadronic/models/de_excitation/fission/include/G4FissionProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4FissionProbability.hh,v 1.3 2006/06/29 20:13:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/fission/include/G4VFissionBarrier.hh b/source/processes/hadronic/models/de_excitation/fission/include/G4VFissionBarrier.hh index ffc4b92c47..ce78b81041 100644 --- a/source/processes/hadronic/models/de_excitation/fission/include/G4VFissionBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/fission/include/G4VFissionBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4VFissionBarrier.hh,v 1.4 2006/06/29 20:13:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/fission/src/G4CompetitiveFission.cc b/source/processes/hadronic/models/de_excitation/fission/src/G4CompetitiveFission.cc index f8547e2013..29e38e02ec 100644 --- a/source/processes/hadronic/models/de_excitation/fission/src/G4CompetitiveFission.cc +++ b/source/processes/hadronic/models/de_excitation/fission/src/G4CompetitiveFission.cc @@ -25,7 +25,7 @@ // // // $Id: G4CompetitiveFission.cc,v 1.5 2006/06/29 20:13:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/fission/src/G4FissionBarrier.cc b/source/processes/hadronic/models/de_excitation/fission/src/G4FissionBarrier.cc index aec5b86b92..fe57220c4c 100644 --- a/source/processes/hadronic/models/de_excitation/fission/src/G4FissionBarrier.cc +++ b/source/processes/hadronic/models/de_excitation/fission/src/G4FissionBarrier.cc @@ -25,7 +25,7 @@ // // // $Id: G4FissionBarrier.cc,v 1.5 2006/06/29 20:13:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/fission/src/G4FissionLevelDensityParameter.cc b/source/processes/hadronic/models/de_excitation/fission/src/G4FissionLevelDensityParameter.cc index 362994a0b5..e88ceee8f4 100644 --- a/source/processes/hadronic/models/de_excitation/fission/src/G4FissionLevelDensityParameter.cc +++ b/source/processes/hadronic/models/de_excitation/fission/src/G4FissionLevelDensityParameter.cc @@ -25,7 +25,7 @@ // // // $Id: G4FissionLevelDensityParameter.cc,v 1.4 2006/06/29 20:13:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/fission/src/G4FissionParameters.cc b/source/processes/hadronic/models/de_excitation/fission/src/G4FissionParameters.cc index 9311098c65..305badddf6 100644 --- a/source/processes/hadronic/models/de_excitation/fission/src/G4FissionParameters.cc +++ b/source/processes/hadronic/models/de_excitation/fission/src/G4FissionParameters.cc @@ -25,7 +25,7 @@ // // // $Id: G4FissionParameters.cc,v 1.5 2006/06/29 20:13:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/fission/src/G4FissionProbability.cc b/source/processes/hadronic/models/de_excitation/fission/src/G4FissionProbability.cc index aebb05ff73..46569d7d4e 100644 --- a/source/processes/hadronic/models/de_excitation/fission/src/G4FissionProbability.cc +++ b/source/processes/hadronic/models/de_excitation/fission/src/G4FissionProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4FissionProbability.cc,v 1.8 2007/02/12 09:39:58 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/fission/src/G4VFissionBarrier.cc b/source/processes/hadronic/models/de_excitation/fission/src/G4VFissionBarrier.cc index 4c464c53e8..28135247f2 100644 --- a/source/processes/hadronic/models/de_excitation/fission/src/G4VFissionBarrier.cc +++ b/source/processes/hadronic/models/de_excitation/fission/src/G4VFissionBarrier.cc @@ -25,7 +25,7 @@ // // // $Id: G4VFissionBarrier.cc,v 1.4 2006/06/29 20:13:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4AlphaGEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4AlphaGEMChannel.hh index e4567a0250..b268738e44 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4AlphaGEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4AlphaGEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4AlphaGEMChannel.hh,v 1.3 2006/06/29 20:13:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4AlphaGEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4AlphaGEMProbability.hh index c92ffc435c..a0932d4c99 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4AlphaGEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4AlphaGEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4AlphaGEMProbability.hh,v 1.3 2006/06/29 20:13:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B10GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B10GEMChannel.hh index 6251e6bd92..7cebee22b8 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B10GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B10GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4B10GEMChannel.hh,v 1.3 2006/06/29 20:13:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B10GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B10GEMCoulombBarrier.hh index ce202c66e9..6a3c1b7dc5 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B10GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B10GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4B10GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:13:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B10GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B10GEMProbability.hh index 1feaffefa0..bee9db932a 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B10GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B10GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4B10GEMProbability.hh,v 1.3 2006/06/29 20:13:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B11GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B11GEMChannel.hh index 9f38b1be4c..a3c1b0ca2e 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B11GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B11GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4B11GEMChannel.hh,v 1.3 2006/06/29 20:13:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B11GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B11GEMCoulombBarrier.hh index 387b7a5d79..5718f9643c 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B11GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B11GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4B11GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:13:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B11GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B11GEMProbability.hh index 28c71111a3..c7ca028b7e 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B11GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B11GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4B11GEMProbability.hh,v 1.3 2006/06/29 20:14:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B12GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B12GEMChannel.hh index 2ebc22e407..4dcf353f94 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B12GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B12GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4B12GEMChannel.hh,v 1.3 2006/06/29 20:14:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B12GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B12GEMCoulombBarrier.hh index 2949ef4309..2d367026a7 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B12GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B12GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4B12GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:14:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B12GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B12GEMProbability.hh index 7f686f4da1..2c292d1dc4 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B12GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B12GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4B12GEMProbability.hh,v 1.3 2006/06/29 20:14:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B13GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B13GEMChannel.hh index 2fcf7e6993..da6bc6b1a7 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B13GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B13GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4B13GEMChannel.hh,v 1.3 2006/06/29 20:14:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B13GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B13GEMCoulombBarrier.hh index 1071f75dac..6678caf2fe 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B13GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B13GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4B13GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:14:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B13GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B13GEMProbability.hh index 975458d9c5..614d2de064 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B13GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B13GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4B13GEMProbability.hh,v 1.3 2006/06/29 20:14:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B8GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B8GEMChannel.hh index da85d73bc4..150c636eb6 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B8GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B8GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4B8GEMChannel.hh,v 1.3 2006/06/29 20:14:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B8GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B8GEMCoulombBarrier.hh index 976383fbda..bfef766a19 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B8GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B8GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4B8GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:14:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B8GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B8GEMProbability.hh index 5bf215891f..df52a8a7ce 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B8GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4B8GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4B8GEMProbability.hh,v 1.3 2006/06/29 20:14:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be10GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be10GEMChannel.hh index ff78f4da0f..7f7ff75741 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be10GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be10GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be10GEMChannel.hh,v 1.3 2006/06/29 20:14:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be10GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be10GEMCoulombBarrier.hh index 4fc7998da6..14df0dd861 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be10GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be10GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be10GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:14:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be10GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be10GEMProbability.hh index a2dde61cdb..25297ca4b9 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be10GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be10GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be10GEMProbability.hh,v 1.3 2006/06/29 20:14:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be11GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be11GEMChannel.hh index 7a37dba6f5..fb9143d3a4 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be11GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be11GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be11GEMChannel.hh,v 1.3 2006/06/29 20:14:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be11GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be11GEMCoulombBarrier.hh index c3f2f4f0fe..c3087691f7 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be11GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be11GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be11GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:14:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be11GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be11GEMProbability.hh index 34d57e6395..495c2b6252 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be11GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be11GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be11GEMProbability.hh,v 1.3 2006/06/29 20:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be12GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be12GEMChannel.hh index ea37c7374f..31517e1c25 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be12GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be12GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be12GEMChannel.hh,v 1.3 2006/06/29 20:14:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be12GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be12GEMCoulombBarrier.hh index 99c7e71c17..476c854ee6 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be12GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be12GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be12GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:14:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be12GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be12GEMProbability.hh index 1dd6574a1f..9040d71dda 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be12GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be12GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be12GEMProbability.hh,v 1.3 2006/06/29 20:14:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be7GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be7GEMChannel.hh index 5789f89671..a7a4ad5e38 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be7GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be7GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be7GEMChannel.hh,v 1.3 2006/06/29 20:14:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be7GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be7GEMCoulombBarrier.hh index 6a9cb889c6..2620867d42 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be7GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be7GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be7GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:14:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be7GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be7GEMProbability.hh index 50671b6754..4ae45783a5 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be7GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be7GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be7GEMProbability.hh,v 1.3 2006/06/29 20:14:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be9GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be9GEMChannel.hh index 78a28657de..f2a59a27c9 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be9GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be9GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be9GEMChannel.hh,v 1.3 2006/06/29 20:14:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be9GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be9GEMCoulombBarrier.hh index 8941eac601..d6d815a901 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be9GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be9GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be9GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:14:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be9GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be9GEMProbability.hh index 9ebc1e3f6f..2e95096803 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be9GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Be9GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Be9GEMProbability.hh,v 1.3 2006/06/29 20:14:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C10GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C10GEMChannel.hh index 0878e36dd5..283ed0f73d 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C10GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C10GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4C10GEMChannel.hh,v 1.3 2006/06/29 20:14:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C10GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C10GEMCoulombBarrier.hh index 28ccd339c3..916d6f14fb 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C10GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C10GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4C10GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:14:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C10GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C10GEMProbability.hh index 522523d15e..33c460833c 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C10GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C10GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4C10GEMProbability.hh,v 1.3 2006/06/29 20:14:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C11GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C11GEMChannel.hh index fa7d198dff..1d0bb1b908 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C11GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C11GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4C11GEMChannel.hh,v 1.3 2006/06/29 20:14:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C11GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C11GEMCoulombBarrier.hh index 16064ccda9..e6a043120f 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C11GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C11GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4C11GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:14:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C11GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C11GEMProbability.hh index 07e61a9c1c..6c3d823ee2 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C11GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C11GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4C11GEMProbability.hh,v 1.3 2006/06/29 20:15:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C12GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C12GEMChannel.hh index 44d046ce30..92c0ee866b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C12GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C12GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4C12GEMChannel.hh,v 1.3 2006/06/29 20:15:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C12GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C12GEMCoulombBarrier.hh index e766292777..45d9956a9c 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C12GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C12GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4C12GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:15:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C12GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C12GEMProbability.hh index 89991849ef..af968e4a31 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C12GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C12GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4C12GEMProbability.hh,v 1.3 2006/06/29 20:15:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C13GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C13GEMChannel.hh index 6df2773c59..3c057caeef 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C13GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C13GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4C13GEMChannel.hh,v 1.3 2006/06/29 20:15:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C13GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C13GEMCoulombBarrier.hh index c382f78bfc..26a5a159b0 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C13GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C13GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4C13GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:15:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C13GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C13GEMProbability.hh index 63428e92b7..cc37999b0e 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C13GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C13GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4C13GEMProbability.hh,v 1.3 2006/06/29 20:15:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C14GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C14GEMChannel.hh index 97c2dfa1e9..6cf32c3282 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C14GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C14GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4C14GEMChannel.hh,v 1.3 2006/06/29 20:15:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C14GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C14GEMCoulombBarrier.hh index eade036989..764a8db9d7 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C14GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C14GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4C14GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:15:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C14GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C14GEMProbability.hh index 223a8a84a8..95d7f9f96b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C14GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C14GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4C14GEMProbability.hh,v 1.3 2006/06/29 20:15:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C15GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C15GEMChannel.hh index 44b9db4d02..3e25354350 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C15GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C15GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4C15GEMChannel.hh,v 1.3 2006/06/29 20:15:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C15GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C15GEMCoulombBarrier.hh index d4f8d6c61f..0833e4c6c9 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C15GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C15GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4C15GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:15:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C15GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C15GEMProbability.hh index b841c46c04..0dc1549200 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C15GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C15GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4C15GEMProbability.hh,v 1.3 2006/06/29 20:15:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C16GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C16GEMChannel.hh index b5cd84ba9a..83b3f3b916 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C16GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C16GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4C16GEMChannel.hh,v 1.3 2006/06/29 20:15:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C16GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C16GEMCoulombBarrier.hh index 6b74d5b880..bf37c221a1 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C16GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C16GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4C16GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:15:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C16GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C16GEMProbability.hh index 3124275662..d0e30b0591 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C16GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4C16GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4C16GEMProbability.hh,v 1.3 2006/06/29 20:15:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4DeuteronGEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4DeuteronGEMChannel.hh index 494ffb7af0..4d20b10be1 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4DeuteronGEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4DeuteronGEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4DeuteronGEMChannel.hh,v 1.3 2006/06/29 20:15:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4DeuteronGEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4DeuteronGEMProbability.hh index 7d2d4b6dc4..a97dc131e4 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4DeuteronGEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4DeuteronGEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4DeuteronGEMProbability.hh,v 1.3 2006/06/29 20:15:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4EvaporationGEMFactory.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4EvaporationGEMFactory.hh index a20df9d34e..edf4b0f9eb 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4EvaporationGEMFactory.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4EvaporationGEMFactory.hh @@ -25,7 +25,7 @@ // // // $Id: G4EvaporationGEMFactory.hh,v 1.5 2006/06/29 20:15:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F17GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F17GEMChannel.hh index e9f2140854..8c6c94118d 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F17GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F17GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4F17GEMChannel.hh,v 1.3 2006/06/29 20:15:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F17GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F17GEMCoulombBarrier.hh index f09c7f96a9..b1dddd293f 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F17GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F17GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4F17GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:15:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F17GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F17GEMProbability.hh index 647912d24b..62a1df4e67 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F17GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F17GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4F17GEMProbability.hh,v 1.3 2006/06/29 20:15:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F18GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F18GEMChannel.hh index 7ee8480eda..4f32ee2559 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F18GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F18GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4F18GEMChannel.hh,v 1.3 2006/06/29 20:15:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F18GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F18GEMCoulombBarrier.hh index 6cab32c29a..550e2522af 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F18GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F18GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4F18GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:15:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F18GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F18GEMProbability.hh index 8f8a8aed27..99c6417161 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F18GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F18GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4F18GEMProbability.hh,v 1.3 2006/06/29 20:15:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F19GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F19GEMChannel.hh index 68d718b9ec..5ae5c252e9 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F19GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F19GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4F19GEMChannel.hh,v 1.3 2006/06/29 20:15:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F19GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F19GEMCoulombBarrier.hh index 6c8b86e309..8611bd1578 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F19GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F19GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4F19GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:15:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F19GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F19GEMProbability.hh index ff0e58df51..5c4ad994bb 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F19GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F19GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4F19GEMProbability.hh,v 1.3 2006/06/29 20:15:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F20GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F20GEMChannel.hh index e4f6b4862e..753f1f0349 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F20GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F20GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4F20GEMChannel.hh,v 1.3 2006/06/29 20:15:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F20GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F20GEMCoulombBarrier.hh index 8f77e0d00c..ff5e93088b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F20GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F20GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4F20GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:15:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F20GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F20GEMProbability.hh index 29c279fc6b..f9f70b6912 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F20GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F20GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4F20GEMProbability.hh,v 1.3 2006/06/29 20:16:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F21GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F21GEMChannel.hh index c8dbf67757..8e49f3d461 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F21GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F21GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4F21GEMChannel.hh,v 1.3 2006/06/29 20:16:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F21GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F21GEMCoulombBarrier.hh index 3f5ac770fe..b52bf52f13 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F21GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F21GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4F21GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:16:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F21GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F21GEMProbability.hh index 05703c73ef..50ef7280e4 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F21GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4F21GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4F21GEMProbability.hh,v 1.3 2006/06/29 20:16:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4GEMChannel.hh index b545040035..7ff2960c6e 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4GEMChannel.hh,v 1.4 2006/06/29 20:16:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4GEMCoulombBarrierHE.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4GEMCoulombBarrierHE.hh index 76a9dafdc9..1e7f76d7a0 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4GEMCoulombBarrierHE.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4GEMCoulombBarrierHE.hh @@ -25,7 +25,7 @@ // // // $Id: G4GEMCoulombBarrierHE.hh,v 1.3 2006/06/29 20:16:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He3GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He3GEMChannel.hh index a753027ce4..070c51f764 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He3GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He3GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4He3GEMChannel.hh,v 1.3 2006/06/29 20:16:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He3GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He3GEMProbability.hh index c9ed3e4573..17c2b91bc7 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He3GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He3GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4He3GEMProbability.hh,v 1.3 2006/06/29 20:16:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He6GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He6GEMChannel.hh index c30c08233e..8dd08a0918 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He6GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He6GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4He6GEMChannel.hh,v 1.3 2006/06/29 20:16:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He6GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He6GEMCoulombBarrier.hh index 25e20193ee..7bea4fdfa9 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He6GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He6GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4He6GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:16:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He6GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He6GEMProbability.hh index 8cffd4785a..a31f98c5bf 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He6GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He6GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4He6GEMProbability.hh,v 1.3 2006/06/29 20:16:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He8GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He8GEMChannel.hh index e986528ce3..edfaf79614 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He8GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He8GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4He8GEMChannel.hh,v 1.3 2006/06/29 20:16:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He8GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He8GEMCoulombBarrier.hh index 5c9f735c4c..6b3beb6f25 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He8GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He8GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4He8GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:16:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He8GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He8GEMProbability.hh index 867a81c14d..d99375cad9 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He8GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4He8GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4He8GEMProbability.hh,v 1.3 2006/06/29 20:16:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li6GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li6GEMChannel.hh index 92614d0eaa..00b729aafa 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li6GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li6GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li6GEMChannel.hh,v 1.3 2006/06/29 20:16:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li6GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li6GEMCoulombBarrier.hh index 1757712c87..c0a50e99f1 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li6GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li6GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li6GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:16:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li6GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li6GEMProbability.hh index 003b5b92ec..8d5ac0a1ed 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li6GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li6GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li6GEMProbability.hh,v 1.3 2006/06/29 20:16:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li7GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li7GEMChannel.hh index 293b0272af..abf04c826f 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li7GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li7GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li7GEMChannel.hh,v 1.3 2006/06/29 20:16:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li7GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li7GEMCoulombBarrier.hh index 662c83d09e..d7cbf67fc4 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li7GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li7GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li7GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:16:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li7GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li7GEMProbability.hh index 812f2f6442..7fe05460f2 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li7GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li7GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li7GEMProbability.hh,v 1.3 2006/06/29 20:16:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li8GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li8GEMChannel.hh index dc9e1d1610..27e85bbd54 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li8GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li8GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li8GEMChannel.hh,v 1.3 2006/06/29 20:16:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li8GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li8GEMCoulombBarrier.hh index 7692f570ae..c76f78cee6 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li8GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li8GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li8GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:16:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li8GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li8GEMProbability.hh index 055cdad213..1a6115de85 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li8GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li8GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li8GEMProbability.hh,v 1.3 2006/06/29 20:16:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li9GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li9GEMChannel.hh index 7ba5ce9d78..db4edb8671 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li9GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li9GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li9GEMChannel.hh,v 1.3 2006/06/29 20:16:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li9GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li9GEMCoulombBarrier.hh index e826d7b3d8..307ba90646 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li9GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li9GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li9GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:16:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li9GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li9GEMProbability.hh index 708cabc25d..c9d14e8a7d 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li9GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Li9GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Li9GEMProbability.hh,v 1.3 2006/06/29 20:16:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg22GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg22GEMChannel.hh index 7fad7473a7..201133445b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg22GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg22GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg22GEMChannel.hh,v 1.3 2006/06/29 20:16:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg22GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg22GEMCoulombBarrier.hh index 773d353ccc..de368bc9b5 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg22GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg22GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg22GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:16:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg22GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg22GEMProbability.hh index c59f781ede..520ca5596b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg22GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg22GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg22GEMProbability.hh,v 1.3 2006/06/29 20:16:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg23GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg23GEMChannel.hh index 16f4ac5475..aea4ed64ca 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg23GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg23GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg23GEMChannel.hh,v 1.3 2006/06/29 20:17:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg23GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg23GEMCoulombBarrier.hh index 401f328e94..708c9c6595 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg23GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg23GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg23GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:17:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg23GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg23GEMProbability.hh index 36ddf02360..7c51d1666d 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg23GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg23GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg23GEMProbability.hh,v 1.3 2006/06/29 20:17:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg24GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg24GEMChannel.hh index 647dfb6dba..e1645c6925 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg24GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg24GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg24GEMChannel.hh,v 1.3 2006/06/29 20:17:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg24GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg24GEMCoulombBarrier.hh index eb82c6985a..f05e2b35fe 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg24GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg24GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg24GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:17:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg24GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg24GEMProbability.hh index f3b3244bd6..580ca79082 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg24GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg24GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg24GEMProbability.hh,v 1.3 2006/06/29 20:17:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg25GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg25GEMChannel.hh index 899f0c35bf..f22a5d5556 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg25GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg25GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg25GEMChannel.hh,v 1.3 2006/06/29 20:17:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg25GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg25GEMCoulombBarrier.hh index 91ff620c17..267bc5f8d0 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg25GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg25GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg25GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:17:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg25GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg25GEMProbability.hh index 96425b5930..b194c2f059 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg25GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg25GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg25GEMProbability.hh,v 1.3 2006/06/29 20:17:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg26GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg26GEMChannel.hh index 4acb9966fe..af9ea181f8 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg26GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg26GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg26GEMChannel.hh,v 1.3 2006/06/29 20:17:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg26GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg26GEMCoulombBarrier.hh index d33fa74ffb..dfdabd0a79 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg26GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg26GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg26GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:17:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg26GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg26GEMProbability.hh index b7e0c9ea7b..8bca613e74 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg26GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg26GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg26GEMProbability.hh,v 1.3 2006/06/29 20:17:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg27GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg27GEMChannel.hh index 0b237a9e0f..26c71507a0 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg27GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg27GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg27GEMChannel.hh,v 1.3 2006/06/29 20:17:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg27GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg27GEMCoulombBarrier.hh index 2461e6c6b0..0b21a0d674 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg27GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg27GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg27GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:17:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg27GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg27GEMProbability.hh index cc6cf2d99f..bc6a414b6c 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg27GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg27GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg27GEMProbability.hh,v 1.3 2006/06/29 20:17:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg28GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg28GEMChannel.hh index e49f7e55d4..ddb166ee2e 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg28GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg28GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg28GEMChannel.hh,v 1.3 2006/06/29 20:17:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg28GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg28GEMCoulombBarrier.hh index 9130d46e24..a774d367d1 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg28GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg28GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg28GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:17:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg28GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg28GEMProbability.hh index 12259e9c16..8812bd429b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg28GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Mg28GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mg28GEMProbability.hh,v 1.3 2006/06/29 20:17:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N12GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N12GEMChannel.hh index ebe695ae58..732ab3b34e 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N12GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N12GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4N12GEMChannel.hh,v 1.3 2006/06/29 20:17:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N12GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N12GEMCoulombBarrier.hh index 9577f78478..931c583449 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N12GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N12GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4N12GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:17:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N12GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N12GEMProbability.hh index a5ff24bbf4..9d1ceb3d08 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N12GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N12GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4N12GEMProbability.hh,v 1.3 2006/06/29 20:17:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N13GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N13GEMChannel.hh index 0899dafe4f..f4201b421c 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N13GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N13GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4N13GEMChannel.hh,v 1.3 2006/06/29 20:17:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N13GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N13GEMCoulombBarrier.hh index 5a5bdc9809..5dff36773a 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N13GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N13GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4N13GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:17:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N13GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N13GEMProbability.hh index 4f42c13aac..3f3aed279a 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N13GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N13GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4N13GEMProbability.hh,v 1.3 2006/06/29 20:17:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N14GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N14GEMChannel.hh index 02a0ce3a42..3b5add4c2a 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N14GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N14GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4N14GEMChannel.hh,v 1.3 2006/06/29 20:17:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N14GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N14GEMCoulombBarrier.hh index 3c1708c971..dbb9fe5058 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N14GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N14GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4N14GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:17:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N14GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N14GEMProbability.hh index daf8562974..dac9045028 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N14GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N14GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4N14GEMProbability.hh,v 1.3 2006/06/29 20:17:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N15GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N15GEMChannel.hh index 99b0b45778..5b8a4b5cc7 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N15GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N15GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4N15GEMChannel.hh,v 1.3 2006/06/29 20:17:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N15GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N15GEMCoulombBarrier.hh index 22484662dd..59506d397f 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N15GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N15GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4N15GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:17:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N15GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N15GEMProbability.hh index 11619d3e84..0024d0f1ac 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N15GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N15GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4N15GEMProbability.hh,v 1.3 2006/06/29 20:17:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N16GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N16GEMChannel.hh index 9cc69d0451..766b8d195b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N16GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N16GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4N16GEMChannel.hh,v 1.3 2006/06/29 20:18:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N16GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N16GEMCoulombBarrier.hh index 446adfd969..d73210054e 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N16GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N16GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4N16GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:18:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N16GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N16GEMProbability.hh index 72ff996c0a..75529c2d8d 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N16GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N16GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4N16GEMProbability.hh,v 1.3 2006/06/29 20:18:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N17GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N17GEMChannel.hh index 94ef0ed7ca..d2c3b1242b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N17GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N17GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4N17GEMChannel.hh,v 1.3 2006/06/29 20:18:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N17GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N17GEMCoulombBarrier.hh index b66b674287..b8d2e56229 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N17GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N17GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4N17GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:18:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N17GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N17GEMProbability.hh index 296f2d26c3..47b5fe6254 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N17GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4N17GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4N17GEMProbability.hh,v 1.3 2006/06/29 20:18:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na21GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na21GEMChannel.hh index 688c6cbca6..682b2cf9dc 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na21GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na21GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na21GEMChannel.hh,v 1.3 2006/06/29 20:18:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na21GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na21GEMCoulombBarrier.hh index 4bc71dfbac..84c024d735 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na21GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na21GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na21GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:18:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na21GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na21GEMProbability.hh index 5e58be110c..c02956b063 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na21GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na21GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na21GEMProbability.hh,v 1.3 2006/06/29 20:18:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na22GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na22GEMChannel.hh index 8da0ee04af..25de76eabf 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na22GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na22GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na22GEMChannel.hh,v 1.3 2006/06/29 20:18:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na22GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na22GEMCoulombBarrier.hh index c6dfbba37f..4951c177f9 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na22GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na22GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na22GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:18:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na22GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na22GEMProbability.hh index 9c967f3954..2e3c2e5af7 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na22GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na22GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na22GEMProbability.hh,v 1.3 2006/06/29 20:18:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na23GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na23GEMChannel.hh index 3c494f0b89..2cbed6652a 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na23GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na23GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na23GEMChannel.hh,v 1.3 2006/06/29 20:18:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na23GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na23GEMCoulombBarrier.hh index d65ee99597..04e32975e9 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na23GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na23GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na23GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:18:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na23GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na23GEMProbability.hh index c033a503f4..5ca0239465 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na23GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na23GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na23GEMProbability.hh,v 1.3 2006/06/29 20:18:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na24GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na24GEMChannel.hh index 4429f2603d..e5559c147a 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na24GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na24GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na24GEMChannel.hh,v 1.3 2006/06/29 20:18:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na24GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na24GEMCoulombBarrier.hh index bed1498f8b..ba868b3b6f 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na24GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na24GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na24GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:18:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na24GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na24GEMProbability.hh index 697fdc7451..57f2864760 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na24GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na24GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na24GEMProbability.hh,v 1.3 2006/06/29 20:18:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na25GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na25GEMChannel.hh index 5a33dc6498..ae57d75bca 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na25GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na25GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na25GEMChannel.hh,v 1.3 2006/06/29 20:18:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na25GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na25GEMCoulombBarrier.hh index 015e93af8f..c5e5b3eaf3 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na25GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na25GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na25GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:18:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na25GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na25GEMProbability.hh index 8b3d88d747..f8c479ebc2 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na25GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Na25GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Na25GEMProbability.hh,v 1.3 2006/06/29 20:18:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne18GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne18GEMChannel.hh index 99fb5bcc10..33548ae089 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne18GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne18GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne18GEMChannel.hh,v 1.3 2006/06/29 20:18:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne18GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne18GEMCoulombBarrier.hh index da1e905360..6d8a7c06ee 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne18GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne18GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne18GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:18:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne18GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne18GEMProbability.hh index c4530732ee..ee47c9527f 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne18GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne18GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne18GEMProbability.hh,v 1.3 2006/06/29 20:18:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne19GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne19GEMChannel.hh index 391ecd2bd7..232afa8dc6 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne19GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne19GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne19GEMChannel.hh,v 1.3 2006/06/29 20:18:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne19GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne19GEMCoulombBarrier.hh index bcc4f6fb8c..abfe48c23c 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne19GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne19GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne19GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:18:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne19GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne19GEMProbability.hh index 6281d6938e..2b5efc4854 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne19GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne19GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne19GEMProbability.hh,v 1.3 2006/06/29 20:18:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne20GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne20GEMChannel.hh index 1ce504f1c1..bb09ffd799 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne20GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne20GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne20GEMChannel.hh,v 1.3 2006/06/29 20:18:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne20GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne20GEMCoulombBarrier.hh index c45c9dc19c..47aee2bb89 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne20GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne20GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne20GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:18:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne20GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne20GEMProbability.hh index ac7c88d545..b3cdebb0e7 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne20GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne20GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne20GEMProbability.hh,v 1.3 2006/06/29 20:18:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne21GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne21GEMChannel.hh index e55f9fbaaa..3f11d09cd8 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne21GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne21GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne21GEMChannel.hh,v 1.3 2006/06/29 20:19:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne21GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne21GEMCoulombBarrier.hh index c1385360fa..76dc17c6d4 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne21GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne21GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne21GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:19:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne21GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne21GEMProbability.hh index be5cad1ebd..ab5ae8aff4 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne21GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne21GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne21GEMProbability.hh,v 1.3 2006/06/29 20:19:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne22GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne22GEMChannel.hh index 23fbb1f47c..8fe1d01a08 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne22GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne22GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne22GEMChannel.hh,v 1.3 2006/06/29 20:19:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne22GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne22GEMCoulombBarrier.hh index 917c2b7eaf..a3ddc79e4f 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne22GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne22GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne22GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:19:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne22GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne22GEMProbability.hh index 8be6a5b2fb..67b903ecc1 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne22GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne22GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne22GEMProbability.hh,v 1.3 2006/06/29 20:19:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne23GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne23GEMChannel.hh index b1551a594c..ea7cd29f79 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne23GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne23GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne23GEMChannel.hh,v 1.3 2006/06/29 20:19:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne23GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne23GEMCoulombBarrier.hh index 29e9419771..a16a1b498f 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne23GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne23GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne23GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:19:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne23GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne23GEMProbability.hh index c7341e440e..7f25526ef1 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne23GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne23GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne23GEMProbability.hh,v 1.3 2006/06/29 20:19:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne24GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne24GEMChannel.hh index fdd870a56e..6bbeec0085 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne24GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne24GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne24GEMChannel.hh,v 1.3 2006/06/29 20:19:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne24GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne24GEMCoulombBarrier.hh index 050800657a..cfec3cfb5e 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne24GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne24GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne24GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:19:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne24GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne24GEMProbability.hh index 1597c2410f..f7b54fb8e4 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne24GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4Ne24GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4Ne24GEMProbability.hh,v 1.3 2006/06/29 20:19:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4NeutronGEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4NeutronGEMChannel.hh index 5314ead5ed..b4488427e5 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4NeutronGEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4NeutronGEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronGEMChannel.hh,v 1.3 2006/06/29 20:19:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4NeutronGEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4NeutronGEMProbability.hh index 7efb20ec50..fd4df6c248 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4NeutronGEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4NeutronGEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronGEMProbability.hh,v 1.4 2006/06/29 20:19:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O14GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O14GEMChannel.hh index 9f5cde1816..0632d5f135 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O14GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O14GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4O14GEMChannel.hh,v 1.3 2006/06/29 20:19:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O14GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O14GEMCoulombBarrier.hh index a588b11a63..484ee185f7 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O14GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O14GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4O14GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:19:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O14GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O14GEMProbability.hh index fcf7d7bbe9..2db77c1701 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O14GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O14GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4O14GEMProbability.hh,v 1.3 2006/06/29 20:19:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O15GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O15GEMChannel.hh index 53eeef0879..c0f2ea40ff 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O15GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O15GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4O15GEMChannel.hh,v 1.3 2006/06/29 20:19:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O15GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O15GEMCoulombBarrier.hh index 50a1b20535..03a0329c43 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O15GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O15GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4O15GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:19:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O15GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O15GEMProbability.hh index 79c700ed0a..178b7c82f8 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O15GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O15GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4O15GEMProbability.hh,v 1.3 2006/06/29 20:19:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O16GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O16GEMChannel.hh index 12aa0f7ae7..2e46e2d881 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O16GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O16GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4O16GEMChannel.hh,v 1.3 2006/06/29 20:19:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O16GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O16GEMCoulombBarrier.hh index 5c6bd55422..5efcf4edb9 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O16GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O16GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4O16GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:19:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O16GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O16GEMProbability.hh index 29058a7455..3cdfb03ce6 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O16GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O16GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4O16GEMProbability.hh,v 1.3 2006/06/29 20:19:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O17GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O17GEMChannel.hh index b5ed396a3d..1e523cc03c 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O17GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O17GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4O17GEMChannel.hh,v 1.3 2006/06/29 20:19:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O17GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O17GEMCoulombBarrier.hh index 3458e0758e..9eee4d1c15 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O17GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O17GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4O17GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:19:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O17GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O17GEMProbability.hh index 01e1348933..684f7d622d 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O17GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O17GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4O17GEMProbability.hh,v 1.3 2006/06/29 20:19:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O18GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O18GEMChannel.hh index f2ec92120a..ab08487547 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O18GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O18GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4O18GEMChannel.hh,v 1.3 2006/06/29 20:19:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O18GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O18GEMCoulombBarrier.hh index c8f006cc42..80eba2ebaf 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O18GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O18GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4O18GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:19:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O18GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O18GEMProbability.hh index 6fe86c7d8e..018159a08b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O18GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O18GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4O18GEMProbability.hh,v 1.3 2006/06/29 20:19:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O19GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O19GEMChannel.hh index 1792a211e4..739456e165 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O19GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O19GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4O19GEMChannel.hh,v 1.3 2006/06/29 20:19:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O19GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O19GEMCoulombBarrier.hh index 5b07dfdce1..0137ed8529 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O19GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O19GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4O19GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:20:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O19GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O19GEMProbability.hh index e79cb0336e..12978d85eb 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O19GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O19GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4O19GEMProbability.hh,v 1.3 2006/06/29 20:20:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O20GEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O20GEMChannel.hh index c193997532..7eab2aa993 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O20GEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O20GEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4O20GEMChannel.hh,v 1.3 2006/06/29 20:20:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O20GEMCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O20GEMCoulombBarrier.hh index f5a1986274..4b2309bfed 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O20GEMCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O20GEMCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4O20GEMCoulombBarrier.hh,v 1.3 2006/06/29 20:20:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O20GEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O20GEMProbability.hh index 25a82c87a5..2fb3d1941f 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O20GEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4O20GEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4O20GEMProbability.hh,v 1.3 2006/06/29 20:20:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4ProtonGEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4ProtonGEMChannel.hh index 36599afc3b..d9a796d880 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4ProtonGEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4ProtonGEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProtonGEMChannel.hh,v 1.3 2006/06/29 20:20:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4ProtonGEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4ProtonGEMProbability.hh index 10625790ae..8cf2fe27ac 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4ProtonGEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4ProtonGEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProtonGEMProbability.hh,v 1.3 2006/06/29 20:20:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4TritonGEMChannel.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4TritonGEMChannel.hh index 64ce39121c..47f5b7e9f9 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4TritonGEMChannel.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4TritonGEMChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4TritonGEMChannel.hh,v 1.3 2006/06/29 20:20:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept. 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4TritonGEMProbability.hh b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4TritonGEMProbability.hh index 522e4f8e17..7266c1e206 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4TritonGEMProbability.hh +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/include/G4TritonGEMProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4TritonGEMProbability.hh,v 1.3 2006/06/29 20:20:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4AlphaGEMChannel.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4AlphaGEMChannel.cc index b0bef1b2f0..eb513d9204 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4AlphaGEMChannel.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4AlphaGEMChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4AlphaGEMChannel.cc,v 1.4 2006/06/29 20:20:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4AlphaGEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4AlphaGEMProbability.cc index 60f4cb4c2e..1c24f7e5b2 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4AlphaGEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4AlphaGEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4AlphaGEMProbability.cc,v 1.4 2006/06/29 20:20:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B10GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B10GEMProbability.cc index 2f14a34014..5361e640d0 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B10GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B10GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4B10GEMProbability.cc,v 1.5 2006/06/29 20:20:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B11GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B11GEMProbability.cc index 65702ab9b1..90a6ef6aed 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B11GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B11GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4B11GEMProbability.cc,v 1.5 2006/06/29 20:20:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B12GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B12GEMProbability.cc index d0c02e5416..f13e70af44 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B12GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B12GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4B12GEMProbability.cc,v 1.5 2006/06/29 20:20:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B13GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B13GEMProbability.cc index 6caf0d9bd4..a885424299 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B13GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B13GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4B13GEMProbability.cc,v 1.4 2006/06/29 20:20:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B8GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B8GEMProbability.cc index 05ab354282..7a5c2f52f0 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B8GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4B8GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4B8GEMProbability.cc,v 1.5 2006/06/29 20:21:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be10GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be10GEMProbability.cc index 79f2ac44ca..6b39d20dcf 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be10GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be10GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Be10GEMProbability.cc,v 1.5 2006/06/29 20:21:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be11GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be11GEMProbability.cc index 1406408e6f..7d076feebf 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be11GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be11GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Be11GEMProbability.cc,v 1.5 2006/06/29 20:21:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be12GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be12GEMProbability.cc index 3222a1fa83..ec5e1c5c3c 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be12GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be12GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Be12GEMProbability.cc,v 1.4 2006/06/29 20:21:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be7GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be7GEMProbability.cc index c734446b11..559b86a256 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be7GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be7GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Be7GEMProbability.cc,v 1.5 2006/06/29 20:21:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be9GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be9GEMProbability.cc index 3e19352575..6cd5cf7c84 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be9GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Be9GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Be9GEMProbability.cc,v 1.5 2006/06/29 20:21:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C10GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C10GEMProbability.cc index 695dfd50df..df182a791a 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C10GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C10GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4C10GEMProbability.cc,v 1.5 2006/06/29 20:21:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C11GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C11GEMProbability.cc index e5d0da8a10..b5d340e6b0 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C11GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C11GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4C11GEMProbability.cc,v 1.5 2006/06/29 20:21:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C12GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C12GEMProbability.cc index 4e558da0db..6c4d60f6ab 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C12GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C12GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4C12GEMProbability.cc,v 1.5 2006/06/29 20:21:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C13GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C13GEMProbability.cc index dbcfc60356..24f6504366 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C13GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C13GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4C13GEMProbability.cc,v 1.5 2006/06/29 20:21:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C14GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C14GEMProbability.cc index bbcfc9c2ec..abc421debd 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C14GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C14GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4C14GEMProbability.cc,v 1.5 2006/06/29 20:21:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C15GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C15GEMProbability.cc index e6a5beb378..fab1273c3f 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C15GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C15GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4C15GEMProbability.cc,v 1.5 2006/06/29 20:21:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C16GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C16GEMProbability.cc index 2b730956de..b6bb0865c7 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C16GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4C16GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4C16GEMProbability.cc,v 1.4 2006/06/29 20:21:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4DeuteronGEMChannel.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4DeuteronGEMChannel.cc index 56927e62fc..c81bca492f 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4DeuteronGEMChannel.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4DeuteronGEMChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4DeuteronGEMChannel.cc,v 1.4 2006/06/29 20:21:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4DeuteronGEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4DeuteronGEMProbability.cc index 6f6a7b5558..75ca586609 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4DeuteronGEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4DeuteronGEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4DeuteronGEMProbability.cc,v 1.4 2006/06/29 20:21:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4EvaporationGEMFactory.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4EvaporationGEMFactory.cc index b499823514..17e2c5ec4b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4EvaporationGEMFactory.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4EvaporationGEMFactory.cc @@ -25,7 +25,7 @@ // // // $Id: G4EvaporationGEMFactory.cc,v 1.7 2006/06/29 20:21:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F17GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F17GEMProbability.cc index d34ab2336e..9b67b23cf5 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F17GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F17GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4F17GEMProbability.cc,v 1.5 2006/06/29 20:21:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F18GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F18GEMProbability.cc index eec0b8e129..6ee530e8b3 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F18GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F18GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4F18GEMProbability.cc,v 1.5 2006/06/29 20:21:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F19GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F19GEMProbability.cc index e3491b8b87..d22d764827 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F19GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F19GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4F19GEMProbability.cc,v 1.5 2006/06/29 20:22:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F20GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F20GEMProbability.cc index e768a9751a..a3c68b980c 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F20GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F20GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4F20GEMProbability.cc,v 1.5 2006/06/29 20:22:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F21GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F21GEMProbability.cc index 624122e8cf..65a7e1fa1b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F21GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4F21GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4F21GEMProbability.cc,v 1.4 2006/06/29 20:22:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMChannel.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMChannel.cc index a552f2825e..d375a299e1 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMChannel.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4GEMChannel.cc,v 1.5 2006/06/29 20:22:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMCoulombBarrierHE.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMCoulombBarrierHE.cc index e28f3dcb95..52a3753f10 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMCoulombBarrierHE.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4GEMCoulombBarrierHE.cc @@ -25,7 +25,7 @@ // // // $Id: G4GEMCoulombBarrierHE.cc,v 1.6 2006/06/29 20:22:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He3GEMChannel.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He3GEMChannel.cc index c299e6bd26..14c146d371 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He3GEMChannel.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He3GEMChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4He3GEMChannel.cc,v 1.4 2006/06/29 20:22:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He3GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He3GEMProbability.cc index 0b2379918d..f7216abcdb 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He3GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He3GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4He3GEMProbability.cc,v 1.4 2006/06/29 20:22:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He6GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He6GEMProbability.cc index 0ba1b2f51a..87df98deec 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He6GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He6GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4He6GEMProbability.cc,v 1.5 2006/06/29 20:22:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He8GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He8GEMProbability.cc index 7817f5b7f0..23a4f4325a 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He8GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4He8GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4He8GEMProbability.cc,v 1.4 2006/06/29 20:22:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li6GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li6GEMProbability.cc index 231e263ddb..e8288d6cad 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li6GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li6GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Li6GEMProbability.cc,v 1.5 2006/06/29 20:22:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li7GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li7GEMProbability.cc index 702f3b2a5d..c7553169cb 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li7GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li7GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Li7GEMProbability.cc,v 1.5 2006/06/29 20:22:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li8GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li8GEMProbability.cc index a60d7f970a..04ca26aa02 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li8GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li8GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Li8GEMProbability.cc,v 1.5 2006/06/29 20:22:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li9GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li9GEMProbability.cc index 2d0ecc77a6..23f5ca1265 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li9GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Li9GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Li9GEMProbability.cc,v 1.5 2006/06/29 20:22:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg22GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg22GEMProbability.cc index 06e8dbcc3e..95f9b04a6e 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg22GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg22GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Mg22GEMProbability.cc,v 1.4 2006/06/29 20:22:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg23GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg23GEMProbability.cc index a7c5a795a4..260ff82779 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg23GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg23GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Mg23GEMProbability.cc,v 1.4 2006/06/29 20:22:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg24GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg24GEMProbability.cc index cae6c06078..24c12c96e2 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg24GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg24GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Mg24GEMProbability.cc,v 1.5 2006/06/29 20:22:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg25GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg25GEMProbability.cc index 67f27fc156..02942ca42e 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg25GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg25GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Mg25GEMProbability.cc,v 1.5 2006/06/29 20:22:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg26GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg26GEMProbability.cc index d790c4d554..b781b8aae4 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg26GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg26GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Mg26GEMProbability.cc,v 1.4 2006/06/29 20:22:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg27GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg27GEMProbability.cc index 6181536298..ccbf5e6ae1 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg27GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg27GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Mg27GEMProbability.cc,v 1.4 2006/06/29 20:22:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg28GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg28GEMProbability.cc index e8e3b4eeaa..8cc91c98c1 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg28GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Mg28GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Mg28GEMProbability.cc,v 1.4 2006/06/29 20:22:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N12GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N12GEMProbability.cc index 25a41be778..34af42c673 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N12GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N12GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4N12GEMProbability.cc,v 1.5 2006/06/29 20:22:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N13GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N13GEMProbability.cc index ce2c7c9cf8..3d4c67f621 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N13GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N13GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4N13GEMProbability.cc,v 1.5 2006/06/29 20:22:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N14GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N14GEMProbability.cc index 84522a0d8e..ea5b43c8f3 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N14GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N14GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4N14GEMProbability.cc,v 1.5 2006/06/29 20:22:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N15GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N15GEMProbability.cc index cc4d0ea9a5..fcc5b039e8 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N15GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N15GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4N15GEMProbability.cc,v 1.5 2006/06/29 20:22:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N16GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N16GEMProbability.cc index 486ac029a7..26790e1a64 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N16GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N16GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4N16GEMProbability.cc,v 1.5 2006/06/29 20:22:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N17GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N17GEMProbability.cc index 76027a61c7..f5cb8727bb 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N17GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4N17GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4N17GEMProbability.cc,v 1.4 2006/06/29 20:22:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na21GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na21GEMProbability.cc index 2f9eb60032..73328dba1b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na21GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na21GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Na21GEMProbability.cc,v 1.5 2006/06/29 20:22:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na22GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na22GEMProbability.cc index 2ce63daea7..143b726d86 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na22GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na22GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Na22GEMProbability.cc,v 1.5 2006/06/29 20:22:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na23GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na23GEMProbability.cc index 9264f613b2..a08b00b76c 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na23GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na23GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Na23GEMProbability.cc,v 1.5 2006/06/29 20:22:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na24GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na24GEMProbability.cc index a318bdf6fa..eac5ac59b9 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na24GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na24GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Na24GEMProbability.cc,v 1.4 2006/06/29 20:23:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na25GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na25GEMProbability.cc index 37c2cc5765..1688daa14d 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na25GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Na25GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Na25GEMProbability.cc,v 1.4 2006/06/29 20:23:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne18GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne18GEMProbability.cc index 12cd304ce1..0dfd98e6e8 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne18GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne18GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Ne18GEMProbability.cc,v 1.5 2006/06/29 20:23:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne19GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne19GEMProbability.cc index 8a3d15e1b3..2852aab79d 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne19GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne19GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Ne19GEMProbability.cc,v 1.5 2006/06/29 20:23:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne20GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne20GEMProbability.cc index 099c106498..f33ada215e 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne20GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne20GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Ne20GEMProbability.cc,v 1.5 2006/06/29 20:23:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne21GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne21GEMProbability.cc index 4274fa6aa4..2554fb0312 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne21GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne21GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Ne21GEMProbability.cc,v 1.5 2006/06/29 20:23:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne22GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne22GEMProbability.cc index 9eed5af3b1..d84054f0cb 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne22GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne22GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Ne22GEMProbability.cc,v 1.4 2006/06/29 20:23:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne23GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne23GEMProbability.cc index 3054b09c4b..f8e897f5ac 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne23GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne23GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Ne23GEMProbability.cc,v 1.4 2006/06/29 20:23:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne24GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne24GEMProbability.cc index 0072377c29..b7bb9ba393 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne24GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4Ne24GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4Ne24GEMProbability.cc,v 1.4 2006/06/29 20:23:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4NeutronGEMChannel.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4NeutronGEMChannel.cc index f61cee0337..7ec927ac64 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4NeutronGEMChannel.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4NeutronGEMChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4NeutronGEMChannel.cc,v 1.4 2006/06/29 20:23:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4NeutronGEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4NeutronGEMProbability.cc index 7f0242c7a8..b19e208377 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4NeutronGEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4NeutronGEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4NeutronGEMProbability.cc,v 1.4 2006/06/29 20:23:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O14GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O14GEMProbability.cc index d189ef734f..c3baad5a55 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O14GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O14GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4O14GEMProbability.cc,v 1.5 2006/06/29 20:23:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O15GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O15GEMProbability.cc index eedfcb62b9..c27d772a9b 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O15GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O15GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4O15GEMProbability.cc,v 1.5 2006/06/29 20:23:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O16GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O16GEMProbability.cc index a1514cc526..6fa87e03df 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O16GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O16GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4O16GEMProbability.cc,v 1.5 2006/06/29 20:23:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O17GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O17GEMProbability.cc index 5b1c1f9199..0fa47a58d2 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O17GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O17GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4O17GEMProbability.cc,v 1.5 2006/06/29 20:23:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O18GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O18GEMProbability.cc index 095cd98267..ff4d725c5c 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O18GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O18GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4O18GEMProbability.cc,v 1.5 2006/06/29 20:23:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O19GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O19GEMProbability.cc index aa6fa772c7..dca3e791f2 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O19GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O19GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4O19GEMProbability.cc,v 1.5 2006/06/29 20:23:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O20GEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O20GEMProbability.cc index a60887f40d..0ebbfed28c 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O20GEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4O20GEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4O20GEMProbability.cc,v 1.4 2006/06/29 20:23:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4ProtonGEMChannel.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4ProtonGEMChannel.cc index 64467aff61..c986e64bf3 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4ProtonGEMChannel.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4ProtonGEMChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProtonGEMChannel.cc,v 1.4 2006/06/29 20:23:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4ProtonGEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4ProtonGEMProbability.cc index 4ff9e24d27..de09669127 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4ProtonGEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4ProtonGEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProtonGEMProbability.cc,v 1.4 2006/06/29 20:23:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Sept 2001) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4TritonGEMChannel.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4TritonGEMChannel.cc index 39401bc04a..a06ad381ee 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4TritonGEMChannel.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4TritonGEMChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4TritonGEMChannel.cc,v 1.4 2006/06/29 20:23:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov. 1999) diff --git a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4TritonGEMProbability.cc b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4TritonGEMProbability.cc index a5d8614e2a..c4f1bc9552 100644 --- a/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4TritonGEMProbability.cc +++ b/source/processes/hadronic/models/de_excitation/gem_evaporation/src/G4TritonGEMProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4TritonGEMProbability.cc,v 1.4 2006/06/29 20:23:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/handler/include/G4ExcitationHandler.hh b/source/processes/hadronic/models/de_excitation/handler/include/G4ExcitationHandler.hh index 661e56c698..10ed6840de 100644 --- a/source/processes/hadronic/models/de_excitation/handler/include/G4ExcitationHandler.hh +++ b/source/processes/hadronic/models/de_excitation/handler/include/G4ExcitationHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExcitationHandler.hh,v 1.7 2006/08/19 19:55:59 dennis Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (May 1998) diff --git a/source/processes/hadronic/models/de_excitation/handler/src/G4ExcitationHandler.cc b/source/processes/hadronic/models/de_excitation/handler/src/G4ExcitationHandler.cc index 2d0cbbe5e9..42ddbbfc32 100644 --- a/source/processes/hadronic/models/de_excitation/handler/src/G4ExcitationHandler.cc +++ b/source/processes/hadronic/models/de_excitation/handler/src/G4ExcitationHandler.cc @@ -97,6 +97,7 @@ G4ReactionProductVector * G4ExcitationHandler::BreakItUp(const G4Fragment &theIn G4FragmentVector * theResult = 0; G4double exEnergy = theInitialState.GetExcitationEnergy(); + // G4cout << " first exEnergy in MeV: " << exEnergy/MeV << G4endl; G4double A = theInitialState.GetA(); G4int Z = static_cast(theInitialState.GetZ()); G4FragmentVector* theTempResult = 0; @@ -137,6 +138,7 @@ G4ReactionProductVector * G4ExcitationHandler::BreakItUp(const G4Fragment &theIn for (i = theResultList.begin(); i != theResultList.end(); i++) { exEnergy = (*i)->GetExcitationEnergy(); + // G4cout << " exEnergy in MeV: " << exEnergy/MeV << G4endl; if (exEnergy > 0.0) { A = (*i)->GetA(); @@ -202,16 +204,25 @@ G4ReactionProductVector * G4ExcitationHandler::BreakItUp(const G4Fragment &theIn // which are excited. theTempResult = 0; + std::list theFinalResultList; + //AHtest std::list theFinalPhotonResultList; std::list theResultList; std::list::iterator j; G4FragmentVector::iterator i; for (i = theResult->begin(); i != theResult->end();i++) { theResultList.push_back(*i); + // G4cout << " Before loop list energy in MeV: " << ((*i)->GetExcitationEnergy())/MeV << G4endl; } theResult->clear(); - - for (j = theResultList.begin(); j != theResultList.end(); j++) + + for (j = theResultList.begin(); j != theResultList.end(); j++) { + // G4cout << " Test loop list: " << (*j)->GetExcitationEnergy() << " size: " << theResultList.size() << G4endl; + } + + // for (j = theResultList.begin(); j != theResultList.end(); j++) + j = theResultList.begin(); //AH + while (j != theResultList.end()) //AH { if ((*j)->GetA() > 1 && (*j)->GetExcitationEnergy() > 0.1*eV) { @@ -221,11 +232,12 @@ G4ReactionProductVector * G4ExcitationHandler::BreakItUp(const G4Fragment &theIn if (theTempResult->size() > 1) { // Remove excited fragment from the result - delete (*j); - theResultList.erase(j--); + // delete (*j); + // theResultList.erase(j--); + // theResultList.erase(j); don't delete as there's no push back... // and add theTempResult elements to theResult - for (G4FragmentVector::reverse_iterator ri = theTempResult->rbegin(); - ri != theTempResult->rend(); ++ri) + for (G4FragmentVector::reverse_iterator ri = theTempResult->rbegin(); + ri != theTempResult->rend(); ++ri) { #ifdef PRECOMPOUND_TEST if ((*ri)->GetA() == 0) @@ -233,7 +245,9 @@ G4ReactionProductVector * G4ExcitationHandler::BreakItUp(const G4Fragment &theIn else (*ri)->SetCreatorModel(G4String("ResidualNucleus")); #endif - theResultList.push_back(*ri); + theResultList.push_back(*ri); + //AHtest theFinalPhotonResultList.push_back(*ri); + // theFinalResultList.push_back(*ri); don't add to final result as they'll go through the loop } delete theTempResult; } @@ -271,7 +285,11 @@ G4ReactionProductVector * G4ExcitationHandler::BreakItUp(const G4Fragment &theIn #ifdef PRECOMPOUND_TEST theHandlerPhoton->SetCreatorModel("G4ExcitationHandler"); #endif - theResultList.push_back( theHandlerPhoton ); +// theFinalPhotonResultList.push_back( theHandlerPhoton ); +// G4cout << " adding photon fragment " << G4endl; + theResultList.push_back( theHandlerPhoton ); + // theFinalResultList.push_back( theHandlerPhoton ); + theFinalResultList.push_back(*j); #ifdef debugphoton G4cout << "Emmited photon:\n" << theResultList.back() << '\n' @@ -279,14 +297,31 @@ G4ReactionProductVector * G4ExcitationHandler::BreakItUp(const G4Fragment &theIn << *(*j) << '\n' << "-----------------------------------------------------------------------\n"; #endif + //test j++; // AH only increment if not erased: } - } + } else { + //test j++; // AH increment iterator if a proton or excitation energy small + theFinalResultList.push_back(*j); + } +// G4cout << " Inside loop list: " << (*j)->GetExcitationEnergy() << " size: " << theFinalResultList.size() << G4endl; + j++; } - for (j = theResultList.begin(); j != theResultList.end(); j++) + // for (j = theResultList.begin(); j != theResultList.end(); j++) + for (j = theFinalResultList.begin(); j != theFinalResultList.end(); j++) { theResult->push_back(*j); } + +//AHtest for (j = theFinalPhotonResultList.begin(); j != theFinalPhotonResultList.end(); j++) +//AHtest { +//AHtest theResult->push_back(*j); +//AHtest number_results++; +//AHtest } + + theResultList.clear(); + theFinalResultList.clear(); + //AHtest theFinalPhotonResultList.clear(); #ifdef debug diff --git a/source/processes/hadronic/models/de_excitation/management/include/G4VEvaporationChannel.hh b/source/processes/hadronic/models/de_excitation/management/include/G4VEvaporationChannel.hh index d1eac46c99..13984fe01e 100644 --- a/source/processes/hadronic/models/de_excitation/management/include/G4VEvaporationChannel.hh +++ b/source/processes/hadronic/models/de_excitation/management/include/G4VEvaporationChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4VEvaporationChannel.hh,v 1.3 2006/06/29 20:23:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/management/include/G4VEvaporationFactory.hh b/source/processes/hadronic/models/de_excitation/management/include/G4VEvaporationFactory.hh index a336c647b2..96594c122e 100644 --- a/source/processes/hadronic/models/de_excitation/management/include/G4VEvaporationFactory.hh +++ b/source/processes/hadronic/models/de_excitation/management/include/G4VEvaporationFactory.hh @@ -25,7 +25,7 @@ // // // $Id: G4VEvaporationFactory.hh,v 1.3 2006/06/29 20:23:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/management/src/G4VEvaporationChannel.cc b/source/processes/hadronic/models/de_excitation/management/src/G4VEvaporationChannel.cc index 03a6ce45ae..4ae9624a3d 100644 --- a/source/processes/hadronic/models/de_excitation/management/src/G4VEvaporationChannel.cc +++ b/source/processes/hadronic/models/de_excitation/management/src/G4VEvaporationChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4VEvaporationChannel.cc,v 1.5 2006/06/29 20:23:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/management/src/G4VEvaporationFactory.cc b/source/processes/hadronic/models/de_excitation/management/src/G4VEvaporationFactory.cc index e3e527e185..fcb0a9c3a7 100644 --- a/source/processes/hadronic/models/de_excitation/management/src/G4VEvaporationFactory.cc +++ b/source/processes/hadronic/models/de_excitation/management/src/G4VEvaporationFactory.cc @@ -25,7 +25,7 @@ // // // $Id: G4VEvaporationFactory.cc,v 1.5 2006/06/29 20:23:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4Solver.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4Solver.hh index db2ac88996..cc96edb4ab 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4Solver.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4Solver.hh @@ -25,7 +25,7 @@ // // // $Id: G4Solver.hh,v 1.4 2006/06/29 20:23:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMF.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMF.hh index cc1fa4d15b..7811ff64ad 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMF.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMF.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMF.hh,v 1.3 2006/06/29 20:24:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFChannel.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFChannel.hh index 4464806f23..86fa0c9184 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFChannel.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFChannel.hh,v 1.3 2006/06/29 20:24:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFFragment.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFFragment.hh index c33cb261dd..39c17877c4 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFFragment.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFFragment.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFFragment.hh,v 1.3 2006/06/29 20:24:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroBiNucleon.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroBiNucleon.hh index cd08dcc13f..276e76dc4a 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroBiNucleon.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroBiNucleon.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroBiNucleon.hh,v 1.3 2006/06/29 20:24:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroChemicalPotential.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroChemicalPotential.hh index 5a475e021c..a17b4f6377 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroChemicalPotential.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroChemicalPotential.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroChemicalPotential.hh,v 1.3 2006/06/29 20:24:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroMultiNucleon.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroMultiNucleon.hh index e821db8085..6609b1b81e 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroMultiNucleon.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroMultiNucleon.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroMultiNucleon.hh,v 1.3 2006/06/29 20:24:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroMultiplicity.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroMultiplicity.hh index 1a9cc06089..9acc66b2c7 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroMultiplicity.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroMultiplicity.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroMultiplicity.hh,v 1.3 2006/06/29 20:24:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroNucleon.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroNucleon.hh index 16e456627d..0f8508521e 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroNucleon.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroNucleon.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroNucleon.hh,v 1.3 2006/06/29 20:24:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroTemperature.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroTemperature.hh index 56d867d2b0..ef56fbe25a 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroTemperature.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroTemperature.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroTemperature.hh,v 1.3 2006/06/29 20:24:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroTetraNucleon.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroTetraNucleon.hh index 7efd402c67..f406a73fb5 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroTetraNucleon.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroTetraNucleon.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroTetraNucleon.hh,v 1.3 2006/06/29 20:24:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroTriNucleon.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroTriNucleon.hh index e8ea939c0d..f1b8c3b77a 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroTriNucleon.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMacroTriNucleon.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroTriNucleon.hh,v 1.3 2006/06/29 20:24:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMicroCanonical.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMicroCanonical.hh index 94eb6a21b7..e61bf826f1 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMicroCanonical.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMicroCanonical.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMicroCanonical.hh,v 1.3 2006/06/29 20:24:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMicroManager.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMicroManager.hh index 8c84055dbc..a41681478f 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMicroManager.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMicroManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMicroManager.hh,v 1.3 2006/06/29 20:24:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMicroPartition.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMicroPartition.hh index 1d593f0966..1054a93f0c 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMicroPartition.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFMicroPartition.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMicroPartition.hh,v 1.3 2006/06/29 20:24:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFParameters.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFParameters.hh index 3816336c90..189aa04d12 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFParameters.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4StatMFParameters.hh @@ -25,7 +25,7 @@ // // // $Id: G4StatMFParameters.hh,v 1.3 2006/06/29 20:24:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4VMultiFragmentation.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4VMultiFragmentation.hh index ecec28072b..5f60f12b35 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4VMultiFragmentation.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4VMultiFragmentation.hh @@ -25,7 +25,7 @@ // // // $Id: G4VMultiFragmentation.hh,v 1.3 2006/06/29 20:24:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4VStatMFEnsemble.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4VStatMFEnsemble.hh index 35c84a35aa..4088aed0c8 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4VStatMFEnsemble.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4VStatMFEnsemble.hh @@ -25,7 +25,7 @@ // // // $Id: G4VStatMFEnsemble.hh,v 1.3 2006/06/29 20:24:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4VStatMFMacroCluster.hh b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4VStatMFMacroCluster.hh index 1871a82a04..58dbe1758c 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4VStatMFMacroCluster.hh +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/include/G4VStatMFMacroCluster.hh @@ -25,7 +25,7 @@ // // // $Id: G4VStatMFMacroCluster.hh,v 1.5 2006/08/19 19:55:09 dennis Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4Solver.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4Solver.cc index 71685a1637..3dcab8cd46 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4Solver.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4Solver.cc @@ -25,7 +25,7 @@ // // // $Id: G4Solver.cc,v 1.3 2006/06/29 20:24:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMF.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMF.cc index 0fb50330c3..0891de8dd8 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMF.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMF.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMF.cc,v 1.5 2006/06/29 20:24:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFChannel.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFChannel.cc index 7679aa0df9..f21cd80ae3 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFChannel.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFChannel.cc,v 1.6 2006/06/29 20:24:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFFragment.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFFragment.cc index 6a0b7b74ef..9722afecbe 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFFragment.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFFragment.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFFragment.cc,v 1.6 2006/06/29 20:24:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroBiNucleon.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroBiNucleon.cc index 7d1c78a770..b3c1d96174 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroBiNucleon.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroBiNucleon.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroBiNucleon.cc,v 1.5 2006/06/29 20:24:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroCanonical.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroCanonical.cc index 353694b203..bdb0978236 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroCanonical.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroCanonical.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroCanonical.cc,v 1.6 2006/06/29 20:24:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara // -------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroChemicalPotential.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroChemicalPotential.cc index e572261a2f..3c082229fb 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroChemicalPotential.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroChemicalPotential.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroChemicalPotential.cc,v 1.5 2006/06/29 20:24:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroMultiNucleon.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroMultiNucleon.cc index d5fe40deef..aea57fd34e 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroMultiNucleon.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroMultiNucleon.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroMultiNucleon.cc,v 1.5 2006/06/29 20:25:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroMultiplicity.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroMultiplicity.cc index cf2cec5ebd..ef7463f651 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroMultiplicity.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroMultiplicity.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroMultiplicity.cc,v 1.5 2006/06/29 20:25:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroNucleon.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroNucleon.cc index 896a687163..6ec5bfdd9e 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroNucleon.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroNucleon.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroNucleon.cc,v 1.5 2006/06/29 20:25:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroTemperature.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroTemperature.cc index b508e2945c..66dd1c2bf9 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroTemperature.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroTemperature.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroTemperature.cc,v 1.5 2006/06/29 20:25:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroTetraNucleon.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroTetraNucleon.cc index de715d0dae..1ea0507486 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroTetraNucleon.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroTetraNucleon.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroTetraNucleon.cc,v 1.5 2006/06/29 20:25:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroTriNucleon.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroTriNucleon.cc index 12172cc83e..768bc7ac8e 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroTriNucleon.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMacroTriNucleon.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMacroTriNucleon.cc,v 1.5 2006/06/29 20:25:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMicroCanonical.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMicroCanonical.cc index 6e497f9808..9bcdc0cb26 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMicroCanonical.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMicroCanonical.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMicroCanonical.cc,v 1.6 2006/06/29 20:25:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMicroManager.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMicroManager.cc index 30cee01ec1..5e15a145ac 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMicroManager.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMicroManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMicroManager.cc,v 1.5 2006/06/29 20:25:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMicroPartition.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMicroPartition.cc index d6b0d4fffb..cb39b6522b 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMicroPartition.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFMicroPartition.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFMicroPartition.cc,v 1.7 2006/06/29 20:25:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara // -------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFParameters.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFParameters.cc index cbe697bce7..17c8a90bbd 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFParameters.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4StatMFParameters.cc @@ -25,7 +25,7 @@ // // // $Id: G4StatMFParameters.cc,v 1.4 2006/06/29 20:25:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4VMultiFragmentation.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4VMultiFragmentation.cc index f61b353758..2eadd2c7a3 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4VMultiFragmentation.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4VMultiFragmentation.cc @@ -25,7 +25,7 @@ // // // $Id: G4VMultiFragmentation.cc,v 1.5 2006/06/29 20:25:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4VStatMFEnsemble.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4VStatMFEnsemble.cc index fa714031db..b492d35701 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4VStatMFEnsemble.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4VStatMFEnsemble.cc @@ -25,7 +25,7 @@ // // // $Id: G4VStatMFEnsemble.cc,v 1.5 2006/06/29 20:25:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4VStatMFMacroCluster.cc b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4VStatMFMacroCluster.cc index 1ffb196f2e..b29a6808fe 100644 --- a/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4VStatMFMacroCluster.cc +++ b/source/processes/hadronic/models/de_excitation/multifragmentation/src/G4VStatMFMacroCluster.cc @@ -25,7 +25,7 @@ // // // $Id: G4VStatMFMacroCluster.cc,v 1.4 2006/06/29 20:25:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4DiscreteGammaDeexcitation.cc b/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4DiscreteGammaDeexcitation.cc index dde4668f25..24defb7a3f 100644 --- a/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4DiscreteGammaDeexcitation.cc +++ b/source/processes/hadronic/models/de_excitation/photon_evaporation/src/G4DiscreteGammaDeexcitation.cc @@ -142,12 +142,12 @@ G4bool G4DiscreteGammaDeexcitation::CanDoTransition() const if (canDo) { G4double A = nucleus.GetA(); G4double Z = nucleus.GetZ(); - if (A <2 || Z<3 || Z>100) + if (Z<2 || A<3 || Z>98) { canDo = false; if (_verbose > 0) G4cout - << "G4DiscreteGammaDeexcitation::CanDoTransition - n/p/H/>U" + << "G4DiscreteGammaDeexcitation::CanDoTransition - n/p/H/>Cf" << G4endl; } } diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4AlphaCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/util/include/G4AlphaCoulombBarrier.hh index 2cb18965ad..844a361398 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4AlphaCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4AlphaCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4AlphaCoulombBarrier.hh,v 1.3 2006/06/29 20:27:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertPairingCorrections.hh b/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertPairingCorrections.hh index a08a72bb75..0f170251c7 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertPairingCorrections.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertPairingCorrections.hh @@ -25,7 +25,7 @@ // // // $Id: G4CameronGilbertPairingCorrections.hh,v 1.3 2006/06/29 20:27:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertShellCorrections.hh b/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertShellCorrections.hh index 76bf95757a..a2f8d09bb0 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertShellCorrections.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4CameronGilbertShellCorrections.hh @@ -25,7 +25,7 @@ // // // $Id: G4CameronGilbertShellCorrections.hh,v 1.3 2006/06/29 20:27:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4CameronShellPlusPairingCorrections.hh b/source/processes/hadronic/models/de_excitation/util/include/G4CameronShellPlusPairingCorrections.hh index 97a233fa48..c81a47fac4 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4CameronShellPlusPairingCorrections.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4CameronShellPlusPairingCorrections.hh @@ -25,7 +25,7 @@ // // // $Id: G4CameronShellPlusPairingCorrections.hh,v 1.3 2006/06/29 20:27:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfPairingCorrections.hh b/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfPairingCorrections.hh index 46c9312b3c..ee8d41eb3a 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfPairingCorrections.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfPairingCorrections.hh @@ -25,7 +25,7 @@ // // // $Id: G4CameronTruranHilfPairingCorrections.hh,v 1.3 2006/06/29 20:27:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfShellCorrections.hh b/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfShellCorrections.hh index eabb8203b4..5bcab75355 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfShellCorrections.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4CameronTruranHilfShellCorrections.hh @@ -25,7 +25,7 @@ // // // $Id: G4CameronTruranHilfShellCorrections.hh,v 1.3 2006/06/29 20:27:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4ConstantLevelDensityParameter.hh b/source/processes/hadronic/models/de_excitation/util/include/G4ConstantLevelDensityParameter.hh index 25566305b5..bfbc4478db 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4ConstantLevelDensityParameter.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4ConstantLevelDensityParameter.hh @@ -25,7 +25,7 @@ // // // $Id: G4ConstantLevelDensityParameter.hh,v 1.3 2006/06/29 20:27:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations (photon evaporation) // by C. Dallapiccola (Nov 1998) diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4CookPairingCorrections.hh b/source/processes/hadronic/models/de_excitation/util/include/G4CookPairingCorrections.hh index 7ae07e7f90..f9a28946dd 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4CookPairingCorrections.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4CookPairingCorrections.hh @@ -25,7 +25,7 @@ // // // $Id: G4CookPairingCorrections.hh,v 1.3 2006/06/29 20:27:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4CookShellCorrections.hh b/source/processes/hadronic/models/de_excitation/util/include/G4CookShellCorrections.hh index a470c9cf13..a407a737ca 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4CookShellCorrections.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4CookShellCorrections.hh @@ -25,7 +25,7 @@ // // // $Id: G4CookShellCorrections.hh,v 1.3 2006/06/29 20:27:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4CoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/util/include/G4CoulombBarrier.hh index 8953f1e556..c9f5bf5491 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4CoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4CoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4CoulombBarrier.hh,v 1.4 2006/06/29 20:27:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4DeuteronCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/util/include/G4DeuteronCoulombBarrier.hh index aa2be978d0..2d9204902c 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4DeuteronCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4DeuteronCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4DeuteronCoulombBarrier.hh,v 1.3 2006/06/29 20:27:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4EvaporationLevelDensityParameter.hh b/source/processes/hadronic/models/de_excitation/util/include/G4EvaporationLevelDensityParameter.hh index 60d64f7ab6..1b39b782b6 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4EvaporationLevelDensityParameter.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4EvaporationLevelDensityParameter.hh @@ -25,7 +25,7 @@ // // // $Id: G4EvaporationLevelDensityParameter.hh,v 1.3 2006/06/29 20:27:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4He3CoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/util/include/G4He3CoulombBarrier.hh index 78989dfc93..0929b91a71 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4He3CoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4He3CoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4He3CoulombBarrier.hh,v 1.3 2006/06/29 20:27:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4NeutronCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/util/include/G4NeutronCoulombBarrier.hh index 6e74f37375..3f4eb7e3b2 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4NeutronCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4NeutronCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronCoulombBarrier.hh,v 1.3 2006/06/29 20:27:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4PairingCorrection.hh b/source/processes/hadronic/models/de_excitation/util/include/G4PairingCorrection.hh index 114e1738d7..2b346f73cd 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4PairingCorrection.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4PairingCorrection.hh @@ -25,7 +25,7 @@ // // // $Id: G4PairingCorrection.hh,v 1.4 2006/06/29 20:27:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4ProtonCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/util/include/G4ProtonCoulombBarrier.hh index b6d4f86d72..b13059e95d 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4ProtonCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4ProtonCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProtonCoulombBarrier.hh,v 1.3 2006/06/29 20:27:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4ShellCorrection.hh b/source/processes/hadronic/models/de_excitation/util/include/G4ShellCorrection.hh index 2e51ec9350..c6787e0018 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4ShellCorrection.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4ShellCorrection.hh @@ -25,7 +25,7 @@ // // // $Id: G4ShellCorrection.hh,v 1.3 2006/06/29 20:27:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4TritonCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/util/include/G4TritonCoulombBarrier.hh index 2d7dc773c2..c7e463a5de 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4TritonCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4TritonCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4TritonCoulombBarrier.hh,v 1.3 2006/06/29 20:27:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4VCoulombBarrier.hh b/source/processes/hadronic/models/de_excitation/util/include/G4VCoulombBarrier.hh index b54d85305d..02bd3b2b66 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4VCoulombBarrier.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4VCoulombBarrier.hh @@ -25,7 +25,7 @@ // // // $Id: G4VCoulombBarrier.hh,v 1.3 2006/06/29 20:27:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Nov 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4VEmissionProbability.hh b/source/processes/hadronic/models/de_excitation/util/include/G4VEmissionProbability.hh index ee6191c389..f5cf85fc10 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4VEmissionProbability.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4VEmissionProbability.hh @@ -25,7 +25,7 @@ // // // $Id: G4VEmissionProbability.hh,v 1.3 2006/06/29 20:27:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/util/include/G4VLevelDensityParameter.hh b/source/processes/hadronic/models/de_excitation/util/include/G4VLevelDensityParameter.hh index 36f2a2cbc8..676d2fd79a 100644 --- a/source/processes/hadronic/models/de_excitation/util/include/G4VLevelDensityParameter.hh +++ b/source/processes/hadronic/models/de_excitation/util/include/G4VLevelDensityParameter.hh @@ -25,7 +25,7 @@ // // // $Id: G4VLevelDensityParameter.hh,v 1.4 2006/06/29 20:28:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4AlphaCoulombBarrier.cc b/source/processes/hadronic/models/de_excitation/util/src/G4AlphaCoulombBarrier.cc index cd55858206..842cf18e68 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4AlphaCoulombBarrier.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4AlphaCoulombBarrier.cc @@ -25,7 +25,7 @@ // // // $Id: G4AlphaCoulombBarrier.cc,v 1.4 2006/06/29 20:28:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertPairingCorrections.cc b/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertPairingCorrections.cc index 16292dfca2..5d7a5178ef 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertPairingCorrections.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertPairingCorrections.cc @@ -25,7 +25,7 @@ // // // $Id: G4CameronGilbertPairingCorrections.cc,v 1.3 2006/06/29 20:28:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertShellCorrections.cc b/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertShellCorrections.cc index f99ca3693b..49b3464e29 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertShellCorrections.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4CameronGilbertShellCorrections.cc @@ -25,7 +25,7 @@ // // // $Id: G4CameronGilbertShellCorrections.cc,v 1.3 2006/06/29 20:28:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4CameronShellPlusPairingCorrections.cc b/source/processes/hadronic/models/de_excitation/util/src/G4CameronShellPlusPairingCorrections.cc index 2cd87c9f8b..4ca4acda80 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4CameronShellPlusPairingCorrections.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4CameronShellPlusPairingCorrections.cc @@ -25,7 +25,7 @@ // // // $Id: G4CameronShellPlusPairingCorrections.cc,v 1.3 2006/06/29 20:28:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfPairingCorrections.cc b/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfPairingCorrections.cc index e6fe6bb9b4..d45c55a5a6 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfPairingCorrections.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfPairingCorrections.cc @@ -25,7 +25,7 @@ // // // $Id: G4CameronTruranHilfPairingCorrections.cc,v 1.3 2006/06/29 20:28:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfShellCorrections.cc b/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfShellCorrections.cc index 55f2a6fb94..4229816885 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfShellCorrections.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4CameronTruranHilfShellCorrections.cc @@ -25,7 +25,7 @@ // // // $Id: G4CameronTruranHilfShellCorrections.cc,v 1.3 2006/06/29 20:28:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4CookPairingCorrections.cc b/source/processes/hadronic/models/de_excitation/util/src/G4CookPairingCorrections.cc index ba4c86d11e..6478d08055 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4CookPairingCorrections.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4CookPairingCorrections.cc @@ -25,7 +25,7 @@ // // // $Id: G4CookPairingCorrections.cc,v 1.3 2006/06/29 20:28:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4CookShellCorrections.cc b/source/processes/hadronic/models/de_excitation/util/src/G4CookShellCorrections.cc index c1fcdc7096..4420e039bc 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4CookShellCorrections.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4CookShellCorrections.cc @@ -25,7 +25,7 @@ // // // $Id: G4CookShellCorrections.cc,v 1.3 2006/06/29 20:28:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4CoulombBarrier.cc b/source/processes/hadronic/models/de_excitation/util/src/G4CoulombBarrier.cc index 2d5f40ea9f..2d6c47f7b0 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4CoulombBarrier.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4CoulombBarrier.cc @@ -25,7 +25,7 @@ // // // $Id: G4CoulombBarrier.cc,v 1.6 2006/06/29 20:28:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4DeuteronCoulombBarrier.cc b/source/processes/hadronic/models/de_excitation/util/src/G4DeuteronCoulombBarrier.cc index 87e54d4f53..253c850776 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4DeuteronCoulombBarrier.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4DeuteronCoulombBarrier.cc @@ -25,7 +25,7 @@ // // // $Id: G4DeuteronCoulombBarrier.cc,v 1.4 2006/06/29 20:28:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4EvaporationLevelDensityParameter.cc b/source/processes/hadronic/models/de_excitation/util/src/G4EvaporationLevelDensityParameter.cc index b034753d0a..8a4262e5e9 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4EvaporationLevelDensityParameter.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4EvaporationLevelDensityParameter.cc @@ -25,7 +25,7 @@ // // // $Id: G4EvaporationLevelDensityParameter.cc,v 1.5 2006/06/29 20:28:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4He3CoulombBarrier.cc b/source/processes/hadronic/models/de_excitation/util/src/G4He3CoulombBarrier.cc index b516132b42..30402393a7 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4He3CoulombBarrier.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4He3CoulombBarrier.cc @@ -25,7 +25,7 @@ // // // $Id: G4He3CoulombBarrier.cc,v 1.4 2006/06/29 20:28:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4NeutronCoulombBarrier.cc b/source/processes/hadronic/models/de_excitation/util/src/G4NeutronCoulombBarrier.cc index cc79934b3b..4d73522ad2 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4NeutronCoulombBarrier.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4NeutronCoulombBarrier.cc @@ -25,7 +25,7 @@ // // // $Id: G4NeutronCoulombBarrier.cc,v 1.4 2006/06/29 20:28:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4PairingCorrection.cc b/source/processes/hadronic/models/de_excitation/util/src/G4PairingCorrection.cc index 56a285597c..801a8d08f9 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4PairingCorrection.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4PairingCorrection.cc @@ -25,7 +25,7 @@ // // // $Id: G4PairingCorrection.cc,v 1.3 2006/06/29 20:28:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4ProtonCoulombBarrier.cc b/source/processes/hadronic/models/de_excitation/util/src/G4ProtonCoulombBarrier.cc index 2736fdfb0a..40d19975c6 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4ProtonCoulombBarrier.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4ProtonCoulombBarrier.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProtonCoulombBarrier.cc,v 1.4 2006/06/29 20:28:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4ShellCorrection.cc b/source/processes/hadronic/models/de_excitation/util/src/G4ShellCorrection.cc index b4b2cc67af..4c016a9847 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4ShellCorrection.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4ShellCorrection.cc @@ -25,7 +25,7 @@ // // // $Id: G4ShellCorrection.cc,v 1.3 2006/06/29 20:28:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4TritonCoulombBarrier.cc b/source/processes/hadronic/models/de_excitation/util/src/G4TritonCoulombBarrier.cc index 83252628dd..c48fafe6ab 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4TritonCoulombBarrier.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4TritonCoulombBarrier.cc @@ -25,7 +25,7 @@ // // // $Id: G4TritonCoulombBarrier.cc,v 1.4 2006/06/29 20:28:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4VCoulombBarrier.cc b/source/processes/hadronic/models/de_excitation/util/src/G4VCoulombBarrier.cc index 195706fe4c..72e9fa4a0f 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4VCoulombBarrier.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4VCoulombBarrier.cc @@ -25,7 +25,7 @@ // // // $Id: G4VCoulombBarrier.cc,v 1.5 2006/06/29 20:28:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Dec 1999) diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4VEmissionProbability.cc b/source/processes/hadronic/models/de_excitation/util/src/G4VEmissionProbability.cc index b20936b863..7922ee7b99 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4VEmissionProbability.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4VEmissionProbability.cc @@ -25,7 +25,7 @@ // // // $Id: G4VEmissionProbability.cc,v 1.5 2006/06/29 20:28:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/de_excitation/util/src/G4VLevelDensityParameter.cc b/source/processes/hadronic/models/de_excitation/util/src/G4VLevelDensityParameter.cc index 025282d91c..565ab016e0 100644 --- a/source/processes/hadronic/models/de_excitation/util/src/G4VLevelDensityParameter.cc +++ b/source/processes/hadronic/models/de_excitation/util/src/G4VLevelDensityParameter.cc @@ -25,7 +25,7 @@ // // // $Id: G4VLevelDensityParameter.cc,v 1.4 2006/06/29 20:28:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear De-excitations // by V. Lara (Oct 1998) diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiKaonZeroInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiKaonZeroInelastic.hh index c446158355..cbe3b0403d 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiKaonZeroInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiKaonZeroInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiKaonZeroInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiLambdaInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiLambdaInelastic.hh index 6c3886860c..ef65b24249 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiLambdaInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiLambdaInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiLambdaInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiNeutronInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiNeutronInelastic.hh index 0410ec56c8..7b755c9191 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiNeutronInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiNeutronInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiNeutronInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiOmegaMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiOmegaMinusInelastic.hh index 884b96cbbb..28edfcb0d6 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiOmegaMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiOmegaMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiOmegaMinusInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiProtonInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiProtonInelastic.hh index ec46eff6cd..43bff77eec 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiProtonInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiProtonInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiProtonInelastic.hh,v 1.15 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaMinusInelastic.hh index 0126e730c2..64d13a4c51 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiSigmaMinusInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaPlusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaPlusInelastic.hh index 0f18eb7fa5..8df9694293 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaPlusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaPlusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiSigmaPlusInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaZeroInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaZeroInelastic.hh index 65f732f221..7263882f7d 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaZeroInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiSigmaZeroInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiSigmaZeroInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiXiMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiXiMinusInelastic.hh index beacfc454d..ec9e8fd6b5 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiXiMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiXiMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiXiMinusInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEAntiXiZeroInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEAntiXiZeroInelastic.hh index b543c4f689..f95d98e429 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEAntiXiZeroInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEAntiXiZeroInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiXiZeroInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEInelastic.hh index 58afd21fbf..f8d2ec4729 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy (GHE) model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEKaonMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEKaonMinusInelastic.hh index 449799a01e..f75a8e7b41 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEKaonMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEKaonMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEKaonMinusInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEKaonPlusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEKaonPlusInelastic.hh index e782680e9d..5b860da747 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEKaonPlusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEKaonPlusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEKaonPlusInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroInelastic.hh index 8148b08ead..8b99b1b80a 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEKaonZeroInelastic.hh,v 1.13 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroLongInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroLongInelastic.hh index d25cb87cd7..7fd627760c 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroLongInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroLongInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEKaonZeroLongInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroShortInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroShortInelastic.hh index 6fc7778c88..3882840023 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroShortInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEKaonZeroShortInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEKaonZeroShortInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HELambdaInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HELambdaInelastic.hh index f961a4fce5..4cc1839fd8 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HELambdaInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HELambdaInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HELambdaInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HENeutronInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HENeutronInelastic.hh index c3d0456121..97b8e3f072 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HENeutronInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HENeutronInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HENeutronInelastic.hh,v 1.15 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEOmegaMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEOmegaMinusInelastic.hh index 4988faed51..e1c8416da4 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEOmegaMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEOmegaMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEOmegaMinusInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEPionMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEPionMinusInelastic.hh index 4a6d80f753..c273af7b01 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEPionMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEPionMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEPionMinusInelastic.hh,v 1.15 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEPionPlusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEPionPlusInelastic.hh index 7db6c3f0f0..511f5981ea 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEPionPlusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEPionPlusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEPionPlusInelastic.hh,v 1.15 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEPlot.hh b/source/processes/hadronic/models/high_energy/include/G4HEPlot.hh index 7f27394aa8..de458bb106 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEPlot.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEPlot.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEPlot.hh,v 1.9 2006/06/29 20:29:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha friend class G4HEPlot -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEProtonInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEProtonInelastic.hh index aad4b5412e..462ee4f1e9 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEProtonInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEProtonInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEProtonInelastic.hh,v 1.15 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HESigmaMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HESigmaMinusInelastic.hh index c468718698..014831b6db 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HESigmaMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HESigmaMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HESigmaMinusInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HESigmaPlusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HESigmaPlusInelastic.hh index 34b7323f6e..369951ea41 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HESigmaPlusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HESigmaPlusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HESigmaPlusInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HESigmaZeroInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HESigmaZeroInelastic.hh index f93fbdf833..db59eff281 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HESigmaZeroInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HESigmaZeroInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HESigmaZeroInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEVector.hh b/source/processes/hadronic/models/high_energy/include/G4HEVector.hh index 25a8aed2bd..0a106fd0ae 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEVector.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEVector.hh,v 1.12 2006/06/29 20:29:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha friend class G4KinematicParticle -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEXiMinusInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEXiMinusInelastic.hh index 2818054d2a..b0ff4e260c 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEXiMinusInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEXiMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEXiMinusInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/include/G4HEXiZeroInelastic.hh b/source/processes/hadronic/models/high_energy/include/G4HEXiZeroInelastic.hh index 106f7effd3..076f28c6d1 100644 --- a/source/processes/hadronic/models/high_energy/include/G4HEXiZeroInelastic.hh +++ b/source/processes/hadronic/models/high_energy/include/G4HEXiZeroInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4HEXiZeroInelastic.hh,v 1.14 2007/04/11 18:11:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiKaonZeroInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiKaonZeroInelastic.cc index 7818c69e75..19b7ce1ac0 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiKaonZeroInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiKaonZeroInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiKaonZeroInelastic.cc,v 1.14 2006/06/29 20:29:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiLambdaInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiLambdaInelastic.cc index 180750ce14..0da4083b14 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiLambdaInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiLambdaInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiLambdaInelastic.cc,v 1.14 2006/06/29 20:29:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiNeutronInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiNeutronInelastic.cc index 3a1ddd84b2..8435275cfc 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiNeutronInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiNeutronInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiNeutronInelastic.cc,v 1.14 2006/06/29 20:29:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiOmegaMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiOmegaMinusInelastic.cc index 4d695cf6c4..8a326b27f6 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiOmegaMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiOmegaMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiOmegaMinusInelastic.cc,v 1.14 2006/06/29 20:30:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiProtonInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiProtonInelastic.cc index 5b75a39ae5..3330087c4e 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiProtonInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiProtonInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiProtonInelastic.cc,v 1.13 2006/06/29 20:30:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaMinusInelastic.cc index 6a8cc200e6..d9c1360c08 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiSigmaMinusInelastic.cc,v 1.14 2006/06/29 20:30:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaPlusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaPlusInelastic.cc index cc8122cc54..9fd809b8f4 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaPlusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaPlusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiSigmaPlusInelastic.cc,v 1.14 2006/06/29 20:30:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaZeroInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaZeroInelastic.cc index 4361a0b759..98aec15cf8 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaZeroInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiSigmaZeroInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiSigmaZeroInelastic.cc,v 1.10 2006/06/29 20:30:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiXiMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiXiMinusInelastic.cc index 455df7f71b..ea21935274 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiXiMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiXiMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiXiMinusInelastic.cc,v 1.14 2006/06/29 20:30:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEAntiXiZeroInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEAntiXiZeroInelastic.cc index be6ce11e95..a385e68316 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEAntiXiZeroInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEAntiXiZeroInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEAntiXiZeroInelastic.cc,v 1.14 2006/06/29 20:30:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEKaonMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEKaonMinusInelastic.cc index d5241a4de2..2501c88ab3 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEKaonMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEKaonMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEKaonMinusInelastic.cc,v 1.13 2006/06/29 20:30:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEKaonPlusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEKaonPlusInelastic.cc index 272ac67444..2fcc495f43 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEKaonPlusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEKaonPlusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEKaonPlusInelastic.cc,v 1.13 2006/06/29 20:30:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroInelastic.cc index e820a5a4fa..6ecfc5437a 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEKaonZeroInelastic.cc,v 1.14 2006/06/29 20:30:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroLongInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroLongInelastic.cc index 942e723b2f..47c780dc5a 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroLongInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroLongInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEKaonZeroLongInelastic.cc,v 1.10 2006/06/29 20:30:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroShortInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroShortInelastic.cc index 7f32e89a52..e05f2eff3f 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroShortInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEKaonZeroShortInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEKaonZeroShortInelastic.cc,v 1.10 2006/06/29 20:30:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HELambdaInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HELambdaInelastic.cc index a24a241b25..87dc0d6a1e 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HELambdaInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HELambdaInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HELambdaInelastic.cc,v 1.14 2006/06/29 20:30:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HENeutronInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HENeutronInelastic.cc index d62b313435..02bd3e661e 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HENeutronInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HENeutronInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HENeutronInelastic.cc,v 1.14 2006/06/29 20:30:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEOmegaMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEOmegaMinusInelastic.cc index 09a9dcaf1e..8eccb12985 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEOmegaMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEOmegaMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEOmegaMinusInelastic.cc,v 1.14 2006/06/29 20:30:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEPionMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEPionMinusInelastic.cc index 0a05cf489a..948d5f1bb3 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEPionMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEPionMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEPionMinusInelastic.cc,v 1.13 2006/06/29 20:30:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEPionPlusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEPionPlusInelastic.cc index f56cc5f8f8..db5c947d07 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEPionPlusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEPionPlusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEPionPlusInelastic.cc,v 1.14 2006/06/29 20:30:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEPlot.cc b/source/processes/hadronic/models/high_energy/src/G4HEPlot.cc index 8ac557d806..15b8cd8bc0 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEPlot.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEPlot.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEPlot.cc,v 1.11 2006/06/29 20:30:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEProtonInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEProtonInelastic.cc index 620b2c1806..9f5a2ab585 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEProtonInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEProtonInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEProtonInelastic.cc,v 1.13 2006/06/29 20:30:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HESigmaMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HESigmaMinusInelastic.cc index 49213a0010..f8246df464 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HESigmaMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HESigmaMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HESigmaMinusInelastic.cc,v 1.14 2006/06/29 20:30:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HESigmaPlusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HESigmaPlusInelastic.cc index c612a9d08f..7d7333cdfb 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HESigmaPlusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HESigmaPlusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HESigmaPlusInelastic.cc,v 1.14 2006/06/29 20:30:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HESigmaZeroInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HESigmaZeroInelastic.cc index 55e3e5af95..b8383827a6 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HESigmaZeroInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HESigmaZeroInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HESigmaZeroInelastic.cc,v 1.11 2006/06/29 20:30:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEVector.cc b/source/processes/hadronic/models/high_energy/src/G4HEVector.cc index 22af3c87f2..71bae68e4c 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEVector.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEVector.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEVector.cc,v 1.20 2006/11/22 23:52:32 dennis Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEXiMinusInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEXiMinusInelastic.cc index 18979d50c3..44dc5b8d14 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEXiMinusInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEXiMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEXiMinusInelastic.cc,v 1.14 2006/06/29 20:30:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/high_energy/src/G4HEXiZeroInelastic.cc b/source/processes/hadronic/models/high_energy/src/G4HEXiZeroInelastic.cc index 25c9fed80e..f40fd334a0 100644 --- a/source/processes/hadronic/models/high_energy/src/G4HEXiZeroInelastic.cc +++ b/source/processes/hadronic/models/high_energy/src/G4HEXiZeroInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4HEXiZeroInelastic.cc,v 1.14 2006/06/29 20:30:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/hadronic/models/im_r_matrix/include/G4CollisionInitialState.hh b/source/processes/hadronic/models/im_r_matrix/include/G4CollisionInitialState.hh index 1958034033..74a4ad76e1 100644 --- a/source/processes/hadronic/models/im_r_matrix/include/G4CollisionInitialState.hh +++ b/source/processes/hadronic/models/im_r_matrix/include/G4CollisionInitialState.hh @@ -25,7 +25,7 @@ // // // $Id: G4CollisionInitialState.hh,v 1.4.4.2 2006/06/29 20:31:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: G4CollisionInitialState.hh,v 1.0 1998/06/30 // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/im_r_matrix/include/G4ListOfCollisions.hh b/source/processes/hadronic/models/im_r_matrix/include/G4ListOfCollisions.hh index 4414ca4ec3..fa10d6eefd 100644 --- a/source/processes/hadronic/models/im_r_matrix/include/G4ListOfCollisions.hh +++ b/source/processes/hadronic/models/im_r_matrix/include/G4ListOfCollisions.hh @@ -25,7 +25,7 @@ // // // $Id: G4ListOfCollisions.hh,v 1.1.4.2 2006/06/29 20:35:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: G4ListOfCollisions.hh,v 1.0 1998/06/30 // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/isotope_production/src/G4NeutronIsoIsoCrossSections.cc b/source/processes/hadronic/models/isotope_production/src/G4NeutronIsoIsoCrossSections.cc index 37fbc78741..da0aec4cff 100644 --- a/source/processes/hadronic/models/isotope_production/src/G4NeutronIsoIsoCrossSections.cc +++ b/source/processes/hadronic/models/isotope_production/src/G4NeutronIsoIsoCrossSections.cc @@ -60,7 +60,7 @@ Init(G4int A, G4int Z, G4double frac) theNames.SetMaxOffSet(5); G4NeutronHPDataUsed dataUsed; G4String rest = "/CrossSection/"; - G4String base = getenv("NeutronHPCrossSections"); + G4String base = getenv("G4NEUTRONHPDATA"); G4String base1 = base + "/Inelastic/"; G4bool hasInelasticData = false; dataUsed = theNames.GetName(A, Z, base1, rest, hasInelasticData); diff --git a/source/processes/hadronic/models/leading_particle/include/G4Mars5GeV.hh b/source/processes/hadronic/models/leading_particle/include/G4Mars5GeV.hh index d70e938bf4..a93ebd0336 100644 --- a/source/processes/hadronic/models/leading_particle/include/G4Mars5GeV.hh +++ b/source/processes/hadronic/models/leading_particle/include/G4Mars5GeV.hh @@ -25,7 +25,7 @@ // // // $Id: G4Mars5GeV.hh,v 1.5 2006/06/29 20:43:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/leading_particle/src/G4Mars5GeV.cc b/source/processes/hadronic/models/leading_particle/src/G4Mars5GeV.cc index cd5f5b113b..c156748eca 100644 --- a/source/processes/hadronic/models/leading_particle/src/G4Mars5GeV.cc +++ b/source/processes/hadronic/models/leading_particle/src/G4Mars5GeV.cc @@ -25,7 +25,7 @@ // // // $Id: G4Mars5GeV.cc,v 1.14 2006/06/29 20:43:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/lll_fission/GNUmakefile b/source/processes/hadronic/models/lll_fission/GNUmakefile new file mode 100644 index 0000000000..90d57c9d97 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/GNUmakefile @@ -0,0 +1,36 @@ +# $Id: GNUmakefile,v 1.1 2007/05/22 00:39:08 dennis Exp $ +# ------------------------------------------------------------------------ +# GNUmakefile for Livermore fission library. Dennis Wright, 14 March 2007 +# ------------------------------------------------------------------------ + +name := G4had_lll_fis + +ifndef G4INSTALL + G4INSTALL = ../../../../.. +endif + +include $(G4INSTALL)/config/architecture.gmk + +CPPFLAGS += -I$(G4BASE)/global/management/include \ + -I$(G4BASE)/global/HEPRandom/include \ + -I$(G4BASE)/processes/hadronic/util/include \ + -I$(G4BASE)/processes/hadronic/models/neutron_hp/include \ + -I$(G4BASE)/materials/include \ + -I$(G4BASE)/global/HEPGeometry/include \ + -I$(G4BASE)/particles/management/include \ + -I$(G4BASE)/particles/bosons/include \ + -I$(G4BASE)/processes/hadronic/processes/include \ + -I$(G4BASE)/processes/management/include \ + -I$(G4BASE)/particles/leptons/include \ + -I$(G4BASE)/particles/hadrons/mesons/include \ + -I$(G4BASE)/particles/hadrons/barions/include \ + -I$(G4BASE)/particles/hadrons/ions/include \ + -I$(G4BASE)/processes/hadronic/management/include \ + -I$(G4BASE)/track/include \ + -I$(G4BASE)/geometry/volumes/include \ + -I$(G4BASE)/geometry/management/include \ + -I$(G4BASE)/processes/hadronic/models/management/include \ + -I$(G4BASE)/processes/hadronic/cross_sections/include + +include $(G4INSTALL)/config/common.gmk + diff --git a/source/processes/hadronic/models/lll_fission/History b/source/processes/hadronic/models/lll_fission/History new file mode 100644 index 0000000000..d5c13e880a --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/History @@ -0,0 +1,67 @@ +------------------------------------------------------------------- + + ========================================================== + Geant4 - an Object-Oriented Toolkit for Phyiscs Simulation + ========================================================== + + History file for Lawrence Livermore Laboratory Fission Model + ------------------------------------------------------------ + +This file should be used to summarize modifications introduced in the +code and to keep track of all tags. + + --------------------------------------------------------------- + * Please list in reverse chronological order (last date on top) + --------------------------------------------------------------- + +27 June 2007 Gabriele Cosmo (hadr-lllfis-V08-03-07) +--------------------------------------------------- +- Replace NeutronHPCrossSections with G4NEUTRONHPDATA variable. + +1 June 2007 Dennis Wright (hadr-lllfis-V08-03-06) +------------------------------------------------- +- Fix un-initialized variable in G4SmpNuDistDataPu239.cc + +1 June 2007 Gabriele Cosmo (hadr-lllfis-V08-03-05) +-------------------------------------------------- +- Use and std:: in front of mathematical functions. +- Get rid of templated wrapper for random generator. Not necessary ? + Resolves compilation problems on Windows. + +31 May 2007 Dennis Wright (hadr-lllfis-V08-03-04) +------------------------------------------------- +- G4FissionLibrary.hh, .cc : moved constructor to .cc and instantiated base + class in it (to fix VC++ compiler error) +- G4RNGWrapper.cc : added after "template" (VC++ compiler) +- G4SmpIsoDir.cc : replace 2*M_PI with twopi +- G4SmpNugDist.cc : made arguments of pow and sqrt G4double (VC++ compiler) +- G4rngc.cc : replace function pointers with G4UniformRand (VC++ compiler) + +30 May 2007 Dennis Wright (hadr-lllfis-V08-03-03) +------------------------------------------------- +- fixed compiler warnings: + control reaches end of function: + G4SmpGEng.cc, G4SmpNEngCf252.cc, G4SmpNuDistDataU235.cc, + G4SmpNugDist.cc + unused parameter: G4SmpPVel.cc + un-initialized array: G4SmpNuDistDataU235.cc, G4SmpNuDistDataU238.cc + missing braces in array initialization: G4SmpSpNuDistData.cc, + G4SmpWatt.cc + +29 May 2007 Dennis Wright (hadr-lllfis-V08-03-02) +------------------------------------------------- +- Changed all file names to start with G4, changed int, float + and double to G4int, G4float and G4double, + removed extern C statements + +29 May 2007 Gabriele Cosmo (hadr-lllfis-V08-03-01) +-------------------------------------------------- +- Fixed compilation errors on gcc-4.1.2 for extra ';' in the code. + Affected files: fissionEvent.cc, G4LLNLFission.cc. + +21 May 2007 Dennis Wright (hadr-lllfis-V08-03-00) +------------------------------------------------- +- new directory created for LLNL spontaneous fission model. + Livermore code given Geant4 license headers and .h files were + converted to .hh + diff --git a/source/processes/hadronic/models/lll_fission/include/G4FissLib.hh b/source/processes/hadronic/models/lll_fission/include/G4FissLib.hh new file mode 100755 index 0000000000..e5deb2bbd8 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/include/G4FissLib.hh @@ -0,0 +1,157 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// $Id: G4FissLib.hh,v 1.2 2007/06/01 13:46:53 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// ******************************************************************** +// ! A neutron-induced fission package ! +// ! J.M. Verbeke, Dec-2006 / LLNL ! +// ! ! +// ! G4NeutronFissionModule.cc ! +// ! ! +// ! Classes to simulate neutron-induced fissions, emitting neutrons ! +// ! and gamma-rays. Algorithm uses data whenever available, and ! +// ! models such as the Terrell approximation, the Watt spectrum ! +// ! otherwise. ! +// ! ! +// ! The complete list of references used is shown below: ! +// ! ! +// ! J. Terrell, "Distributions of Fission Neutron Numbers", Phys. ! +// ! Rev. 108, 783 (1957). ! +// ! M.S. Zucker, N.E. Holden, "Energy Dependence of Neutron ! +// ! Multiplicity P_nu in Fast-Neutron-Induced Fission for U-235, ! +// ! U-238 and Pu-239," BNL-38491 (1986). ! +// ! T.E. Valentine, "MCNP-DSP Users Manual," ORNL/TM-13334, R2, Oak ! +// ! Ridge National Laboratory (2000). ! +// ! T.E. Valentine, J.T. Mihalczo, "MCNP-DSP: A Neutron and Gamma ! +// ! Ray Monte Carlo Calculation of Source-Driven Noise-Measured ! +// ! Parameters ," Ann. of Nucl. Eng., 23, 16, p. 1271 (1996). ! +// ! R. Gwin, R.R. Spencer, R.W. Ingle, "Measurements of the Energy ! +// ! Dependence of Prompt Neutron Emission from U-233, U-235, ! +// ! Pu-239, and Pu-241 for E_n=0.005 to 10 eV Relative to Emission ! +// ! from Spontaneous Fission of Cf-252," Nucl. Sci. Eng., 87, 381 ! +// ! (1984). ! +// ! J. Frehaut, "Neutron Multiplicity Distribution in Fast ! +// ! Neutron-Induced Fission," Proc. of IAEA Consultant's Meeting ! +// ! on Physics of Neutron Emission in Fission, Mito, Japan (1988). ! +// ! R.R. Spencer, R. Gwin, R.W. Ingle, "A measurement of the Average ! +// ! Number of Prompt Neutrons from Spontaneous Fission of ! +// ! Californium-252," Nucl. Sci. Eng. 80, 603 (1982). ! +// ! J.W. Boldeman, M.G. Hines, "Prompt Neutron Emission ! +// ! Probabilities Following Spontaneous and Thermal Neutron ! +// ! Fission," Nucl. Sci. Eng., 91, 114 (1985). ! +// ! N.E. Holden, M.S. Zucker, "A Reevaluation of the Average Prompt ! +// ! Neutron Emission Multiplicity (nubar) Values from Fission of ! +// ! Uranium and Transuranium Nuclides," BNL-NCS-35513, Brookhaven ! +// ! National Laboratory). ! +// ! R.J. Howerton, et al, "The LLL Evaluated Nuclear Data Library ! +// ! (ENDL): Evaluation Techniques, Reaction Index, and Description ! +// ! of Individual Evaluations," UCRL-50400, V. 15, Part A, ! +// ! Lawrence Livermore National Laboratory (1975). ! +// ! D.E. Cullen, "Sampling ENDL Watt Fission Spectra," ! +// ! UCRL-TR-203251, Lawrence Livermore National Laboratory (2004). ! +// ! C.J. Everett, E.D. Cashwell, "A Third Monte Carlo Sampler," ! +// ! LA-9721-MS, Los Alamos National Laboratory (1983). ! +// ! D.E. Cullen, "TART 2002: A Couple Neutron-Photon 3-D, ! +// ! Combinatorial Geometry, Time Dependent Monte-Carlo Transport ! +// ! Code," UCRL-ID-126455, Rev. 4, Lawrence Livermore National ! +// ! Laboratory (2003). ! +// ! W. Mannhart, "Evaluation of the Cf-252 Fission Neutron Spectrum ! +// ! Between 0 MeV and 20 MeV," Proc. Advisory Group Mtg. Neutron ! +// ! Sources, Leningrad, USSR, 1986 (IAEA-TECDOC-410), Vienna ! +// ! (1987). ! +// ! D.G. Madland, J.R. Nix, "Prompt Fission Neutron Spectra and ! +// ! Average Prompt Neutron Multiplicities,"NEANDC Specialist's ! +// ! Meeting on Yields and Decay Data of Fission Products, ! +// ! Brookhaven National Laboratory, BNL 51778 (1984). ! +// ! F.H. Froehner, "Evaluation of Cf-252 Prompt Fission Neutron Data ! +// ! from 0 to 20 MeV by Watt Spectrum Fit," Nucl. Sci. Eng. 106, ! +// ! 345 (1990). ! +// ! G.S. Brunson, Jr., "Multiplicity and Correlated Energy of Gamma ! +// ! Rays Emitted in the Spontaneous Fission of Californium-252," ! +// ! Ph.D. Thesis, University of Utah (1982). ! +// ! T.E. Valentine, "Evaluation of Prompt Fission Gamma Rays for Use ! +// ! in Simulating Nuclear Safeguard Measurements," Ann. Nucl. ! +// ! Eng., 28, 191 (2001). ! +// ! C. Wagemans, "The Nuclear Fission Process," CRC Press, Inc., Boca! +// ! Raton, Florida (1991). ! +// ! F.C. Maienschein, R.W. Peelle, T.A. Love, Neutron Phys. Ann. ! +// ! Prog. Rep. for Sept. 1, 1958, ORNL-2609, Oak Ridge National ! +// ! Laboratory (1958). ! +// ! "Fundamental Aspects of Reactor Shielding," Addison-Wesley ! +// ! Publishing Company, Inc. Reading, Massachussetts (1959). ! +// ! ! +// ******************************************************************** +// + // Hadronic Process: High Precision low E neutron tracking + // original by J.M. Verbeke, LLNL, 5-Jan-07 + // Builds and has the Cross-section data for one material. + +#ifndef G4FissLib_h +#define G4FissLib_h 1 + +// Class Description +// Final state production model for a high precision (based on evaluated data +// libraries) description of neutron induced fission below 10 MeV. +// Note that this model (by intent of avoiding the possibility of heating studies) does +// not provide the nuclear fragments. +// +// To be used in your physics list in case you need this physics. +// In this case you want to register an object of this class with +// the corresponding process. +// Class Description - End + +#include "globals.hh" +#include "G4NeutronHPChannel.hh" +#include "G4HadronicInteraction.hh" +#include "G4NeutronHPThermalBoost.hh" +#include "G4FissionLibrary.hh" +#include "G4FissLib.hh" + +class G4FissLib : public G4HadronicInteraction +{ + public: + + G4FissLib(); + + ~G4FissLib(); + + G4HadFinalState * ApplyYourself(const G4HadProjectile& aTrack, G4Nucleus& aTargetNucleus); + + private: + + G4FissionLibrary theLibrary; + + private: + + G4double * xSec; + G4NeutronHPChannel * theFission; + G4String dirName; + G4int numEle; + // static G4String theNames[3]; +}; + +#endif diff --git a/source/processes/hadronic/models/lll_fission/include/G4FissionLibrary.hh b/source/processes/hadronic/models/lll_fission/include/G4FissionLibrary.hh new file mode 100755 index 0000000000..1243286872 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/include/G4FissionLibrary.hh @@ -0,0 +1,104 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// $Id: G4FissionLibrary.hh,v 1.4 2007/06/01 14:02:08 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// + +#ifndef G4FissionLibrary_h +#define G4FissionLibrary_h 1 + +#include "globals.hh" +#include "G4HadProjectile.hh" +#include "G4DynamicParticleVector.hh" +#include "G4HadFinalState.hh" +#include "G4NeutronHPFinalState.hh" +#include "G4NeutronHPNames.hh" +#include "G4NeutronHPNeutronYield.hh" +#include "G4NeutronHPFissionERelease.hh" +#include "G4NeutronHPEnergyDistribution.hh" +#include "G4NeutronHPPhotonDist.hh" +#include "G4NeutronHPAngular.hh" +#include "G4Nucleus.hh" +#include "Randomize.hh" +#include "G4LLNLFission.hh" + +class G4FissionLibrary : public G4NeutronHPFinalState +{ + public: + + G4FissionLibrary(); + ~G4FissionLibrary(); + + void Init (G4double A, G4double Z, G4String & dirName, G4String &); + G4HadFinalState * ApplyYourself(const G4HadProjectile & theTrack); + G4NeutronHPFinalState * New() ; + + private: + G4int theIsotope; // used to call genfissevt_ + G4double targetMass; + void SampleMult(const G4HadProjectile & theTrack, G4int* nPrompt, + G4int* gPrompt, G4double eKinetic); + inline G4NeutronHPFissionERelease * GetEnergyRelease() { + return &theEnergyRelease; + } + G4NeutronHPNeutronYield theFinalStateNeutrons; + G4NeutronHPEnergyDistribution thePromptNeutronEnDis; + G4NeutronHPEnergyDistribution theDelayedNeutronEnDis; + G4NeutronHPAngular theNeutronAngularDis; + + G4NeutronHPPhotonDist theFinalStatePhotons; + G4NeutronHPFissionERelease theEnergyRelease; +}; +#endif diff --git a/source/processes/hadronic/models/lll_fission/include/G4LLNLFission.hh b/source/processes/hadronic/models/lll_fission/include/G4LLNLFission.hh new file mode 100644 index 0000000000..a17875d4b5 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/include/G4LLNLFission.hh @@ -0,0 +1,252 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// $Id: G4LLNLFission.hh,v 1.2 2007/05/30 00:43:20 dennis Exp $ +// + +// +// This class is a copy of Fission.hh, made for use with Geant4. +// + + extern void genspfissevt_(G4int *isotope, G4double *time); +/* + * This function is called to trigger a spontaneous fission. + * Multiple neutrons and photons are generated and stored + * in a stack along with their energies, directions and + * emission times. + * The arguments of this function are + * isotope: 94239 for Pu-239 for instance + * time: the time of the spontaneous fission + */ + + extern void genfissevt_(G4int *isotope, G4double *time, G4double *nubar, G4double *eng); +/* + * This function is called to trigger a neutron-induced fission. + * Multiple neutrons and photons are generated and stored + * in a stack along with their energies, directions and + * emission times. In addition to the arguments above, this + * function needs + * nubar: user-specified average number of neutrons emitted + * per fission (e.g. as tabulated in the cross-section + * libraries used by the particle transport code) + * eng: energy of the neutron inducing fission + */ + + extern G4int getnnu_(); +/* + * This function returns the number of neutrons emitted by the + * fission, -1 if there is no neutron data for that isotope in + * the fission library. + */ + + extern G4int getpnu_(); +/* + * This function returns the number of photons emitted by the + * fission, -1 if there is no photon data for that isotope in + * the fission library. + */ + + extern G4double getneng_(G4int *index); +/* + * Given the index of the emitted neutron, this function returns + * its energy, -1 if index isout of range. + */ + + extern G4double getnvel_(G4int *index); +/* + * Given the index of the emitted neutron, this function returns + * the amplitude of its velocity, -1 if index is out of range. + */ + + extern G4double getndircosu_(G4int *index); + extern G4double getndircosv_(G4int *index); + extern G4double getndircosw_(G4int *index); +/* + * Given the index of the emitted neutron, this function returns + * the direction cosines of its velocity vector on the x, y and z + * axes. + */ + + extern G4double getpeng_(G4int *index); +/* + * Given the index of the emitted photon, this function returns + * its energy, -1 if index is out of range. + */ + + extern G4double getpvel_(G4int *index); +/* + * Given the index of the emitted photon, this function returns + * the amplitude of its velocity, -1 if index is out of range. + */ + + extern G4double getpdircosu_(G4int *index); + extern G4double getpdircosv_(G4int *index); + extern G4double getpdircosw_(G4int *index); +/* + * Given the index of the emitted photon, this function returns + * the direction cosines of its velocity. + */ + + extern G4double getnage_(G4int *index); +/* + * Given the index of the emitted neutron, this function returns + * its age, -1 if index is out of range. + * This age will be different from the time specified + * in generateFissionEvent and generateSpontaneousFissionEvent + * for non-prompt neutrons, i.e. delayed neutrons. + */ + + extern G4double getpage_(G4int *index); +/* + * Given the index of the emitted photon, this function returns + * its age, -1 of index is out of range. + * This age will be different from the time specified + * in generateFissionEvent and generateSpontaneousFissionEvent + * for photons that are emitted by beta-decay of the fission + * fragments. + */ + + extern void setdelay_(G4int *delay); +/* + * This function is called to enable delayed neutrons and photons + * Input + * delay: + * 0 (default) for strictly prompt neutrons and + * photons + * 1 (n/a) for prompt neutrons, prompt and delayed + * photons + * 2 (n/a) for prompt and delayed neutrons, prompt + * photons + * 3 (n/a) for prompt and delayed neutrons, prompt + * and delayed photons + */ + + extern void setcorrel_(G4int *correlation); +/* + * This function is called to set the type of neutron photon correlation + * Input + * correlation: + * 0 (default) for no correlation between neutrons and + * photons + * 1 (n/a) for number correlation between neutrons and + * photons + * 2 (n/a) for number and energy correlation between + * neutrons and photons + */ + + extern void setnudist_(G4int *nudist); +/* + * This function is called to set the data to be sampled for the neutron + * number distributions in induced fissions + * Input + * nudist: + * 0 to use the fit to the Zucker and Holden tabulated + * P(nu) distributions as a function of energy for + * U235, U238 and Pu239. Terrell for other isotopes. + * 1 to use fits to the Zucker and Holden tabulated + * P(nu) distribution as a function of energy for + * U238 and Pu239, and a fit to the Zucker and Holden + * data as well as the Gwin, Spencer and Ingle data + * (at thermal energies) as a function of energy for + * U235. Terrell for other isotopes. + * 2 (default) to use the fit to the Zucker and Holden + * tabulated P(nu) distributions as a function of nubar. + * The U238 fit is used for the U232, U234, U236 and + * U238 isotopes, the U235 fit for U233 and U235, the + * Pu239 fit for Pu239 and Pu241. Terrell for other + * isotopes. + */ + + + extern void setcf252_(G4int *ndist, G4int *neng); +/* + * This function is called to set the data to be sampled for the + * (a) Cf252 spontaneous fission number distribution, and + * (b) Cf252 spontaneous fission neutron energy spectrum + * Input + * ndist: + * 0 (default) to sample the number of neutrons from the + * tabulated data measured by Spencer + * 1 to sample the number of neutrons from Boldeman's data + * neng: + * 0 to sample the spontaneous fission neutron energy from + * Mannhart corrected Maxwellian spectrum + * 1 to sample the spontaneous fission neutron energy from + * Madland-Nix theoretical spectrum + * 2 to sample the spontaneous fission neutron energy from + * the Froehner Watt spectrum + */ + + extern void setrngf_(G4float (*funcptr) (void)); +/* + * This function sets the random number generator to the user-defined + * one specified in the argument. If either setrngf_ or setrngd_ are + * not specified, the default system call srand48 will be called. + * Input + * funcptr: + * a random number generator function that returns a + * variable of type G4float + */ + + extern void setrngd_(G4double (*funcptr) (void)); +/* + * This function sets the random number generator to the user-defined + * one specified in the argument. If either setrngf_ or setrngd_ are + * not specified, the default system call srand48 will be called. + * Input + * funcptr: + * a random number generator function that returns a + * variable of type G4double + */ +// } diff --git a/source/processes/hadronic/models/lll_fission/include/G4fissionEvent.hh b/source/processes/hadronic/models/lll_fission/include/G4fissionEvent.hh new file mode 100644 index 0000000000..6d7cc11db6 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/include/G4fissionEvent.hh @@ -0,0 +1,192 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// $Id: G4fissionEvent.hh,v 1.1 2007/05/30 00:41:48 dennis Exp $ +// + +#include "globals.hh" +#include + +class G4fissionEvent { + private: + G4int neutronNu; // number of neutrons in this fission event + G4double* neutronEnergies; + G4double* neutronVelocities; + G4double* neutronDircosu; + G4double* neutronDircosv; + G4double* neutronDircosw; + G4double* neutronAges; + + G4int photonNu; // number of photons in this fission event + G4double* photonEnergies; + G4double* photonVelocities; + G4double* photonDircosu; + G4double* photonDircosv; + G4double* photonDircosw; + G4double* photonAges; + + // options + static G4int delayoption; + static G4int correlationoption; + static G4int nudistoption; + static G4int Cf252ndistoption; + static G4int Cf252nengoption; + static G4double (*rngdptr)(void); + static float (*rngfptr)(void); + + public: + // These are all the methods of this class accessible to the caller of the object + G4fissionEvent(G4int isotope, G4double time, G4double nubar, G4double eng); + ~G4fissionEvent(); + G4int getNeutronNu() { + return neutronNu; + } + G4int getPhotonNu() { + return photonNu; + } + G4double getNeutronEnergy(G4int index) { + if (index >= 0 && index < neutronNu) return neutronEnergies[index]; + else return -1; + } + G4double getNeutronVelocity(G4int index) { + if (index >= 0 && index < neutronNu) return neutronVelocities[index]; + else return -1; + } + G4double getNeutronDircosu(G4int index) { + if (index >= 0 && index < neutronNu) return neutronDircosu[index]; + else return -1; + } + G4double getNeutronDircosv(G4int index) { + if (index >= 0 && index < neutronNu) return neutronDircosv[index]; + else return -1; + } + G4double getNeutronDircosw(G4int index) { + if (index >= 0 && index < neutronNu) return neutronDircosw[index]; + else return -1; + } + G4double getPhotonEnergy(G4int index) { + if (index >= 0 && index < photonNu) return photonEnergies[index]; + else return -1; + } + G4double getPhotonVelocity(G4int index) { + if (index >= 0 && index < photonNu) return photonVelocities[index]; + else return -1; + } + G4double getPhotonDircosu(G4int index) { + if (index >= 0 && index < photonNu) return photonDircosu[index]; + else return -1; + } + G4double getPhotonDircosv(G4int index) { + if (index >= 0 && index < photonNu) return photonDircosv[index]; + else return -1; + } + G4double getPhotonDircosw(G4int index) { + if (index >= 0 && index < photonNu) return photonDircosw[index]; + else return -1; + } + G4double getNeutronAge(G4int index) { + if (index >= 0 && index < neutronNu) return neutronAges[index]; + else return -1; + } + G4double getPhotonAge(G4int index) { + if (index >= 0 && index < photonNu) return photonAges[index]; + else return -1; + } + static void setDelayOption(G4int delay) { + delayoption = delay; + }; + static void setCorrelationOption(G4int correlation) { + correlationoption = correlation; + }; + static void setNudistOption(G4int nudist) { + nudistoption = nudist; + }; + static void setCf252Option(G4int ndist, G4int neng) { + Cf252ndistoption = ndist; + Cf252nengoption = neng; + }; + static void setRNGf(float (*funcptr) (void)) { + rngfptr = funcptr; + rngdptr = rngf2d; + } + static void setRNGd(G4double (*funcptr) (void)) { + rngdptr = funcptr; + } + + + private: + G4int G4SmpNuDistDataU232_234_236_238(G4double nubar); + G4int G4SmpNuDistDataU232_234_236_238_MC(G4double nubar); + G4int G4SmpNuDistDataU233_235(G4double nubar); + G4int G4SmpNuDistDataU233_235_MC(G4double nubar); + G4int G4SmpNuDistDataU235(G4double erg, G4int option); + G4int G4SmpNuDistDataPu239(G4double erg); + G4double G4SmpNVel(G4double eng, G4double* cosdiru, G4double* cosdirv, G4double* cosdirw); + G4double G4SmpNEngCf252(G4int option); + void G4SmpIsoDir(G4double* cosdiru, G4double* cosdirv, G4double* cosdirw); + G4double G4SmpGEng(); + G4int G4SmpNuDistDataPu239_241(G4double nubar); + G4int G4SmpNuDistDataPu239_241_MC(G4double nubar); + G4int G4SmpNuDistDataU238(G4double erg); + G4int G4SmpNugDist(G4int isotope, G4double nubar); + G4double G4SmpPVel(G4double eng, G4double* cosdiru, G4double* cosdirv, G4double* cosdirw); + G4int G4SmpSpNuDistData(G4int isotope, G4int Cf252option); + G4double G4SmpSpNubarData(G4int isotope); + G4int G4SmpSpNugDistData(G4int isotope); + G4double G4SmpTerrell(G4double nubar); + G4double G4SmpWatt(G4double ePart, G4int iso); + void G4fissionerr(G4int iSever, std::string chSubNam, std::string chMsg); + static G4double fisslibrng(void); + static G4double rngf2d(void); +}; diff --git a/source/processes/hadronic/models/lll_fission/src/G4FissLib.cc b/source/processes/hadronic/models/lll_fission/src/G4FissLib.cc new file mode 100755 index 0000000000..9748624505 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4FissLib.cc @@ -0,0 +1,130 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4FissLib.cc,v 1.2 2007/06/27 09:57:42 gcosmo Exp $ +// +// neutron_hp -- source file +// J.M. Verbeke, Jan-2007 +// A prototype of the low energy neutron transport model. +// +#include "G4FissLib.hh" + +G4FissLib::G4FissLib() +{ + SetMinEnergy( 0.0 ); + SetMaxEnergy( 20.*MeV ); + if(!getenv("G4NEUTRONHPDATA")) { + G4cout << "Please setenv G4NEUTRONHPDATA to point to the neutron cross-section files." << G4endl; + throw G4HadronicException(__FILE__, __LINE__, "Please setenv G4NEUTRONHPDATA to point to the neutron cross-section files."); + } + dirName = getenv("G4NEUTRONHPDATA"); + G4String tString = "/Fission/"; + dirName = dirName + tString; + numEle = G4Element::GetNumberOfElements(); + theFission = new G4NeutronHPChannel[numEle]; + + for (G4int i=0; iGetZ()<< G4endl; + if((*(G4Element::GetElementTable()))[i]->GetZ()>89) + { + theFission[i].Init((*(G4Element::GetElementTable()))[i], dirName); + theFission[i].Register(&theLibrary); + } + } +} + +G4FissLib::~G4FissLib() +{ + delete [] theFission; +} + +G4HadFinalState * G4FissLib::ApplyYourself(const G4HadProjectile& aTrack, G4Nucleus& ) +{ + const G4Material * theMaterial = aTrack.GetMaterial(); + G4int n = theMaterial->GetNumberOfElements(); + G4int index = theMaterial->GetElement(0)->GetIndex(); + if(n!=1) + { + xSec = new G4double[n]; + G4double sum=0; + G4int i, index; + const G4double * NumAtomsPerVolume = theMaterial->GetVecNbOfAtomsPerVolume(); + G4double rWeight; + G4NeutronHPThermalBoost aThermalE; + for (i=0; iGetElement(i)->GetIndex(); + rWeight = NumAtomsPerVolume[i]; + xSec[i] = theFission[index].GetXsec(aThermalE.GetThermalEnergy(aTrack, + theMaterial->GetElement(i), + theMaterial->GetTemperature())); + xSec[i] *= rWeight; + sum+=xSec[i]; + } + G4double random = G4UniformRand(); + G4double running = 0; + for (i=0; iGetElement(i)->GetIndex(); + if(random<=running/sum) break; + } + delete [] xSec; + } + + return theFission[index].ApplyYourself(aTrack); +} + diff --git a/source/processes/hadronic/models/lll_fission/src/G4FissionLibrary.cc b/source/processes/hadronic/models/lll_fission/src/G4FissionLibrary.cc new file mode 100755 index 0000000000..9c99c322e9 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4FissionLibrary.cc @@ -0,0 +1,245 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4FissionLibrary.cc,v 1.4 2007/06/01 14:02:08 gcosmo Exp $ +// +// neutron_hp -- source file +// J.M. Verbeke, Jan-2007 +// A low energy neutron-induced fission model. +// + +#include "G4FissionLibrary.hh" + +G4FissionLibrary::G4FissionLibrary() + : G4NeutronHPFinalState() +{ + hasXsec = false; +} + +G4FissionLibrary::~G4FissionLibrary() +{ +} + +G4NeutronHPFinalState * G4FissionLibrary::New() +{ + G4FissionLibrary * theNew = new G4FissionLibrary; + return theNew; +} + +void G4FissionLibrary::Init (G4double A, G4double Z, G4String & dirName, G4String &) +{ + G4String tString = "/FS/"; + G4bool dbool; + theIsotope = static_cast(1000*Z+A); + G4NeutronHPDataUsed aFile = theNames.GetName(static_cast(A), static_cast(Z), dirName, tString, dbool); + G4String filename = aFile.GetName(); + + if(!dbool) + { + hasAnyData = false; + hasFSData = false; + hasXsec = false; + return; + } + std::ifstream theData(filename, std::ios::in); + + // here it comes + G4int infoType, dataType; + hasFSData = false; + while (theData >> infoType) + { + hasFSData = true; + theData >> dataType; + switch(infoType) + { + case 1: + if(dataType==4) theNeutronAngularDis.Init(theData); + if(dataType==5) thePromptNeutronEnDis.Init(theData); + if(dataType==12) theFinalStatePhotons.InitMean(theData); + if(dataType==14) theFinalStatePhotons.InitAngular(theData); + if(dataType==15) theFinalStatePhotons.InitEnergies(theData); + break; + case 2: + if(dataType==1) theFinalStateNeutrons.InitMean(theData); + break; + case 3: + if(dataType==1) theFinalStateNeutrons.InitDelayed(theData); + if(dataType==5) theDelayedNeutronEnDis.Init(theData); + break; + case 4: + if(dataType==1) theFinalStateNeutrons.InitPrompt(theData); + break; + case 5: + if(dataType==1) theEnergyRelease.Init(theData); + break; + default: + G4cout << "G4FissionLibrary::Init: unknown data type"<(incidentParticle->GetDefinition()) ); + theNeutron.SetMomentum( incidentParticle->Get4Momentum().vect() ); + theNeutron.SetKineticEnergy( eKinetic ); + +// prepare target + G4Nucleus aNucleus; + G4ReactionProduct theTarget; + G4ThreeVector neuVelo = (1./incidentParticle->GetDefinition()->GetPDGMass())*theNeutron.GetMomentum(); + theTarget = aNucleus.GetBiasedThermalNucleus( targetMass, neuVelo, theTrack.GetMaterial()->GetTemperature()); + +// set neutron and target in the FS classes + theNeutronAngularDis.SetNeutron(theNeutron); + theNeutronAngularDis.SetTarget(theTarget); + +// boost to target rest system + theNeutron.Lorentz(theNeutron, -1*theTarget); + + eKinetic = theNeutron.GetKineticEnergy(); + +// dice neutron and gamma multiplicities, energies and momenta in Lab. @@ +// no energy conservation on an event-to-event basis. we rely on the data to be ok. @@ +// also for mean, we rely on the consistency of the data. @@ + + G4int nPrompt=0, gPrompt=0; + SampleMult(theTrack, &nPrompt, &gPrompt, eKinetic); + +// Build neutrons and add them to dynamic particle vector + G4double momentum; + for(G4int i=0; iSetDefinition(G4Neutron::Neutron()); + it->SetKineticEnergy(getneng_(&i)*MeV); + momentum = it->GetTotalMomentum(); + G4ThreeVector temp(momentum*getndircosu_(&i), + momentum*getndircosv_(&i), + momentum*getndircosw_(&i)); + it->SetMomentum( temp ); +// it->SetGlobalTime(getnage_(&i)*second); + theResult.AddSecondary(it); +// G4cout <<"G4FissionLibrary::ApplyYourself: energy of prompt neutron " << i << " = " << it->GetKineticEnergy()<SetDefinition(G4Gamma::Gamma()); + thePhoton->SetKineticEnergy(getpeng_(&i)*MeV); + momentum = thePhoton->GetTotalMomentum(); + G4ThreeVector temp(momentum*getpdircosu_(&i), + momentum*getpdircosv_(&i), + momentum*getpdircosw_(&i)); + thePhoton->SetMomentum( temp ); + thePhoton->Lorentz(*thePhoton, -1.*theTarget); + + G4DynamicParticle * it = new G4DynamicParticle; + it->SetDefinition(thePhoton->GetDefinition()); + it->SetMomentum(thePhoton->GetMomentum()); +// it->SetGlobalTime(getpage_(&i)*second); +// G4cout <<"G4FissionLibrary::ApplyYourself: energy of prompt photon " << i << " = " << it->GetKineticEnergy()< +#include "G4fissionEvent.hh" + +G4double G4fissionEvent::G4SmpGEng() { + +/* + Description + Sample energy spectrum for photons emitted by fission-induced reactions. + The energy spectrum of the prompt fission gamma rays is obtained from + Maienschein's measurements. +*/ + +/* + Input + Return + energy of photon emitted by neutron-induced fission +*/ + + G4double r; +/* + Calculate the energy of photons emitted from fission +*/ + r=fisslibrng(); + + if (r == 0.0) return 0.085; + + if (r <= 0.0001) return 0.0855+0.01692*(r/0.0001)-0.02401*std::pow(r/0.0001,2.)+0.01274*std::pow(r/0.0001,3.); + + if (r > 0.0001 && r <= 0.01) return 0.09141 + 0.23846*((r-0.0001)/0.0099) + - 1.75947*std::pow((r-.0001)/0.0099,2.) + + 10.98611*std::pow((r-0.0001)/0.0099,3.) + - 43.19181*std::pow((r-.0001)/0.0099,4.) + +105.70005*std::pow((r-.0001)/.0099,5.) + -160.72894*std::pow((r-.0001)/.0099,6.) + +147.43399*std::pow((r-.0001)/.0099,7.) + - 74.60043*std::pow((r-.0001)/0.0099,8.) + + 15.97547*std::pow((r-.0001)/0.0099,9.); + + if (r > 0.01 && r <= 0.1537) return 0.14486 + 0.40914*((r-.01)/.1437) + - 1.28150*std::pow((r-0.01)/0.1437,2.) + + 5.07377*std::pow((r-0.01)/0.1437,3.) + -15.42031*std::pow((r-0.01)/0.1437,4.) + +31.96346*std::pow((r-0.01)/0.1437,5.) + -43.12605*std::pow((r-0.01)/0.1437,6.) + +36.02908*std::pow((r-0.01)/0.1437,7.) + -16.87185*std::pow((r-0.01)/0.1437,8.) + + 3.37941*std::pow((r-0.01)/0.1437,9.); + + if (r > 0.1537 && r <= 0.7114) return (-1./2.3)*std::log(0.71956*(0.1537-r)+0.50158); + + if (r > 0.7114 && r <= 1.0) return (-1./1.1)*std::log(1.15292*(0.7114-r)+0.33287); + // + // Fall through + // + G4cout << " Random number out of range in SmpGEng " << G4endl; + return -1.0; +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpIsoDir.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpIsoDir.cc new file mode 100644 index 0000000000..2d027e7ad7 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpIsoDir.cc @@ -0,0 +1,91 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpIsoDir.cc,v 1.3 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include "G4fissionEvent.hh" + +void G4fissionEvent::G4SmpIsoDir(G4double* cosdiru, G4double* cosdirv, G4double* cosdirw) { + +/* + Description + determine the 3 direction cosines of a particle emitted isotropically +*/ + +/* + Input + Output + - 3 components of the direction cosines + (cosdiru, cosdirv, cosdirw) +*/ + + G4double cospolang, sinpolang, phi; + +/* + Choose emission angle isotropically. + Select a polar angle direction cosine. +*/ + cospolang = 1.-2.*fisslibrng(); + sinpolang = std::sqrt(1.-std::pow(cospolang, 2.)); +/* + Select an azimuthal angle uniformly on (0,2*pi) +*/ + phi = twopi*fisslibrng(); + *cosdiru = sinpolang * std::cos(phi); + *cosdirv = sinpolang * std::sin(phi); + *cosdirw = cospolang; +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpNEngCf252.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpNEngCf252.cc new file mode 100644 index 0000000000..363d4d4f9d --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpNEngCf252.cc @@ -0,0 +1,200 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpNEngCf252.cc,v 1.4 2007/06/01 18:30:38 dennis Exp $ +// + +#include +#include "G4fissionEvent.hh" + +G4double G4fissionEvent::G4SmpNEngCf252(G4int option) { + +/* + Description + Sample energy spectrum for Cf-252. +*/ + +/* + Input + option - 0 Mannhart corrected Maxwellian spectrum + 1 Madland-Nix theoretical spectrum + 2 Froehner Watt spectrum + Return + energy of neutron emitted by spontaneous fission +*/ + + G4double a,b; + G4double g,g2; + G4double erg; + G4double r; + + r = fisslibrng(); + +/* + Mannhart Corrected Spectrum +*/ + if(option == 0) { + if(r == 0) return 0.000001; + if(r > 0.0 && r <= 0.0005) return 0.00003 + 0.04992*(r/0.0005) - 0.59473*std::pow(r/0.0005,2) + + 5.44877*std::pow(r/0.0005,3) - 29.38086*std::pow(r/0.0005,4) + + 97.14014*std::pow(r/0.0005,5) - 202.82112*std::pow(r/0.0005,6) + + 268.2301*std::pow(r/0.0005,7) - 217.75316*std::pow(r/0.0005,8) + + 98.96285*std::pow(r/0.0005,9) - 19.27077*std::pow(r/0.0005,10); + + if(r > 0.0005 && r <= 0.005) return 0.01118 + 0.06715*((r-.0005)/.0045) + - 0.09236*std::pow((r-.0005)/.0045,2) + 0.26224*std::pow((r-.0005)/.0045,3) + - 0.64784*std::pow((r-.0005)/.0045,4) + 1.16830*std::pow((r-.0005)/.0045,5) + - 1.43858*std::pow((r-.0005)/.0045,6) + 1.13771*std::pow((r-.0005)/.0045,7) + - 0.51839*std::pow((r-.0005)/.0045,8) + 0.10302*std::pow((r-.0005)/.0045,9); + + if(r > 0.005 && r <= 0.05) return 0.05244+0.32101*((r-.005)/.045)-0.52574*std::pow((r-.005)/.045,2)+2.80540*std::pow((r-.005)/.045,3)-14.88036*std::pow((r-.005)/.045,4)+55.46869*std::pow((r-.005)/.045,5)-133.64517*std::pow((r-.005)/.045,6)+202.88434*std::pow((r-.005)/.045,7)-186.86758*std::pow((r-.005)/.045,8)+95.19530*std::pow((r-.005)/.045,9)-20.55275*std::pow((r-.005)/.045,10); + + if(r > 0.05 && r <= 0.25) return 0.25585+0.75532*((r-.05)/.2)-0.73676*std::pow((r-.05)/.2,2)+3.65653*std::pow((r-.05)/.2,3)-13.80528*std::pow((r-.05)/.2,4)+33.35932*std::pow((r-.05)/.2,5)-50.0410*std::pow((r-.05)/.2,6)+45.13793*std::pow((r-.05)/.2,7)-22.4072*std::pow((r-.05)/.2,8)+4.70141*std::pow((r-.05)/.2,9); + + if(r > 0.25 && r <= 0.50) return 0.87609+0.74687*((r-.25)/.25)+0.02849*std::pow((r-.25)/.25,2)+0.06145*std::pow((r-.25)/.25,3)-0.09589*std::pow((r-.25)/.25,4)+0.29798*std::pow((r-.25)/.25,5)-0.57707*std::pow((r-.25)/.25,6)+0.66181*std::pow((r-.25)/.25,7)-0.40720*std::pow((r-.25)/.25,8)+0.10370*std::pow((r-.25)/.25,9); + + if(r > 0.5 && r <= 0.75) return 1.69622+0.93896*((r-.5)/.25)+0.16428*std::pow((r-.5)/.25,2)+0.21761*std::pow((r-.5)/.25,3)-0.96904*std::pow((r-.5)/.25,4)+3.34951*std::pow((r-.5)/.25,5)-6.35177*std::pow((r-.5)/.25,6)+6.90120*std::pow((r-.5)/.25,7)-3.98682*std::pow((r-.5)/.25,8)+0.95276*std::pow((r-.5)/.25,9); + if(r > 0.75 && r <= 0.95) return 2.91217+1.52474*((r-.75)/.2)-4.99340*std::pow((r-.75)/.2,2)+58.72977*std::pow((r-.75)/.2,3)-313.30984*std::pow((r-.75)/.2,4)+946.0791*std::pow((r-.75)/.2,5)-1679.85559*std::pow((r-.75)/.2,6)+1740.83984*std::pow((r-.75)/.2,7)-973.51886*std::pow((r-.75)/.2,8)+227.06831*std::pow((r-.75)/.2,9); + if(r > 0.95 && r <= 0.975) return 5.50137-0.99765*((r-.95)/.025)+27.57678*std::pow((r-.95)/.025,2)-218.47931*std::pow((r-.95)/.025,3)+1024.0426*std::pow((r-.95)/.025,4)-3005.86182*std::pow((r-.95)/.025,5)+5684.52295*std::pow((r-.95)/.025,6)-6919.36182*std::pow((r-.95)/.025,7)+5235.71777*std::pow((r-.95)/.025,8)-2240.06934*std::pow((r-.95)/.025,9)+413.9299*std::pow((r-.95)/.025,10); + if(r > 0.975 && r <= 0.995) return 6.52172+1.21273*((r-.975)/.02)+0.69998*std::pow((r-.975)/.02,2)-1.78886*std::pow((r-.975)/.02,3)+11.57883*std::pow((r-.975)/.02,4)-39.41592*std::pow((r-.975)/.02,5)+88.32992*std::pow((r-.975)/.02,6)-127.68685*std::pow((r-.975)/.02,7)+115.97678*std::pow((r-.975)/.02,8)-60.09069*std::pow((r-.975)/.02,9)+13.66798*std::pow((r-.975)/.02,10); + if(r > 0.995 && r <= 0.999) return 9.00502+1.31798*((r-.995)/.004)-1.17448*std::pow((r-.995)/.004,2)+20.15941*std::pow((r-.995)/.004,3)-114.27763*std::pow((r-.995)/.004,4)+370.04855*std::pow((r-.995)/.004,5)-701.888*std::pow((r-.995)/.004,6)+776.28204*std::pow((r-.995)/.004,7)-462.68823*std::pow((r-.995)/.004,8)+115.05296*std::pow((r-.995)/.004,9); + if(r > 0.999 && r <= 0.9997) return 11.83792-1.8952*((r-.999)/.0007)+50.30901*std::pow((r-.999)/.0007,2)-239.56978*std::pow((r-.999)/.0007,3)+514.90747*std::pow((r-.999)/.0007,4)-508.73672*std::pow((r-.999)/.0007,5)+191.09637*std::pow((r-.999)/.0007,6); + if(r > 0.9997) return 20.; + } +/* + Madland-Nix Spectrum +*/ + if(option == 1) { + if(r <= 1.001065092e-03) return 1.946313876*std::pow(r,0.6667261950); + else if(r > 1.001065092e-03 && r <= 1.001389105e-02) return 2.00504119*std::pow(r,0.6709990736); + else if(r > 1.001389105e-02 && r <= 5.022359145e-02) return 2.107978578*std::pow(r,0.7077041191); + else if(r > 5.022359145e-02 && r <= 1.000989427e-01) return 2.280517358*std::pow(r,0.7077041191); + else if(r > 1.000989427e-01 && r <= 1.500872491e-01) return 2.444108408*std::pow(r,0.73764526215); + else if(r > 1.500872491e-01 && r <= 2.002079974e-01) return 2.621855634*std::pow(r,0.7745779546); + else if(r > 2.002079974e-01 && r <= 2.25221648e-01) return 2.753099265*std::pow(r,0.8044994010); + else if(r > 2.25221648e-01 && r <= 2.501564538e-01) return 2.834010751*std::pow(r,0.8239187384); + else if(r > 2.501564538e-01 && r <= 2.752546770e-01) return 2.911676280*std::pow(r,0.8434235719); + else if(r > 2.752546770e-01 && r <= 3.000964724e-01) return 2.988430135*std::pow(r,0.8635883266); + else if(r > 3.000964724e-01 && r <= 3.500470095e-01) return 3.099471293*std::pow(r,0.8942289512); + else if(r > 3.500470095e-01 && r <= 4.001118970e-01) return 3.244686176*std::pow(r,0.9378302608); + else if(r > 4.001118970e-01 && r <= 5.000461778e-01) return 3.543403932*std::pow(r,1.0411008510); + else if(r > 5.000461778e-01 && r <= 5.501318506e-01) return 3.708358099*std::pow(r,1.1068317830); + else if(r > 5.501318506e-01 && r <= 6.000655433e-01) return 3.889805304*std::pow(r,1.1868908770); + else if(r > 6.000655433e-01 && r <= 6.500147305e-01) return 4.092497225*std::pow(r,1.2865658570); + else if(r > 6.500147305e-01 && r <= 7.000271284e-01) return 4.322906068*std::pow(r,1.4140909190); + else if(r > 7.000271284e-01 && r <= 7.501159110e-01) return 4.589909069*std::pow(r,1.5828217210); + else if(r > 7.501159110e-01 && r <= 8.000662513e-01) return 4.906598744*std::pow(r,1.8162034790); + else if(r > 8.000662513e-01 && r <= 8.500772033e-01) return 5.297053797*std::pow(r,2.1626825870); + else if(r > 8.500772033e-01 && r <= 8.750123088e-01) return 5.650277904*std::pow(r,2.5517142900); + else if(r > 8.750123088e-01 && r <= 9.000106866e-01) return 5.947741976*std::pow(r,2.9383159800); + else if(r > 9.000106866e-01 && r <= 9.250286977e-01) return 6.317014169*std::pow(r,3.5155713570); + else if(r > 9.250286977e-01 && r <= 9.350074655e-01) return 6.625757778*std::pow(r,4.1118364020); + else if(r > 9.350074655e-01 && r <= 9.400070002e-01) return 6.784126941*std::pow(r,4.4594479870); + else if(r > 9.400070002e-01 && r <= 9.500026229e-01) return 6.969180156*std::pow(r,4.9019105900); + else if(r > 9.500026229e-01 && r <= 9.600065896e-01) return 7.254643542*std::pow(r,5.6894827520); + else if(r > 9.600065896e-01 && r <= 9.700165577e-01) return 7.613500497*std::pow(r,6.8841593900); + else if(r > 9.700165577e-01 && r <= 9.750157135e-01) return 7.944100103*std::pow(r,8.2544400860); + else if(r > 9.750157135e-01 && r <= 9.800101585e-01) return 8.228439642*std::pow(r,9.6531190300); + else if(r > 9.800101585e-01 && r <= 9.850018119e-01) return 8.586524083*std::pow(r,11.783756400); + else if(r > 9.850018119e-01 && r <= 9.875072929e-01) return 8.917364901*std::pow(r,14.240137310); + else if(r > 9.875072929e-01 && r <= 9.900006975e-01) return 9.202675761*std::pow(r,16.76089029); + else if(r > 9.900006975e-01 && r <= 9.925048152e-01) return 9.562781386*std::pow(r,20.61962568); + else if(r > 9.925048152e-01 && r <= 9.935030103e-01) return 9.867915664*std::pow(r,24.69147261); + else if(r > 9.935030103e-01 && r <= 9.945000177e-01) return 10.08727342*std::pow(r,28.07701487); + else if(r > 9.945000177e-01 && r <= 9.950025127e-01) return 10.27382614*std::pow(r,31.36001051); + else if(r > 9.950025127e-01 && r <= 9.955029368e-01) return 10.41724243*std::pow(r,34.13127669); + else if(r > 9.955029368e-01 && r <= 9.960005970e-01) return 10.57636221*std::pow(r,37.50088614); + else if(r > 9.960005970e-01 && r <= 9.965016080e-01) return 10.75639015*std::pow(r,41.72354164); + else if(r > 9.965016080e-01 && r <= 9.970001795e-01) return 10.96366661*std::pow(r,47.18729543); + else if(r > 9.970001795e-01 && r <= 9.975004375e-01) return 11.20771170*std::pow(r,54.54899604); + else if(r > 9.975004375e-01 && r <= 9.978504408e-01) return 11.45202216*std::pow(r,63.11906699); + else if(r > 9.978504408e-01 && r <= 9.989524675e-01) return 2.72756636666e5-5.47258138432e5*r+2.74514044871e5*std::pow(r,2); + else if(r > 9.989524675e-01 && r <= 9.994929298e-01) return 1.14946879661e6-2.30252188973e6*r+1.15306661788e6*std::pow(r,2); + else if(r > 9.994929298e-01 && r <= 9.997558922e-01) return 4.90621526236e6-9.81982943883e6*r+4.91362868673e6*std::pow(r,2); + else if(r > 9.997558922e-01 && r <= 9.998830120e-01) return 2.11365688795184e7-4.22884732250404e7*r+2.11519198434219e7*std::pow(r,2); + else if(r > 9.998830120e-01 && r <= 9.999441620e-01) return 9.18987945911229e7-1.83829506875257e8*r+9.19307287711182e7*std::pow(r,2); + else if(r > 9.999441620e-01 && r <= 9.999734440e-01) return 4.02781481130433e8-8.05629656768407e8*r+4.02848193115356e8*std::pow(r,2); + else if(r > 9.999734440e-01 && r <= 9.999874120e-01) return 1.77804635135775e9-3.55623257045546e9*r+1.77818623756641e9*std::pow(r,2); + else if(r > 9.999874120e-01 && r <= 9.999940510e-01) return 7.90099032702915e9-1.58022749659903e10*r+7.90128465842187e9*std::pow(r,2); + else if(r > 9.999940510e-01 && r <= 9.999971960e-01) return 3.53223507413091e10-7.06453227162775e10*r+3.53229719954219e10*std::pow(r,2); + else if(r > 9.999971960e-01 && r <= 9.999986820e-01) return 1.58786475903785e11-3.17574266841213e11*r+1.58787790958875e11*std::pow(r,2); + else if(r > 9.999986820e-01 && r <= 9.999993820e-01) return 7.17433904438156e11-1.43487059972047e12*r+7.17436695304750e11*std::pow(r,2); + else if(r > 9.999993820e-01 && r <= 9.999997110e-01) return 3.257374123945330e12-6.514754184993900e12*r+3.257380061072000e12*std::pow(r,2); + else if(r > 9.999997110e-01 && r <= 9.999998650e-01) return 1.48641255466171e13-2.97282637539286e13*r+1.48641382073360e13*std::pow(r,2); + else if(r > 9.999998650e-01 && r <= 9.999999370e-01) return 6.82056055248876e13-1.36411238119518e14*r+6.82056325946560e13*std::pow(r,2); + else if(r > 9.999999370e-01 && r <= 1.000000000e00) return 3.14919363013517e14-6.29838784079090e14*r+3.14919421065600e14*std::pow(r,2); + } +/* + Frohner Watt Spectrum +*/ + if (option == 2) { + a=1.175; + b=1.040; + + do { + g=std::sqrt(std::pow(1+0.125*a*b,2.)-1)+(1+0.125*a*b); + g2=-std::log(fisslibrng()); + erg=a*g*g2; + } while (std::pow((1-g)*(1+g2)-std::log(fisslibrng()),2.) > b*erg); + return erg; + } + + // + // Fall through + // + + G4cout << " SmpNEngCf252: unrecognized option = " << option << G4endl; + return -1.0; +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpNVel.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpNVel.cc new file mode 100644 index 0000000000..b031228e16 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpNVel.cc @@ -0,0 +1,95 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpNVel.cc,v 1.2 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include "G4fissionEvent.hh" + +G4double G4fissionEvent::G4SmpNVel(G4double eng, G4double* cosdiru, G4double* cosdirv, G4double* cosdirw) { + +/* + Description + Knowing the neutron energy, determine its velocity and the 3 direction cosines +*/ + +/* + Input + eng - energy of neutron + Output + - velocity + - 3 components of the neutron velocity + in arguments (cosdiru, cosdirv, cosdirw) +*/ + + const G4double rme = 939.56563; /* Rest Mass Energy equivalents for neutrons (MeV) */ + const G4double cspeed = 2.99792458e+8; /* speed of light (m/sec) */ + + G4double vel; + G4double ratio = eng/rme; + + if (ratio > 1.e-8) { +/* Relativistic vel calculation */ + vel = cspeed*std::sqrt(1.-rme*rme/((rme+eng)*(rme+eng))); + } else { +/* Non-relativistic vel calculation */ + vel = cspeed*std::sqrt(2.*eng/rme); + } + + G4SmpIsoDir(cosdiru, cosdirv, cosdirw); + + return vel; +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataPu239.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataPu239.cc new file mode 100644 index 0000000000..3e8a9f23b2 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataPu239.cc @@ -0,0 +1,167 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpNuDistDataPu239.cc,v 1.3 2007/06/01 18:30:38 dennis Exp $ +// + +#include +#include "G4fissionEvent.hh" + +G4int G4fissionEvent::G4SmpNuDistDataPu239(G4double erg) { + +/* + Description + Sample Number of Neutrons from fission in Pu-239 using + Zucker and Holden's tabulated data for Pu-239 +*/ + +/* + Input + erg - incident neutron energy + Output + G4SmpNuDistDataPu239 - sampled multiplicity + +*/ + + G4double cpnu; + G4double pnu[8] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; + G4double eng; + G4double r; + +/* + Check if energy is within the range of experimental values +*/ + if (erg > 10) eng=10.; + else eng=erg; + + r=fisslibrng(); + +/* + Pu-239 nu distribution +*/ + if (eng <= 5.0) pnu[0] = 0.0108826e0 - 0.00207694e0*eng + - 6.5e-4*std::pow(eng,2) + 4.023e-4*std::pow(eng,3) + - 7.93e-5*std::pow(eng,4) + 5.53666667e-6*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[0] = 0.078606e0 - 5.17531e-2*eng + + 1.42034e-2*std::pow(eng,2) - 1.96292e-3*std::pow(eng,3) + + 1.34512e-4*std::pow(eng,4) - 3.63416e-6*std::pow(eng,5); + if (r <= pnu[0]) return 0; + + + if (eng <= 5.0) pnu[1] = 0.0994916e0 - 0.01979542e0*eng + - 0.00236583e0*std::pow(eng,2) + 0.0020581e0*std::pow(eng,3) + - 4.14016667e-4*std::pow(eng,4) + 2.85666667e-5*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[1] = 0.10052e0 - 2.61361e-2*eng + + 3.78355e-3*std::pow(eng,2) - 3.70667e-4*std::pow(eng,3) + + 1.95458e-5*std::pow(eng,4) - 3.87499e-7*std::pow(eng,5); + cpnu=pnu[0]+pnu[1]; + if (r <= cpnu) return 1; + + + if (eng <= 5.0) pnu[2] = 0.2748898e0 - 0.01565248e0*eng + - 0.00749681e0*std::pow(eng,2) + 0.00217121e0*std::pow(eng,3) + - 3.13041667e-4*std::pow(eng,4) + 1.88183333e-5*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[2] = 0.282487e0 - 0.0261342e0*eng + - 1.16895e-3*std::pow(eng,2) + 1.9888e-4*std::pow(eng,3) + - 6.41257e-6*std::pow(eng,4) + 1.02502e-7*std::pow(eng,5); + cpnu=cpnu+pnu[2]; + if (r <= cpnu) return 2; + + if (eng <= 5.0) pnu[3] = 0.3269196e0 + 0.00428312e0*eng + - 0.00189322e0*std::pow(eng,2) - 4.31925001e-4*std::pow(eng,3) + + 1.18466667e-4*std::pow(eng,4) - 9.04166668e-6*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[3] = 0.329058e0 + 4.023e-3*eng + - 3.06402e-3*std::pow(eng,2) + 2.2628e-4*std::pow(eng,3) + - 1.50875e-5*std::pow(eng,4) + 4.39168e-7*std::pow(eng,5); + cpnu=cpnu+pnu[3]; + if (r <= cpnu) return 3; + + if (eng <= 5.0) pnu[4] = 0.2046061e0 + 0.02633899e0*eng + + 0.0041514e0*std::pow(eng,2) - 0.00275542e0*std::pow(eng,3) + + 5.0325e-4*std::pow(eng,4) - 3.32158333e-5*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[4] = 0.18992e0 + 4.55188e-2*eng + - 7.06316e-3*std::pow(eng,2) + 7.29916e-4*std::pow(eng,3) + - 4.71791e-5*std::pow(eng,4) + 1.185e-6*std::pow(eng,5); + cpnu=cpnu+pnu[4]; + if (r <= cpnu) return 4; + + if (eng <= 5.0) pnu[5] = 0.0726834e0 + 0.00116043e0*eng + + 0.007572e0*std::pow(eng,2) - 0.00161972e0*std::pow(eng,3) + + 2.3545e-4*std::pow(eng,4) - 1.546e-5*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[5] = 0.0779212e0 - 1.35849e-3*eng + + 6.68583e-3*std::pow(eng,2) - 7.98649e-4*std::pow(eng,3) + + 4.88625e-5*std::pow(eng,4) - 1.54167e-6*std::pow(eng,5); + cpnu=cpnu+pnu[5]; + if (r <= cpnu) return 5; + + if (eng <= 5.0) pnu[6] = 0.0097282e0 + 0.00494589e0*eng + + 0.00115294e0*std::pow(eng,2) - 3.25191667e-4*std::pow(eng,3) + + 6.00083333e-5*std::pow(eng,4) - 3.745e-6*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[6] = 7.85432e-3 + 7.33182e-3*eng + - 2.03705e-4*std::pow(eng,2) + 8.73787e-5*std::pow(eng,3) + - 4.24164e-6*std::pow(eng,4) + 2.37499e-7*std::pow(eng,5); + cpnu=cpnu+pnu[6]; + if (r <= cpnu) return 6; + + if (eng <= 5.0) pnu[7] = 6.301e-4 + 1.10666667e-4*eng + + 4.28016667e-4*std::pow(eng,2) + 1.12041667e-5*std::pow(eng,3) + - 4.31666667e-6*std::pow(eng,4) + 3.29166667e-7*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[7] = 1.5323e-3 - 7.91857e-4*eng + + 8.01017e-4*std::pow(eng,2) - 6.82833e-5*std::pow(eng,3) + + 4.38333e-6*std::pow(eng,4) - 6.0e-8*std::pow(eng,5); + cpnu=cpnu+pnu[7]; + if (r <= cpnu) return 7; + else return 8; +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataPu239_241.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataPu239_241.cc new file mode 100644 index 0000000000..fc0844a3c6 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataPu239_241.cc @@ -0,0 +1,145 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpNuDistDataPu239_241.cc,v 1.2 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include "G4fissionEvent.hh" + +G4int G4fissionEvent::G4SmpNuDistDataPu239_241(G4double nubar) { + +/* + Description + Sample Number of Neutrons from fission in Pu-239 and Pu-241 using + Zucker and Holden's tabulated data for Pu-239 + The P(nu) distribution is given as a function of the average + number of neutrons from fission, based on interpolation of the + Pu-239 data from Zucker and Holden. +*/ + +/* + Input + nubar - average number of neutrons per fission + Output + G4SmpNuDistDataPu239_241 - sampled multiplicity + +*/ + + G4double pnu[9], cpnu, sum; + G4double r; + +/* + Check if nubar is within the range of experimental values +*/ + if(nubar >= 2.85 && nubar <= 4.25) { +/* + Use Zucker and Holden Data +*/ + pnu[0]=-2.412937e-3*std::pow(nubar,3)+3.210687e-2*std::pow(nubar,2)-1.434037e-1*nubar+2.150733e-1; + pnu[1]=-2.650615e-2*std::pow(nubar,3)+3.290389e-1*std::pow(nubar,2)-1.389007*nubar+2.002327; + pnu[2]=3.232028e-2*std::pow(nubar,3)-3.176093e-1*std::pow(nubar,2)+8.605098e-1*nubar-3.411191e-1; + pnu[3]=1.623289e-2*std::pow(nubar,3)-2.414705e-1*std::pow(nubar,2)+1.007282*nubar-9.583769e-1; + pnu[4]=1.932275e-2*std::pow(nubar,3)-2.923666e-1*std::pow(nubar,2)+1.421383*nubar-1.924025; + pnu[5]=-6.185679e-2*std::pow(nubar,3)+6.82888e-1*std::pow(nubar,2)-2.347653*nubar+2.647049; + pnu[6]=1.79773e-2*std::pow(nubar,3)-1.60516e-1*std::pow(nubar,2)+5.228077e-1*nubar-5.939556e-1; + pnu[7]=3.530038e-3*std::pow(nubar,4)-4.925425e-2*std::pow(nubar,3)+2.726784e-1*std::pow(nubar,2)-6.81281e-1*nubar+6.347577e-1; + pnu[8]=2.837523e-3*std::pow(nubar,3)-2.678644e-2*std::pow(nubar,2)+8.545638e-2*nubar-9.156078e-2; + + sum=pnu[0]+pnu[1]+pnu[2]+pnu[3]+pnu[4]+pnu[5]+pnu[6]+pnu[7]+pnu[8]; + + pnu[0]=pnu[0]/sum; + pnu[1]=pnu[1]/sum; + pnu[2]=pnu[2]/sum; + pnu[3]=pnu[3]/sum; + pnu[4]=pnu[4]/sum; + pnu[5]=pnu[5]/sum; + pnu[6]=pnu[6]/sum; + pnu[7]=pnu[7]/sum; + pnu[8]=pnu[8]/sum; + + r=fisslibrng(); + + if(r <= pnu[0]) return 0; + + cpnu=pnu[0]+pnu[1]; + if(r <= cpnu) return 1; + + cpnu=cpnu+pnu[2]; + if(r <= cpnu) return 2; + + cpnu=cpnu+pnu[3]; + if(r <= cpnu) return 3; + + cpnu=cpnu+pnu[4]; + if(r <= cpnu) return 4; + + cpnu=cpnu+pnu[5]; + if(r <= cpnu) return 5; + + cpnu=cpnu+pnu[6]; + if(r <= cpnu) return 6; + + cpnu=cpnu+pnu[7]; + if(r <= cpnu) return 7; + else return 8; + + } else { +/* + Use Terrell's formula +*/ + return (G4int) G4SmpTerrell(nubar); + } +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataPu239_241_MC.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataPu239_241_MC.cc new file mode 100644 index 0000000000..42adcb7aed --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataPu239_241_MC.cc @@ -0,0 +1,137 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpNuDistDataPu239_241_MC.cc,v 1.2 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include "G4fissionEvent.hh" + +G4int G4fissionEvent::G4SmpNuDistDataPu239_241_MC(G4double nubar) { + +/* + Description + Sample Number of Neutrons from fission in Pu-239 and Pu-241 using + Zucker and Holden's tabulated data for Pu-239 + The 11 P(nu) distributions are given as a function of nubar, + the average number of neutrons from induced fission for the + 11 different energies (0 to 10 MeV), based on the Pu-239 data + from Zucker and Holden. +*/ + +/* + Input + nubar - average number of neutrons per fission + Output + G4SmpNuDistDataPu239_241_MC - sampled multiplicity + +*/ + + static G4double Pu239nu [11] [9] = { + {.0108826, .0994916, .2748898, .3269196, .2046061, .0726834, .0097282, .0006301, .0001685}, + {.0084842, .0790030, .2536175, .3289870, .2328111, .0800161, .0155581, .0011760, .0003469}, + {.0062555, .0611921, .2265608, .3260637, .2588354, .0956070, .0224705, .0025946, .0005205}, + {.0045860, .0477879, .1983002, .3184667, .2792811, .1158950, .0301128, .0048471, .0007233}, + {.0032908, .0374390, .1704196, .3071862, .2948565, .1392594, .0386738, .0078701, .0010046}, + {.0022750, .0291416, .1437645, .2928006, .3063902, .1641647, .0484343, .0116151, .0014149}, + {.0014893, .0222369, .1190439, .2756297, .3144908, .1892897, .0597353, .0160828, .0029917}, + {.0009061, .0163528, .0968110, .2558524, .3194566, .2134888, .0729739, .0213339, .0020017}, + {.0004647, .0113283, .0775201, .2335926, .3213289, .2356614, .0886183, .0274895, .0039531}, + {.0002800, .0071460, .0615577, .2089810, .3200121, .2545846, .1072344, .0347255, .0054786}, + {.0002064, .0038856, .0492548, .1822078, .3154159, .2687282, .1295143, .0432654, .0075217} + }; + static G4double Pu239nubar [11] = { + 2.8760000, + 3.0088800, + 3.1628300, + 3.3167800, + 3.4707300, + 3.6246800, + 3.7786300, + 3.9325800, + 4.0865300, + 4.2404900, + 4.3944400 + }; + G4double fraction, r, cum; + G4int engind, nu; + +/* + Check if nubar is within the range of experimental values +*/ + if(nubar >= Pu239nubar[0] && nubar <= Pu239nubar[10]) { +/* + Use Zucker and Holden Data +*/ + engind = 1; + while (nubar > Pu239nubar[engind]){ engind++;} + fraction = (nubar-Pu239nubar[engind-1])/(Pu239nubar[engind]-Pu239nubar[engind-1]); + if(fisslibrng() > fraction) engind--; + + r = fisslibrng(); + nu = 0; + cum = Pu239nu[engind][0]; + while (r > cum && nu < 8){ + nu++; + cum += Pu239nu[engind][nu]; + } + return nu; + } else { +/* + Use Terrell's formula +*/ + return (G4int) G4SmpTerrell(nubar); + } +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU232_234_236_238.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU232_234_236_238.cc new file mode 100644 index 0000000000..b44c9988be --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU232_234_236_238.cc @@ -0,0 +1,145 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpNuDistDataU232_234_236_238.cc,v 1.2 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include "G4fissionEvent.hh" + +G4int G4fissionEvent::G4SmpNuDistDataU232_234_236_238(G4double nubar) { + +/* + Description + Sample Number of Neutrons from fission in U-232, U-234, U-236 + and U-238 using Zucker and Holden's tabulated data for U-238 + The P(nu) distribution is given as a function of the average + number of neutrons from fission, based on interpolation of the + U-238 data from Zucker and Holden. +*/ + +/* + Input + nubar - average number of neutrons per fission + Output + G4SmpNuDistDataU232_234_236_238 - sampled multiplicity + +*/ + + G4double pnu[9], cpnu, sum; + G4double r; + +/* + Check if nubar is within the range of experimental values +*/ + if (nubar >= 2.25 && nubar <= 3.80) { +/* + Use Zucker and Holden Data +*/ + pnu[0]=-7.705432e-3*std::pow(nubar,3)+8.904671e-2*std::pow(nubar,2)-3.488123e-1*nubar+4.627291e-1; + pnu[1]=-2.879938e-2*std::pow(nubar,3)+3.629189e-1*std::pow(nubar,2)-1.545284*nubar+2.229503; + pnu[2]=6.543684e-2*std::pow(nubar,3)-6.673117e-1*std::pow(nubar,2)+2.087358*nubar-1.771396; + pnu[3]=1.412971e-2*std::pow(nubar,3)-2.309842e-1*std::pow(nubar,2)+1.022451*nubar-1.032235; + pnu[4]=-5.163167e-2*std::pow(nubar,3)+4.457516e-1*std::pow(nubar,2)-1.114981*nubar+9.484241e-1; + pnu[5]=8.758841e-4*std::pow(nubar,3)+3.707461e-2*std::pow(nubar,2)-1.565149e-1*nubar+1.851039e-1; + pnu[6]=-3.871089e-5*std::pow(nubar,3)+1.936524e-2*std::pow(nubar,2)-8.091057e-2*nubar+9.019871e-2; + pnu[7]=3.945995e-3*std::pow(nubar,3)-2.697509e-2*std::pow(nubar,2)+6.237296e-2*nubar-4.820745e-2; + pnu[8]=1.708054e-3*std::pow(nubar,4)-1.706039e-2*std::pow(nubar,3)+6.550213e-2*std::pow(nubar,2)-1.135e-1*nubar+7.443828e-2; + + sum=pnu[0]+pnu[1]+pnu[2]+pnu[3]+pnu[4]+pnu[5]+pnu[6]+pnu[7]+pnu[8]; + + pnu[0]=pnu[0]/sum; + pnu[1]=pnu[1]/sum; + pnu[2]=pnu[2]/sum; + pnu[3]=pnu[3]/sum; + pnu[4]=pnu[4]/sum; + pnu[5]=pnu[5]/sum; + pnu[6]=pnu[6]/sum; + pnu[7]=pnu[7]/sum; + pnu[8]=pnu[8]/sum; + + r=fisslibrng(); + + if(r <= pnu[0]) return 0; + + cpnu=pnu[0]+pnu[1]; + if(r <= cpnu) return 1; + + cpnu=cpnu+pnu[2]; + if(r <= cpnu) return 2; + + cpnu=cpnu+pnu[3]; + if(r <= cpnu) return 3; + + cpnu=cpnu+pnu[4]; + if(r <= cpnu) return 4; + + cpnu=cpnu+pnu[5]; + if(r <= cpnu) return 5; + + cpnu=cpnu+pnu[6]; + if(r <= cpnu) return 6; + + cpnu=cpnu+pnu[7]; + if(r <= cpnu) return 7; + else return 8; + + } else { +/* + Use Terrell's formula +*/ + return (G4int) G4SmpTerrell(nubar); + } +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU232_234_236_238_MC.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU232_234_236_238_MC.cc new file mode 100644 index 0000000000..62de860a48 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU232_234_236_238_MC.cc @@ -0,0 +1,137 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpNuDistDataU232_234_236_238_MC.cc,v 1.2 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include "G4fissionEvent.hh" + +G4int G4fissionEvent::G4SmpNuDistDataU232_234_236_238_MC(G4double nubar) { + +/* + Description + Sample Number of Neutrons from fission in U-232, U-234, U-236, + and U-238 using Zucker and Holden's tabulated data for U-238 + The 11 P(nu) distributions are given as a function of nubar, + the average number of neutrons from induced fission for the + 11 different energies (0 to 10 MeV), based on the U-238 data + from Zucker and Holden. +*/ + +/* + Input + nubar - average number of neutrons per fission + Output + G4SmpNuDistDataU232_234_236_238_MC - sampled multiplicity + +*/ + + static G4double U238nu [11] [9] = { + {.0396484, .2529541, .2939544, .2644470, .1111758, .0312261, .0059347, .0005436, .0001158}, + {.0299076, .2043215, .2995886, .2914889, .1301480, .0363119, .0073638, .0006947, .0001751}, + {.0226651, .1624020, .2957263, .3119098, .1528786, .0434233, .0097473, .0009318, .0003159}, + {.0170253, .1272992, .2840540, .3260192, .1779579, .0526575, .0130997, .0013467, .0005405}, + {.0124932, .0984797, .2661875, .3344938, .2040116, .0640468, .0173837, .0020308, .0008730}, + {.0088167, .0751744, .2436570, .3379711, .2297901, .0775971, .0225619, .0030689, .0013626}, + {.0058736, .0565985, .2179252, .3368863, .2541575, .0933127, .0286200, .0045431, .0031316}, + {.0035997, .0420460, .1904095, .3314575, .2760413, .1112075, .0355683, .0065387, .0031316}, + {.0019495, .0309087, .1625055, .3217392, .2943792, .1313074, .0434347, .0091474, .0046284}, + {.0008767, .0226587, .1356058, .3076919, .3080816, .1536446, .0522549, .0124682, .0067176}, + {.0003271, .0168184, .1111114, .2892434, .3160166, .1782484, .0620617, .0166066, .0095665} + }; + static G4double U238nubar [11] = { + 2.2753781, + 2.4305631, + 2.5857481, + 2.7409331, + 2.8961181, + 3.0513031, + 3.2064881, + 3.3616731, + 3.5168581, + 3.6720432, + 3.8272281 + }; + G4double fraction, r, cum; + G4int engind, nu; + +/* + Check if nubar is within the range of experimental values +*/ + if(nubar >= U238nubar[0] && nubar <= U238nubar[10]) { +/* + Use Zucker and Holden Data +*/ + engind = 1; + while (nubar > U238nubar[engind]){ engind++;} + fraction = (nubar-U238nubar[engind-1])/(U238nubar[engind]-U238nubar[engind-1]); + if(fisslibrng() > fraction) engind--; + + r = fisslibrng(); + nu = 0; + cum = U238nu[engind][0]; + while (r > cum && nu < 8){ + nu++; + cum += U238nu[engind][nu]; + } + return nu; + } else { +/* + Use Terrell's formula +*/ + return (G4int) G4SmpTerrell(nubar); + } +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU233_235.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU233_235.cc new file mode 100644 index 0000000000..fb63f0461b --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU233_235.cc @@ -0,0 +1,151 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpNuDistDataU233_235.cc,v 1.2 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include "G4fissionEvent.hh" + +int G4fissionEvent::G4SmpNuDistDataU233_235(G4double nubar) { + +/* + Description + Sample Number of Neutrons from fission in U-233 and U-235 using + Zucker and Holden's tabulated data for U-235 + The P(nu) distribution is given as a function of the average + number of neutrons from fission, based on interpolation of the + U-235 data from Zucker and Holden. +*/ + +/* + Input + nubar - average number of neutrons per fission + Output + G4SmpNuDistDataU233_235 - sampled multiplicity + +*/ + + G4double pnu[8], cpnu, sum; + G4double r; + +/* + Check if nubar is within the range of experimental values +*/ + if(nubar >= 2.25 && nubar <= 4.0) { +/* + Use Zucker and Holden Data +*/ + if(nubar <= 2.8738) pnu[0]=-9.279554e-02*std::pow(nubar,3)+8.036687e-01*std::pow(nubar,2)-2.342684*nubar+2.309035; + else if(nubar > 2.8738 && nubar <= 3.4272) pnu[0]=1.50072e-2*std::pow(nubar,2)-1.109109e-1*nubar+2.063133e-1; + else pnu[0]=1.498897e+3*std::exp(-3.883864*nubar); + + if(nubar <= 3.2316) pnu[1]=3.531126e-2*std::pow(nubar,3)-2.787213e-1*std::pow(nubar,2)+5.824072e-1*nubar-1.067136e-1; + else pnu[1]=6.574492e-2*std::pow(nubar,2)-5.425741e-1*nubar+1.123199; + + pnu[2]=1.274643e-2*std::pow(nubar,3)-1.387954e-1*std::pow(nubar,2)+3.264669e-1*nubar+1.77148e-1; + + pnu[3]=5.473738e-2*std::pow(nubar,5)-8.835826e-1*std::pow(nubar,4)+5.657201*std::pow(nubar,3)-1.802669e+1*std::pow(nubar,2)+2.867937e+1*nubar-1.794296e+1; + + pnu[4]=-3.591076e-2*std::pow(nubar,3)+3.092624e-1*std::pow(nubar,2)-7.184805e-1*nubar+5.649400e-1; + + if(nubar <= 2.8738) pnu[5]=1.699374e-2*std::pow(nubar,2)-1.069558e-3*nubar-6.981430e-2; + else pnu[5]=2.100175e-2*std::pow(nubar,3)-1.705788e-1*std::pow(nubar,2)+5.575467e-1*nubar-6.245873e-1; + + if(nubar <= 3.0387) pnu[6]=9.431919e-7*std::pow(nubar,8.958848); + else pnu[6]=4.322428e-3*std::pow(nubar,3)-2.094790e-2*std::pow(nubar,2)+4.449671e-2*nubar-4.435987e-2; + + pnu[7]=5.689084e-3*std::pow(nubar,4)-6.591895e-2*std::pow(nubar,3)+2.886861e-1*std::pow(nubar,2)-5.588146e-1*nubar+4.009166e-1; + + sum=pnu[0]+pnu[1]+pnu[2]+pnu[3]+pnu[4]+pnu[5]+pnu[6]+pnu[7]; + + pnu[0]=pnu[0]/sum; + pnu[1]=pnu[1]/sum; + pnu[2]=pnu[2]/sum; + pnu[3]=pnu[3]/sum; + pnu[4]=pnu[4]/sum; + pnu[5]=pnu[5]/sum; + pnu[6]=pnu[6]/sum; + pnu[7]=pnu[7]/sum; + + r=fisslibrng(); + + if(r <= pnu[0]) return (int) 0; + + cpnu=pnu[0]+pnu[1]; + if(r <= cpnu) return (int) 1; + + cpnu=cpnu+pnu[2]; + if(r <= cpnu) return (int) 2; + + cpnu=cpnu+pnu[3]; + if(r <= cpnu) return (int) 3; + + cpnu=cpnu+pnu[4]; + if(r <= cpnu) return (int) 4; + + cpnu=cpnu+pnu[5]; + if(r <= cpnu) return (int) 5; + + cpnu=cpnu+pnu[6]; + if(r <= cpnu) return (int) 6; + else return (int) 7; + } else { +/* + Use Terrell's formula +*/ + return (int) G4SmpTerrell(nubar); + } +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU233_235_MC.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU233_235_MC.cc new file mode 100644 index 0000000000..2e2c863d49 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU233_235_MC.cc @@ -0,0 +1,137 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpNuDistDataU233_235_MC.cc,v 1.2 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include "G4fissionEvent.hh" + +G4int G4fissionEvent::G4SmpNuDistDataU233_235_MC(G4double nubar) { + +/* + Description + Sample Number of Neutrons from fission in U-233 and U-235 using + Zucker and Holden's tabulated data for U-235 + The 11 P(nu) distributions are given as a function of nubar, + the average number of neutrons from induced fission for the + 11 different energies (0 to 10 MeV), based on the U-235 data + from Zucker and Holden. +*/ + +/* + Input + nubar - average number of neutrons per fission + Output + G4SmpNuDistDataU233_235_MC - sampled multiplicity + +*/ + + static G4double U235nu [11] [8] = { + {.0317223, .1717071, .3361991, .3039695, .1269459, .0266793, .0026322, .0001449}, + {.0237898, .1555525, .3216515, .3150433, .1444732, .0356013, .0034339, .0004546}, + {.0183989, .1384891, .3062123, .3217566, .1628673, .0455972, .0055694, .0011093}, + {.0141460, .1194839, .2883075, .3266568, .1836014, .0569113, .0089426, .0019504}, + {.0115208, .1032624, .2716849, .3283426, .2021206, .0674456, .0128924, .0027307}, + {.0078498, .0802010, .2456595, .3308175, .2291646, .0836912, .0187016, .0039148}, + {.0046272, .0563321, .2132296, .3290407, .2599806, .1045974, .0265604, .0056322}, + {.0024659, .0360957, .1788634, .3210507, .2892537, .1282576, .0360887, .0079244}, + {.0012702, .0216090, .1472227, .3083032, .3123950, .1522540, .0462449, .0107009}, + {.0007288, .0134879, .1231200, .2949390, .3258251, .1731879, .0551737, .0135376}, + {.0004373, .0080115, .1002329, .2779283, .3342611, .1966100, .0650090, .0175099} + }; + static G4double U235nubar [11] = { + 2.4140000, + 2.5236700, + 2.6368200, + 2.7623400, + 2.8738400, + 3.0386999, + 3.2316099, + 3.4272800, + 3.6041900, + 3.7395900, + 3.8749800 + }; + G4double fraction, r, cum; + G4int engind, nu; + +/* + Check if nubar is within the range of experimental values +*/ + if(nubar >= U235nubar[0] && nubar <= U235nubar[10]) { +/* + Use Zucker and Holden Data +*/ + engind = 1; + while (nubar > U235nubar[engind]){ engind++;} + fraction = (nubar-U235nubar[engind-1])/(U235nubar[engind]-U235nubar[engind-1]); + if(fisslibrng() > fraction) engind--; + + r = fisslibrng(); + nu = 0; + cum = U235nu[engind][0]; + while (r > cum && nu < 7){ + nu++; + cum += U235nu[engind][nu]; + } + return nu; + } else { +/* + Use Terrell's formula +*/ + return (G4int) G4SmpTerrell(nubar); + } +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU235.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU235.cc new file mode 100644 index 0000000000..8157eaa0a2 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU235.cc @@ -0,0 +1,195 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpNuDistDataU235.cc,v 1.3 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include "G4fissionEvent.hh" + +G4int G4fissionEvent::G4SmpNuDistDataU235(G4double erg, G4int option) { + +/* + Description + Sample Number of Neutrons from fission in U-235 using probability + distributions based on either + (option 0) Zucker and Holden's tabulated data for U-235 + (option 1) Zucker and Holden's tabulated data for U-235 and + Gwin, Spencer and Ingle tabulated data for U-235 + at thermal energies +*/ + +/* + Input + erg - incident neutron energy + option - 0 for sampling Zucker and Holden probability distributions + 1 for sampling probability distributions based on Zucker + and Holden tabulated distributions as well as Gwin, + Spencer and Ingle tabulated distributions at thermal + energies + Output + G4SmpNuDistDataU235 - sampled multiplicity + +*/ + + G4double cpnu; + G4double pnu[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 }; + G4double eng; + G4double r; + +/* + Check if energy is within the range of experimental values +*/ + if (erg > 10) eng=10.; + else eng=erg; + + r=fisslibrng(); +/* + U-235 nu distribution +*/ + if (option == 0) { + if (eng <= 3.0) pnu[0]=0.0317223e0-9.67117e-3*eng+1.9726e-3*std::pow(eng,2)-2.33933e-4*std::pow(eng,3); + if (eng > 3 && eng <= 7) pnu[0]=-1.24147e-2+2.52982e-2*eng-7.88108e-3*std::pow(eng,2)+9.10008e-4*std::pow(eng,3)-3.67208e-5*std::pow(eng,4); + if (eng > 7 && eng <= 10) pnu[0]=6.31258e-2-1.89764e-2*eng+1.94475e-3*std::pow(eng,2)-6.74e-5*std::pow(eng,3); + if (r <= pnu[0]) return 0; + + if (eng <= 4.0) pnu[1]=0.171707e0-0.0178305e0*eng+3.42286e-3*std::pow(eng,2)-2.1168e-3*std::pow(eng,3)+3.84226e-4*std::pow(eng,4)-1.44289e-5*std::pow(eng,5); + if (eng > 4 && eng <= 7) pnu[1]=9.8633e-2+3.53323e-2*eng-1.15037e-2*std::pow(eng,2)+7.4e-4*std::pow(eng,3); + if (eng > 7 && eng <= 10) pnu[1]=0.628295-0.180677*eng+1.80664e-2*std::pow(eng,2)-6.2015e-4*std::pow(eng,3); + cpnu=pnu[0]+pnu[1]; + if (r <= cpnu) return 1; + + if (eng <= 4.0) pnu[2]=0.336199e0-1.59569e-2*eng+2.78036e-3*std::pow(eng,2)-1.59278e-3*std::pow(eng,3)+2.21742e-4*std::pow(eng,4); + if (eng > 4 && eng <= 8) pnu[2]=0.229153e0+5.27561e-2*eng-1.29288e-2*std::pow(eng,2)+5.67233e-4*std::pow(eng,3)+8.06667e-6*std::pow(eng,4); + if (eng > 8 && eng <= 10) pnu[2]=-0.395206e0+0.227399e0*eng-2.86051e-2*std::pow(eng,2)+1.08196e-3*std::pow(eng,3); + cpnu=cpnu+pnu[2]; + if (r <= cpnu) return 2; + + if (eng <= 5.0) pnu[3]=0.30395461e0+0.01348261e0*eng-0.00262298e0*std::pow(eng,2)+1.99482407e-4*std::pow(eng,3); + if (eng > 5 && eng <= 10) pnu[3]=0.10992355e0+0.09246839e0*eng-0.00885344e0*std::pow(eng,2)-7.60589252e-4*std::pow(eng,3)+1.50973591e-4*std::pow(eng,4)-6.20436503e-6*std::pow(eng,5); + cpnu=cpnu+pnu[3]; + if (r <= cpnu) return 3; + + if (eng <= 4.0) pnu[4]=0.126946e0+1.64489e-2*eng+2.44029e-3*std::pow(eng,2)-2.1019e-3*std::pow(eng,3)+8.50104e-4*std::pow(eng,4)-1.10127e-4*std::pow(eng,5); + if (eng > 4 && eng <= 8) pnu[4]=0.263373e0-7.47799e-2*eng+2.0588e-2*std::pow(eng,2)-1.55132e-3*std::pow(eng,3)+3.025e-5*std::pow(eng,4); + if (eng > 8 && eng <= 10) pnu[4]=-0.277491e0+0.157606e0*eng-1.38467e-2*std::pow(eng,2)+4.20357e-4*std::pow(eng,3); + cpnu=cpnu+pnu[4]; + if (r <= cpnu) return 4; + + if (eng <= 4.0) pnu[5]=0.0266793e0+9.05206e-3*eng-6.58754e-4*std::pow(eng,2)+6.26292e-4*std::pow(eng,3)-9.75958e-5*std::pow(eng,4); + if (eng > 4 && eng <= 8) pnu[5]=0.0693092e0-1.46524e-2*eng+3.2841e-3*std::pow(eng,2)+1.50833e-4*std::pow(eng,3)-2.13e-5*std::pow(eng,4); + if (eng > 8 && eng <= 10) pnu[5]=0.881442e0-0.271486e0*eng+3.15097e-2*std::pow(eng,2)-1.12095e-3*std::pow(eng,3); + cpnu=cpnu+pnu[5]; + if (r <= cpnu) return 5; + + + if (eng <= 4.0) pnu[6]=0.0026322e0+2.44017e-4*eng+4.55992e-4*std::pow(eng,2)+1.25233e-4*std::pow(eng,3)-2.35417e-5*std::pow(eng,4); + if (eng > 4 && eng <= 8) pnu[6]=-5.3989e-3+9.48298e-3*eng-2.95864e-3*std::pow(eng,2)+5.43025e-4*std::pow(eng,3)-2.75625e-5*std::pow(eng,4); + if (eng > 8 && eng <= 10) pnu[6]=0.177058-5.57839e-2*eng+6.81359e-3*std::pow(eng,2)-2.35568e-4*std::pow(eng,3); + cpnu=cpnu+pnu[6]; + if (r <= cpnu) return 6; + else return 7; + + } else if (option == 1) { + if (eng <= 3.0) pnu[0]=0.0291000e0-4.836167e-3*eng-6.72500e-4*std::pow(eng,2)+2.076667e-4*std::pow(eng,3); + if (eng > 3 && eng <= 7) pnu[0]=-1.23950e-2+2.52790e-2*eng-7.874333e-3*std::pow(eng,2)+9.09000e-4*std::pow(eng,3)-3.666667e-5*std::pow(eng,4); + if (eng > 7 && eng <= 10) pnu[0]=6.328200e-2-1.903283e-2*eng+1.951500e-3*std::pow(eng,2)-6.766667e-5*std::pow(eng,3); + if (r <= pnu[0]) return 0; + + if (eng <= 4.0) pnu[1]=0.166000e0-0.005591833e0*eng-5.624500e-3*std::pow(eng,2)+7.673333e-4*std::pow(eng,3)-2.00000e-6*std::pow(eng,4); + if (eng > 4 && eng <= 7) pnu[1]=9.860600e-2+3.534733e-2*eng-1.150650e-2*std::pow(eng,2)+7.401667e-4*std::pow(eng,3); + if (eng > 7 && eng <= 10) pnu[1]=0.628401e0-0.1807157e0*eng+1.807100e-2*std::pow(eng,2)-6.203333e-4*std::pow(eng,3); + cpnu=pnu[0]+pnu[1]; + if (r <= cpnu) return 1; + + if (eng <= 4.0) pnu[2]=0.336200e0-1.596058e-2*eng+2.783625e-3*std::pow(eng,2)-1.593917e-3*std::pow(eng,3)+2.21875e-4*std::pow(eng,4); + if (eng > 4 && eng <= 8) pnu[2]=0.2292350e0+5.26925e-2*eng-1.291067e-2*std::pow(eng,2)+5.650000e-4*std::pow(eng,3)+8.166667e-6*std::pow(eng,4); + if (eng > 8 && eng <= 10) pnu[2]=0.3838230e0-3.4439e-2*eng+6.0800e-4*std::pow(eng,2); + cpnu=cpnu+pnu[2]; + if (r <= cpnu) return 2; + + if (eng <= 4.0) pnu[3]=0.3074000e0+0.00794125e0*eng-0.0002580417e0*std::pow(eng,2)-1.875000e-5*std::pow(eng,3)-2.145833e-5*std::pow(eng,4); + if (eng > 4 && eng <= 7) pnu[3]=0.3152270e0-2.623667e-3*eng+2.785000e-3*std::pow(eng,2)-3.273333e-4*std::pow(eng,3); + if (eng > 7 && eng <= 10) pnu[3]=0.6476430e0-0.1046148e0*eng+1.181600e-2*std::pow(eng,2)-5.051667e-4*std::pow(eng,3); + cpnu=cpnu+pnu[3]; + if (r <= cpnu) return 3; + + if (eng <= 4.0) pnu[4]=0.133300e0+5.853750e-3*eng+6.200875e-3*std::pow(eng,2)-8.95250e-4*std::pow(eng,3)+1.36250e-5*std::pow(eng,4); + if (eng > 4 && eng <= 7) pnu[4]=0.2379650e0-5.548167e-2*eng+1.517350e-2*std::pow(eng,2)-8.858333e-4*std::pow(eng,3); + if (eng > 7 && eng <= 10) pnu[4]=-0.5408690e0+0.2461313e0*eng-2.372350e-2*std::pow(eng,2)+7.861667e-4*std::pow(eng,3); + cpnu=cpnu+pnu[4]; + if (r <= cpnu) return 4; + + if (eng <= 4.0) pnu[5]=0.025900e0+1.067450e-2*eng-1.794000e-3*std::pow(eng,2)+9.50500e-4*std::pow(eng,3)-1.3000e-4*std::pow(eng,4); + if (eng > 4 && eng <= 7) pnu[5]=0.0871960e0-2.823683e-2*eng+7.0955e-3*std::pow(eng,2)-3.176667e-4*std::pow(eng,3); + if (eng > 7 && eng <= 10) pnu[5]=-0.591650e0+0.2236360e0*eng-2.373100e-2*std::pow(eng,2)+9.25000e-4*std::pow(eng,3); + cpnu=cpnu+pnu[5]; + if (r <= cpnu) return 5; + + if (eng <= 4.0) pnu[6]=0.002100e0+1.35500e-3*eng-3.235833e-4*std::pow(eng,2)+3.48500e-4*std::pow(eng,3)-4.591667e-5*std::pow(eng,4); + if (eng > 4 && eng <= 8) pnu[6]=1.767200e-2-8.055667e-3*eng+1.96650e-3*std::pow(eng,2)-6.283333e-5*std::pow(eng,3); + if (eng > 8 && eng <= 10) pnu[6]=-0.2485310e0+8.72590e-2*eng-9.14550e-3*std::pow(eng,2)+3.555000e-4*std::pow(eng,3); + cpnu=cpnu+pnu[6]; + if (r <= cpnu) return 6; + else return 7; + } + // + // Fall through + // + + G4cout << " SmpNuDistDataU235: unrecognized option = " << option << G4endl; + return -1; + +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU238.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU238.cc new file mode 100644 index 0000000000..4e37d96f65 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpNuDistDataU238.cc @@ -0,0 +1,131 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpNuDistDataU238.cc,v 1.3 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include "G4fissionEvent.hh" + +G4int G4fissionEvent::G4SmpNuDistDataU238(G4double erg) { + +/* + Description + Sample Number of Neutrons from fission in U-238 using + Zucker and Holden's tabulated data for U-238 +*/ + +/* + Input + erg - incident neutron energy + Output + G4SmpNuDistDataU238 - sampled multiplicity + +*/ + + G4double cpnu; + G4double pnu[] = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}; + G4double eng; + G4double r; + +/* + Check if energy is within the range of experimental values +*/ + if (erg > 10) eng=10.; + else eng=erg; + + r=fisslibrng(); +/* + U-238 nu distribution +*/ + if (eng <= 5.0) pnu[0]=0.0396484e0-1.14202e-2*eng+1.94627e-3*std::pow(eng,2)-2.95412e-4*std::pow(eng,3)+2.98333e-5*std::pow(eng,4)-1.31417e-6*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[0]=0.0360013e0-8.06662e-3*eng+6.59461e-4*std::pow(eng,2)-3.54123e-5*std::pow(eng,3)+2.03749e-6*std::pow(eng,4)-5.91663e-8*std::pow(eng,5); + if (r <= pnu[0]) return 0; + + if (eng <= 5.0) pnu[1]=0.252954e0-5.17151e-2*eng+2.84558e-3*std::pow(eng,2)+2.93563e-4*std::pow(eng,3)-5.99833e-5*std::pow(eng,4)+3.34417e-6*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[1]=0.259093e0-5.7936e-2*eng+5.50734e-3*std::pow(eng,2)-3.09607e-4*std::pow(eng,3)+1.20957e-5*std::pow(eng,4)-2.49997e-7*std::pow(eng,5); + cpnu=pnu[0]+pnu[1]; + if (r <= cpnu) return 1; + + pnu[2]=0.29395353e0+0.01098908e0*eng-0.00565976e0*std::pow(eng,2)+3.14515399e-4*std::pow(eng,3)-5.66793415e-6*std::pow(eng,4)+1.54070513e-7*std::pow(eng,5); + cpnu=cpnu+pnu[2]; + if (r <= cpnu) return 2; + + if (eng <= 5.0) pnu[3]=0.264447e0+3.02825e-2*eng-3.12762e-3*std::pow(eng,2)-1.5875e-4*std::pow(eng,3)+4.91667e-5*std::pow(eng,4)-3.38667e-6*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[3]=0.262024e0+3.37134e-2*eng-5.01711e-3*std::pow(eng,2)+3.58761e-4*std::pow(eng,3)-2.17959e-5*std::pow(eng,4)+5.10834e-7*std::pow(eng,5); + cpnu=cpnu+pnu[3]; + if (r <= cpnu) return 3; + + if (eng <= 5) pnu[4]=0.111176e0+1.66321e-2*eng+2.56307e-3*std::pow(eng,2)-2.17754e-4*std::pow(eng,3)-5.96667e-6*std::pow(eng,4)+7.44167e-7*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[4]=0.107859e0+1.88862e-2*eng+2.07521e-3*std::pow(eng,2)-2.08099e-4*std::pow(eng,3)+3.23745e-6*std::pow(eng,4)-1.24999e-7*std::pow(eng,5); + cpnu=cpnu+pnu[4]; + if (r <= cpnu) return 4; + + if (eng <= 5.0) pnu[5]=0.0312261e0+4.12932e-3*eng+9.18413e-4*std::pow(eng,2)+4.36542e-5*std::pow(eng,3)-5.9125e-6*std::pow(eng,4)+3.20833e-7*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[5]=0.0324008e0+3.04772e-3*eng+1.3327e-3*std::pow(eng,2)-3.96916e-5*std::pow(eng,3)+2.94583e-6*std::pow(eng,4)-7.66666e-8*std::pow(eng,5); + cpnu=cpnu+pnu[5]; + if (r <= cpnu) return 5; + + if (eng <= 5.0) pnu[6]=5.9347e-3+9.80023e-4*eng+4.24667e-4*std::pow(eng,2)+3.04458e-5*std::pow(eng,3)-6.46667e-6*std::pow(eng,4)+4.30833e-7*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[6]=6.5421e-3+3.07834e-4*eng+7.39454e-4*std::pow(eng,2)-4.70459e-5*std::pow(eng,3)+3.44583e-6*std::pow(eng,4)-8.91667e-8*std::pow(eng,5); + cpnu=cpnu+pnu[6]; + if (r <= cpnu) return 6; + + if (eng <= 5.0) pnu[7]=5.436e-4+1.3756e-4*eng-5.0e-7*std::pow(eng,2)+1.35917e-5*std::pow(eng,3)+5.0e-7*std::pow(eng,4)-5.16667e-8*std::pow(eng,5); + if (eng > 5 && eng <= 10) pnu[7]=9.212e-4-1.57585e-4*eng+8.41126e-5*std::pow(eng,2)+4.14166e-6*std::pow(eng,3)+5.37501e-7*std::pow(eng,4)-6.66668e-9*std::pow(eng,5); + cpnu=cpnu+pnu[7]; + if (r <= cpnu) return 7; + else return 8; +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpNugDist.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpNugDist.cc new file mode 100644 index 0000000000..850bded612 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpNugDist.cc @@ -0,0 +1,155 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpNugDist.cc,v 1.4 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include "G4fissionEvent.hh" + +#define nfissg 40 +#define alphanegbin 26 + +G4int G4fissionEvent::G4SmpNugDist(G4int isotope, G4double nubar) { + +/* + Description + Sample Number of Photons from neutron induced fission in + all isotopes using Tim Valentine's model (negative binomial + distribution, using nubar as a model parameter) +*/ + +/* + Input + iso - isotope + Output + G4SmpNugDist - sampled multiplicity +*/ + + static G4double logcoeff[nfissg+1] = { + 0.00000000000000e+00, + 3.25809653802149e+00, + 5.86078622346587e+00, + 8.09437844497297e+00, + 1.00753799138395e+01, + 1.18671393830676e+01, + 1.35093671183247e+01, + 1.50291928720691e+01, + 1.64462588918558e+01, + 1.77753948391357e+01, + 1.90281578076311e+01, + 2.02137814732888e+01, + 2.13397927361450e+01, + 2.24124295384099e+01, + 2.34369338549243e+01, + 2.44177631079360e+01, + 2.53587464524005e+01, + 2.62632027266277e+01, + 2.71340310844251e+01, + 2.79737817391769e+01, + 2.87847119553932e+01, + 2.95688309141589e+01, + 3.03279360625106e+01, + 3.10636428574894e+01, + 3.17774093252521e+01, + 3.24705565058120e+01, + 3.31442856005149e+01, + 3.37996924530920e+01, + 3.44377798564689e+01, + 3.50594680730467e+01, + 3.56656038766170e+01, + 3.62569683628670e+01, + 3.68342837279018e+01, + 3.73982191769817e+01, + 3.79493960962713e+01, + 3.84883925970040e+01, + 3.90157475227212e+01, + 3.95319639951220e+01, + 4.00375125617872e+01, + 4.05328339990172e+01, + 4.10183418147990e+01 + }; + G4int i, A, Z; + G4double cpi[nfissg+1]; + G4double p, q, nubarg; + G4double r; + +/* + No data is available for induced fission gamma number + distributions. Sample the negative binomial cumulative + probability distribution. +*/ + A = (G4int) (isotope-1000*((G4int)(isotope/1000))); + Z = (G4int) ((isotope-A)/1000); + nubarg = ((2.51-1.13e-5*std::pow(G4double(Z),2.)*std::sqrt(G4double(A)))*nubar+4.0) + /(-1.33+119.6*std::pow(G4double(Z),1./3.)/G4double(A)); + p = 1.*alphanegbin/(alphanegbin+nubarg); + q = 1.-p; + cpi[0] = std::exp(logcoeff[0]+26.*std::log(p)); + for (i=1; i<=nfissg; i++) cpi[i] = cpi[i-1] + std::exp(logcoeff[i]+26.*std::log(p)+i*std::log(q)); + for (i=0; i<=nfissg; i++) cpi[i] = cpi[i]/cpi[nfissg-1]; + + r=fisslibrng(); + + for(i=0; i<=nfissg; i++) if (r <= cpi[i]) return i; + + // + // Fall through + // + + G4cout << " SmpNugDist: random number " << r << " out of range " << G4endl; + return -1; + +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpPVel.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpPVel.cc new file mode 100644 index 0000000000..87ab60dd2f --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpPVel.cc @@ -0,0 +1,83 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpPVel.cc,v 1.3 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include "G4fissionEvent.hh" + +G4double G4fissionEvent::G4SmpPVel(G4double /*eng*/, G4double* cosdiru, G4double* cosdirv, G4double* cosdirw) { + +/* + Description + Knowing the photon energy, determine its velocity and the 3 direction cosines +*/ + +/* + Input + eng - energy of photon + Output + - velocity + - 3 components of the photon velocity + as arugments (cosdiru, cosdirv, cosdirw) +*/ + + const G4double cspeed = 2.99792458e+8; /* speed of light (m/sec) */ + + G4SmpIsoDir(cosdiru, cosdirv, cosdirw); + + return cspeed; +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpSpNuDistData.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpSpNuDistData.cc new file mode 100644 index 0000000000..836844cdf9 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpSpNuDistData.cc @@ -0,0 +1,168 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpSpNuDistData.cc,v 1.2 2007/05/30 19:01:32 dennis Exp $ +// + +#include "G4fissionEvent.hh" + +#define nSPfissIso 8 +#define nSPfissn 11 + +G4int G4fissionEvent::G4SmpSpNuDistData(G4int isotope, G4int Cf252option) { + +/* + Description + Sample Number of Neutrons from spontaneous fission + (a) from the neutron multiplicity data for + U-238, Pu-238, Pu-240, Pu-242, Cm-242, Cm-244 + using Holden and Zucker's tabulated data + Cf-252 using either Spencer's tabulated data or + Boldeman's data + (b) from Terrell's approximation using nubar for + Th-232, + U-232, U-233, U-234, U-235, U-236, + Np-237, + Pu-239, Pu-241, + Am-241, + Bk-249 + using Ensslin's data. +*/ + +/* + Input + iso - isotope + Cf252option - 0 to use Spencer's tabulated data + 1 to use Boldeman's data + Output + G4SmpSpNuDistData - sampled multiplicity + -1 is the isotope has + no multiplicity data, + nor any nubar data +*/ + + G4int i, index; + G4double sum, nubar; + G4double r; + + static G4double sfnu [nSPfissIso][nSPfissn] = { + {0.0481677,0.2485215,0.4253044,0.2284094,0.0423438,0.0072533, + 0.0000000,0.0000000,0.0000000,0.0000000,0.0000000}, + + {0.0631852,0.2319644,0.3333230,0.2528207,0.0986461,0.0180199, + 0.0020407,0.0000000,0.0000000,0.0000000,0.0000000}, + + {0.0679423,0.2293159,0.3341228,0.2475507,0.0996922,0.0182398, + 0.0031364,0.0000000,0.0000000,0.0000000,0.0000000}, + + {0.0212550,0.1467407,0.3267531,0.3268277,0.1375090,0.0373815, + 0.0025912,0.0007551,0.0001867,0.0000000,0.0000000}, + + {0.0150050,0.1161725,0.2998427,0.3331614,0.1837748,0.0429780, + 0.0087914,0.0002744,0.0000000,0.0000000,0.0000000}, + + {0.0540647,0.2053880,0.3802279,0.2248483,0.1078646,0.0276366, + 0.0000000,0.0000000,0.0000000,0.0000000,0.0000000}, + + {0.0021100,0.0246700,0.1229000,0.2714400,0.3076300,0.1877000, + 0.0677000,0.0140600,0.0016700,0.0001000,0.0000000}, + + {0.0020900,0.0262100,0.1262000,0.2752000,0.3018000,0.1846000, + 0.0668000,0.0150000,0.0021000,0.0000000,0.0000000} }; + +/* + sample the spontaneous fission neutron number distribution +*/ + index = -1; + + if (isotope == 92238) index = 0; + else if (isotope == 94240) index = 1; + else if (isotope == 94242) index = 2; + else if (isotope == 96242) index = 3; + else if (isotope == 96244) index = 4; + else if (isotope == 94238) index = 5; + else if (isotope == 98252 && Cf252option == 0) index = 6; + else if (isotope == 98252 && Cf252option == 1) index = 7; + + if (index != -1) { + r=fisslibrng(); + + sum=0.; + for(i=0; i +#include "G4fissionEvent.hh" + +#define TWOPI 6.283185307 +#define SQRT2 1.414213562 +#define BSHIFT -0.43287 +#define WIDTH 1.079 + +G4double G4fissionEvent::G4SmpTerrell(G4double nubar) { +/* + Description + Sample Fission Number from Terrell's modified Gaussian distribution + + method uses Red Cullen's algoritm UCRL-TR-222526 +*/ + +/* + Input + nubar - average number of neutrons per fission + Output + G4SmpTerrell - sampled multiplicity + +*/ + + G4double width; + G4double temp1, temp2, expo, cshift; + G4double rw, theta, sampleg; + + + if (nubar < WIDTH) G4fissionerr(6, "SmpTerrell", "fission nubar out of range"); + + width = SQRT2 * WIDTH; + temp1 = nubar + 0.5; + temp2 = temp1/width; + temp2 *= temp2; + expo = std::exp(-temp2); + cshift = temp1 + BSHIFT * WIDTH * expo/(1. - expo); + + do { + rw = std::sqrt(-std::log(fisslibrng())); + theta = TWOPI * fisslibrng(); + sampleg = width * rw * std::cos(theta) + cshift; + } while (sampleg < 0.0); + + return std::floor(sampleg); +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4SmpWatt.cc b/source/processes/hadronic/models/lll_fission/src/G4SmpWatt.cc new file mode 100644 index 0000000000..af57a88632 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4SmpWatt.cc @@ -0,0 +1,172 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4SmpWatt.cc,v 1.4 2007/06/01 18:30:38 dennis Exp $ +// + +#define nZAfis 39 /* 38 fissionable isotopes in ENDL + U-232 from ENDF7 */ +#define WATTEMIN 1.0e-6 +#define WATTEMAX 20.0 + +#include +#include "G4fissionEvent.hh" + +G4double G4fissionEvent::G4SmpWatt(G4double ePart, G4int iso) { + +/* + Description + Sample Watt Spectrum as in TART (Kalos algorithm) +*/ + +/* + Input + ePart - energy of incoming particle + iso - isotope + Output + - energy of incoming particle +*/ + + static G4int nZA [nZAfis]= { + 90231, 90232, 90233, + 91233, + 92232, 92233, 92234, 92235, 92236, 92237, 92238, 92239, 92240, + 93235, 93236, 93237, 93238, + 94237, 94238, 94239, 94240, 94241, 94242, 94243, + 95241, 95242, 95243, + 96242, 96243, 96244, 96245, 96246, 96247, 96248, + 97249, + 98249, 98250, 98251, 98252 + }; + + static G4double Watta [nZAfis][3] = { + {6.00949285e-05, -8.36695381e-03, 9.50939496e-01}, + {6.54348443e-05, -8.86574327e-03, 9.55404490e-01}, + {7.08173682e-05, -9.22676286e-03, 9.50088329e-01}, + {6.35839062e-05, -8.63645973e-03, 9.24583535e-01}, + {8.21929628e-05, 4.01922936e-03, 1.152121164e00}, + {6.21335718e-05, -8.45651858e-03, 9.14717276e-01}, + {6.81386135e-05, -8.99142394e-03, 9.21954824e-01}, + {7.32627297e-05, -9.36908697e-03, 9.20107976e-01}, + {8.06505279e-05, -9.95416671e-03, 9.27890410e-01}, + {8.33208285e-05, -1.01073057e-02, 9.17691654e-01}, + {8.96944680e-05, -1.06491070e-02, 9.25496030e-01}, + {9.44608097e-05, -1.08940419e-02, 9.17795511e-01}, + {1.01395704e-04, -1.15098159e-02, 9.29395462e-01}, + {6.81110009e-05, -8.91619352e-03, 9.00047566e-01}, + {7.21126359e-05, -9.20179363e-03, 8.95722889e-01}, + {7.82371142e-05, -9.67050621e-03, 8.99574933e-01}, + {8.27256297e-05, -9.99353009e-03, 8.97461897e-01}, + {7.29458059e-05, -9.22415170e-03, 8.80996165e-01}, + {8.02383914e-05, -9.78291439e-03, 8.88964070e-01}, + {8.50641730e-05, -1.01099145e-02, 8.87304833e-01}, + {9.10537157e-05, -1.05303084e-02, 8.89438514e-01}, + {9.43014320e-05, -1.07133543e-02, 8.82632055e-01}, + {1.02655616e-04, -1.13154691e-02, 8.91617174e-01}, + {1.06118094e-04, -1.14971777e-02, 8.85181637e-01}, + {9.08474473e-05, -1.04296303e-02, 8.71942958e-01}, + {9.35633054e-05, -1.05612167e-02, 8.63930371e-01}, + {1.01940441e-04, -1.11573929e-02, 8.73153437e-01}, + {9.19501202e-05, -1.04229157e-02, 8.58681822e-01}, + {9.42991674e-05, -1.05098872e-02, 8.49103546e-01}, + {1.02747171e-04, -1.11371417e-02, 8.60434431e-01}, + {1.05024967e-04, -1.12138980e-02, 8.51101942e-01}, + {1.14130011e-04, -1.18692049e-02, 8.62838259e-01}, + {1.15163673e-04, -1.18553822e-02, 8.51306646e-01}, + {1.27169055e-04, -1.27033210e-02, 8.68623539e-01}, + {1.24195213e-04, -1.24047085e-02, 8.48974077e-01}, + {1.12616150e-04, -1.15135023e-02, 8.19708800e-01}, + {1.23637465e-04, -1.22869889e-02, 8.35392018e-01}, + {1.22724317e-04, -1.21677963e-02, 8.22569523e-01}, + {1.33891595e-04, -1.29267762e-02, 8.37122909e-01} }; + + G4double a; /* Watt Parameters */ + G4double b=1.0; + + G4double rand1,rand2; + G4double x,y,z; + G4double eSmp; + G4int i; + + +/* + Find Watt parameters for isotope +*/ + G4int isoindex=-1; + for (i=0; isoindex == -1 && i b*y*rand1 || + eSmp < WATTEMIN || eSmp > WATTEMAX); + + + return eSmp; +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4fissionEvent.cc b/source/processes/hadronic/models/lll_fission/src/G4fissionEvent.cc new file mode 100644 index 0000000000..8976f731ad --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4fissionEvent.cc @@ -0,0 +1,196 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// $Id: G4fissionEvent.cc,v 1.2 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include "G4fissionEvent.hh" + +G4int G4fissionEvent::delayoption=0; +G4int G4fissionEvent::correlationoption=0; +G4int G4fissionEvent::nudistoption=3; +G4int G4fissionEvent::Cf252ndistoption=0; +G4int G4fissionEvent::Cf252nengoption=0; + +G4fissionEvent::G4fissionEvent(G4int isotope, G4double time, G4double nubar, G4double eng) { + /* + * Constructs a fission event with neutronNu neutrons and photonNu + * photons. + */ + G4int i; + + neutronNu = 0; + photonNu = 0; + if (nubar == -1.) { + /* spontaneous fission */ + neutronNu = G4SmpSpNuDistData(isotope, Cf252ndistoption); + photonNu = G4SmpSpNugDistData(isotope); + } else { + /* induced fission */ + if (nudistoption == 0 || nudistoption == 1) { + switch (isotope) { + case 92235: + neutronNu = G4SmpNuDistDataU235(eng,nudistoption); + break; + case 92238: + neutronNu = G4SmpNuDistDataU238(eng); + break; + case 94239: + neutronNu = G4SmpNuDistDataPu239(eng); + break; + default: + neutronNu = (G4int) G4SmpTerrell(nubar); + break; + } + } else if (nudistoption == 2) { + switch (isotope) { + case 92232: + case 92234: + case 92236: + case 92238: + neutronNu = G4SmpNuDistDataU232_234_236_238(nubar); + break; + case 92233: + case 92235: + neutronNu = (G4int) G4SmpNuDistDataU233_235(nubar); + break; + case 94239: + case 94241: + neutronNu = G4SmpNuDistDataPu239_241(nubar); + break; + default: + neutronNu = (G4int) G4SmpTerrell(nubar); + break; + } + } else if (nudistoption == 3) { + switch (isotope) { + case 92232: + case 92234: + case 92236: + case 92238: + neutronNu = G4SmpNuDistDataU232_234_236_238_MC(nubar); + break; + case 92233: + case 92235: + neutronNu = (G4int) G4SmpNuDistDataU233_235_MC(nubar); + break; + case 94239: + case 94241: + neutronNu = G4SmpNuDistDataPu239_241_MC(nubar); + break; + default: + neutronNu = (G4int) G4SmpTerrell(nubar); + break; + } + } + photonNu = G4SmpNugDist(isotope, nubar); + } + if (neutronNu > 0) { + neutronEnergies = new G4double[ neutronNu ]; + neutronVelocities = new G4double[ neutronNu ]; + neutronDircosu = new G4double[ neutronNu ]; + neutronDircosv = new G4double[ neutronNu ]; + neutronDircosw = new G4double[ neutronNu ]; + neutronAges = new G4double[neutronNu]; + for (i=0; i 0) { + photonEnergies = new G4double[photonNu]; + photonVelocities = new G4double[photonNu]; + photonDircosu = new G4double[photonNu]; + photonDircosv = new G4double[photonNu]; + photonDircosw = new G4double[photonNu]; + photonAges = new G4double[photonNu]; + for (i=0; i 0) { + delete [] neutronEnergies; + delete [] neutronVelocities; + delete [] neutronDircosu; + delete [] neutronDircosv; + delete [] neutronDircosw; + delete [] neutronAges; + } + + if (photonNu > 0) { + delete [] photonEnergies; + delete [] photonVelocities; + delete [] photonDircosu; + delete [] photonDircosv; + delete [] photonDircosw; + delete [] photonAges; + } +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4fissionerr.cc b/source/processes/hadronic/models/lll_fission/src/G4fissionerr.cc new file mode 100644 index 0000000000..092ecdfef6 --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4fissionerr.cc @@ -0,0 +1,108 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4fissionerr.cc,v 1.2 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include +#include +#include "G4fissionEvent.hh" + +std::string itoa(const G4int& x); + +void G4fissionEvent::G4fissionerr(G4int iSever, std::string chSubNam, std::string chMsg) + +/* + Description + multi error handling routine +*/ + +/* + Input + iSever - severity code: larger number: more severe + 0 : no error + 1-5 : non-fatal + 6- : fatal + chSubNm - calling subroutine name + chMsg - error message +*/ + +{ + G4int doExit; + std::string ExitMsg; + + + if (iSever <= 5) { /* warning */ + doExit = 0; + } + else { + doExit = 1; + } + + ExitMsg = "Error in Function "+chSubNam+", Severity=" + itoa(iSever) + " : "+chMsg; + + std::cerr << "Fission " << ExitMsg << std::endl; + if (doExit == 1) exit(iSever); + + return; + +} + +std::string itoa(const G4int& x) +{ + std::ostringstream o; + if (!(o << x)) return "ERROR"; + return o.str(); +} diff --git a/source/processes/hadronic/models/lll_fission/src/G4rngc.cc b/source/processes/hadronic/models/lll_fission/src/G4rngc.cc new file mode 100644 index 0000000000..cb421cd1bd --- /dev/null +++ b/source/processes/hadronic/models/lll_fission/src/G4rngc.cc @@ -0,0 +1,77 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// This software was developed by Lawrence Livermore National Laboratory. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, +// this list of conditions and the following disclaimer. +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// 3. The name of the author may not be used to endorse or promote products +// derived from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +// +// Copyright (c) 2006 The Regents of the University of California. +// All rights reserved. +// UCRL-CODE-224807 +// +// +// $Id: G4rngc.cc,v 1.3 2007/06/01 13:46:53 gcosmo Exp $ +// + +#include "G4fissionEvent.hh" +#include "Randomize.hh" + +G4double (*G4fissionEvent::rngdptr)(void) = 0; +G4float (*G4fissionEvent::rngfptr)(void) = 0; + +G4double G4fissionEvent::fisslibrng(void) { + // if (rngdptr == 0) { + // return drand48(); + // } else { + // return rngdptr(); + // } + + return G4UniformRand(); +} + +G4double G4fissionEvent::rngf2d() { + return (G4double) rngfptr(); +} diff --git a/source/processes/hadronic/models/low_energy/include/G4LCapture.hh b/source/processes/hadronic/models/low_energy/include/G4LCapture.hh index 9610033b7a..bcba85df4b 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LCapture.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LCapture.hh @@ -25,7 +25,7 @@ // // // $Id: G4LCapture.hh,v 1.11 2006/06/29 20:43:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Low energy model: neutron capture -- header file diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAlphaInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAlphaInelastic.hh index 96056c7e3d..cbb01c781c 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAlphaInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAlphaInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEAlphaInelastic.hh,v 1.10 2007/02/24 06:06:38 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy Alpha Inelastic Process // J.L. Chuma, TRIUMF, 21-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiKaonZeroInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiKaonZeroInelastic.hh index 070896b155..1f9640df52 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiKaonZeroInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiKaonZeroInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiKaonZeroInelastic.hh,v 1.7 2007/02/24 06:10:26 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy KaonZeroL Inelastic Process // J.L. Chuma, TRIUMF, 12-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiLambdaInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiLambdaInelastic.hh index bec5bf187a..3235c4a9c1 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiLambdaInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiLambdaInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiLambdaInelastic.hh,v 1.11 2007/02/24 06:11:24 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy AntiLambda Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiNeutronInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiNeutronInelastic.hh index a6906d116c..10b411de55 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiNeutronInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiNeutronInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiNeutronInelastic.hh,v 1.11 2007/02/24 06:13:02 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy AntiNeutron Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiOmegaMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiOmegaMinusInelastic.hh index ff81bb78ae..0c6b6d6058 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiOmegaMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiOmegaMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiOmegaMinusInelastic.hh,v 1.11 2007/02/24 06:13:54 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy AntiOmegaMinus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiProtonInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiProtonInelastic.hh index 66f69c0204..7c3fb5739b 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiProtonInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiProtonInelastic.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4LEAntiProtonInelastic.hh,v 1.11 2007/02/24 05:07:32 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy AntiProton Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaMinusInelastic.hh index 4c20d3060e..db210a4493 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiSigmaMinusInelastic.hh,v 1.11 2007/02/24 06:38:14 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy AntiSigmaMinus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaPlusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaPlusInelastic.hh index 3fe03cc06d..383521dcd9 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaPlusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiSigmaPlusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiSigmaPlusInelastic.hh,v 1.11 2007/02/24 06:39:17 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy AntiSigmaPlus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiXiMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiXiMinusInelastic.hh index d034faba23..51d4e85781 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiXiMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiXiMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiXiMinusInelastic.hh,v 1.11 2007/02/24 06:42:10 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy AntiXiMinus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEAntiXiZeroInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEAntiXiZeroInelastic.hh index e50b88e41d..85aed0ed37 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEAntiXiZeroInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEAntiXiZeroInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiXiZeroInelastic.hh,v 1.11 2007/02/24 06:43:02 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy AntiXiZero Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEDeuteronInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEDeuteronInelastic.hh index 68efe5b59f..e170cc109a 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEDeuteronInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEDeuteronInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEDeuteronInelastic.hh,v 1.10 2007/02/24 06:45:04 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy Deuteron Inelastic Process // J.L. Chuma, TRIUMF, 25-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEKaonMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEKaonMinusInelastic.hh index e46b452913..1797523ca8 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEKaonMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEKaonMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEKaonMinusInelastic.hh,v 1.11 2007/02/26 18:21:07 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy KaonMinus Inelastic Process // J.L. Chuma, TRIUMF, 12-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEKaonPlusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEKaonPlusInelastic.hh index 26503acdc8..9ebfff5a23 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEKaonPlusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEKaonPlusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEKaonPlusInelastic.hh,v 1.11 2007/02/26 18:21:57 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy KaonPlus Inelastic Process // J.L. Chuma, TRIUMF, 12-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroInelastic.hh index 8a99efd92e..9c050472b3 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEKaonZeroInelastic.hh,v 1.7 2007/02/26 18:23:45 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy KaonZeroS Inelastic Process // J.L. Chuma, TRIUMF, 12-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroLInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroLInelastic.hh index 4f3be08cbd..1856b86edb 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroLInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroLInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEKaonZeroLInelastic.hh,v 1.12 2007/02/26 18:24:54 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroSInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroSInelastic.hh index 329ed466b4..869eea5461 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroSInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEKaonZeroSInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEKaonZeroSInelastic.hh,v 1.12 2007/02/26 18:25:37 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Gheisha High Energy model class -- header file diff --git a/source/processes/hadronic/models/low_energy/include/G4LELambdaInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LELambdaInelastic.hh index 6ea4b8c6de..f3fc1f4aae 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LELambdaInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LELambdaInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LELambdaInelastic.hh,v 1.11 2007/02/26 18:27:08 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy Lambda Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEOmegaMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEOmegaMinusInelastic.hh index 3019f25e41..151c6e65b0 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEOmegaMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEOmegaMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEOmegaMinusInelastic.hh,v 1.11 2007/02/26 18:29:56 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy OmegaMinus Inelastic Process // J.L. Chuma, TRIUMF, 19-Nov-1996 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEPionMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEPionMinusInelastic.hh index 6640e5bf72..4ecaa83737 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEPionMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEPionMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEPionMinusInelastic.hh,v 1.12 2007/02/24 05:23:37 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy PionMinus Inelastic Process // original by J.L. Chuma, TRIUMF, 03-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEPionPlusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEPionPlusInelastic.hh index e72782dafc..02e866b54f 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEPionPlusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEPionPlusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEPionPlusInelastic.hh,v 1.12 2007/02/24 05:23:52 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy PionPlus Inelastic Process // J.L. Chuma, TRIUMF, 19-Nov-1996 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEProtonInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEProtonInelastic.hh index 193ad69829..17c7f892e2 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEProtonInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEProtonInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEProtonInelastic.hh,v 1.12 2007/02/26 18:31:19 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy Proton Inelastic Process // original by H.P. Wellisch diff --git a/source/processes/hadronic/models/low_energy/include/G4LESigmaMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LESigmaMinusInelastic.hh index 0e0b39c281..f529c30691 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LESigmaMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LESigmaMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LESigmaMinusInelastic.hh,v 1.11 2007/02/26 18:33:03 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy SigmaMinus Inelastic Process // original by J.L. Chuma, TRIUMF, 03-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LESigmaPlusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LESigmaPlusInelastic.hh index 5b05e2c068..1c8c63b121 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LESigmaPlusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LESigmaPlusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LESigmaPlusInelastic.hh,v 1.11 2007/02/26 18:33:48 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy SigmaPlus Inelastic Process // original by J.L. Chuma, TRIUMF, 03-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LETritonInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LETritonInelastic.hh index 7568513ae4..24b6d6feb1 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LETritonInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LETritonInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LETritonInelastic.hh,v 1.10 2007/02/26 18:34:35 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy Triton Inelastic Process // J.L. Chuma, TRIUMF, 25-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEXiMinusInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEXiMinusInelastic.hh index 05f5634ab5..ce63a267ce 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEXiMinusInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEXiMinusInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEXiMinusInelastic.hh,v 1.11 2007/02/26 18:35:18 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy XiMinus Inelastic Process // original by J.L. Chuma, TRIUMF, 03-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LEXiZeroInelastic.hh b/source/processes/hadronic/models/low_energy/include/G4LEXiZeroInelastic.hh index 184244dc16..ea5ac11cc9 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LEXiZeroInelastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LEXiZeroInelastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LEXiZeroInelastic.hh,v 1.11 2007/02/26 18:36:05 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy XiZero Inelastic Process // original by J.L. Chuma, TRIUMF, 03-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/include/G4LElastic.hh b/source/processes/hadronic/models/low_energy/include/G4LElastic.hh index ae3d5a08b7..6127d6bb53 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LElastic.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LElastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4LElastic.hh,v 1.12 2007/02/26 19:05:01 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Model: Low energy elastic scattering -- header file diff --git a/source/processes/hadronic/models/low_energy/include/G4LFission.hh b/source/processes/hadronic/models/low_energy/include/G4LFission.hh index 0ce9686946..c206205b51 100644 --- a/source/processes/hadronic/models/low_energy/include/G4LFission.hh +++ b/source/processes/hadronic/models/low_energy/include/G4LFission.hh @@ -25,7 +25,7 @@ // // // $Id: G4LFission.hh,v 1.11 2006/06/29 20:44:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Low-energy Model: Fission -- header file diff --git a/source/processes/hadronic/models/low_energy/src/G4LCapture.cc b/source/processes/hadronic/models/low_energy/src/G4LCapture.cc index 2460061ebf..1d15a7bc68 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LCapture.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LCapture.cc @@ -25,7 +25,7 @@ // // // $Id: G4LCapture.cc,v 1.14 2007/02/24 05:17:29 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Model: Low-energy Neutron Capture diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiKaonZeroInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiKaonZeroInelastic.cc index a97906863f..a673fbb9c0 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiKaonZeroInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiKaonZeroInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiKaonZeroInelastic.cc,v 1.10 2006/06/29 20:44:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy KaonZeroLong Inelastic Process // J.L. Chuma, TRIUMF, 11-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiLambdaInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiLambdaInelastic.cc index 9065eba1cb..8e2e0ffd7c 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiLambdaInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiLambdaInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiLambdaInelastic.cc,v 1.11 2006/06/29 20:44:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: AntiLambda Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiNeutronInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiNeutronInelastic.cc index 816bc6c20a..5d693c832b 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiNeutronInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiNeutronInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiNeutronInelastic.cc,v 1.14 2006/06/29 20:44:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: AntiNeutron Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiOmegaMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiOmegaMinusInelastic.cc index 12cb2c17ca..4d35891c88 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiOmegaMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiOmegaMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiOmegaMinusInelastic.cc,v 1.12 2006/06/29 20:44:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: AntiOmegaMinus Inelastic Process // J.L. Chuma, TRIUMF, 20-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiProtonInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiProtonInelastic.cc index 361e77d02b..408503084b 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiProtonInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiProtonInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiProtonInelastic.cc,v 1.15 2007/02/24 05:11:27 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: AntiProton Inelastic Process // J.L. Chuma, TRIUMF, 13-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaMinusInelastic.cc index 140ebb913f..a9da26d221 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiSigmaMinusInelastic.cc,v 1.11 2006/06/29 20:44:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: AntiSigmaMinus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaPlusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaPlusInelastic.cc index 9620774d1e..9b330acd27 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaPlusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiSigmaPlusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiSigmaPlusInelastic.cc,v 1.11 2006/06/29 20:44:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: AntiSigmaPlus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiXiMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiXiMinusInelastic.cc index 09f4a97b44..1fa3372747 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiXiMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiXiMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiXiMinusInelastic.cc,v 1.11 2006/06/29 20:44:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: AntiXiMinus Inelastic Process // J.L. Chuma, TRIUMF, 20-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEAntiXiZeroInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEAntiXiZeroInelastic.cc index 2a55995f77..b2a2f22a71 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEAntiXiZeroInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEAntiXiZeroInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEAntiXiZeroInelastic.cc,v 1.11 2006/06/29 20:44:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: AntiXiZero Inelastic Process // J.L. Chuma, TRIUMF, 20-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEKaonMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEKaonMinusInelastic.cc index 8b40f4de76..a7c7412025 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEKaonMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEKaonMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEKaonMinusInelastic.cc,v 1.15 2006/06/29 20:44:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy KaonMinus Inelastic Process // J.L. Chuma, TRIUMF, 12-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEKaonPlusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEKaonPlusInelastic.cc index 584270226c..d17e85a59e 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEKaonPlusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEKaonPlusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEKaonPlusInelastic.cc,v 1.13 2006/06/29 20:45:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy KaonPlus Inelastic Process // J.L. Chuma, TRIUMF, 05-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEKaonZeroInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEKaonZeroInelastic.cc index 4c7a40dd59..ac14267598 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEKaonZeroInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEKaonZeroInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEKaonZeroInelastic.cc,v 1.9 2006/06/29 20:45:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Low Energy KaonZeroShort Inelastic Process // J.L. Chuma, TRIUMF, 11-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LELambdaInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LELambdaInelastic.cc index 27d9d3a0b2..fe289376ad 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LELambdaInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LELambdaInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LELambdaInelastic.cc,v 1.11 2006/06/29 20:45:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Lambda Inelastic Process // J.L. Chuma, TRIUMF, 18-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEOmegaMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEOmegaMinusInelastic.cc index 4ac32f62f3..2f741f6e8f 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEOmegaMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEOmegaMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEOmegaMinusInelastic.cc,v 1.12 2006/06/29 20:45:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: OmegaMinus Inelastic Process // J.L. Chuma, TRIUMF, 20-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEPionPlusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEPionPlusInelastic.cc index 551af65f9c..ed7194cf04 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEPionPlusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEPionPlusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEPionPlusInelastic.cc,v 1.15 2007/02/24 06:28:52 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: PionPlus Inelastic Process // J.L. Chuma, TRIUMF, 19-Nov-1996 diff --git a/source/processes/hadronic/models/low_energy/src/G4LESigmaMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LESigmaMinusInelastic.cc index b2e1e51b50..c9f392102b 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LESigmaMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LESigmaMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LESigmaMinusInelastic.cc,v 1.11 2006/06/29 20:45:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: SigmaMinus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LESigmaPlusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LESigmaPlusInelastic.cc index 3eb95ab9fd..4e01558fae 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LESigmaPlusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LESigmaPlusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LESigmaPlusInelastic.cc,v 1.11 2006/06/29 20:45:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: SigmaPlus Inelastic Process // J.L. Chuma, TRIUMF, 19-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEXiMinusInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEXiMinusInelastic.cc index 112e1867cf..3e12a70c1d 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEXiMinusInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEXiMinusInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEXiMinusInelastic.cc,v 1.11 2006/06/29 20:45:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: XiMinus Inelastic Process // J.L. Chuma, TRIUMF, 20-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LEXiZeroInelastic.cc b/source/processes/hadronic/models/low_energy/src/G4LEXiZeroInelastic.cc index cc67a42010..7a5a82cde3 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LEXiZeroInelastic.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LEXiZeroInelastic.cc @@ -25,7 +25,7 @@ // // // $Id: G4LEXiZeroInelastic.cc,v 1.11 2006/06/29 20:45:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: XiZero Inelastic Process // J.L. Chuma, TRIUMF, 20-Feb-1997 diff --git a/source/processes/hadronic/models/low_energy/src/G4LFission.cc b/source/processes/hadronic/models/low_energy/src/G4LFission.cc index eef01aa835..f5dd25492c 100644 --- a/source/processes/hadronic/models/low_energy/src/G4LFission.cc +++ b/source/processes/hadronic/models/low_energy/src/G4LFission.cc @@ -25,7 +25,7 @@ // // // $Id: G4LFission.cc,v 1.15 2007/02/26 19:29:30 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4 Model: Low Energy Fission diff --git a/source/processes/hadronic/models/management/include/G4HadronicInteraction.hh b/source/processes/hadronic/models/management/include/G4HadronicInteraction.hh index 174da341d8..8d8395a8af 100644 --- a/source/processes/hadronic/models/management/include/G4HadronicInteraction.hh +++ b/source/processes/hadronic/models/management/include/G4HadronicInteraction.hh @@ -25,7 +25,7 @@ // // // $Id: G4HadronicInteraction.hh,v 1.8 2007/01/11 05:30:01 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Interaction abstract base class // This class is the base class for the model classes. diff --git a/source/processes/hadronic/models/management/include/G4InelasticInteraction.hh b/source/processes/hadronic/models/management/include/G4InelasticInteraction.hh index b61299cedc..733f55b000 100644 --- a/source/processes/hadronic/models/management/include/G4InelasticInteraction.hh +++ b/source/processes/hadronic/models/management/include/G4InelasticInteraction.hh @@ -25,7 +25,7 @@ // // // $Id: G4InelasticInteraction.hh,v 1.5 2007/01/11 05:30:12 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Inelastic Interaction // This class is an abstract base class, since the pure virtual diff --git a/source/processes/hadronic/models/management/include/G4V3DNucleus.hh b/source/processes/hadronic/models/management/include/G4V3DNucleus.hh index 5892381016..1979d0704c 100644 --- a/source/processes/hadronic/models/management/include/G4V3DNucleus.hh +++ b/source/processes/hadronic/models/management/include/G4V3DNucleus.hh @@ -25,7 +25,7 @@ // // // $Id: G4V3DNucleus.hh,v 1.5 2006/06/29 20:45:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4V3DNucleus_h #define G4V3DNucleus_h 1 diff --git a/source/processes/hadronic/models/management/include/G4VHighEnergyGenerator.hh b/source/processes/hadronic/models/management/include/G4VHighEnergyGenerator.hh index 95cb382128..c264b3421b 100644 --- a/source/processes/hadronic/models/management/include/G4VHighEnergyGenerator.hh +++ b/source/processes/hadronic/models/management/include/G4VHighEnergyGenerator.hh @@ -25,7 +25,7 @@ // // // $Id: G4VHighEnergyGenerator.hh,v 1.4 2006/06/29 20:45:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VHighEnergyGenerator_h #define G4VHighEnergyGenerator_h 1 diff --git a/source/processes/hadronic/models/management/include/G4VIntraNuclearTransportModel.hh b/source/processes/hadronic/models/management/include/G4VIntraNuclearTransportModel.hh index c85c58bb49..50b10dd09e 100644 --- a/source/processes/hadronic/models/management/include/G4VIntraNuclearTransportModel.hh +++ b/source/processes/hadronic/models/management/include/G4VIntraNuclearTransportModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4VIntraNuclearTransportModel.hh,v 1.4 2007/01/11 05:29:46 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: G4IntraNuclearTransportMode.hh,v 1.0 1998/06/30 // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/management/include/G4VKineticNucleon.hh b/source/processes/hadronic/models/management/include/G4VKineticNucleon.hh index 0b16c33ed5..8a7e708583 100644 --- a/source/processes/hadronic/models/management/include/G4VKineticNucleon.hh +++ b/source/processes/hadronic/models/management/include/G4VKineticNucleon.hh @@ -25,7 +25,7 @@ // // // $Id: G4VKineticNucleon.hh,v 1.4 2006/06/29 20:45:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VKineticNucleon_h #define G4VKineticNucleon_h 1 diff --git a/source/processes/hadronic/models/management/include/G4VNuclearDensity.hh b/source/processes/hadronic/models/management/include/G4VNuclearDensity.hh index 2d60e443dc..9aa1e2272b 100644 --- a/source/processes/hadronic/models/management/include/G4VNuclearDensity.hh +++ b/source/processes/hadronic/models/management/include/G4VNuclearDensity.hh @@ -25,7 +25,7 @@ // // // $Id: G4VNuclearDensity.hh,v 1.4 2006/06/29 20:45:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VNuclearDensity_h #define G4VNuclearDensity_h 1 diff --git a/source/processes/hadronic/models/management/include/G4VPreCompoundModel.hh b/source/processes/hadronic/models/management/include/G4VPreCompoundModel.hh index d179b56210..aaa43e9976 100644 --- a/source/processes/hadronic/models/management/include/G4VPreCompoundModel.hh +++ b/source/processes/hadronic/models/management/include/G4VPreCompoundModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4VPreCompoundModel.hh,v 1.5 2007/01/11 05:29:34 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VPreCompoundModel_h diff --git a/source/processes/hadronic/models/management/src/G4V3DNucleus.cc b/source/processes/hadronic/models/management/src/G4V3DNucleus.cc index df1825fd94..9df544342d 100644 --- a/source/processes/hadronic/models/management/src/G4V3DNucleus.cc +++ b/source/processes/hadronic/models/management/src/G4V3DNucleus.cc @@ -25,7 +25,7 @@ // // // $Id: G4V3DNucleus.cc,v 1.5 2006/06/29 20:45:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4V3DNucleus.hh" #include "G4HadronicException.hh" diff --git a/source/processes/hadronic/models/management/src/G4VHighEnergyGenerator.cc b/source/processes/hadronic/models/management/src/G4VHighEnergyGenerator.cc index e1c11eb353..b97608314d 100644 --- a/source/processes/hadronic/models/management/src/G4VHighEnergyGenerator.cc +++ b/source/processes/hadronic/models/management/src/G4VHighEnergyGenerator.cc @@ -25,7 +25,7 @@ // // // $Id: G4VHighEnergyGenerator.cc,v 1.5 2006/06/29 20:46:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VHighEnergyGenerator #include "G4VHighEnergyGenerator.hh" diff --git a/source/processes/hadronic/models/management/src/G4VIntraNuclearTransportModel.cc b/source/processes/hadronic/models/management/src/G4VIntraNuclearTransportModel.cc index 7dfc6fbaf2..1cac01e657 100644 --- a/source/processes/hadronic/models/management/src/G4VIntraNuclearTransportModel.cc +++ b/source/processes/hadronic/models/management/src/G4VIntraNuclearTransportModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4VIntraNuclearTransportModel.cc,v 1.5 2007/01/11 05:28:56 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: G4VIntraNuclearTransportModel.cc,v 1.0 1998/06/30 // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/management/src/G4VKineticNucleon.cc b/source/processes/hadronic/models/management/src/G4VKineticNucleon.cc index 2609835bff..db149a9708 100644 --- a/source/processes/hadronic/models/management/src/G4VKineticNucleon.cc +++ b/source/processes/hadronic/models/management/src/G4VKineticNucleon.cc @@ -25,7 +25,7 @@ // // // $Id: G4VKineticNucleon.cc,v 1.3 2006/06/29 20:46:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4VKineticNucleon.hh" diff --git a/source/processes/hadronic/models/management/src/G4VNuclearDensity.cc b/source/processes/hadronic/models/management/src/G4VNuclearDensity.cc index 03e44a1b56..e2c0825901 100644 --- a/source/processes/hadronic/models/management/src/G4VNuclearDensity.cc +++ b/source/processes/hadronic/models/management/src/G4VNuclearDensity.cc @@ -25,7 +25,7 @@ // // // $Id: G4VNuclearDensity.cc,v 1.3 2006/06/29 20:46:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4VNuclearDensity.hh" diff --git a/source/processes/hadronic/models/management/src/G4VPreCompoundModel.cc b/source/processes/hadronic/models/management/src/G4VPreCompoundModel.cc index 3cac76ceb8..cc19957ac7 100644 --- a/source/processes/hadronic/models/management/src/G4VPreCompoundModel.cc +++ b/source/processes/hadronic/models/management/src/G4VPreCompoundModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4VPreCompoundModel.cc,v 1.6 2007/01/11 05:29:10 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4VPreCompoundModel.hh" diff --git a/source/processes/hadronic/models/neutron_hp/History b/source/processes/hadronic/models/neutron_hp/History index ea97934588..e94db185c4 100644 --- a/source/processes/hadronic/models/neutron_hp/History +++ b/source/processes/hadronic/models/neutron_hp/History @@ -14,6 +14,82 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +22 Jun 2007 Gabriele Cosmo (hadr-hpn-V08-03-05) +- Replaced following environment variables: + o NeutronHP_ALWAYS_USE_PHOTONEVAPORATION_FOR_CAPTURE_FS + with: G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION + o NeutronHP_USE_ONLY_EXACT_FILE + with: G4NEUTRONHP_SKIP_MISSING_ISOTOPES + o NeutronHPCrossSections + with: G4NEUTRONHPDATA + o NeutronHP_NEGLECT_DOPPLER_BROADENING + with: G4NEUTRONHP_NEGLECT_DOPPLER. +- Replaced NULL with 0 everywhere and removed unnecessary check on zero + pointer when performing deletion. + +18 Jun 2007 Tatsumi Koi (hadr-hpn-V08-03-04) +- fixes for memory leaking + G4NeutronHPPartial.hh + G4NeutronHPPhotonDist.hh + G4NeutronHPPhotonDist.cc + +08 Jun 2007 Tatsumi Koi (hadr-hpn-V08-03-03) +- fixes for memory leaking + G4NeutronHPAngular.hh G4NeutronHPChannel.hh G4NeutronHPPhotonDist.hh + G4NeutronHPCaptureData.cc G4NeutronHPElasticData.cc G4NeutronHPInelasticData.cc + G4NeutronHPNames.cc + + +08 Jun 2007 Tatsumi Koi (hadr-hpn-V08-03-02) +- Bug fixes for valgrind & delete Unnecessary comment out from + G4NeutronHPFissionERelease.hh + +06 Jun 2007 Tatsumi Koi (hadr-hpn-V08-03-01) +---------------------------------------------- +- Bug fixes for valgrind & related update + G4NeutronHPVector.hh + G4NeutronHPFissionERelease.hh + G4NeutronHPPhotonDist.hh + G4NeutronHPPhotonDist.cc + G4NeutronHPInelasticCompFS.cc + + +25 May 2007 Dennis Wright (hadr-hpn-V08-03-00) +---------------------------------------------- +- retag for 9.0 release + +23 May 2007 Tatsumi Koi (hadr-hpn-V08-02-06) +- Try to limit sum of secondary photons energy while keeping distributions + G4NeutronHPPhotonDist.cc + +23 May 2007 Tatsumi Koi (hadr-hpn-V08-02-05) +- add neglecting doppler broadening mode for perfomance increase + G4NeutronHPElasticData.cc + G4NeutronHPInelasticData.cc + G4NeutronHPCaptureData.cc + +23 May 2007 Tatsumi Koi (hadr-hpn-V08-02-04) +------------------------------------------------ +- Bug fixes for G4FPE_DEBUG on by A. Howard + G4NeutronHPAngular.cc + G4NeutronHPCapture.cc + G4NeutronHPElastic.cc + G4NeutronHPFission.cc + G4NeutronHPInelastic.cc + G4NeutronHPChannel.cc + G4NeutronHPChannelList.cc + G4NeutronHPInelasticCompFS.cc + G4NeutronHPVector.cc + +22 May 2007 Tatsumi Koi (hadr-hpn-V08-02-02) +------------------------------------------------ +- Enable to use only exact data file NeutronHP_USE_ONLY_EXACT_FILE + and add warnig when substitute file is used + Modified method of searching substitute isotope data + G4NeutronHPNames.cc +- added NeutronHP_ALWAYS_USE_PHOTONEVAPORATION_FOR_CAPTURE_FS flag + G4NeutronHPCaptureFS.cc + 11 April 2007 Dennis Wright (hadr-hpn-V08-02-01) ------------------------------------------------ - added model names for hadronic whiteboard error reporting. diff --git a/source/processes/hadronic/models/neutron_hp/include/G4InterpolationIterator.hh b/source/processes/hadronic/models/neutron_hp/include/G4InterpolationIterator.hh index 460d30b50e..a492cee4a3 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4InterpolationIterator.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4InterpolationIterator.hh @@ -25,7 +25,7 @@ // // // $Id: G4InterpolationIterator.hh,v 1.9 2006/06/29 20:46:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4InterpolationIterator_h #define G4InterpolationIterator_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4InterpolationManager.hh b/source/processes/hadronic/models/neutron_hp/include/G4InterpolationManager.hh index 9ccc66cd87..480470a812 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4InterpolationManager.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4InterpolationManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4InterpolationManager.hh,v 1.12 2006/06/29 20:46:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4InterpolationManager.hh,v 1.13 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4InterpolationManager_h #define G4InterpolationManager_h 1 @@ -56,9 +56,9 @@ class G4InterpolationManager ~G4InterpolationManager() { - if(start!=NULL) delete [] start; - if(range!=NULL) delete [] range; - if(scheme!=NULL) delete [] scheme; + if(start!=0) delete [] start; + if(range!=0) delete [] range; + if(scheme!=0) delete [] scheme; } G4InterpolationManager & operator= (const G4InterpolationManager & aManager) @@ -67,9 +67,9 @@ class G4InterpolationManager { nRanges = aManager.nRanges; nEntries = aManager.nEntries; - if(scheme!=NULL) delete [] scheme; - if(start!=NULL) delete [] start; - if(range!=NULL) delete [] range; + if(scheme!=0) delete [] scheme; + if(start!=0) delete [] start; + if(range!=0) delete [] range; scheme = new G4InterpolationScheme[nRanges]; start = new G4int[nRanges]; range = new G4int[nRanges]; diff --git a/source/processes/hadronic/models/neutron_hp/include/G4InterpolationScheme.hh b/source/processes/hadronic/models/neutron_hp/include/G4InterpolationScheme.hh index e7e87900f8..62ff5528fe 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4InterpolationScheme.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4InterpolationScheme.hh @@ -25,7 +25,7 @@ // // // $Id: G4InterpolationScheme.hh,v 1.8 2006/06/29 20:46:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4InterpolationScheme_h #define G4InterpolationScheme_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2AInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2AInelasticFS.hh index cde399f6ed..ec3005666a 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2AInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2AInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHP2AInelasticFS.hh,v 1.9 2006/06/29 20:46:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHP2AInelasticFS_h #define G4NeutronHP2AInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2N2AInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2N2AInelasticFS.hh index f254706458..f3bef3ea83 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2N2AInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2N2AInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHP2N2AInelasticFS.hh,v 1.9 2006/06/29 20:46:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHP2N2AInelasticFS_h #define G4NeutronHP2N2AInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NAInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NAInelasticFS.hh index d048325415..a909189506 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NAInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NAInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHP2NAInelasticFS.hh,v 1.9 2006/06/29 20:46:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHP2NAInelasticFS_h #define G4NeutronHP2NAInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NDInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NDInelasticFS.hh index 42998de12d..b3dfd782e8 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NDInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NDInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHP2NDInelasticFS.hh,v 1.9 2006/06/29 20:46:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHP2NDInelasticFS_h #define G4NeutronHP2NDInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NInelasticFS.hh index 9dd640aad8..8c2a18297b 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHP2NInelasticFS.hh,v 1.9 2006/06/29 20:46:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHP2NInelasticFS_h #define G4NeutronHP2NInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NPInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NPInelasticFS.hh index df4dfd33b6..38f38f1623 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NPInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2NPInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHP2NPInelasticFS.hh,v 1.9 2006/06/29 20:46:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHP2NPInelasticFS_h #define G4NeutronHP2NPInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2PInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2PInelasticFS.hh index 4d584dc7cc..d86405f617 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2PInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP2PInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHP2PInelasticFS.hh,v 1.9 2006/06/29 20:46:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHP2PInelasticFS_h #define G4NeutronHP2PInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3AInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3AInelasticFS.hh index b9136c1136..b47383c8b5 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3AInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3AInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHP3AInelasticFS.hh,v 1.9 2006/06/29 20:46:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHP3AInelasticFS_h #define G4NeutronHP3AInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NAInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NAInelasticFS.hh index fe8458951b..eb84bba89e 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NAInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NAInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHP3NAInelasticFS.hh,v 1.9 2006/06/29 20:46:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHP3NAInelasticFS_h #define G4NeutronHP3NAInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NInelasticFS.hh index 91888493f9..813c22c80d 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHP3NInelasticFS.hh,v 1.9 2006/06/29 20:46:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHP3NInelasticFS_h #define G4NeutronHP3NInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NPInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NPInelasticFS.hh index 6a7b02311f..739ecad354 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NPInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP3NPInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHP3NPInelasticFS.hh,v 1.9 2006/06/29 20:46:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHP3NPInelasticFS_h #define G4NeutronHP3NPInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP4NInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP4NInelasticFS.hh index 4ee56e900b..7717c0d295 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP4NInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHP4NInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHP4NInelasticFS.hh,v 1.9 2006/06/29 20:46:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHP4NInelasticFS_h #define G4NeutronHP4NInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAInelasticFS.hh index 95c65c7084..ede493581d 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPAInelasticFS.hh,v 1.9 2006/06/29 20:46:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPAInelasticFS_h #define G4NeutronHPAInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngular.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngular.hh index 2ebfe1e54b..38682e07f9 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngular.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngular.hh @@ -24,8 +24,10 @@ // ******************************************************************** // // -// $Id: G4NeutronHPAngular.hh,v 1.10 2006/06/29 20:46:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPAngular.hh,v 1.12 2007/06/22 09:23:47 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ +// +// 070613 fix memory leaking by T. Koi // #ifndef G4NeutronHPAngular_h #define G4NeutronHPAngular_h 1 @@ -46,8 +48,16 @@ class G4NeutronHPAngular { theAngularDistributionType = 0; theIsoFlag = false; +// TKDB + theCoefficients = 0; + theProbArray = 0; } - ~G4NeutronHPAngular(){} + ~G4NeutronHPAngular() + { +// TKDB + delete theCoefficients; + delete theProbArray; + } void Init(std::ifstream & aDataFile); diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngularP.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngularP.hh index 63f6862d74..34acf49aaa 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngularP.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPAngularP.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPAngularP.hh,v 1.10 2006/06/29 20:46:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPAngularP.hh,v 1.11 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPAngularP_h #define G4NeutronHPAngularP_h 1 @@ -39,13 +39,13 @@ class G4NeutronHPAngularP G4NeutronHPAngularP() { - theCosTh = NULL; - theProb = NULL; + theCosTh = 0; + theProb = 0; } ~G4NeutronHPAngularP() { - if(theCosTh!=NULL) delete [] theCosTh; - if(theProb!=NULL) delete [] theProb; + if(theCosTh!=0) delete [] theCosTh; + if(theProb!=0) delete [] theProb; } inline void Init(std::ifstream & aDataFile) diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPArbitaryTab.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPArbitaryTab.hh index 3a8def86ae..90669b5409 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPArbitaryTab.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPArbitaryTab.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPArbitaryTab.hh,v 1.11 2006/06/29 20:46:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPArbitaryTab.hh,v 1.12 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPArbitaryTab_h #define G4NeutronHPArbitaryTab_h 1 @@ -45,11 +45,11 @@ class G4NeutronHPArbitaryTab : public G4VNeutronHPEDis public: G4NeutronHPArbitaryTab() { - theDistFunc = NULL; + theDistFunc = 0; } ~G4NeutronHPArbitaryTab() { - if(theDistFunc!=NULL) delete [] theDistFunc; + if(theDistFunc!=0) delete [] theDistFunc; } inline void Init(std::ifstream & theData) diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCapture.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCapture.hh index 1b0ec27fd0..5f540f39db 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCapture.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCapture.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPCapture.hh,v 1.10 2006/06/29 20:46:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Very Low Energy Neutron X-Sections // original by H.P. Wellisch, TRIUMF, 14-Feb-97 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureData.hh index 0f17a442b3..2a4698f9eb 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureData.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPCaptureData.hh,v 1.9 2006/06/29 20:46:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPCaptureData_h #define G4NeutronHPCaptureData_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureFS.hh index e13998ea5b..542d79c6ae 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPCaptureFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPCaptureFS.hh,v 1.11 2006/06/29 20:46:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPCaptureFS_h #define G4NeutronHPCaptureFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPChannel.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPChannel.hh index 0479591614..a743a69f23 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPChannel.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPChannel.hh @@ -24,14 +24,15 @@ // ******************************************************************** // // -// $Id: G4NeutronHPChannel.hh,v 1.12 2006/06/29 20:46:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPChannel.hh,v 1.14 2007/06/14 17:17:30 tkoi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Very Low Energy Neutron X-Sections // original by H.P. Wellisch, TRIUMF, 14-Feb-97 // Builds and has the Cross-section data for one element and channel. // // Bug fixes and workarounds in the destructor, F.W.Jones 06-Jul-1999 +// 070612 Fix memory leaking by T. Koi #ifndef G4NeutronHPChannel_h #define G4NeutronHPChannel_h 1 @@ -56,10 +57,10 @@ public: G4NeutronHPChannel() { theChannelData = new G4NeutronHPVector; - theBuffer = NULL; - theIsotopeWiseData = NULL; - theFinalStates = NULL; - active = NULL; + theBuffer = 0; + theIsotopeWiseData = 0; + theFinalStates = 0; + active = 0; registerCount = -1; } @@ -69,11 +70,11 @@ public: // Following statement disabled to avoid SEGV // theBuffer is also deleted as "theChannelData" in // ~G4NeutronHPIsoData. FWJ 06-Jul-1999 - //if(theBuffer != NULL) delete theBuffer; - if(theIsotopeWiseData != NULL) delete [] theIsotopeWiseData; + //if(theBuffer != 0) delete theBuffer; + if(theIsotopeWiseData != 0) delete [] theIsotopeWiseData; // Deletion of FinalStates disabled to avoid endless looping // in the destructor heirarchy. FWJ 06-Jul-1999 - //if(theFinalStates != NULL) + //if(theFinalStates != 0) //{ // for(i=0; inLevels-1 || aLevel<0) return NULL; + if(aLevel>nLevels-1 || aLevel<0) return 0; if(nLevels==0) return new G4ReactionProductVector(); G4ReactionProductVector * result = new G4ReactionProductVector; G4DynamicParticleVector * theResult; @@ -89,7 +89,7 @@ class G4NeutronHPDeExGammas inline G4NeutronHPLevel * GetLevel(G4int i) { - if(i>nLevels-1) return NULL; + if(i>nLevels-1) return 0; return theLevels+i; } diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDiscreteTwoBody.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDiscreteTwoBody.hh index 84177bd505..ca2589064d 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDiscreteTwoBody.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPDiscreteTwoBody.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPDiscreteTwoBody.hh,v 1.10 2006/06/29 20:47:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPDiscreteTwoBody.hh,v 1.11 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPDiscreteTwoBody_h #define G4NeutronHPDiscreteTwoBody_h 1 @@ -44,11 +44,11 @@ class G4NeutronHPDiscreteTwoBody : public G4VNeutronHPEnergyAngular G4NeutronHPDiscreteTwoBody() { - theCoeff = NULL; + theCoeff = 0; } ~G4NeutronHPDiscreteTwoBody() { - if(theCoeff!=NULL) delete [] theCoeff; + if(theCoeff!=0) delete [] theCoeff; } void Init(std::ifstream & aDataFile) diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElastic.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElastic.hh index 81eda8f64d..98f66d1e41 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElastic.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElastic.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPElastic.hh,v 1.10 2006/06/29 20:47:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: High Precision low E neutron tracking // original by H.P. Wellisch, TRIUMF, 14-Feb-97 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticData.hh index c698b03053..55463d63ef 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticData.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPElasticData.hh,v 1.9 2006/06/29 20:47:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPElasticData_h #define G4NeutronHPElasticData_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticFS.hh index 9845db2b59..40e3037b97 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElasticFS.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPElasticFS.hh,v 1.11 2006/12/13 15:45:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPElasticFS.hh,v 1.12 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // 25-08-06 New Final State type (refFlag==3 , Legendre (Low Energy) + Probability (High Energy) ) // is added by T. KOI @@ -50,13 +50,13 @@ class G4NeutronHPElasticFS : public G4NeutronHPFinalState G4NeutronHPElasticFS() { hasXsec = false; - theCoefficients = NULL; - theProbArray = NULL; + theCoefficients = 0; + theProbArray = 0; } ~G4NeutronHPElasticFS() { - if(theCoefficients!=NULL) delete theCoefficients; - if(theProbArray!=NULL) delete theProbArray; + if(theCoefficients!=0) delete theCoefficients; + if(theProbArray!=0) delete theProbArray; } void Init (G4double A, G4double Z, G4String & dirName, G4String & aFSType); G4HadFinalState * ApplyYourself(const G4HadProjectile & theTrack); diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElementData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElementData.hh index 869c142354..44939c5392 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElementData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPElementData.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPElementData.hh,v 1.9 2006/06/29 20:47:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Very Low Energy Neutron X-Sections // original by H.P. Wellisch, TRIUMF, 14-Feb-97 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnAngCorrelation.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnAngCorrelation.hh index 44f5d7a5d8..1b101a39eb 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnAngCorrelation.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnAngCorrelation.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPEnAngCorrelation.hh,v 1.10 2006/06/29 20:47:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPEnAngCorrelation.hh,v 1.11 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPEnAngCorrelation_h #define G4NeutronHPEnAngCorrelation_h 1 @@ -44,13 +44,13 @@ class G4NeutronHPEnAngCorrelation public: G4NeutronHPEnAngCorrelation() { - theProducts = NULL; + theProducts = 0; inCharge = false; theTotalMeanEnergy = -1.; } ~G4NeutronHPEnAngCorrelation() { - if(theProducts!=NULL) delete [] theProducts; + if(theProducts!=0) delete [] theProducts; } inline void Init(std::ifstream & aDataFile) diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnergyDistribution.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnergyDistribution.hh index 11317c63e1..31011fea8a 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnergyDistribution.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPEnergyDistribution.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPEnergyDistribution.hh,v 1.10 2006/06/29 20:47:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPEnergyDistribution.hh,v 1.11 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPEnergyDistribution_h #define G4NeutronHPEnergyDistribution_h 1 @@ -49,13 +49,13 @@ class G4NeutronHPEnergyDistribution public: G4NeutronHPEnergyDistribution() { - theEnergyDistribution = NULL; + theEnergyDistribution = 0; theNumberOfPartials = 0; theRepresentationType = 0; } ~G4NeutronHPEnergyDistribution() { - if(theEnergyDistribution != NULL) + if(theEnergyDistribution != 0) { for(G4int i=0; iSetTarget(aTarget); theAngularDistribution[it]->SetNeutron(aNeutron); } - if(theEnergyAngData[it]!=NULL) + if(theEnergyAngData[it]!=0) { theEnergyAngData[it]->SetTarget(aTarget); theEnergyAngData[it]->SetNeutron(aNeutron); diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticData.hh index 9f1f84b2af..4f7949acd5 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInelasticData.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPInelasticData.hh,v 1.9 2006/06/29 20:48:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPInelasticData_h #define G4NeutronHPInelasticData_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInterpolator.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInterpolator.hh index 573c9625f6..59ab35c93f 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInterpolator.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPInterpolator.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPInterpolator.hh,v 1.19 2006/06/29 20:48:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPInterpolator_h #define G4NeutronHPInterpolator_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsoData.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsoData.hh index e5ab41019c..7802305758 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsoData.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsoData.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPIsoData.hh,v 1.15 2006/06/29 20:48:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPIsoData.hh,v 1.16 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPIsoData_h #define G4NeutronHPIsoData_h 1 @@ -48,14 +48,14 @@ public: G4NeutronHPIsoData() { - theChannelData = NULL; - theFissionData = NULL; - theCaptureData = NULL; - theElasticData = NULL; - theInelasticData = NULL; + theChannelData = 0; + theFissionData = 0; + theCaptureData = 0; + theElasticData = 0; + theInelasticData = 0; } - ~G4NeutronHPIsoData(){if(theChannelData!=NULL) delete theChannelData;} + ~G4NeutronHPIsoData(){if(theChannelData!=0) delete theChannelData;} inline G4double GetXsec(G4double energy) { @@ -80,7 +80,7 @@ public: inline void FillChannelData(G4NeutronHPVector * aBuffer) { - if(theChannelData!=NULL) throw G4HadronicException(__FILE__, __LINE__, "IsoData has channel full already!!!"); + if(theChannelData!=0) throw G4HadronicException(__FILE__, __LINE__, "IsoData has channel full already!!!"); theChannelData = new G4NeutronHPVector; for(G4int i=0; iGetVectorLength(); i++) { diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsotropic.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsotropic.hh index 3f356214b4..b8f2f92e31 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsotropic.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPIsotropic.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPIsotropic.hh,v 1.10 2006/06/29 20:48:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPIsotropic_h #define G4NeutronHPIsotropic_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPKallbachMannSyst.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPKallbachMannSyst.hh index 28992afc79..bad4d6d2a7 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPKallbachMannSyst.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPKallbachMannSyst.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPKallbachMannSyst.hh,v 1.8 2006/06/29 20:48:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPKallbachMannSyst_h #define G4NeutronHPKallbachMannSyst_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLCFissionFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLCFissionFS.hh index 2d4d2ec009..842054d119 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLCFissionFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLCFissionFS.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPLCFissionFS.hh,v 1.10 2006/06/29 20:48:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPLCFissionFS.hh,v 1.11 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPLCFissionFS_h #define G4NeutronHPLCFissionFS_h 1 @@ -50,7 +50,7 @@ class G4NeutronHPLCFissionFS : public G4NeutronHPFissionBaseFS } private: - G4HadFinalState * ApplyYourself(const G4HadProjectile & ) { return NULL; } + G4HadFinalState * ApplyYourself(const G4HadProjectile & ) { return 0; } }; #endif diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLabAngularEnergy.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLabAngularEnergy.hh index b6a558b85f..654c08bb0e 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLabAngularEnergy.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPLabAngularEnergy.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPLabAngularEnergy.hh,v 1.10 2006/06/29 20:48:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPLabAngularEnergy.hh,v 1.11 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPLabAngularEnergy_h #define G4NeutronHPLabAngularEnergy_h 1 @@ -46,22 +46,22 @@ class G4NeutronHPLabAngularEnergy : public G4VNeutronHPEnergyAngular G4NeutronHPLabAngularEnergy() { - theEnergies = NULL; - theData = NULL; - nCosTh = NULL; - theSecondManager = NULL; + theEnergies = 0; + theData = 0; + nCosTh = 0; + theSecondManager = 0; } ~G4NeutronHPLabAngularEnergy() { - if(theEnergies != NULL) delete [] theEnergies; - if(nCosTh != NULL) delete [] nCosTh; - if(theData != NULL) + if(theEnergies != 0) delete [] theEnergies; + if(nCosTh != 0) delete [] nCosTh; + if(theData != 0) { for(G4int i=0; iSetQValue(theActualStateQValue); theDist->Init(aDataFile); @@ -145,7 +145,7 @@ class G4NeutronHPProduct inline G4double MeanEnergyOfThisInteraction() { G4double result; - if(theDist == NULL) + if(theDist == 0) { result = 0; } diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPSCFissionFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPSCFissionFS.hh index f473deb167..3a1127c12f 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPSCFissionFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPSCFissionFS.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPSCFissionFS.hh,v 1.10 2006/06/29 20:49:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPSCFissionFS.hh,v 1.11 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPSCFissionFS_h #define G4NeutronHPSCFissionFS_h 1 @@ -50,7 +50,7 @@ class G4NeutronHPSCFissionFS : public G4NeutronHPFissionBaseFS } private: - G4HadFinalState * ApplyYourself(const G4HadProjectile &) { return NULL; } + G4HadFinalState * ApplyYourself(const G4HadProjectile &) { return 0; } }; #endif diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPSimpleEvapSpectrum.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPSimpleEvapSpectrum.hh index 28a14a1d38..bf506d2091 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPSimpleEvapSpectrum.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPSimpleEvapSpectrum.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPSimpleEvapSpectrum.hh,v 1.11 2006/06/29 20:49:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPSimpleEvapSpectrum_h #define G4NeutronHPSimpleEvapSpectrum_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPT2AInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPT2AInelasticFS.hh index 2c85d282b4..91f04d4e05 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPT2AInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPT2AInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPT2AInelasticFS.hh,v 1.9 2006/06/29 20:49:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPT2AInelasticFS_h #define G4NeutronHPT2AInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPTCFissionFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPTCFissionFS.hh index 314d1091d6..2f2450877b 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPTCFissionFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPTCFissionFS.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4NeutronHPTCFissionFS.hh,v 1.10 2006/06/29 20:49:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4NeutronHPTCFissionFS.hh,v 1.11 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPTCFissionFS_h #define G4NeutronHPTCFissionFS_h 1 @@ -50,7 +50,7 @@ class G4NeutronHPTCFissionFS : public G4NeutronHPFissionBaseFS } private: - G4HadFinalState * ApplyYourself(const G4HadProjectile & ) { return NULL; } + G4HadFinalState * ApplyYourself(const G4HadProjectile & ) { return 0; } }; #endif diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPTInelasticFS.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPTInelasticFS.hh index 8605673aee..1d50a42932 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPTInelasticFS.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPTInelasticFS.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPTInelasticFS.hh,v 1.9 2006/06/29 20:49:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPTInelasticFS_h #define G4NeutronHPTInelasticFS_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPVector.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPVector.hh index ba21cacb49..29392a9e40 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPVector.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPVector.hh @@ -23,6 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // +// 070606 fix with Valgrind by T. Koi +// #ifndef G4NeutronHPVector_h #define G4NeutronHPVector_h 1 @@ -65,7 +67,7 @@ class G4NeutronHPVector { theData[i].SetY(theData[i].GetY()*factor); } - if(theIntegral!=NULL) + if(theIntegral!=0) { theIntegral[i] *= factor; } @@ -223,7 +225,7 @@ class G4NeutronHPVector { G4int total; aDataFile >> total; - if(theData!=NULL) delete [] theData; + if(theData!=0) delete [] theData; theData = new G4NeutronHPDataPoint[total]; nPoints=total; nEntries=0; @@ -287,7 +289,8 @@ class G4NeutronHPVector } while (p!=passive->GetVectorLength()) { - if(std::abs(GetEnergy(m)-passive->GetEnergy(p))/passive->GetEnergy(p)>0.001) + if(std::abs(GetEnergy(m-1)-passive->GetEnergy(p))/passive->GetEnergy(p)>0.001) + //if(std::abs(GetEnergy(m)-passive->GetEnergy(p))/passive->GetEnergy(p)>0.001) { SetData(m, passive->GetEnergy(p), passive->GetXsec(p)); theManager.AppendScheme(m++, active->GetScheme(p)); @@ -302,7 +305,7 @@ class G4NeutronHPVector G4double SampleLin() // Samples X according to distribution Y, linear int { G4double result; - if(theIntegral==NULL) IntegrateAndNormalise(); + if(theIntegral==0) IntegrateAndNormalise(); if(GetVectorLength()==1) { result = theData[0].GetX(); @@ -351,7 +354,7 @@ class G4NeutronHPVector inline void IntegrateAndNormalise() { G4int i; - if(theIntegral!=NULL) return; + if(theIntegral!=0) return; theIntegral = new G4double[nEntries]; if(nEntries == 1) { diff --git a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPWattSpectrum.hh b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPWattSpectrum.hh index 9a64577953..d57463a9a1 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPWattSpectrum.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4NeutronHPWattSpectrum.hh @@ -25,7 +25,7 @@ // // // $Id: G4NeutronHPWattSpectrum.hh,v 1.11 2006/06/29 20:49:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4NeutronHPWattSpectrum_h #define G4NeutronHPWattSpectrum_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4VNeutronHPEDis.hh b/source/processes/hadronic/models/neutron_hp/include/G4VNeutronHPEDis.hh index 1e86a40032..1c6f551411 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4VNeutronHPEDis.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4VNeutronHPEDis.hh @@ -25,7 +25,7 @@ // // // $Id: G4VNeutronHPEDis.hh,v 1.10 2006/06/29 20:50:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VNeutronHPEDis_h #define G4VNeutronHPEDis_h 1 diff --git a/source/processes/hadronic/models/neutron_hp/include/G4VNeutronHPEnergyAngular.hh b/source/processes/hadronic/models/neutron_hp/include/G4VNeutronHPEnergyAngular.hh index 1938d6b032..d0c8ca7e94 100644 --- a/source/processes/hadronic/models/neutron_hp/include/G4VNeutronHPEnergyAngular.hh +++ b/source/processes/hadronic/models/neutron_hp/include/G4VNeutronHPEnergyAngular.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VNeutronHPEnergyAngular.hh,v 1.10 2006/06/29 20:50:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VNeutronHPEnergyAngular.hh,v 1.11 2007/06/06 12:45:13 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VNeutronHPEnergyAngular_h #define G4VNeutronHPEnergyAngular_h 1 @@ -41,8 +41,8 @@ class G4VNeutronHPEnergyAngular G4VNeutronHPEnergyAngular() { - theTarget = NULL; - theNeutron = NULL; + theTarget = 0; + theNeutron = 0; theQValue=0; } virtual ~G4VNeutronHPEnergyAngular(){} @@ -58,7 +58,7 @@ class G4VNeutronHPEnergyAngular void SetNeutron(G4ReactionProduct * aNeutron) { theNeutron = aNeutron; - if(theTarget!=NULL) theCMS = *theNeutron+*theTarget; + if(theTarget!=0) theCMS = *theNeutron+*theTarget; } void SetTarget(G4ReactionProduct * aTarget) diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPAngular.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPAngular.cc index 6f036a7a39..c595c2a35b 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPAngular.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPAngular.cc @@ -27,6 +27,8 @@ // J.P. Wellisch, Nov-1996 // A prototype of the low energy neutron transport model. // +// 070523 bug fix for G4FPE_DEBUG on by A. Howard ( and T. Koi) +// #include "G4NeutronHPAngular.hh" void G4NeutronHPAngular::Init(std::ifstream & aDataFile) @@ -152,10 +154,16 @@ void G4NeutronHPAngular::SampleAndUpdate(G4ReactionProduct & aHadron) fac*=gamma; G4double mom; - mom = std::sqrt( en*fac*en*fac - +// For G4FPE_DEBUG ON + G4double mom2 = ( en*fac*en*fac - (fac*fac - gamma*gamma)* (en*en - gamma*gamma*aHadron.GetMass()*aHadron.GetMass()) ); + if ( mom2 > 0.0 ) + mom = std::sqrt( mom2 ); + else + mom = 0.0; + mom = -en*fac - mom; mom /= (fac*fac-gamma*gamma); temp = mom*temp; diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCapture.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCapture.cc index 85b90c1940..9ec06645ba 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCapture.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCapture.cc @@ -27,6 +27,8 @@ // J.P. Wellisch, Nov-1996 // A prototype of the low energy neutron transport model. // +// 070523 bug fix for G4FPE_DEBUG on by A. Howard ( and T. Koi) +// #include "G4NeutronHPCapture.hh" #include "G4NeutronHPCaptureFS.hh" #include "G4NeutronHPDeExGammas.hh" @@ -39,9 +41,9 @@ SetMinEnergy( 0.0 ); SetMaxEnergy( 20.*MeV ); // G4cout << "Capture : start of construction!!!!!!!!"<GetElement(i)->GetIndex(); - if(random<=running/sum) break; + //if(random<=running/sum) break; + if( sum == 0 || random <= running/sum ) break; } if(i==n) i=std::max(0, n-1); delete [] xSec; diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCaptureData.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCaptureData.cc index c5821b08e0..6fb398defa 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCaptureData.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCaptureData.cc @@ -27,6 +27,9 @@ // J.P. Wellisch, Nov-1996 // A prototype of the low energy neutron transport model. // +// 070523 add neglecting doppler broadening on the fly. T. Koi +// 070613 fix memory leaking by T. Koi +// #include "G4NeutronHPCaptureData.hh" #include "G4Neutron.hh" #include "G4ElementTable.hh" @@ -42,11 +45,17 @@ G4bool G4NeutronHPCaptureData::IsApplicable(const G4DynamicParticle*aP, const G4 G4NeutronHPCaptureData::G4NeutronHPCaptureData() { +// TKDB + theCrossSections = 0; BuildPhysicsTable(*G4Neutron::Neutron()); } G4NeutronHPCaptureData::~G4NeutronHPCaptureData() { +// TKDB + if ( theCrossSections != 0 ) + theCrossSections->clearAndDestroy(); + delete theCrossSections; } @@ -56,7 +65,8 @@ void G4NeutronHPCaptureData::BuildPhysicsTable(const G4ParticleDefinition& aP) throw G4HadronicException(__FILE__, __LINE__, "Attempt to use NeutronHP data for particles other than neutrons!!!"); size_t numberOfElements = G4Element::GetNumberOfElements(); // G4cout << "CALLED G4NeutronHPCaptureData::BuildPhysicsTable "<GetKineticEnergy(); + + if ( getenv( "G4NEUTRONHP_NEGLECT_DOPPLER" ) ) + { + G4double factor = 1.0; + if ( eKinetic < aT * k_Boltzmann ) + { + // below 0.1 eV neutrons + // Have to do some, but now just igonre. + // Will take care after performance check. + // factor = factor * targetV; + } + return ( (*((*theCrossSections)(index))).GetValue(eKinetic, outOfRange) )* factor; + } + G4ReactionProduct theNeutron( aP->GetDefinition() ); theNeutron.SetMomentum( aP->GetMomentum() ); theNeutron.SetKineticEnergy( eKinetic ); @@ -133,5 +157,11 @@ GetCrossSection(const G4DynamicParticle* aP, const G4Element*anE, G4double aT) size += size; } result /= counter; +/* + // Checking impact of G4NEUTRONHP_NEGLECT_DOPPLER + G4cout << " result " << result << " " + << (*((*theCrossSections)(index))).GetValue(eKinetic, outOfRange) << " " + << (*((*theCrossSections)(index))).GetValue(eKinetic, outOfRange) /result << G4endl; +*/ return result; } diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCaptureFS.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCaptureFS.cc index 9fc7e76876..6f17e5b966 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCaptureFS.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPCaptureFS.cc @@ -28,6 +28,7 @@ // A prototype of the low energy neutron transport model. // // 12-April-06 Enable IC electron emissions T. Koi +// 26-January-07 Add G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION flag // #include "G4NeutronHPCaptureFS.hh" #include "G4Gamma.hh" @@ -66,8 +67,8 @@ // dice the photons - G4ReactionProductVector * thePhotons = NULL; - if (HasFSData()) + G4ReactionProductVector * thePhotons = 0; + if ( HasFSData() && !getenv ( "G4NEUTRONHP_USE_ONLY_PHOTONEVAPORATION" ) ) { thePhotons = theFinalStatePhotons.GetPhotons(eKinetic); } @@ -86,7 +87,7 @@ { G4ReactionProduct * theOne = new G4ReactionProduct; // T. K. add - if ( (*i)->GetParticleDefinition() != NULL ) + if ( (*i)->GetParticleDefinition() != 0 ) theOne->SetDefinition( (*i)->GetParticleDefinition() ); else theOne->SetDefinition( G4Gamma::Gamma() ); // this definiion will be over writen @@ -108,7 +109,7 @@ // add them to the final state G4int nPhotons = 0; - if(thePhotons!=NULL) nPhotons=thePhotons->size(); + if(thePhotons!=0) nPhotons=thePhotons->size(); G4int nParticles = nPhotons; if(1==nPhotons) nParticles = 2; diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPChannel.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPChannel.cc index 217a1c3218..48ca0c89e9 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPChannel.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPChannel.cc @@ -27,6 +27,8 @@ // J.P. Wellisch, Nov-1996 // A prototype of the low energy neutron transport model. // +// 070523 bug fix for G4FPE_DEBUG on by A. Howard ( and T. Koi) +// #include "G4NeutronHPChannel.hh" #include "G4NeutronHPFinalState.hh" #include "globals.hh" @@ -74,11 +76,11 @@ if(count == 0||registerCount!=0) count += theStableOnes.GetNumberOfIsotopes(Z); niso = count; - if(theIsotopeWiseData!=NULL) delete [] theIsotopeWiseData; + delete [] theIsotopeWiseData; theIsotopeWiseData = new G4NeutronHPIsoData [niso]; - if(active!=NULL) delete [] active; + delete [] active; active = new G4bool[niso]; - if(theFinalStates!=NULL) delete [] theFinalStates; + delete [] theFinalStates; theFinalStates = new G4NeutronHPFinalState * [niso]; delete theChannelData; theChannelData = new G4NeutronHPVector; @@ -124,7 +126,7 @@ if(!theFinalStates[index]->HasAnyData()) return; // nothing there for exactly this isotope. // the above has put the X-sec into the FS - theBuffer = NULL; + theBuffer = 0; if(theFinalStates[index]->HasXsec()) { theBuffer = theFinalStates[index]->GetXsec(); @@ -137,7 +139,7 @@ active[index] = theIsotopeWiseData[index].Init(A, Z, abundance, theDir, tString); if(active[index]) theBuffer = theIsotopeWiseData[index].MakeChannelData(); } - if(theBuffer != NULL) Harmonise(theChannelData, theBuffer); + if(theBuffer != 0) Harmonise(theChannelData, theBuffer); } void G4NeutronHPChannel::Harmonise(G4NeutronHPVector *& theStore, G4NeutronHPVector * theNew) @@ -225,7 +227,8 @@ for (G4int ix=0; ixApplyYourself(aTrack, isotope); diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPElastic.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPElastic.cc index 334833278e..e9aee14e00 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPElastic.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPElastic.cc @@ -27,6 +27,8 @@ // J.P. Wellisch, Nov-1996 // A prototype of the low energy neutron transport model. // +// 070523 bug fix for G4FPE_DEBUG on by A. Howard ( and T. Koi) +// #include "G4NeutronHPElastic.hh" #include "G4NeutronHPElasticFS.hh" @@ -35,9 +37,9 @@ { overrideSuspension = false; G4NeutronHPElasticFS * theFS = new G4NeutronHPElasticFS; - if(!getenv("NeutronHPCrossSections")) - throw G4HadronicException(__FILE__, __LINE__, "Please setenv NeutronHPCrossSections to point to the neutron cross-section files."); - dirName = getenv("NeutronHPCrossSections"); + if(!getenv("G4NEUTRONHPDATA")) + throw G4HadronicException(__FILE__, __LINE__, "Please setenv G4NEUTRONHPDATA to point to the neutron cross-section files."); + dirName = getenv("G4NEUTRONHPDATA"); G4String tString = "/Elastic/"; dirName = dirName + tString; // G4cout <<"G4NeutronHPElastic::G4NeutronHPElastic testit "<GetElement(i)->GetIndex(); - if(random<=running/sum) break; + //if(random<=running/sum) break; + if( sum == 0 || random <= running/sum ) break; } delete [] xSec; // it is element-wise initialised. diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPElasticData.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPElasticData.cc index 4d46b006e5..077d7a4aeb 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPElasticData.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPElasticData.cc @@ -27,6 +27,9 @@ // J.P. Wellisch, Nov-1996 // A prototype of the low energy neutron transport model. // +// 070523 add neglecting doppler broadening on the fly. T. Koi +// 070613 fix memory leaking by T. Koi +// #include "G4NeutronHPElasticData.hh" #include "G4Neutron.hh" #include "G4ElementTable.hh" @@ -42,20 +45,27 @@ G4bool G4NeutronHPElasticData::IsApplicable(const G4DynamicParticle*aP, const G4 G4NeutronHPElasticData::G4NeutronHPElasticData() { +// TKDB + theCrossSections = 0; BuildPhysicsTable(*G4Neutron::Neutron()); } G4NeutronHPElasticData::~G4NeutronHPElasticData() { +// TKDB + if ( theCrossSections != 0 ) + theCrossSections->clearAndDestroy(); delete theCrossSections; } void G4NeutronHPElasticData::BuildPhysicsTable(const G4ParticleDefinition& aP) { + if(&aP!=G4Neutron::Neutron()) throw G4HadronicException(__FILE__, __LINE__, "Attempt to use NeutronHP data for particles other than neutrons!!!"); size_t numberOfElements = G4Element::GetNumberOfElements(); - theCrossSections = new G4PhysicsTable( numberOfElements ); +// TKDB + if ( theCrossSections == 0 ) theCrossSections = new G4PhysicsTable( numberOfElements ); // make a PhysicsVector for each element @@ -89,6 +99,21 @@ GetCrossSection(const G4DynamicParticle* aP, const G4Element*anE, G4double aT) // prepare neutron G4double eKinetic = aP->GetKineticEnergy(); + + // T. K. + if ( getenv( "G4NEUTRONHP_NEGLECT_DOPPLER" ) ) + { + G4double factor = 1.0; + if ( eKinetic < aT * k_Boltzmann ) + { + // below 0.1 eV neutrons + // Have to do some, but now just igonre. + // Will take care after performance check. + // factor = factor * targetV; + } + return ( (*((*theCrossSections)(index))).GetValue(eKinetic, outOfRange) )* factor; + } + G4ReactionProduct theNeutron( aP->GetDefinition() ); theNeutron.SetMomentum( aP->GetMomentum() ); theNeutron.SetKineticEnergy( eKinetic ); @@ -99,6 +124,8 @@ GetCrossSection(const G4DynamicParticle* aP, const G4Element*anE, G4double aT) G4double theA = anE->GetN(); G4double theZ = anE->GetZ(); G4double eleMass; + + eleMass = ( G4NucleiPropertiesTable::GetNuclearMass(static_cast(theZ+eps), static_cast(theA+eps)) ) / G4Neutron::Neutron()->GetPDGMass(); @@ -130,5 +157,11 @@ GetCrossSection(const G4DynamicParticle* aP, const G4Element*anE, G4double aT) size += size; } result /= counter; +/* + // Checking impact of G4NEUTRONHP_NEGLECT_DOPPLER + G4cout << " result " << result << " " + << (*((*theCrossSections)(index))).GetValue(eKinetic, outOfRange) << " " + << (*((*theCrossSections)(index))).GetValue(eKinetic, outOfRange) /result << G4endl; +*/ return result; } diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPElasticFS.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPElasticFS.cc index 3ef8281257..d056a23bd6 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPElasticFS.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPElasticFS.cc @@ -247,7 +247,7 @@ G4cout << "unusable number for repFlag: repFlag="<GetVectorLength()); // G4cout << "Harmonise 1: "<GetEnergy(s)<<" "<GetEnergy(0)<size()!=1) throw G4HadronicException(__FILE__, __LINE__, "SampleOne: Yield not correct"); @@ -100,7 +100,7 @@ G4ReactionProductVector * G4NeutronHPEnAngCorrelation::Sample(G4double anEnergy) { theTotalMeanEnergy = anEnergy/nProducts+theProducts[i].GetQValue(); } - if(it!=NULL) + if(it!=0) { for(unsigned int ii=0; iisize(); ii++) { diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFSFissionFS.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFSFissionFS.cc index 7c1b44d363..d07b5eba8f 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFSFissionFS.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFSFissionFS.cc @@ -177,7 +177,7 @@ G4DynamicParticleVector * G4NeutronHPFSFissionFS::GetPhotons() boosted.Lorentz(theNeutron, theTarget); G4double anEnergy = boosted.GetKineticEnergy(); temp = theFinalStatePhotons.GetPhotons(anEnergy); - if(temp == NULL) return NULL; + if(temp == 0) { return 0; } // lorentz transform, and add photons to final state unsigned int i; diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFieldPoint.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFieldPoint.cc index 6b38559871..bceebb60f5 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFieldPoint.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFieldPoint.cc @@ -43,7 +43,7 @@ void G4NeutronHPFieldPoint::operator= (const G4NeutronHPFieldPoint & aSet) if(&aSet!=this) { X = aSet.GetX(); - if(Y!=NULL) delete [] Y; + delete [] Y; Y = new G4double[aSet.GetDepth()]; for(G4int i=0; iGetElement(i)->GetIndex(); - if(random<=running/sum) break; + //if(random<=running/sum) break; + if( sum == 0 || random <= running/sum ) break; } delete [] xSec; } diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionBaseFS.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionBaseFS.cc index fd1498e602..c95a77d67a 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionBaseFS.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionBaseFS.cc @@ -87,7 +87,7 @@ G4DynamicParticleVector * G4NeutronHPFissionBaseFS::ApplyYourself(G4int nPrompt) { // if therere were no data for this isotope, break out. - if(!HasFSData()) return NULL; + if(!HasFSData()) { return 0; } G4int i; G4DynamicParticleVector * aResult = new G4DynamicParticleVector; diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionData.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionData.cc index c8ce4748d2..0cd7ff490e 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionData.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionData.cc @@ -42,13 +42,13 @@ G4bool G4NeutronHPFissionData::IsApplicable(const G4DynamicParticle*aP, const G4 G4NeutronHPFissionData::G4NeutronHPFissionData() { - theCrossSections = NULL; + theCrossSections = 0; BuildPhysicsTable(*G4Neutron::Neutron()); } G4NeutronHPFissionData::~G4NeutronHPFissionData() { - if(theCrossSections!=NULL) delete theCrossSections; + delete theCrossSections; } void G4NeutronHPFissionData::BuildPhysicsTable(const G4ParticleDefinition& aP) diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionFS.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionFS.cc index 38d807e9ae..e3ea9f6991 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionFS.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPFissionFS.cc @@ -107,7 +107,7 @@ // also for mean, we rely on the consistancy of the data. @@ G4int Prompt=0, delayed=0, all=0; - G4DynamicParticleVector * theNeutrons = NULL; + G4DynamicParticleVector * theNeutrons = 0; switch(it) // check logic, and ask, if partials can be assumed to correspond to individual particles @@@ { case 0: @@ -139,18 +139,18 @@ G4double * theDecayConstants; - if(theNeutrons != NULL) + if(theNeutrons != 0) { theDecayConstants = new G4double[delayed]; G4int nPhotons = 0; - if(thePhotons!=NULL) nPhotons = thePhotons->size(); + if(thePhotons!=0) nPhotons = thePhotons->size(); for(i=0; isize(); i++) { theResult.AddSecondary(theNeutrons->operator[](i)); } delete theNeutrons; - G4DynamicParticleVector * theDelayed = NULL; + G4DynamicParticleVector * theDelayed = 0; theDelayed = theFS.ApplyYourself(0, delayed, theDecayConstants); for(i=0; isize(); i++) { @@ -170,7 +170,7 @@ if(Prompt==0&&delayed==0) Prompt=all; theNeutrons = theFS.ApplyYourself(Prompt, delayed, theDecayConstants); G4int nPhotons = 0; - if(thePhotons!=NULL) nPhotons = thePhotons->size(); + if(thePhotons!=0) nPhotons = thePhotons->size(); G4int i0; for(i0=0; i0size(); for(i=0; iGetElement(i)->GetIndex(); it = i; - if(random<=running/sum) break; + //if(random<=running/sum) break; + if( sum == 0 || random<=running/sum) break; } delete [] xSec; } diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticBaseFS.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticBaseFS.cc index 3ad94dc7d4..650e14524d 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticBaseFS.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPInelasticBaseFS.cc @@ -63,9 +63,9 @@ void G4NeutronHPInelasticBaseFS::InitGammas(G4double AR, G4double ZR) void G4NeutronHPInelasticBaseFS::Init (G4double A, G4double Z, G4String & dirName, G4String & bit) { gammaPath = "/Inelastic/Gammas/"; - if(!getenv("NeutronHPCrossSections")) - throw G4HadronicException(__FILE__, __LINE__, "Please setenv NeutronHPCrossSections to point to the neutron cross-section files."); - G4String tBase = getenv("NeutronHPCrossSections"); + if(!getenv("G4NEUTRONHPDATA")) + throw G4HadronicException(__FILE__, __LINE__, "Please setenv G4NEUTRONHPDATA to point to the neutron cross-section files."); + G4String tBase = getenv("G4NEUTRONHPDATA"); gammaPath = tBase+gammaPath; G4String tString = dirName; G4bool dbool; @@ -171,10 +171,10 @@ void G4NeutronHPInelasticBaseFS::BaseApply(const G4HadProjectile & theTrack, G4double eps = 0.0001; targetMass = ( G4NucleiPropertiesTable::GetNuclearMass(static_cast(theBaseZ+eps), static_cast(theBaseA+eps))) / G4Neutron::Neutron()->GetPDGMass(); - if(theEnergyAngData!=NULL) - targetMass = theEnergyAngData->GetTargetMass(); - if(theAngularDistribution!=NULL) - targetMass = theAngularDistribution->GetTargetMass(); + if(theEnergyAngData!=0) + { targetMass = theEnergyAngData->GetTargetMass(); } + if(theAngularDistribution!=0) + { targetMass = theAngularDistribution->GetTargetMass(); } G4Nucleus aNucleus; G4ReactionProduct theTarget; G4ThreeVector neuVelo = (1./incidentParticle->GetDefinition()->GetPDGMass())*theNeutron.GetMomentum(); @@ -217,30 +217,30 @@ void G4NeutronHPInelasticBaseFS::BaseApply(const G4HadProjectile & theTrack, } // set target and neutron in the relevant exit channel - if(theAngularDistribution!=NULL) + if(theAngularDistribution!=0) { theAngularDistribution->SetTarget(theTarget); theAngularDistribution->SetNeutron(theNeutron); } - else if(theEnergyAngData!=NULL) + else if(theEnergyAngData!=0) { theEnergyAngData->SetTarget(theTarget); theEnergyAngData->SetNeutron(theNeutron); } - G4ReactionProductVector * tmpHadrons = NULL; + G4ReactionProductVector * tmpHadrons = 0; G4int ii, dummy; unsigned int i; - if(theEnergyAngData != NULL) + if(theEnergyAngData != 0) { tmpHadrons = theEnergyAngData->Sample(eKinetic); } - else if(theAngularDistribution!= NULL) + else if(theAngularDistribution!= 0) { G4bool * Done = new G4bool[nDef]; G4int i0; for(i0=0; i0SetDefinition(theDefs[i0]); aHadron->SetKineticEnergy(theEnergyDistribution->Sample(eKinetic, dummy)); @@ -281,7 +281,7 @@ void G4NeutronHPInelasticBaseFS::BaseApply(const G4HadProjectile & theTrack, throw G4HadronicException(__FILE__, __LINE__, "No energy distribution to sample from in InelasticBaseFS::BaseApply"); } theAngularDistribution->SampleAndUpdate(*aHadron); - if(theEnergyDistribution==NULL && nDef == 2) + if(theEnergyDistribution==0 && nDef == 2) { if(i0==0) { @@ -330,15 +330,15 @@ void G4NeutronHPInelasticBaseFS::BaseApply(const G4HadProjectile & theTrack, throw G4HadronicException(__FILE__, __LINE__, "No data to create the neutrons in NInelasticFS"); } - G4ReactionProductVector * thePhotons = NULL; - if(theFinalStatePhotons!=NULL) + G4ReactionProductVector * thePhotons = 0; + if(theFinalStatePhotons!=0) { // the photon distributions are in the Nucleus rest frame. G4ReactionProduct boosted; boosted.Lorentz(theNeutron, theTarget); G4double anEnergy = boosted.GetKineticEnergy(); thePhotons = theFinalStatePhotons->GetPhotons(anEnergy); - if(thePhotons!=NULL) + if(thePhotons!=0) { for(i=0; isize(); i++) { @@ -347,7 +347,7 @@ void G4NeutronHPInelasticBaseFS::BaseApply(const G4HadProjectile & theTrack, } } } - else if(theEnergyAngData!=NULL) + else if(theEnergyAngData!=0) { G4double theGammaEnergy = theEnergyAngData->GetTotalMeanEnergy(); G4double anEnergy = boosted.GetKineticEnergy(); @@ -389,7 +389,7 @@ void G4NeutronHPInelasticBaseFS::BaseApply(const G4HadProjectile & theTrack, } theGammaEnergy += eBindProducts; - G4ReactionProductVector * theOtherPhotons = NULL; + G4ReactionProductVector * theOtherPhotons = 0; G4int iLevel; while(theGammaEnergy>=theGammas.GetLevelEnergy(0)) { @@ -409,8 +409,8 @@ void G4NeutronHPInelasticBaseFS::BaseApply(const G4HadProjectile & theTrack, if(random > (eHigh-eLow)/(theGammaEnergy-eLow)) iLevel++; theOtherPhotons = theGammas.GetDecayGammas(iLevel); } - if(thePhotons==NULL) thePhotons = new G4ReactionProductVector; - if(theOtherPhotons != NULL) + if(thePhotons==0) thePhotons = new G4ReactionProductVector; + if(theOtherPhotons != 0) { for(unsigned int ii=0; iisize(); ii++) { @@ -426,7 +426,7 @@ void G4NeutronHPInelasticBaseFS::BaseApply(const G4HadProjectile & theTrack, // fill the result unsigned int nSecondaries = tmpHadrons->size(); unsigned int nPhotons = 0; - if(thePhotons!=NULL) nPhotons = thePhotons->size(); + if(thePhotons!=0) { nPhotons = thePhotons->size(); } nSecondaries += nPhotons; G4DynamicParticle * theSec; @@ -438,7 +438,7 @@ void G4NeutronHPInelasticBaseFS::BaseApply(const G4HadProjectile & theTrack, theResult.AddSecondary(theSec); delete tmpHadrons->operator[](i); } - if(thePhotons != NULL) + if(thePhotons != 0) { for(i=0; i> total; theXsection[it]->Init(theData, total, eV); + //std::cout << theXsection[it]->GetXsec(1*MeV) << std::endl; } else if(dataType==4) { @@ -151,13 +155,15 @@ void G4NeutronHPInelasticCompFS::Init (G4double A, G4double Z, G4String & dirNam G4int G4NeutronHPInelasticCompFS::SelectExitChannel(G4double eKinetic) { + +// it = 0 has without Photon G4double running[50]; running[0] = 0; unsigned int i; for(i=0; i<50; i++) { if(i!=0) running[i]=running[i-1]; - if(theXsection[i] != NULL) + if(theXsection[i] != 0) { running[i] += std::max(0., theXsection[i]->GetXsec(eKinetic)); } @@ -181,6 +187,7 @@ G4int G4NeutronHPInelasticCompFS::SelectExitChannel(G4double eKinetic) void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack, G4ParticleDefinition * aDefinition) { + //G4cout << "G4NeutronHPInelasticCompFS::CompositeApply " << G4endl; // prepare neutron theResult.Clear(); G4double eKinetic = theTrack.GetKineticEnergy(); @@ -191,16 +198,17 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack // prepare target G4int i; - for(i=0; i<50; i++) if(theXsection[i] != NULL) break; + for(i=0; i<50; i++) + { if(theXsection[i] != 0) { break; } } G4double targetMass=0; G4double eps = 0.0001; targetMass = ( G4NucleiPropertiesTable::GetNuclearMass(static_cast(theBaseZ+eps), static_cast(theBaseA+eps))) / G4Neutron::Neutron()->GetPDGMass(); -// if(theEnergyAngData[i]!=NULL) +// if(theEnergyAngData[i]!=0) // targetMass = theEnergyAngData[i]->GetTargetMass(); -// else if(theAngularDistribution[i]!=NULL) +// else if(theAngularDistribution[i]!=0) // targetMass = theAngularDistribution[i]->GetTargetMass(); -// else if(theFinalStatePhotons[50]!=NULL) +// else if(theFinalStatePhotons[50]!=0) // targetMass = theFinalStatePhotons[50]->GetTargetMass(); G4Nucleus aNucleus; G4ReactionProduct theTarget; @@ -226,8 +234,8 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack // set target and neutron in the relevant exit channel InitDistributionInitialState(theNeutron, theTarget, it); - G4ReactionProductVector * thePhotons = NULL; - G4ReactionProductVector * theParticles = NULL; + G4ReactionProductVector * thePhotons = 0; + G4ReactionProductVector * theParticles = 0; G4ReactionProduct aHadron; aHadron.SetDefinition(aDefinition); // what if only cross-sections exist ==> Na 23 11 @@@@ G4double availableEnergy = theNeutron.GetKineticEnergy() + theNeutron.GetMass() - aHadron.GetMass() + @@ -236,22 +244,34 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack G4int dummy; G4double eGamm = 0; G4int iLevel=it-1; - if(50==it) +// TK debug 070530 (without photon has it = 0) + //if(50==it) + if( 0 == it ) { iLevel=-1; aHadron.SetKineticEnergy(availableEnergy*residualMass*G4Neutron::Neutron()->GetPDGMass()/ (aHadron.GetMass()+residualMass*G4Neutron::Neutron()->GetPDGMass())); - aHadron.SetMomentum(theNeutron.GetMomentum()*(1./theNeutron.GetTotalMomentum())* - std::sqrt(aHadron.GetTotalEnergy()*aHadron.GetTotalEnergy()- - aHadron.GetMass()*aHadron.GetMass())); + + //aHadron.SetMomentum(theNeutron.GetMomentum()*(1./theNeutron.GetTotalMomentum())* + // std::sqrt(aHadron.GetTotalEnergy()*aHadron.GetTotalEnergy()- + // aHadron.GetMass()*aHadron.GetMass())); + + G4double p2 = ( aHadron.GetTotalEnergy()*aHadron.GetTotalEnergy()-aHadron.GetMass()*aHadron.GetMass() ); + G4double p = 0.0; + if ( p2 > 0.0 ) + { + p = std::sqrt( p ); + } + aHadron.SetMomentum(theNeutron.GetMomentum()*(1./theNeutron.GetTotalMomentum())*p ); + } else { - while( iLevel!=-1 && theGammas.GetLevel(iLevel)==NULL ) iLevel--; + while( iLevel!=-1 && theGammas.GetLevel(iLevel)==0 ) { iLevel--; } } - if(theAngularDistribution[it]!= NULL) + if(theAngularDistribution[it]!= 0) { - if(theEnergyDistribution[it]!=NULL) + if(theEnergyDistribution[it]!=0) { aHadron.SetKineticEnergy(theEnergyDistribution[it]->Sample(eKinetic, dummy)); G4double eSecN = aHadron.GetKineticEnergy(); @@ -283,8 +303,9 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack } theAngularDistribution[it]->SampleAndUpdate(aHadron); - if(theFinalStatePhotons[it] == NULL) + if(theFinalStatePhotons[it] == 0) { +// TK comment Most n,n* eneter to this thePhotons = theGammas.GetDecayGammas(iLevel); eGamm -= theGammas.GetLevelEnergy(iLevel); if(eGamm>0) // @ ok for now, but really needs an efficient way of correllated sampling @ @@ -297,12 +318,12 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack theRestEnergy->SetMomentum(eGamm*std::sin(std::acos(costh))*std::cos(phi), eGamm*std::sin(std::acos(costh))*std::sin(phi), eGamm*costh); - if(thePhotons == NULL) thePhotons = new G4ReactionProductVector; + if(thePhotons == 0) { thePhotons = new G4ReactionProductVector; } thePhotons->push_back(theRestEnergy); } } } - else if(theEnergyAngData[it] != NULL) + else if(theEnergyAngData[it] != 0) { theParticles = theEnergyAngData[it]->Sample(eKinetic); } @@ -311,7 +332,14 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack // @@@ what to do, if we have photon data, but no info on the hadron itself nothingWasKnownOnHadron = 1; } - if(theFinalStatePhotons[it]!=NULL) + //G4cout << "theFinalStatePhotons it " << it << G4endl; + //G4cout << "theFinalStatePhotons[it] " << theFinalStatePhotons[it] << G4endl; +// TK 070530 + if ( it != 0 ) it = 50; // it 50 has final state data for photon MF13 cross and MF14 ang + //G4cout << "theFinalStatePhotons it " << it << G4endl; + //G4cout << "theFinalStatePhotons[it] " << theFinalStatePhotons[it] << G4endl; + //G4cout << "thePhotons " << thePhotons << G4endl; + if(theFinalStatePhotons[it]!=0) { // the photon distributions are in the Nucleus rest frame. G4ReactionProduct boosted; @@ -320,7 +348,8 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack thePhotons = theFinalStatePhotons[it]->GetPhotons(anEnergy); G4double aBaseEnergy = theFinalStatePhotons[it]->GetLevelEnergy(); G4double testEnergy = 0; - if(thePhotons!=NULL && thePhotons->size()!=0) aBaseEnergy-=thePhotons->operator[](0)->GetTotalEnergy(); + if(thePhotons!=0 && thePhotons->size()!=0) + { aBaseEnergy-=thePhotons->operator[](0)->GetTotalEnergy(); } if(theFinalStatePhotons[it]->NeedsCascade()) { while(aBaseEnergy>0.01*keV) @@ -331,7 +360,7 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack G4double deltaEold = -1; for(G4int i=1; iGetLevelEnergy(); } @@ -350,7 +379,7 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack foundMatchingLevel = true; break; // ===> } - if(theFinalStatePhotons[i]!=NULL && ( deltaEsize(); i0++) { @@ -376,10 +405,11 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack thePhotons->operator[](i0)->Lorentz(*(thePhotons->operator[](i0)), -1.*theTarget); } } + //G4cout << "nothingWasKnownOnHadron " << nothingWasKnownOnHadron << G4endl; if(nothingWasKnownOnHadron) { G4double totalPhotonEnergy = 0; - if(thePhotons!=NULL) + if(thePhotons!=0) { unsigned int nPhotons = thePhotons->size(); unsigned int i0; @@ -396,8 +426,16 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack G4double SinTheta = std::sqrt(1.0 - CosTheta*CosTheta); G4double Phi = twopi*G4UniformRand(); G4ThreeVector Vector(std::cos(Phi)*SinTheta, std::sin(Phi)*SinTheta, CosTheta); - aHadron.SetMomentum(Vector* std::sqrt(aHadron.GetTotalEnergy()*aHadron.GetTotalEnergy()- - aHadron.GetMass()*aHadron.GetMass())); + //aHadron.SetMomentum(Vector* std::sqrt(aHadron.GetTotalEnergy()*aHadron.GetTotalEnergy()- + // aHadron.GetMass()*aHadron.GetMass())); + G4double p2 = aHadron.GetTotalEnergy()*aHadron.GetTotalEnergy()- aHadron.GetMass()*aHadron.GetMass(); + + G4double p = 0.0; + if ( p2 > 0.0 ) + p = std::sqrt ( p2 ); + + aHadron.SetMomentum( Vector*p ); + } // fill the result @@ -413,7 +451,7 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack G4int totalBaryonNumber = 0; G4int totalCharge = 0; G4ThreeVector totalMomentum(0); - if(theParticles != NULL) + if(theParticles != 0) { nSecondaries = theParticles->size(); G4ParticleDefinition * aDef; @@ -437,12 +475,12 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack } G4int nPhotons = 0; - if(thePhotons!=NULL) nPhotons = thePhotons->size(); + if(thePhotons!=0) { nPhotons = thePhotons->size(); } nSecondaries += nPhotons; G4DynamicParticle * theSec; - if( theParticles==NULL ) + if( theParticles==0 ) { theSec = new G4DynamicParticle; theSec->SetDefinition(aHadron.GetDefinition()); @@ -457,7 +495,7 @@ void G4NeutronHPInelasticCompFS::CompositeApply(const G4HadProjectile & theTrack theResidual.SetMomentum(-1.*aHadron.GetMomentum()); theResidual.Lorentz(theResidual, -1.*theTarget); G4ThreeVector totalPhotonMomentum(0,0,0); - if(thePhotons!=NULL) + if(thePhotons!=0) { for(i=0; iclearAndDestroy(); } delete theCrossSections; } @@ -55,7 +63,10 @@ void G4NeutronHPInelasticData::BuildPhysicsTable(const G4ParticleDefinition& aP) if(&aP!=G4Neutron::Neutron()) throw G4HadronicException(__FILE__, __LINE__, "Attempt to use NeutronHP data for particles other than neutrons!!!"); size_t numberOfElements = G4Element::GetNumberOfElements(); - theCrossSections = new G4PhysicsTable( numberOfElements ); +// theCrossSections = new G4PhysicsTable( numberOfElements ); +// TKDB + if ( theCrossSections == 0 ) + { theCrossSections = new G4PhysicsTable( numberOfElements ); } // make a PhysicsVector for each element @@ -86,6 +97,21 @@ GetCrossSection(const G4DynamicParticle* aP, const G4Element*anE, G4double aT) // prepare neutron G4double eKinetic = aP->GetKineticEnergy(); + + // T. K. + if ( getenv( "G4NEUTRONHP_NEGLECT_DOPPLER" ) ) + { + G4double factor = 1.0; + if ( eKinetic < aT * k_Boltzmann ) + { + // below 0.1 eV neutrons + // Have to do some, but now just igonre. + // Will take care after performance check. + // factor = factor * targetV; + } + return ( (*((*theCrossSections)(index))).GetValue(eKinetic, outOfRange) )* factor; + } + G4ReactionProduct theNeutron( aP->GetDefinition() ); theNeutron.SetMomentum( aP->GetMomentum() ); theNeutron.SetKineticEnergy( eKinetic ); @@ -141,5 +167,11 @@ GetCrossSection(const G4DynamicParticle* aP, const G4Element*anE, G4double aT) size += size; } result /= counter; +/* + // Checking impact of G4NEUTRONHP_NEGLECT_DOPPLER + G4cout << " result " << result << " " + << (*((*theCrossSections)(index))).GetValue(eKinetic, outOfRange) << " " + << (*((*theCrossSections)(index))).GetValue(eKinetic, outOfRange) /result << G4endl; +*/ return result; } diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPIsoData.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPIsoData.cc index 2c2b6685d1..8fca303cd9 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPIsoData.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPIsoData.cc @@ -32,7 +32,7 @@ G4bool G4NeutronHPIsoData::Init(G4int A, G4int Z, G4double abun, G4String dirName, G4String aFSType) { - theChannelData = NULL; + theChannelData = 0; G4double abundance = abun/100.; G4String filename; G4bool result = true; @@ -69,9 +69,9 @@ void G4NeutronHPIsoData::Init(G4int A, G4int Z, G4double abun) //fill PhysicsVector for this Isotope { G4String dirName; - if(!getenv("NeutronHPCrossSections")) - throw G4HadronicException(__FILE__, __LINE__, "Please setenv NeutronHPCrossSections to point to the neutron cross-section files."); - G4String baseName = getenv("NeutronHPCrossSections"); + if(!getenv("G4NEUTRONHPDATA")) + throw G4HadronicException(__FILE__, __LINE__, "Please setenv G4NEUTRONHPDATA to point to the neutron cross-section files."); + G4String baseName = getenv("G4NEUTRONHPDATA"); dirName = baseName+"/Fission"; if(Z>89) { @@ -82,32 +82,32 @@ theChannelData = new G4NeutronHPVector; } theFissionData = theChannelData; - theChannelData = NULL; // fast fix for double delete; revisit later. @@@@@@@ + theChannelData = 0; // fast fix for double delete; revisit later. @@@@@@@ dirName = baseName+"/Capture"; Init(A, Z, abun, dirName, "/CrossSection/"); theCaptureData = theChannelData; - theChannelData = NULL; + theChannelData = 0; dirName = baseName+"/Elastic"; Init(A, Z, abun, dirName, "/CrossSection/"); theElasticData = theChannelData; - theChannelData = NULL; + theChannelData = 0; dirName = baseName+"/Inelastic"; Init(A, Z, abun, dirName, "/CrossSection/"); theInelasticData = theChannelData; - theChannelData = NULL; + theChannelData = 0; -// if(theInelasticData!=NULL) G4cout << "Inelastic Data Statistics: "<GetVectorLength()<GetVectorLength()<GetVectorLength()<GetVectorLength()<GetVectorLength()<GetVectorLength()<GetVectorLength()<GetVectorLength()<Dump(); +// if(theInelasticData!=0) theInelasticData->Dump(); // G4cout << "Elastic data"<Dump(); +// if(theElasticData!=0) theElasticData->Dump(); // G4cout << "Capture data"<Dump(); +// if(theCaptureData!=0) theCaptureData->Dump(); // G4cout << "Fission data"<Dump(); +// if(theFissionData!=0) theFissionData->Dump(); } diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPJENDLHEData.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPJENDLHEData.cc index 014f20d6e9..242e18926a 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPJENDLHEData.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPJENDLHEData.cc @@ -84,7 +84,7 @@ void G4NeutronHPJENDLHEData::BuildPhysicsTable( const G4ParticleDefinition& aP ) // throw G4HadronicException(__FILE__, __LINE__, "Attempt to use NeutronHP data for particles other than neutrons!!!"); particleName = aP.GetParticleName(); - G4String baseName = getenv( "NeutronHPCrossSections" ); + G4String baseName = getenv( "G4NEUTRONHPDATA" ); G4String dirName = baseName+"/JENDL_HE/"+particleName+"/"+reactionName ; G4String aFSType = "/CrossSection/"; G4NeutronHPNames theNames; diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPLevel.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPLevel.cc index 6c9031d9c8..8f993e8bd0 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPLevel.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPLevel.cc @@ -32,7 +32,7 @@ G4NeutronHPLevel::~G4NeutronHPLevel() { - if(theGammas != NULL) + if(theGammas != 0) { for(G4int i=0; i92 are not provided"); } - G4String * theName = NULL; + + G4String * theName = 0; G4String theFileName(""); - G4int inc = 1; + +// G4int inc = 1; + + G4int flip_Z = 1; + G4int delta_Z = 0; + + G4int flip_A = 1; + G4int delta_A = 0; std::ifstream * check = new std::ifstream(".dummy"); G4bool first = true; if(getenv("NeutronHPNames")) G4cout << "entered GetName!!!"<close(); - delete check; - check = 0; - aFlag = false; - if(first) - { - aFlag = true; - first = false; - biff = new G4String(); // delete here as theName - *biff = base+"/"+"CrossSection/"+itoa(myZ)+"_"+"nat"+"_"+theString[myZ-1]; - if(theName!=NULL) delete theName; - theName = biff; -if(getenv("NeutronHPNames")) G4cout <<"HPWD 2 "<<*theName<close(); + delete check; + } + check = new std::ifstream(*theName); + if ( !(*check) ) + { + check->close(); + delete check; + check = 0; + aFlag = false; + if ( first ) { - check->close(); - delete check; - check = 0; - aFlag = false; + aFlag = true; + first = false; + biff = new G4String(); // delete here as theName + *biff = base+"/"+"CrossSection/"+itoa(myZ)+"_"+"nat"+"_"+theString[myZ-1]; + if(theName!=0) delete theName; + theName = biff; +if(getenv("NeutronHPNames")) G4cout <<"HPWD 2 "<<*theName<close(); + delete check; + check = 0; + aFlag = false; + } + else + { + biff = new G4String(); // delete here as theName + if(theName!=0) delete theName; + *biff = base+"/"+rest+itoa(myZ)+"_"+"nat"+"_"+theString[myZ-1]; + theName = biff; +if(getenv("NeutronHPNames")) G4cout <<"HPWD 3 "<<*theName<theMaxOffSet||myZ==0||myA==0) + if ( delta_Z > theMaxOffSet ) + { + //if ( inc > 0 ) + //{ + // inc*= -1; + // myZ = Z; + // myA = A; + //} + //else + //{ + G4cout <<"G4NeutronHPNames: Sorry, this material does not come near to any data."< theMaxOffSet ) + if ( delta_A > 2*theMaxOffSet ) + { + delta_A = 0; + flip_A = 1; + + first = true; + + if ( flip_Z > 0 ) + { + delta_Z +=1; + } + myZ = Z + flip_Z * delta_Z; + flip_Z *= -1; + + myA = A; + if ( myZ > 99 ) + { + myZ = 99; + } + if ( myZ < 1 ) + { + myZ = 1; + } + +// myZ += inc; } else { - biff = new G4String(); // delete here as theName - if(theName!=NULL) delete theName; - *biff = base+"/"+rest+itoa(myZ)+"_"+"nat"+"_"+theString[myZ-1]; - theName = biff; -if(getenv("NeutronHPNames")) G4cout <<"HPWD 3 "<<*theName< 0 ) + { + delta_A += 1; + } + myA = A + flip_A * delta_A; + flip_A *= -1; + + if ( myA < 1 ) + { + myA = 1; + } + +// myA += inc; } - } - } - else - { - biff = new G4String(); // delete here as theName - *biff = base+"/"+rest+itoa(myZ)+"_"+itoa(myA)+"_"+theString[myZ-1]; - if(theName!=NULL) delete theName; - theName = biff; -if(getenv("NeutronHPNames")) G4cout <<"HPWD 4 "<<*theName<theMaxOffSet||myZ==0||myA==0) - if(inc>0) - { - inc*= -1; - myZ = Z; - myA = A; - }else{ - G4cout <<"G4NeutronHPNames: Sorry, this material does not come near to any data."<theMaxOffSet) - { - first = true; - myA = A; - myZ+=inc; - }else{ - myA+=inc; - } - } - while(myZ==0 || myA==0); + + } + while( myZ == 0 || myA == 0 ); // No meaning + } while((!check) || (!(*check))); + if(getenv("NeutronHPNamesLogging") || getenv("NeutronHPNames")) { G4cout << "Names::GetName: last theName proposal = "<< G4endl; G4cout << *theName <<" "< + G4bool G4NeutronHPPhotonDist::InitMean(std::ifstream & aDataFile) { G4bool result = true; @@ -179,6 +187,7 @@ void G4NeutronHPPhotonDist::InitEnergies(std::ifstream & aDataFile) void G4NeutronHPPhotonDist::InitPartials(std::ifstream & aDataFile) { + //G4cout << "G4NeutronHPPhotonDist::InitPartials " << G4endl; aDataFile >> nDiscrete >> targetMass; if(nDiscrete != 1) { @@ -197,11 +206,18 @@ void G4NeutronHPPhotonDist::InitPartials(std::ifstream & aDataFile) theShells[i]*=eV; thePartialXsec[i].Init(aDataFile, eV); } + + //G4cout << "G4NeutronHPPhotonDist::InitPartials Test " << G4endl; + //G4cout << "G4NeutronHPPhotonDist::InitPartials nDiscrete " << nDiscrete << G4endl; + //G4NeutronHPVector* aHP = new G4NeutronHPVector; + //aHP->Check(1); } G4ReactionProductVector * G4NeutronHPPhotonDist::GetPhotons(G4double anEnergy) { - // the partial cross-section case is not in this yet. @@@@ + + //G4cout << "G4NeutronHPPhotonDist::GetPhotons repFlag " << repFlag << G4endl; + // the partial cross-section case is not in this yet. @@@@ << 070601 TK add partial G4int i, ii, iii; G4int nSecondaries = 0; G4ReactionProductVector * thePhotons = new G4ReactionProductVector; @@ -223,6 +239,7 @@ G4ReactionProductVector * G4NeutronHPPhotonDist::GetPhotons(G4double anEnergy) } nSecondaries += actualMult[i]; } + //G4cout << "nSecondaries " << nSecondaries << " anEnergy " << anEnergy/eV << G4endl; for(i=0;ipush_back(theOne); } G4int count=0; + +/* +G4double totalCascadeEnergy = 0.; +G4double lastCascadeEnergy = 0.; +G4double eGamm = 0; +G4int maxEnergyIndex = 0; +*/ + //Gcout << "nDiscrete " << nDiscrete << " nPartials " << nPartials << G4endl; +//3456 + if ( nDiscrete == 1 && nPartials == 1 ) + { + if ( actualMult[ 0 ] > 0 ) + { + if ( disType[0] == 1 ) // continuum + { + +/* + for(ii=0; ii< actualMult[0]; ii++) + { + + G4double sum=0, run=0; + for(iii=0; iiiGetY(anEnergy); //@@@ look at, seems fishy + // Looking for TotalCascdeEnergy or LastMaxEnergy + if (ii == 0) + { + maxEnergyIndex = temp->GetVectorLength()-1; + totalCascadeEnergy = temp->GetX(maxEnergyIndex); + lastCascadeEnergy = totalCascadeEnergy; + } + lastCascadeEnergy -= eGamm; + if (ii != actualMult[i]-1) eGamm = temp->SampleWithMax(lastCascadeEnergy); + else eGamm = lastCascadeEnergy; + thePhotons->operator[](count)->SetKineticEnergy(eGamm); + delete temp; + + } +*/ + G4NeutronHPVector * temp; + temp = partials[ 0 ]->GetY(anEnergy); //@@@ look at, seems fishy + G4double maximumE = temp->GetX( temp->GetVectorLength()-1 ); // This is an assumption. + + //G4cout << "start " << actualMult[ 0 ] << " maximumE " << maximumE/eV << G4endl; + + std::vector< G4double > photons_e_best( actualMult[ 0 ] , 0.0 ); + G4double best = DBL_MAX; + G4int maxTry = 1000; + for ( G4int j = 0 ; j < maxTry ; j++ ) + { + std::vector< G4double > photons_e( actualMult[ 0 ] , 0.0 ); + for ( std::vector< G4double >::iterator + it = photons_e.begin() ; it < photons_e.end() ; it++ ) + { + *it = temp->Sample(); + } + if ( std::accumulate( photons_e.begin() , photons_e.end() , 0.0 ) > maximumE ) + { + if ( std::accumulate( photons_e.begin() , photons_e.end() , 0.0 ) < best ) + photons_e_best = photons_e; + continue; + } + else + { + for ( std::vector< G4double >::iterator + it = photons_e.begin() ; it < photons_e.end() ; it++ ) + { + thePhotons->operator[](count)->SetKineticEnergy( *it ); + } + //G4cout << "OK " << actualMult[0] << " j " << j << " total photons E " + // << std::accumulate( photons_e.begin() , photons_e.end() , 0.0 )/eV << " ratio " << std::accumulate( photons_e.begin() , photons_e.end() , 0.0 ) / maximumE + // << G4endl; + + break; + } + G4cout << "NeutronHPPhotonDist could not find fitted energy set for multiplicity of " << actualMult[0] << "." << G4endl; + G4cout << "NeutronHPPhotonDist will use the best set." << G4endl; + for ( std::vector< G4double >::iterator + it = photons_e_best.begin() ; it < photons_e_best.end() ; it++ ) + { + thePhotons->operator[](count)->SetKineticEnergy( *it ); + } + //G4cout << "Not Good " << actualMult[0] << " j " << j << " total photons E " + // << best/eV << " ratio " << best / maximumE + // << G4endl; + } + // TKDB + delete temp; + } + else // discrete + { + thePhotons->operator[](count)->SetKineticEnergy(energy[i]); + } + count++; + if(count > nSecondaries) throw G4HadronicException(__FILE__, __LINE__, "G4NeutronHPPhotonDist::GetPhotons inconsistancy"); + } + + } + else + { for(i=0; i nSecondaries) throw G4HadronicException(__FILE__, __LINE__, "G4NeutronHPPhotonDist::GetPhotons inconsistancy"); } } + } // now do the angular distributions... if( isoFlag == 1) { @@ -435,10 +563,137 @@ G4ReactionProductVector * G4NeutronHPPhotonDist::GetPhotons(G4double anEnergy) } thePhotons->push_back(theOne); } + else if( repFlag==0 ) + { + +// TK add + if ( thePartialXsec == 0 ) + { + //G4cout << "repFlag is 0, but no PartialXsec data" << G4endl; + //G4cout << "This is not support yet." << G4endl; + return thePhotons; + } + +// Partial Case + + G4ReactionProduct * theOne = new G4ReactionProduct; + theOne->SetDefinition( G4Gamma::Gamma() ); + thePhotons->push_back( theOne ); + +// Energy + + //G4cout << "Partial Case nDiscrete " << nDiscrete << G4endl; + G4double sum = 0.0; + std::vector < G4double > dif( nDiscrete , 0.0 ); + for ( G4int i = 0 ; i < nDiscrete ; i++ ) + { + G4double x = thePartialXsec[ i ].GetXsec( anEnergy ); // x in barn + if ( x > 0 ) + { + sum += x; + } + dif [ i ] = sum; + //G4cout << "i " << i << ", x " << x << ", dif " << dif [ i ] << G4endl; + } + + G4double rand = G4UniformRand(); + + G4int iphoton = 0; + for ( G4int i = 0 ; i < nDiscrete ; i++ ) + { + G4double y = rand*sum; + if ( dif [ i ] > y ) + { + iphoton = i; + break; + } + } + //G4cout << "iphoton " << iphoton << G4endl; + //G4cout << "photon energy " << theGammas[ iphoton ] /eV << G4endl; + +// Angle + G4double cosTheta = 0.0; // mu + + if ( isoFlag == 1 ) + { + +// Isotropic Case + + cosTheta = 2.*G4UniformRand()-1; + + } + else + { + + if ( iphoton < nIso ) + { + +// still Isotropic + + cosTheta = 2.*G4UniformRand()-1; + + } + else + { + + //G4cout << "Not Isotropic and isoFlag " << isoFlag << G4endl; + //G4cout << "tabulationType " << tabulationType << G4endl; + //G4cout << "nDiscrete2 " << nDiscrete2 << G4endl; + //G4cout << "nIso " << nIso << G4endl; + //G4cout << "size of nNeu " << nDiscrete2-nIso << G4endl; + //G4cout << "nNeu[iphoton-nIso] " << nNeu[iphoton-nIso] << G4endl; + + if ( tabulationType == 1 ) + { +// legendre polynomials + + G4int iangle = 0; + for ( G4int j = 0 ; j < nNeu [ iphoton - nIso ] ; j++ ) + { + iangle = j; + if ( theLegendre[ iphoton - nIso ][ j ].GetEnergy() > anEnergy ) break; + } + + G4NeutronHPLegendreStore aStore( 2 ); + aStore.SetCoeff( 1 , &( theLegendre[ iphoton - nIso ][ iangle ] ) ); + aStore.SetCoeff( 0 , &( theLegendre[ iphoton - nIso ][ iangle - 1 ] ) ); + + cosTheta = aStore.SampleMax( anEnergy ); + + } + else if ( tabulationType == 2 ) + { + +// tabulation of probabilities. + + G4int iangle = 0; + for ( G4int j = 0 ; j < nNeu [ iphoton - nIso ] ; j++ ) + { + iangle = j; + if ( theAngular[ iphoton - nIso ][ j ].GetEnergy() > anEnergy ) break; + } + + cosTheta = theAngular[iphoton-nIso][ iangle ].GetCosTh(); // no interpolation yet @@ + + } + } + } + +// Set + G4double phi = twopi*G4UniformRand(); + G4double theta = std::acos( cosTheta ); + G4double sinTheta = std::sin( theta ); + + G4double photonE = theGammas[ iphoton ]; + G4ThreeVector direction ( sinTheta*std::cos( phi ) , sinTheta * std::sin( phi ) , cosTheta ); + G4ThreeVector photonP = photonE * direction; + thePhotons->operator[]( 0 )->SetMomentum( photonP ) ; + + } else { delete thePhotons; - thePhotons = NULL; // no gamma data available; some work needed @@@@@@@ + thePhotons = 0; // no gamma data available; some work needed @@@@@@@ } return thePhotons; } diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPProduct.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPProduct.cc index cbaacd4e85..4deabea7e2 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPProduct.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPProduct.cc @@ -32,7 +32,7 @@ G4ReactionProductVector * G4NeutronHPProduct::Sample(G4double anEnergy) { - if(theDist == NULL) return NULL; + if(theDist == 0) { return 0; } G4ReactionProductVector * result = new G4ReactionProductVector; G4double mean = theYield.GetY(anEnergy); G4int multi; @@ -48,7 +48,7 @@ G4ReactionProductVector * G4NeutronHPProduct::Sample(G4double anEnergy) for(i=0;iSample(anEnergy, theMassCode, theMass); - if(tmp != NULL) result->push_back(tmp); + if(tmp != 0) { result->push_back(tmp); } } if(multi == 0) { @@ -59,7 +59,7 @@ G4ReactionProductVector * G4NeutronHPProduct::Sample(G4double anEnergy) { tmp = theDist->Sample(anEnergy, theMassCode, theMass); tmp->SetDefinition(G4Proton::Proton()); - if(tmp != NULL) result->push_back(tmp); + if(tmp != 0) { result->push_back(tmp); } } return result; } diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPThermalScattering.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPThermalScattering.cc index e8cf72793c..b168c1ef68 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPThermalScattering.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPThermalScattering.cc @@ -66,9 +66,9 @@ G4NeutronHPThermalScattering::G4NeutronHPThermalScattering() G4String dirName; - if ( !getenv("NeutronHPCrossSections") ) - throw G4HadronicException(__FILE__, __LINE__, "Please setenv NeutronHPCrossSections to point to the neutron cross-section files."); - dirName = getenv("NeutronHPCrossSections"); + if ( !getenv("G4NEUTRONHPDATA") ) + throw G4HadronicException(__FILE__, __LINE__, "Please setenv G4NEUTRONHPDATA to point to the neutron cross-section files."); + dirName = getenv("G4NEUTRONHPDATA"); // Read data @@ -336,8 +336,8 @@ G4HadFinalState* G4NeutronHPThermalScattering::ApplyYourself(const G4HadProjecti // // For T_L aNEP_EPM_TL and T_H aNEP_EPM_TH // - std::vector< E_P_E_isoAng* >* vNEP_EPM_TL = NULL; - std::vector< E_P_E_isoAng* >* vNEP_EPM_TH = NULL; + std::vector< E_P_E_isoAng* >* vNEP_EPM_TL = 0; + std::vector< E_P_E_isoAng* >* vNEP_EPM_TH = 0; if ( tempLH.first != 0.0 && tempLH.second != 0.0 ) { @@ -415,8 +415,8 @@ G4HadFinalState* G4NeutronHPThermalScattering::ApplyYourself(const G4HadProjecti // // For T_L anEPM_TL and T_H anEPM_TH // - std::vector< std::pair< G4double , G4double >* >* pvE_p_TL = NULL; - std::vector< std::pair< G4double , G4double >* >* pvE_p_TH = NULL; + std::vector< std::pair< G4double , G4double >* >* pvE_p_TL = 0; + std::vector< std::pair< G4double , G4double >* >* pvE_p_TH = 0; if ( tempLH.first != 0.0 && tempLH.second != 0.0 ) { @@ -663,8 +663,8 @@ E_isoAng G4NeutronHPThermalScattering::create_E_isoAng_from_energy ( G4double en std::pair < G4double , G4double > energyLH = find_LH ( energy , &v_e ); //std::cout << " " << energy/eV << " " << energyLH.first/eV << " " << energyLH.second/eV << std::endl; - E_isoAng* panEPM_T_EL=NULL; - E_isoAng* panEPM_T_EH=NULL; + E_isoAng* panEPM_T_EL=0; + E_isoAng* panEPM_T_EH=0; if ( energyLH.first != 0.0 && energyLH.second != 0.0 ) { @@ -778,8 +778,8 @@ std::pair< G4double , E_isoAng > G4NeutronHPThermalScattering::create_sE_and_EPM std::pair < G4double , G4double > energyLH = find_LH ( pE , &v_energy ); - E_P_E_isoAng* pE_P_E_isoAng_EL = NULL; - E_P_E_isoAng* pE_P_E_isoAng_EH = NULL; + E_P_E_isoAng* pE_P_E_isoAng_EL = 0; + E_P_E_isoAng* pE_P_E_isoAng_EH = 0; if ( energyLH.first != 0.0 && energyLH.second != 0.0 ) { diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPThermalScatteringData.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPThermalScatteringData.cc index f9835b9c58..0b92efb7f7 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPThermalScatteringData.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPThermalScatteringData.cc @@ -122,9 +122,9 @@ void G4NeutronHPThermalScatteringData::BuildPhysicsTable(const G4ParticleDefinit // Read Cross Section Data files G4String dirName; - if ( !getenv( "NeutronHPCrossSections" ) ) - throw G4HadronicException(__FILE__, __LINE__, "Please setenv NeutronHPCrossSections to point to the neutron cross-section files."); - G4String baseName = getenv( "NeutronHPCrossSections" ); + if ( !getenv( "G4NEUTRONHPDATA" ) ) + throw G4HadronicException(__FILE__, __LINE__, "Please setenv G4NEUTRONHPDATA to point to the neutron cross-section files."); + G4String baseName = getenv( "G4NEUTRONHPDATA" ); dirName = baseName + "/ThermalScattering"; diff --git a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPVector.cc b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPVector.cc index 48a5f528d0..ea9b3c0f6e 100644 --- a/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPVector.cc +++ b/source/processes/hadronic/models/neutron_hp/src/G4NeutronHPVector.cc @@ -26,6 +26,9 @@ // neutron_hp -- source file // J.P. Wellisch, Nov-1996 // A prototype of the low energy neutron transport model. +// +// 070523 bug fix for G4FPE_DEBUG on by A. Howard ( and T. Koi) +// #include "G4NeutronHPVector.hh" // if the ranges do not match, constant extrapolation is used. @@ -47,7 +50,9 @@ result->SetData(running++, x, y); j++; } - else if(std::abs((right.GetX(j)-left.GetX(i))/(left.GetX(i)+right.GetX(j)))>0.001) + //else if(std::abs((right.GetX(j)-left.GetX(i))/(left.GetX(i)+right.GetX(j)))>0.001) + else if( left.GetX(i)+right.GetX(j) == 0 + || std::abs((right.GetX(j)-left.GetX(i))/(left.GetX(i)+right.GetX(j))) > 0.001 ) { x = left.GetX(i); y = left.GetY(i)+right.GetY(x); @@ -76,7 +81,7 @@ nPoints=20; nEntries=0; Verbose=0; - theIntegral=NULL; + theIntegral=0; totalIntegral=-1; isFreed = 0; maxValue = -DBL_MAX; @@ -92,7 +97,7 @@ theData = new G4NeutronHPDataPoint[nPoints]; nEntries=0; Verbose=0; - theIntegral=NULL; + theIntegral=0; totalIntegral=-1; isFreed = 0; maxValue = -DBL_MAX; @@ -103,12 +108,9 @@ G4NeutronHPVector::~G4NeutronHPVector() { // if(Verbose==1)G4cout <<"G4NeutronHPVector::~G4NeutronHPVector"<e) break; + //if(theData[i].GetX()>e) break; + if(theData[i].GetX() >= e) break; } G4int low = i-1; G4int high = i; @@ -164,7 +167,9 @@ if(eGetEnergy(p); - if( std::abs(std::abs(xp-xa)/xa)<0.0000001&&aGetVectorLength() ) + //if( std::abs(std::abs(xp-xa)/xa)<0.0000001&&aGetVectorLength() ) + if ( xa != 0 + && std::abs(std::abs(xp-xa)/xa) < 0.0000001 + && a < active->GetVectorLength() ) { p++; tmp = active; t=a; @@ -253,7 +261,9 @@ anX = passive->GetXsec(p)-deltaX; if(anX>0) { - if(std::abs(GetEnergy(m-1)-passive->GetEnergy(p))/passive->GetEnergy(p)>0.0000001) + //if(std::abs(GetEnergy(m-1)-passive->GetEnergy(p))/passive->GetEnergy(p)>0.0000001) + if ( passive->GetEnergy(p) == 0 + || std::abs(GetEnergy(m-1)-passive->GetEnergy(p))/passive->GetEnergy(p) > 0.0000001 ) { SetData(m, passive->GetEnergy(p), anX); theManager.AppendScheme(m++, passive->GetScheme(p)); @@ -352,7 +362,7 @@ } else { - if(theIntegral==NULL) IntegrateAndNormalise(); + if(theIntegral==0) { IntegrateAndNormalise(); } do { G4double value, test, baseline; @@ -365,7 +375,8 @@ test = GetY(value)/maxValue; rand = G4UniformRand(); } - while(test 0 ); result = value; } while(IsBlocked(result)); @@ -384,7 +395,7 @@ } else { - if(theIntegral==NULL) IntegrateAndNormalise(); + if(theIntegral==0) { IntegrateAndNormalise(); } G4int i; result = theData[GetVectorLength()-1].GetX(); for(i=0;iGetDefinition()->GetPDGMass(); // With de-excitation - G4double M0projectile = Pprojectile.mag(); // Without de-excitation +// With de-excitation +// G4double M0projectile=projectile->GetDefinition()->GetPDGMass(); +// Without de-excitation + G4double M0projectile = Pprojectile.mag(); if(M0projectile < projectile->GetDefinition()->GetPDGMass()) { @@ -77,26 +81,35 @@ G4bool G4DiffractiveExcitation:: G4int PDGcode=projectile->GetDefinition()->GetPDGEncoding(); G4int absPDGcode=std::abs(PDGcode); G4double ProjectileDiffCut; + G4double ProjectileBackgroundWeight; // Uzhi May 2007 + + G4double TargetBackgroundWeight; // Uzhi May 2007 + G4double AveragePt2; if( absPDGcode > 1000 ) //------Projectile is baryon -------- { ProjectileDiffCut = 1.1; // GeV + ProjectileBackgroundWeight=0.; // Uzhi May 2007 AveragePt2 = 0.3; // GeV^2 } else if( absPDGcode == 211 || PDGcode == 111) //------Projectile is Pion ----------- { - ProjectileDiffCut = 1.0; // GeV + ProjectileDiffCut = 0.6; // GeV Uzhi May 2007 1.0->0.6 + ProjectileBackgroundWeight=0.9; // Uzhi May 2007 AveragePt2 = 0.3; // GeV^2 } else if( absPDGcode == 321 || PDGcode == -311) //------Projectile is Kaon ----------- { - ProjectileDiffCut = 1.1; // GeV + ProjectileDiffCut = 0.7; // GeV 1.1 + ProjectileBackgroundWeight=0.5; // Uzhi May 2007 ??? AveragePt2 = 0.3; // GeV^2 } - else //------Projectile is undefined, Nucleon assumed + else //------Projectile is undefined, + //------Nucleon assumed { ProjectileDiffCut = 1.1; // GeV + ProjectileBackgroundWeight=0.; // Uzhi May 2007 AveragePt2 = 0.3; // GeV^2 }; @@ -114,9 +127,11 @@ G4bool G4DiffractiveExcitation:: M0target=target->GetDefinition()->GetPDGMass(); } - G4double Mtarget2 = M0target * M0target; //Ptarget.mag2(); // for AA-inter. + G4double Mtarget2 = M0target * M0target; //Ptarget.mag2(); + // for AA-inter. G4double NuclearNucleonDiffCut = 1.1*GeV; + TargetBackgroundWeight=0.; // Uzhi May 2007 G4double ProjectileDiffCut2 = ProjectileDiffCut * ProjectileDiffCut; G4double NuclearNucleonDiffCut2 = NuclearNucleonDiffCut * NuclearNucleonDiffCut; @@ -154,8 +169,20 @@ G4bool G4DiffractiveExcitation:: G4double S=Psum.mag2(); G4double SqrtS=std::sqrt(S); - if(SqrtS < 2200*MeV) {return false;} // The model cannot work for pp-interactions - // at Plab < 1.3 GeV/c. Uzhi + if(absPDGcode > 1000 && SqrtS < 2200*MeV) + {return false;} // The model cannot work for + // p+p-interactions + // at Plab < 1.3 GeV/c. + + if(( absPDGcode == 211 || PDGcode == 111) && SqrtS < 1600*MeV) + {return false;} // The model cannot work for + // Pi+p-interactions + // at Plab < 1. GeV/c. + + if(( absPDGcode == 321 || PDGcode == -311) && SqrtS < 1600*MeV) + {return false;} // The model cannot work for + // K+p-interactions + // at Plab < ??? GeV/c. ??? PZcms2=(S*S+Mprojectile2*Mprojectile2+Mtarget2*Mtarget2- 2*S*Mprojectile2-2*S*Mtarget2-2*Mprojectile2*Mtarget2)/4./S; @@ -201,7 +228,6 @@ G4bool G4DiffractiveExcitation:: G4LorentzVector Qmomentum; G4double Qminus, Qplus; -// /* Vova G4int whilecount=0; do { // Generate pt @@ -254,13 +280,31 @@ G4bool G4DiffractiveExcitation:: G4double PMinusMin=std::sqrt(ProjMassT2+PZcms2)-PZcms; G4double PMinusMax=SqrtS-TargMassT; - PMinusNew=ChooseP(PMinusMin,PMinusMax); + if(G4UniformRand() < ProjectileBackgroundWeight) // Uzhi May 2007 + { + PMinusNew=PMinusMax-(PMinusMax-PMinusMin)*G4UniformRand(); // Uzhi May 2007 + } // Uzhi May 2007 + else // Uzhi May 2007 + { // Uzhi May 2007 + PMinusNew=ChooseP(PMinusMin, PMinusMax); // Uzhi May 2007 + }; // Uzhi May 2007 +// PMinusNew=ChooseP(PMinusMin, PMinusMax); // Uzhi May 2007 Qminus=PMinusNew-Pprojectile.minus(); G4double TPlusMin=std::sqrt(TargMassT2+PZcms2)-PZcms; - G4double TPlusMax=SqrtS-ProjMassT; + G4double TPlusMax=SqrtS-PMinusNew; // Uzhi May 2007 +// G4double TPlusMax=SqrtS-ProjMassT; // Uzhi May 2007 - TPlusNew=ChooseP(TPlusMin, TPlusMax); + if(G4UniformRand() < TargetBackgroundWeight) // Uzhi May 2007 + { + TPlusNew=TPlusMax-(TPlusMax-TPlusMin)*G4UniformRand(); // Uzhi May 2007 + } // Uzhi May 2007 + else // Uzhi May 2007 + { // Uzhi May 2007 + TPlusNew=ChooseP(TPlusMin, TPlusMax); // Uzhi May 2007 + }; // Uzhi May 2007 + +// TPlusNew=ChooseP(TPlusMin, TPlusMax); // Uzhi May 2007 Qplus=-(TPlusNew-Ptarget.plus()); Qmomentum.setPz( (Qplus-Qminus)/2 ); @@ -271,18 +315,15 @@ G4bool G4DiffractiveExcitation:: // G4cout << "Qmomentum " << Qmomentum << G4endl; // G4cout << " Masses (P/T) : " << (Pprojectile+Qmomentum).mag() << // " / " << (Ptarget-Qmomentum).mag() << G4endl; -/* // Uzhi - } while ( (Pprojectile+Qmomentum).mag2() <= Mprojectile2 || - (Ptarget-Qmomentum).mag2() <= Mtarget2 ); -*/ // Uzhi * + } while ( +( (Pprojectile+Qmomentum).mag2() < Mprojectile2 || // Uzhi No without excitation + (Ptarget -Qmomentum).mag2() < Mtarget2 ) || // Uzhi +( (Pprojectile+Qmomentum).mag2() < ProjectileDiffCut2 && // Uzhi No double Diffraction + (Ptarget -Qmomentum).mag2() < NuclearNucleonDiffCut2) );// Uzhi - } while (( (Pprojectile+Qmomentum).mag2() < Mprojectile2 || // Uzhi No without excitation - (Ptarget -Qmomentum).mag2() < Mtarget2 ) || // Uzhi - ( (Pprojectile+Qmomentum).mag2() < ProjectileDiffCut2 && // Uzhi No double Diffraction - (Ptarget -Qmomentum).mag2() < NuclearNucleonDiffCut2) );// Uzhi - - if((Ptarget-Qmomentum).mag2() < NuclearNucleonDiffCut2) // Uzhi Projectile diffraction + if((Ptarget-Qmomentum).mag2() < NuclearNucleonDiffCut2) // Uzhi +//Projectile diffraction { G4double TMinusNew=SqrtS-PMinusNew; Qminus=Ptarget.minus()-TMinusNew; @@ -292,7 +333,8 @@ G4bool G4DiffractiveExcitation:: Qmomentum.setPz( (Qplus-Qminus)/2 ); Qmomentum.setE( (Qplus+Qminus)/2 ); } - else if((Pprojectile+Qmomentum).mag2() < ProjectileDiffCut2) // Uzhi Target diffraction + else if((Pprojectile+Qmomentum).mag2() < ProjectileDiffCut2) // Uzhi +//Target diffraction { G4double PPlusNew=SqrtS-TPlusNew; Qplus=PPlusNew-Pprojectile.plus(); @@ -306,8 +348,6 @@ G4bool G4DiffractiveExcitation:: Pprojectile += Qmomentum; Ptarget -= Qmomentum; - // Vova - /* Pprojectile.setPz(0.); Pprojectile.setE(SqrtS-M0target); diff --git a/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveSplitableHadron.cc b/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveSplitableHadron.cc index c634a13342..605c4673cf 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveSplitableHadron.cc +++ b/source/processes/hadronic/models/parton_string/diffraction/src/G4DiffractiveSplitableHadron.cc @@ -25,7 +25,7 @@ // // // $Id: G4DiffractiveSplitableHadron.cc,v 1.6 2006/06/29 20:54:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFModel.cc b/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFModel.cc index 3bf62aaf66..1fcde06051 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFModel.cc +++ b/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4FTFModel.cc,v 1.7 2007/04/24 10:32:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFParticipants.cc b/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFParticipants.cc index 80df090458..949e699ed3 100644 --- a/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFParticipants.cc +++ b/source/processes/hadronic/models/parton_string/diffraction/src/G4FTFParticipants.cc @@ -25,7 +25,7 @@ // // // $Id: G4FTFParticipants.cc,v 1.7 2007/04/24 10:33:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4ExcitedStringDecay.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4ExcitedStringDecay.hh index b37f770f64..71f20d3663 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4ExcitedStringDecay.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4ExcitedStringDecay.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExcitedStringDecay.hh,v 1.7 2007/05/03 22:06:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4ExcitedStringDecay_h #define G4ExcitedStringDecay_h 1 diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4FragmentingString.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4FragmentingString.hh index 9b3d3c167b..951cb7beca 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4FragmentingString.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4FragmentingString.hh @@ -25,7 +25,7 @@ // // // $Id: G4FragmentingString.hh,v 1.3 2006/06/29 20:54:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4FragmentingString_h diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4HadronBuilder.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4HadronBuilder.hh index e1fa9668d4..7f4628f6f6 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4HadronBuilder.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4HadronBuilder.hh @@ -25,7 +25,7 @@ // // // $Id: G4HadronBuilder.hh,v 1.3 2006/06/29 20:54:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // GEANT 4 class header file diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4LundStringFragmentation.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4LundStringFragmentation.hh index 6e7e6c9a97..e235d8c6d9 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4LundStringFragmentation.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4LundStringFragmentation.hh @@ -25,7 +25,7 @@ // // // $Id: G4LundStringFragmentation.hh,v 1.4 2007/04/24 14:55:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ Maxim Komogorov +// GEANT4 tag $Name: geant4-09-00 $ Maxim Komogorov // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4QGSMFragmentation.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4QGSMFragmentation.hh index 4f43f22cce..48e6ab28c7 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4QGSMFragmentation.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4QGSMFragmentation.hh @@ -25,7 +25,7 @@ // // // $Id: G4QGSMFragmentation.hh,v 1.4 2007/04/24 14:55:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4VKinkyStringDecay.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4VKinkyStringDecay.hh index 8a1eaea695..661b1ff567 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4VKinkyStringDecay.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4VKinkyStringDecay.hh @@ -25,7 +25,7 @@ // // // $Id: G4VKinkyStringDecay.hh,v 1.3 2006/06/29 20:54:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // Maxim Komogorov // // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/parton_string/hadronization/include/G4VLongitudinalStringDecay.hh b/source/processes/hadronic/models/parton_string/hadronization/include/G4VLongitudinalStringDecay.hh index 2d9e7e4adc..ca6231357a 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/include/G4VLongitudinalStringDecay.hh +++ b/source/processes/hadronic/models/parton_string/hadronization/include/G4VLongitudinalStringDecay.hh @@ -25,7 +25,7 @@ // // // $Id: G4VLongitudinalStringDecay.hh,v 1.4 2007/04/24 14:55:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // Maxim Komogorov // // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/parton_string/hadronization/src/G4HadronBuilder.cc b/source/processes/hadronic/models/parton_string/hadronization/src/G4HadronBuilder.cc index 0b51e3bc2a..90ff344eb8 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/src/G4HadronBuilder.cc +++ b/source/processes/hadronic/models/parton_string/hadronization/src/G4HadronBuilder.cc @@ -25,7 +25,7 @@ // // // $Id: G4HadronBuilder.cc,v 1.6 2006/06/29 20:55:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/parton_string/hadronization/src/G4LundStringFragmentation.cc b/source/processes/hadronic/models/parton_string/hadronization/src/G4LundStringFragmentation.cc index 8bee11c934..85cd4dc1fb 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/src/G4LundStringFragmentation.cc +++ b/source/processes/hadronic/models/parton_string/hadronization/src/G4LundStringFragmentation.cc @@ -25,7 +25,7 @@ // // // $Id: G4LundStringFragmentation.cc,v 1.7 2007/04/24 14:55:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/parton_string/hadronization/src/G4QGSMFragmentation.cc b/source/processes/hadronic/models/parton_string/hadronization/src/G4QGSMFragmentation.cc index 2b385b27aa..38fc5a2a5a 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/src/G4QGSMFragmentation.cc +++ b/source/processes/hadronic/models/parton_string/hadronization/src/G4QGSMFragmentation.cc @@ -25,7 +25,7 @@ // // // $Id: G4QGSMFragmentation.cc,v 1.6 2007/04/24 14:55:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/parton_string/hadronization/src/G4VKinkyStringDecay.cc b/source/processes/hadronic/models/parton_string/hadronization/src/G4VKinkyStringDecay.cc index 4217252383..e0f17d9c71 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/src/G4VKinkyStringDecay.cc +++ b/source/processes/hadronic/models/parton_string/hadronization/src/G4VKinkyStringDecay.cc @@ -25,7 +25,7 @@ // // // $Id: G4VKinkyStringDecay.cc,v 1.3 2006/06/29 20:55:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // Maxim Komogorov // // ----------------------------------------------------------------------------- diff --git a/source/processes/hadronic/models/parton_string/hadronization/src/G4VLongitudinalStringDecay.cc b/source/processes/hadronic/models/parton_string/hadronization/src/G4VLongitudinalStringDecay.cc index 74b7b91913..40a085363d 100644 --- a/source/processes/hadronic/models/parton_string/hadronization/src/G4VLongitudinalStringDecay.cc +++ b/source/processes/hadronic/models/parton_string/hadronization/src/G4VLongitudinalStringDecay.cc @@ -25,7 +25,7 @@ // // // $Id: G4VLongitudinalStringDecay.cc,v 1.8 2007/04/24 14:55:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ----------------------------------------------------------------------------- // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/parton_string/management/include/G4EventGenerator.hh b/source/processes/hadronic/models/parton_string/management/include/G4EventGenerator.hh index 03f67b2ecd..cef9af9360 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4EventGenerator.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4EventGenerator.hh @@ -25,7 +25,7 @@ // // // $Id: G4EventGenerator.hh,v 1.3 2006/06/29 20:55:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4EventGenerator_h #define G4EventGenerator_h 1 diff --git a/source/processes/hadronic/models/parton_string/management/include/G4FTFCrossSection.hh b/source/processes/hadronic/models/parton_string/management/include/G4FTFCrossSection.hh index 66cbca1401..f072c12348 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4FTFCrossSection.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4FTFCrossSection.hh @@ -27,7 +27,7 @@ #define G4FTFCrossSection_h 1 // // $Id: G4FTFCrossSection.hh,v 1.2 2007/04/24 10:37:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4Proton.hh" class G4FTFCrossSection diff --git a/source/processes/hadronic/models/parton_string/management/include/G4InteractionCode.hh b/source/processes/hadronic/models/parton_string/management/include/G4InteractionCode.hh index 301c31d781..997854baa7 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4InteractionCode.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4InteractionCode.hh @@ -25,7 +25,7 @@ // // // $Id: G4InteractionCode.hh,v 1.3 2006/06/29 20:55:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4InteractionCode_h #define G4InteractionCode_h 1 diff --git a/source/processes/hadronic/models/parton_string/management/include/G4InteractionContent.hh b/source/processes/hadronic/models/parton_string/management/include/G4InteractionContent.hh index 8a965a1326..8b91f35cee 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4InteractionContent.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4InteractionContent.hh @@ -25,7 +25,7 @@ // // // $Id: G4InteractionContent.hh,v 1.4 2007/01/24 10:28:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4InteractionContent_h diff --git a/source/processes/hadronic/models/parton_string/management/include/G4PomeronCrossSection.hh b/source/processes/hadronic/models/parton_string/management/include/G4PomeronCrossSection.hh index 1f263d381f..9ce5d7d22a 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4PomeronCrossSection.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4PomeronCrossSection.hh @@ -27,7 +27,7 @@ #define G4PomeronCrossSection_h 1 // // $Id: G4PomeronCrossSection.hh,v 1.3 2006/06/29 20:55:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4Proton.hh" #include "G4Neutron.hh" diff --git a/source/processes/hadronic/models/parton_string/management/include/G4StringModel.hh b/source/processes/hadronic/models/parton_string/management/include/G4StringModel.hh index a6413aa08e..0c17ba746f 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4StringModel.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4StringModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4StringModel.hh,v 1.3 2006/06/29 20:55:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4StringModel_h #define G4StringModel_h 1 diff --git a/source/processes/hadronic/models/parton_string/management/include/G4VParticipants.hh b/source/processes/hadronic/models/parton_string/management/include/G4VParticipants.hh index be6845927f..827b79c39d 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4VParticipants.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4VParticipants.hh @@ -25,7 +25,7 @@ // // // $Id: G4VParticipants.hh,v 1.3 2006/06/29 20:55:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VParticipants_h diff --git a/source/processes/hadronic/models/parton_string/management/include/G4VPartonStringModel.hh b/source/processes/hadronic/models/parton_string/management/include/G4VPartonStringModel.hh index f87883102e..518ded5b67 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4VPartonStringModel.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4VPartonStringModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4VPartonStringModel.hh,v 1.3 2006/06/29 20:55:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VPartonStringModel_h #define G4VPartonStringModel_h 1 diff --git a/source/processes/hadronic/models/parton_string/management/include/G4VSplitableHadron.hh b/source/processes/hadronic/models/parton_string/management/include/G4VSplitableHadron.hh index e184277f15..b832e805e8 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4VSplitableHadron.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4VSplitableHadron.hh @@ -25,7 +25,7 @@ // // // $Id: G4VSplitableHadron.hh,v 1.3 2006/06/29 20:55:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VSplitableHadron_h diff --git a/source/processes/hadronic/models/parton_string/management/include/G4VStringFragmentation.hh b/source/processes/hadronic/models/parton_string/management/include/G4VStringFragmentation.hh index 047264cc07..83e4fb3a56 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4VStringFragmentation.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4VStringFragmentation.hh @@ -25,7 +25,7 @@ // // // $Id: G4VStringFragmentation.hh,v 1.3 2006/06/29 20:55:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VStringFragmentation_h #define G4VStringFragmentation_h 1 diff --git a/source/processes/hadronic/models/parton_string/management/include/G4VertexCode.hh b/source/processes/hadronic/models/parton_string/management/include/G4VertexCode.hh index 8ed5839b5c..b10cdea342 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4VertexCode.hh +++ b/source/processes/hadronic/models/parton_string/management/include/G4VertexCode.hh @@ -25,7 +25,7 @@ // // // $Id: G4VertexCode.hh,v 1.3 2006/06/29 20:55:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VertexCode_h #define G4VertexCode_h 1 diff --git a/source/processes/hadronic/models/parton_string/management/src/G4EventGenerator.cc b/source/processes/hadronic/models/parton_string/management/src/G4EventGenerator.cc index 25125d9965..9ab5ae1e42 100644 --- a/source/processes/hadronic/models/parton_string/management/src/G4EventGenerator.cc +++ b/source/processes/hadronic/models/parton_string/management/src/G4EventGenerator.cc @@ -25,7 +25,7 @@ // // // $Id: G4EventGenerator.cc,v 1.4 2006/06/29 20:55:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4EventGenerator #include "G4EventGenerator.hh" diff --git a/source/processes/hadronic/models/parton_string/management/src/G4FTFCrossSection.cc b/source/processes/hadronic/models/parton_string/management/src/G4FTFCrossSection.cc index 3aaa71324f..4bf247d6bd 100644 --- a/source/processes/hadronic/models/parton_string/management/src/G4FTFCrossSection.cc +++ b/source/processes/hadronic/models/parton_string/management/src/G4FTFCrossSection.cc @@ -25,7 +25,7 @@ // // // $Id: G4FTFCrossSection.cc,v 1.2 2007/04/24 10:37:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4FTFCrossSection.hh" diff --git a/source/processes/hadronic/models/parton_string/management/src/G4InteractionContent.cc b/source/processes/hadronic/models/parton_string/management/src/G4InteractionContent.cc index b63ebef010..4a686fbda9 100644 --- a/source/processes/hadronic/models/parton_string/management/src/G4InteractionContent.cc +++ b/source/processes/hadronic/models/parton_string/management/src/G4InteractionContent.cc @@ -25,7 +25,7 @@ // // // $Id: G4InteractionContent.cc,v 1.4 2006/06/29 20:55:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/parton_string/management/src/G4PomeronCrossSection.cc b/source/processes/hadronic/models/parton_string/management/src/G4PomeronCrossSection.cc index 2955c31d47..edbc95ea02 100644 --- a/source/processes/hadronic/models/parton_string/management/src/G4PomeronCrossSection.cc +++ b/source/processes/hadronic/models/parton_string/management/src/G4PomeronCrossSection.cc @@ -25,7 +25,7 @@ // // // $Id: G4PomeronCrossSection.cc,v 1.6 2006/11/07 12:51:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4PomeronCrossSection.hh" diff --git a/source/processes/hadronic/models/parton_string/management/src/G4StringModel.cc b/source/processes/hadronic/models/parton_string/management/src/G4StringModel.cc index 92b9e763ec..62928b9c6c 100644 --- a/source/processes/hadronic/models/parton_string/management/src/G4StringModel.cc +++ b/source/processes/hadronic/models/parton_string/management/src/G4StringModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4StringModel.cc,v 1.4 2006/06/29 20:55:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4StringModel #include "G4StringModel.hh" diff --git a/source/processes/hadronic/models/parton_string/management/src/G4VParticipants.cc b/source/processes/hadronic/models/parton_string/management/src/G4VParticipants.cc index 0cd9855c43..986bfbd0e7 100644 --- a/source/processes/hadronic/models/parton_string/management/src/G4VParticipants.cc +++ b/source/processes/hadronic/models/parton_string/management/src/G4VParticipants.cc @@ -25,7 +25,7 @@ // // // $Id: G4VParticipants.cc,v 1.3 2006/06/29 20:55:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/parton_string/management/src/G4VPartonStringModel.cc b/source/processes/hadronic/models/parton_string/management/src/G4VPartonStringModel.cc index 228e2922e5..57aef4f1f3 100644 --- a/source/processes/hadronic/models/parton_string/management/src/G4VPartonStringModel.cc +++ b/source/processes/hadronic/models/parton_string/management/src/G4VPartonStringModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4VPartonStringModel.cc,v 1.5 2007/01/24 10:29:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // //// ------------------------------------------------------------ // GEANT 4 class implementation file diff --git a/source/processes/hadronic/models/parton_string/management/src/G4VSplitableHadron.cc b/source/processes/hadronic/models/parton_string/management/src/G4VSplitableHadron.cc index bd2c9f6627..b046f10250 100644 --- a/source/processes/hadronic/models/parton_string/management/src/G4VSplitableHadron.cc +++ b/source/processes/hadronic/models/parton_string/management/src/G4VSplitableHadron.cc @@ -25,7 +25,7 @@ // // // $Id: G4VSplitableHadron.cc,v 1.4 2006/06/29 20:55:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/parton_string/management/src/G4VStringFragmentation.cc b/source/processes/hadronic/models/parton_string/management/src/G4VStringFragmentation.cc index a64520d82f..c292c09fb7 100644 --- a/source/processes/hadronic/models/parton_string/management/src/G4VStringFragmentation.cc +++ b/source/processes/hadronic/models/parton_string/management/src/G4VStringFragmentation.cc @@ -25,7 +25,7 @@ // // // $Id: G4VStringFragmentation.cc,v 1.4 2006/06/29 20:55:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VStringFragmentation #include "G4VStringFragmentation.hh" diff --git a/source/processes/hadronic/models/parton_string/qgsm/include/G4QGSDiffractiveExcitation.hh b/source/processes/hadronic/models/parton_string/qgsm/include/G4QGSDiffractiveExcitation.hh new file mode 100644 index 0000000000..3dac0baa15 --- /dev/null +++ b/source/processes/hadronic/models/parton_string/qgsm/include/G4QGSDiffractiveExcitation.hh @@ -0,0 +1,90 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4QGSDiffractiveExcitation.hh,v 1.1 2007/05/25 07:30:47 gunter Exp $ + +#ifndef G4QGSDiffractiveExcitation_h +#define G4QGSDiffractiveExcitation_h 1 +// ------------------------------------------------------------ +// GEANT 4 class header file +// +// ---------------- G4QGSDiffractiveExcitation -------------- +// by Gunter Folger, October 1998. +// diffractive Excitation used by strings models +// Take a projectile and a target +// excite the projectile and target +// ------------------------------------------------------------ + +// Modified: +// 25-05-07 : G.Folger +// move from management/G4DiffractiveExcitation to to qgsm/G4QGSDiffractiveExcitation +// + +#include "globals.hh" +class G4VSplitableHadron; +class G4ExcitedString; +#include "G4ThreeVector.hh" + +class G4QGSDiffractiveExcitation +{ + + public: + + G4QGSDiffractiveExcitation(); // Uzhi + virtual ~G4QGSDiffractiveExcitation(); + + virtual G4bool ExciteParticipants (G4VSplitableHadron *aPartner, G4VSplitableHadron * bPartner) const; + virtual G4ExcitedString * String(G4VSplitableHadron * aHadron, G4bool isProjectile) const; + +// void SetPtWidth(G4double aValue) { widthOfPtSquare = aValue*aValue; } +// void SetExtraMass(G4double aValue) { minExtraMass = aValue; } +// void SetMinimumMass(G4double aValue) { minmass = aValue; } + + + private: + + G4QGSDiffractiveExcitation(const G4QGSDiffractiveExcitation &right); + +// G4double ChooseX(G4double Xmin, G4double Xmax) const; // Uzhi + G4double ChooseP(G4double Pmin, G4double Pmax) const; // Uzhi + +// G4ThreeVector GaussianPt(G4double widthSquare, G4double maxPtSquare) const; + G4ThreeVector GaussianPt(G4double AveragePt2, G4double maxPtSquare) const; // Uzhi + + const G4QGSDiffractiveExcitation & operator=(const G4QGSDiffractiveExcitation &right); + int operator==(const G4QGSDiffractiveExcitation &right) const; + int operator!=(const G4QGSDiffractiveExcitation &right) const; + + private: +// Model Parameters: +/* // Uzhi + const G4double widthOfPtSquare; // width^2 of pt for string excitation + const G4double minExtraMass; // minimum excitation mass + const G4double minmass; // mean pion transverse mass; used for Xmin +*/ // Uzhi +}; + +#endif diff --git a/source/processes/hadronic/models/parton_string/qgsm/include/G4QGSParticipants.hh b/source/processes/hadronic/models/parton_string/qgsm/include/G4QGSParticipants.hh index e56cfed509..5687031164 100644 --- a/source/processes/hadronic/models/parton_string/qgsm/include/G4QGSParticipants.hh +++ b/source/processes/hadronic/models/parton_string/qgsm/include/G4QGSParticipants.hh @@ -31,7 +31,7 @@ #include "G4Nucleon.hh" #include "G4InteractionContent.hh" #include "G4PomeronCrossSection.hh" -#include "G4DiffractiveExcitation.hh" +#include "G4QGSDiffractiveExcitation.hh" #include "G4SingleDiffractiveExcitation.hh" #include "G4PartonPair.hh" #include "G4QGSMSplitableHadron.hh" @@ -72,7 +72,7 @@ class G4QGSParticipants : public G4VParticipants std::vector thePartonPairs; G4SingleDiffractiveExcitation theSingleDiffExcitation; - G4DiffractiveExcitation theDiffExcitaton; + G4QGSDiffractiveExcitation theDiffExcitaton; G4int ModelMode; G4bool IsSingleDiffractive(); diff --git a/source/processes/hadronic/models/parton_string/management/include/G4SingleDiffractiveExcitation.hh b/source/processes/hadronic/models/parton_string/qgsm/include/G4SingleDiffractiveExcitation.hh similarity index 94% rename from source/processes/hadronic/models/parton_string/management/include/G4SingleDiffractiveExcitation.hh rename to source/processes/hadronic/models/parton_string/qgsm/include/G4SingleDiffractiveExcitation.hh index ea62b7c797..e1ab93d7c6 100644 --- a/source/processes/hadronic/models/parton_string/management/include/G4SingleDiffractiveExcitation.hh +++ b/source/processes/hadronic/models/parton_string/qgsm/include/G4SingleDiffractiveExcitation.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4SingleDiffractiveExcitation.hh,v 1.2 2006/06/29 20:55:21 gunter Exp $ +// $Id: G4SingleDiffractiveExcitation.hh,v 1.1 2007/05/25 07:30:47 gunter Exp $ #ifndef G4SingleDiffractiveExcitation_h #define G4SingleDiffractiveExcitation_h 1 @@ -42,9 +42,9 @@ class G4VSplitableHadron; class G4ExcitedString; #include "G4ThreeVector.hh" -#include "G4DiffractiveExcitation.hh" +#include "G4QGSDiffractiveExcitation.hh" -class G4SingleDiffractiveExcitation : public G4DiffractiveExcitation +class G4SingleDiffractiveExcitation : public G4QGSDiffractiveExcitation { public: diff --git a/source/processes/hadronic/models/parton_string/qgsm/src/G4QGSDiffractiveExcitation.cc b/source/processes/hadronic/models/parton_string/qgsm/src/G4QGSDiffractiveExcitation.cc new file mode 100644 index 0000000000..f54cc662b3 --- /dev/null +++ b/source/processes/hadronic/models/parton_string/qgsm/src/G4QGSDiffractiveExcitation.cc @@ -0,0 +1,502 @@ +// +// ******************************************************************** +// * License and Disclaimer * +// * * +// * The Geant4 software is copyright of the Copyright Holders of * +// * the Geant4 Collaboration. It is provided under the terms and * +// * conditions of the Geant4 Software License, included in the file * +// * LICENSE and available at http://cern.ch/geant4/license . These * +// * include a list of copyright holders. * +// * * +// * Neither the authors of this software system, nor their employing * +// * institutes,nor the agencies providing financial support for this * +// * work make any representation or warranty, express or implied, * +// * regarding this software system or assume any liability for its * +// * use. Please see the license in the file LICENSE and URL above * +// * for the full disclaimer and the limitation of liability. * +// * * +// * This code implementation is the result of the scientific and * +// * technical work of the GEANT4 collaboration. * +// * By using, copying, modifying or distributing the software (or * +// * any work based on the software) you agree to acknowledge its * +// * use in resulting scientific publications, and indicate your * +// * acceptance of all terms of the Geant4 Software license. * +// ******************************************************************** +// +// +// $Id: G4QGSDiffractiveExcitation.cc,v 1.1 2007/05/25 07:30:47 gunter Exp $ +// ------------------------------------------------------------ +// GEANT 4 class implemetation file +// +// ---------------- G4QGSDiffractiveExcitation -------------- +// by Gunter Folger, October 1998. +// diffractive Excitation used by strings models +// Take a projectile and a target +// excite the projectile and target +// Essential changed by V. Uzhinsky in November - December 2006 +// in order to put it in a correspondence with original FRITIOF +// model. Variant of FRITIOF with nucleon de-excitation is implemented. +// --------------------------------------------------------------------- + +// Modified: +// 25-05-07 : G.Folger +// move from management/G4DiffractiveExcitation to to qgsm/G4QGSDiffractiveExcitation +// + +#include "globals.hh" +#include "Randomize.hh" + +#include "G4QGSDiffractiveExcitation.hh" +#include "G4LorentzRotation.hh" +#include "G4ThreeVector.hh" +#include "G4ParticleDefinition.hh" +#include "G4VSplitableHadron.hh" +#include "G4ExcitedString.hh" +//#include "G4ios.hh" + +G4QGSDiffractiveExcitation::G4QGSDiffractiveExcitation() // Uzhi +{ +} + +G4bool G4QGSDiffractiveExcitation:: + ExciteParticipants(G4VSplitableHadron *projectile, G4VSplitableHadron *target) const +{ + + G4LorentzVector Pprojectile=projectile->Get4Momentum(); + +// -------------------- Projectile parameters ----------------------------------- + G4bool PutOnMassShell=0; + +// G4double M0projectile=projectile->GetDefinition()->GetPDGMass(); // With de-excitation + G4double M0projectile = Pprojectile.mag(); // Without de-excitation + + if(M0projectile < projectile->GetDefinition()->GetPDGMass()) + { + PutOnMassShell=1; + M0projectile=projectile->GetDefinition()->GetPDGMass(); + } + + G4double Mprojectile2 = M0projectile * M0projectile; + + G4int PDGcode=projectile->GetDefinition()->GetPDGEncoding(); + G4int absPDGcode=std::abs(PDGcode); + G4double ProjectileDiffCut; + G4double AveragePt2; + + if( absPDGcode > 1000 ) //------Projectile is baryon -------- + { + ProjectileDiffCut = 1.1; // GeV + AveragePt2 = 0.3; // GeV^2 + } + else if( absPDGcode == 211 || PDGcode == 111) //------Projectile is Pion ----------- + { + ProjectileDiffCut = 1.0; // GeV + AveragePt2 = 0.3; // GeV^2 + } + else if( absPDGcode == 321 || PDGcode == -311) //------Projectile is Kaon ----------- + { + ProjectileDiffCut = 1.1; // GeV + AveragePt2 = 0.3; // GeV^2 + } + else //------Projectile is undefined, Nucleon assumed + { + ProjectileDiffCut = 1.1; // GeV + AveragePt2 = 0.3; // GeV^2 + }; + + ProjectileDiffCut = ProjectileDiffCut * GeV; + AveragePt2 = AveragePt2 * GeV*GeV; + +// -------------------- Target parameters ---------------------------------------------- + G4LorentzVector Ptarget=target->Get4Momentum(); + + G4double M0target = Ptarget.mag(); + + if(M0target < target->GetDefinition()->GetPDGMass()) + { + PutOnMassShell=1; + M0target=target->GetDefinition()->GetPDGMass(); + } + + G4double Mtarget2 = M0target * M0target; //Ptarget.mag2(); // for AA-inter. + + G4double NuclearNucleonDiffCut = 1.1*GeV; + + G4double ProjectileDiffCut2 = ProjectileDiffCut * ProjectileDiffCut; + G4double NuclearNucleonDiffCut2 = NuclearNucleonDiffCut * NuclearNucleonDiffCut; + +// Transform momenta to cms and then rotate parallel to z axis; + + G4LorentzVector Psum; + Psum=Pprojectile+Ptarget; + + G4LorentzRotation toCms(-1*Psum.boostVector()); + + G4LorentzVector Ptmp=toCms*Pprojectile; + + if ( Ptmp.pz() <= 0. ) + { + // "String" moving backwards in CMS, abort collision !! + //G4cout << " abort Collision!! " << G4endl; + return false; + } + + toCms.rotateZ(-1*Ptmp.phi()); + toCms.rotateY(-1*Ptmp.theta()); + + G4LorentzRotation toLab(toCms.inverse()); + + Pprojectile.transform(toCms); + Ptarget.transform(toCms); + + G4double Pt2; + G4double ProjMassT2, ProjMassT; + G4double TargMassT2, TargMassT; + G4double PZcms2, PZcms; + G4double PMinusNew, TPlusNew; + + G4double S=Psum.mag2(); + G4double SqrtS=std::sqrt(S); + + if(SqrtS < 2200*MeV) {return false;} // The model cannot work for pp-interactions + // at Plab < 1.3 GeV/c. Uzhi + + PZcms2=(S*S+Mprojectile2*Mprojectile2+Mtarget2*Mtarget2- + 2*S*Mprojectile2-2*S*Mtarget2-2*Mprojectile2*Mtarget2)/4./S; + if(PZcms2 < 0) + {return false;} // It can be in an interaction with off-shell nuclear nucleon + + PZcms = std::sqrt(PZcms2); + + if(PutOnMassShell) + { + if(Pprojectile.z() > 0.) + { + Pprojectile.setPz( PZcms); + Ptarget.setPz( -PZcms); + } + else + { + Pprojectile.setPz(-PZcms); + Ptarget.setPz( PZcms); + }; + + Pprojectile.setE(std::sqrt(Mprojectile2+ + Pprojectile.x()*Pprojectile.x()+ + Pprojectile.y()*Pprojectile.y()+ + PZcms2)); + Ptarget.setE(std::sqrt( Mtarget2 + + Ptarget.x()*Ptarget.x()+ + Ptarget.y()*Ptarget.y()+ + PZcms2)); + } + + G4double maxPtSquare = PZcms2; + +//G4cout << "Pprojectile aft boost : " << Pprojectile << G4endl; +//G4cout << "Ptarget aft boost : " << Ptarget << G4endl; +// G4cout << "cms aft boost : " << (Pprojectile+ Ptarget) << G4endl; + +// G4cout << " Projectile Xplus / Xminus : " << +// Pprojectile.plus() << " / " << Pprojectile.minus() << G4endl; +// G4cout << " Target Xplus / Xminus : " << +// Ptarget.plus() << " / " << Ptarget.minus() << G4endl; + + G4LorentzVector Qmomentum; + G4double Qminus, Qplus; + +// /* Vova + G4int whilecount=0; + do { +// Generate pt + + if (whilecount++ >= 500 && (whilecount%100)==0) +// G4cout << "G4QGSDiffractiveExcitation::ExciteParticipants possibly looping" +// << ", loop count/ maxPtSquare : " +// << whilecount << " / " << maxPtSquare << G4endl; + if (whilecount > 1000 ) + { + Qmomentum=G4LorentzVector(0.,0.,0.,0.); + return false; // Ignore this interaction + } + + Qmomentum=G4LorentzVector(GaussianPt(AveragePt2,maxPtSquare),0); + +//G4cout << "generated Pt " << Qmomentum << G4endl; +//G4cout << "Pprojectile with pt : " << Pprojectile+Qmomentum << G4endl; +//G4cout << "Ptarget with pt : " << Ptarget-Qmomentum << G4endl; + +// Momentum transfer +/* // Uzhi + G4double Xmin = minmass / ( Pprojectile.e() + Ptarget.e() ); + G4double Xmax=1.; + G4double Xplus =ChooseX(Xmin,Xmax); + G4double Xminus=ChooseX(Xmin,Xmax); + +// G4cout << " X-plus " << Xplus << G4endl; +// G4cout << " X-minus " << Xminus << G4endl; + + G4double pt2=G4ThreeVector(Qmomentum.vect()).mag2(); + G4double Qplus =-1 * pt2 / Xminus/Ptarget.minus(); + G4double Qminus= pt2 / Xplus /Pprojectile.plus(); +*/ // Uzhi * + + Pt2=G4ThreeVector(Qmomentum.vect()).mag2(); + ProjMassT2=Mprojectile2+Pt2; + ProjMassT =std::sqrt(ProjMassT2); + + TargMassT2=Mtarget2+Pt2; + TargMassT =std::sqrt(TargMassT2); + + PZcms2=(S*S+ProjMassT2*ProjMassT2+ + TargMassT2*TargMassT2- + 2.*S*ProjMassT2-2.*S*TargMassT2- + 2.*ProjMassT2*TargMassT2)/4./S; + if(PZcms2 < 0 ) {PZcms2=0;}; + PZcms =std::sqrt(PZcms2); + + G4double PMinusMin=std::sqrt(ProjMassT2+PZcms2)-PZcms; + G4double PMinusMax=SqrtS-TargMassT; + + PMinusNew=ChooseP(PMinusMin,PMinusMax); + Qminus=PMinusNew-Pprojectile.minus(); + + G4double TPlusMin=std::sqrt(TargMassT2+PZcms2)-PZcms; + G4double TPlusMax=SqrtS-ProjMassT; + + TPlusNew=ChooseP(TPlusMin, TPlusMax); + Qplus=-(TPlusNew-Ptarget.plus()); + + Qmomentum.setPz( (Qplus-Qminus)/2 ); + Qmomentum.setE( (Qplus+Qminus)/2 ); + +//G4cout << "Qplus / Qminus " << Qplus << " / " << Qminus<Set4Momentum(Ptarget); + +//G4cout << "Projectile mass " << Pprojectile.mag() << G4endl; + + projectile->Set4Momentum(Pprojectile); + + return true; +} + + +G4ExcitedString * G4QGSDiffractiveExcitation:: + String(G4VSplitableHadron * hadron, G4bool isProjectile) const +{ + hadron->SplitUp(); + G4Parton *start= hadron->GetNextParton(); + if ( start==NULL) + { G4cout << " G4FTFModel::String() Error:No start parton found"<< G4endl; + return NULL; + } + G4Parton *end = hadron->GetNextParton(); + if ( end==NULL) + { G4cout << " G4FTFModel::String() Error:No end parton found"<< G4endl; + return NULL; + } + + G4ExcitedString * string; + if ( isProjectile ) + { + string= new G4ExcitedString(end,start, +1); + } else { + string= new G4ExcitedString(start,end, -1); + } + + string->SetPosition(hadron->GetPosition()); + +// momenta of string ends + G4double ptSquared= hadron->Get4Momentum().perp2(); + G4double transverseMassSquared= hadron->Get4Momentum().plus() + * hadron->Get4Momentum().minus(); + + + G4double maxAvailMomentumSquared= + sqr( std::sqrt(transverseMassSquared) - std::sqrt(ptSquared) ); + + G4double widthOfPtSquare = 0.25; // Uzhi =0.25 ?????????????????? + G4ThreeVector pt=GaussianPt(widthOfPtSquare,maxAvailMomentumSquared); + + G4LorentzVector Pstart(G4LorentzVector(pt,0.)); + G4LorentzVector Pend; + Pend.setPx(hadron->Get4Momentum().px() - pt.x()); + Pend.setPy(hadron->Get4Momentum().py() - pt.y()); + + G4double tm1=hadron->Get4Momentum().minus() + + ( Pend.perp2()-Pstart.perp2() ) / hadron->Get4Momentum().plus(); + + G4double tm2= std::sqrt( std::max(0., sqr(tm1) - + 4. * Pend.perp2() * hadron->Get4Momentum().minus() + / hadron->Get4Momentum().plus() )); + + G4int Sign= isProjectile ? -1 : 1; + + G4double endMinus = 0.5 * (tm1 + Sign*tm2); + G4double startMinus= hadron->Get4Momentum().minus() - endMinus; + + G4double startPlus= Pstart.perp2() / startMinus; + G4double endPlus = hadron->Get4Momentum().plus() - startPlus; + + Pstart.setPz(0.5*(startPlus - startMinus)); + Pstart.setE(0.5*(startPlus + startMinus)); + + Pend.setPz(0.5*(endPlus - endMinus)); + Pend.setE(0.5*(endPlus + endMinus)); + + start->Set4Momentum(Pstart); + end->Set4Momentum(Pend); + +#ifdef G4_FTFDEBUG + G4cout << " generated string flavors " << start->GetPDGcode() << " / " << end->GetPDGcode() << G4endl; + G4cout << " generated string momenta: quark " << start->Get4Momentum() << "mass : " <Get4Momentum().mag()<< G4endl; + G4cout << " generated string momenta: Diquark " << end ->Get4Momentum() << "mass : " <Get4Momentum().mag()<< G4endl; + G4cout << " sum of ends " << Pstart+Pend << G4endl; + G4cout << " Original " << hadron->Get4Momentum() << G4endl; +#endif + + return string; +} + + +// --------- private methods ---------------------- + +G4double G4QGSDiffractiveExcitation::ChooseP(G4double Pmin, G4double Pmax) const // Uzhi +{ +// choose an x between Xmin and Xmax with P(x) ~ 1/x + +// to be improved... + + G4double range=Pmax-Pmin; // Uzhi + + if ( Pmin <= 0. || range <=0. ) + { + G4cout << " Pmin, range : " << Pmin << " , " << range << G4endl; + throw G4HadronicException(__FILE__, __LINE__, "G4QGSDiffractiveExcitation::ChooseP : Invalid arguments "); + } + + G4double P; +/* // Uzhi + do { + x=Xmin + G4UniformRand() * range; + } while ( Xmin/x < G4UniformRand() ); +*/ // Uzhi + + P=Pmin * std::pow(Pmax/Pmin,G4UniformRand()); // Uzhi + +//debug-hpw cout << "DiffractiveX "< maxPtSquare); +*/ // Uzhi + + Pt2 = -AveragePt2 * std::log(1. + G4UniformRand() * (std::exp(-maxPtSquare/AveragePt2)-1.));// Uzhi + + G4double Pt=std::sqrt(Pt2); + + G4double phi=G4UniformRand() * twopi; + + return G4ThreeVector (Pt*std::cos(phi), Pt*std::sin(phi), 0.); +} + +G4QGSDiffractiveExcitation::G4QGSDiffractiveExcitation(const G4QGSDiffractiveExcitation &) +{ + throw G4HadronicException(__FILE__, __LINE__, "G4QGSDiffractiveExcitation copy contructor not meant to be called"); +} + + +G4QGSDiffractiveExcitation::~G4QGSDiffractiveExcitation() +{ +} + + +const G4QGSDiffractiveExcitation & G4QGSDiffractiveExcitation::operator=(const G4QGSDiffractiveExcitation &) +{ + throw G4HadronicException(__FILE__, __LINE__, "G4QGSDiffractiveExcitation = operator meant to be called"); + return *this; +} + + +int G4QGSDiffractiveExcitation::operator==(const G4QGSDiffractiveExcitation &) const +{ + throw G4HadronicException(__FILE__, __LINE__, "G4QGSDiffractiveExcitation == operator meant to be called"); + return false; +} + +int G4QGSDiffractiveExcitation::operator!=(const G4QGSDiffractiveExcitation &) const +{ + throw G4HadronicException(__FILE__, __LINE__, "G4QGSDiffractiveExcitation != operator meant to be called"); + return true; +} diff --git a/source/processes/hadronic/models/parton_string/management/src/G4SingleDiffractiveExcitation.cc b/source/processes/hadronic/models/parton_string/qgsm/src/G4SingleDiffractiveExcitation.cc similarity index 98% rename from source/processes/hadronic/models/parton_string/management/src/G4SingleDiffractiveExcitation.cc rename to source/processes/hadronic/models/parton_string/qgsm/src/G4SingleDiffractiveExcitation.cc index c00d35524b..8b2154657e 100644 --- a/source/processes/hadronic/models/parton_string/management/src/G4SingleDiffractiveExcitation.cc +++ b/source/processes/hadronic/models/parton_string/qgsm/src/G4SingleDiffractiveExcitation.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // -// $Id: G4SingleDiffractiveExcitation.cc,v 1.5 2006/11/07 12:48:29 gunter Exp $ +// $Id: G4SingleDiffractiveExcitation.cc,v 1.1 2007/05/25 07:30:47 gunter Exp $ // ------------------------------------------------------------ // GEANT 4 class implemetation file // @@ -240,7 +240,7 @@ G4ThreeVector G4SingleDiffractiveExcitation::GaussianPt(G4double widthSquare, G4 } G4SingleDiffractiveExcitation::G4SingleDiffractiveExcitation(const G4SingleDiffractiveExcitation &) -: G4DiffractiveExcitation(), +: G4QGSDiffractiveExcitation(), widthOfPtSquare(0) , minExtraMass(0), minmass(0) { diff --git a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.hh b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.hh index 33c7cd7e31..a84153beb7 100644 --- a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.hh +++ b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.hh @@ -25,7 +25,7 @@ // // // $Id: G4MuNuclearInteraction.hh,v 1.4 2006/06/29 20:57:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: // ------------------------------------------------------------ diff --git a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.icc b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.icc index 29468cee4a..c3350383f6 100644 --- a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.icc +++ b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/include/G4MuNuclearInteraction.icc @@ -25,7 +25,7 @@ // // // $Id: G4MuNuclearInteraction.icc,v 1.3 2006/06/29 20:57:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: // --------------------------------------------------------------- diff --git a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4MuNuclearInteraction.cc b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4MuNuclearInteraction.cc index ba1de9fbf8..822c7bb713 100644 --- a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4MuNuclearInteraction.cc +++ b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4MuNuclearInteraction.cc @@ -25,7 +25,7 @@ // // // $Id: G4MuNuclearInteraction.cc,v 1.7 2006/11/04 02:15:05 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: // -------------------------------------------------------------- diff --git a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4MuonNucleusInteractionModel.cc b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4MuonNucleusInteractionModel.cc index 207a2637ed..29f11c1748 100644 --- a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4MuonNucleusInteractionModel.cc +++ b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4MuonNucleusInteractionModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4MuonNucleusInteractionModel.cc,v 1.6 2006/06/29 20:57:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // G4MuonNucleusInteractionModel.cc diff --git a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4ParametrizedHadronicVertex.cc b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4ParametrizedHadronicVertex.cc index 01798475ba..ef34d6edb7 100644 --- a/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4ParametrizedHadronicVertex.cc +++ b/source/processes/hadronic/models/photolepton_hadron/muon_nuclear/src/G4ParametrizedHadronicVertex.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParametrizedHadronicVertex.cc,v 1.6 2006/06/29 20:57:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- #include "G4ParametrizedHadronicVertex.hh" diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4LowEIonFragmentation.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4LowEIonFragmentation.hh index ec5ca4deba..18a70bccd9 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4LowEIonFragmentation.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4LowEIonFragmentation.hh @@ -25,7 +25,7 @@ // // // $Id: G4LowEIonFragmentation.hh,v 1.3 2006/06/29 20:58:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by H.P. Wellisch diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundAlpha.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundAlpha.hh index 2258b13e2a..d7bbc6f045 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundAlpha.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundAlpha.hh @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundAlpha.hh,v 1.3 2006/06/29 20:58:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundDeuteron.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundDeuteron.hh index 012b65fefb..022a919615 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundDeuteron.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundDeuteron.hh @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundDeuteron.hh,v 1.3 2006/06/29 20:58:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.hh index aa5033babb..c26db01892 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundEmission.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PreCompoundEmission.hh,v 1.3 2006/06/29 20:58:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear Preequilibrium // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.hh index 32f6c107da..3c89bc7f38 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundFragmentVector.hh,v 1.3 2006/06/29 20:58:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear Preequilibrium // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.icc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.icc index c727c941cf..e9684bc328 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.icc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundFragmentVector.icc @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundFragmentVector.icc,v 1.3 2006/06/29 20:58:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear Preequilibrium // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundHe3.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundHe3.hh index 8d6d6a2c10..b9a9bf96d3 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundHe3.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundHe3.hh @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundHe3.hh,v 1.3 2006/06/29 20:58:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundModel.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundModel.hh index d873863bbd..4fc92b216f 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundModel.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundModel.hh,v 1.3 2006/06/29 20:58:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNeutron.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNeutron.hh index 2384e801b2..19a9cede84 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNeutron.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundNeutron.hh @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundNeutron.hh,v 1.4 2006/06/29 20:58:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundParameters.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundParameters.hh index 2db794b6e6..d865ddc70d 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundParameters.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundParameters.hh @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundParameters.hh,v 1.3 2006/06/29 20:58:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundProton.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundProton.hh index fa29054e5b..d55e8bfe75 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundProton.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundProton.hh @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundProton.hh,v 1.3 2006/06/29 20:58:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTransitions.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTransitions.hh index 86195a132f..2cbbec1262 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTransitions.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTransitions.hh @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundTransitions.hh,v 1.3 2006/06/29 20:58:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTriton.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTriton.hh index ab16fb544f..81e72edfaa 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTriton.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4PreCompoundTriton.hh @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundTriton.hh,v 1.3 2006/06/29 20:58:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.hh index 25337997c7..5df464b5b0 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.hh @@ -25,7 +25,7 @@ // // // $Id: G4VPreCompoundFragment.hh,v 1.4 2006/08/20 01:07:28 dennis Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.icc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.icc index 9b4dce36aa..045bd1f267 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.icc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundFragment.icc @@ -25,7 +25,7 @@ // // // $Id: G4VPreCompoundFragment.icc,v 1.4 2006/08/20 01:07:40 dennis Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundIon.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundIon.hh index a543aba106..451bcfd335 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundIon.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundIon.hh @@ -25,7 +25,7 @@ // // // $Id: G4VPreCompoundIon.hh,v 1.3 2006/06/29 20:58:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundNucleon.hh b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundNucleon.hh index 65c3a3a631..81b676b806 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundNucleon.hh +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/include/G4VPreCompoundNucleon.hh @@ -25,7 +25,7 @@ // // // $Id: G4VPreCompoundNucleon.hh,v 1.3 2006/06/29 20:58:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragmentVector.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragmentVector.cc index 6194e5dbea..627ca98b43 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragmentVector.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundFragmentVector.cc @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundFragmentVector.cc,v 1.5 2006/06/29 20:59:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Hadronic Process: Nuclear Preequilibrium // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundModel.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundModel.cc index b3b255dc9f..4d38a3c701 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundModel.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundModel.cc,v 1.8 2006/06/29 20:59:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundParameters.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundParameters.cc index f528bda211..d64ca9e8df 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundParameters.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundParameters.cc @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundParameters.cc,v 1.3 2006/06/29 20:59:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundTransitions.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundTransitions.cc index 1060f18ce2..5a180e2b41 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundTransitions.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4PreCompoundTransitions.cc @@ -25,7 +25,7 @@ // // // $Id: G4PreCompoundTransitions.cc,v 1.9 2007/05/04 14:50:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundFragment.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundFragment.cc index b178832037..1a586e83e3 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundFragment.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundFragment.cc @@ -25,7 +25,7 @@ // // // $Id: G4VPreCompoundFragment.cc,v 1.3 2006/06/29 20:59:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundIon.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundIon.cc index 5744b9e4b1..9ce11cd175 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundIon.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundIon.cc @@ -25,7 +25,7 @@ // // // $Id: G4VPreCompoundIon.cc,v 1.4 2006/06/29 20:59:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundNucleon.cc b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundNucleon.cc index aed6b85df9..be9d4d374b 100644 --- a/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundNucleon.cc +++ b/source/processes/hadronic/models/pre_equilibrium/exciton_model/src/G4VPreCompoundNucleon.cc @@ -25,7 +25,7 @@ // // // $Id: G4VPreCompoundNucleon.cc,v 1.4 2006/06/29 20:59:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // by V. Lara diff --git a/source/processes/hadronic/models/radioactive_decay/History b/source/processes/hadronic/models/radioactive_decay/History index db9beaf5db..4515b383ae 100644 --- a/source/processes/hadronic/models/radioactive_decay/History +++ b/source/processes/hadronic/models/radioactive_decay/History @@ -13,6 +13,13 @@ track of all tags. ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +21 June 2007 Fan Lei (radioactive_decay-V08-03-00) +- Minor changes to remove compilation warnings on Windows + src\G4RIsotopeTable.cc(204): warning C4804: + '-' : unsafe use of type 'bool' in operation + src\G4RadioactiveDecay.cc(690): warning C4804: + '-' : unsafe use of type 'bool' in operation + 10 November 2006 Fan Lei (radioactive_decay-V08-01-01) - G4NuclearDecayChannel.cc: added the capability of handling decay emission of proton or neutron for decays of He5 (alpha+n) and Li5 (alpha+p). bug#852 diff --git a/source/processes/hadronic/models/radioactive_decay/src/G4RIsotopeTable.cc b/source/processes/hadronic/models/radioactive_decay/src/G4RIsotopeTable.cc index e1ee9bf572..252cd7b0df 100644 --- a/source/processes/hadronic/models/radioactive_decay/src/G4RIsotopeTable.cc +++ b/source/processes/hadronic/models/radioactive_decay/src/G4RIsotopeTable.cc @@ -201,7 +201,8 @@ G4double G4RIsotopeTable::GetMeanLifeTime (G4int Z, G4int A, G4double& aE) G4double a(0.0); G4double b(0.0); - while (!found && -DecaySchemeFile.getline(inputChars, 80).eof() != EOF) +// while (!found && -DecaySchemeFile.getline(inputChars, 80).eof() != EOF) + while (!found && !DecaySchemeFile.getline(inputChars, 80).eof()) { inputLine = inputChars; //G4String::stripType stripend(1); diff --git a/source/processes/hadronic/models/radioactive_decay/src/G4RadioactiveDecay.cc b/source/processes/hadronic/models/radioactive_decay/src/G4RadioactiveDecay.cc index 255fe20aa1..275aa24b70 100644 --- a/source/processes/hadronic/models/radioactive_decay/src/G4RadioactiveDecay.cc +++ b/source/processes/hadronic/models/radioactive_decay/src/G4RadioactiveDecay.cc @@ -687,8 +687,8 @@ G4DecayTable *G4RadioactiveDecay::LoadDecayTable (G4ParticleDefinition // Go through each record in the data file until you identify the decay // data relating to the nuclide of concern. // - while (!complete && -DecaySchemeFile.getline(inputChars, 80).eof() != EOF) - { +// while (!complete && -DecaySchemeFile.getline(inputChars, 80).eof() != EOF) + while (!complete && !DecaySchemeFile.getline(inputChars, 80).eof()) { inputLine = inputChars; // G4String::stripType stripend(1); // inputLine = inputLine.strip(stripend); diff --git a/source/processes/hadronic/models/theo_high_energy/include/G4QuasiElasticChannel.hh b/source/processes/hadronic/models/theo_high_energy/include/G4QuasiElasticChannel.hh index defd2b6eaf..9531ca4ca2 100644 --- a/source/processes/hadronic/models/theo_high_energy/include/G4QuasiElasticChannel.hh +++ b/source/processes/hadronic/models/theo_high_energy/include/G4QuasiElasticChannel.hh @@ -25,7 +25,7 @@ // // // $Id: G4QuasiElasticChannel.hh,v 1.1 2007/03/30 15:25:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author : Gunter Folger March 2007 diff --git a/source/processes/hadronic/models/theo_high_energy/include/G4TheoFSGenerator.hh b/source/processes/hadronic/models/theo_high_energy/include/G4TheoFSGenerator.hh index d852ce2d1d..03a1815915 100644 --- a/source/processes/hadronic/models/theo_high_energy/include/G4TheoFSGenerator.hh +++ b/source/processes/hadronic/models/theo_high_energy/include/G4TheoFSGenerator.hh @@ -25,7 +25,7 @@ // // // $Id: G4TheoFSGenerator.hh,v 1.5 2007/04/12 07:53:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class Description diff --git a/source/processes/hadronic/models/theo_high_energy/src/G4QuasiElasticChannel.cc b/source/processes/hadronic/models/theo_high_energy/src/G4QuasiElasticChannel.cc index 92e1d7cf92..241ab9c162 100644 --- a/source/processes/hadronic/models/theo_high_energy/src/G4QuasiElasticChannel.cc +++ b/source/processes/hadronic/models/theo_high_energy/src/G4QuasiElasticChannel.cc @@ -25,7 +25,7 @@ // // // $Id: G4QuasiElasticChannel.cc,v 1.1 2007/03/30 15:25:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Author : Gunter Folger March 2007 diff --git a/source/processes/hadronic/models/theo_high_energy/src/G4TheoFSGenerator.cc b/source/processes/hadronic/models/theo_high_energy/src/G4TheoFSGenerator.cc index 377ccdaff5..74a1008cb3 100644 --- a/source/processes/hadronic/models/theo_high_energy/src/G4TheoFSGenerator.cc +++ b/source/processes/hadronic/models/theo_high_energy/src/G4TheoFSGenerator.cc @@ -25,7 +25,7 @@ // // // $Id: G4TheoFSGenerator.cc,v 1.7 2007/04/12 07:53:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4TheoFSGenerator diff --git a/source/processes/hadronic/models/util/History b/source/processes/hadronic/models/util/History index ea6b4e1c88..a2be8dd575 100644 --- a/source/processes/hadronic/models/util/History +++ b/source/processes/hadronic/models/util/History @@ -14,7 +14,7 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- -24 Jan 2007 Gunter Folger (hadr-mod-util-v08-02-00) +24 Jan 2007 Gunter Folger (hadr-mod-util-V08-02-00) - G4Parton.{cc,hh}: add method setting momentum using both + and - momentum component - G4Fragment.cc: more info on warning output of negative excitation energy diff --git a/source/processes/hadronic/processes/include/G4ElectronNuclearProcess.hh b/source/processes/hadronic/processes/include/G4ElectronNuclearProcess.hh index a38569a431..1a4f899e86 100644 --- a/source/processes/hadronic/processes/include/G4ElectronNuclearProcess.hh +++ b/source/processes/hadronic/processes/include/G4ElectronNuclearProcess.hh @@ -25,7 +25,7 @@ // // // $Id: G4ElectronNuclearProcess.hh,v 1.5 2006/06/29 21:02:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class Description: // diff --git a/source/processes/hadronic/processes/include/G4PhotoNuclearProcess.hh b/source/processes/hadronic/processes/include/G4PhotoNuclearProcess.hh index ec7f71d8f8..ce176d5f33 100644 --- a/source/processes/hadronic/processes/include/G4PhotoNuclearProcess.hh +++ b/source/processes/hadronic/processes/include/G4PhotoNuclearProcess.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4PhotoNuclearProcess.hh,v 1.8 2007/01/07 04:56:01 dennis Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class Description // Process for photon nuclear inelastic scattering; diff --git a/source/processes/hadronic/processes/src/G4ElectronNuclearProcess.cc b/source/processes/hadronic/processes/src/G4ElectronNuclearProcess.cc index 926f4a32ce..d9c9f210de 100644 --- a/source/processes/hadronic/processes/src/G4ElectronNuclearProcess.cc +++ b/source/processes/hadronic/processes/src/G4ElectronNuclearProcess.cc @@ -25,7 +25,7 @@ // // // $Id: G4ElectronNuclearProcess.cc,v 1.2 2006/06/29 21:03:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4ElectronNuclearProcess.hh" diff --git a/source/processes/hadronic/processes/src/G4PhotoNuclearProcess.cc b/source/processes/hadronic/processes/src/G4PhotoNuclearProcess.cc index 2623e94a16..d847d2be0a 100644 --- a/source/processes/hadronic/processes/src/G4PhotoNuclearProcess.cc +++ b/source/processes/hadronic/processes/src/G4PhotoNuclearProcess.cc @@ -26,7 +26,7 @@ // // // $Id: G4PhotoNuclearProcess.cc,v 1.2 2006/06/29 21:03:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4PhotoNuclearProcess.hh" diff --git a/source/processes/hadronic/stopping/include/G4MuMinusCaptureCascade.hh b/source/processes/hadronic/stopping/include/G4MuMinusCaptureCascade.hh index 272e6f1af4..e9a80672b2 100644 --- a/source/processes/hadronic/stopping/include/G4MuMinusCaptureCascade.hh +++ b/source/processes/hadronic/stopping/include/G4MuMinusCaptureCascade.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4MuMinusCaptureCascade.hh,v 1.8 2006/11/15 12:17:15 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4MuonMinusCaptureAtRest.hh b/source/processes/hadronic/stopping/include/G4MuonMinusCaptureAtRest.hh index 3596c64817..91fec9c929 100644 --- a/source/processes/hadronic/stopping/include/G4MuonMinusCaptureAtRest.hh +++ b/source/processes/hadronic/stopping/include/G4MuonMinusCaptureAtRest.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4MuonMinusCaptureAtRest.hh,v 1.17 2006/11/15 12:17:15 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class header file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/include/G4StopElementSelector.hh b/source/processes/hadronic/stopping/include/G4StopElementSelector.hh index 420f43f102..7b7cefafd0 100644 --- a/source/processes/hadronic/stopping/include/G4StopElementSelector.hh +++ b/source/processes/hadronic/stopping/include/G4StopElementSelector.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4StopElementSelector.hh,v 1.9 2006/11/15 12:17:15 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4MuMinusCaptureCascade.cc b/source/processes/hadronic/stopping/src/G4MuMinusCaptureCascade.cc index 51922065cc..22c8db94a6 100644 --- a/source/processes/hadronic/stopping/src/G4MuMinusCaptureCascade.cc +++ b/source/processes/hadronic/stopping/src/G4MuMinusCaptureCascade.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4MuMinusCaptureCascade.cc,v 1.14 2007/02/13 15:25:05 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // GEANT 4 class implementation file --- Copyright CERN 1998 diff --git a/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc b/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc index b03fdf6b81..5197bcd14d 100644 --- a/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc +++ b/source/processes/hadronic/stopping/src/G4MuonMinusCaptureAtRest.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4MuonMinusCaptureAtRest.cc,v 1.43 2007/01/30 10:31:02 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 class file diff --git a/source/processes/hadronic/stopping/src/G4StopElementSelector.cc b/source/processes/hadronic/stopping/src/G4StopElementSelector.cc index 4ac3c177d6..beb5f1f711 100644 --- a/source/processes/hadronic/stopping/src/G4StopElementSelector.cc +++ b/source/processes/hadronic/stopping/src/G4StopElementSelector.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4StopElementSelector.cc,v 1.14 2006/11/15 12:17:15 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // GEANT4 class file diff --git a/source/processes/hadronic/util/History b/source/processes/hadronic/util/History index c15fff11a6..80f05d9fa3 100644 --- a/source/processes/hadronic/util/History +++ b/source/processes/hadronic/util/History @@ -14,6 +14,41 @@ code and to keep track of all tags. * Please list in reverse chronological order (last date on top) --------------------------------------------------------------- +27 June 2007 Alex Howard (hadr-util-V08-03-03) +------------------------------------------------ +- Removed DumpCoreOnHadronicException protection around Report() in + G4HadronicException, temporary fix to give output for G4NEUTRONHPDATA not set + +12 June 2007 Dennis Wright (hadr-util-V08-03-02) +------------------------------------------------ +- G4ReactionDynamics::TwoCluster : fix array bound violation when backward + nucleon count is 0 + +12 June 2007 Dennis Wright (hadr-util-V08-03-01) +------------------------------------------------ +- G4ReactionDynamics::TwoCluster : fix two bugs: + 1) sharp peak at 180 degrees for low and medium energies due to a units + error: + G4double totalE = kineticE + vMass; + was changed to + G4double totalE = kineticE*GeV + vMass; + Result is that particles from intra-nuclear cascade now have energies + ~ 100 MeV instead of almost 0. + + 2) sharp peak at 180 degrees for low and medium energies and target nuclei + with Z > 6 due to incorrect sampling of polar angle: + replaced + G4double costheta = + 1.0 + 2.0*std::log(1.0 - G4UniformRand()) / dtb; + with + G4double costheta = + 1.0 + 2.0*std::log(1.0 - G4UniformRand()*factor) / dtb; + where factor = 1.0 - std::exp(-dtb) and dtb is momentum-dependent + +10 June 2007 Dennis Wright (hadr-util-V08-03-00) +------------------------------------------------ +- remove un-used classes G4Fuzzy, G4EffectiveCharge, G4ParticleVector + 16 April 2007 Dennis Wright (hadr-util-V08-02-01) ------------------------------------------------- - G4HadronicWhiteboard.hh, .cc : add methods to set process and model names diff --git a/source/processes/hadronic/util/include/G4EffectiveCharge.hh b/source/processes/hadronic/util/include/G4EffectiveCharge.hh deleted file mode 100644 index e33e619de6..0000000000 --- a/source/processes/hadronic/util/include/G4EffectiveCharge.hh +++ /dev/null @@ -1,181 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -#ifndef G4EffectiveCharge_h -#define G4EffectiveCharge_h - -#include "G4Material.hh" - -class G4EffectiveCharge -{ - public: - G4double GetCharge(const G4Material* material, G4double kineticEnergy, - G4double particleMass, G4double ionCharge); -}; - -inline G4double G4EffectiveCharge::GetCharge(const G4Material* material, G4double kineticEnergy, - G4double particleMass, G4double ionCharge) -{ - // This is cut and paste with minor changes from low_energy electromagnetic to avoid coupling. - // A design iteration is necessary for next time, to generate a process utility. - - // Original Author: V Ivanchenko. - // The aproximation of ion effective charge from: - // J.F.Ziegler, J.P. Biersack, U. Littmark - // The Stopping and Range of Ions in Matter, - // Vol.1, Pergamon Press, 1985 - - // Fast ions or hadrons - G4double reducedEnergy = kineticEnergy * proton_mass_c2/particleMass ; - if( (reducedEnergy > ionCharge * 10.0 * MeV) || - (ionCharge < 1.5) ) return ionCharge ; - - static G4double vFermi[92] = { - 1.0309, 0.15976, 0.59782, 1.0781, 1.0486, 1.0, 1.058, 0.93942, 0.74562, 0.3424, - 0.45259, 0.71074, 0.90519, 0.97411, 0.97184, 0.89852, 0.70827, 0.39816, 0.36552, 0.62712, - 0.81707, 0.9943, 1.1423, 1.2381, 1.1222, 0.92705, 1.0047, 1.2, 1.0661, 0.97411, - 0.84912, 0.95, 1.0903, 1.0429, 0.49715, 0.37755, 0.35211, 0.57801, 0.77773, 1.0207, - 1.029, 1.2542, 1.122, 1.1241, 1.0882, 1.2709, 1.2542, 0.90094, 0.74093, 0.86054, - 0.93155, 1.0047, 0.55379, 0.43289, 0.32636, 0.5131, 0.695, 0.72591, 0.71202, 0.67413, - 0.71418, 0.71453, 0.5911, 0.70263, 0.68049, 0.68203, 0.68121, 0.68532, 0.68715, 0.61884, - 0.71801, 0.83048, 1.1222, 1.2381, 1.045, 1.0733, 1.0953, 1.2381, 1.2879, 0.78654, - 0.66401, 0.84912, 0.88433, 0.80746, 0.43357, 0.41923, 0.43638, 0.51464, 0.73087, 0.81065, - 1.9578, 1.0257} ; - - static G4double lFactor[92] = { - 1.0, 1.0, 1.1, 1.06, 1.01, 1.03, 1.04, 0.99, 0.95, 0.9, - 0.82, 0.81, 0.83, 0.88, 1.0, 0.95, 0.97, 0.99, 0.98, 0.97, - 0.98, 0.97, 0.96, 0.93, 0.91, 0.9, 0.88, 0.9, 0.9, 0.9, - 0.9, 0.85, 0.9, 0.9, 0.91, 0.92, 0.9, 0.9, 0.9, 0.9, - 0.9, 0.88, 0.9, 0.88, 0.88, 0.9, 0.9, 0.88, 0.9, 0.9, - 0.9, 0.9, 0.96, 1.2, 0.9, 0.88, 0.88, 0.85, 0.9, 0.9, - 0.92, 0.95, 0.99, 1.03, 1.05, 1.07, 1.08, 1.1, 1.08, 1.08, - 1.08, 1.08, 1.09, 1.09, 1.1, 1.11, 1.12, 1.13, 1.14, 1.15, - 1.17, 1.2, 1.18, 1.17, 1.17, 1.16, 1.16, 1.16, 1.16, 1.16, - 1.16, 1.16} ; - - static G4double c[6] = {0.2865, 0.1266, -0.001429, - 0.02402,-0.01135, 0.001475} ; - - // get elements in the actual material, - const G4ElementVector* theElementVector = material->GetElementVector() ; - const G4double* theAtomicNumDensityVector = - material->GetAtomicNumDensityVector() ; - const G4int NumberOfElements = material->GetNumberOfElements() ; - - // loop for the elements in the material - // to find out average values Z, vF, lF - G4double z = 0.0, vF = 0.0, lF = 0.0, norm = 0.0 ; - - if( 1 == NumberOfElements ) - { - z = material->GetZ() ; - G4int iz = G4int(z) - 1 ; - if(iz < 0) iz = 0 ; - else if(iz > 91) iz = 91 ; - vF = vFermi[iz] ; - lF = lFactor[iz] ; - - } - else - { - for (G4int iel=0; ielGetZ() ; - const G4double weight = theAtomicNumDensityVector[iel] ; - norm += weight ; - z += z2 * weight ; - G4int iz = G4int(z2) - 1 ; - if(iz < 0) iz = 0 ; - else if(iz > 91) iz =91 ; - vF += vFermi[iz] * weight ; - lF += lFactor[iz] * weight ; - } - z /= norm ; - vF /= norm ; - lF /= norm ; - } - - // Helium ion case - if( ionCharge < 2.5 ) - { - G4double theHeMassAMU(4.0026); - G4double e = std::log(std::max(1.0, kineticEnergy / (keV*theHeMassAMU) )) ; - G4double x = c[0] ; - G4double y = 1.0 ; - for (G4int i=1; i<6; i++) - { - y *= e ; - x += y * c[i] ; - } - G4double q = 7.6 - e ; - q = 1.0 + ( 0.007 + 0.00005 * z ) * std::exp( -q*q ) ; - return std::sqrt(4.0 * q * q * (1.0 - std::exp(-x))) ; - - // Heavy ion case - } - else - { - - // v1 is ion velocity in vF unit - G4double v1 = std::sqrt( reducedEnergy / (25.0 * keV) )/ vF ; - G4double y ; - G4double z13 = std::pow(ionCharge, 0.3333) ; - - // Faster than Fermi velocity - if ( v1 > 1.0 ) - { - y = vF * v1 * ( 1.0 + 0.2 / (v1*v1) ) / (z13*z13) ; - - // Slower than Fermi velocity - } - else - { - y = 0.6923 * vF * (1.0 + 2.0*v1*v1/3.0 + v1*v1*v1*v1/15.0) / (z13*z13) ; - } - - G4double y3 = std::pow(y, 0.3) ; - G4double q = 1.0 - std::exp( 0.803*y3 - 1.3167*y3*y3 - - 0.38157*y - 0.008983*y*y ) ; - if( q < 0.0 ) q = 0.0 ; - - G4double s = 7.6 - std::log(std::max(1.0, reducedEnergy/keV)) ; - s = 1.0 + ( 0.18 + 0.0015 * z ) * std::exp( -s*s )/ (ionCharge*ionCharge) ; - - // Screen length according to - // J.F.Ziegler and J.M.Manoyan, The stopping of ions in compaunds, - // Nucl. Inst. & Meth. in Phys. Res. B35 (1988) 215-228. - - G4double lambda = 10.0 * vF * std::pow(1.0-q, 0.6667) / (z13 * (6.0 + q)) ; - G4double qeff = ionCharge * s * - ( q + 0.5*(1.0-q) * std::log(1.0 + lambda*lambda) / (vF*vF) ) ; - if( 1.0 > qeff ) qeff = 1.0 ; - return std::sqrt(qeff) ; - } -} - -#endif diff --git a/source/processes/hadronic/util/include/G4Fuzzy.hh b/source/processes/hadronic/util/include/G4Fuzzy.hh deleted file mode 100644 index 289e8357c9..0000000000 --- a/source/processes/hadronic/util/include/G4Fuzzy.hh +++ /dev/null @@ -1,46 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -#ifndef G4Fuzzy_hh -#define G4Fuzzy_hh - -#include - -class G4Fuzzy : public std::pair -{ - public: - G4Fuzzy() - { - first=true; - second=false; - } - G4Fuzzy(bool aB) - { - first=false; - second=aB; - } -}; - -#endif diff --git a/source/processes/hadronic/util/include/G4HadronicException.hh b/source/processes/hadronic/util/include/G4HadronicException.hh index a244667e0e..b3b836ed5f 100644 --- a/source/processes/hadronic/util/include/G4HadronicException.hh +++ b/source/processes/hadronic/util/include/G4HadronicException.hh @@ -39,12 +39,13 @@ class G4HadronicException : public std::exception theName = in; theLine = at; + Report(G4cout); + if(getenv("DumpCoreOnHadronicException") ) - { - Report(G4cout); - G4Exception("G4HadronicException", "007", FatalException, - "Fatal problem in above location"); - } + { + G4Exception("G4HadronicException", "007", FatalException, + "Fatal problem in above location"); + } } virtual ~G4HadronicException() throw () {} diff --git a/source/processes/hadronic/util/src/G4ReactionDynamics.cc b/source/processes/hadronic/util/src/G4ReactionDynamics.cc index 48ddfc75ca..e952470450 100644 --- a/source/processes/hadronic/util/src/G4ReactionDynamics.cc +++ b/source/processes/hadronic/util/src/G4ReactionDynamics.cc @@ -1321,11 +1321,7 @@ kineticFactor, modifiedOriginal, PinNucleus, NinNucleus, targetNucleus, vec, vecLen); -// G4double jpw=0; -// jpw+=GetQValue(¤tParticle); -// jpw+=GetQValue(&targetParticle); -// for( i=0; i DumpFrames::DumpFrame(vec, vecLen); } //if( centerofmassEnergy <= (4.0+G4UniformRand()) ) @@ -1715,22 +1711,22 @@ const G4double cpar[] = { 0.6, 0.6, 0.35, 0.15, 0.10 }; const G4double gpar[] = { 2.6, 2.6, 1.8, 1.30, 1.20 }; - if (forwardCount <= 0) { - return false; // array bounds protection - } else if (forwardCount == 1) { - rmc = forwardMass; - } else { -// G4int ntc = std::min(5,forwardCount); // check if offset by 1 @@ + if (forwardCount <= 0 || backwardCount <= 0) return false; // array bounds protection + + if (forwardCount == 1) rmc = forwardMass; + else + { G4int ntc = std::max(1, std::min(5,forwardCount))-1; // check if offset by 1 @@ rmc = forwardMass + std::pow(-std::log(1.0-G4UniformRand()),cpar[ntc-1])/gpar[ntc-1]; } - if( backwardCount == 1 )rmd = backwardMass; + + if (backwardCount == 1) rmd = backwardMass; else { -// G4int ntc = std::min(5,backwardCount); // check, if offfset by 1 @@ G4int ntc = std::max(1, std::min(5,backwardCount)); // check, if offfset by 1 @@ rmd = backwardMass + std::pow(-std::log(1.0-G4UniformRand()),cpar[ntc-1])/gpar[ntc-1]; } + while( rmc+rmd > centerofmassEnergy ) { if( (rmc <= forwardMass) && (rmd <= backwardMass) ) @@ -1782,27 +1778,22 @@ const G4double bMin = 0.01; const G4double b1 = 4.0; const G4double b2 = 1.6; - G4double t = std::log( 1.0-G4UniformRand() ) / std::max( bMin, b1+b2*std::log(pOriginal) ); - G4double t1 = - pseudoParticle[1].GetTotalEnergy()/GeV - pseudoParticle[3].GetTotalEnergy()/GeV; + G4double pin = pseudoParticle[1].GetMomentum().mag()/GeV; - G4double tacmin = t1*t1 - (pin-pf)*(pin-pf); - // - // calculate (std::sin(teta/2.)^2 and std::cos(teta), set azimuth angle phi - // - const G4double smallValue = 1.0e-10; - G4double dumnve = 4.0*pin*pf; - if( dumnve == 0.0 )dumnve = smallValue; - G4double ctet = std::max( -1.0, std::min( 1.0, 1.0+2.0*(t-tacmin)/dumnve ) ); - dumnve = std::max( 0.0, 1.0-ctet*ctet ); - G4double stet = std::sqrt(dumnve); + G4double dtb = 4.0*pin*pf*std::max( bMin, b1+b2*std::log(pOriginal) ); + G4double factor = 1.0 - std::exp(-dtb); + G4double costheta = 1.0 + 2.0*std::log(1.0 - G4UniformRand()*factor) / dtb; + costheta = std::max(-1.0, std::min(1.0, costheta)); + G4double sintheta = std::sqrt(1.0-costheta*costheta); G4double phi = G4UniformRand() * twopi; + // // calculate final state momenta in centre of mass system // - pseudoParticle[3].SetMomentum( pf*stet*std::sin(phi)*GeV, - pf*stet*std::cos(phi)*GeV, - pf*ctet*GeV ); + pseudoParticle[3].SetMomentum( pf*sintheta*std::cos(phi)*GeV, + pf*sintheta*std::sin(phi)*GeV, + pf*costheta*GeV ); + pseudoParticle[4].SetMomentum( pseudoParticle[3].GetMomentum() * (-1.0) ); // // simulate backward nucleon cluster in lab. system and transform in cms @@ -1827,7 +1818,7 @@ std::pow( (G4UniformRand()*(1.0-ga)/a+std::pow(ekit1,(1.0-ga))), (1.0/(1.0-ga)) ); vec[i]->SetKineticEnergy( kineticE*GeV ); G4double vMass = vec[i]->GetMass()/MeV; - G4double totalE = kineticE + vMass; + G4double totalE = kineticE*GeV + vMass; pp = std::sqrt( std::abs(totalE*totalE-vMass*vMass) ); G4double cost = std::min( 1.0, std::max( -1.0, std::log(2.23*G4UniformRand()+0.383)/0.96 ) ); G4double sint = std::sqrt( std::max( 0.0, (1.0-cost*cost) ) ); diff --git a/source/processes/management/include/G4IVContinuousDiscreteProcess.hh b/source/processes/management/include/G4IVContinuousDiscreteProcess.hh index cd745c05fb..b033b7a032 100644 --- a/source/processes/management/include/G4IVContinuousDiscreteProcess.hh +++ b/source/processes/management/include/G4IVContinuousDiscreteProcess.hh @@ -25,7 +25,7 @@ // // // $Id: G4IVContinuousDiscreteProcess.hh,v 1.8 2006/06/29 21:07:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4IVRestDiscreteProcess.hh b/source/processes/management/include/G4IVRestDiscreteProcess.hh index 684d8f574d..33a9077ef6 100644 --- a/source/processes/management/include/G4IVRestDiscreteProcess.hh +++ b/source/processes/management/include/G4IVRestDiscreteProcess.hh @@ -25,7 +25,7 @@ // // // $Id: G4IVRestDiscreteProcess.hh,v 1.8 2006/06/29 21:07:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ParticleTypes.hh b/source/processes/management/include/G4ParticleTypes.hh index 0f3b97447e..9da56672e3 100644 --- a/source/processes/management/include/G4ParticleTypes.hh +++ b/source/processes/management/include/G4ParticleTypes.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleTypes.hh,v 1.6 2006/06/29 21:07:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcTblElement.hh b/source/processes/management/include/G4ProcTblElement.hh index 2a516c7f38..abaa15abd3 100644 --- a/source/processes/management/include/G4ProcTblElement.hh +++ b/source/processes/management/include/G4ProcTblElement.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProcTblElement.hh,v 1.11 2006/06/29 21:07:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcTblElement.icc b/source/processes/management/include/G4ProcTblElement.icc index 503758a56e..0aa97c9aa4 100644 --- a/source/processes/management/include/G4ProcTblElement.icc +++ b/source/processes/management/include/G4ProcTblElement.icc @@ -25,7 +25,7 @@ // // // $Id: G4ProcTblElement.icc,v 1.8 2006/06/29 21:07:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcessAttribute.hh b/source/processes/management/include/G4ProcessAttribute.hh index 09c8a73f81..daf6a7221e 100644 --- a/source/processes/management/include/G4ProcessAttribute.hh +++ b/source/processes/management/include/G4ProcessAttribute.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProcessAttribute.hh,v 1.5 2006/06/29 21:07:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcessManager.hh b/source/processes/management/include/G4ProcessManager.hh index 462f79acc4..356dbdeb73 100644 --- a/source/processes/management/include/G4ProcessManager.hh +++ b/source/processes/management/include/G4ProcessManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ProcessManager.hh,v 1.12 2006/06/29 21:07:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ProcessManager.hh,v 1.14 2007/03/30 01:02:28 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -202,8 +202,10 @@ class G4ProcessManager // ContinuousProcess has only AlongStepDoIt // DiscreteProcess has only PostStepDoIt // if ord is not specified, the process is - // added at the end of List of processvectors for - // both DoIt and GetPhysicalInteractionLength + // added at the end of List of processvectors + // (except for processes assigned to LAST explicitly ) + // for both DoIt and GetPhysicalInteractionLength + // G4int AddRestProcess(G4VProcess *aProcess, G4int ord = ordDefault); G4int AddDiscreteProcess(G4VProcess *aProcess, G4int ord = ordDefault); diff --git a/source/processes/management/include/G4ProcessManager.icc b/source/processes/management/include/G4ProcessManager.icc index 164a363097..d772da00b2 100644 --- a/source/processes/management/include/G4ProcessManager.icc +++ b/source/processes/management/include/G4ProcessManager.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ProcessManager.icc,v 1.4 2006/06/29 21:07:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ProcessManager.icc,v 1.6 2007/03/30 01:02:28 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/management/include/G4ProcessManagerMessenger.hh b/source/processes/management/include/G4ProcessManagerMessenger.hh index 1e1583c2ff..bd7381854a 100644 --- a/source/processes/management/include/G4ProcessManagerMessenger.hh +++ b/source/processes/management/include/G4ProcessManagerMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProcessManagerMessenger.hh,v 1.7 2006/06/29 21:07:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/processes/management/include/G4ProcessTable.hh b/source/processes/management/include/G4ProcessTable.hh index cc9d1c05ff..44bce6cc10 100644 --- a/source/processes/management/include/G4ProcessTable.hh +++ b/source/processes/management/include/G4ProcessTable.hh @@ -26,7 +26,7 @@ // // $Id: G4ProcessTable.hh,v 1.10 2006/06/29 21:07:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcessTable.icc b/source/processes/management/include/G4ProcessTable.icc index 28daafd6da..94c6875b00 100644 --- a/source/processes/management/include/G4ProcessTable.icc +++ b/source/processes/management/include/G4ProcessTable.icc @@ -25,7 +25,7 @@ // // // $Id: G4ProcessTable.icc,v 1.5 2006/06/29 21:07:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // History: // Use STL vector instead of RW vector 1. Mar 00 H.Kurashige diff --git a/source/processes/management/include/G4ProcessTableMessenger.hh b/source/processes/management/include/G4ProcessTableMessenger.hh index ef6c41d237..0644caabea 100644 --- a/source/processes/management/include/G4ProcessTableMessenger.hh +++ b/source/processes/management/include/G4ProcessTableMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProcessTableMessenger.hh,v 1.7 2006/06/29 21:07:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/processes/management/include/G4ProcessType.hh b/source/processes/management/include/G4ProcessType.hh index 054a6c1d83..e7b80ea636 100644 --- a/source/processes/management/include/G4ProcessType.hh +++ b/source/processes/management/include/G4ProcessType.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProcessType.hh,v 1.5 2006/06/29 21:07:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/processes/management/include/G4ProcessVector.hh b/source/processes/management/include/G4ProcessVector.hh index 07fd8a928c..46c0ab1455 100644 --- a/source/processes/management/include/G4ProcessVector.hh +++ b/source/processes/management/include/G4ProcessVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4ProcessVector.hh,v 1.10 2006/06/29 21:07:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4ProcessVector.icc b/source/processes/management/include/G4ProcessVector.icc index 13e82ba6cf..9d84c79324 100644 --- a/source/processes/management/include/G4ProcessVector.icc +++ b/source/processes/management/include/G4ProcessVector.icc @@ -25,7 +25,7 @@ // // // $Id: G4ProcessVector.icc,v 1.5 2006/06/29 21:07:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // inline G4bool G4ProcessVector::operator==(const G4ProcessVector &right) const { diff --git a/source/processes/management/include/G4VContinuousDiscreteProcess.hh b/source/processes/management/include/G4VContinuousDiscreteProcess.hh index beb7c68eaa..944a94d1ad 100644 --- a/source/processes/management/include/G4VContinuousDiscreteProcess.hh +++ b/source/processes/management/include/G4VContinuousDiscreteProcess.hh @@ -25,7 +25,7 @@ // // // $Id: G4VContinuousDiscreteProcess.hh,v 1.8 2006/06/29 21:07:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4VContinuousProcess.hh b/source/processes/management/include/G4VContinuousProcess.hh index 39764dddde..2b793780fc 100644 --- a/source/processes/management/include/G4VContinuousProcess.hh +++ b/source/processes/management/include/G4VContinuousProcess.hh @@ -25,7 +25,7 @@ // // // $Id: G4VContinuousProcess.hh,v 1.6 2006/06/29 21:07:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4VDiscreteProcess.hh b/source/processes/management/include/G4VDiscreteProcess.hh index 74813bd949..84ccb951e3 100644 --- a/source/processes/management/include/G4VDiscreteProcess.hh +++ b/source/processes/management/include/G4VDiscreteProcess.hh @@ -26,7 +26,7 @@ // // $Id: G4VDiscreteProcess.hh,v 1.8 2006/06/29 21:07:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4VProcess.hh b/source/processes/management/include/G4VProcess.hh index 14f942ec4b..f9f151a704 100644 --- a/source/processes/management/include/G4VProcess.hh +++ b/source/processes/management/include/G4VProcess.hh @@ -25,7 +25,7 @@ // // // $Id: G4VProcess.hh,v 1.23 2006/06/29 21:07:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4VRestContinuousDiscreteProcess.hh b/source/processes/management/include/G4VRestContinuousDiscreteProcess.hh index 210e06c095..f80e18a256 100644 --- a/source/processes/management/include/G4VRestContinuousDiscreteProcess.hh +++ b/source/processes/management/include/G4VRestContinuousDiscreteProcess.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRestContinuousDiscreteProcess.hh,v 1.8 2006/06/29 21:07:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4VRestContinuousProcess.hh b/source/processes/management/include/G4VRestContinuousProcess.hh index 7c4cd9c18a..d3489b46df 100644 --- a/source/processes/management/include/G4VRestContinuousProcess.hh +++ b/source/processes/management/include/G4VRestContinuousProcess.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRestContinuousProcess.hh,v 1.6 2006/06/29 21:07:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4VRestDiscreteProcess.hh b/source/processes/management/include/G4VRestDiscreteProcess.hh index d31b3fbb7e..02f42bed5d 100644 --- a/source/processes/management/include/G4VRestDiscreteProcess.hh +++ b/source/processes/management/include/G4VRestDiscreteProcess.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRestDiscreteProcess.hh,v 1.8 2006/06/29 21:07:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4VRestProcess.hh b/source/processes/management/include/G4VRestProcess.hh index 670c8fa2c7..5e9d0510ee 100644 --- a/source/processes/management/include/G4VRestProcess.hh +++ b/source/processes/management/include/G4VRestProcess.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRestProcess.hh,v 1.6 2006/06/29 21:07:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/include/G4WrapperProcess.hh b/source/processes/management/include/G4WrapperProcess.hh index a5db53527c..d8fb8c0d96 100644 --- a/source/processes/management/include/G4WrapperProcess.hh +++ b/source/processes/management/include/G4WrapperProcess.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4WrapperProcess.hh,v 1.6 2006/06/29 21:08:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4WrapperProcess.hh,v 1.7 2007/03/25 23:20:03 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -139,6 +139,19 @@ class G4WrapperProcess :public G4VProcess // should preferably use a // private void BuildThePhysicsTable() // function. Not another BuildPhysicsTable, please. + + virtual void PreparePhysicsTable(const G4ParticleDefinition&){}; + // Messaged by the Particle definition (via the Process manager) + // whenever cross section tables have to be prepare for rebuilt + // (i.e. if new materials have been defined). + // It is overloaded by individual processes when they need physics + // tables. + + // Processes which Build physics tables independent of cuts + // (for example in their constructors) + // should preferably use private + // void BuildThePhysicsTable() and void PreparePhysicsTable(). + // Not another BuildPhysicsTable, please. virtual G4bool StorePhysicsTable(const G4ParticleDefinition* , @@ -264,6 +277,12 @@ inline return pRegProcess->BuildPhysicsTable(particle); } +inline + void G4WrapperProcess::PreparePhysicsTable(const G4ParticleDefinition& particle) +{ + return pRegProcess->PreparePhysicsTable(particle); +} + inline G4bool G4WrapperProcess::StorePhysicsTable(const G4ParticleDefinition* particle, const G4String& directory, diff --git a/source/processes/management/src/G4IVContinuousDiscreteProcess.cc b/source/processes/management/src/G4IVContinuousDiscreteProcess.cc index f62ba91ea9..af9251cdef 100644 --- a/source/processes/management/src/G4IVContinuousDiscreteProcess.cc +++ b/source/processes/management/src/G4IVContinuousDiscreteProcess.cc @@ -25,7 +25,7 @@ // // // $Id: G4IVContinuousDiscreteProcess.cc,v 1.9 2006/06/29 21:08:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4IVRestDiscreteProcess.cc b/source/processes/management/src/G4IVRestDiscreteProcess.cc index b10804bfe2..3283c1d977 100644 --- a/source/processes/management/src/G4IVRestDiscreteProcess.cc +++ b/source/processes/management/src/G4IVRestDiscreteProcess.cc @@ -25,7 +25,7 @@ // // // $Id: G4IVRestDiscreteProcess.cc,v 1.9 2006/06/29 21:08:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4ProcTblElement.cc b/source/processes/management/src/G4ProcTblElement.cc index a53e6c3848..e855b462c2 100644 --- a/source/processes/management/src/G4ProcTblElement.cc +++ b/source/processes/management/src/G4ProcTblElement.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProcTblElement.cc,v 1.7 2006/06/29 21:08:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/src/G4ProcessAttribute.cc b/source/processes/management/src/G4ProcessAttribute.cc index f8d3a69ee8..92002c0dab 100644 --- a/source/processes/management/src/G4ProcessAttribute.cc +++ b/source/processes/management/src/G4ProcessAttribute.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProcessAttribute.cc,v 1.5 2006/06/29 21:08:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/src/G4ProcessManager.cc b/source/processes/management/src/G4ProcessManager.cc index d11d12cbce..84fd3c7dd1 100644 --- a/source/processes/management/src/G4ProcessManager.cc +++ b/source/processes/management/src/G4ProcessManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProcessManager.cc,v 1.28 2006/06/29 21:08:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4ProcessManagerMessenger.cc b/source/processes/management/src/G4ProcessManagerMessenger.cc index a17aad4b41..5e07098ba0 100644 --- a/source/processes/management/src/G4ProcessManagerMessenger.cc +++ b/source/processes/management/src/G4ProcessManagerMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProcessManagerMessenger.cc,v 1.10 2006/06/29 21:08:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/processes/management/src/G4ProcessTable.cc b/source/processes/management/src/G4ProcessTable.cc index 7b7e568f09..a94a4df351 100644 --- a/source/processes/management/src/G4ProcessTable.cc +++ b/source/processes/management/src/G4ProcessTable.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProcessTable.cc,v 1.12 2006/06/29 21:08:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/src/G4ProcessTableMessenger.cc b/source/processes/management/src/G4ProcessTableMessenger.cc index 8664a0a665..a149538d1e 100644 --- a/source/processes/management/src/G4ProcessTableMessenger.cc +++ b/source/processes/management/src/G4ProcessTableMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProcessTableMessenger.cc,v 1.17 2006/06/29 21:08:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/processes/management/src/G4ProcessVector.cc b/source/processes/management/src/G4ProcessVector.cc index 804120e7f9..162f445c35 100644 --- a/source/processes/management/src/G4ProcessVector.cc +++ b/source/processes/management/src/G4ProcessVector.cc @@ -25,7 +25,7 @@ // // // $Id: G4ProcessVector.cc,v 1.4 2006/06/29 21:08:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/management/src/G4VContinuousDiscreteProcess.cc b/source/processes/management/src/G4VContinuousDiscreteProcess.cc index ca04a691c7..96b28262e2 100644 --- a/source/processes/management/src/G4VContinuousDiscreteProcess.cc +++ b/source/processes/management/src/G4VContinuousDiscreteProcess.cc @@ -25,7 +25,7 @@ // // // $Id: G4VContinuousDiscreteProcess.cc,v 1.5 2006/06/29 21:08:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VContinuousProcess.cc b/source/processes/management/src/G4VContinuousProcess.cc index 6b1d9b66fa..c2bc36f8ac 100644 --- a/source/processes/management/src/G4VContinuousProcess.cc +++ b/source/processes/management/src/G4VContinuousProcess.cc @@ -25,7 +25,7 @@ // // // $Id: G4VContinuousProcess.cc,v 1.4 2006/06/29 21:08:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VDiscreteProcess.cc b/source/processes/management/src/G4VDiscreteProcess.cc index f9ff18be4f..3a6b38ec65 100644 --- a/source/processes/management/src/G4VDiscreteProcess.cc +++ b/source/processes/management/src/G4VDiscreteProcess.cc @@ -25,7 +25,7 @@ // // // $Id: G4VDiscreteProcess.cc,v 1.5 2006/06/29 21:08:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VProcess.cc b/source/processes/management/src/G4VProcess.cc index 82c4158213..67a0d800ab 100644 --- a/source/processes/management/src/G4VProcess.cc +++ b/source/processes/management/src/G4VProcess.cc @@ -25,7 +25,7 @@ // // // $Id: G4VProcess.cc,v 1.14 2006/06/29 21:08:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc b/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc index 868a6a53a4..e5a649ac32 100644 --- a/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc +++ b/source/processes/management/src/G4VRestContinuousDiscreteProcess.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRestContinuousDiscreteProcess.cc,v 1.5 2006/06/29 21:08:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VRestContinuousProcess.cc b/source/processes/management/src/G4VRestContinuousProcess.cc index 1149f94918..835b121579 100644 --- a/source/processes/management/src/G4VRestContinuousProcess.cc +++ b/source/processes/management/src/G4VRestContinuousProcess.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRestContinuousProcess.cc,v 1.5 2006/06/29 21:08:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VRestDiscreteProcess.cc b/source/processes/management/src/G4VRestDiscreteProcess.cc index fa1ccde3d0..ab509833af 100644 --- a/source/processes/management/src/G4VRestDiscreteProcess.cc +++ b/source/processes/management/src/G4VRestDiscreteProcess.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRestDiscreteProcess.cc,v 1.5 2006/06/29 21:08:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/management/src/G4VRestProcess.cc b/source/processes/management/src/G4VRestProcess.cc index 76774f73dc..92484fc632 100644 --- a/source/processes/management/src/G4VRestProcess.cc +++ b/source/processes/management/src/G4VRestProcess.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRestProcess.cc,v 1.5 2006/06/29 21:08:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/processes/optical/History b/source/processes/optical/History index 3114e5fa93..c09937af04 100644 --- a/source/processes/optical/History +++ b/source/processes/optical/History @@ -16,6 +16,11 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +11th May 2007 Gabriele Cosmo (op-V08-03-00) +- Use call to G4GeometryTolerance instead of kCarTolerance in + G4OpBoundaryProcess. +- Requires tag "global-V08-03-00" and related tag set. + 11th May 2006 Peter Gumplinger (op-V08-00-01) thanks to Andreia Trindade and Pedro Rodrigues, the WLS time delay can now be a delta function or exponential. New classes: diff --git a/source/processes/optical/include/G4OpAbsorption.hh b/source/processes/optical/include/G4OpAbsorption.hh index 41bc93aa8e..7d39c17f58 100644 --- a/source/processes/optical/include/G4OpAbsorption.hh +++ b/source/processes/optical/include/G4OpAbsorption.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpAbsorption.hh,v 1.9 2006/06/29 21:08:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //////////////////////////////////////////////////////////////////////// // Optical Photon Absorption Class Definition diff --git a/source/processes/optical/include/G4OpBoundaryProcess.hh b/source/processes/optical/include/G4OpBoundaryProcess.hh index cce1c34f17..b46818ee8a 100644 --- a/source/processes/optical/include/G4OpBoundaryProcess.hh +++ b/source/processes/optical/include/G4OpBoundaryProcess.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpBoundaryProcess.hh,v 1.14 2006/06/29 21:08:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4OpBoundaryProcess.hh,v 1.15 2007/05/11 14:15:18 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// @@ -203,7 +203,7 @@ private: G4double theReflectivity; G4double theEfficiency; G4double prob_sl, prob_ss, prob_bs; - + G4double kCarTolerance; }; //////////////////// diff --git a/source/processes/optical/include/G4OpRayleigh.hh b/source/processes/optical/include/G4OpRayleigh.hh index 5197f0db76..2abeb0b95d 100644 --- a/source/processes/optical/include/G4OpRayleigh.hh +++ b/source/processes/optical/include/G4OpRayleigh.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpRayleigh.hh,v 1.9 2006/06/29 21:08:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/processes/optical/include/G4OpWLS.hh b/source/processes/optical/include/G4OpWLS.hh index 209cdd29a2..3259d24db8 100644 --- a/source/processes/optical/include/G4OpWLS.hh +++ b/source/processes/optical/include/G4OpWLS.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpWLS.hh,v 1.4 2006/06/29 21:08:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //////////////////////////////////////////////////////////////////////// // Optical Photon WaveLength Shifting (WLS) Class Definition diff --git a/source/processes/optical/src/G4OpAbsorption.cc b/source/processes/optical/src/G4OpAbsorption.cc index b8bab9a634..ad06960e53 100644 --- a/source/processes/optical/src/G4OpAbsorption.cc +++ b/source/processes/optical/src/G4OpAbsorption.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpAbsorption.cc,v 1.7 2006/06/29 21:08:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //////////////////////////////////////////////////////////////////////// // Optical Photon Absorption Class Implementation diff --git a/source/processes/optical/src/G4OpBoundaryProcess.cc b/source/processes/optical/src/G4OpBoundaryProcess.cc index 7920456ecd..95709cd15e 100644 --- a/source/processes/optical/src/G4OpBoundaryProcess.cc +++ b/source/processes/optical/src/G4OpBoundaryProcess.cc @@ -63,6 +63,7 @@ #include "G4ios.hh" #include "G4OpBoundaryProcess.hh" +#include "G4GeometryTolerance.hh" ///////////////////////// // Class Implementation @@ -97,7 +98,8 @@ G4OpBoundaryProcess::G4OpBoundaryProcess(const G4String& processName, prob_sl = 0.; prob_ss = 0.; prob_bs = 0.; - + kCarTolerance = G4GeometryTolerance::GetInstance() + ->GetSurfaceTolerance(); } // G4OpBoundaryProcess::G4OpBoundaryProcess(const G4OpBoundaryProcess &right) diff --git a/source/processes/optical/src/G4OpRayleigh.cc b/source/processes/optical/src/G4OpRayleigh.cc index 65a750603a..af1ce0b3e7 100644 --- a/source/processes/optical/src/G4OpRayleigh.cc +++ b/source/processes/optical/src/G4OpRayleigh.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpRayleigh.cc,v 1.14 2006/06/29 21:08:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //////////////////////////////////////////////////////////////////////// diff --git a/source/processes/optical/src/G4OpWLS.cc b/source/processes/optical/src/G4OpWLS.cc index 2bb7ba888f..1c266b7500 100644 --- a/source/processes/optical/src/G4OpWLS.cc +++ b/source/processes/optical/src/G4OpWLS.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpWLS.cc,v 1.8 2006/06/29 21:08:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //////////////////////////////////////////////////////////////////////// // Optical Photon WaveLength Shifting (WLS) Class Implementation diff --git a/source/processes/parameterisation/History b/source/processes/parameterisation/History index b36d9429a5..5f51fd3741 100644 --- a/source/processes/parameterisation/History +++ b/source/processes/parameterisation/History @@ -1,4 +1,4 @@ -$Id: History,v 1.33 2006/11/14 08:56:49 gcosmo Exp $ +$Id: History,v 1.35 2007/05/18 15:25:29 mverderi Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,17 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May 18, 2007, M. Verderi +- tag as param-V08-03-00 + +May 11, 2007, M. Verderi +- remove include/G4FastSimulationManagerProcess81.hh + include/G4FlavoredParallelWorld.hh + include/G4GFSManager81.hh + src/G4FastSimulationManagerProcess81.cc + src/G4GFSManager81.cc + + November 10, 2006, M. Verderi - param-V08-01-00 - Limited number of warning messages printed by the G4GlobalFastSimulationManager. diff --git a/source/processes/parameterisation/include/G4FastSimulationManager.hh b/source/processes/parameterisation/include/G4FastSimulationManager.hh index 9117531c9a..e446f4d4a6 100644 --- a/source/processes/parameterisation/include/G4FastSimulationManager.hh +++ b/source/processes/parameterisation/include/G4FastSimulationManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FastSimulationManager.hh,v 1.12 2006/11/03 17:26:04 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4FastSimulationManager.hh,v 1.13 2007/05/11 13:50:20 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- @@ -89,13 +89,13 @@ public: // with description //------------------------ // Only one Constructor. By default the envelope can // be placed n-Times. - // If the user is sure that it'll be placed just one time, + // If the user is sure that it is placed just one time, // the IsUnique flag should be set TRUE to avoid the // G4AffineTransform re-calculations each time we reach // the envelope. G4FastSimulationManager(G4Envelope *anEnvelope, - G4bool IsUnique=FALSE); + G4bool IsUnique = FALSE); // This is the only constructor. In this constructor you specify // the envelope by giving the G4Region (typedef-ed as G4Envelope) // pointer. The G4FastSimulationManager object will bind itself to @@ -148,13 +148,6 @@ public: // without description {return ModelList;} - // ------------------------------------------------------------- - // Deprecated ghost methods, to be dropped @ next major release: - // ------------------------------------------------------------- - G4Transform3D* AddGhostPlacement(G4RotationMatrix*, const G4ThreeVector&); - G4Transform3D* AddGhostPlacement(G4Transform3D*); - G4bool RemoveGhostPlacement(const G4Transform3D*); - G4bool InsertGhostHereIfNecessary(G4VPhysicalVolume*, const G4ParticleDefinition&); //---------------------------------------------- // Interface methods for the // G4FastSimulationManagerProcess process. diff --git a/source/processes/parameterisation/include/G4FastSimulationManagerProcess.hh b/source/processes/parameterisation/include/G4FastSimulationManagerProcess.hh index e18a58d00c..454212228f 100644 --- a/source/processes/parameterisation/include/G4FastSimulationManagerProcess.hh +++ b/source/processes/parameterisation/include/G4FastSimulationManagerProcess.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FastSimulationManagerProcess.hh,v 1.13 2006/11/03 17:26:04 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4FastSimulationManagerProcess.hh,v 1.14 2007/05/11 13:50:20 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- @@ -33,8 +33,7 @@ // G4FastSimulationManagerProcess.hh // // Description: -// The process that triggers parameterised simulations -// if any. +// The process that triggers parameterised simulations if any. // // History: // Feb 98: Parallel geometry sensitivity. MoraDeFreitas. @@ -42,146 +41,119 @@ // (release B.00 for parameterisation). MoraDeFreitas. // Aug 97: First implementation. Verderi && MoraDeFreitas. // Apr 98: modified for new particle change. H.Kurashige +// Oct 06: Move to parallel geometry scheme. M. Verderi +// Nov 06: name xxx81 is given for this release. "81" will be +// removed @ next maj. rel. so that this process becomes +// the standard one. +// May 07: remove "81" tags, to migrate to 9.0. // //--------------------------------------------------------------- -#ifndef G4FastSimulationManagerProcess_h -#define G4FastSimulationManagerProcess_h 1 +#ifndef G4FastSimulationManagerProcess_hh +#define G4FastSimulationManagerProcess_hh #include "globals.hh" #include "G4VProcess.hh" #include "G4FastSimulationManager.hh" #include "G4Step.hh" #include "G4Navigator.hh" -#include "G4PropagatorInField.hh" -#include "G4VTouchable.hh" -#include "G4TouchableHistory.hh" #include "G4VPhysicalVolume.hh" #include "G4VParticleChange.hh" -//------------------------------------------ + +// --------------------------------------------------------------------- // // G4FastSimulationManagerProcess class // -//------------------------------------------ +// --------------------------------------------------------------------- // Class Description: -// This is a G4VProcess. It provides the interface between the tracking and the parameterisation. -// It has to be set in the process list of the particles you want to parameterise. +// -- G4VProcess providing the interface between the tracking and the fast simulation. // class G4FastSimulationManagerProcess : public G4VProcess { public: - - //------------------------ - // Constructor/Destructor - //------------------------ - G4FastSimulationManagerProcess(const G4String& - processName = - "G4FastSimulationManagerProcess", - G4ProcessType - theType = fParameterisation); + // ------------------------- + // Constructor/Destructor: + // ------------------------- + // -- Constructor for parameterisation in mass geometry + G4FastSimulationManagerProcess(const G4String& processName = "G4FastSimulationManagerProcess", + G4ProcessType theType = fParameterisation); + + // -- Contructors for parameterisation attached a parallel geometry. + // -- Can also be used for the mass geometry, providing world volume name. + // -- World volume specified by name or pointer. + G4FastSimulationManagerProcess(const G4String& processName, + const G4String& worldVolumeName, + G4ProcessType theType = fParameterisation); + G4FastSimulationManagerProcess(const G4String& processName, + G4VPhysicalVolume* worldVolume, + G4ProcessType theType = fParameterisation); + virtual ~G4FastSimulationManagerProcess(); - //-------------------------------------------------------------- - // Process interface - //-------------------------------------------------------------- - + // ----------------------- + // User access methods: + // ----------------------- + G4VPhysicalVolume* GetWorldVolume() const {return fWorldVolume;} + + // -- Set new world volume to the process + void SetWorldVolume(G4String ); + void SetWorldVolume(G4VPhysicalVolume*); + + + // -------------------------------------------------------------- + // Process interface + // -------------------------------------------------------------- + + // -- Start/End tracking: void StartTracking(G4Track*); + void EndTracking(); - //--------------------------------------------------- - // GetPhysicalInteractionLength() and DoIt() methods: - //--------------------------------------------------- + // -- PostStep methods: + G4double PostStepGetPhysicalInteractionLength(const G4Track& track, + G4double previousStepSize, + G4ForceCondition* condition); - G4double PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition); + G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step& ); + + + + + + + // -- AtRest methods (still there after many years of no use...): + G4double AtRestGetPhysicalInteractionLength(const G4Track&, + G4ForceCondition*); + + G4VParticleChange* AtRestDoIt(const G4Track&, const G4Step&); + + + // -- unused: + G4double AlongStepGetPhysicalInteractionLength(const G4Track&, G4double, G4double, G4double&, G4GPILSelection*) {return 0.0;} + G4VParticleChange* AlongStepDoIt(const G4Track& , const G4Step&) {return 0;} + + + // -- debug: + void Verbose() const; - G4VParticleChange* PostStepDoIt(const G4Track& ,const G4Step& ); - - //------------------------------------------------------------------------ - // GetPhysicalInteractionLength() and DoIt() methods for AtRest particles: - //------------------------------------------------------------------------ - G4double AtRestGetPhysicalInteractionLength( - const G4Track& , - G4ForceCondition* - ); - - G4VParticleChange* AtRestDoIt( - const G4Track& , - const G4Step& - ); - - - // -- no operation in AlongStepDoIt -- - G4double AlongStepGetPhysicalInteractionLength( - const G4Track&, - G4double , - G4double , - G4double&, - G4GPILSelection* - ); - G4VParticleChange* AlongStepDoIt( - const G4Track& , - const G4Step& - ); - - private: - // When trigged, the *fFastSimulationManager holds - // the pointer used to call the DoIt() method. + //-- would be better to my taste to have "const G4VPhysicalVolume* fWorldVolume;", but clashes at compilation + G4VPhysicalVolume* fWorldVolume; + + G4bool fIsTrackingTime; + G4bool fIsFirstStep; + G4Navigator* fNavigator; + G4int fNavigatorIndex; + + G4FastSimulationManager* fFastSimulationManager; G4bool fFastSimulationTrigger; - // this G4VParticleChange is used only when the safety limites the Step. - G4VParticleChange aDummyParticleChange; - G4ParticleChange xParticleChange; - - // Flags that the track is starting - G4bool fStartTracking; - - // ------------------------------- - // Navigation in the Ghost World: - // ------------------------------- - // Current parallel "ghost" world, related Navigator - // and touchable history: - G4VPhysicalVolume* fGhostWorld; - G4Navigator fGhostNavigator; - G4TouchableHistory* fGhostTouchable; - G4bool fUpdateGhostTouchable; - G4bool fOutOfGhostWorld; - // Isotropic safety value to the next ghost volume - // and allowed Step length: - G4double fGhostSafety, - fGhostStepLength; - // Navigation with field: - G4PropagatorInField* fGhostFieldPropagator; - G4double fParticleCharge; - G4bool fFieldExertsForce; - - // Tracking Navigation used in PostStep, in case of mag-field: - G4Navigator fTrackingNavigator; - G4TouchableHistory fTrackingHistory; - - // ****************************************************** - // ****************************************************** - // - // For TESTS: - // - // ****************************************************** - // ****************************************************** -public: - G4double GetPreSafety() {return fPreSafety;} - G4double GetPreLinearSafety() {return fPreLinearSafety;} - G4double GetSafety() {return fGhostSafety;} - G4double GetLinearSafety() {return fGhostStepLength;} - void Verbose() const; -private: - G4double fPreSafety, fPreLinearSafety; }; #endif diff --git a/source/processes/parameterisation/include/G4FastSimulationManagerProcess81.hh b/source/processes/parameterisation/include/G4FastSimulationManagerProcess81.hh deleted file mode 100644 index 647443484d..0000000000 --- a/source/processes/parameterisation/include/G4FastSimulationManagerProcess81.hh +++ /dev/null @@ -1,161 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4FastSimulationManagerProcess81.hh,v 1.1 2006/11/10 13:23:07 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// -//--------------------------------------------------------------- -// -// G4FastSimulationManagerProcess81.hh -// -// Description: -// The process that triggers parameterised simulations if any. -// -// History: -// Feb 98: Parallel geometry sensitivity. MoraDeFreitas. -// Oct 97: "Fast" replaces "Parameterisation" in class/method names. -// (release B.00 for parameterisation). MoraDeFreitas. -// Aug 97: First implementation. Verderi && MoraDeFreitas. -// Apr 98: modified for new particle change. H.Kurashige -// Oct 06: Move to parallel geometry scheme. M. Verderi -// Nov 06: name xxx81 is given for this release. "81" will be -// removed @ next maj. rel. so that this process becomes -// the standard one. -// -//--------------------------------------------------------------- - - -#ifndef G4FastSimulationManagerProcess81_hh -#define G4FastSimulationManagerProcess81_hh - -#include "globals.hh" -#include "G4VProcess.hh" -#include "G4FastSimulationManager.hh" -#include "G4Step.hh" -#include "G4Navigator.hh" -#include "G4VPhysicalVolume.hh" -#include "G4VParticleChange.hh" - - -// --------------------------------------------------------------------- -// -// G4FastSimulationManagerProcess81 class -// -// --------------------------------------------------------------------- - - -// Class Description: -// -- G4VProcess providing the interface between the tracking and the fast simulation. -// - -class G4FastSimulationManagerProcess81 : public G4VProcess -{ -public: - - // ------------------------- - // Constructor/Destructor: - // ------------------------- - // -- Constructor for parameterisation in mass geometry - G4FastSimulationManagerProcess81(const G4String& processName = "G4FastSimulationManagerProcess81", - G4ProcessType theType = fParameterisation); - - // -- Contructors for parameterisation attached a parallel geometry. - // -- Can also be used for the mass geometry, providing world volume name. - // -- World volume specified by name or pointer. - G4FastSimulationManagerProcess81(const G4String& processName, - const G4String& worldVolumeName, - G4ProcessType theType = fParameterisation); - G4FastSimulationManagerProcess81(const G4String& processName, - G4VPhysicalVolume* worldVolume, - G4ProcessType theType = fParameterisation); - - virtual ~G4FastSimulationManagerProcess81(); - - // ----------------------- - // User access methods: - // ----------------------- - // -- const G4VPhysicalVolume* GetWorldVolume() const {return fWorldVolume;} - G4VPhysicalVolume* GetWorldVolume() const {return fWorldVolume;} - - // -- Set new world volume to the process - void SetWorldVolume(G4String ); - void SetWorldVolume(G4VPhysicalVolume*); - - - // -------------------------------------------------------------- - // Process interface - // -------------------------------------------------------------- - - // -- Start/End tracking: - void StartTracking(G4Track*); - void EndTracking(); - - // -- PostStep methods: - G4double PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition); - - G4VParticleChange* PostStepDoIt(const G4Track&, const G4Step& ); - - - - - - - // -- AtRest methods (still there after many years of no use...): - G4double AtRestGetPhysicalInteractionLength(const G4Track&, - G4ForceCondition*); - - G4VParticleChange* AtRestDoIt(const G4Track&, const G4Step&); - - - // -- unused: - G4double AlongStepGetPhysicalInteractionLength(const G4Track&, G4double, G4double, G4double&, G4GPILSelection*) {return 0.0;} - G4VParticleChange* AlongStepDoIt(const G4Track& , const G4Step&) {return 0;} - - - // -- debug: - void Verbose() const; - - - // ******* private ******* - -private: - //-- would be better to my taste to have "const G4VPhysicalVolume* fWorldVolume;", but clashes at compilation - G4VPhysicalVolume* fWorldVolume; - - G4bool fIsTrackingTime; - G4bool fIsFirstStep; - G4Navigator* fNavigator; - G4int fNavigatorIndex; - - - G4FastSimulationManager* fFastSimulationManager; - G4bool fFastSimulationTrigger; -}; - -#endif diff --git a/source/processes/parameterisation/include/G4FastSimulationMessenger.hh b/source/processes/parameterisation/include/G4FastSimulationMessenger.hh index 21c79abaf0..2d6d97744d 100644 --- a/source/processes/parameterisation/include/G4FastSimulationMessenger.hh +++ b/source/processes/parameterisation/include/G4FastSimulationMessenger.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FastSimulationMessenger.hh,v 1.6 2006/11/03 17:26:04 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4FastSimulationMessenger.hh,v 1.7 2007/05/11 13:50:20 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT 4 class header file @@ -64,13 +64,13 @@ private: G4GlobalFastSimulationManager* fGlobalFastSimulationManager; //commands - G4UIdirectory* fFSDirectory; - G4UIcmdWithoutParameter* fShowSetupCmd; - G4UIcmdWithAString* fListEnvelopesCmd; - G4UIcmdWithAString* fListModelsCmd; + G4UIdirectory* fFSDirectory; + G4UIcmdWithoutParameter* fShowSetupCmd; + G4UIcmdWithAString* fListEnvelopesCmd; + G4UIcmdWithAString* fListModelsCmd; G4UIcmdWithAString* fListIsApplicableCmd; - G4UIcmdWithAString* fActivateModel; - G4UIcmdWithAString* fInActivateModel; + G4UIcmdWithAString* fActivateModel; + G4UIcmdWithAString* fInActivateModel; }; #endif diff --git a/source/processes/parameterisation/include/G4FastStep.hh b/source/processes/parameterisation/include/G4FastStep.hh index 01774621c5..5f53713d5d 100644 --- a/source/processes/parameterisation/include/G4FastStep.hh +++ b/source/processes/parameterisation/include/G4FastStep.hh @@ -25,7 +25,7 @@ // // // $Id: G4FastStep.hh,v 1.8 2006/06/29 21:09:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/processes/parameterisation/include/G4FastStep.icc b/source/processes/parameterisation/include/G4FastStep.icc index 97259e642b..15b723832f 100644 --- a/source/processes/parameterisation/include/G4FastStep.icc +++ b/source/processes/parameterisation/include/G4FastStep.icc @@ -25,7 +25,7 @@ // // // $Id: G4FastStep.icc,v 1.5 2006/06/29 21:09:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // $id: G4ParticleChange.icc,v 1.6 1998/04/14 02:25:54 kurasige Exp $ diff --git a/source/processes/parameterisation/include/G4FastTrack.hh b/source/processes/parameterisation/include/G4FastTrack.hh index 5beb9219c5..8f3a5e1c7c 100644 --- a/source/processes/parameterisation/include/G4FastTrack.hh +++ b/source/processes/parameterisation/include/G4FastTrack.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FastTrack.hh,v 1.7 2006/06/29 21:09:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4FastTrack.hh,v 1.8 2007/05/11 13:50:20 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // $Id: //--------------------------------------------------------------- @@ -167,22 +167,24 @@ private: // of the envelope. //------------------------------------------------ void FRecordsAffineTransformation(const G4Navigator*); - G4bool fAffineTransformationDefined; - G4Envelope* fEnvelope; - G4bool fIsUnique; - G4LogicalVolume* fEnvelopeLogicalVolume; - G4VPhysicalVolume* fEnvelopePhysicalVolume; - G4VSolid* fEnvelopeSolid; - G4ThreeVector fLocalTrackPosition, fLocalTrackMomentum, - fLocalTrackDirection, fLocalTrackPolarization; - G4AffineTransform fAffineTransformation, fInverseAffineTransformation; + G4bool fAffineTransformationDefined; + G4Envelope* fEnvelope; + G4bool fIsUnique; + G4LogicalVolume* fEnvelopeLogicalVolume; + G4VPhysicalVolume* fEnvelopePhysicalVolume; + G4VSolid* fEnvelopeSolid; + G4ThreeVector fLocalTrackPosition, + fLocalTrackMomentum, + fLocalTrackDirection, + fLocalTrackPolarization; + G4AffineTransform fAffineTransformation, + fInverseAffineTransformation; }; -//******************************************************************* -// -// Inline functions -// -//******************************************************************* + +// ----------------- +// -- Inline methods +// ----------------- inline G4Envelope* G4FastTrack::GetEnvelope() const { diff --git a/source/processes/parameterisation/include/G4FlavoredParallelWorld.hh b/source/processes/parameterisation/include/G4FlavoredParallelWorld.hh deleted file mode 100644 index d54376d2c5..0000000000 --- a/source/processes/parameterisation/include/G4FlavoredParallelWorld.hh +++ /dev/null @@ -1,92 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4FlavoredParallelWorld.hh,v 1.7 2006/11/03 17:26:04 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// -//--------------------------------------------------------------- -// -// G4FlavoredParallelWorld.hh -// -// Description: -// Internal class to keep ParticleType X Parallel world -// relationship. -// -// History: -// June 98: Verderi && MoraDeFreitas - "G4ParallelWorld" becomes -// "G4FlavoredParallelWorld". -// Mars 98: Verderi && MoraDeFreitas - First Implementation. -// -//--------------------------------------------------------------- - -#ifndef G4FlavoredParallelWorld_hh -#define G4FlavoredParallelWorld_hh - -#include "G4VFlavoredParallelWorld.hh" - -class G4ParticleDefinition; -#include "G4VPhysicalVolume.hh" - -class G4FlavoredParallelWorld : public G4VFlavoredParallelWorld -{ -public: - // - // Constructor - G4FlavoredParallelWorld(G4ParticleDefinition *pParticleType, - G4VPhysicalVolume *pWorld) { - ParticleType=pParticleType; - World=pWorld; - } - // - // Destructor - ~G4FlavoredParallelWorld() { - delete World; - World = 0; - } - // Get/Set - inline G4ParticleDefinition* GetTheParticleType() const { - return ParticleType; - } - - inline G4VPhysicalVolume* GetThePhysicalVolumeWorld() const { - return World; - } - - // operator == - inline G4bool - operator == (const G4FlavoredParallelWorld& pw) const { - return (this==&pw) ? true : false; - } - - -private: - G4ParticleDefinition *ParticleType; - G4VPhysicalVolume *World; -}; - -#endif -// end of #ifndef G4FlavoredParallelWorld_hh diff --git a/source/processes/parameterisation/include/G4GFSManager81.hh b/source/processes/parameterisation/include/G4GFSManager81.hh deleted file mode 100644 index 6ffa3ae211..0000000000 --- a/source/processes/parameterisation/include/G4GFSManager81.hh +++ /dev/null @@ -1,73 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4GFSManager81.hh,v 1.1 2006/11/10 13:23:07 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// -//--------------------------------------------------------------- -// -// G4GFSManager81.hh -// -// Description: -// Gathers code to be dropped @ next major release -// -// History: -// November 06: Marc Verderi -// -//--------------------------------------------------------------- - -#ifndef G4GFSManager81_hh -#define G4GFSManager81_hh - -#include "globals.hh" -#include "G4FastSimulationVector.hh" -#include "G4FlavoredParallelWorld.hh" -#include "G4StateManager.hh" - -class G4GFSManager; - -class G4GFSManager81 { -public: - - ~G4GFSManager81(); - - void FastSimulationNeedsToBeClosed(); - -public: - void CloseFastSimulation(); - G4VFlavoredParallelWorld* GetFlavoredWorldForThis(G4ParticleDefinition *); - G4bool Notify(G4ApplicationState requestedState); - - G4GFSManager81(); - -private: - G4bool fClosed; - G4FastSimulationVector NeededFlavoredWorlds; - G4VPhysicalVolume* GiveMeAWorldVolumeClone(); -}; - -#endif diff --git a/source/processes/parameterisation/include/G4GlobalFastSimulationManager.hh b/source/processes/parameterisation/include/G4GlobalFastSimulationManager.hh index d8515b2a5f..0f4773052a 100644 --- a/source/processes/parameterisation/include/G4GlobalFastSimulationManager.hh +++ b/source/processes/parameterisation/include/G4GlobalFastSimulationManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GlobalFastSimulationManager.hh,v 1.12 2006/11/10 13:23:07 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4GlobalFastSimulationManager.hh,v 1.13 2007/05/11 13:50:20 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- @@ -53,10 +53,8 @@ #include "G4VGlobalFastSimulationManager.hh" #include "G4FastSimulationManager.hh" -#include "G4FastSimulationManagerProcess81.hh" -#include "G4StateManager.hh" -#include "G4VStateDependent.hh" -#include "G4FlavoredParallelWorld.hh" +#include "G4FastSimulationManagerProcess.hh" + class G4FastSimulationMessenger; @@ -85,44 +83,29 @@ enum listType { // geometries. // -// -- *** to be dropped @ next major release: >>> -#include "G4GFSManager81.hh" -// -- <<<. - -class G4GlobalFastSimulationManager : public G4VStateDependent, - public G4VGlobalFastSimulationManager +class G4GlobalFastSimulationManager { - // -- *** to be dropped @ next major release: >>> - friend class G4GFSManager81; - // -- <<<. public: // With description static G4GlobalFastSimulationManager* GetGlobalFastSimulationManager(); // Provides a global access to the GlobalFastSimulationManager + static G4GlobalFastSimulationManager* GetInstance(); + // Same as GetGlobalFastSimulationManager() G4VFastSimulationModel* GetFastSimulationModel(const G4String& modelName, const G4VFastSimulationModel* previousFound = 0) const; - // Fetch G4VFastSimulationModel by name: - // + // Iterative fetch of G4VFastSimulationModel objects by name: // o returns the G4VFastSimulationModel* of model with name modelName; // o returns 0 if no model found; - // - // - usage: - // - // myModel = gblManager->GetFastSimulationModel("MyModel"); - // + // o usage: + // myModel = gblManager->GetFastSimulationModel("MyModel"); // o note for the case of several models having the same name: // - to get the first "MyModel" model: - // // myModel1 = gblManager->GetFastSimulationModel("MyModel", 0); - // // - to get the next one: - // // myModel2 = gblManager->GetFastSimulationModel("MyModel", myModel1); - // // - and so on. - // // - When gblManager->GetFastSimulationModel("MyModel", myModel_n) // returns a null pointer, no extra model with name "MyModel" exist. @@ -133,8 +116,7 @@ public: // Without description ~G4GlobalFastSimulationManager(); // - // G4FastSimulationManager(Process)'s management, no intended for - // general use. + // G4FastSimulationManager(Process)'s management, no intended for general use. // // Methods for a G4FastSimulationManager to register itself // @@ -143,8 +125,8 @@ public: // Without description // // G4FastSimulationManagerProcess bookeeping: // - void AddFSMP(G4FastSimulationManagerProcess81*); - void RemoveFSMP(G4FastSimulationManagerProcess81*); + void AddFSMP(G4FastSimulationManagerProcess*); + void RemoveFSMP(G4FastSimulationManagerProcess*); // Flag that the Parameterisation must be closed. @@ -158,8 +140,6 @@ public: // With description public: // Without description - void CloseFastSimulation(); - // deprecated void ListEnvelopes(const G4String& aName = "all", listType aListType = NAMES_ONLY); @@ -168,11 +148,7 @@ public: // Without description void ActivateFastSimulationModel(const G4String&); void InActivateFastSimulationModel(const G4String&); - // G4FastSimulationProcess interface - G4VFlavoredParallelWorld* GetFlavoredWorldForThis(G4ParticleDefinition *); - // G4StateManager interface - G4bool Notify(G4ApplicationState requestedState); private: // Private construtor insures singleton class @@ -182,20 +158,10 @@ private: void DisplayRegion(G4Region* motherRegion, G4int depth, std::vector& particles) const; // The single instance. - static G4GlobalFastSimulationManager* fGlobalFastSimulationManager; - - // The G4FastSimulationMessenger - G4FastSimulationMessenger* fTheFastSimulationMessenger; - - // List of G4FastSimulationManagers - G4FastSimulationVector ManagedManagers; - - // Instantiated fast simulation processes: - G4FastSimulationVector fFSMPVector; - - - // -- *** to be dropped @ next major release: >>> - G4GFSManager81* _deprecated; + static G4GlobalFastSimulationManager* fGlobalFastSimulationManager; + G4FastSimulationMessenger* fTheFastSimulationMessenger; + G4FastSimulationVector ManagedManagers; + G4FastSimulationVector fFSMPVector; }; #endif diff --git a/source/processes/parameterisation/include/G4VFastSimulationModel.hh b/source/processes/parameterisation/include/G4VFastSimulationModel.hh index b8471db1dd..da227d33a1 100644 --- a/source/processes/parameterisation/include/G4VFastSimulationModel.hh +++ b/source/processes/parameterisation/include/G4VFastSimulationModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4VFastSimulationModel.hh,v 1.7 2006/06/29 21:09:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/processes/parameterisation/src/G4FastSimulationManager.cc b/source/processes/parameterisation/src/G4FastSimulationManager.cc index 75e0d2e4e1..787636552d 100644 --- a/source/processes/parameterisation/src/G4FastSimulationManager.cc +++ b/source/processes/parameterisation/src/G4FastSimulationManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FastSimulationManager.cc,v 1.12 2006/11/03 17:26:04 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4FastSimulationManager.cc,v 1.13 2007/05/11 13:50:20 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // @@ -36,6 +36,8 @@ // // History: // Oct 97: Verderi && MoraDeFreitas - First Implementation. +// ... +// May 07: Move to parallel world scheme // //--------------------------------------------------------------- @@ -155,86 +157,10 @@ G4FastSimulationManager::GetFastSimulationModel(const G4String& modelName, return model; } -// ***************************************** TO BE DROPPED ********************************************** >>>> BEGINNING -//---------------------------------------- -// Methods to add/remove GhostPlacements -//---------------------------------------- - -G4Transform3D* -G4FastSimulationManager::AddGhostPlacement(G4RotationMatrix *prot, - const G4ThreeVector &tlate) -{ - G4Transform3D* newghostplace; - if(prot==0) prot = new G4RotationMatrix(); - newghostplace = new G4Transform3D(*prot,tlate); - AddGhostPlacement(newghostplace); - return newghostplace; -} - -G4Transform3D* -G4FastSimulationManager::AddGhostPlacement(G4Transform3D *trans3d) -{ - GhostPlacements.push_back (trans3d); - G4GlobalFastSimulationManager::GetGlobalFastSimulationManager()-> - FastSimulationNeedsToBeClosed(); - return trans3d; -} - -G4bool -G4FastSimulationManager::RemoveGhostPlacement(const G4Transform3D *trans3d) -{ - G4bool found; - if((found=(GhostPlacements.remove(trans3d) != 0))) - G4GlobalFastSimulationManager::GetGlobalFastSimulationManager()-> - FastSimulationNeedsToBeClosed(); - return found; -} - -G4bool -G4FastSimulationManager:: -InsertGhostHereIfNecessary(G4VPhysicalVolume* theClone, - const G4ParticleDefinition& theParticle) -{ - G4PVPlacement *GhostPhysical; - // Not to do if there aren't glost placements - if(GhostPlacements.size()==0) return false; - - // If there are, verifies if at least one model is applicable - // for theParticle. - for (size_t iModel=0; iModelIsApplicable(theParticle)) { - // Ok, we find one. Place the ghost(s). - for (size_t ighost=0; ighost::iterator ghostIter = fFastTrack.GetEnvelope()->GetRootLogicalVolumeIterator(); - G4LogicalVolume* rootGhostLV = (*ghostIter); - GhostPhysical=new - G4PVPlacement(*(GhostPlacements[ighost]), - rootGhostLV->GetName(), - rootGhostLV, - theClone, - false,0); - // -- I'd like to check if other root LV exist, since it can not be handled today, - // -- but how stop the iterator loop ??? - // ghostIter++; - // rootGhostLV = (*ghostIter); - // if (rootGhostLV) G4Exception("G4FastSimulationManager does not know today how to handle ghost regions with several root logical volumes."); - } - // And answer true - return true; - } - //otherwise answer false - return false; -} - -// ***************************************** TO BE DROPPED **************************************** <<<< END - -// -//------------------------------------- -// Interface trigger method for the -// G4ParameterisationManagerProcess -//------------------------------------- +//------------------------------------------------------------------ +// Interface trigger method for the G4ParameterisationManagerProcess +//------------------------------------------------------------------ // G4bool GetFastSimulationManagerTrigger(const G4Track &); // // This method is used to interface the G4FastSimulationManagerProcess diff --git a/source/processes/parameterisation/src/G4FastSimulationManagerProcess.cc b/source/processes/parameterisation/src/G4FastSimulationManagerProcess.cc index 3149485897..c19ece9410 100644 --- a/source/processes/parameterisation/src/G4FastSimulationManagerProcess.cc +++ b/source/processes/parameterisation/src/G4FastSimulationManagerProcess.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FastSimulationManagerProcess.cc,v 1.14 2006/11/03 17:26:04 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4FastSimulationManagerProcess.cc,v 1.15 2007/05/11 13:50:20 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- @@ -38,501 +38,252 @@ // // History: // August 97: First implementation. Verderi && MoraDeFreitas. +// October 06: move to parallel geometry scheme, M. Verderi //--------------------------------------------------------------- #include "G4ios.hh" #include "G4FastSimulationManagerProcess.hh" #include "G4GlobalFastSimulationManager.hh" #include "G4TransportationManager.hh" +#include "G4PathFinder.hh" #include "G4ParticleChange.hh" -//---------------------------- -// Constructor with only name: -//---------------------------- +#define PARANOIA + G4FastSimulationManagerProcess:: G4FastSimulationManagerProcess(const G4String& processName, - G4ProcessType theType) : - G4VProcess(processName,theType) + G4ProcessType theType) : + G4VProcess(processName,theType), + fWorldVolume(0), + fIsTrackingTime(false), + fNavigator(0), + fNavigatorIndex(-1), + fFastSimulationManager(0), + fFastSimulationTrigger(false) { - pParticleChange = &aDummyParticleChange; - - fGhostTouchable = new G4TouchableHistory(); - if (verboseLevel>0) { - G4cout << GetProcessName() << " is created " << G4endl; - } - fGhostFieldPropagator = new G4PropagatorInField(&fGhostNavigator, - G4TransportationManager:: - GetTransportationManager()-> - GetFieldManager()); + SetWorldVolume(G4TransportationManager::GetTransportationManager()->GetNavigatorForTracking()->GetWorldVolume()->GetName()); + if (verboseLevel>0) G4cout << "G4FastSimulationManagerProcess `" << GetProcessName() + << "' is created, and will message geometry with world volume `" + << fWorldVolume->GetName() << "'." << G4endl; + + G4GlobalFastSimulationManager::GetGlobalFastSimulationManager()->AddFSMP(this); } -// ----------- -// Destructor: -// ----------- + +G4FastSimulationManagerProcess:: +G4FastSimulationManagerProcess(const G4String& processName, + const G4String& worldVolumeName, + G4ProcessType theType) : + G4VProcess(processName,theType), + fWorldVolume(0), + fIsTrackingTime(false), + fNavigator(0), + fNavigatorIndex(-1), + fFastSimulationManager(0), + fFastSimulationTrigger(false) +{ + SetWorldVolume(worldVolumeName); + if (verboseLevel>0) G4cout << "G4FastSimulationManagerProcess `" << GetProcessName() + << "' is created, and will message geometry with world volume `" + << fWorldVolume->GetName() << "'." << G4endl; + + G4GlobalFastSimulationManager::GetGlobalFastSimulationManager()->AddFSMP(this); +} + + +G4FastSimulationManagerProcess:: +G4FastSimulationManagerProcess(const G4String& processName, + G4VPhysicalVolume* worldVolume, + G4ProcessType theType) : + G4VProcess(processName,theType), + fWorldVolume(0), + fIsTrackingTime(false), + fNavigator(0), + fNavigatorIndex(-1), + fFastSimulationManager(0), + fFastSimulationTrigger(false) +{ + SetWorldVolume(worldVolume); + if (verboseLevel>0) G4cout << "G4FastSimulationManagerProcess `" << GetProcessName() + << "' is created, and will message geometry with world volume `" + << fWorldVolume->GetName() << "'." << G4endl; + + G4GlobalFastSimulationManager::GetGlobalFastSimulationManager()->AddFSMP(this); +} + + G4FastSimulationManagerProcess::~G4FastSimulationManagerProcess() { - delete fGhostTouchable; - fGhostTouchable = 0; - delete fGhostFieldPropagator; - fGhostFieldPropagator = 0; + G4GlobalFastSimulationManager::GetGlobalFastSimulationManager()->RemoveFSMP(this); } -//---------------------------------------------------------- -// -// PostStepGetPhysicalInteractionLength() -// -// This method is used to trigger the parameterised -// simulation. -// -//---------------------------------------------------------- -// -// To be triggered the conditions that must be -// fullfilled are : -// -// 1) a call to track->GetVolume()->GetLogicalVolume()-> -// GetFastSimulationManager() returns a G4FastSimulationManager -// not NULL pointer (kept in fFastSimulationManager); -// -// AND -// -// 2)a call to this fFastSimulationManager->GetTrigger() method -/// returns a G4bool True. -// -// -// If the fFastSimulationManager* is triggered then: -// -// * condition = ExclusivelyForced -// * returns 0.0 -// -// else: -// * condition = NotForced -// * returns DBL_MAX -// -//----------------------------------------------------------- -G4double -G4FastSimulationManagerProcess::PostStepGetPhysicalInteractionLength( - const G4Track& track, - G4double previousStepSize, - G4ForceCondition* condition) +// ----------------------- +// User access methods: +// ----------------------- +void +G4FastSimulationManagerProcess:: +SetWorldVolume(G4String newWorldName) { - // ------------------------------ - // Prelude for initial Step only: - // ------------------------------ - // ---------------------------------------------------------- - // -- If starting a track, check if there is a parallel World - // -- for the new particle being tracked. - // -- (may be Done more than once in very special cases, - // -- since the fStarTracking is switched off lower.) - // ---------------------------------------------------------- - if(fStartTracking) - { - G4VFlavoredParallelWorld* flavoredWorld = - G4GlobalFastSimulationManager::GetGlobalFastSimulationManager()-> - GetFlavoredWorldForThis(track.GetDynamicParticle()->GetDefinition()); - - fGhostWorld = 0; - if (flavoredWorld) - fGhostWorld = flavoredWorld->GetThePhysicalVolumeWorld(); - - if (fGhostWorld) - { - fGhostNavigator.SetWorldVolume(fGhostWorld); - fUpdateGhostTouchable = true; - fGhostSafety = -1.; - // Navigation in Field: - fParticleCharge = track.GetDynamicParticle()->GetDefinition()->GetPDGCharge(); - } - else - { - fOutOfGhostWorld = true; - } - } - if (fGhostWorld == 0) fStartTracking = false; // -- case ghost world below - - // ------------------------------------------------------- - // - // Parameterisation Trigger invokation sequence : - // - // ------------------------------------------------------- - fFastSimulationTrigger = false; - - //--------------------------------------------- - // Normal Dispatcher (for tracking geometry) : - //--------------------------------------------- - if( (fFastSimulationManager = - track.GetVolume()->GetLogicalVolume()->GetFastSimulationManager()) ) - { - // Yes, so should us trigger a fast simulation model now ? - if(fFastSimulationTrigger = - fFastSimulationManager->PostStepGetFastSimulationManagerTrigger(track)) - { - // Yes, lets take the control over the stepping ! - *condition = ExclusivelyForced; - return 0.0; - } - } - - //----------------------------------------- - // * Parallel geometry Dispatcher if any. - // * If no trigger in the parallel geometry - // returns the Conditionally forced signal. - //----------------------------------------- - if(fGhostWorld) - { - // First, update the touchable history of ghost if necessary, ie when: - // - this is first Step of tracking - // - the last Step was limited by ghost geometry - // otherwise performs a single Locate - if (fUpdateGhostTouchable) - { - fUpdateGhostTouchable=false; - if (fStartTracking) - { - fGhostNavigator.LocateGlobalPointAndUpdateTouchable( - track.GetPosition(), - track.GetMomentumDirection(), - fGhostTouchable, - false); - fStartTracking = false; - } - else - { - fGhostNavigator.SetGeometricallyLimitedStep(); - fGhostNavigator.LocateGlobalPointAndUpdateTouchable( - track.GetPosition(), - track.GetMomentumDirection(), - fGhostTouchable); - } - fOutOfGhostWorld = (fGhostTouchable->GetVolume() == 0); - } - else if (previousStepSize > 0.0) - { - // G4ThreeVector direction= track.GetMomentumDirection(); - // fGhostNavigator.LocateGlobalPointAndSetup(track.GetPosition(), &direction, true); - // The above looks not enough in case of mag-field, not clear why ?!? - fGhostNavigator.LocateGlobalPointAndUpdateTouchable( - track.GetPosition(), - track.GetMomentumDirection(), - fGhostTouchable); - } - - - if (!fOutOfGhostWorld) - { - if( (fFastSimulationManager = - fGhostTouchable->GetVolume()->GetLogicalVolume()->GetFastSimulationManager()) ) - { - // Yes, so should us trigger a fast simulation model now ? - if(fFastSimulationTrigger = - fFastSimulationManager->PostStepGetFastSimulationManagerTrigger(track,&fGhostNavigator)) - { - // Yes, lets take the control over the stepping ! - *condition = ExclusivelyForced; - return 0.0; - } - } - // No ghost trigger has occured (ie no manager or a manager but no trigger) - // Informs the stepping that PostStepDoIt may be called if the AlongGPIL - // will limit the Step. - // PostStepDoIt will switch on fUpdateGhostTouchable flag, - // and eventually correct position and mometum in case of - // mag-field. - *condition = Conditionally; - return DBL_MAX; - } - } - - *condition = NotForced; - return DBL_MAX; -} - -//------------------------------------ -// -// PostStepDoIt() -// -//------------------------------------ -G4VParticleChange* G4FastSimulationManagerProcess::PostStepDoIt( - const G4Track& track, - const G4Step& ) -{ - if (fFastSimulationTrigger) - { - // Executes the ParameterisedSimulation code. - // and gets the ParameterisedSimulation response. - G4VParticleChange* Response= - fFastSimulationManager->InvokePostStepDoIt(); - - // If the particle is still alive, suspend it - // to re-initialise the other process. - if (Response->GetTrackStatus() != fStopAndKill) - Response->ProposeTrackStatus(fSuspend); - // Returns the Response - return Response; - } + if (fIsTrackingTime) + G4cout << "!!! G4FastSimulationManagerProcess `" << GetProcessName() + << "': changing world volume at tracking time is not allowed for now. Call ignored !!!" << G4endl; else { - if (fOutOfGhostWorld) G4cout << " ????????????? Problem of logic in GHOST param !!! " << G4endl; - // No FastSimulationManager has asked for trigger. That means here: - // - the PostStep is "Conditionally" forced because - // - the Step has been limited by the ALong of G4FSMP because - // - the track has reached a ghost boundary - // => the touchable history must be updated. - // fUpdateGhostTouchable = true; : MOVED BELOW: COMPLICATIONS WITH MAG-FIELD !! - - if (fFieldExertsForce) - { - // ----------------------------------------------------------- - // in case of field, correct for small discrepancy on position - // and momentum computed by the Transportation. - // HOWEVER, this correction can be somewhat problematic when - // the end point, which is close here to a Ghost boundary by - // construction, is also close to a boundary of the tracking - // geometry. - // Thus we correct when the safety in the tracking geometry - // allows to move the point enough. Otherwise we issue - // a warning. - // ---------------------------------------------------------- - fTrackingNavigator.SetWorldVolume(G4TransportationManager::GetTransportationManager()-> - GetNavigatorForTracking()->GetWorldVolume()); - fTrackingNavigator.LocateGlobalPointAndUpdateTouchable( - track.GetPosition(), - track.GetMomentumDirection(), - &fTrackingHistory); - // G4VPhysicalVolume* trackingVolume = fTrackingHistory.GetVolume(); - - G4double trackingSafety(0.0); - // G4double trackingLinearDistance = - fTrackingNavigator.ComputeStep( - track.GetPosition(), - track.GetMomentumDirection(), - DBL_MAX, - trackingSafety); - - xParticleChange.Initialize(track); - G4ThreeVector deltaPos = fGhostFieldPropagator->EndPosition() - track.GetPosition(); - if (trackingSafety < deltaPos.mag()) - { - fUpdateGhostTouchable = true; // What should we do here ?!? - // false => lot a microscopic steps - // is true rasonnably safe ? - G4cout << GetProcessName() << " : WARNING: Can not correct for\ndifference between tracking and ghost mag-field computations." << G4endl; - } - else - { - // easy case where we have enough room to displace the point where we need: - fUpdateGhostTouchable = true; - xParticleChange.ProposePosition (fGhostFieldPropagator->EndPosition() ); - xParticleChange.ProposeMomentumDirection(fGhostFieldPropagator->EndMomentumDir()); - } - return &xParticleChange; - } - else - { - fUpdateGhostTouchable = true; - pParticleChange->Initialize(track); - return pParticleChange; - } + G4VPhysicalVolume* newWorld = G4TransportationManager::GetTransportationManager()->IsWorldExisting(newWorldName); + G4String tellWhatIsWrong; + tellWhatIsWrong = "Volume newWorldName = `"; tellWhatIsWrong += newWorldName; tellWhatIsWrong += "' is not a parallel world nor the mass world volume."; + if (newWorld == 0) G4Exception("G4FastSimulationManagerProcess::SetWorldVolume(const G4String&, G4bool verbose)", + "InvalidWorld", + FatalException, + tellWhatIsWrong); + if (verboseLevel>0) + if (fWorldVolume) G4cout << "G4FastSimulationManagerProcess `" << GetProcessName() + << "': changing world volume from '" << fWorldVolume->GetName() + << "' to `" << newWorld << "'." << G4endl; + else G4cout << "G4FastSimulationManagerProcess `" << GetProcessName() + << "': setting world volume from to `"<< newWorld->GetName() << "'." << G4endl; + fWorldVolume = newWorld; } -} - - -G4double G4FastSimulationManagerProcess::AlongStepGetPhysicalInteractionLength( - const G4Track& track, - G4double previousStepSize, - G4double currentMinimumStep, - G4double& proposedSafety, - G4GPILSelection* selection - ) -{ - // Informs the stepping that G4FastsimulationProcess wants - // to be able to limit the Step. - *selection = CandidateForSelection; - - G4double returnedStep = DBL_MAX; - - if (!fOutOfGhostWorld) - { - if (previousStepSize > 0.) fGhostSafety -= previousStepSize; - else fGhostSafety = -1.; - if (fGhostSafety < 0.) fGhostSafety = 0.0; - - // ------------------------------------------ - // Determination of the proposed STEP LENGTH: - // ------------------------------------------ - if (currentMinimumStep <= fGhostSafety) - { - returnedStep = currentMinimumStep; - } - else // (currentMinimumStep > fGhostSafety: GFSMP may limit the Step) - { - fFieldExertsForce = (fParticleCharge != 0.0) && - (G4TransportationManager::GetTransportationManager()-> - GetFieldManager()->DoesFieldExist()); - if ( !fFieldExertsForce ) - { - fGhostStepLength = fGhostNavigator.ComputeStep( - track.GetPosition(), - track.GetMomentumDirection(), - currentMinimumStep, - fGhostSafety); - - } - else - { - fGhostFieldPropagator->SetChargeMomentumMass( - fParticleCharge, - track.GetDynamicParticle()-> - GetTotalMomentum(), - track.GetDynamicParticle()-> - GetMass()); - - G4double restMass= track.GetDynamicParticle()->GetMass(); - G4ThreeVector spin = track.GetPolarization() ; - G4FieldTrack aFieldTrack = - G4FieldTrack( track.GetPosition(), - track.GetMomentumDirection(), - 0.0, - track.GetKineticEnergy(), - restMass, - track.GetVelocity(), - track.GetLocalTime(), // tof lab ? - track.GetProperTime(), // tof proper - &spin ) ; - - fGhostStepLength = fGhostFieldPropagator->ComputeStep( - aFieldTrack, - currentMinimumStep, - fGhostSafety); - } - fPreSafety = fGhostSafety; - returnedStep = fGhostStepLength; - } - - // ---------------------------------------------- - // Returns the fGhostSafety as the proposedSafety - // The SteppingManager will take care of keeping - // the smallest one. - // ---------------------------------------------- - proposedSafety = fGhostSafety; - } - return returnedStep; -} - -G4VParticleChange* G4FastSimulationManagerProcess::AlongStepDoIt( - const G4Track& track, - const G4Step& ) -{ - // Dummy ParticleChange ie: does nothing - pParticleChange->Initialize(track); - return pParticleChange; -} - -//-------------------------------------------- -// -// At Rest parameterisation: -// -//-------------------------------------------- -// -// AtRestGetPhysiscalInteractionLength: -// -//-------------------------------------------- -G4double -G4FastSimulationManagerProcess::AtRestGetPhysicalInteractionLength( - const G4Track& track, - G4ForceCondition* condition) -{ - if ( (fFastSimulationManager = - track.GetVolume()->GetLogicalVolume()->GetFastSimulationManager()) - != 0 ) - if (fFastSimulationManager->AtRestGetFastSimulationManagerTrigger(track)) - { - // "*condition = ExclusivelyForced;" Not yet available - // for AtRest actions, so we use the trick below. However - // it is not garantee to work in the situation the track is - // alive after parameterisation. - // NOTE: Problem: the present stepping doesn't care if the particle - // has been killed between two AtRestDoIt() !!! - *condition = NotForced; - return -1.0; // TEMPORARY TRICK TO TAKE CONTROL !!!! - } - //----------------------------------------- - // * Parallel geometry Dispatcher if any. - // * If no trigger in the parallel geometry - // * returns DBL_MAX and NotForced signal. - //----------------------------------------- - if(fGhostWorld) +} + + +void +G4FastSimulationManagerProcess:: +SetWorldVolume(G4VPhysicalVolume* newWorld) +{ + if (newWorld) SetWorldVolume(newWorld->GetName()); + else G4cout << "!!! G4FastSimulationManagerProcess::SetWorldVolume(const G4VPhysicalVolume* newWorld) : null pointer passed. !!! Continuing at your own risks..." << G4endl; +} + + +// -------------------- +// Start/End tracking: +// -------------------- +void +G4FastSimulationManagerProcess:: +StartTracking(G4Track*) +{ + fIsTrackingTime = true; + fIsFirstStep = true; + + // -- fetch the navigator (and its index) and activate it: + G4TransportationManager* transportationManager = G4TransportationManager::GetTransportationManager(); + fNavigator = transportationManager->GetNavigator(fWorldVolume); + if (fNavigator != transportationManager->GetNavigatorForTracking()) + fNavigatorIndex = transportationManager->ActivateNavigator(fNavigator); + else + fNavigatorIndex = 0; +} + + +void +G4FastSimulationManagerProcess:: +EndTracking() +{ + fIsTrackingTime = false; +} + + +// ------------------------------------------ +// PostStepGetPhysicalInteractionLength(): +// ------------------------------------------ +G4double +G4FastSimulationManagerProcess:: +PostStepGetPhysicalInteractionLength(const G4Track& track, + G4double, + G4ForceCondition* condition) +{ +#ifdef PARANOIA + if ( fNavigator->GetWorldVolume() != fWorldVolume ) G4Exception("!!! ??? INCONSISTENT NAVIGATORS/WORLD VOLUMES ??? !!!"); +#endif + // -- Get current volume, and check for presence of fast simulation manager. + // -- For the case of the navigator for tracking (fNavigatorIndex == 0) + // -- we use the track volume. This allows the code to be valid for both + // -- cases where the PathFinder is used (G4CoupledTranportation) or not + // -- (G4Transportation). + const G4VPhysicalVolume* currentVolume(0); + if (fNavigatorIndex == 0) currentVolume = track.GetVolume(); + else currentVolume = G4PathFinder::GetInstance()->GetLocatedVolume(fNavigatorIndex); + if ( currentVolume ) { - // First, update the touchable history of ghost if necessary, ie when: - // - this is first Step of tracking - // - the last Step was limited by ghost geometry - // otherwise performs a single Locate - if (fUpdateGhostTouchable) + fFastSimulationManager = currentVolume->GetLogicalVolume()->GetFastSimulationManager(); + if( fFastSimulationManager ) { - fUpdateGhostTouchable=false; - if (fStartTracking) + // Ask for trigger: + fFastSimulationTrigger = fFastSimulationManager->PostStepGetFastSimulationManagerTrigger(track, fNavigator); + if( fFastSimulationTrigger ) { - fGhostNavigator.LocateGlobalPointAndUpdateTouchable( - track.GetPosition(), - fGhostTouchable, - false); - fStartTracking = false; + // Take control over stepping: + *condition = ExclusivelyForced; + return 0.0; } - else - { - fGhostNavigator.SetGeometricallyLimitedStep(); - fGhostNavigator.LocateGlobalPointAndUpdateTouchable( - track.GetPosition(), - fGhostTouchable); - - } - fOutOfGhostWorld = (fGhostTouchable->GetVolume() == 0); - } - - if (!fOutOfGhostWorld) - { - if( (fFastSimulationManager = - fGhostTouchable->GetVolume()->GetLogicalVolume()->GetFastSimulationManager()) ) - { - // Should it trigger a fast simulation model now ? - if(fFastSimulationTrigger = - fFastSimulationManager-> - AtRestGetFastSimulationManagerTrigger(track,&fGhostNavigator)) - { - // "*condition = ExclusivelyForced;" Not yet available - // for AtRest actions, so we use the trick below. However - // it is not garantee to work in the situation the track is - // alive after parameterisation. - // NOTE: Problem: the present stepping doesn't care if the particle - // has been killed between two AtRestDoIt() !!! - *condition = NotForced; - return -1.0; // TEMPORARY TRICK TO TAKE CONTROL !!!! - } - } - } + } } - - // No, avoid to take control over the PostStepDoIt methods. + + // -- no fast simulation occuring there: *condition = NotForced; return DBL_MAX; } +//------------------------------------ +// PostStepDoIt() +//------------------------------------ +G4VParticleChange* +G4FastSimulationManagerProcess:: +PostStepDoIt(const G4Track&, + const G4Step&) +{ + G4VParticleChange* finalState = fFastSimulationManager->InvokePostStepDoIt(); + + // If the particle is still alive, suspend it to force physics re-initialisation: + if (finalState->GetTrackStatus() != fStopAndKill) finalState->ProposeTrackStatus(fSuspend); + + return finalState; +} + + +//-------------------------------------------- +// At Rest parameterisation: +//-------------------------------------------- +// AtRestGetPhysiscalInteractionLength: +//-------------------------------------------- +G4double +G4FastSimulationManagerProcess:: +AtRestGetPhysicalInteractionLength(const G4Track& track, + G4ForceCondition* condition) +{ + const G4VPhysicalVolume* currentVolume(0); + if (fNavigatorIndex == 0) currentVolume = track.GetVolume(); + else currentVolume = G4PathFinder::GetInstance()->GetLocatedVolume(fNavigatorIndex); + fFastSimulationManager = currentVolume->GetLogicalVolume()->GetFastSimulationManager(); + if( fFastSimulationManager ) + { + // Ask for trigger: + fFastSimulationTrigger = fFastSimulationManager->AtRestGetFastSimulationManagerTrigger(track, fNavigator); + if( fFastSimulationTrigger ) + { + // Dirty trick to take control over stepping. Does anyone will ever use that ? + *condition = NotForced; + return -1.0; + } + } + + // -- no fast simulation occuring there: + *condition = NotForced; + return DBL_MAX; + +} + //----------------------------------------------- -// // AtRestDoIt: -// //----------------------------------------------- -G4VParticleChange* G4FastSimulationManagerProcess::AtRestDoIt( - const G4Track&, const G4Step&) +G4VParticleChange* G4FastSimulationManagerProcess::AtRestDoIt(const G4Track&, const G4Step&) { return fFastSimulationManager->InvokeAtRestDoIt(); } -void G4FastSimulationManagerProcess::StartTracking(G4Track*) -{ - fStartTracking = true; -} void G4FastSimulationManagerProcess::Verbose() const { @@ -559,3 +310,5 @@ void G4FastSimulationManagerProcess::Verbose() const break; }*/ } + + diff --git a/source/processes/parameterisation/src/G4FastSimulationManagerProcess81.cc b/source/processes/parameterisation/src/G4FastSimulationManagerProcess81.cc deleted file mode 100644 index 31ccd8db59..0000000000 --- a/source/processes/parameterisation/src/G4FastSimulationManagerProcess81.cc +++ /dev/null @@ -1,314 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4FastSimulationManagerProcess81.cc,v 1.1 2006/11/10 13:23:07 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// -//--------------------------------------------------------------- -// -// G4FastSimulationProcess.cc -// -// Description: -// The process that triggers the parameterised simulations, -// if any. -// -// History: -// August 97: First implementation. Verderi && MoraDeFreitas. -// October 06: move to parallel geometry scheme, M. Verderi -//--------------------------------------------------------------- - -#include "G4ios.hh" -#include "G4FastSimulationManagerProcess81.hh" -#include "G4GlobalFastSimulationManager.hh" -#include "G4TransportationManager.hh" -#include "G4PathFinder.hh" -#include "G4ParticleChange.hh" - -#define PARANOIA - -G4FastSimulationManagerProcess81:: -G4FastSimulationManagerProcess81(const G4String& processName, - G4ProcessType theType) : - G4VProcess(processName,theType), - fWorldVolume(0), - fIsTrackingTime(false), - fNavigator(0), - fNavigatorIndex(-1), - fFastSimulationManager(0), - fFastSimulationTrigger(false) -{ - SetWorldVolume(G4TransportationManager::GetTransportationManager()->GetNavigatorForTracking()->GetWorldVolume()->GetName()); - if (verboseLevel>0) G4cout << "G4FastSimulationManagerProcess81 `" << GetProcessName() - << "' is created, and will message geometry with world volume `" - << fWorldVolume->GetName() << "'." << G4endl; - - G4GlobalFastSimulationManager::GetGlobalFastSimulationManager()->AddFSMP(this); -} - - -G4FastSimulationManagerProcess81:: -G4FastSimulationManagerProcess81(const G4String& processName, - const G4String& worldVolumeName, - G4ProcessType theType) : - G4VProcess(processName,theType), - fWorldVolume(0), - fIsTrackingTime(false), - fNavigator(0), - fNavigatorIndex(-1), - fFastSimulationManager(0), - fFastSimulationTrigger(false) -{ - SetWorldVolume(worldVolumeName); - if (verboseLevel>0) G4cout << "G4FastSimulationManagerProcess81 `" << GetProcessName() - << "' is created, and will message geometry with world volume `" - << fWorldVolume->GetName() << "'." << G4endl; - - G4GlobalFastSimulationManager::GetGlobalFastSimulationManager()->AddFSMP(this); -} - - -G4FastSimulationManagerProcess81:: -G4FastSimulationManagerProcess81(const G4String& processName, - G4VPhysicalVolume* worldVolume, - G4ProcessType theType) : - G4VProcess(processName,theType), - fWorldVolume(0), - fIsTrackingTime(false), - fNavigator(0), - fNavigatorIndex(-1), - fFastSimulationManager(0), - fFastSimulationTrigger(false) -{ - SetWorldVolume(worldVolume); - if (verboseLevel>0) G4cout << "G4FastSimulationManagerProcess81 `" << GetProcessName() - << "' is created, and will message geometry with world volume `" - << fWorldVolume->GetName() << "'." << G4endl; - - G4GlobalFastSimulationManager::GetGlobalFastSimulationManager()->AddFSMP(this); -} - - -G4FastSimulationManagerProcess81::~G4FastSimulationManagerProcess81() -{ - G4GlobalFastSimulationManager::GetGlobalFastSimulationManager()->RemoveFSMP(this); -} - - -// ----------------------- -// User access methods: -// ----------------------- -void -G4FastSimulationManagerProcess81:: -SetWorldVolume(G4String newWorldName) -{ - if (fIsTrackingTime) - G4cout << "!!! G4FastSimulationManagerProcess81 `" << GetProcessName() - << "': changing world volume at tracking time is not allowed for now. Call ignored !!!" << G4endl; - else - { - G4VPhysicalVolume* newWorld = G4TransportationManager::GetTransportationManager()->IsWorldExisting(newWorldName); - G4String tellWhatIsWrong; - tellWhatIsWrong = "Volume newWorldName = `"; tellWhatIsWrong += newWorldName; tellWhatIsWrong += "' is not a parallel world nor the mass world volume."; - if (newWorld == 0) G4Exception("G4FastSimulationManagerProcess81::SetWorldVolume(const G4String&, G4bool verbose)", - "InvalidWorld", - FatalException, - tellWhatIsWrong); - if (verboseLevel>0) - if (fWorldVolume) G4cout << "G4FastSimulationManagerProcess81 `" << GetProcessName() - << "': changing world volume from '" << fWorldVolume->GetName() - << "' to `" << newWorld << "'." << G4endl; - else G4cout << "G4FastSimulationManagerProcess81 `" << GetProcessName() - << "': setting world volume from to `"<< newWorld->GetName() << "'." << G4endl; - fWorldVolume = newWorld; - } - -} - - -void -G4FastSimulationManagerProcess81:: -SetWorldVolume(G4VPhysicalVolume* newWorld) -{ - if (newWorld) SetWorldVolume(newWorld->GetName()); - else G4cout << "!!! G4FastSimulationManagerProcess81::SetWorldVolume(const G4VPhysicalVolume* newWorld) : null pointer passed. !!! Continuing at your own risks..." << G4endl; -} - - -// -------------------- -// Start/End tracking: -// -------------------- -void -G4FastSimulationManagerProcess81:: -StartTracking(G4Track*) -{ - fIsTrackingTime = true; - fIsFirstStep = true; - - // -- fetch the navigator (and its index) and activate it: - G4TransportationManager* transportationManager = G4TransportationManager::GetTransportationManager(); - fNavigator = transportationManager->GetNavigator(fWorldVolume); - if (fNavigator != transportationManager->GetNavigatorForTracking()) - fNavigatorIndex = transportationManager->ActivateNavigator(fNavigator); - else - fNavigatorIndex = 0; -} - - -void -G4FastSimulationManagerProcess81:: -EndTracking() -{ - fIsTrackingTime = false; -} - - -// ------------------------------------------ -// PostStepGetPhysicalInteractionLength(): -// ------------------------------------------ -G4double -G4FastSimulationManagerProcess81:: -PostStepGetPhysicalInteractionLength(const G4Track& track, - G4double, - G4ForceCondition* condition) -{ -#ifdef PARANOIA - if ( fNavigator->GetWorldVolume() != fWorldVolume ) G4Exception("!!! ??? INCONSISTENT NAVIGATORS/WORLD VOLUMES ??? !!!"); -#endif - // -- Get current volume, and check for presence of fast simulation manager. - // -- For the case of the navigator for tracking (fNavigatorIndex == 0) - // -- we use the track volume. This allows the code to be valid for both - // -- cases where the PathFinder is used (G4CoupledTranportation) or not - // -- (G4Transportation). - const G4VPhysicalVolume* currentVolume(0); - if (fNavigatorIndex == 0) currentVolume = track.GetVolume(); - else currentVolume = G4PathFinder::GetInstance()->GetLocatedVolume(fNavigatorIndex); - if ( currentVolume ) - { - fFastSimulationManager = currentVolume->GetLogicalVolume()->GetFastSimulationManager(); - if( fFastSimulationManager ) - { - // Ask for trigger: - fFastSimulationTrigger = fFastSimulationManager->PostStepGetFastSimulationManagerTrigger(track, fNavigator); - if( fFastSimulationTrigger ) - { - // Take control over stepping: - *condition = ExclusivelyForced; - return 0.0; - } - } - } - - // -- no fast simulation occuring there: - *condition = NotForced; - return DBL_MAX; -} - -//------------------------------------ -// PostStepDoIt() -//------------------------------------ -G4VParticleChange* -G4FastSimulationManagerProcess81:: -PostStepDoIt(const G4Track&, - const G4Step&) -{ - G4VParticleChange* finalState = fFastSimulationManager->InvokePostStepDoIt(); - - // If the particle is still alive, suspend it to force physics re-initialisation: - if (finalState->GetTrackStatus() != fStopAndKill) finalState->ProposeTrackStatus(fSuspend); - - return finalState; -} - - -//-------------------------------------------- -// At Rest parameterisation: -//-------------------------------------------- -// AtRestGetPhysiscalInteractionLength: -//-------------------------------------------- -G4double -G4FastSimulationManagerProcess81:: -AtRestGetPhysicalInteractionLength(const G4Track& track, - G4ForceCondition* condition) -{ - const G4VPhysicalVolume* currentVolume(0); - if (fNavigatorIndex == 0) currentVolume = track.GetVolume(); - else currentVolume = G4PathFinder::GetInstance()->GetLocatedVolume(fNavigatorIndex); - fFastSimulationManager = currentVolume->GetLogicalVolume()->GetFastSimulationManager(); - if( fFastSimulationManager ) - { - // Ask for trigger: - fFastSimulationTrigger = fFastSimulationManager->AtRestGetFastSimulationManagerTrigger(track, fNavigator); - if( fFastSimulationTrigger ) - { - // Dirty trick to take control over stepping. Does anyone will ever use that ? - *condition = NotForced; - return -1.0; - } - } - - // -- no fast simulation occuring there: - *condition = NotForced; - return DBL_MAX; - -} - -//----------------------------------------------- -// AtRestDoIt: -//----------------------------------------------- -G4VParticleChange* G4FastSimulationManagerProcess81::AtRestDoIt(const G4Track&, const G4Step&) -{ - return fFastSimulationManager->InvokeAtRestDoIt(); -} - - -void G4FastSimulationManagerProcess81::Verbose() const -{ - /* G4cout << " >>>>> Trigger Status : "; - switch(fFastSimulationManager->GetTriggerStatus()) - { - case NoModel: - G4cout << "NoModel" << G4endl; - break; - case OnBoundaryButLeaving: - G4cout << "OnBoundaryButLeaving" << G4endl; - break; - case OneModelTrigger: - G4cout << "OneModelTrigger" << G4endl; - break; - case NoModelTrigger: - G4cout << "NoModelTrigger" << G4endl; - break; - case Undefined: - G4cout << "Undefined" << G4endl; - break; - default: - G4cout << " Bizarre..." << G4endl; - break; - }*/ -} - - diff --git a/source/processes/parameterisation/src/G4FastSimulationMessenger.cc b/source/processes/parameterisation/src/G4FastSimulationMessenger.cc index e8dcf8048d..0e849e4950 100644 --- a/source/processes/parameterisation/src/G4FastSimulationMessenger.cc +++ b/source/processes/parameterisation/src/G4FastSimulationMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4FastSimulationMessenger.cc,v 1.7 2006/11/03 17:26:04 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4FastSimulationMessenger.cc,v 1.8 2007/05/11 13:50:20 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4FastSimulationMessenger.hh" @@ -44,8 +44,13 @@ G4FastSimulationMessenger(G4GlobalFastSimulationManager* theGFSM) fShowSetupCmd = new G4UIcmdWithoutParameter("/param/showSetup", this); - fShowSetupCmd->SetGuidance("Show fast simulation setup"); - fShowSetupCmd->AvailableForStates(G4State_GeomClosed); + fShowSetupCmd->SetGuidance("Show fast simulation setup:"); + fShowSetupCmd->SetGuidance(" - for each world region:"); + fShowSetupCmd->SetGuidance(" 1) fast simulation manager process attached;"); + fShowSetupCmd->SetGuidance(" - and to which particles the process is attached to;"); + fShowSetupCmd->SetGuidance(" 2) region hierarchy;"); + fShowSetupCmd->SetGuidance(" - with for each the fast simulation models attached;"); + fShowSetupCmd->AvailableForStates(G4State_Idle, G4State_GeomClosed); fListEnvelopesCmd = new G4UIcmdWithAString("/param/listEnvelopes", this); diff --git a/source/processes/parameterisation/src/G4FastStep.cc b/source/processes/parameterisation/src/G4FastStep.cc index ba2ffc5b1c..c0082385f9 100644 --- a/source/processes/parameterisation/src/G4FastStep.cc +++ b/source/processes/parameterisation/src/G4FastStep.cc @@ -25,7 +25,7 @@ // // // $Id: G4FastStep.cc,v 1.16 2006/06/29 21:09:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/processes/parameterisation/src/G4FastTrack.cc b/source/processes/parameterisation/src/G4FastTrack.cc index 56fced51a6..bd9dc32868 100644 --- a/source/processes/parameterisation/src/G4FastTrack.cc +++ b/source/processes/parameterisation/src/G4FastTrack.cc @@ -25,7 +25,7 @@ // // // $Id: G4FastTrack.cc,v 1.10 2006/06/29 21:09:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/processes/parameterisation/src/G4GFSManager81.cc b/source/processes/parameterisation/src/G4GFSManager81.cc deleted file mode 100644 index 35267dccd1..0000000000 --- a/source/processes/parameterisation/src/G4GFSManager81.cc +++ /dev/null @@ -1,167 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4GFSManager81.cc,v 1.1 2006/11/10 13:23:07 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// -//--------------------------------------------------------------- -// -// G4GFSManager81.cc -// -// Description: -// Gathers code to be dropped at the next major release -// -// History: -// November 2006 -// -//--------------------------------------------------------------- - -#include "G4GFSManager81.hh" -#include "G4ParticleTable.hh" -#include "G4ParticleDefinition.hh" -#include "G4Material.hh" -#include "G4ThreeVector.hh" -#include "G4PVPlacement.hh" -#include "G4TransportationManager.hh" -#include "G4FastSimulationMessenger.hh" - -#include "G4GlobalFastSimulationManager.hh" - -G4GFSManager81::G4GFSManager81() -{ - // It starts closed. - fClosed=true; -} - -void G4GFSManager81::FastSimulationNeedsToBeClosed() -{ - fClosed=false; -} - -void G4GFSManager81::CloseFastSimulation() -{ - if(fClosed) return; - - G4ParticleTable* theParticleTable; - - // Reset the NeededFlavoredWorlds List - NeededFlavoredWorlds.clearAndDestroy(); - - // We'll look for models for all particle types - theParticleTable=G4ParticleTable::GetParticleTable(); - - // Creates the first world volume clone. - G4VPhysicalVolume* aClone = GiveMeAWorldVolumeClone(); - - G4cout << "Closing Fast-Simulation ..." << G4endl; - - for (G4int iParticle=0; - iParticleentries(); iParticle++) { - G4bool Needed = false; - G4GlobalFastSimulationManager* global = G4GlobalFastSimulationManager::GetGlobalFastSimulationManager(); - for (size_t ifsm=0; ifsm< global->ManagedManagers.size(); ifsm++) - Needed = Needed || global->ManagedManagers[ifsm]-> - InsertGhostHereIfNecessary(aClone, - *(theParticleTable-> - GetParticle(iParticle))); - // if some FSM inserted a ghost, keep this clone. - if(Needed) - { - G4Region* aWorldGhostRegion = new G4Region("Ghost world region for " + theParticleTable->GetParticle(iParticle)->GetParticleName()); - aWorldGhostRegion->AddRootLogicalVolume(aClone->GetLogicalVolume()); - NeededFlavoredWorlds.push_back(new G4FlavoredParallelWorld(theParticleTable->GetParticle(iParticle), aClone)); - // and prepare a new one. - aClone=GiveMeAWorldVolumeClone(); - } - } - - fClosed=true; -} - -G4VFlavoredParallelWorld* -G4GFSManager81:: -GetFlavoredWorldForThis(G4ParticleDefinition* particle) -{ - for (size_t ipw=0; ipwGetTheParticleType()==particle) - return NeededFlavoredWorlds[ipw]; - return 0; -} - - -G4VPhysicalVolume* -G4GFSManager81::GiveMeAWorldVolumeClone() -{ - G4VPhysicalVolume* theParallelWorldPhysical; - - G4TransportationManager *transportationManager= - G4TransportationManager::GetTransportationManager(); - - G4VSolid *parallelWorldSolid=transportationManager-> - GetNavigatorForTracking()->GetWorldVolume()-> - GetLogicalVolume()->GetSolid(); - - G4Material *parallelWorldMaterial=transportationManager-> - GetNavigatorForTracking()->GetWorldVolume()-> - GetLogicalVolume()->GetMaterial(); - - G4LogicalVolume *parallelWorldLog = - new G4LogicalVolume(parallelWorldSolid, - parallelWorldMaterial, - "ParallelWorldLogical", - 0, 0, 0); - - theParallelWorldPhysical= new G4PVPlacement(0,G4ThreeVector(), - "ParallelWorldPhysical", - parallelWorldLog, - 0,false,0); - - return theParallelWorldPhysical; -} - - -G4bool -G4GFSManager81::Notify(G4ApplicationState requestedState) -{ - G4StateManager * stateManager = G4StateManager::GetStateManager(); - if((stateManager->GetPreviousState()==G4State_Idle) && - (requestedState==G4State_GeomClosed) && (!fClosed) ) - { - G4cerr - << "ERROR - G4GFSManager81::Notify()" << G4endl - << " 1) you are using ghost volumes;" << G4endl - << " 2) In this case the G4GFSManager81" << G4endl - << " MUST be closed BEFORE closing the geometry;" << G4endl - << " 3) To do this put in your code the call to" << G4endl - << " GetGlobalFastSimulationManager()->CloseFastSimulation();" - << G4endl - << " just before closing the geometry." << G4endl; - G4Exception("G4GFSManager81::Notify()", "InvalidState", - FatalException, "Fast simulation must be closed."); - } - return true; -} diff --git a/source/processes/parameterisation/src/G4GlobalFastSimulationManager.cc b/source/processes/parameterisation/src/G4GlobalFastSimulationManager.cc index 19a8104561..399b2ce50c 100644 --- a/source/processes/parameterisation/src/G4GlobalFastSimulationManager.cc +++ b/source/processes/parameterisation/src/G4GlobalFastSimulationManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4GlobalFastSimulationManager.cc,v 1.19 2006/11/10 15:27:17 mverderi Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4GlobalFastSimulationManager.cc,v 1.20 2007/05/11 13:50:20 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- @@ -43,6 +43,7 @@ // G4FlavoredParallelWorld pointer. // Feb 98: Verderi && MoraDeFreitas - First Implementation. // March 98: correction to instanciate dynamically the manager +// May 07: Move to parallel world scheme // //--------------------------------------------------------------- @@ -59,47 +60,49 @@ #include "G4ProcessManager.hh" #include "G4PhysicalVolumeStore.hh" -// -- *** to be dropped @ next major release: >>>> -#include "G4GFSManager81.hh" -// -- <<<<<<<< -G4GlobalFastSimulationManager* -G4GlobalFastSimulationManager::fGlobalFastSimulationManager = 0; +// ------------------------------------------ +// -- static instance pointer initialisation: +// ------------------------------------------ +G4GlobalFastSimulationManager* G4GlobalFastSimulationManager::fGlobalFastSimulationManager = 0; - -G4GlobalFastSimulationManager* -G4GlobalFastSimulationManager::GetGlobalFastSimulationManager() +// -------------------------------------------------- +// -- static methods to retrieve the manager pointer: +// -------------------------------------------------- +G4GlobalFastSimulationManager* G4GlobalFastSimulationManager::GetGlobalFastSimulationManager() { if(!fGlobalFastSimulationManager) - { fGlobalFastSimulationManager = new G4GlobalFastSimulationManager; - SetConcreteInstance(fGlobalFastSimulationManager); - - } + return fGlobalFastSimulationManager; } -G4GlobalFastSimulationManager::G4GlobalFastSimulationManager() +G4GlobalFastSimulationManager* G4GlobalFastSimulationManager::GetInstance() { - // Initialises the G4FastSimulationMessenger - fTheFastSimulationMessenger=new G4FastSimulationMessenger(this); - - // -- *** to be dropped @ next major release ***: - _deprecated = new G4GFSManager81(); + return G4GlobalFastSimulationManager::GetGlobalFastSimulationManager(); } +// --------------- +// -- constructor +// --------------- +G4GlobalFastSimulationManager::G4GlobalFastSimulationManager() +{ + fTheFastSimulationMessenger = new G4FastSimulationMessenger(this); +} + +// ------------- +// -- destructor +// ------------- G4GlobalFastSimulationManager::~G4GlobalFastSimulationManager() { delete fTheFastSimulationMessenger; fTheFastSimulationMessenger = 0; } -void G4GlobalFastSimulationManager::FastSimulationNeedsToBeClosed() -{ - _deprecated->FastSimulationNeedsToBeClosed(); -} - +// ---------------------- +// -- management methods: +// ---------------------- void G4GlobalFastSimulationManager:: AddFastSimulationManager(G4FastSimulationManager* fsmanager) { @@ -112,39 +115,17 @@ RemoveFastSimulationManager(G4FastSimulationManager* fsmanager) ManagedManagers.remove(fsmanager); } -void G4GlobalFastSimulationManager:: -AddFSMP(G4FastSimulationManagerProcess81* fp) +void G4GlobalFastSimulationManager::AddFSMP(G4FastSimulationManagerProcess* fp) { fFSMPVector.push_back(fp); } -void G4GlobalFastSimulationManager:: -RemoveFSMP(G4FastSimulationManagerProcess81* fp) +void G4GlobalFastSimulationManager::RemoveFSMP(G4FastSimulationManagerProcess* fp) { fFSMPVector.remove(fp); } -void G4GlobalFastSimulationManager::CloseFastSimulation() -{ - static int count(0); - if (count++ < 5) - G4cout << "G4GlobalFastSimulationManager::CloseFastSimulation() : DEPRECATING, will be dropped @ next major release" << G4endl; - _deprecated->CloseFastSimulation(); -} - -G4VFlavoredParallelWorld* -G4GlobalFastSimulationManager:: -GetFlavoredWorldForThis(G4ParticleDefinition* definition) -{ - static int count(0); - if (count++ < 5) - G4cout << "G4GlobalFastSimulationManager::GetFlavoredWorldForThis(...): DEPRECATING, will be dropped @ next major release" << G4endl; - return _deprecated->GetFlavoredWorldForThis(definition); -} - -void -G4GlobalFastSimulationManager:: -ActivateFastSimulationModel(const G4String& aName) +void G4GlobalFastSimulationManager::ActivateFastSimulationModel(const G4String& aName) { G4bool result = false; for (size_t ifsm=0; ifsm worldDone; G4VPhysicalVolume* world; @@ -224,9 +206,7 @@ G4GlobalFastSimulationManager::ShowSetup() } -void -G4GlobalFastSimulationManager:: -DisplayRegion(G4Region* region, G4int depth, std::vector& particlesKnown) const +void G4GlobalFastSimulationManager::DisplayRegion(G4Region* region, G4int depth, std::vector& particlesKnown) const { G4String indent = " "; for (G4int I=0; I& } +// ---------------------------- +// -- management methods : list +// ---------------------------- -void -G4GlobalFastSimulationManager::ListEnvelopes(const G4String& aName, - listType theType) +void G4GlobalFastSimulationManager::ListEnvelopes(const G4String& aName, + listType theType) { if (theType == ISAPPLICABLE) { @@ -311,26 +293,15 @@ G4GlobalFastSimulationManager::ListEnvelopes(const G4String& aName, } } -void -G4GlobalFastSimulationManager::ListEnvelopes(const G4ParticleDefinition* aPD) +void G4GlobalFastSimulationManager::ListEnvelopes(const G4ParticleDefinition* aPD) { for (size_t ifsm=0; ifsmListModels(aPD); } -G4bool -G4GlobalFastSimulationManager::Notify(G4ApplicationState requestedState) -{ - static int count(0); - if (count++ < 5) - G4cout << "G4GlobalFastSimulationManager::Notify() : DEPRECATING, will be dropped @ next major release" << G4endl; - return _deprecated->Notify(requestedState); -} -G4VFastSimulationModel* -G4GlobalFastSimulationManager:: -GetFastSimulationModel(const G4String& modelName, - const G4VFastSimulationModel* previousFound) const +G4VFastSimulationModel* G4GlobalFastSimulationManager::GetFastSimulationModel(const G4String& modelName, + const G4VFastSimulationModel* previousFound) const { G4VFastSimulationModel* model = 0; // -- flag used to navigate accross the various managers; diff --git a/source/processes/parameterisation/src/G4VFastSimulationModel.cc b/source/processes/parameterisation/src/G4VFastSimulationModel.cc index 4af4f617bc..19feb7e342 100644 --- a/source/processes/parameterisation/src/G4VFastSimulationModel.cc +++ b/source/processes/parameterisation/src/G4VFastSimulationModel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VFastSimulationModel.cc,v 1.6 2006/06/29 21:09:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VFastSimulationModel.cc,v 1.7 2007/05/11 13:50:20 mverderi Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // @@ -43,26 +43,24 @@ #include "G4VFastSimulationModel.hh" #include "G4FastSimulationManager.hh" -// -// Simple constructor. -// -G4VFastSimulationModel:: -G4VFastSimulationModel(const G4String& aName) : theModelName(aName) {} +// ---------------------- +// -- Simple constructor: +// ---------------------- +G4VFastSimulationModel::G4VFastSimulationModel(const G4String& aName) + : theModelName(aName) {} -// -// Constructor for beginners. We do all the job, no matters... -// -G4VFastSimulationModel:: -G4VFastSimulationModel(const G4String& aName, - G4Envelope* anEnvelope, - G4bool IsUnique) : theModelName(aName) +// ---------------------------------------------------------------------------------------------- +// -- Constructor with automatic G4FastSimulationManager constructed if needed fo given envelope: +// ---------------------------------------------------------------------------------------------- +G4VFastSimulationModel::G4VFastSimulationModel(const G4String& aName, + G4Envelope* anEnvelope, + G4bool IsUnique) + : theModelName(aName) { - // Retrieves the Fast Simulation Manager ou creates one - // if needed. + // Retrieves the Fast Simulation Manager ou creates one if needed. G4FastSimulationManager* theFastSimulationManager; - if ((theFastSimulationManager=anEnvelope->GetFastSimulationManager()) == 0) - theFastSimulationManager= - new G4FastSimulationManager(anEnvelope,IsUnique); + if ((theFastSimulationManager = anEnvelope->GetFastSimulationManager()) == 0) + theFastSimulationManager = new G4FastSimulationManager(anEnvelope,IsUnique); // adds this model to the Fast Simulation Manager. theFastSimulationManager->AddFastSimulationModel(this); } diff --git a/source/processes/scoring/History b/source/processes/scoring/History index 97801fc894..1e387a250c 100644 --- a/source/processes/scoring/History +++ b/source/processes/scoring/History @@ -1,4 +1,4 @@ -$Id: History,v 1.11 2007/04/14 19:08:04 asaim Exp $ +$Id: History,v 1.16 2007/05/30 17:49:56 ahoward Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,25 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +May 30th A.Howard (procscore-V08-03-03) +- clean tag with files in the right place (!) + + +May 30th A.Howard (procscore-V08-03-02) +- Moved biasing classes and tests into processes/biasing + +May 18th A.Howard (procscore-V08-03-01) +- Added comment to exception in G4NewProcessPlacer to emphasise configuration +after physics list + + +May 16th A.Howard (procscore-V08-03-00) +- Fixed bug in G4ScoreProcess which didn't get applied to non-parallel geometries +- Updated NewProcessPlacer to recognise old transportation (Transportation8) +- Updated examples (to get back to old transportation and reminder about +arguments) + + April 14th M.Asai (procscore-V08-02-00) - Set step status for ghost pre-step point. diff --git a/source/processes/scoring/include/G4NewProcessPlacer.hh b/source/processes/scoring/include/G4NewProcessPlacer.hh deleted file mode 100644 index 9d96e6fd92..0000000000 --- a/source/processes/scoring/include/G4NewProcessPlacer.hh +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4NewProcessPlacer.hh,v 1.1 2006/11/20 10:02:05 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4NewProcessPlacer -// -// Class description: -// -// Used internally by importance sampling and scoring. -// See G4VProcessPlacer. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4NewProcessPlacer_hh -#define G4NewProcessPlacer_hh G4NewProcessPlacer_hh - -#include "G4Types.hh" -#include "G4String.hh" -#include "G4VProcessPlacer.hh" - -class G4ProcessManager; -class G4ProcessVector; - -class G4NewProcessPlacer : public G4VProcessPlacer -{ - -public: // with description - - explicit G4NewProcessPlacer(const G4String &particlename); - // create a process placer for a particle type - - virtual ~G4NewProcessPlacer(); - - virtual void AddProcessAsLastDoIt(G4VProcess *process); - // place a post step do it process such that the - // PostStepDoIt function is called last - // THE ORDER CHANGES BY SUBSEQUENT CALLS - - virtual void AddProcessAsSecondDoIt(G4VProcess *process); - // place a post step do it process such that the - // PostStepDoIt function is called second - // THE ORDER CHANGES BY SUBSEQUENT CALLS - - virtual void RemoveProcess(G4VProcess *process); - // removes a given process - - enum SecondOrLast - { - eSecond = 1, - eLast = 0 - }; - -private: - - G4ProcessManager *GetProcessManager(); - void AddProcessAs(G4VProcess *process, SecondOrLast); - - void PrintProcVec(G4ProcessVector* processVec); - void PrintPostStepGPILVec(); - void PrintPostStepDoItVec(); - -private: - - G4String fParticleName; - -}; - -#endif diff --git a/source/processes/scoring/include/G4NewWeightCutOffConfigurator.hh b/source/processes/scoring/include/G4NewWeightCutOffConfigurator.hh deleted file mode 100644 index d246713f0b..0000000000 --- a/source/processes/scoring/include/G4NewWeightCutOffConfigurator.hh +++ /dev/null @@ -1,84 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4NewWeightCutOffConfigurator.hh,v 1.1 2006/11/20 10:02:05 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4NewWeightCutOffConfigurator -// -// Class description: -// This class builds and places the G4NewWeightCutOffProcess. -// If the object is deleted the process is removed from the -// process list. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4NewWeightCutOffConfigurator_hh -#define G4NewWeightCutOffConfigurator_hh G4NewWeightCutOffConfigurator_hh - -#include "G4Types.hh" -#include "G4VSamplerConfigurator.hh" -#include "G4NewProcessPlacer.hh" - -class G4NewWeightCutOffProcess; -class G4VGCellFinder; -class G4VIStore; -class G4VPhysicalVolume; - -class G4NewWeightCutOffConfigurator : public G4VSamplerConfigurator -{ - -public: // with description - - G4NewWeightCutOffConfigurator(G4VPhysicalVolume* worldvolume, - const G4String &particlename, - G4double wsurvival, - G4double wlimit, - G4double isource, - G4VIStore *istore, - const G4VGCellFinder &aGCellFinder,G4bool paraflag); - - virtual ~G4NewWeightCutOffConfigurator(); - virtual void Configure(G4VSamplerConfigurator *preConf); - virtual const G4VTrackTerminator *GetTrackTerminator() const ; - -private: - - G4NewWeightCutOffConfigurator(const G4NewWeightCutOffConfigurator&); - G4NewWeightCutOffConfigurator & - operator=(const G4NewWeightCutOffConfigurator&); - G4VPhysicalVolume* fWorld; - G4NewProcessPlacer fPlacer; - G4NewWeightCutOffProcess *fNewWeightCutOffProcess; - G4bool fPlaced; - - - G4bool paraflag; - -}; - -#endif diff --git a/source/processes/scoring/include/G4ParallelWorldScoringProcess.hh b/source/processes/scoring/include/G4ParallelWorldScoringProcess.hh index 831e44b1db..7a4f114b6d 100644 --- a/source/processes/scoring/include/G4ParallelWorldScoringProcess.hh +++ b/source/processes/scoring/include/G4ParallelWorldScoringProcess.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParallelWorldScoringProcess.hh,v 1.2 2006/11/13 18:36:02 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ParallelWorldScoringProcess.hh,v 1.4 2007/05/30 17:47:10 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/processes/scoring/include/G4ScoreProcess.hh b/source/processes/scoring/include/G4ScoreProcess.hh deleted file mode 100644 index 611e413aad..0000000000 --- a/source/processes/scoring/include/G4ScoreProcess.hh +++ /dev/null @@ -1,164 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ScoreProcess.hh,v 1.1 2006/11/20 10:02:06 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ScoreProcess -// -// Class description: -// -// Used internally by scoring in the "mass" world. -// This is a forced post step process messaging a "scorer" -// derived from G4VScorer. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4ScoreProcess_hh -#define G4ScoreProcess_hh G4ScoreProcess_hh - -#include "G4VProcess.hh" -#include "G4VTrackTerminator.hh" - -class G4VScorer; - -class G4Step; -class G4Navigator; -class G4TransportationManager; -class G4PathFinder; -class G4VTouchable; - -#include "G4FieldTrack.hh" -#include "G4TouchableHandle.hh" - - -class G4ScoreProcess : public G4VProcess, public G4VTrackTerminator -{ - -public: // with description - - explicit G4ScoreProcess(G4VScorer &aScorer, - const G4String &aName = "ScoreProcess", G4bool para = false); - // take reference to scorer and coppy particle name and - // create a G4ParticleChange - - virtual ~G4ScoreProcess(); - // delete the G4ParticleChange - - - //-------------------------------------------------------------- - // Set Paralle World - //-------------------------------------------------------------- - - void SetParallelWorld(G4String parallelWorldName); - void SetParallelWorld(G4VPhysicalVolume* parallelWorld); - - //-------------------------------------------------------------- - // Process interface - //-------------------------------------------------------------- - - void StartTracking(G4Track*); - - - - virtual G4double - PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // make processed being forced - - virtual G4VParticleChange * PostStepDoIt(const G4Track&, const G4Step&); - // message "scorer" with G4Step and a G4GeometryCellStep from the "mass" - // geometry - - virtual void KillTrack() const; - - // to be called by the importance process if the track should - // be killed after scoring - virtual const G4String &GetName() const ; - -public: // without description - - // no operation in AtRestDoIt and AlongStepDoIt - - virtual G4double - AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*); - - virtual G4double - AtRestGetPhysicalInteractionLength(const G4Track&, - G4ForceCondition*); - - virtual G4VParticleChange* AtRestDoIt(const G4Track&, - const G4Step&); - virtual G4VParticleChange* AlongStepDoIt(const G4Track&, - const G4Step&); - -private: - - G4ScoreProcess(const G4ScoreProcess &); - G4ScoreProcess &operator=(const G4ScoreProcess &); - -private: - - void CopyStep(const G4Step & step); - - G4Step * fGhostStep; - G4StepPoint * fGhostPreStepPoint; - G4StepPoint * fGhostPostStepPoint; - - G4ParticleChange *fParticleChange; - - G4VScorer &fScorer; - mutable G4bool fKillTrack; - - - G4TransportationManager* fTransportationManager; - G4PathFinder* fPathFinder; - - // ------------------------------- - // Navigation in the Ghost World: - // ------------------------------- - G4String fGhostWorldName; - G4VPhysicalVolume* fGhostWorld; - G4Navigator* fGhostNavigator; - G4int fNavigatorID; - G4TouchableHandle fOldGhostTouchable; - G4TouchableHandle fNewGhostTouchable; - G4FieldTrack fFieldTrack; - G4double fGhostSafety; - G4bool fOnBoundary; - - G4bool paraflag; - - -}; - -#endif diff --git a/source/processes/scoring/src/G4NewProcessPlacer.cc b/source/processes/scoring/src/G4NewProcessPlacer.cc deleted file mode 100644 index b0250f9a3f..0000000000 --- a/source/processes/scoring/src/G4NewProcessPlacer.cc +++ /dev/null @@ -1,207 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4NewProcessPlacer.cc,v 1.1 2006/11/20 10:02:16 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4NewProcessPlacer.cc -// -// ---------------------------------------------------------------------- - -#include "G4NewProcessPlacer.hh" -#include "G4ProcessManager.hh" -#include "G4VProcess.hh" -#include "G4ParticleTable.hh" - -G4NewProcessPlacer::G4NewProcessPlacer(const G4String &particlename) - : fParticleName(particlename) -{ -} - -G4NewProcessPlacer::~G4NewProcessPlacer() -{ -} - -void G4NewProcessPlacer::RemoveProcess(G4VProcess *process) -{ - G4cout << "=== G4NewProcessPlacer::RemoveProcess: for: " << fParticleName - << G4endl; - G4cout << " ProcessName: " << process->GetProcessName() - << ", will be removed!" << G4endl; - - G4cout << " The initial Vectors: " << G4endl; - PrintPostStepGPILVec(); - PrintPostStepDoItVec(); - - GetProcessManager()->RemoveProcess(process); - - G4cout << " The final Vectors: " << G4endl; - PrintPostStepGPILVec(); - PrintPostStepDoItVec(); - - G4cout << "================================================" << G4endl; - -} - -void G4NewProcessPlacer::AddProcessAs(G4VProcess *process, SecondOrLast sol) -{ - G4cout << " ProcessName: " << process->GetProcessName() << G4endl; - G4cout << "The initial Vectors: " << G4endl; - PrintPostStepGPILVec(); - PrintPostStepDoItVec(); - - if (sol == eLast) - { - GetProcessManager()->AddProcess(process, ordInActive, ordInActive, ordLast); - } - else if (sol == eSecond) - { - // get transportation process - G4VProcess *transportation = - (* (GetProcessManager()->GetProcessList()))[0]; - - if (!transportation) - { - G4Exception(" G4NewProcessPlacer:: could not get process id=0"); - } - if (transportation->GetProcessName() != "Transportation" && transportation->GetProcessName() != "CoupledTransportation") - { - // G4cout << " GOT HERE CoupledTransportation" << G4endl; - G4cout << transportation->GetProcessName() << G4endl; - G4Exception(" G4NewProcessPlacer:: process id=0 is not Transportation"); - } - - // place the given proces as first for the moment - GetProcessManager()->AddProcess(process); - GetProcessManager()->SetProcessOrderingToFirst(process, - idxPostStep); - // xx test - // if(process->GetProcessName() == "ImportanceProcess") - GetProcessManager()->SetProcessOrdering(process, - idxAlongStep, 1); - // place transportation first again - GetProcessManager()->SetProcessOrderingToFirst(transportation, - idxPostStep); - } - - // for verification inly - G4cout << "The final Vectors: " << G4endl; - PrintPostStepGPILVec(); - PrintPostStepDoItVec(); - - G4cout << "================================================" << G4endl; -} - -void G4NewProcessPlacer::AddProcessAsSecondDoIt(G4VProcess *process) -{ - G4cout << "=== G4NewProcessPlacer::AddProcessAsSecondDoIt: for: " - << fParticleName << G4endl; - AddProcessAs(process, eSecond); -} - -void G4NewProcessPlacer::AddProcessAsLastDoIt(G4VProcess *process) -{ - G4cout << "=== G4NewProcessPlacer::AddProcessAsLastDoIt: for: " - << fParticleName << G4endl; - AddProcessAs(process, eLast); -} - -G4ProcessManager *G4NewProcessPlacer::GetProcessManager() -{ - // get particle iterator to add processes --------------------- - G4ParticleTable* theParticleTable = 0; - G4ParticleTable::G4PTblDicIterator* theParticleIterator = 0; - theParticleTable = G4ParticleTable::GetParticleTable(); - theParticleIterator = theParticleTable->GetIterator(); - // ------------------------------------------------------- - G4ProcessManager *processmanager = 0; - // find process manager --------------------------- - theParticleIterator->reset(); - while( (*theParticleIterator)() ) - { - G4ParticleDefinition* particle = theParticleIterator->value(); - if (particle->GetParticleName() == fParticleName) - { - processmanager = particle->GetProcessManager(); - break; - } - } - // --------------------------------------------------------- - if (!processmanager) - { - G4Exception("G4NewProcessPlacer::GetProcessManager()", "InvalidSetup", - FatalException, "NULL pointer to Process Manager !"); - } - return processmanager; -} - -void G4NewProcessPlacer::PrintPostStepGPILVec() -{ - G4cout << "GPIL Vector: " << G4endl; - G4ProcessVector* processGPILVec = - GetProcessManager()->GetPostStepProcessVector(typeGPIL); - PrintProcVec(processGPILVec); -} - -void G4NewProcessPlacer::PrintPostStepDoItVec() -{ - G4cout << "DoIt Vector: " << G4endl; - G4ProcessVector* processDoItVec = - GetProcessManager()->GetPostStepProcessVector(typeDoIt); - PrintProcVec(processDoItVec); -} - - -void G4NewProcessPlacer::PrintProcVec(G4ProcessVector* processVec) -{ - if (!processVec) - { - G4Exception("G4NewProcessPlacer::G4NewProcessPlacer()", "InvalidArgument", - FatalException, "NULL pointer to process-vector !"); - } - G4int len = processVec->length(); - if (len==0) - { - G4Exception("G4NewProcessPlacer::G4NewProcessPlacer()", "InvalidSetup", - FatalException, "Length of process-vector is zero !"); - } - for (int pi=0; piGetProcessName() << G4endl; - } - else - { - G4cout << " " << "no process found for position: " << pi - << ", in vector of length: " << len << G4endl; - } - } -} diff --git a/source/processes/scoring/src/G4NewWeightCutOffConfigurator.cc b/source/processes/scoring/src/G4NewWeightCutOffConfigurator.cc deleted file mode 100644 index ba661f77ae..0000000000 --- a/source/processes/scoring/src/G4NewWeightCutOffConfigurator.cc +++ /dev/null @@ -1,86 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4NewWeightCutOffConfigurator.cc,v 1.1 2006/11/20 10:02:16 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4NewWeightCutOffConfigurator -// -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#include "G4NewWeightCutOffConfigurator.hh" -#include "G4NewWeightCutOffProcess.hh" - -G4NewWeightCutOffConfigurator:: -G4NewWeightCutOffConfigurator(G4VPhysicalVolume* worldvolume, - const G4String &particlename, - G4double wsurvival, - G4double wlimit, - G4double isource, - G4VIStore *istore, - const G4VGCellFinder &aGCellfinder, G4bool para) - : fWorld(worldvolume), - fPlacer(particlename), - fPlaced(false), - paraflag(para) -{ - fNewWeightCutOffProcess = - new G4NewWeightCutOffProcess(wsurvival,wlimit,isource,istore,aGCellfinder,"NewWeightCutOffProcess",paraflag); - if (!fNewWeightCutOffProcess) - { - G4Exception("G4NewWeightCutOffConfigurator::G4NewWeightCutOffConfigurator()", - "FatalError", FatalException, - "Failed to allocate G4NewWeightCutOffProcess !"); - } -} - -G4NewWeightCutOffConfigurator::~G4NewWeightCutOffConfigurator() -{ - if (fPlaced) - { - fPlacer.RemoveProcess(fNewWeightCutOffProcess); - delete fNewWeightCutOffProcess; - } -} - -void G4NewWeightCutOffConfigurator::Configure(G4VSamplerConfigurator *) -{ - G4cout << " entering new weight window configure " << G4endl; - - if(paraflag) fNewWeightCutOffProcess->SetParallelWorld(fWorld); - - fPlacer.AddProcessAsLastDoIt(fNewWeightCutOffProcess); - fPlaced = true; -} - -const G4VTrackTerminator -*G4NewWeightCutOffConfigurator::GetTrackTerminator() const -{ - return 0; -} - diff --git a/source/processes/scoring/src/G4ParallelWorldScoringProcess.cc b/source/processes/scoring/src/G4ParallelWorldScoringProcess.cc index e5ec03c2d8..a6d826452d 100644 --- a/source/processes/scoring/src/G4ParallelWorldScoringProcess.cc +++ b/source/processes/scoring/src/G4ParallelWorldScoringProcess.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParallelWorldScoringProcess.cc,v 1.6 2007/04/14 19:04:41 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4ParallelWorldScoringProcess.cc,v 1.8 2007/05/30 17:47:11 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/scoring/src/G4ScoreConfigurator.cc b/source/processes/scoring/src/G4ScoreConfigurator.cc deleted file mode 100644 index 29a288107a..0000000000 --- a/source/processes/scoring/src/G4ScoreConfigurator.cc +++ /dev/null @@ -1,84 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ScoreConfigurator.cc,v 1.1 2006/11/20 10:02:17 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ScoreConfigurator -// -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#include "G4ScoreConfigurator.hh" -#include "G4VScorer.hh" -#include "G4VTrackTerminator.hh" -#include "G4ScoreProcess.hh" - -G4ScoreConfigurator:: -G4ScoreConfigurator(G4VPhysicalVolume* worldvolume, const G4String &particlename, - G4VScorer &scorer, G4bool para) - : fWorld(worldvolume), - fPlacer(particlename), - fScorer(scorer), - fScoreProcess(0) -{ - paraflag = para; -} - -G4ScoreConfigurator::~G4ScoreConfigurator() -{ - if (fScoreProcess) - { - fPlacer.RemoveProcess(fScoreProcess); - delete fScoreProcess; - } -} - -const G4VTrackTerminator * -G4ScoreConfigurator::GetTrackTerminator() const -{ - return fScoreProcess; -} - -void G4ScoreConfigurator::Configure(G4VSamplerConfigurator *) -{ - G4cout << " entering scoring configure " << G4endl; - fScoreProcess = new G4ScoreProcess(fScorer,"ScoringProcess",paraflag); - G4cout << " creating score process " << G4endl; - if (!fScoreProcess) - { - G4Exception("G4ScoreConfigurator::Configure()", - "FatalError", FatalException, - "Failed allocation of G4ScoreProcess !"); - } - - G4cout << " setting parallel world " << G4endl; - if(paraflag) fScoreProcess->SetParallelWorld(fWorld); - G4cout << " set " << G4endl; - - fPlacer.AddProcessAsSecondDoIt(fScoreProcess); -} diff --git a/source/processes/scoring/src/G4ScoreProcess.cc b/source/processes/scoring/src/G4ScoreProcess.cc deleted file mode 100644 index a02d037df4..0000000000 --- a/source/processes/scoring/src/G4ScoreProcess.cc +++ /dev/null @@ -1,413 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ScoreProcess.cc,v 1.1 2006/11/20 10:02:18 ahoward Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4ScoreProcess.cc -// -// ---------------------------------------------------------------------- - -#include "G4ScoreProcess.hh" -#include "G4VScorer.hh" - -#include "G4GeometryCellStep.hh" - -#include "G4Step.hh" -#include "G4Navigator.hh" -#include "G4VTouchable.hh" -#include "G4VPhysicalVolume.hh" -#include "G4ParticleChange.hh" -#include "G4PathFinder.hh" -#include "G4TransportationManager.hh" -#include "G4StepPoint.hh" -#include "G4FieldTrackUpdator.hh" - - -G4ScoreProcess::G4ScoreProcess(G4VScorer &aScorer, - const G4String &aName, G4bool para) - : G4VProcess(aName), - fParticleChange(new G4ParticleChange), - fScorer(aScorer), - fKillTrack(false), - fGhostNavigator(0), fNavigatorID(-1), fFieldTrack('0') -{ - - if (!fParticleChange) - { - G4Exception("G4ScoreProcess::G4ScoreProcess()", "Fatal Error", - FatalException, "Failed to allocate G4ParticleChange !"); - } - G4VProcess::pParticleChange = fParticleChange; - - fGhostStep = new G4Step(); - fGhostPreStepPoint = fGhostStep->GetPreStepPoint(); - fGhostPostStepPoint = fGhostStep->GetPostStepPoint(); - - fTransportationManager = G4TransportationManager::GetTransportationManager(); - fPathFinder = G4PathFinder::GetInstance(); - - if (verboseLevel>0) - { - G4cout << GetProcessName() << " is created " << G4endl; - } - - paraflag = para; - - -} - -G4ScoreProcess::~G4ScoreProcess() -{ - delete fParticleChange; - delete fGhostStep; -} - - - -//------------------------------------------------------ -// -// SetParallelWorld -// -//------------------------------------------------------ -void G4ScoreProcess:: -SetParallelWorld(G4String parallelWorldName) -{ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// Get pointers of the parallel world and its navigator -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - fGhostWorldName = parallelWorldName; - fGhostWorld = fTransportationManager->GetParallelWorld(fGhostWorldName); - fGhostNavigator = fTransportationManager->GetNavigator(fGhostWorld); -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -} - -void G4ScoreProcess:: -SetParallelWorld(G4VPhysicalVolume* parallelWorld) -{ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// Get pointer of navigator -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - G4cout << " Getting Name: " << G4endl; - fGhostWorldName = parallelWorld->GetName(); - G4cout << " Get Name :" << fGhostWorldName << G4endl; - fGhostWorld = parallelWorld; - fGhostNavigator = fTransportationManager->GetNavigator(fGhostWorld); -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -} - - -//------------------------------------------------------ -// -// StartTracking -// -//------------------------------------------------------ -void G4ScoreProcess::StartTracking(G4Track* trk) -{ -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// Activate navigator and get the navigator ID -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// G4cout << " G4ParallelWorldScoringProcess::StartTracking" << G4endl; - - if(paraflag) { - if(fGhostNavigator) - { fNavigatorID = fTransportationManager->ActivateNavigator(fGhostNavigator); } - else - { - G4Exception("G4ScoreProcess::StartTracking", - "ProcParaWorld000",FatalException, - "G4ScoreProcess is used for tracking without having a parallel world assigned"); - } -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -// G4cout << "G4ParallelWorldScoringProcess::StartTracking <<<<<<<<<<<<<<<<<< " << G4endl; -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// Let PathFinder initialize -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - fPathFinder->PrepareNewTrack(trk->GetPosition(),trk->GetMomentumDirection()); -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// Setup initial touchables for the first step -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - fOldGhostTouchable = fPathFinder->CreateTouchableHandle(fNavigatorID); - fGhostPreStepPoint->SetTouchableHandle(fOldGhostTouchable); - fNewGhostTouchable = fOldGhostTouchable; - fGhostPostStepPoint->SetTouchableHandle(fNewGhostTouchable); - - // Initialize - fGhostSafety = -1.; - fOnBoundary = false; - - } -} - - - -G4double G4ScoreProcess:: -PostStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4ForceCondition* condition) -{ -// *condition = Forced; -// return kInfinity; - -// *condition = StronglyForced; - *condition = Forced; - return DBL_MAX; -} - -G4VParticleChange * -G4ScoreProcess::PostStepDoIt(const G4Track& aTrack, const G4Step &aStep) -{ - - //AH G4cout << " inside scoring post-step, track: " << aTrack.GetTrackID() << " step: " << aTrack.GetCurrentStepNumber() << G4endl; - //AH G4cout << " and fOnBoundary " << fOnBoundary << G4endl; - fParticleChange->Initialize(aTrack); - - if(paraflag) { - fOldGhostTouchable = fGhostPostStepPoint->GetTouchableHandle(); - //xbug? fOnBoundary = false; - CopyStep(aStep); - if(fOnBoundary) - { -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// Locate the point and get new touchable -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - //?? fPathFinder->Locate(step.GetPostStepPoint()->GetPosition(), - //?? step.GetPostStepPoint()->GetMomentumDirection()); - //AH G4cout << " GOT HERE? inside post step " << G4endl; - fNewGhostTouchable = fPathFinder->CreateTouchableHandle(fNavigatorID); -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - } - else - { - // Do I need this ?????????????????????????????????????????????????????????? - // fGhostNavigator->LocateGlobalPointWithinVolume(track.GetPosition()); - // ????????????????????????????????????????????????????????????????????????? - - // fPathFinder->ReLocate(track.GetPosition()); - - // reuse the touchable - fNewGhostTouchable = fOldGhostTouchable; - } - - fGhostPreStepPoint->SetTouchableHandle(fOldGhostTouchable); - fGhostPostStepPoint->SetTouchableHandle(fNewGhostTouchable); - } - - - // G4StepPoint *prepoint = aStep.GetPreStepPoint(); - // G4StepPoint *postpoint = aStep.GetPostStepPoint(); - - // G4GeometryCell prekey(*(prepoint->GetPhysicalVolume()), - // prepoint->GetTouchable()->GetReplicaNumber()); - // G4GeometryCell postkey(*(postpoint->GetPhysicalVolume()), -// postpoint->GetTouchable()->GetReplicaNumber()); - - if(paraflag) { - if (fGhostStep->GetStepLength() > kCarTolerance) - { - G4GeometryCell prekey(*(fGhostPreStepPoint->GetPhysicalVolume()), - fGhostPreStepPoint->GetTouchable()->GetReplicaNumber()); - G4GeometryCell postkey(*(fGhostPostStepPoint->GetPhysicalVolume()), - fGhostPostStepPoint->GetTouchable()->GetReplicaNumber()); - G4GeometryCellStep pstep(prekey, postkey); - pstep.SetCrossBoundary(false); - //xxtest pstep.SetCrossBoundary(true); - - if (prekey != postkey) - { - pstep.SetCrossBoundary(true); - } - fScorer.Score(aStep, pstep); - } else { - if (aStep.GetStepLength() > kCarTolerance) - { - G4StepPoint *prepoint = aStep.GetPreStepPoint(); - G4StepPoint *postpoint = aStep.GetPostStepPoint(); - - G4GeometryCell prekey(*(prepoint->GetPhysicalVolume()), - prepoint->GetTouchable()->GetReplicaNumber()); - G4GeometryCell postkey(*(postpoint->GetPhysicalVolume()), - postpoint->GetTouchable()->GetReplicaNumber()); - G4GeometryCellStep pstep(prekey, postkey); - pstep.SetCrossBoundary(false); - - if (prekey != postkey) - { - pstep.SetCrossBoundary(true); - } - fScorer.Score(aStep, pstep); - } - } - } - - if (fKillTrack) - { - //AH G4cout << " score process is killing track - why? " << G4endl; - fKillTrack = false; - fParticleChange->ProposeTrackStatus(fStopAndKill); - } - - return fParticleChange; - // return G4VProcess::pParticleChange; -} - -const G4String &G4ScoreProcess::GetName() const -{ - return theProcessName; -} - - -G4double G4ScoreProcess:: -AlongStepGetPhysicalInteractionLength( - const G4Track& track, G4double previousStepSize, G4double currentMinimumStep, - G4double& proposedSafety, G4GPILSelection* selection) -{ - //AH G4cout << " inside scoring along-step GPIL, track : " << track.GetTrackID() << " step#: " << track.GetCurrentStepNumber() << G4endl; - if(paraflag) { - static G4FieldTrack endTrack('0'); - static ELimited eLimited; - - *selection = NotCandidateForSelection; - G4double returnedStep = DBL_MAX; - - if (previousStepSize > 0.) - { fGhostSafety -= previousStepSize; } - // else - // { fGhostSafety = -1.; } - if (fGhostSafety < 0.) fGhostSafety = 0.0; - - // ------------------------------------------ - // Determination of the proposed STEP LENGTH: - // ------------------------------------------ - if (currentMinimumStep <= fGhostSafety && currentMinimumStep > 0.) - { - // I have no chance to limit - returnedStep = currentMinimumStep; - fOnBoundary = false; - proposedSafety = fGhostSafety - currentMinimumStep; - } - else // (currentMinimumStep > fGhostSafety: I may limit the Step) - { - G4FieldTrackUpdator::Update(&fFieldTrack,&track); - //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - // ComputeStep - //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - returnedStep - = fPathFinder->ComputeStep(fFieldTrack,currentMinimumStep,fNavigatorID, - track.GetCurrentStepNumber(),fGhostSafety,eLimited, - endTrack,track.GetVolume()); - //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - if(eLimited == kDoNot) - { - // Track is not on the boundary - fOnBoundary = false; - fGhostSafety = fGhostNavigator->ComputeSafety(endTrack.GetPosition()); - } - else - { - // Track is on the boundary - //AH G4cout << " GOT HERE " << G4endl; - fOnBoundary = true; - proposedSafety = fGhostSafety; - } - //xbug? proposedSafety = fGhostSafety; - if(eLimited == kUnique || eLimited == kSharedOther) { - *selection = CandidateForSelection; - }else if (eLimited == kSharedTransport) { - returnedStep *= (1.0 + 1.0e-9); - // Expand to disable its selection in Step Manager comparison - } - - } - - // ---------------------------------------------- - // Returns the fGhostSafety as the proposedSafety - // The SteppingManager will take care of keeping - // the smallest one. - // ---------------------------------------------- - return returnedStep; - - } else { - return DBL_MAX; - // not sensible! return -1.0; - } - -} - -G4double G4ScoreProcess:: -AtRestGetPhysicalInteractionLength(const G4Track&, - G4ForceCondition*) -{ - return -1.0; -} - -G4VParticleChange* G4ScoreProcess::AtRestDoIt(const G4Track&, - const G4Step&) -{ - return 0; -} - -G4VParticleChange* G4ScoreProcess::AlongStepDoIt(const G4Track& track, - const G4Step&) -{ - // Dummy ParticleChange ie: does nothing - // Expecting G4Transportation to move the track - pParticleChange->Initialize(track); - return pParticleChange; - - // return 0; -} - -void G4ScoreProcess::KillTrack() const -{ - fKillTrack = true; -} - -void G4ScoreProcess::CopyStep(const G4Step & step) -{ - fGhostStep->SetTrack(step.GetTrack()); - fGhostStep->SetStepLength(step.GetStepLength()); - fGhostStep->SetTotalEnergyDeposit(step.GetTotalEnergyDeposit()); - fGhostStep->SetControlFlag(step.GetControlFlag()); - - *fGhostPreStepPoint = *(step.GetPreStepPoint()); - *fGhostPostStepPoint = *(step.GetPostStepPoint()); - -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -// Set StepStatus for ghost world -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - if(fOnBoundary) - { fGhostPostStepPoint->SetStepStatus(fGeomBoundary); } - else if(fGhostPostStepPoint->GetStepStatus()==fGeomBoundary) - { fGhostPostStepPoint->SetStepStatus(fPostStepDoItProc); } -//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -} diff --git a/source/processes/transportation/History b/source/processes/transportation/History index 87f3eca0eb..a2c7f725c5 100644 --- a/source/processes/transportation/History +++ b/source/processes/transportation/History @@ -1,4 +1,4 @@ -$Id: History,v 1.112 2007/02/15 19:02:06 japost Exp $ +$Id: History,v 1.119.2.2 2007/05/31 08:03:11 gcosmo Exp $ ------------------------------------------------------------------- ========================================================= @@ -12,10 +12,40 @@ to briefly summarize all major modifications introduced in the code and keep track of all category-tags. It DOES NOT substitute the CVS log-message one should put at every committal in the CVS repository ! - +` ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- + +May 31st, 2007, A.Howard transport-V08-03-12 +------------------------ +- Archived classes for old biasing scheme, now replaced in module + processes/biasing. Removed classes: + G4MImportanceConfigurator, G4MScoreConfigurator, G4MScoreProcess, + G4MWeightWindowConfigurator, G4MassGCellFinder, G4MassGeometrySampler, + G4MassImportanceProcess, G4MassWeightWindowProcess, + G4PImportanceConfigurator, G4PScoreConfigurator, G4PScoreProcess, + G4PWeightWindowConfigurator, G4ParallelGCellFinder, + G4ParallelGeometrySampler, G4ParallelImportanceProcess, G4ParallelTransport, + G4ParallelTransportConfigurator, G4ParallelWWnTransportProcess, + G4ParallelWeightWindowProcess, G4PlaceOfAction, G4ProcessPlacer, + G4SamplingPostStepAction, G4VProcessPlacer, G4VSampler, + G4VSamplerConfigurator, G4WeightCutOffConfigurator. + +May 8th, 2007, G.Cosmo transport-V08-02-03a +---------------------- +- Use call to G4GeometryTolerance instead of kCarTolerance in + G4VTrackTerminator. +- Requires tag "global-V08-03-00" and related tag set. + +May 2nd, 2007, J.Apostolakis transport-V08-02-02 +---------------------------- +- G4CoupledTransportation: + Make treatment of mass and full safety coherent (to-dos remain in PathFinder) + Added storing of full safety in state; retrieve it after compute step + from PathFinder; calculate them same way at start of step. + Put back in the code for treating looping particles + February 15th, 2007, J.Apostolakis transport-V08-02-01 ---------------------------------- - G4Transportation: protection against velocity=0 in AlongStep (invalid) diff --git a/source/processes/transportation/include/G4CoupledTransportation.hh b/source/processes/transportation/include/G4CoupledTransportation.hh index 89756ba578..13e247abef 100644 --- a/source/processes/transportation/include/G4CoupledTransportation.hh +++ b/source/processes/transportation/include/G4CoupledTransportation.hh @@ -25,7 +25,7 @@ // // // $Id: G4CoupledTransportation.hh,v 1.4 2006/11/14 09:12:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/transportation/include/G4CoupledTransportation.icc b/source/processes/transportation/include/G4CoupledTransportation.icc index 2c52b332ad..a780e677ac 100644 --- a/source/processes/transportation/include/G4CoupledTransportation.icc +++ b/source/processes/transportation/include/G4CoupledTransportation.icc @@ -25,7 +25,7 @@ // // // $Id: G4CoupledTransportation.icc,v 1.2 2006/11/14 09:12:59 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/transportation/include/G4MImportanceConfigurator.hh b/source/processes/transportation/include/G4MImportanceConfigurator.hh deleted file mode 100644 index 0ad1677bfb..0000000000 --- a/source/processes/transportation/include/G4MImportanceConfigurator.hh +++ /dev/null @@ -1,79 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MImportanceConfigurator.hh,v 1.6 2006/06/29 21:09:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4MImportanceConfigurator -// -// Class description: -// This class builds and places the G4ImportanceProcess. -// If the object is deleted the process is removed from the -// process list. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#ifndef G4MImportanceConfigurator_hh -#define G4MImportanceConfigurator_hh G4MImportanceConfigurator_hh - -#include "G4Types.hh" -#include "G4ProcessPlacer.hh" -#include "G4VSamplerConfigurator.hh" - -class G4MassImportanceProcess; -class G4VImportanceAlgorithm; -class G4VIStore; - -class G4MImportanceConfigurator : public G4VSamplerConfigurator -{ - -public: // with description - - G4MImportanceConfigurator(const G4String &particlename, - G4VIStore &istore, - const G4VImportanceAlgorithm *ialg); - - virtual ~G4MImportanceConfigurator(); - virtual void Configure(G4VSamplerConfigurator *preConf); - virtual const G4VTrackTerminator *GetTrackTerminator() const; - -private: - - G4MImportanceConfigurator(const G4MImportanceConfigurator &); - G4MImportanceConfigurator & - operator=(const G4MImportanceConfigurator &); - - G4ProcessPlacer fPlacer; - G4VIStore &fIStore; - G4bool fDeleteIalg; - const G4VImportanceAlgorithm *fIalgorithm; - G4MassImportanceProcess *fMassImportanceProcess; -}; - - -#endif diff --git a/source/processes/transportation/include/G4MScoreProcess.hh b/source/processes/transportation/include/G4MScoreProcess.hh deleted file mode 100644 index 8e47e10f17..0000000000 --- a/source/processes/transportation/include/G4MScoreProcess.hh +++ /dev/null @@ -1,109 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MScoreProcess.hh,v 1.9 2006/06/29 21:09:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4MScoreProcess -// -// Class description: -// -// Used internally by scoring in the "mass" world. -// This is a forced post step process messaging a "scorer" -// derived from G4VScorer. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4MScoreProcess_hh -#define G4MScoreProcess_hh G4MScoreProcess_hh - -#include "G4VProcess.hh" -#include "G4VTrackTerminator.hh" - -class G4VScorer; - -class G4MScoreProcess : public G4VProcess, public G4VTrackTerminator -{ - -public: // with description - - explicit G4MScoreProcess(G4VScorer &aScorer, - const G4String &aName = "MScoreProcess"); - // take reference to scorer and coppy particle name and - // create a G4ParticleChange - - virtual ~G4MScoreProcess(); - // delete the G4ParticleChange - - virtual G4double - PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // make processed being forced - - virtual G4VParticleChange * PostStepDoIt(const G4Track&, const G4Step&); - // message "scorer" with G4Step and a G4GeometryCellStep from the "mass" - // geometry - - virtual void KillTrack() const; - - // to be called by the importance process if the track should - // be killed after scoring - virtual const G4String &GetName() const ; - -public: // without description - - // no operation in AtRestDoIt and AlongStepDoIt - - virtual G4double - AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*); - - virtual G4double - AtRestGetPhysicalInteractionLength(const G4Track&, - G4ForceCondition*); - - virtual G4VParticleChange* AtRestDoIt(const G4Track&, - const G4Step&); - virtual G4VParticleChange* AlongStepDoIt(const G4Track&, - const G4Step&); - -private: - - G4MScoreProcess(const G4MScoreProcess &); - G4MScoreProcess &operator=(const G4MScoreProcess &); - -private: - - G4VScorer &fScorer; - mutable G4bool fKillTrack; -}; - -#endif diff --git a/source/processes/transportation/include/G4MWeightWindowConfigurator.hh b/source/processes/transportation/include/G4MWeightWindowConfigurator.hh deleted file mode 100644 index 0d8f2db01f..0000000000 --- a/source/processes/transportation/include/G4MWeightWindowConfigurator.hh +++ /dev/null @@ -1,79 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MWeightWindowConfigurator.hh,v 1.6 2006/06/29 21:09:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4MWeightWindowConfigurator -// -// Class description: -// Configuration of weight window processes. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#ifndef G4MWeightWindowConfigurator_hh -#define G4MWeightWindowConfigurator_hh G4MWeightWindowConfigurator_hh - -#include "G4Types.hh" -#include "G4ProcessPlacer.hh" -#include "G4VSamplerConfigurator.hh" -#include "G4PlaceOfAction.hh" - -class G4VWeightWindowStore; -class G4VWeightWindowAlgorithm; -class G4MassWeightWindowProcess; - -class G4MWeightWindowConfigurator : public G4VSamplerConfigurator -{ - -public: // with description - - G4MWeightWindowConfigurator(const G4String &particlename, - G4VWeightWindowStore &wwstore, - const G4VWeightWindowAlgorithm *wwAlg, - G4PlaceOfAction placeOfAction); - - virtual ~G4MWeightWindowConfigurator(); - virtual void Configure(G4VSamplerConfigurator *preConf); - virtual const G4VTrackTerminator *GetTrackTerminator() const; - -private: - - G4MWeightWindowConfigurator(const G4MWeightWindowConfigurator &); - G4MWeightWindowConfigurator & - operator=(const G4MWeightWindowConfigurator &); - - G4ProcessPlacer fPlacer; - G4VWeightWindowStore &fWeightWindowStore; - G4bool fDeleteWWalg; - const G4VWeightWindowAlgorithm *fWWalgorithm; - G4MassWeightWindowProcess *fMassWeightWindowProcess; - G4PlaceOfAction fPlaceOfAction; -}; - -#endif diff --git a/source/processes/transportation/include/G4MassGCellFinder.hh b/source/processes/transportation/include/G4MassGCellFinder.hh deleted file mode 100644 index 1dfa7d04c6..0000000000 --- a/source/processes/transportation/include/G4MassGCellFinder.hh +++ /dev/null @@ -1,60 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MassGCellFinder.hh,v 1.3 2006/06/29 21:09:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ParallelGCellFinder -// -// Class description: -// -// Finds a G4GeometryCell in the mass geometry. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4MassGCellFinder_hh -#define G4MassGCellFinder_hh G4MassGCellFinder_hh - -#include "G4Types.hh" -#include "G4VGCellFinder.hh" - -class G4MassGCellFinder : public G4VGCellFinder -{ - -public: // with description - - G4MassGCellFinder(); - virtual ~G4MassGCellFinder(); - - virtual G4GeometryCell - GetPreGeometryCell(const G4Step &aStep) const; - virtual G4GeometryCell - GetPostGeometryCell(const G4Step &aStep) const; - -}; - -#endif diff --git a/source/processes/transportation/include/G4MassGeometrySampler.hh b/source/processes/transportation/include/G4MassGeometrySampler.hh deleted file mode 100644 index b7f3b4ede8..0000000000 --- a/source/processes/transportation/include/G4MassGeometrySampler.hh +++ /dev/null @@ -1,100 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MassGeometrySampler.hh,v 1.7 2006/06/29 21:09:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4MassGeometrySampler -// -// Class description: -// This class inherits from G4VSampler. It is used for scoring and -// importance sampling in the tracking (mass) geometry. -// See also the description in G4VSampler.hh. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4MassGeometrySampler_hh -#define G4MassGeometrySampler_hh G4MassGeometrySampler_hh - -#include "G4Types.hh" -#include "G4String.hh" -#include "G4VSampler.hh" -#include "G4VSamplerConfigurator.hh" - -class G4MImportanceConfigurator; -class G4MWeightWindowConfigurator; -class G4MScoreConfigurator; -class G4WeightCutOffConfigurator; -class G4VGCellFinder; - -class G4MassGeometrySampler : public G4VSampler -{ - -public: // with description - - explicit G4MassGeometrySampler(const G4String &particlename); - virtual ~G4MassGeometrySampler(); - - virtual void PrepareScoring(G4VScorer *Scorer); - virtual void PrepareImportanceSampling(G4VIStore *istore, - const G4VImportanceAlgorithm - *ialg); - virtual void PrepareWeightRoulett(G4double wsurvive, - G4double wlimit, - G4double isource); - - virtual void PrepareWeightWindow(G4VWeightWindowStore *wwstore, - G4VWeightWindowAlgorithm *wwAlg, - G4PlaceOfAction placeOfAction); - - virtual void Configure(); - - virtual void ClearSampling(); - virtual G4bool IsConfigured() const; - -private: - - G4MassGeometrySampler(const G4MassGeometrySampler &); - G4MassGeometrySampler & - operator=(const G4MassGeometrySampler &); - -private: - - G4String fParticleName; - G4MImportanceConfigurator *fMImportanceConfigurator; - G4MScoreConfigurator *fMScoreConfigurator; - G4VGCellFinder *fGCellFinder; - G4WeightCutOffConfigurator *fWeightCutOffConfigurator; - G4VIStore *fIStore; - G4MWeightWindowConfigurator *fMWeightWindowConfigurator; - G4VWeightWindowStore *fWWStore; - G4bool fIsConfigured; - G4Configurators fConfigurators; -}; - -#endif - diff --git a/source/processes/transportation/include/G4MassImportanceProcess.hh b/source/processes/transportation/include/G4MassImportanceProcess.hh deleted file mode 100644 index 2d1abe84b4..0000000000 --- a/source/processes/transportation/include/G4MassImportanceProcess.hh +++ /dev/null @@ -1,114 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MassImportanceProcess.hh,v 1.10 2006/06/29 21:09:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4MassImportanceProcess -// -// Class description: -// -// Used internally by importance sampling in the "mass" geometry. -// This process is a forced post step process. I will apply -// importance sampling if the particle crosses a boundary in the -// "mass" geometry. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4MassImportanceProcess_hh -#define G4MassImportanceProcess_hh G4MassImportanceProcess_hh - -#include "G4VProcess.hh" -#include "G4VTrackTerminator.hh" - -class G4SamplingPostStepAction; -class G4VImportanceAlgorithm; -class G4VIStore; - -class G4MassImportanceProcess : public G4VProcess, public G4VTrackTerminator -{ - -public: // with description - - G4MassImportanceProcess(const G4VImportanceAlgorithm &aImportanceAlgorithm, - const G4VIStore &aIstore, - const G4VTrackTerminator *TrackTerminator, - const G4String &aName = "MassImportanceProcess"); - // creates a G4ParticleChange - - virtual ~G4MassImportanceProcess(); - // delete the G4ParticleChange - - virtual G4double - PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // make process beeing forced - virtual G4VParticleChange *PostStepDoIt(const G4Track&, const G4Step&); - // manage the importance sampling in the "mass" geometry - - virtual void KillTrack() const; - // used in case no scoring process follows that does the killing - - virtual const G4String &GetName() const; - - -public: // without description - - // no operation in AtRestDoIt and AlongStepDoIt - - virtual G4double - AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*); - virtual G4double - AtRestGetPhysicalInteractionLength(const G4Track& , - G4ForceCondition*); - - virtual G4VParticleChange* - AtRestDoIt(const G4Track&, const G4Step&); - - - virtual G4VParticleChange* - AlongStepDoIt(const G4Track&, const G4Step&); - -private: - - G4MassImportanceProcess(const G4MassImportanceProcess &); - G4MassImportanceProcess &operator=(const G4MassImportanceProcess &); - -private: - - G4ParticleChange *fParticleChange; - const G4VImportanceAlgorithm &fImportanceAlgorithm; - const G4VIStore &fIStore; - G4SamplingPostStepAction *fPostStepAction; -}; - -#endif diff --git a/source/processes/transportation/include/G4MassWeightWindowProcess.hh b/source/processes/transportation/include/G4MassWeightWindowProcess.hh deleted file mode 100644 index a184bc519c..0000000000 --- a/source/processes/transportation/include/G4MassWeightWindowProcess.hh +++ /dev/null @@ -1,120 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MassWeightWindowProcess.hh,v 1.5 2006/06/29 21:09:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4MassWeioghtWindowProcess -// -// Class description: -// -// Used internally by weight window technique in the "mass" geometry. -// This process is a forced post step process. It will apply -// weight window biasing on boundaries, collisions -// or both according to the G4PlaceOfAction argument. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4MassWeioghtWindowProcess_hh -#define G4MassWeioghtWindowProcess_hh G4MassWeioghtWindowProcess_hh - -#include "G4VProcess.hh" -#include "G4VTrackTerminator.hh" -#include "G4PlaceOfAction.hh" - -class G4SamplingPostStepAction; -class G4VWeightWindowAlgorithm; -class G4VWeightWindowStore; - -class G4MassWeightWindowProcess : public G4VProcess, public G4VTrackTerminator -{ - -public: // with description - - G4MassWeightWindowProcess(const G4VWeightWindowAlgorithm & - aWeightWindowAlgorithm, - const G4VWeightWindowStore &aWWStore, - const G4VTrackTerminator *TrackTerminator, - G4PlaceOfAction placeOfAction, - const G4String &aName = - "MassWeightWindowProcess"); - // creates a G4ParticleChange - - virtual ~G4MassWeightWindowProcess(); - // delete the G4ParticleChange - - virtual G4double - PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // make process beeing forced - virtual G4VParticleChange *PostStepDoIt(const G4Track&, const G4Step&); - // aply weight window sampling - - virtual void KillTrack() const; - // used in case no scoring process follows that does the killing - - virtual const G4String &GetName() const; - - -public: // without description - - // no operation in AtRestDoIt and AlongStepDoIt - - virtual G4double - AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*); - virtual G4double - AtRestGetPhysicalInteractionLength(const G4Track& , - G4ForceCondition*); - - virtual G4VParticleChange* - AtRestDoIt(const G4Track&, const G4Step&); - - - virtual G4VParticleChange* - AlongStepDoIt(const G4Track&, const G4Step&); - -private: - - G4MassWeightWindowProcess(const G4MassWeightWindowProcess &); - G4MassWeightWindowProcess &operator=(const G4MassWeightWindowProcess &); - -private: - - G4ParticleChange *fParticleChange; - const G4VWeightWindowAlgorithm &fWeightWindowAlgorithm; - const G4VWeightWindowStore &fWeightWindowStore; - G4SamplingPostStepAction *fPostStepAction; - G4PlaceOfAction fPlaceOfAction; - -}; - -#endif diff --git a/source/processes/transportation/include/G4NeutronKiller.hh b/source/processes/transportation/include/G4NeutronKiller.hh index 152f82987b..55f77263f7 100644 --- a/source/processes/transportation/include/G4NeutronKiller.hh +++ b/source/processes/transportation/include/G4NeutronKiller.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4NeutronKiller.hh,v 1.1 2006/11/17 15:53:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/processes/transportation/include/G4NeutronKillerMessenger.hh b/source/processes/transportation/include/G4NeutronKillerMessenger.hh index 5228addf06..d85a774631 100644 --- a/source/processes/transportation/include/G4NeutronKillerMessenger.hh +++ b/source/processes/transportation/include/G4NeutronKillerMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4NeutronKillerMessenger.hh,v 1.1 2006/11/17 15:53:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/processes/transportation/include/G4PImportanceConfigurator.hh b/source/processes/transportation/include/G4PImportanceConfigurator.hh deleted file mode 100644 index e1bb736887..0000000000 --- a/source/processes/transportation/include/G4PImportanceConfigurator.hh +++ /dev/null @@ -1,80 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4PImportanceConfigurator.hh,v 1.6 2006/06/29 21:10:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4PImportanceConfigurator -// -// Class description: -// This class builds and places the G4PImportanceProcess. -// If the object is deleted the process is removed from the -// process list. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#ifndef G4PImportanceConfigurator_hh -#define G4PImportanceConfigurator_hh G4PImportanceConfigurator_hh - -#include "G4Types.hh" -#include "G4VSamplerConfigurator.hh" -#include "G4ImportanceSplitExaminer.hh" -#include "G4ProcessPlacer.hh" - -class G4ParallelWorld; -class G4VImportanceAlgorithm; -class G4ParallelImportanceProcess; - -class G4PImportanceConfigurator : public G4VSamplerConfigurator -{ - -public: // with description - - G4PImportanceConfigurator(const G4String &particlename, - G4ParallelWorld ¶llelWorld, - G4VIStore &istore, - const G4VImportanceAlgorithm *ialg); - virtual ~G4PImportanceConfigurator(); - virtual void Configure(G4VSamplerConfigurator *preConf); - virtual const G4VTrackTerminator *GetTrackTerminator() const; - -private: - - G4PImportanceConfigurator(const G4PImportanceConfigurator &); - G4PImportanceConfigurator & - operator=(const G4PImportanceConfigurator &); - G4ProcessPlacer fPlacer; - G4ParallelWorld &fPWorld; - G4bool fDeleteIalg; - const G4VImportanceAlgorithm *fIalgorithm; - G4ImportanceSplitExaminer fExaminer; - G4ParallelImportanceProcess *fParallelImportanceProcess; - -}; - -#endif diff --git a/source/processes/transportation/include/G4PScoreConfigurator.hh b/source/processes/transportation/include/G4PScoreConfigurator.hh deleted file mode 100644 index bd35da429a..0000000000 --- a/source/processes/transportation/include/G4PScoreConfigurator.hh +++ /dev/null @@ -1,77 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4PScoreConfigurator.hh,v 1.6 2006/06/29 21:10:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4PScoreConfigurator -// -// Class description: -// This class builds and places the G4PScoreProcess. -// If the object is deleted the process is removed from the -// process list. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#ifndef G4PScoreConfigurator_hh -#define G4PScoreConfigurator_hh G4PScoreConfigurator_hh - -#include "G4Types.hh" -#include "G4VSamplerConfigurator.hh" -#include "G4ProcessPlacer.hh" - -class G4VParallelStepper; -class G4VScorer; -class G4VTrackTerminator; -class G4PScoreProcess; - -class G4PScoreConfigurator : public G4VSamplerConfigurator -{ - -public: // with description - - G4PScoreConfigurator(const G4String &particlename, - G4VParallelStepper &pstepper, - G4VScorer &scorer); - virtual ~G4PScoreConfigurator(); - - virtual void Configure(G4VSamplerConfigurator *preConf); - virtual const G4VTrackTerminator *GetTrackTerminator() const; - -private: - - G4PScoreConfigurator(const G4PScoreConfigurator &); - G4PScoreConfigurator &operator=(const G4PScoreConfigurator &); - G4ProcessPlacer fPlacer; - G4VParallelStepper &fPStepper; - G4VScorer &fScorer; - G4PScoreProcess *fPScoreProcess; -}; - - -#endif diff --git a/source/processes/transportation/include/G4PScoreProcess.hh b/source/processes/transportation/include/G4PScoreProcess.hh deleted file mode 100644 index 71c37e2a26..0000000000 --- a/source/processes/transportation/include/G4PScoreProcess.hh +++ /dev/null @@ -1,117 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4PScoreProcess.hh,v 1.9 2006/06/29 21:10:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4PIScoreProcess -// -// Class description: -// -// Used internally by scoring in a "parallel" geometry. -// This forced process messages a "scorer" derived from G4VScorer. -// The scorer is messaged with the current G4Step and G4GeometryCellStep. -// This post step process is supposed to be placed as the -// process following directly after transportation and the -// importance sampling process if applied, and before all physical -// post step processes. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4PScoreProcess_hh -#define G4PScoreProcess_hh G4PScoreProcess_hh - -#include "G4VProcess.hh" -#include "G4VTrackTerminator.hh" - -class G4VParallelStepper; -class G4VScorer; - -class G4PScoreProcess : public G4VProcess, - public G4VTrackTerminator -{ - -public: // with description - - G4PScoreProcess(G4VParallelStepper &astepper, - G4VScorer &aScorer, - const G4String &aName = "PScoreProcess"); - // create a G4ParticleChange - - virtual ~G4PScoreProcess(); - // delete the G4ParticleChange - - virtual G4double - PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // make the process beeing forced - - virtual G4VParticleChange * PostStepDoIt(const G4Track&, - const G4Step&); - // get G4GeometryCellStep and G4Step and message "scorer" - - virtual void KillTrack() const; - - virtual const G4String &GetName() const; - - // to be called by the importance process if the track should - // be killed after scoring - -public: // without description - - // no operation in AtRestDoIt and AlongStepDoIt - - virtual G4double - AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*); - - virtual G4double AtRestGetPhysicalInteractionLength(const G4Track& , - G4ForceCondition*); - - virtual G4VParticleChange* AtRestDoIt(const G4Track&, const G4Step&); - virtual G4VParticleChange* AlongStepDoIt(const G4Track&, const G4Step&); - -private: - - G4PScoreProcess(const G4PScoreProcess &); - G4PScoreProcess &operator=(const G4PScoreProcess &); - - G4VParallelStepper &fPstepper; - G4VScorer &fScorer; - - mutable G4bool fKillTrack; -}; - -#endif - - - - diff --git a/source/processes/transportation/include/G4PWeightWindowConfigurator.hh b/source/processes/transportation/include/G4PWeightWindowConfigurator.hh deleted file mode 100644 index 0c2ed47b57..0000000000 --- a/source/processes/transportation/include/G4PWeightWindowConfigurator.hh +++ /dev/null @@ -1,84 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4PWeightWindowConfigurator.hh,v 1.5 2006/06/29 21:10:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4PWeightWindowConfigurator -// -// Class description: -// Configures the weight window processes for the parallel geometry. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#ifndef G4PWeightWindowConfigurator_hh -#define G4PWeightWindowConfigurator_hh G4PWeightWindowConfigurator_hh - -#include "G4Types.hh" -#include "G4ProcessPlacer.hh" -#include "G4VSamplerConfigurator.hh" -#include "G4PlaceOfAction.hh" -#include "G4WeightWindowExaminer.hh" - -class G4VWeightWindowStore; -class G4VWeightWindowAlgorithm; -class G4ParallelWorld; -class G4ParallelWeightWindowProcess; - -class G4PWeightWindowConfigurator : public G4VSamplerConfigurator -{ - -public: // with description - - G4PWeightWindowConfigurator(const G4String &particlename, - G4ParallelWorld ¶llelWorld, - G4VWeightWindowStore &wwstore, - const G4VWeightWindowAlgorithm *wwAlg, - G4PlaceOfAction placeOfAction); - - virtual ~G4PWeightWindowConfigurator(); - virtual void Configure(G4VSamplerConfigurator *preConf); - virtual const G4VTrackTerminator *GetTrackTerminator() const; - -private: - - G4PWeightWindowConfigurator(const G4PWeightWindowConfigurator &); - G4PWeightWindowConfigurator & - operator=(const G4PWeightWindowConfigurator &); - - G4ProcessPlacer fPlacer; - G4ParallelWorld &fPWorld; - G4bool fDeleteWWalg; - const G4VWeightWindowAlgorithm *fWWalgorithm; - G4WeightWindowExaminer fExaminer; - G4VProcess *fParallelWWProcess; - G4PlaceOfAction fPlaceOfAction; - G4VTrackTerminator *fTrackTerminator; -}; - -#endif diff --git a/source/processes/transportation/include/G4ParallelGeometrySampler.hh b/source/processes/transportation/include/G4ParallelGeometrySampler.hh deleted file mode 100644 index 2208ef204f..0000000000 --- a/source/processes/transportation/include/G4ParallelGeometrySampler.hh +++ /dev/null @@ -1,107 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelGeometrySampler.hh,v 1.8 2006/06/29 21:10:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ParallelGeometrySampler -// -// Class description: -// -// Class description: -// This class inherits from G4VSampler. It is used for scoring and -// importance sampling in a parallel geometry. -// See also the description in G4VSampler. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4ParallelGeometrySampler_hh -#define G4ParallelGeometrySampler_hh G4ParallelGeometrySampler_hh - -#include "G4Types.hh" -#include "G4VSampler.hh" -#include "G4ParallelWorld.hh" -#include "G4VSamplerConfigurator.hh" - -class G4ParallelTransportConfigurator; -class G4PScoreConfigurator; -class G4PImportanceConfigurator; -class G4WeightCutOffConfigurator; -class G4VGCellFinder; -class G4PWeightWindowConfigurator; -class G4WeightWindowStore; - -class G4ParallelGeometrySampler : public G4VSampler -{ - -public: // with description - - G4ParallelGeometrySampler(G4VPhysicalVolume &worldvolume, - const G4String &particlename); - virtual ~G4ParallelGeometrySampler(); - - virtual void PrepareScoring(G4VScorer *Scorer); - virtual void PrepareImportanceSampling(G4VIStore *istore, - const G4VImportanceAlgorithm - *ialg); - virtual void PrepareWeightRoulett(G4double wsurvive, - G4double wlimit, - G4double isource); - - virtual void PrepareWeightWindow(G4VWeightWindowStore *wwstore, - G4VWeightWindowAlgorithm *wwAlg, - G4PlaceOfAction placeOfAction); - - - virtual void Configure(); - - virtual void ClearSampling(); - virtual G4bool IsConfigured() const; - -private: - - G4ParallelGeometrySampler(const G4ParallelGeometrySampler &); - G4ParallelGeometrySampler & - operator=(const G4ParallelGeometrySampler &); - -private: - - G4String fParticleName; - G4ParallelWorld fParallelWorld; - G4ParallelTransportConfigurator *fParallelTransportConfigurator; - G4PImportanceConfigurator *fPImportanceConfigurator; - G4PScoreConfigurator *fPScoreConfigurator; - G4VGCellFinder *fGCellFinder; - G4WeightCutOffConfigurator *fWeightCutOffConfigurator; - G4VIStore *fIStore; - G4PWeightWindowConfigurator *fPWeightWindowConfigurator; - G4VWeightWindowStore *fWWStore; - G4bool fIsConfigured; - G4Configurators fConfigurators; -}; - -#endif diff --git a/source/processes/transportation/include/G4ParallelImportanceProcess.hh b/source/processes/transportation/include/G4ParallelImportanceProcess.hh deleted file mode 100644 index bd93dfe014..0000000000 --- a/source/processes/transportation/include/G4ParallelImportanceProcess.hh +++ /dev/null @@ -1,89 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelImportanceProcess.hh,v 1.12 2006/06/29 21:10:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ParallelImportanceProcess -// -// Class description: -// -// Used internally by importance sampling in a "parallel" geometry. -// This is a G4ParallelTransport that also does importance -// sampling in the "parallel" geometry. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4ParallelImportanceProcess_hh -#define G4ParallelImportanceProcess_hh G4ParallelImportanceProcess_hh - -#include "G4ParallelTransport.hh" -#include "G4VTrackTerminator.hh" - -class G4SamplingPostStepAction; -class G4VImportanceSplitExaminer; -class G4Nsplit_Weight; - -class G4ParallelImportanceProcess : public G4ParallelTransport, - public G4VTrackTerminator -{ - -public: // with description - - G4ParallelImportanceProcess(const G4VImportanceSplitExaminer &aImportanceSplitExaminer, - G4VPGeoDriver &pgeodriver, - G4VParallelStepper &aStepper, - const G4VTrackTerminator *TrackTerminator, - const G4String &aName = "ParallelImportanceProcess"); - // initialise G4ParallelTransport and members - - virtual ~G4ParallelImportanceProcess(); - - virtual G4VParticleChange *PostStepDoIt(const G4Track&, - const G4Step&); - // do the "parallel transport" and importance sampling. - - virtual void KillTrack() const; - // used in case no scoring process follows that does the killing - - virtual const G4String &GetName() const; - -private: - - G4ParallelImportanceProcess(const G4ParallelImportanceProcess &); - G4ParallelImportanceProcess &operator=(const G4ParallelImportanceProcess &); - - virtual void Error(const G4String &m); - -private: - - G4ParticleChange *fParticleChange; - const G4VImportanceSplitExaminer &fImportanceSplitExaminer; - G4SamplingPostStepAction *fPostStepAction; -}; - -#endif diff --git a/source/processes/transportation/include/G4ParallelTransport.hh b/source/processes/transportation/include/G4ParallelTransport.hh deleted file mode 100644 index 6c57d4ebe0..0000000000 --- a/source/processes/transportation/include/G4ParallelTransport.hh +++ /dev/null @@ -1,135 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelTransport.hh,v 1.10 2006/06/29 21:10:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ParallelTransport -// -// Class description: -// -// Used internally by importance sampling and scoring in a "parallel" -// geometry. -// This process "moves" a particle in a "parallel" geometry. -// It should be placed in the post step process do-it vector after the -// G4Transportation process. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4ParallelTransport_hh -#define G4ParallelTransport_hh G4ParallelTransport_hh - -#include "G4Types.hh" - -#include "G4VProcess.hh" - -class G4VPGeoDriver; -class G4VParallelStepper; - -class G4ParallelTransport : public G4VProcess -{ - -public: // with description - - G4ParallelTransport(G4VPGeoDriver &pgeodriver, - G4VParallelStepper &aStepper, - const G4String &aName = "ParallelTransport"); - // create G4ParticleChange - - virtual ~G4ParallelTransport(); - // delete G4ParticleChange - - // the post step pair of functions may be overwritten - // in certain derived classes like the importance process - - virtual G4double - PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // straight distance to the boundary in the "parallel" geometry - // in the direction of the track - - virtual G4VParticleChange *PostStepDoIt(const G4Track&, const G4Step&); - // move a track in a "parallel" geometry - // and update a G4PArallelStepper - - virtual void StartTracking(G4Track*); - virtual void EndTracking(); - - - const G4VParallelStepper &GetPStepper() const; - // get the fPStepper - -public: // without description - - // no operation in AtRestDoIt and AlongStepDoIt - - virtual G4double - AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*); - virtual G4double - AtRestGetPhysicalInteractionLength(const G4Track& , - G4ForceCondition*); - - virtual G4VParticleChange* AtRestDoIt(const G4Track&, - const G4Step&); - virtual G4VParticleChange* AlongStepDoIt(const G4Track&, - const G4Step&); -protected: - - virtual void Error(const G4String &m); - virtual void Warning(const G4String &m); - - G4ParticleChange *fParticleChange; - -private: - - G4ParallelTransport(const G4ParallelTransport &); - G4ParallelTransport &operator=(const G4ParallelTransport &); - -private: - - G4VPGeoDriver &fPgeodriver; - G4VParallelStepper &fPStepper; - G4bool fCrossBoundary; - G4bool fInitStep; - -}; - -// ------------------------------------------------------------ - -inline const G4VParallelStepper & -G4ParallelTransport::GetPStepper() const -{ - return fPStepper; -} - - -#endif diff --git a/source/processes/transportation/include/G4ParallelTransportConfigurator.hh b/source/processes/transportation/include/G4ParallelTransportConfigurator.hh deleted file mode 100644 index 150d5d126c..0000000000 --- a/source/processes/transportation/include/G4ParallelTransportConfigurator.hh +++ /dev/null @@ -1,72 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelTransportConfigurator.hh,v 1.5 2006/06/29 21:10:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ParallelTransportConfigurator -// -// Class description: -// This class builds and places the G4ParallelTransport. -// If the object is deleted the process is removed from the -// process list. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#ifndef G4ParallelTransportConfigurator_hh -#define G4ParallelTransportConfigurator_hh G4ParallelTransportConfigurator_hh - -#include "G4Types.hh" -#include "G4VSamplerConfigurator.hh" -#include "G4ParallelTransport.hh" -#include "G4ProcessPlacer.hh" - -class G4ParallelWorld; - -class G4ParallelTransportConfigurator : public G4VSamplerConfigurator -{ - -public: // with description - - G4ParallelTransportConfigurator(const G4String &particlename, - G4ParallelWorld &pworld); - virtual ~G4ParallelTransportConfigurator(); - virtual void Configure(G4VSamplerConfigurator *preConf); - virtual const G4VTrackTerminator *GetTrackTerminator() const; - -private: - - G4ParallelTransportConfigurator(const G4ParallelTransportConfigurator &); - G4ParallelTransportConfigurator & - operator=(const G4ParallelTransportConfigurator &); - G4ProcessPlacer fPlacer; - G4ParallelWorld &fPWorld; - G4ParallelTransport *fParallelTransport; -}; - -#endif diff --git a/source/processes/transportation/include/G4ParallelWWnTransportProcess.hh b/source/processes/transportation/include/G4ParallelWWnTransportProcess.hh deleted file mode 100644 index 95604e243b..0000000000 --- a/source/processes/transportation/include/G4ParallelWWnTransportProcess.hh +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelWWnTransportProcess.hh,v 1.5 2006/06/29 21:10:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ParallelWWnTransportProcess -// -// Class description: -// -// Used internally by weight window technique in a "parallel" geometry. -// This is a G4ParallelTransport that also does weight window -// sampling in the "parallel" geometry. It is used in case -// the ww is applied only on the paralle boundaries. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4ParallelWWnTransportProcess_hh -#define G4ParallelWWnTransportProcess_hh G4ParallelWWnTransportProcess_hh - -#include "G4ParallelTransport.hh" -#include "G4VTrackTerminator.hh" - -class G4SamplingPostStepAction; -class G4VWeightWindowExaminer; -class G4Nsplit_Weight; - -class G4ParallelWWnTransportProcess : public G4ParallelTransport, - public G4VTrackTerminator -{ - -public: // with description - - G4ParallelWWnTransportProcess(const G4VWeightWindowExaminer - &aWeightWindowExaminer, - G4VPGeoDriver &pgeodriver, - G4VParallelStepper &aStepper, - const G4VTrackTerminator *TrackTerminator, - const G4String &aName = - "ParallelWWnTransportProcess"); - // initialise G4ParallelTransport and members - - virtual ~G4ParallelWWnTransportProcess(); - - - virtual G4VParticleChange *PostStepDoIt(const G4Track&, - const G4Step&); - // do the "parallel transport" and weight window sampling - - virtual void KillTrack() const; - // used in case no scoring process follows that does the killing - - virtual const G4String &GetName() const; - - -private: - - G4ParallelWWnTransportProcess(const G4ParallelWWnTransportProcess &); - G4ParallelWWnTransportProcess &operator=(const G4ParallelWWnTransportProcess &); - - virtual void Error(const G4String &m); - -private: - - G4ParticleChange *fParticleChange; - const G4VWeightWindowExaminer &fWeightWindowExaminer; - G4SamplingPostStepAction *fPostStepAction; -}; - -#endif diff --git a/source/processes/transportation/include/G4ParallelWeightWindowProcess.hh b/source/processes/transportation/include/G4ParallelWeightWindowProcess.hh deleted file mode 100644 index 563f654bbf..0000000000 --- a/source/processes/transportation/include/G4ParallelWeightWindowProcess.hh +++ /dev/null @@ -1,125 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelWeightWindowProcess.hh,v 1.10 2006/06/29 21:10:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ParallelWeightWindowProcess -// -// Class description: -// -// Used internally by weight window technique in a "parallel" geometry. -// This process is a forced post step process. It will apply -// weight window biasing on collisions or on collisions and -// boundaries according to the G4PlaceOfAction argument. -// It is not used in the case where it should apply only on boundaries. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4ParallelWeightWindowProcess_hh -#define G4ParallelWeightWindowProcess_hh G4ParallelWeightWindowProcess_hh - -#include "G4VProcess.hh" -#include "G4VTrackTerminator.hh" -#include "G4PlaceOfAction.hh" - -class G4SamplingPostStepAction; -class G4VWeightWindowExaminer; -class G4Nsplit_Weight; -class G4VParallelStepper; -class G4VParallelStepper; - -class G4ParallelWeightWindowProcess : public G4VProcess,\ - public G4VTrackTerminator -{ - -public: // with description - - G4ParallelWeightWindowProcess(const G4VWeightWindowExaminer - &aWeightWindowExaminer, - G4VParallelStepper &aStepper, - const G4VTrackTerminator *TrackTerminator, - G4PlaceOfAction placeOfAction, - const G4String &aName = - "ParallelWeightWindowProcess"); - // initialise G4ParallelTransport and members - - virtual ~G4ParallelWeightWindowProcess(); - - virtual G4double - PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // make process beeing forced - virtual G4VParticleChange *PostStepDoIt(const G4Track&, const G4Step&); - // apply weight window sampliing - - virtual void KillTrack() const; - // used in case no scoring process follows that does the killing - - virtual const G4String &GetName() const; - - -public: // without description - - // no operation in AtRestDoIt and AlongStepDoIt - - virtual G4double - AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*); - virtual G4double - AtRestGetPhysicalInteractionLength(const G4Track& , - G4ForceCondition*); - - virtual G4VParticleChange* - AtRestDoIt(const G4Track&, const G4Step&); - - - virtual G4VParticleChange* - AlongStepDoIt(const G4Track&, const G4Step&); - - -private: - - G4ParallelWeightWindowProcess(const G4ParallelWeightWindowProcess &); - G4ParallelWeightWindowProcess &operator=(const G4ParallelWeightWindowProcess &); - - virtual void Error(const G4String &m); - -private: - - G4ParticleChange *fParticleChange; - const G4VWeightWindowExaminer &fWeightWindowExaminer; - G4VParallelStepper &fStepper; - G4SamplingPostStepAction *fPostStepAction; - G4PlaceOfAction fPlaceOfAction; -}; - -#endif diff --git a/source/processes/transportation/include/G4PlaceOfAction.hh b/source/processes/transportation/include/G4PlaceOfAction.hh deleted file mode 100644 index dd6ca17036..0000000000 --- a/source/processes/transportation/include/G4PlaceOfAction.hh +++ /dev/null @@ -1,49 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4PlaceOfAction.hh,v 1.4 2006/06/29 21:10:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4PlaceOfAction -// -// Class description: -// This is an enum to specify when weight window sampling shoul be -// applied: onBoundary, onCollision, onBoundaryAndCollision. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4PlaceOfAction_hh -#define G4PlaceOfAction_hh G4PlaceOfAction_hh - -enum G4PlaceOfAction -{ - onBoundary = 1, - onCollision = 2, - onBoundaryAndCollision = 3 -}; - -#endif diff --git a/source/processes/transportation/include/G4StepLimiter.hh b/source/processes/transportation/include/G4StepLimiter.hh index 5b686eae10..aab84e91e8 100644 --- a/source/processes/transportation/include/G4StepLimiter.hh +++ b/source/processes/transportation/include/G4StepLimiter.hh @@ -25,7 +25,7 @@ // // // $Id: G4StepLimiter.hh,v 1.3 2006/06/29 21:10:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class description // diff --git a/source/processes/transportation/include/G4TrackTerminator.hh b/source/processes/transportation/include/G4TrackTerminator.hh index 8ae23936ef..49036fac07 100644 --- a/source/processes/transportation/include/G4TrackTerminator.hh +++ b/source/processes/transportation/include/G4TrackTerminator.hh @@ -25,7 +25,7 @@ // // // $Id: G4TrackTerminator.hh,v 1.3 2006/06/29 21:10:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4TrackTerminator diff --git a/source/processes/transportation/include/G4Transportation.hh b/source/processes/transportation/include/G4Transportation.hh index 7adf31cda8..190c6d3e17 100644 --- a/source/processes/transportation/include/G4Transportation.hh +++ b/source/processes/transportation/include/G4Transportation.hh @@ -25,7 +25,7 @@ // // // $Id: G4Transportation.hh,v 1.12 2006/06/29 21:10:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/processes/transportation/include/G4Transportation.icc b/source/processes/transportation/include/G4Transportation.icc index 9645f9709d..1f2799b78c 100644 --- a/source/processes/transportation/include/G4Transportation.icc +++ b/source/processes/transportation/include/G4Transportation.icc @@ -25,7 +25,7 @@ // // // $Id: G4Transportation.icc,v 1.9 2006/06/29 21:10:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/processes/transportation/include/G4UserSpecialCuts.hh b/source/processes/transportation/include/G4UserSpecialCuts.hh index 6f6c8bb921..a5f322942d 100644 --- a/source/processes/transportation/include/G4UserSpecialCuts.hh +++ b/source/processes/transportation/include/G4UserSpecialCuts.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4UserSpecialCuts.hh,v 1.10 2006/06/29 21:10:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class description // diff --git a/source/processes/transportation/include/G4VProcessPlacer.hh b/source/processes/transportation/include/G4VProcessPlacer.hh deleted file mode 100644 index dc7324cd8c..0000000000 --- a/source/processes/transportation/include/G4VProcessPlacer.hh +++ /dev/null @@ -1,70 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4VProcessPlacer.hh,v 1.9 2006/06/29 21:10:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4VProcessPlacer -// -// Class description: -// -// Used internally by importance sampling and scoring to place -// processes as second or last PostStepDoIt processes. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4VProcessPlacer_hh -#define G4VProcessPlacer_hh G4VProcessPlacer_hh - -#include "G4Types.hh" - -class G4VProcess; - -class G4VProcessPlacer -{ - -public: // with description - - G4VProcessPlacer(); - virtual ~G4VProcessPlacer(); - - virtual void AddProcessAsLastDoIt(G4VProcess *process) = 0; - // place a post step do it process such that the - // PostStepDoIt function is called last - // THE ORDER CHANGES BY SUBSEQUENT CALLS - - virtual void AddProcessAsSecondDoIt(G4VProcess *process) = 0; - // place a post step do it process such that the - // PostStepDoIt function is called second - // THE ORDER CHANGES BY SUBSEQUENT CALLS - - virtual void RemoveProcess(G4VProcess *process) = 0; - // removes a given process - -}; - -#endif diff --git a/source/processes/transportation/include/G4VTrackTerminator.hh b/source/processes/transportation/include/G4VTrackTerminator.hh index eb7c97b260..aa03064849 100644 --- a/source/processes/transportation/include/G4VTrackTerminator.hh +++ b/source/processes/transportation/include/G4VTrackTerminator.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VTrackTerminator.hh,v 1.6 2006/06/29 21:10:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VTrackTerminator.hh,v 1.7 2007/05/11 14:13:20 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // Class G4VTrackTerminator @@ -60,6 +60,10 @@ public: // with description virtual ~G4VTrackTerminator(); virtual void KillTrack() const = 0; virtual const G4String &GetName() const = 0; + +protected: + + G4double kCarTolerance; }; #endif diff --git a/source/processes/transportation/include/G4WeightCutOffProcess.hh b/source/processes/transportation/include/G4WeightCutOffProcess.hh deleted file mode 100644 index af96e836eb..0000000000 --- a/source/processes/transportation/include/G4WeightCutOffProcess.hh +++ /dev/null @@ -1,109 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4WeightCutOffProcess.hh,v 1.4 2006/06/29 21:10:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4WeightCutOffProcess -// -// Class description: -// -// Process for biasing particle-change cutoff. - -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- -#ifndef G4WeightCutOffProcess_hh -#define G4WeightCutOffProcess_hh G4WeightCutOffProcess_hh - -#include "G4VProcess.hh" -#include "G4VTrackTerminator.hh" -#include "G4GeometryCell.hh" - -class G4VGCellFinder; -class G4VIStore; - -class G4WeightCutOffProcess : public G4VProcess -{ - -public: // with description - - G4WeightCutOffProcess(G4double wsurvival, - G4double wlimit, - G4double isource, - G4VIStore *istore, - const G4VGCellFinder &aGCellFinder, - const G4String &aName = "WeightCutOffProcess"); - // create a G4ParticleChange - - virtual ~G4WeightCutOffProcess(); - // delete the G4ParticleChange - - virtual G4double - PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double previousStepSize, - G4ForceCondition* condition); - // make the process beeing forced - - virtual G4VParticleChange * PostStepDoIt(const G4Track&, - const G4Step&); - - - const G4String &GetName() const; - -public: // without description - - // no operation in AtRestDoIt and AlongStepDoIt - - virtual G4double - AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*); - - virtual G4double - AtRestGetPhysicalInteractionLength(const G4Track& , - G4ForceCondition*); - - virtual G4VParticleChange* AtRestDoIt(const G4Track&, const G4Step&); - virtual G4VParticleChange* AlongStepDoIt(const G4Track&, const G4Step&); - -private: - - G4WeightCutOffProcess(const G4WeightCutOffProcess &); - G4WeightCutOffProcess &operator=(const G4WeightCutOffProcess &); - - G4ParticleChange *fParticleChange; - G4double fWeightSurvival; - G4double fWeightLimit; - G4double fSourceImportance; - G4VIStore *fIStore; - const G4VGCellFinder &fGCellFinder; - -}; - -#endif diff --git a/source/processes/transportation/src/G4CoupledTransportation.cc b/source/processes/transportation/src/G4CoupledTransportation.cc index 1cdbe0212b..3415b8d771 100644 --- a/source/processes/transportation/src/G4CoupledTransportation.cc +++ b/source/processes/transportation/src/G4CoupledTransportation.cc @@ -25,7 +25,7 @@ // // // $Id: G4CoupledTransportation.cc,v 1.12 2006/11/22 18:41:44 japost Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // ------------------------------------------------------------ // GEANT 4 class implementation // ======================================================================= diff --git a/source/processes/transportation/src/G4MImportanceConfigurator.cc b/source/processes/transportation/src/G4MImportanceConfigurator.cc deleted file mode 100644 index 6f776f5ff2..0000000000 --- a/source/processes/transportation/src/G4MImportanceConfigurator.cc +++ /dev/null @@ -1,94 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MImportanceConfigurator.cc,v 1.7 2006/11/13 16:13:50 japost Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4MImportanceConfigurator -// -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#include "G4MImportanceConfigurator.hh" - -#include "G4MassImportanceProcess.hh" -#include "G4ProcessPlacer.hh" -#include "G4ImportanceAlgorithm.hh" - -G4MImportanceConfigurator:: -G4MImportanceConfigurator(const G4String &particlename, - G4VIStore &istore, - const G4VImportanceAlgorithm *ialg) - : fPlacer(particlename), - fIStore(istore), - fDeleteIalg( ( ! ialg) ), - fIalgorithm(( (fDeleteIalg) ? - new G4ImportanceAlgorithm : ialg)), - fMassImportanceProcess(0) -{ -} - -G4MImportanceConfigurator::~G4MImportanceConfigurator() -{ - if (fMassImportanceProcess) - { - fPlacer.RemoveProcess(fMassImportanceProcess); - delete fMassImportanceProcess; - } - if (fDeleteIalg) - { - delete fIalgorithm; - } -} - -void -G4MImportanceConfigurator::Configure(G4VSamplerConfigurator *preConf) -{ - const G4VTrackTerminator *terminator = 0; - if (preConf) - { - terminator = preConf->GetTrackTerminator(); - }; - - fMassImportanceProcess = - new G4MassImportanceProcess(*fIalgorithm, - fIStore, - terminator); - if (!fMassImportanceProcess) - { - G4Exception("G4MImportanceConfigurator::Configure()", - "FatalError", FatalException, - "Failed allocation of G4MassImportanceProcess !"); - } - fPlacer.AddProcessAsSecondDoIt(fMassImportanceProcess); -} - -const G4VTrackTerminator *G4MImportanceConfigurator:: -GetTrackTerminator() const -{ - return fMassImportanceProcess; -} diff --git a/source/processes/transportation/src/G4MScoreConfigurator.cc b/source/processes/transportation/src/G4MScoreConfigurator.cc deleted file mode 100644 index 4c567dd819..0000000000 --- a/source/processes/transportation/src/G4MScoreConfigurator.cc +++ /dev/null @@ -1,75 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MScoreConfigurator.cc,v 1.9 2006/11/13 16:17:16 japost Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4MScoreConfigurator -// -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#include "G4MScoreConfigurator.hh" -#include "G4VScorer.hh" -#include "G4VTrackTerminator.hh" -#include "G4MScoreProcess.hh" - -G4MScoreConfigurator:: -G4MScoreConfigurator(const G4String &particlename, - G4VScorer &scorer) - : fPlacer(particlename), - fScorer(scorer), - fMScoreProcess(0) -{ -} - -G4MScoreConfigurator::~G4MScoreConfigurator() -{ - if (fMScoreProcess) - { - fPlacer.RemoveProcess(fMScoreProcess); - delete fMScoreProcess; - } -} - -const G4VTrackTerminator * -G4MScoreConfigurator::GetTrackTerminator() const -{ - return fMScoreProcess; -} - -void G4MScoreConfigurator::Configure(G4VSamplerConfigurator *) -{ - fMScoreProcess = new G4MScoreProcess(fScorer); - if (!fMScoreProcess) - { - G4Exception("G4MScoreConfigurator::Configure()", - "FatalError", FatalException, - "Failed allocation of G4MScoreProcess !"); - } - fPlacer.AddProcessAsSecondDoIt(fMScoreProcess); -} diff --git a/source/processes/transportation/src/G4MScoreProcess.cc b/source/processes/transportation/src/G4MScoreProcess.cc deleted file mode 100644 index 6f0e5d2c1f..0000000000 --- a/source/processes/transportation/src/G4MScoreProcess.cc +++ /dev/null @@ -1,142 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MScoreProcess.cc,v 1.14 2006/11/13 16:19:14 japost Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4MScoreProcess.cc -// -// ---------------------------------------------------------------------- - -#include "G4MScoreProcess.hh" -#include "G4VScorer.hh" -#include "G4GeometryCellStep.hh" -#include "G4VParallelStepper.hh" - -G4MScoreProcess::G4MScoreProcess(G4VScorer &aScorer, - const G4String &aName) - : G4VProcess(aName), - fScorer(aScorer), - fKillTrack(false) -{ - G4VProcess::pParticleChange = new G4ParticleChange; - if (!G4VProcess::pParticleChange) - { - G4Exception("G4MScoreProcess::G4MScoreProcess()", "Fatal Error", - FatalException, "Failed to allocate G4ParticleChange !"); - } -} - -G4MScoreProcess::~G4MScoreProcess() -{ - delete pParticleChange; -} - -G4double G4MScoreProcess:: -PostStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4ForceCondition* condition) -{ - *condition = Forced; - return kInfinity; -} - -G4VParticleChange * -G4MScoreProcess::PostStepDoIt(const G4Track& aTrack, const G4Step &aStep) -{ - pParticleChange->Initialize(aTrack); - - if (aStep.GetStepLength() > kCarTolerance) - { - G4StepPoint *prepoint = aStep.GetPreStepPoint(); - G4StepPoint *postpoint = aStep.GetPostStepPoint(); - - G4GeometryCell prekey(*(prepoint->GetPhysicalVolume()), - prepoint->GetTouchable()->GetReplicaNumber()); - G4GeometryCell postkey(*(postpoint->GetPhysicalVolume()), - postpoint->GetTouchable()->GetReplicaNumber()); - - G4GeometryCellStep pstep(prekey, postkey); - pstep.SetCrossBoundary(false); - - if (prekey != postkey) - { - pstep.SetCrossBoundary(true); - } - fScorer.Score(aStep, pstep); - } - - if (fKillTrack) - { - fKillTrack = false; - pParticleChange->ProposeTrackStatus(fStopAndKill); - } - - return G4VProcess::pParticleChange; -} - -const G4String &G4MScoreProcess::GetName() const -{ - return theProcessName; -} - - -G4double G4MScoreProcess:: -AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*) -{ - return -1.0; -} - -G4double G4MScoreProcess:: -AtRestGetPhysicalInteractionLength(const G4Track&, - G4ForceCondition*) -{ - return -1.0; -} - -G4VParticleChange* G4MScoreProcess::AtRestDoIt(const G4Track&, - const G4Step&) -{ - return 0; -} - -G4VParticleChange* G4MScoreProcess::AlongStepDoIt(const G4Track&, - const G4Step&) -{ - return 0; -} - -void G4MScoreProcess::KillTrack() const -{ - fKillTrack = true; -} diff --git a/source/processes/transportation/src/G4MWeightWindowConfigurator.cc b/source/processes/transportation/src/G4MWeightWindowConfigurator.cc deleted file mode 100644 index 9c20465be9..0000000000 --- a/source/processes/transportation/src/G4MWeightWindowConfigurator.cc +++ /dev/null @@ -1,90 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MWeightWindowConfigurator.cc,v 1.6 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4MWeightWindowConfigurator -// -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#include "G4MWeightWindowConfigurator.hh" -#include "G4WeightWindowAlgorithm.hh" -#include "G4MassWeightWindowProcess.hh" - -G4MWeightWindowConfigurator:: -G4MWeightWindowConfigurator(const G4String &particlename, - G4VWeightWindowStore &wwstore, - const G4VWeightWindowAlgorithm *wwAlg, - G4PlaceOfAction placeOfAction) - : fPlacer(particlename), - fWeightWindowStore(wwstore), - fDeleteWWalg( ( ! wwAlg) ), - fWWalgorithm(( (fDeleteWWalg) ? - new G4WeightWindowAlgorithm(5,3,5) : wwAlg)), - fMassWeightWindowProcess(0), - fPlaceOfAction(placeOfAction) -{ -} - -G4MWeightWindowConfigurator::~G4MWeightWindowConfigurator() -{ - if (fMassWeightWindowProcess) - { - fPlacer.RemoveProcess(fMassWeightWindowProcess); - delete fMassWeightWindowProcess; - } - if (fDeleteWWalg) - { - delete fWWalgorithm; - } -} - -void -G4MWeightWindowConfigurator::Configure(G4VSamplerConfigurator *preConf) -{ - const G4VTrackTerminator *terminator = 0; - if (preConf) - { - terminator = preConf->GetTrackTerminator(); - }; - - fMassWeightWindowProcess = - new G4MassWeightWindowProcess(*fWWalgorithm, - fWeightWindowStore, - terminator, - fPlaceOfAction); - fPlacer.AddProcessAsSecondDoIt(fMassWeightWindowProcess); -} - -const G4VTrackTerminator * -G4MWeightWindowConfigurator::GetTrackTerminator() const -{ - return fMassWeightWindowProcess; -} - diff --git a/source/processes/transportation/src/G4MassGeometrySampler.cc b/source/processes/transportation/src/G4MassGeometrySampler.cc deleted file mode 100644 index 654ed6509d..0000000000 --- a/source/processes/transportation/src/G4MassGeometrySampler.cc +++ /dev/null @@ -1,216 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MassGeometrySampler.cc,v 1.13 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4MassGeometrySampler.cc -// -// ---------------------------------------------------------------------- - -#include "G4MassGeometrySampler.hh" - -#include "G4VIStore.hh" -#include "G4WeightWindowStore.hh" -#include "G4VScorer.hh" - -#include "G4MScoreConfigurator.hh" -#include "G4MImportanceConfigurator.hh" -#include "G4MWeightWindowConfigurator.hh" -#include "G4WeightCutOffConfigurator.hh" -#include "G4MassGCellFinder.hh" - -G4MassGeometrySampler:: -G4MassGeometrySampler(const G4String &particlename) - : fParticleName(particlename), - fMImportanceConfigurator(0), - fMScoreConfigurator(0), - fGCellFinder(0), - fWeightCutOffConfigurator(0), - fIStore(0), - fMWeightWindowConfigurator(0), - fWWStore(0), - fIsConfigured(false) -{ -} - -G4MassGeometrySampler::~G4MassGeometrySampler() -{ - ClearSampling(); -} - -void G4MassGeometrySampler::ClearSampling() -{ - if (fMImportanceConfigurator) - { - delete fMImportanceConfigurator; - fMImportanceConfigurator = 0; - } - if (fMWeightWindowConfigurator) - { - delete fMWeightWindowConfigurator; - fMWeightWindowConfigurator = 0; - } - if (fMScoreConfigurator) - { - delete fMScoreConfigurator; - fMScoreConfigurator = 0; - } - if (fWeightCutOffConfigurator) - { - delete fWeightCutOffConfigurator; - fWeightCutOffConfigurator = 0; - } - if (fGCellFinder) - { - delete fGCellFinder; - fGCellFinder = 0; - } - fIStore = 0; - fConfigurators.clear(); - fIsConfigured = false; -} - -G4bool G4MassGeometrySampler::IsConfigured() const -{ - G4bool isconf = false; - if (fIsConfigured) - { - G4cout << "WARNING - G4MassGeometrySampler::IsConfigured()" - << " Some initalization exists, use ClearSampling()" - << " before a new initialization !" << G4endl; - isconf = true; - } - return isconf; -} - -void G4MassGeometrySampler::PrepareScoring(G4VScorer *scorer) -{ - fMScoreConfigurator = new G4MScoreConfigurator(fParticleName, *scorer); - if (!fMScoreConfigurator) - { - G4Exception("G4MassGeometrySampler::PrepareScoring()", - "FatalError", FatalException, - "Failed allocation of G4MScoreConfigurator !"); - } -} - -void -G4MassGeometrySampler::PrepareImportanceSampling(G4VIStore *istore, - const G4VImportanceAlgorithm *ialg) -{ - fIStore = istore; - - fMImportanceConfigurator = - new G4MImportanceConfigurator(fParticleName, *fIStore, ialg); - if (!fMImportanceConfigurator) - { - G4Exception("G4MassGeometrySampler::PrepareImportanceSampling()", - "FatalError", FatalException, - "Failed allocation of G4MImportanceConfigurator !"); - } -} - -void -G4MassGeometrySampler::PrepareWeightRoulett(G4double wsurvive, - G4double wlimit, - G4double isource) -{ - fGCellFinder = new G4MassGCellFinder; - if (!fGCellFinder) - { - G4Exception("G4MassGeometrySampler::PrepareWeightRoulett()", - "FatalError", FatalException, - "Failed allocation of G4MassGCellFinder !"); - } - - fWeightCutOffConfigurator = - new G4WeightCutOffConfigurator(fParticleName, - wsurvive, - wlimit, - isource, - fIStore, - *fGCellFinder); - if (!fWeightCutOffConfigurator) - { - G4Exception("G4MassGeometrySampler::PrepareWeightRoulett()", - "FatalError", FatalException, - "Failed allocation of G4WeightCutOffConfigurator !"); - } -} - -void -G4MassGeometrySampler::PrepareWeightWindow(G4VWeightWindowStore *wwstore, - G4VWeightWindowAlgorithm *wwAlg, - G4PlaceOfAction placeOfAction) -{ - - fWWStore = wwstore; - - fMWeightWindowConfigurator = - new G4MWeightWindowConfigurator(fParticleName, - *fWWStore, - wwAlg, - placeOfAction); -} - -void G4MassGeometrySampler::Configure() -{ - if (!IsConfigured()) - { - fIsConfigured = true; - - if (fMScoreConfigurator) - { - fConfigurators.push_back(fMScoreConfigurator); - } - if (fMImportanceConfigurator) - { - fConfigurators.push_back(fMImportanceConfigurator); - } - if (fMWeightWindowConfigurator) - { - fConfigurators.push_back(fMWeightWindowConfigurator); - } - - G4VSamplerConfigurator *preConf = 0; - for (G4Configurators::iterator it = fConfigurators.begin(); - it != fConfigurators.end(); it++) - { - G4VSamplerConfigurator *currConf =*it; - currConf->Configure(preConf); - preConf = *it; - } - if (fWeightCutOffConfigurator) - { - fWeightCutOffConfigurator->Configure(0); - } - } - return; -} diff --git a/source/processes/transportation/src/G4MassImportanceProcess.cc b/source/processes/transportation/src/G4MassImportanceProcess.cc deleted file mode 100644 index 5200eccb74..0000000000 --- a/source/processes/transportation/src/G4MassImportanceProcess.cc +++ /dev/null @@ -1,156 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MassImportanceProcess.cc,v 1.19 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4MassImportanceProcess.cc -// -// ---------------------------------------------------------------------- - -#include "G4MassImportanceProcess.hh" -#include "G4VImportanceAlgorithm.hh" -#include "G4GeometryCell.hh" -#include "G4SamplingPostStepAction.hh" -#include "G4VTrackTerminator.hh" -#include "G4VIStore.hh" - -G4MassImportanceProcess:: -G4MassImportanceProcess(const G4VImportanceAlgorithm &aImportanceAlgorithm, - const G4VIStore &aIstore, - const G4VTrackTerminator *TrackTerminator, - const G4String &aName) - : G4VProcess(aName), - fParticleChange(new G4ParticleChange), - fImportanceAlgorithm(aImportanceAlgorithm), - fIStore(aIstore), - fPostStepAction(0) -{ - if (TrackTerminator) - { - fPostStepAction = new G4SamplingPostStepAction(*TrackTerminator); - } - else - { - fPostStepAction = new G4SamplingPostStepAction(*this); - } - if (!fParticleChange) - { - G4Exception("G4MassImportanceProcess::G4MassImportanceProcess()", - "FatalError", FatalException, - "Failed allocation of G4ParticleChange !"); - } - G4VProcess::pParticleChange = fParticleChange; -} - -G4MassImportanceProcess::~G4MassImportanceProcess() -{ - delete fPostStepAction; - delete fParticleChange; -} - -G4double G4MassImportanceProcess:: -PostStepGetPhysicalInteractionLength(const G4Track& , - G4double , - G4ForceCondition* condition) -{ - *condition = Forced; - return kInfinity; -} - -G4VParticleChange * -G4MassImportanceProcess::PostStepDoIt(const G4Track &aTrack, - const G4Step &aStep) -{ - fParticleChange->Initialize(aTrack); - if ( (aStep.GetPostStepPoint()->GetStepStatus() == fGeomBoundary) - && (aStep.GetStepLength() > kCarTolerance) ) - { - if (aTrack.GetTrackStatus()==fStopAndKill) - { - G4cout << "WARNING - G4MassImportanceProcess::PostStepDoIt()" - << " StopAndKill track." << G4endl; - } - - G4StepPoint *prepoint = aStep.GetPreStepPoint(); - G4StepPoint *postpoint = aStep.GetPostStepPoint(); - - G4GeometryCell prekey(*(prepoint->GetPhysicalVolume()), - prepoint->GetTouchable()->GetReplicaNumber()); - G4GeometryCell postkey(*(postpoint->GetPhysicalVolume()), - postpoint->GetTouchable()->GetReplicaNumber()); - - G4Nsplit_Weight nw = fImportanceAlgorithm. - Calculate(fIStore.GetImportance(prekey), - fIStore.GetImportance(postkey), - aTrack.GetWeight()); - fPostStepAction->DoIt(aTrack, fParticleChange, nw); - } - return fParticleChange; -} - -void G4MassImportanceProcess::KillTrack() const -{ - fParticleChange->ProposeTrackStatus(fStopAndKill); -} - -const G4String &G4MassImportanceProcess::GetName() const -{ - return theProcessName; -} - -G4double G4MassImportanceProcess:: -AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*) -{ - return -1.0; -} - -G4double G4MassImportanceProcess:: -AtRestGetPhysicalInteractionLength(const G4Track& , - G4ForceCondition*) -{ - return -1.0; -} - -G4VParticleChange* G4MassImportanceProcess:: -AtRestDoIt(const G4Track&, const G4Step&) -{ - return 0; -} - -G4VParticleChange* G4MassImportanceProcess:: -AlongStepDoIt(const G4Track&, const G4Step&) -{ - return 0; -} - diff --git a/source/processes/transportation/src/G4MassWeightWindowProcess.cc b/source/processes/transportation/src/G4MassWeightWindowProcess.cc deleted file mode 100644 index 7d5a955b53..0000000000 --- a/source/processes/transportation/src/G4MassWeightWindowProcess.cc +++ /dev/null @@ -1,156 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4MassWeightWindowProcess.cc,v 1.7 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4MassWeightWindowProcess.cc -// -// ---------------------------------------------------------------------- - -#include "G4MassWeightWindowProcess.hh" -#include "G4VWeightWindowAlgorithm.hh" -#include "G4GeometryCell.hh" -#include "G4SamplingPostStepAction.hh" -#include "G4VTrackTerminator.hh" -#include "G4PlaceOfAction.hh" -#include "G4VWeightWindowStore.hh" - -G4MassWeightWindowProcess::G4MassWeightWindowProcess( - const G4VWeightWindowAlgorithm &aWeightWindowAlgorithm, - const G4VWeightWindowStore &aWWStore, - const G4VTrackTerminator *TrackTerminator, - G4PlaceOfAction placeOfAction, - const G4String &aName) - : G4VProcess(aName), - fParticleChange(new G4ParticleChange), - fWeightWindowAlgorithm(aWeightWindowAlgorithm), - fWeightWindowStore(aWWStore), - fPostStepAction(0), - fPlaceOfAction(placeOfAction) -{ - if (TrackTerminator) - { - fPostStepAction = new G4SamplingPostStepAction(*TrackTerminator); - } - else - { - fPostStepAction = new G4SamplingPostStepAction(*this); - } - if (!fParticleChange) - { - G4Exception("G4MassWeightWindowProcess::G4MassWeightWindowProcess()", - "FatalError", FatalException, - "Failed allocation of G4ParticleChange !"); - } - G4VProcess::pParticleChange = fParticleChange; -} - -G4MassWeightWindowProcess::~G4MassWeightWindowProcess() -{ - delete fPostStepAction; - delete fParticleChange; -} - -G4double G4MassWeightWindowProcess:: -PostStepGetPhysicalInteractionLength(const G4Track& , - G4double , - G4ForceCondition* condition) -{ - *condition = Forced; - return kInfinity; -} - -G4VParticleChange * -G4MassWeightWindowProcess::PostStepDoIt(const G4Track &aTrack, - const G4Step &aStep) -{ - fParticleChange->Initialize(aTrack); - if (aStep.GetStepLength() > kCarTolerance) - { - if ( ( fPlaceOfAction == onBoundaryAndCollision) - || ( (fPlaceOfAction == onBoundary) && - (aStep.GetPostStepPoint()->GetStepStatus() == fGeomBoundary) ) - || ( (fPlaceOfAction == onCollision) && - (aStep.GetPostStepPoint()->GetStepStatus() != fGeomBoundary) ) ) - { - - G4StepPoint *postpoint = aStep.GetPostStepPoint(); - - G4GeometryCell postCell(*(postpoint->GetPhysicalVolume()), - postpoint->GetTouchable()->GetReplicaNumber()); - - G4Nsplit_Weight nw = - fWeightWindowAlgorithm.Calculate(aTrack.GetWeight(), - fWeightWindowStore.GetLowerWeitgh(postCell, - aTrack.GetKineticEnergy())); - fPostStepAction->DoIt(aTrack, fParticleChange, nw); - } - } - return fParticleChange; -} - -void G4MassWeightWindowProcess::KillTrack() const -{ - fParticleChange->ProposeTrackStatus(fStopAndKill); -} - -const G4String &G4MassWeightWindowProcess::GetName() const -{ - return G4VProcess::GetProcessName(); -} - -G4double G4MassWeightWindowProcess:: -AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*) -{ - return -1.0; -} - -G4double G4MassWeightWindowProcess:: -AtRestGetPhysicalInteractionLength(const G4Track& , - G4ForceCondition*) -{ - return -1.0; -} - -G4VParticleChange* G4MassWeightWindowProcess:: -AtRestDoIt(const G4Track&, const G4Step&) -{ - return 0; -} - -G4VParticleChange* G4MassWeightWindowProcess:: -AlongStepDoIt(const G4Track&, const G4Step&) -{ - return 0; -} diff --git a/source/processes/transportation/src/G4NeutronKiller.cc b/source/processes/transportation/src/G4NeutronKiller.cc index 73af8e8e59..d7f14f3727 100644 --- a/source/processes/transportation/src/G4NeutronKiller.cc +++ b/source/processes/transportation/src/G4NeutronKiller.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4NeutronKiller.cc,v 1.1 2006/11/17 15:53:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/processes/transportation/src/G4NeutronKillerMessenger.cc b/source/processes/transportation/src/G4NeutronKillerMessenger.cc index ec199aea6a..deaafd301f 100644 --- a/source/processes/transportation/src/G4NeutronKillerMessenger.cc +++ b/source/processes/transportation/src/G4NeutronKillerMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4NeutronKillerMessenger.cc,v 1.1 2006/11/17 15:53:04 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------------------- // diff --git a/source/processes/transportation/src/G4PImportanceConfigurator.cc b/source/processes/transportation/src/G4PImportanceConfigurator.cc deleted file mode 100644 index e49a79eb4b..0000000000 --- a/source/processes/transportation/src/G4PImportanceConfigurator.cc +++ /dev/null @@ -1,102 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4PImportanceConfigurator.cc,v 1.8 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4PImportanceConfigurator -// -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#include "G4PImportanceConfigurator.hh" - -#include "G4ParallelWorld.hh" -#include "G4ImportanceAlgorithm.hh" -#include "G4ParallelImportanceProcess.hh" - -G4PImportanceConfigurator:: -G4PImportanceConfigurator(const G4String &particlename, - G4ParallelWorld ¶llelWorld, - G4VIStore &istore, - const G4VImportanceAlgorithm *ialg) - : fPlacer(particlename), - fPWorld(parallelWorld), - fDeleteIalg( ( ! ialg) ), - fIalgorithm(( (fDeleteIalg) ? new G4ImportanceAlgorithm : ialg)), - fExaminer(*fIalgorithm, parallelWorld.GetParallelStepper(), istore), - fParallelImportanceProcess(0) -{ - if (!fIalgorithm) - { - G4Exception("G4PImportanceConfigurator::G4PImportanceConfigurator()", - "InvalidSetup", FatalException, "No algorithm specified !"); - } -} - -G4PImportanceConfigurator::~G4PImportanceConfigurator() -{ - if (fParallelImportanceProcess) - { - fPlacer.RemoveProcess(fParallelImportanceProcess); - delete fParallelImportanceProcess; - } - if (fDeleteIalg) - { - delete fIalgorithm; - } -} - -void -G4PImportanceConfigurator::Configure(G4VSamplerConfigurator *preConf) -{ - const G4VTrackTerminator *terminator = 0; - if (preConf) - { - terminator = preConf->GetTrackTerminator(); - } - - fParallelImportanceProcess = - new G4ParallelImportanceProcess(fExaminer, - fPWorld.GetGeoDriver(), - fPWorld.GetParallelStepper(), - terminator); - if (!fParallelImportanceProcess) - { - G4Exception("G4PImportanceConfigurator::Configure()", - "FatalError", FatalException, - "Failed to allocate G4ParallelImportanceProcess !"); - } - fPlacer.AddProcessAsSecondDoIt(fParallelImportanceProcess); -} - -const G4VTrackTerminator * -G4PImportanceConfigurator::GetTrackTerminator() const -{ - return fParallelImportanceProcess; -} - diff --git a/source/processes/transportation/src/G4PScoreProcess.cc b/source/processes/transportation/src/G4PScoreProcess.cc deleted file mode 100644 index 1707d78558..0000000000 --- a/source/processes/transportation/src/G4PScoreProcess.cc +++ /dev/null @@ -1,121 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4PScoreProcess.cc,v 1.11 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4PScoreProcess.cc -// -// ---------------------------------------------------------------------- - -#include "G4PScoreProcess.hh" -#include "G4VScorer.hh" -#include "G4GeometryCellStep.hh" -#include "G4VParallelStepper.hh" - -G4PScoreProcess::G4PScoreProcess(G4VParallelStepper &astepper, - G4VScorer &aScorer, - const G4String &aName) - : G4VProcess(aName), - fPstepper(astepper), - fScorer(aScorer), - fKillTrack(false) -{ - G4VProcess::pParticleChange = new G4ParticleChange; - if (!G4VProcess::pParticleChange) - { - G4Exception("G4PScoreProcess::G4PScoreProcess()", "FatalError", - FatalException, "Failed to allocate G4ParticleChange !"); - } -} - -G4PScoreProcess::~G4PScoreProcess() -{ - delete pParticleChange; -} - -G4double G4PScoreProcess:: -PostStepGetPhysicalInteractionLength(const G4Track &, - G4double , - G4ForceCondition* condition) -{ - *condition = Forced; - return kInfinity; -} - -G4VParticleChange * -G4PScoreProcess::PostStepDoIt(const G4Track& aTrack, const G4Step &aStep) -{ - pParticleChange->Initialize(aTrack); - fScorer.Score(aStep, fPstepper.GetPStep()); - if (fKillTrack) - { - fKillTrack = false; - pParticleChange->ProposeTrackStatus(fStopAndKill); - } - return G4VProcess::pParticleChange; -} - -void G4PScoreProcess::KillTrack() const -{ - fKillTrack = true; -} - -const G4String &G4PScoreProcess::GetName() const -{ - return theProcessName; -} - -G4double G4PScoreProcess:: -AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*) -{ - return -1.0; -} - -G4double G4PScoreProcess:: -AtRestGetPhysicalInteractionLength(const G4Track& , G4ForceCondition*) -{ - return -1.0; -} - -G4VParticleChange* G4PScoreProcess:: -AtRestDoIt(const G4Track&, const G4Step&) -{ - return 0; -} - -G4VParticleChange* G4PScoreProcess:: -AlongStepDoIt(const G4Track&, const G4Step&) -{ - return 0; -} diff --git a/source/processes/transportation/src/G4PWeightWindowConfigurator.cc b/source/processes/transportation/src/G4PWeightWindowConfigurator.cc deleted file mode 100644 index 5e0b4f5ea2..0000000000 --- a/source/processes/transportation/src/G4PWeightWindowConfigurator.cc +++ /dev/null @@ -1,113 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4PWeightWindowConfigurator.cc,v 1.6 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4PWeightWindowConfigurator -// -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#include "G4PWeightWindowConfigurator.hh" -#include "G4ParallelWWnTransportProcess.hh" -#include "G4ParallelWeightWindowProcess.hh" -#include "G4WeightWindowAlgorithm.hh" -#include "G4ParallelWorld.hh" -#include "G4ParallelWeightWindowProcess.hh" - -G4PWeightWindowConfigurator:: -G4PWeightWindowConfigurator(const G4String &particlename, - G4ParallelWorld ¶llelWorld, - G4VWeightWindowStore &wwstore, - const G4VWeightWindowAlgorithm *wwAlg, - G4PlaceOfAction placeOfAction) - : fPlacer(particlename), - fPWorld(parallelWorld), - fDeleteWWalg( ( ! wwAlg) ), - fWWalgorithm(( (fDeleteWWalg) ? new G4WeightWindowAlgorithm(5,3,5) - : wwAlg)), - fExaminer(*fWWalgorithm, parallelWorld.GetParallelStepper(), wwstore), - fParallelWWProcess(0), - fPlaceOfAction(placeOfAction), - fTrackTerminator(0) -{ -} - -G4PWeightWindowConfigurator::~G4PWeightWindowConfigurator() -{ - if (fParallelWWProcess) - { - fPlacer.RemoveProcess(fParallelWWProcess); - delete fParallelWWProcess; - fTrackTerminator = 0; - fParallelWWProcess = 0; - } - if (fDeleteWWalg) - { - delete fWWalgorithm; - } -} - -void -G4PWeightWindowConfigurator::Configure(G4VSamplerConfigurator *preConf) -{ - const G4VTrackTerminator *terminator = 0; - if (preConf) - { - terminator = preConf->GetTrackTerminator(); - } - - if (fPlaceOfAction == onBoundary) - { - G4ParallelWWnTransportProcess *parallelWWnTransportProcess = - new G4ParallelWWnTransportProcess(fExaminer, - fPWorld.GetGeoDriver(), - fPWorld.GetParallelStepper(), - terminator); - fTrackTerminator = parallelWWnTransportProcess; - fParallelWWProcess = parallelWWnTransportProcess; - } - else - { - G4ParallelWeightWindowProcess *parallelWeightWindowProcess = - new G4ParallelWeightWindowProcess(fExaminer, - fPWorld.GetParallelStepper(), - terminator, - fPlaceOfAction); - fTrackTerminator = parallelWeightWindowProcess; - fParallelWWProcess = parallelWeightWindowProcess; - } - - fPlacer.AddProcessAsSecondDoIt(fParallelWWProcess); -} - -const G4VTrackTerminator * -G4PWeightWindowConfigurator::GetTrackTerminator() const -{ - return fTrackTerminator; -} diff --git a/source/processes/transportation/src/G4ParallelGeometrySampler.cc b/source/processes/transportation/src/G4ParallelGeometrySampler.cc deleted file mode 100644 index bc81bd771e..0000000000 --- a/source/processes/transportation/src/G4ParallelGeometrySampler.cc +++ /dev/null @@ -1,254 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelGeometrySampler.cc,v 1.12 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4ParallelGeometrySampler.cc -// -// ---------------------------------------------------------------------- - -#include "G4ParallelGeometrySampler.hh" - -#include "G4VIStore.hh" -#include "G4WeightWindowStore.hh" -#include "G4VScorer.hh" - -#include "G4ParallelTransportConfigurator.hh" -#include "G4PScoreConfigurator.hh" -#include "G4PImportanceConfigurator.hh" -#include "G4WeightCutOffConfigurator.hh" -#include "G4ParallelGCellFinder.hh" -#include "G4PWeightWindowConfigurator.hh" - -G4ParallelGeometrySampler:: -G4ParallelGeometrySampler(G4VPhysicalVolume &worldvolume, - const G4String &particlename) - : fParticleName(particlename), - fParallelWorld(worldvolume), - fParallelTransportConfigurator(0), - fPImportanceConfigurator(0), - fPScoreConfigurator(0), - fGCellFinder(0), - fWeightCutOffConfigurator(0), - fIStore(0), - fPWeightWindowConfigurator(0), - fWWStore(0), - fIsConfigured(false) -{ -} - -G4ParallelGeometrySampler::~G4ParallelGeometrySampler() -{ - ClearSampling(); -} - -void G4ParallelGeometrySampler::ClearSampling() -{ - if (fParallelTransportConfigurator) - { - delete fParallelTransportConfigurator; - fParallelTransportConfigurator = 0; - } - if (fPWeightWindowConfigurator) - { - delete fPWeightWindowConfigurator; - fPWeightWindowConfigurator = 0; - } - if (fPImportanceConfigurator) - { - delete fPImportanceConfigurator; - fPImportanceConfigurator = 0; - } - if (fPScoreConfigurator) - { - delete fPScoreConfigurator; - fPScoreConfigurator = 0; - } - if (fWeightCutOffConfigurator) - { - delete fWeightCutOffConfigurator; - fWeightCutOffConfigurator = 0; - } - if (fGCellFinder) - { - delete fGCellFinder; - fGCellFinder = 0; - } - fIStore = 0; - fConfigurators.clear(); - fIsConfigured = false; -} - -G4bool G4ParallelGeometrySampler::IsConfigured() const -{ - G4bool isconf = false; - if (fIsConfigured) - { - G4cout << "WARNING - G4ParallelGeometrySampler::IsConfigured()" - << " Some initalization exists already." - << " Use ClearSampling() before a new initialization !" - << G4endl; - isconf = true; - } - return isconf; -} - -void G4ParallelGeometrySampler:: -PrepareImportanceSampling(G4VIStore *istore, - const G4VImportanceAlgorithm *ialg) -{ - fIStore = istore; - fPImportanceConfigurator = new G4PImportanceConfigurator(fParticleName, - fParallelWorld, - *istore, ialg); - if (!fPImportanceConfigurator) - { - G4Exception("G4ParallelGeometrySampler::PrepareImportanceSampling()", - "FatalError", FatalException, - "Failed to create G4PImportanceConfigurator !"); - } -} - -void G4ParallelGeometrySampler::PrepareScoring(G4VScorer *scorer) -{ - fPScoreConfigurator = - new G4PScoreConfigurator(fParticleName, - fParallelWorld. - GetParallelStepper(), - *scorer); - if (!fPScoreConfigurator) - { - G4Exception("G4ParallelGeometrySampler::PrepareScoring()", - "FatalError", FatalException, - "Failed to create G4PScoreConfigurator !"); - } -} - -void -G4ParallelGeometrySampler::PrepareWeightRoulett(G4double wsuvive, - G4double wlimit, - G4double isource) -{ - fGCellFinder = new G4ParallelGCellFinder(fParallelWorld. - GetParallelStepper()); - if (!fGCellFinder) - { - G4Exception("G4ParallelGeometrySampler::PrepareWeightRoulett()", - "FatalError", FatalException, - "Failed to allocate G4ParallelGCellFinder !"); - } - - fWeightCutOffConfigurator = - new G4WeightCutOffConfigurator(fParticleName, - wsuvive, - wlimit, - isource, - fIStore, - *fGCellFinder); - if (!fWeightCutOffConfigurator) - { - G4Exception("G4ParallelGeometrySampler::PrepareWeightRoulett()", - "FatalError", FatalException, - "Failed to allocate G4WeightCutOffConfigurator !"); - } -} - -void -G4ParallelGeometrySampler::PrepareWeightWindow(G4VWeightWindowStore *wwstore, - G4VWeightWindowAlgorithm *wwAlg, - G4PlaceOfAction placeOfAction) -{ - if (placeOfAction != onBoundary) - { - // an additional paralel transport is needed - // to cause a step on parallel boundaries - fParallelTransportConfigurator = - new G4ParallelTransportConfigurator(fParticleName, fParallelWorld); - } - - fWWStore = wwstore; - fPWeightWindowConfigurator = - new G4PWeightWindowConfigurator(fParticleName, - fParallelWorld, - *wwstore, - wwAlg, - placeOfAction); -} - -void G4ParallelGeometrySampler::Configure() -{ - if (!IsConfigured()) - { - fIsConfigured = true; - - if (fPScoreConfigurator) - { - fConfigurators.push_back(fPScoreConfigurator); - } - if (fPImportanceConfigurator) - { - fConfigurators.push_back(fPImportanceConfigurator); - } - else if (fPWeightWindowConfigurator) - { - fConfigurators.push_back(fPWeightWindowConfigurator); - if (fParallelTransportConfigurator) - { - fConfigurators.push_back(fParallelTransportConfigurator); - } - } - else - { - fParallelTransportConfigurator = - new G4ParallelTransportConfigurator(fParticleName, fParallelWorld); - if (!fParallelTransportConfigurator) - { - G4Exception("G4ParallelGeometrySampler::Configure()", - "FatalError", FatalException, - "Failed to allocate G4ParallelTransportConfigurator !"); - } - fConfigurators.push_back(fParallelTransportConfigurator); - } - G4VSamplerConfigurator *preConf = 0; - for (G4Configurators::iterator it = fConfigurators.begin(); - it != fConfigurators.end(); it++) - { - G4VSamplerConfigurator *currConf =*it; - currConf->Configure(preConf); - preConf = *it; - } - - if (fWeightCutOffConfigurator) - { - fWeightCutOffConfigurator->Configure(0); - } - } - return; -} diff --git a/source/processes/transportation/src/G4ParallelImportanceProcess.cc b/source/processes/transportation/src/G4ParallelImportanceProcess.cc deleted file mode 100644 index 990a96830f..0000000000 --- a/source/processes/transportation/src/G4ParallelImportanceProcess.cc +++ /dev/null @@ -1,101 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelImportanceProcess.cc,v 1.19 2006/06/29 21:12:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4ParallelImportanceProcess.cc -// -// ---------------------------------------------------------------------- - -#include "G4Types.hh" -#include "G4ParallelImportanceProcess.hh" -#include "G4VImportanceSplitExaminer.hh" -#include "G4VTrackTerminator.hh" -#include "G4SamplingPostStepAction.hh" - -G4ParallelImportanceProcess::G4ParallelImportanceProcess( - const G4VImportanceSplitExaminer &aImportanceSplitExaminer, - G4VPGeoDriver &pgeodriver, - G4VParallelStepper &aStepper, - const G4VTrackTerminator *TrackTerminator, - const G4String &aName) - : G4ParallelTransport(pgeodriver, aStepper, aName), - fParticleChange(G4ParallelTransport::fParticleChange), - fImportanceSplitExaminer(aImportanceSplitExaminer), - fPostStepAction(0) -{ - if (TrackTerminator) - { - fPostStepAction = new G4SamplingPostStepAction(*TrackTerminator); - } - else - { - fPostStepAction = new G4SamplingPostStepAction(*this); - } - -} - -G4ParallelImportanceProcess::~G4ParallelImportanceProcess() -{ - delete fPostStepAction; -} - -G4VParticleChange *G4ParallelImportanceProcess:: -PostStepDoIt(const G4Track& aTrack, const G4Step &aStep) -{ - if (aTrack.GetTrackStatus()==fStopAndKill) - { - G4cout << "WARNING - G4ParallelImportanceProcess::PostStepDoIt()" - << " StopAndKill track !" << G4endl; - } - G4ParallelTransport::PostStepDoIt(aTrack, aStep); - - // get new weight and number of clones - G4Nsplit_Weight nw(fImportanceSplitExaminer.Examine(aTrack.GetWeight())); - - fPostStepAction->DoIt(aTrack, fParticleChange, nw); - return fParticleChange; -} - -void G4ParallelImportanceProcess::Error(const G4String &m) -{ - G4Exception("G4ParallelImportanceProcess::Error()", - "ProgramError", FatalException, m); -} - -void G4ParallelImportanceProcess::KillTrack() const -{ - fParticleChange->ProposeTrackStatus(fStopAndKill); -} - -const G4String &G4ParallelImportanceProcess::GetName() const -{ - return G4ParallelTransport::GetProcessName(); -} diff --git a/source/processes/transportation/src/G4ParallelTransport.cc b/source/processes/transportation/src/G4ParallelTransport.cc deleted file mode 100644 index 4c06924caa..0000000000 --- a/source/processes/transportation/src/G4ParallelTransport.cc +++ /dev/null @@ -1,178 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelTransport.cc,v 1.15 2006/06/29 21:12:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4ParallelTransport.cc -// -// ---------------------------------------------------------------------- - -#include "G4Types.hh" -#include "G4ParallelTransport.hh" -#include "G4VPGeoDriver.hh" -#include "G4VParallelStepper.hh" -#include - -G4ParallelTransport::G4ParallelTransport(G4VPGeoDriver &pgeodriver, - G4VParallelStepper &aStepper, - const G4String &aName) - : G4VProcess(aName), - fParticleChange(new G4ParticleChange), - fPgeodriver(pgeodriver), - fPStepper(aStepper), - fCrossBoundary(false), - fInitStep(false) -{ - if (!fParticleChange) - { - G4Exception("G4ParallelTransport::G4ParallelTransport()", - "FatalError", FatalException, - "Failed to allocate G4ParticleChange !"); - } - G4VProcess::pParticleChange = fParticleChange; -} - -G4ParallelTransport::~G4ParallelTransport() -{ - delete fParticleChange; -} - -void G4ParallelTransport::StartTracking(G4Track*) -{ - fInitStep = true; -} - -void G4ParallelTransport::EndTracking() -{ -} - -G4double G4ParallelTransport:: -PostStepGetPhysicalInteractionLength(const G4Track& aTrack, - G4double , - G4ForceCondition* condition) -{ - G4double stepLength = 0; - - // if this function is called on a new track let the navigator - // know about it - // G4bool initStep = (aTrack.GetCurrentStepNumber() == 1); - - if (fInitStep) - { - fInitStep = false; - stepLength = fPgeodriver. - ComputeStepLengthInit(aTrack.GetPosition(), - aTrack.GetMomentumDirection()); - fPStepper.Init(fPgeodriver.GetCurrentGeometryCell()); - fCrossBoundary = false; - } - else if (fCrossBoundary) - { - stepLength = fPgeodriver. - ComputeStepLengthCrossBoundary(aTrack.GetPosition(), - aTrack.GetMomentumDirection()); - fPStepper.UnSetCrossBoundary(); - fCrossBoundary = false; - } - else - { - stepLength = fPgeodriver. - ComputeStepLengthInVolume(aTrack.GetPosition(), - aTrack.GetMomentumDirection()); - } - - *condition = NotForced; - return stepLength; -} - -G4VParticleChange * -G4ParallelTransport::PostStepDoIt(const G4Track& aTrack, - const G4Step& aStep) -{ - if (!(aStep.GetStepLength() > 0.)) - { - std::ostringstream os; - os << "G4PArallelTransport::InitPostDoIt: StepLength() == 0.\n" - << "pos: " << aTrack.GetPosition() << ", " - << "dir: " << aTrack.GetMomentumDirection() << "\n"; - G4String m = os.str(); - Warning(m); - } - fParticleChange->Initialize(aTrack); - - fCrossBoundary = true; - fPgeodriver.LocateOnBoundary(aTrack.GetPosition(), - aTrack.GetMomentumDirection()); - fPStepper.Update(fPgeodriver.GetCurrentGeometryCell()); - - return fParticleChange; -} - -void G4ParallelTransport::Error(const G4String &m) -{ - G4Exception("G4ParallelTransport::Error()", - "ProgramError", FatalException, m); -} - -void G4ParallelTransport::Warning(const G4String &m) -{ - G4Exception("G4ParallelTransport::Warning()", - "ProgramWarning", JustWarning, m); -} - -G4double G4ParallelTransport:: -AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*) -{ - return -1.0; -} - -G4double G4ParallelTransport:: -AtRestGetPhysicalInteractionLength(const G4Track&, G4ForceCondition*) -{ - return -1.0; -} - -G4VParticleChange* -G4ParallelTransport::AtRestDoIt(const G4Track&, const G4Step&) -{ - return 0; -} - -G4VParticleChange* G4ParallelTransport:: -AlongStepDoIt(const G4Track&, const G4Step&) -{ - return 0; -} - - diff --git a/source/processes/transportation/src/G4ParallelTransportConfigurator.cc b/source/processes/transportation/src/G4ParallelTransportConfigurator.cc deleted file mode 100644 index 391cbccb48..0000000000 --- a/source/processes/transportation/src/G4ParallelTransportConfigurator.cc +++ /dev/null @@ -1,74 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelTransportConfigurator.cc,v 1.7 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// Class G4ParallelTransportConfigurator -// -// Author: Michael Dressel (Michael.Dressel@cern.ch) -// ---------------------------------------------------------------------- - -#include "G4ParallelTransportConfigurator.hh" -#include "G4ParallelWorld.hh" - -G4ParallelTransportConfigurator:: -G4ParallelTransportConfigurator(const G4String &particlename, - G4ParallelWorld &pworld) - : fPlacer(particlename), - fPWorld(pworld), - fParallelTransport(0) -{ -} - -G4ParallelTransportConfigurator::~G4ParallelTransportConfigurator() -{ - if (fParallelTransport) - { - fPlacer.RemoveProcess(fParallelTransport); - delete fParallelTransport; - } -} - -void G4ParallelTransportConfigurator::Configure(G4VSamplerConfigurator *) -{ - fParallelTransport = new G4ParallelTransport(fPWorld.GetGeoDriver(), - fPWorld.GetParallelStepper()); - if (!fParallelTransport) - { - G4Exception("G4ParallelTransportConfigurator::Configure()", - "FatalError", FatalException, - "Failed to allocate G4ParallelTransport !"); - } - fPlacer.AddProcessAsSecondDoIt(fParallelTransport); -} - -const G4VTrackTerminator * -G4ParallelTransportConfigurator::GetTrackTerminator() const -{ - return 0; -} diff --git a/source/processes/transportation/src/G4ParallelWWnTransportProcess.cc b/source/processes/transportation/src/G4ParallelWWnTransportProcess.cc deleted file mode 100644 index 5c402a08d7..0000000000 --- a/source/processes/transportation/src/G4ParallelWWnTransportProcess.cc +++ /dev/null @@ -1,104 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelWWnTransportProcess.cc,v 1.6 2006/06/29 21:12:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4ParallelWWnTransportProcess.cc -// -// ---------------------------------------------------------------------- - -#include "G4Types.hh" -#include "G4ParallelWWnTransportProcess.hh" -#include "G4VWeightWindowExaminer.hh" -#include "G4VTrackTerminator.hh" -#include "G4SamplingPostStepAction.hh" - -G4ParallelWWnTransportProcess::G4ParallelWWnTransportProcess( - const G4VWeightWindowExaminer &aWeightWindowExaminer, - G4VPGeoDriver &pgeodriver, - G4VParallelStepper &aStepper, - const G4VTrackTerminator *TrackTerminator, - const G4String &aName ) - : G4ParallelTransport(pgeodriver, aStepper, aName), - fParticleChange(G4ParallelTransport::fParticleChange), - fWeightWindowExaminer(aWeightWindowExaminer), - fPostStepAction(0) -{ - if (TrackTerminator) - { - fPostStepAction = new G4SamplingPostStepAction(*TrackTerminator); - } - else - { - fPostStepAction = new G4SamplingPostStepAction(*this); - } -} - -G4ParallelWWnTransportProcess::~G4ParallelWWnTransportProcess() -{ - delete fPostStepAction; -} - -G4VParticleChange * -G4ParallelWWnTransportProcess::PostStepDoIt(const G4Track& aTrack, - const G4Step &aStep) -{ - if (aTrack.GetTrackStatus()==fStopAndKill) - { - G4cout << "WARNING - G4ParallelWWnTransportProcess::PostStepDoIt()" - << " StopAndKill track !" - << G4endl; - } - G4ParallelTransport::PostStepDoIt(aTrack, aStep); - - // get new weight and number of clones - G4Nsplit_Weight nw(fWeightWindowExaminer.Examine(aTrack.GetWeight(), - aTrack. - GetKineticEnergy())); - - fPostStepAction->DoIt(aTrack, fParticleChange, nw); - return fParticleChange; -} - -void G4ParallelWWnTransportProcess::Error(const G4String &m) -{ - G4Exception("G4ParallelWWnTransportProcess::Error()", - "ProgramError", FatalException, m); -} - -void G4ParallelWWnTransportProcess::KillTrack() const -{ - fParticleChange->ProposeTrackStatus(fStopAndKill); -} - -const G4String &G4ParallelWWnTransportProcess::GetName() const -{ - return G4ParallelTransport::GetProcessName(); -} diff --git a/source/processes/transportation/src/G4ParallelWeightWindowProcess.cc b/source/processes/transportation/src/G4ParallelWeightWindowProcess.cc deleted file mode 100644 index 80e347d5c2..0000000000 --- a/source/processes/transportation/src/G4ParallelWeightWindowProcess.cc +++ /dev/null @@ -1,154 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4ParallelWeightWindowProcess.cc,v 1.13 2006/06/29 21:12:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4ParallelWeightWindowProcess.cc -// -// ---------------------------------------------------------------------- - -#include "G4Types.hh" -#include "G4ParallelWeightWindowProcess.hh" -#include "G4VWeightWindowExaminer.hh" -#include "G4VTrackTerminator.hh" -#include "G4SamplingPostStepAction.hh" -#include "G4VParallelStepper.hh" - -G4ParallelWeightWindowProcess::G4ParallelWeightWindowProcess( - const G4VWeightWindowExaminer &aWeightWindowExaminer, - G4VParallelStepper &aStepper, - const G4VTrackTerminator *TrackTerminator, - G4PlaceOfAction placeOfAction, - const G4String &aName) - : G4VProcess(aName), - fParticleChange(new G4ParticleChange), - fWeightWindowExaminer(aWeightWindowExaminer), - fStepper(aStepper), - fPostStepAction(0), - fPlaceOfAction(placeOfAction) -{ - if (TrackTerminator) - { - fPostStepAction = new G4SamplingPostStepAction(*TrackTerminator); - } - else - { - fPostStepAction = new G4SamplingPostStepAction(*this); - } - -} - -G4ParallelWeightWindowProcess::~G4ParallelWeightWindowProcess() -{ - delete fParticleChange; - delete fPostStepAction; -} - -G4double G4ParallelWeightWindowProcess:: -PostStepGetPhysicalInteractionLength(const G4Track& , - G4double , - G4ForceCondition* condition) -{ - *condition = Forced; - return kInfinity; -} - -G4VParticleChange * -G4ParallelWeightWindowProcess::PostStepDoIt(const G4Track& aTrack, - const G4Step &aStep) -{ - if (aTrack.GetTrackStatus()==fStopAndKill) - { - G4cout << "WARNING - G4ParallelWeightWindowProcess::PostStepDoIt()" - << " StopAndKill track !" << G4endl; - } - - fParticleChange->Initialize(aTrack); - - if (aStep.GetPostStepPoint()->GetStepStatus() != fGeomBoundary) - { - if (!( fStepper.GetPStep().GetCrossBoundary() - && (fPlaceOfAction == onCollision) ) ) - { - // get new weight and number of clones - G4Nsplit_Weight nw(fWeightWindowExaminer. - Examine(aTrack.GetWeight(), - aTrack. - GetKineticEnergy())); - fPostStepAction->DoIt(aTrack, fParticleChange, nw); - } - } - return fParticleChange; -} - -void G4ParallelWeightWindowProcess::Error(const G4String &m) -{ - G4Exception("G4ParallelWeightWindowProcess::Error()", - "ProgramError", FatalException, m); -} - -void G4ParallelWeightWindowProcess::KillTrack() const -{ - fParticleChange->ProposeTrackStatus(fStopAndKill); -} - -const G4String &G4ParallelWeightWindowProcess::GetName() const -{ - return theProcessName; -} - -G4double G4ParallelWeightWindowProcess:: -AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*) -{ - return -1.0; -} - -G4double G4ParallelWeightWindowProcess:: -AtRestGetPhysicalInteractionLength(const G4Track& , - G4ForceCondition*) -{ - return -1.0; -} - -G4VParticleChange* G4ParallelWeightWindowProcess:: -AtRestDoIt(const G4Track&, const G4Step&) -{ - return 0; -} - -G4VParticleChange* G4ParallelWeightWindowProcess:: -AlongStepDoIt(const G4Track&, const G4Step&) -{ - return 0; -} diff --git a/source/processes/transportation/src/G4StepLimiter.cc b/source/processes/transportation/src/G4StepLimiter.cc index 6ecfe8b814..c435580b21 100644 --- a/source/processes/transportation/src/G4StepLimiter.cc +++ b/source/processes/transportation/src/G4StepLimiter.cc @@ -25,7 +25,7 @@ // // // $Id: G4StepLimiter.cc,v 1.3 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // History diff --git a/source/processes/transportation/src/G4Transportation.cc b/source/processes/transportation/src/G4Transportation.cc index e6d52fab3d..8435c4e774 100644 --- a/source/processes/transportation/src/G4Transportation.cc +++ b/source/processes/transportation/src/G4Transportation.cc @@ -25,7 +25,7 @@ // // // $Id: G4Transportation.cc,v 1.60.4.2 2007/02/15 19:02:57 japost Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // ------------------------------------------------------------ // GEANT 4 include file implementation diff --git a/source/processes/transportation/src/G4UserSpecialCuts.cc b/source/processes/transportation/src/G4UserSpecialCuts.cc index c4e509c632..e5e9a16ffc 100644 --- a/source/processes/transportation/src/G4UserSpecialCuts.cc +++ b/source/processes/transportation/src/G4UserSpecialCuts.cc @@ -25,7 +25,7 @@ // // // $Id: G4UserSpecialCuts.cc,v 1.16 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // -------------------------------------------------------------- // History diff --git a/source/processes/transportation/src/G4VTrackTerminator.cc b/source/processes/transportation/src/G4VTrackTerminator.cc index f3fa063a31..08495fd665 100644 --- a/source/processes/transportation/src/G4VTrackTerminator.cc +++ b/source/processes/transportation/src/G4VTrackTerminator.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VTrackTerminator.cc,v 1.5 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VTrackTerminator.cc,v 1.6 2007/05/11 14:13:20 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // ---------------------------------------------------------------------- // GEANT 4 class source file @@ -35,9 +35,12 @@ // ---------------------------------------------------------------------- #include "G4VTrackTerminator.hh" +#include "G4GeometryTolerance.hh" G4VTrackTerminator::G4VTrackTerminator() -{} +{ + kCarTolerance = G4GeometryTolerance::GetInstance()->GetSurfaceTolerance(); +} G4VTrackTerminator::~G4VTrackTerminator() {} diff --git a/source/processes/transportation/src/G4WeightCutOffProcess.cc b/source/processes/transportation/src/G4WeightCutOffProcess.cc deleted file mode 100644 index 1d95b3b8c3..0000000000 --- a/source/processes/transportation/src/G4WeightCutOffProcess.cc +++ /dev/null @@ -1,147 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// -// $Id: G4WeightCutOffProcess.cc,v 1.9 2006/11/14 09:11:18 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ -// -// ---------------------------------------------------------------------- -// GEANT 4 class source file -// -// G4WeightCutOffProcess.cc -// -// ---------------------------------------------------------------------- - -#include "G4WeightCutOffProcess.hh" -#include "G4VScorer.hh" -#include "G4GeometryCellStep.hh" -#include "G4ParallelGCellFinder.hh" -#include "G4MassGCellFinder.hh" -#include "G4TouchableHandle.hh" -#include "G4VIStore.hh" - -G4WeightCutOffProcess:: -G4WeightCutOffProcess(G4double wsurvival, - G4double wlimit, - G4double isource, - G4VIStore *istore, - const G4VGCellFinder &aGCellFinder, - const G4String &aName) - : G4VProcess(aName), - fParticleChange(new G4ParticleChange), - fWeightSurvival(wsurvival), - fWeightLimit(wlimit), - fSourceImportance(isource), - fIStore(istore), - fGCellFinder(aGCellFinder) -{ - if (!fParticleChange) - { - G4Exception("G4WeightCutOffProcess::G4WeightCutOffProcess()", - "FatalError", FatalException, - "Failed to allocate G4ParticleChange !"); - } - G4VProcess::pParticleChange = fParticleChange; -} - -G4WeightCutOffProcess::~G4WeightCutOffProcess() -{ - delete fParticleChange; -} - -G4double G4WeightCutOffProcess:: -PostStepGetPhysicalInteractionLength(const G4Track &, - G4double, G4ForceCondition* condition) -{ - *condition = Forced; - return kInfinity; -} - -G4VParticleChange * -G4WeightCutOffProcess::PostStepDoIt(const G4Track& aTrack, - const G4Step &aStep) -{ - fParticleChange->Initialize(aTrack); - G4GeometryCell postCell = fGCellFinder.GetPostGeometryCell(aStep); - G4double R = fSourceImportance; - if (fIStore) - { - G4double i = fIStore->GetImportance(postCell); - if (i>0) - { - R/=i; - } - } - G4double w = aTrack.GetWeight(); - if (wProposeTrackStatus(fStopAndKill); - } - else - { - fParticleChange->ProposeWeight(ws); - } - } - return fParticleChange; -} - -const G4String &G4WeightCutOffProcess::GetName() const -{ - return theProcessName; -} - -G4double G4WeightCutOffProcess:: -AlongStepGetPhysicalInteractionLength(const G4Track&, - G4double , - G4double , - G4double& , - G4GPILSelection*) -{ - return -1.0; -} - - -G4double G4WeightCutOffProcess:: -AtRestGetPhysicalInteractionLength(const G4Track& , - G4ForceCondition*) -{ - return -1.0; -} - -G4VParticleChange* -G4WeightCutOffProcess::AtRestDoIt(const G4Track&, const G4Step&) -{ - return 0; -} - -G4VParticleChange* -G4WeightCutOffProcess::AlongStepDoIt(const G4Track&, const G4Step&) -{ - return 0; -} diff --git a/source/readout/include/G4DCtable.hh b/source/readout/include/G4DCtable.hh index 733109f21e..ad6ccf9c5e 100644 --- a/source/readout/include/G4DCtable.hh +++ b/source/readout/include/G4DCtable.hh @@ -25,7 +25,7 @@ // // // $Id: G4DCtable.hh,v 1.9 2006/06/29 21:12:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4DCtable_H diff --git a/source/readout/include/G4DMmessenger.hh b/source/readout/include/G4DMmessenger.hh index e0cf0ea571..71ebcd20bd 100644 --- a/source/readout/include/G4DMmessenger.hh +++ b/source/readout/include/G4DMmessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4DMmessenger.hh,v 1.5 2006/06/29 21:12:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4DMmessenger_h diff --git a/source/readout/include/G4DigiManager.hh b/source/readout/include/G4DigiManager.hh index 609a23c516..b4907ec13c 100644 --- a/source/readout/include/G4DigiManager.hh +++ b/source/readout/include/G4DigiManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4DigiManager.hh,v 1.8 2006/06/29 21:12:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4DigiManager_h diff --git a/source/readout/include/G4VDigitizerModule.hh b/source/readout/include/G4VDigitizerModule.hh index 2585769b36..d9bc4a0a5f 100644 --- a/source/readout/include/G4VDigitizerModule.hh +++ b/source/readout/include/G4VDigitizerModule.hh @@ -25,7 +25,7 @@ // // // $Id: G4VDigitizerModule.hh,v 1.8 2006/06/29 21:12:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VDigitizerModule_H diff --git a/source/readout/src/G4DCtable.cc b/source/readout/src/G4DCtable.cc index 8c96a8b3dd..9ceebea7bb 100644 --- a/source/readout/src/G4DCtable.cc +++ b/source/readout/src/G4DCtable.cc @@ -25,7 +25,7 @@ // // // $Id: G4DCtable.cc,v 1.9 2006/06/29 21:13:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4DCtable.hh" diff --git a/source/readout/src/G4DMmessenger.cc b/source/readout/src/G4DMmessenger.cc index c9e71e46c0..21b3f0ab62 100644 --- a/source/readout/src/G4DMmessenger.cc +++ b/source/readout/src/G4DMmessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4DMmessenger.cc,v 1.4 2006/06/29 21:13:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // --------------------------------------------------------------------- diff --git a/source/readout/src/G4DigiManager.cc b/source/readout/src/G4DigiManager.cc index 9ad1e4f22e..f2bb2a589a 100644 --- a/source/readout/src/G4DigiManager.cc +++ b/source/readout/src/G4DigiManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4DigiManager.cc,v 1.7 2006/06/29 21:13:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4DigiManager.hh" diff --git a/source/readout/src/G4VDigitizerModule.cc b/source/readout/src/G4VDigitizerModule.cc index bfdebd990b..df13bf2b41 100644 --- a/source/readout/src/G4VDigitizerModule.cc +++ b/source/readout/src/G4VDigitizerModule.cc @@ -25,7 +25,7 @@ // // // $Id: G4VDigitizerModule.cc,v 1.4 2006/06/29 21:13:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4VDigitizerModule.hh" diff --git a/source/run/History b/source/run/History index 234e2ab5d9..99ae662669 100644 --- a/source/run/History +++ b/source/run/History @@ -1,4 +1,4 @@ -$Id: History,v 1.157 2007/03/08 23:54:04 asaim Exp $ +$Id: History,v 1.166 2007/06/20 17:00:23 asaim Exp $ ------------------------------------------------------------------- ========================================================= @@ -17,6 +17,41 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +June 20th, 2007, Makoto Asai (run-V08-03-07) +- Fixed seg fault with stacking events (Bug report #951). + +June 15th, 2007, Gabriele Cosmo (run-V08-03-06) +- Fixed leak in G4VModularPhysicsList: delete allocated 'physicsVector' + in destructor. + +May 30th, 2007, Gabriele Cosmo (run-V08-03-05) +- Temporarly restored switching mechanism for G4CoupledTransportation, + activated if parallel geometry is registered. +- Removed UseG4Transportation8() method to G4VUserPhysicsList and + /run/useOldTransportation command to G4UserPhysicsListMessenger. + +May 24th, 2007, Makoto Asai (run-V08-03-04) +- Fixed the name of random number status file. + +May 21st, 2007, Makoto Asai (run-V08-03-03) +- Fixed against accessing to the world logical volume that had already been deleted. + +May 9th, 2007, Makoto Asai (run-V08-03-02) +- In G4RunManagerKernel, UpdateRegion() method now internally invokes CheckRegions() method + to make sure all region information are updated. + +May 7th, 2007, Makoto Asai (run-V08-03-01) +- Add UseG4Transportation8() method to G4VUserPhysicsList and /run/useOldTransportation + command to G4UserPhysicsListMessenger. This option works only prior to /run/initialize + and also wothout a parallel world. + +May 4th, 2007, Makoto Asai (run-V08-03-00) +- Remove switching mechanism of G4CoupledTransportation. + +May 3rd, 2007, Makoto Asai (run-V08-02-03) +- Fix memory leak in G4VUserPhysicsList. +- G4VUserDetectorConstruction class now has access methods to the parallel worlds. + March 8th, 2007, Makoto Asai (run-V08-02-02) - Consolidation of previous tag with a new G4RunManager flag and corresponding UI command. diff --git a/source/run/include/G4ExceptionHandler.hh b/source/run/include/G4ExceptionHandler.hh index e6b0cce3b7..094924c723 100644 --- a/source/run/include/G4ExceptionHandler.hh +++ b/source/run/include/G4ExceptionHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4ExceptionHandler.hh,v 1.2 2006/06/29 21:13:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/run/include/G4MSSteppingAction.hh b/source/run/include/G4MSSteppingAction.hh index 4a8a71ad03..cba924d942 100644 --- a/source/run/include/G4MSSteppingAction.hh +++ b/source/run/include/G4MSSteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4MSSteppingAction.hh,v 1.2 2006/06/29 21:13:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/run/include/G4MatScanMessenger.hh b/source/run/include/G4MatScanMessenger.hh index e30160dede..ce40fd4ac7 100644 --- a/source/run/include/G4MatScanMessenger.hh +++ b/source/run/include/G4MatScanMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4MatScanMessenger.hh,v 1.3 2006/06/29 21:13:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/run/include/G4MaterialScanner.hh b/source/run/include/G4MaterialScanner.hh index 7f12b41f90..890f26cd52 100644 --- a/source/run/include/G4MaterialScanner.hh +++ b/source/run/include/G4MaterialScanner.hh @@ -25,7 +25,7 @@ // // // $Id: G4MaterialScanner.hh,v 1.2 2006/06/29 21:13:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/run/include/G4Run.hh b/source/run/include/G4Run.hh index 120c7ee3c1..38d0ffc311 100644 --- a/source/run/include/G4Run.hh +++ b/source/run/include/G4Run.hh @@ -25,7 +25,7 @@ // // // $Id: G4Run.hh,v 1.16 2007/03/07 03:00:14 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4Run_h diff --git a/source/run/include/G4RunManager.hh b/source/run/include/G4RunManager.hh index 25065d304c..59ca6210fc 100644 --- a/source/run/include/G4RunManager.hh +++ b/source/run/include/G4RunManager.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RunManager.hh,v 1.47 2007/03/08 23:54:04 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4RunManager.hh,v 1.48 2007/05/04 16:02:58 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // @@ -428,7 +428,8 @@ class G4RunManager { runIDCounter = i; } // Set the run number counter. Initially, the counter is initialized to zero and // incremented by one for every BeamOn(). - + inline G4int GetNumberOfParallelWorld() const + { return nParallelWorlds; } public: inline void SetDCtable(G4DCtable* DCtbl) { DCtable = DCtbl; } diff --git a/source/run/include/G4RunManagerKernel.hh b/source/run/include/G4RunManagerKernel.hh index 3413062216..ddad230eff 100644 --- a/source/run/include/G4RunManagerKernel.hh +++ b/source/run/include/G4RunManagerKernel.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RunManagerKernel.hh,v 1.7 2006/06/29 21:13:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4RunManagerKernel.hh,v 1.9 2007/05/30 00:42:09 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // @@ -136,6 +136,7 @@ class G4RunManagerKernel G4bool geometryToBeOptimized; G4bool physicsNeedsToBeReBuilt; G4int verboseLevel; + G4int numberOfParallelWorld; G4EventManager * eventManager; G4ExceptionHandler* defaultExceptionHandler; @@ -182,6 +183,14 @@ class G4RunManagerKernel geometryNeedsToBeClosed = true; } } + + inline G4int GetNumberOfParallelWorld() const + { return numberOfParallelWorld; } + inline void SetNumberOfParallelWorld(G4int i) + { numberOfParallelWorld = i; } + + private: + G4bool ConfirmCoupledTransportation(); }; #endif diff --git a/source/run/include/G4RunMessenger.hh b/source/run/include/G4RunMessenger.hh index e5f909fdaa..0a08b61aa5 100644 --- a/source/run/include/G4RunMessenger.hh +++ b/source/run/include/G4RunMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4RunMessenger.hh,v 1.15 2007/03/08 23:54:04 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT 4 class header file diff --git a/source/run/include/G4UserPhysicsListMessenger.hh b/source/run/include/G4UserPhysicsListMessenger.hh index 288cac275b..7ef2478d8f 100644 --- a/source/run/include/G4UserPhysicsListMessenger.hh +++ b/source/run/include/G4UserPhysicsListMessenger.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UserPhysicsListMessenger.hh,v 1.16 2006/06/29 21:13:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4UserPhysicsListMessenger.hh,v 1.18 2007/05/30 10:34:54 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/run/include/G4UserRunAction.hh b/source/run/include/G4UserRunAction.hh index 065458f60a..cacca71ef2 100644 --- a/source/run/include/G4UserRunAction.hh +++ b/source/run/include/G4UserRunAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4UserRunAction.hh,v 1.8 2006/06/29 21:13:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4UserRunAction_h diff --git a/source/run/include/G4VModularPhysicsList.hh b/source/run/include/G4VModularPhysicsList.hh index 8e57216f97..cfb43e34b4 100644 --- a/source/run/include/G4VModularPhysicsList.hh +++ b/source/run/include/G4VModularPhysicsList.hh @@ -25,7 +25,7 @@ // // // $Id: G4VModularPhysicsList.hh,v 1.7 2006/06/29 21:13:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/run/include/G4VPersistencyManager.hh b/source/run/include/G4VPersistencyManager.hh index ad42364b0c..74fcd383ae 100644 --- a/source/run/include/G4VPersistencyManager.hh +++ b/source/run/include/G4VPersistencyManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4VPersistencyManager.hh,v 1.5 2006/06/29 21:13:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VPersistencyManager_h diff --git a/source/run/include/G4VPhysicsConstructor.hh b/source/run/include/G4VPhysicsConstructor.hh index 8ff7d8b6d2..0cdb342432 100644 --- a/source/run/include/G4VPhysicsConstructor.hh +++ b/source/run/include/G4VPhysicsConstructor.hh @@ -25,7 +25,7 @@ // // // $Id: G4VPhysicsConstructor.hh,v 1.4 2006/06/29 21:13:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/run/include/G4VUserDetectorConstruction.hh b/source/run/include/G4VUserDetectorConstruction.hh index 4776cf8b2c..5ae8fd6324 100644 --- a/source/run/include/G4VUserDetectorConstruction.hh +++ b/source/run/include/G4VUserDetectorConstruction.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VUserDetectorConstruction.hh,v 1.8 2006/12/13 15:49:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VUserDetectorConstruction.hh,v 1.9 2007/05/03 17:59:18 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VUserDetectorConstruction_h @@ -63,6 +63,10 @@ class G4VUserDetectorConstruction private: std::vector parallelWorld; + + public: + G4int GetNumberOfParallelWorld() const; + G4VUserParallelWorld* GetParallelWorld(G4int i) const; }; #endif diff --git a/source/run/include/G4VUserParallelWorld.hh b/source/run/include/G4VUserParallelWorld.hh index f04278f97b..49291aa773 100644 --- a/source/run/include/G4VUserParallelWorld.hh +++ b/source/run/include/G4VUserParallelWorld.hh @@ -25,7 +25,7 @@ // // // $Id: G4VUserParallelWorld.hh,v 1.2 2006/12/13 15:49:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VUserParallelWorld_h diff --git a/source/run/include/G4VUserPhysicsList.hh b/source/run/include/G4VUserPhysicsList.hh index 0d72ea14c7..e51e15afb7 100644 --- a/source/run/include/G4VUserPhysicsList.hh +++ b/source/run/include/G4VUserPhysicsList.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VUserPhysicsList.hh,v 1.31 2006/11/23 00:06:48 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VUserPhysicsList.hh,v 1.35 2007/05/30 10:16:27 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -295,9 +295,10 @@ class G4VUserPhysicsList private: enum { FixedStringLengthForStore = 32 }; + private: G4bool useCoupledTransportation; - + public: inline void UseCoupledTransportation(G4bool vl=true) { useCoupledTransportation = vl; } diff --git a/source/run/include/G4VUserPrimaryGeneratorAction.hh b/source/run/include/G4VUserPrimaryGeneratorAction.hh index 501a89bd9d..41cc28c41e 100644 --- a/source/run/include/G4VUserPrimaryGeneratorAction.hh +++ b/source/run/include/G4VUserPrimaryGeneratorAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4VUserPrimaryGeneratorAction.hh,v 1.5 2006/06/29 21:13:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VUserPrimaryGeneratorAction_h diff --git a/source/run/src/G4ExceptionHandler.cc b/source/run/src/G4ExceptionHandler.cc index deba6bf804..bcf52bde8b 100644 --- a/source/run/src/G4ExceptionHandler.cc +++ b/source/run/src/G4ExceptionHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4ExceptionHandler.cc,v 1.4 2006/06/29 21:13:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/run/src/G4MSSteppingAction.cc b/source/run/src/G4MSSteppingAction.cc index cdcdebae10..bb728a5cbc 100644 --- a/source/run/src/G4MSSteppingAction.cc +++ b/source/run/src/G4MSSteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: G4MSSteppingAction.cc,v 1.2 2006/06/29 21:13:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/run/src/G4MatScanMessenger.cc b/source/run/src/G4MatScanMessenger.cc index 09f363747c..21b0a5e71a 100644 --- a/source/run/src/G4MatScanMessenger.cc +++ b/source/run/src/G4MatScanMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4MatScanMessenger.cc,v 1.5 2006/12/01 02:00:55 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/run/src/G4MaterialScanner.cc b/source/run/src/G4MaterialScanner.cc index 813a25c0ca..c81d353a8e 100644 --- a/source/run/src/G4MaterialScanner.cc +++ b/source/run/src/G4MaterialScanner.cc @@ -25,7 +25,7 @@ // // // $Id: G4MaterialScanner.cc,v 1.3 2006/06/29 21:13:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/run/src/G4Run.cc b/source/run/src/G4Run.cc index 9c1dce6617..9b54173f05 100644 --- a/source/run/src/G4Run.cc +++ b/source/run/src/G4Run.cc @@ -25,7 +25,7 @@ // // // $Id: G4Run.cc,v 1.11 2006/11/23 00:06:49 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4Run.hh" diff --git a/source/run/src/G4RunManager.cc b/source/run/src/G4RunManager.cc index 0f119972d9..9002d45316 100644 --- a/source/run/src/G4RunManager.cc +++ b/source/run/src/G4RunManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RunManager.cc,v 1.99 2007/03/08 23:54:04 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4RunManager.cc,v 1.103 2007/06/20 17:00:23 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // @@ -318,7 +318,7 @@ void G4RunManager::StackPreviousEvent(G4Event* anEvent) evt = previousEvents->back(); previousEvents->pop_back(); } - if(!(evt->ToBeKept())) delete evt; + if(evt && !(evt->ToBeKept())) delete evt; } void G4RunManager::Initialize() @@ -348,6 +348,7 @@ void G4RunManager::InitializeGeometry() if(verboseLevel>1) G4cout << "userDetector->Construct() start." << G4endl; kernel->DefineWorldVolume(userDetector->Construct(),false); nParallelWorlds = userDetector->ConstructParallelGeometries(); + kernel->SetNumberOfParallelWorld(nParallelWorlds); geometryInitialized = true; } @@ -356,7 +357,6 @@ void G4RunManager::InitializePhysics() if(physicsList) { if(verboseLevel>1) G4cout << "physicsList->Construct() start." << G4endl; - if(nParallelWorlds>0) physicsList->UseCoupledTransportation(); kernel->InitializePhysics(); } else @@ -410,11 +410,11 @@ void G4RunManager::DefineWorldVolume(G4VPhysicalVolume* worldVol, void G4RunManager::rndmSaveThisRun() { - G4int runNumber = runIDCounter; - /////////////if(currentRun == 0) runNumber--; //state Idle; decrease runNumber - if(!storeRandomNumberStatus || runNumber < 0) { + G4int runNumber = 0; + if(currentRun) runNumber = currentRun->GetRunID(); + if(!storeRandomNumberStatus) { G4cerr << "Warning from G4RunManager::rndmSaveThisRun():" - << " there is no currentRun or its RandomEngineStatus is not available." + << " Random number status was not stored prior to this run." << G4endl << "Command ignored." << G4endl; return; } diff --git a/source/run/src/G4RunManagerKernel.cc b/source/run/src/G4RunManagerKernel.cc index 1a9330562f..001ff4019e 100644 --- a/source/run/src/G4RunManagerKernel.cc +++ b/source/run/src/G4RunManagerKernel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RunManagerKernel.cc,v 1.37 2006/12/01 01:23:35 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4RunManagerKernel.cc,v 1.41 2007/05/30 00:42:09 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // @@ -67,7 +67,8 @@ G4RunManagerKernel::G4RunManagerKernel() :physicsList(0),currentWorld(0), geometryInitialized(false),physicsInitialized(false), geometryNeedsToBeClosed(true),geometryToBeOptimized(true), - physicsNeedsToBeReBuilt(true),verboseLevel(0) + physicsNeedsToBeReBuilt(true),verboseLevel(0), + numberOfParallelWorld(0) { #ifdef G4FPE_DEBUG InvalidOperationDetection(); @@ -188,8 +189,8 @@ void G4RunManagerKernel::DefineWorldVolume(G4VPhysicalVolume* worldVol, std::vector::iterator lvItr = defaultRegion->GetRootLogicalVolumeIterator(); defaultRegion->RemoveRootLogicalVolume(*lvItr); - if(verboseLevel>1) G4cout << (*lvItr)->GetName() - << " is removed from the default region." << G4endl; + if(verboseLevel>1) G4cout + << "Obsolete world logical volume is removed from the default region." << G4endl; } // Accept the world volume @@ -261,6 +262,7 @@ void G4RunManagerKernel::InitializePhysics() //physicsList->ConstructParticle(); if(verboseLevel>1) G4cout << "physicsList->Construct() start." << G4endl; + if(numberOfParallelWorld>0) physicsList->UseCoupledTransportation(); physicsList->Construct(); if(verboseLevel>1) G4cout << "physicsList->setCut() start." << G4endl; @@ -303,7 +305,12 @@ G4bool G4RunManagerKernel::RunInitialization() return false; } - CheckRegions(); + if(numberOfParallelWorld>0) + { // Confirm G4CoupledTransportation is used + if(!ConfirmCoupledTransportation()) + { G4Exception("G4CoupledTransportation must be used for parallel world."); } + } + UpdateRegion(); BuildPhysicsTables(); @@ -342,6 +349,18 @@ void G4RunManagerKernel::ResetNavigator() void G4RunManagerKernel::UpdateRegion() { + G4StateManager* stateManager = G4StateManager::GetStateManager(); + G4ApplicationState currentState = stateManager->GetCurrentState(); + if( currentState != G4State_Idle ) + { + G4Exception("G4RunManagerKernel::UpdateRegion", + "RegionUpdateAtIncorrectState", + JustWarning, + "Geant4 kernel not in Idle state : method ignored."); + return; + } + + CheckRegions(); G4RegionStore::GetInstance()->UpdateMaterialList(currentWorld); G4ProductionCutsTable::GetProductionCutsTable()->UpdateCoupleTable(currentWorld); } @@ -412,8 +431,28 @@ void G4RunManagerKernel::DumpRegion(G4Region* region) const else { G4cout << G4endl; - G4cout << "Region <" << region->GetName() << "> -- appears in <" - << region->GetWorldPhysical()->GetName() << "> world volume" << G4endl; + G4cout << "Region <" << region->GetName() << ">"; + if(region->GetWorldPhysical()) + { + G4cout << " -- appears in <" + << region->GetWorldPhysical()->GetName() << "> world volume"; + } + else + { G4cout << " -- is not associated to any world."; } + G4cout << G4endl; + + G4cout << " Root logical volume(s) : "; + size_t nRootLV = region->GetNumberOfRootVolumes(); + std::vector::iterator lvItr = region->GetRootLogicalVolumeIterator(); + for(size_t j=0;jGetName() << " "; } + G4cout << G4endl; + + G4cout << " Pointers : G4VUserRegionInformation[" << region->GetUserInformation() + << "], G4UserLimits[" << region->GetUserLimits() + << "], G4FastSimulationManager[" << region->GetFastSimulationManager() + << "], G4UserSteppingAction[" << region->GetRegionalSteppingAction() << "]" << G4endl; + if(region->GetWorldPhysical()!=currentWorld) { G4cout << G4endl; @@ -444,3 +483,25 @@ void G4RunManagerKernel::DumpRegion(G4Region* region) const << G4endl; } } + +#include "G4ParticleTable.hh" +#include "G4ParticleDefinition.hh" +#include "G4ProcessManager.hh" +#include "G4ProcessVector.hh" +#include "G4VProcess.hh" +G4bool G4RunManagerKernel::ConfirmCoupledTransportation() +{ + G4ParticleTable* theParticleTable = G4ParticleTable::GetParticleTable(); + G4ParticleTable::G4PTblDicIterator* theParticleIterator = theParticleTable->GetIterator(); + theParticleIterator->reset(); + if((*theParticleIterator)()) + { + G4ParticleDefinition* pd = theParticleIterator->value(); + G4ProcessManager* pm = pd->GetProcessManager(); + G4ProcessVector* pv = pm->GetAlongStepProcessVector(typeDoIt); + G4VProcess* p = (*pv)[0]; + return ( (p->GetProcessName()) == "CoupledTransportation" ); + } + return false; +} + diff --git a/source/run/src/G4RunMessenger.cc b/source/run/src/G4RunMessenger.cc index f4b3aa5061..342c1ee0d3 100644 --- a/source/run/src/G4RunMessenger.cc +++ b/source/run/src/G4RunMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4RunMessenger.cc,v 1.24 2007/03/08 23:54:04 asaim Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4RunMessenger.hh" diff --git a/source/run/src/G4UserPhysicsListMessenger.cc b/source/run/src/G4UserPhysicsListMessenger.cc index 256c8a20df..060ecf7cda 100644 --- a/source/run/src/G4UserPhysicsListMessenger.cc +++ b/source/run/src/G4UserPhysicsListMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4UserPhysicsListMessenger.cc,v 1.26 2006/06/29 21:13:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4UserPhysicsListMessenger.cc,v 1.28 2007/05/30 10:34:54 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- @@ -180,7 +180,6 @@ G4UserPhysicsListMessenger::G4UserPhysicsListMessenger(G4VUserPhysicsList* pPart dumpCutValuesCmd->SetParameterName("particle",true); dumpCutValuesCmd->SetDefaultValue("all"); dumpCutValuesCmd->AvailableForStates(G4State_PreInit,G4State_Idle); - } G4UserPhysicsListMessenger::~G4UserPhysicsListMessenger() @@ -271,8 +270,8 @@ void G4UserPhysicsListMessenger::SetNewValue(G4UIcommand * command,G4String newV } else if( command == dumpCutValuesCmd ) { thePhysicsList->DumpCutValuesTable(1); - } + } } G4String G4UserPhysicsListMessenger::GetCurrentValue(G4UIcommand * command) @@ -334,11 +333,3 @@ G4String G4UserPhysicsListMessenger::GetCurrentValue(G4UIcommand * command) return cv; } - - - - - - - - diff --git a/source/run/src/G4UserRunAction.cc b/source/run/src/G4UserRunAction.cc index 37f973e87c..52eea11732 100644 --- a/source/run/src/G4UserRunAction.cc +++ b/source/run/src/G4UserRunAction.cc @@ -25,7 +25,7 @@ // // // $Id: G4UserRunAction.cc,v 1.8 2006/06/29 21:13:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4UserRunAction.hh" diff --git a/source/run/src/G4VModularPhysicsList.cc b/source/run/src/G4VModularPhysicsList.cc index 2849af2659..4a19ddc5c2 100644 --- a/source/run/src/G4VModularPhysicsList.cc +++ b/source/run/src/G4VModularPhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VModularPhysicsList.cc,v 1.3 2006/06/29 21:14:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VModularPhysicsList.cc,v 1.4 2007/06/15 07:26:55 gcosmo Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -47,6 +47,7 @@ G4VModularPhysicsList::~G4VModularPhysicsList() delete (*itr); } physicsVector->clear(); + delete physicsVector; } void G4VModularPhysicsList::ConstructParticle() diff --git a/source/run/src/G4VPersistencyManager.cc b/source/run/src/G4VPersistencyManager.cc index 1e48f9da16..e0ca491bee 100644 --- a/source/run/src/G4VPersistencyManager.cc +++ b/source/run/src/G4VPersistencyManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4VPersistencyManager.cc,v 1.5 2006/06/29 21:14:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4VPersistencyManager.hh" diff --git a/source/run/src/G4VUserDetectorConstruction.cc b/source/run/src/G4VUserDetectorConstruction.cc index 824f66ff2b..c9b646a823 100644 --- a/source/run/src/G4VUserDetectorConstruction.cc +++ b/source/run/src/G4VUserDetectorConstruction.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VUserDetectorConstruction.cc,v 1.7 2006/12/13 15:49:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VUserDetectorConstruction.cc,v 1.8 2007/05/03 17:59:18 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4VUserDetectorConstruction.hh" @@ -67,3 +67,12 @@ G4int G4VUserDetectorConstruction::ConstructParallelGeometries() return nP; } +G4int G4VUserDetectorConstruction::GetNumberOfParallelWorld() const +{ return parallelWorld.size(); } + +G4VUserParallelWorld* G4VUserDetectorConstruction::GetParallelWorld(G4int i) const +{ + if(i<0||i>=GetNumberOfParallelWorld()) return 0; + return parallelWorld[i]; +} + diff --git a/source/run/src/G4VUserParallelWorld.cc b/source/run/src/G4VUserParallelWorld.cc index 152d0cb98d..381619fadf 100644 --- a/source/run/src/G4VUserParallelWorld.cc +++ b/source/run/src/G4VUserParallelWorld.cc @@ -25,7 +25,7 @@ // // // $Id: G4VUserParallelWorld.cc,v 1.2 2006/12/13 15:49:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4VUserParallelWorld.hh" diff --git a/source/run/src/G4VUserPhysicsList.cc b/source/run/src/G4VUserPhysicsList.cc index 296de7b753..83a8250dab 100644 --- a/source/run/src/G4VUserPhysicsList.cc +++ b/source/run/src/G4VUserPhysicsList.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VUserPhysicsList.cc,v 1.56 2007/01/18 02:16:31 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4VUserPhysicsList.cc,v 1.61 2007/05/30 10:16:28 ahoward Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -100,6 +100,7 @@ G4VUserPhysicsList::~G4VUserPhysicsList() delete theMessenger; theMessenger = 0; } + RemoveProcessManager(); } //////////////////////////////////////////////////////// @@ -221,25 +222,24 @@ void G4VUserPhysicsList::RemoveProcessManager() //////////////////////////////////////////////////////// #include "G4Transportation.hh" #include "G4CoupledTransportation.hh" +#include "G4RunManagerKernel.hh" void G4VUserPhysicsList::AddTransportation() { - G4VProcess* theTransportationProcess; + G4int verboseLevelTransport = 0; + G4VProcess* theTransportationProcess = 0; + G4int nParaWorld = G4RunManagerKernel::GetRunManagerKernel()->GetNumberOfParallelWorld(); - if(!useCoupledTransportation) - { theTransportationProcess= new G4Transportation(); } + if(nParaWorld || useCoupledTransportation) + { + theTransportationProcess = new G4CoupledTransportation(verboseLevelTransport); + G4cout << "#############################################################################" << G4endl + << " G4VUserPhysicsList::AddTransportation() --- G4CoupledTransportation is used " << G4endl + << "#############################################################################" << G4endl; + } else - { - G4int verboseLevelTransport = 0; - theTransportationProcess= new G4CoupledTransportation(verboseLevelTransport); - G4cout << G4endl; - G4cout << " ********************************************************************* " << G4endl; - G4cout << " ** Now using G4CoupledTransportation in place of G4Transportation ** " << G4endl; - G4cout << " ********************************************************************* " - << G4endl; - G4cout << G4endl; - } - + { theTransportationProcess = new G4Transportation(verboseLevelTransport); } + #ifdef G4VERBOSE if (verboseLevel >2){ G4cout << "G4VUserPhysicsList::AddTransportation() "<< G4endl; diff --git a/source/run/src/G4VUserPrimaryGeneratorAction.cc b/source/run/src/G4VUserPrimaryGeneratorAction.cc index 89e298e20e..ea0127b222 100644 --- a/source/run/src/G4VUserPrimaryGeneratorAction.cc +++ b/source/run/src/G4VUserPrimaryGeneratorAction.cc @@ -25,7 +25,7 @@ // // // $Id: G4VUserPrimaryGeneratorAction.cc,v 1.5 2006/06/29 21:14:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4VUserPrimaryGeneratorAction.hh" diff --git a/source/track/History b/source/track/History index 624ecf4698..2b53b7d5e4 100644 --- a/source/track/History +++ b/source/track/History @@ -1,4 +1,4 @@ -$Id: History,v 1.93 2006/11/03 17:48:31 japost Exp $ +$Id: History,v 1.96 2007/03/30 01:04:36 kurasige Exp $ ------------------------------------------------------------------- ========================================================= @@ -16,6 +16,16 @@ committal in the CVS repository ! ---------------------------------------------------------- * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +Mar 30, 07 Hisaya Kurashige (track-V08-02-02) +- Fix weight treatment in G4ParticleChange + +Mar 26, 07 Hisaya Kurashige (track-V08-02-01) +- Added Non-Ionizing Energy Deposit in G4Step and G4VParticleChange + +Mar 11, 07 Hisaya Kurashige (track-V08-02-00) +- Added magnetic moment in G4DynamicParticle (co-work with particles-V08-02-00) +- Fixed treatment of parent's weight in G4ParticleChange + Nov 3, 06 J.Apostolakis (track-V08-01-04) - New methods first/lastStepInVolume flag in G4Step, G4VParticleChange by Hisaya - Revised UpdateStepForPostStep by John Apostolakis diff --git a/source/track/include/G4FieldTrackUpdator.hh b/source/track/include/G4FieldTrackUpdator.hh index dbf952e274..822b6f9383 100644 --- a/source/track/include/G4FieldTrackUpdator.hh +++ b/source/track/include/G4FieldTrackUpdator.hh @@ -25,7 +25,7 @@ // // // $Id: G4FieldTrackUpdator.hh,v 1.2 2006/12/13 15:49:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // M. Asai - first implementation Apr/28/2006 // diff --git a/source/track/include/G4ForceCondition.hh b/source/track/include/G4ForceCondition.hh index f83bdf0426..7505ac4cb6 100644 --- a/source/track/include/G4ForceCondition.hh +++ b/source/track/include/G4ForceCondition.hh @@ -25,7 +25,7 @@ // // // $Id: G4ForceCondition.hh,v 1.5 2006/06/29 21:14:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/track/include/G4GPILSelection.hh b/source/track/include/G4GPILSelection.hh index 1758d99e08..493879767b 100644 --- a/source/track/include/G4GPILSelection.hh +++ b/source/track/include/G4GPILSelection.hh @@ -25,7 +25,7 @@ // // // $Id: G4GPILSelection.hh,v 1.4 2006/06/29 21:14:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/track/include/G4ParticleChange.hh b/source/track/include/G4ParticleChange.hh index cd55a9f9eb..957d1d51fa 100644 --- a/source/track/include/G4ParticleChange.hh +++ b/source/track/include/G4ParticleChange.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChange.hh,v 1.12 2006/06/29 21:14:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ParticleChange.hh,v 1.13 2007/03/11 07:19:06 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -57,8 +57,11 @@ // 8 June 1998 H.Kurashige // Add Track weight 12 Nov. 1998 H.Kurashige // Add Get/SetMomentumDirectionChange 6 Feb. 1999 H.Kurashige -// Add get/SetDynamicMass 5 Oct. 1999 H.Kurashige -// Add get/SetDynamicCharge 5 Oct. 1999 H.Kurashige +// Add Get/SetDynamicMass 5 Oct. 1999 H.Kurashige +// Add Get/SetDynamicCharge 5 Oct. 1999 H.Kurashige +// Rename SetXXX methods to ProposeXXX DynamicCharge Oct. 2005 H.Kurashige +// Add get/ProposeMagneticMoment Mar 2007 H.Kurashige +// Fix treatment of weight Mar 2007 H.Kurashige // ------------------------------------------------------------- #ifndef G4ParticleChange_h @@ -161,11 +164,15 @@ class G4ParticleChange: public G4VParticleChange G4double GetCharge() const; void ProposeCharge(G4double finalCharge); - // Get/Propose the final dynamical Charge in G4DynamicParticl + // Get/Propose the final dynamical Charge in G4DynamicParticle + + G4double GetMagneticMoment() const; + void ProposeMagneticMoment(G4double finalMagneticMoment); + // Get/Propose the final MagneticMoment in G4DynamicParticle G4double GetWeight() const; void ProposeWeight(G4double finalWeight); - // Get/Propose the final Weight of the current particle + // Get/Propose the final Weight of the parent particle // -- Utility functions -- G4ThreeVector GetGlobalPosition(const G4ThreeVector& displacement) const; @@ -230,7 +237,8 @@ class G4ParticleChange: public G4VParticleChange G4double theProperTimeChange; // The changed (final) proper time of a given track - G4double theWeightChange; + // Obsolete Mar 2007 + // G4double theWeightChange; // The Changed (final) weight of a given track G4double theMassChange; @@ -238,6 +246,9 @@ class G4ParticleChange: public G4VParticleChange G4double theChargeChange; // The Changed (final) charge of a given track + + G4double theMagneticMomentChange; + // The Changed (final) MagneticMoment of a given track const G4Track* theCurrentTrack; diff --git a/source/track/include/G4ParticleChange.icc b/source/track/include/G4ParticleChange.icc index db6c43e35c..2bbf13bef0 100644 --- a/source/track/include/G4ParticleChange.icc +++ b/source/track/include/G4ParticleChange.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChange.icc,v 1.13 2006/06/29 21:14:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ParticleChange.icc,v 1.14 2007/03/11 07:19:06 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // inline @@ -175,17 +175,29 @@ inline theChargeChange = t; } + +inline + G4double G4ParticleChange::GetMagneticMoment() const +{ + return theMagneticMomentChange; +} + +inline + void G4ParticleChange::ProposeMagneticMoment(G4double finalMagneticMoment) +{ + theMagneticMomentChange = finalMagneticMoment; +} + inline G4double G4ParticleChange::GetWeight() const { - return theWeightChange; + return G4VParticleChange::GetParentWeight(); } inline void G4ParticleChange::ProposeWeight(G4double w) { - theWeightChange = w; - theParentWeight = w; + G4VParticleChange::ProposeParentWeight(w); } inline diff --git a/source/track/include/G4ParticleChangeForDecay.hh b/source/track/include/G4ParticleChangeForDecay.hh index 840b5fa80a..a7482460e1 100644 --- a/source/track/include/G4ParticleChangeForDecay.hh +++ b/source/track/include/G4ParticleChangeForDecay.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleChangeForDecay.hh,v 1.9 2006/06/29 21:14:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/track/include/G4ParticleChangeForGamma.hh b/source/track/include/G4ParticleChangeForGamma.hh index fc95045cfc..ffdd989835 100644 --- a/source/track/include/G4ParticleChangeForGamma.hh +++ b/source/track/include/G4ParticleChangeForGamma.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleChangeForGamma.hh,v 1.8 2006/08/28 16:10:06 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/track/include/G4ParticleChangeForLoss.hh b/source/track/include/G4ParticleChangeForLoss.hh index 5ef0cbe90a..b41bc54d08 100644 --- a/source/track/include/G4ParticleChangeForLoss.hh +++ b/source/track/include/G4ParticleChangeForLoss.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleChangeForLoss.hh,v 1.19 2006/08/28 16:10:06 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/track/include/G4ParticleChangeForMSC.icc b/source/track/include/G4ParticleChangeForMSC.icc index d73c5d09db..53efc39381 100644 --- a/source/track/include/G4ParticleChangeForMSC.icc +++ b/source/track/include/G4ParticleChangeForMSC.icc @@ -25,7 +25,7 @@ // // // $Id: G4ParticleChangeForMSC.icc,v 1.7 2006/06/29 21:14:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/track/include/G4ParticleChangeForRadDecay.hh b/source/track/include/G4ParticleChangeForRadDecay.hh index 0bd39ba135..0156404637 100644 --- a/source/track/include/G4ParticleChangeForRadDecay.hh +++ b/source/track/include/G4ParticleChangeForRadDecay.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleChangeForRadDecay.hh,v 1.7 2006/06/29 21:14:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/track/include/G4ParticleChangeForTransport.hh b/source/track/include/G4ParticleChangeForTransport.hh index 7ab160a8ad..f6a46ddfbf 100644 --- a/source/track/include/G4ParticleChangeForTransport.hh +++ b/source/track/include/G4ParticleChangeForTransport.hh @@ -25,7 +25,7 @@ // // // $Id: G4ParticleChangeForTransport.hh,v 1.16 2006/06/29 21:14:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/track/include/G4ParticleChangeForTransport.icc b/source/track/include/G4ParticleChangeForTransport.icc index 48e9cd4dae..37b59c3ce2 100644 --- a/source/track/include/G4ParticleChangeForTransport.icc +++ b/source/track/include/G4ParticleChangeForTransport.icc @@ -25,7 +25,7 @@ // // // $Id: G4ParticleChangeForTransport.icc,v 1.13 2006/06/29 21:14:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // inline diff --git a/source/track/include/G4Step.hh b/source/track/include/G4Step.hh index 80aa6622c1..57a8aac659 100644 --- a/source/track/include/G4Step.hh +++ b/source/track/include/G4Step.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Step.hh,v 1.16 2006/10/30 09:50:13 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Step.hh,v 1.17 2007/03/25 22:54:52 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- @@ -52,8 +52,9 @@ // 12 May. 1998 H.Kurashige // --------------------------------------------------------------- // Separate implementation of inline functions inti G4Step.icc -// Add updating mass/charge -// 6 Oct. 1999 H.Kurashige +// Add updating mass/charge 6 Oct. 1999 H.Kurashige +// add nonIonizingEnergyLoss 26 Mar. 2007 H.Kurashige +// // Repository test - Dennis Wright // #ifndef G4Step_h @@ -122,6 +123,10 @@ class G4Step void AddTotalEnergyDeposit(G4double value); void ResetTotalEnergyDeposit(); + // manipulation of non-ionizng energy deposit + void AddNonIonizingEnergyDeposit(G4double value); + void ResetNonIonizingEnergyDeposit(); + // Get/Set/Clear flag for initial/last step G4bool IsFirstStepInVolume() const; @@ -153,6 +158,9 @@ class G4Step G4double fTotalEnergyDeposit; // Accummulated total energy desposit in the current Step + G4double fNonIonizingEnergyDeposit; + // Accummulated non-ionizing energy desposit in the current Step + //--------- private: //--------- diff --git a/source/track/include/G4Step.icc b/source/track/include/G4Step.icc index 23a0978353..51d581dd3c 100644 --- a/source/track/include/G4Step.icc +++ b/source/track/include/G4Step.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4Step.icc,v 1.15 2006/10/30 09:50:13 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4Step.icc,v 1.16 2007/03/25 22:54:52 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- @@ -123,6 +123,18 @@ inline fTotalEnergyDeposit = 0.; } +inline + void G4Step::AddNonIonizingEnergyDeposit(G4double value) + { + fNonIonizingEnergyDeposit += value; + } + +inline + void G4Step::ResetNonIonizingEnergyDeposit() + { + fNonIonizingEnergyDeposit = 0.; + } + inline void G4Step::SetControlFlag(G4SteppingControl value) { @@ -170,6 +182,7 @@ inline // Initialize G4Step attributes fStepLength = 0.; fTotalEnergyDeposit = 0.; + fNonIonizingEnergyDeposit = 0.; fpTrack = aValue; fpTrack->SetStepLength(0.); diff --git a/source/track/include/G4StepPoint.hh b/source/track/include/G4StepPoint.hh index 8bd023c3b6..29282978b9 100644 --- a/source/track/include/G4StepPoint.hh +++ b/source/track/include/G4StepPoint.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4StepPoint.hh,v 1.17 2006/10/31 10:01:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4StepPoint.hh,v 1.18 2007/03/11 07:19:06 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- @@ -39,12 +39,12 @@ // // Contact: // Questions and comments to this code should be sent to -// Katsuya Amako (e-mail: Katsuya.Amako@kek.jp) -// Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp) +// Hisaya Kurashige // // --------------------------------------------------------------- // Added fpMaterial 16 FEb. 2000 H.Kurahige // Added fpMaterialCutsCouple 8 Oct. 2002 H.Kurahige +// Added fMagneticMoment Mar 2007 H.Kurashige #ifndef G4StepPoint_h #define G4StepPoint_h 1 @@ -165,6 +165,9 @@ class G4StepPoint inline G4double GetCharge() const; inline void SetCharge(G4double value); + inline G4double GetMagneticMoment() const; + inline void SetMagneticMoment(G4double value); + inline void SetWeight(G4double aValue); inline G4double GetWeight() const; @@ -208,6 +211,8 @@ class G4StepPoint // Dynamical mass of the particle G4double fCharge; // Dynamical Charge of the particle + G4double fMagneticMoment; + // Dynamical MagneticMoment of the particle G4double fWeight; // Track Weight }; diff --git a/source/track/include/G4StepPoint.icc b/source/track/include/G4StepPoint.icc index dab1276493..5ea195c2db 100644 --- a/source/track/include/G4StepPoint.icc +++ b/source/track/include/G4StepPoint.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4StepPoint.icc,v 1.12 2006/10/31 10:01:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4StepPoint.icc,v 1.13 2007/03/11 07:19:06 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // @@ -185,6 +185,15 @@ inline void G4StepPoint::SetCharge(G4double value) { fCharge = value; } + inline G4double G4StepPoint::GetMagneticMoment() const + { + return fMagneticMoment; + } + inline void G4StepPoint::SetMagneticMoment(G4double value) + { + fMagneticMoment = value; + } + inline G4Material* G4StepPoint::GetMaterial() const { return fpMaterial; } inline void G4StepPoint::SetMaterial(G4Material* material) diff --git a/source/track/include/G4StepStatus.hh b/source/track/include/G4StepStatus.hh index 95a7e46e5b..10711b7ed3 100644 --- a/source/track/include/G4StepStatus.hh +++ b/source/track/include/G4StepStatus.hh @@ -25,7 +25,7 @@ // // // $Id: G4StepStatus.hh,v 1.4 2006/06/29 21:14:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/track/include/G4SteppingControl.hh b/source/track/include/G4SteppingControl.hh index 6fded56758..36b216a2c3 100644 --- a/source/track/include/G4SteppingControl.hh +++ b/source/track/include/G4SteppingControl.hh @@ -25,7 +25,7 @@ // // // $Id: G4SteppingControl.hh,v 1.4 2006/06/29 21:14:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/track/include/G4Track.hh b/source/track/include/G4Track.hh index 364f25c205..4f06aa4033 100644 --- a/source/track/include/G4Track.hh +++ b/source/track/include/G4Track.hh @@ -25,7 +25,7 @@ // // // $Id: G4Track.hh,v 1.18 2006/06/29 21:14:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/track/include/G4Track.icc b/source/track/include/G4Track.icc index d8baa8b321..537c008820 100644 --- a/source/track/include/G4Track.icc +++ b/source/track/include/G4Track.icc @@ -25,7 +25,7 @@ // // // $Id: G4Track.icc,v 1.14 2006/06/29 21:14:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //----------------------------------------------------------------- // Definitions of inline functions diff --git a/source/track/include/G4TrackFastVector.hh b/source/track/include/G4TrackFastVector.hh index 4bead6fad2..aaa44ac968 100644 --- a/source/track/include/G4TrackFastVector.hh +++ b/source/track/include/G4TrackFastVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4TrackFastVector.hh,v 1.5 2006/06/29 21:14:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ diff --git a/source/track/include/G4TrackStatus.hh b/source/track/include/G4TrackStatus.hh index c9dfc79aee..6e2c2ae786 100644 --- a/source/track/include/G4TrackStatus.hh +++ b/source/track/include/G4TrackStatus.hh @@ -25,7 +25,7 @@ // // // $Id: G4TrackStatus.hh,v 1.4 2006/06/29 21:14:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/track/include/G4TrackVector.hh b/source/track/include/G4TrackVector.hh index 8104d30661..2323f1523d 100644 --- a/source/track/include/G4TrackVector.hh +++ b/source/track/include/G4TrackVector.hh @@ -25,7 +25,7 @@ // // // $Id: G4TrackVector.hh,v 1.2 2006/07/17 13:48:28 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/track/include/G4VParticleChange.hh b/source/track/include/G4VParticleChange.hh index 67c2e93c0f..726a8bda02 100644 --- a/source/track/include/G4VParticleChange.hh +++ b/source/track/include/G4VParticleChange.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VParticleChange.hh,v 1.15 2006/10/30 09:50:13 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VParticleChange.hh,v 1.16 2007/03/25 22:54:52 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // ------------------------------------------------------------ @@ -72,6 +72,7 @@ // add new methods of ProposeXXX 08 May, 04 H.Kurashige // remove obsolete methods of SetXXX 19 Sep, 04 H.Kurashige // add flag for first/last step in volume 30 Oct. 2006 H.Kurashige +// add nonIonizingEnergyLoss 26 Mar 2007 H.Kurashige // #ifndef G4VParticleChange_h @@ -149,6 +150,11 @@ class G4VParticleChange G4double GetLocalEnergyDeposit() const; void ProposeLocalEnergyDeposit(G4double anEnergyPart); // Get/Propose the locally deposited energy + + //---- the following methods are for nonIonizingEnergyDeposit ---- + G4double GetNonIonizingEnergyDeposit() const; + void ProposeNonIonizingEnergyDeposit(G4double anEnergyPart); + // Get/Propose the non-ionizing deposited energy //---- the following methods are for TrackStatus ----- G4TrackStatus GetTrackStatus() const; @@ -242,7 +248,12 @@ class G4VParticleChange // coming from the continuous processes gives the // total energy loss localized in the current Step. - G4double theTrueStepLength; + G4double theNonIonizingEnergyDeposit; + // non-ionizing energu deposit is defined as + // a part of local energy deposit, which does not cause + // ionization of atoms + + G4double theTrueStepLength; // The value of "True" Step Length diff --git a/source/track/include/G4VParticleChange.icc b/source/track/include/G4VParticleChange.icc index 08596e364a..31aef7e4f4 100644 --- a/source/track/include/G4VParticleChange.icc +++ b/source/track/include/G4VParticleChange.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VParticleChange.icc,v 1.15 2006/11/03 17:46:08 japost Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VParticleChange.icc,v 1.16 2007/03/25 22:54:52 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // remove obsolete methods of SetXXX 19 Sep, 04 H.Kurashige //---------------------------------------------------------------- @@ -37,6 +37,7 @@ inline G4Step* G4VParticleChange::UpdateStepInfo(G4Step* pStep) // Update the G4Step specific attributes pStep->SetStepLength( theTrueStepLength ); pStep->AddTotalEnergyDeposit( theLocalEnergyDeposit ); + pStep->AddNonIonizingEnergyDeposit( theNonIonizingEnergyDeposit ); pStep->SetControlFlag( theSteppingControlFlag ); if (theFirstStepInVolume) {pStep->SetFirstStepFlag();} @@ -154,6 +155,18 @@ inline theLocalEnergyDeposit = anEnergyPart; } +inline + G4double G4VParticleChange::GetNonIonizingEnergyDeposit() const +{ + return theNonIonizingEnergyDeposit; +} + +inline + void G4VParticleChange::ProposeNonIonizingEnergyDeposit(G4double anEnergyPart) +{ + theNonIonizingEnergyDeposit = anEnergyPart; +} + inline G4double G4VParticleChange::GetTrueStepLength() const { @@ -194,6 +207,7 @@ inline { // clear theLocalEnergyDeposited theLocalEnergyDeposit = 0.0; + theNonIonizingEnergyDeposit = 0.0; } inline diff --git a/source/track/include/G4VUserTrackInformation.hh b/source/track/include/G4VUserTrackInformation.hh index 928e511114..e3cfa60202 100644 --- a/source/track/include/G4VUserTrackInformation.hh +++ b/source/track/include/G4VUserTrackInformation.hh @@ -25,7 +25,7 @@ // // // $Id: G4VUserTrackInformation.hh,v 1.6 2006/06/29 21:14:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/track/src/G4FieldTrackUpdator.cc b/source/track/src/G4FieldTrackUpdator.cc index 89484d9332..f961d01c9f 100644 --- a/source/track/src/G4FieldTrackUpdator.cc +++ b/source/track/src/G4FieldTrackUpdator.cc @@ -25,7 +25,7 @@ // // // $Id: G4FieldTrackUpdator.cc,v 1.2 2006/12/13 15:49:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // M. Asai - first implementation Apr/28/2006 // diff --git a/source/track/src/G4ParticleChange.cc b/source/track/src/G4ParticleChange.cc index 350de41681..9f5240b68c 100644 --- a/source/track/src/G4ParticleChange.cc +++ b/source/track/src/G4ParticleChange.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ParticleChange.cc,v 1.28 2006/06/29 21:15:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ParticleChange.cc,v 1.30 2007/03/30 01:03:53 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- @@ -39,6 +39,8 @@ // Add Track weight 12 Nov. 1998 H.Kurashige // Activate CheckIt method for VERBOSE mode 14 Dec. 1998 H.Kurashige // Modified CheckIt method for time 9 Feb. 1999 H.Kurashige +// Rename SetXXX methods to ProposeXXX DynamicCharge Oct. 2005 H.Kurashige +// Add get/ProposeMagneticMoment Mar 2007 H.Kurashige // -------------------------------------------------------------- #include "G4ParticleChange.hh" @@ -51,6 +53,9 @@ G4ParticleChange::G4ParticleChange():G4VParticleChange() { + G4VParticleChange::SetSecondaryWeightByProcess(false); + G4VParticleChange::SetParentWeightByProcess(false); + } G4ParticleChange::~G4ParticleChange() @@ -75,7 +80,8 @@ G4ParticleChange::G4ParticleChange(const G4ParticleChange &right): G4VParticleCh theEnergyChange = right.theEnergyChange; theMassChange = right.theMassChange; theChargeChange = right.theChargeChange; - theWeightChange = right.theWeightChange; + theMagneticMomentChange = right.theMagneticMomentChange; + // theWeightChange = right.theWeightChange; theProperTimeChange = right.theProperTimeChange; } @@ -99,7 +105,8 @@ G4ParticleChange & G4ParticleChange::operator=(const G4ParticleChange &right) theEnergyChange = right.theEnergyChange; theMassChange = right.theMassChange; theChargeChange = right.theChargeChange; - theWeightChange = right.theWeightChange; + theMagneticMomentChange = right.theMagneticMomentChange; + // theWeightChange = right.theWeightChange; theTrueStepLength = right.theTrueStepLength; theLocalEnergyDeposit = right.theLocalEnergyDeposit; @@ -196,15 +203,16 @@ void G4ParticleChange::Initialize(const G4Track& track) thePolarizationChange = pParticle->GetPolarization(); theProperTimeChange = pParticle->GetProperTime(); - // Set mass/charge of DynamicParticle + // Set mass/charge/MagneticMoment of DynamicParticle theMassChange = pParticle->GetMass(); theChargeChange = pParticle->GetCharge(); + theMagneticMomentChange = pParticle->GetMagneticMoment(); // set Position/Time etc. equal to those of the parent track thePositionChange = track.GetPosition(); theTimeChange = track.GetGlobalTime(); - theWeightChange = track.GetWeight(); + // theWeightChange = track.GetWeight(); } //---------------------------------------------------------------- @@ -228,9 +236,10 @@ G4Step* G4ParticleChange::UpdateStepForAlongStep(G4Step* pStep) G4StepPoint* pPostStepPoint = pStep->GetPostStepPoint(); G4double mass = theMassChange; - // Set Mass/Charge + // Set Mass/Charge/MagneticMoment pPostStepPoint->SetMass(theMassChange); pPostStepPoint->SetCharge(theChargeChange); + pPostStepPoint->SetMagneticMoment(theMagneticMomentChange); // calculate new kinetic energy G4double energy = pPostStepPoint->GetKineticEnergy() @@ -271,8 +280,11 @@ G4Step* G4ParticleChange::UpdateStepForAlongStep(G4Step* pStep) - pPreStepPoint->GetProperTime()); // update weight - G4double newWeight= theWeightChange/(pPreStepPoint->GetWeight())*(pPostStepPoint->GetWeight()); - pPostStepPoint->SetWeight( newWeight ); + if (!fSetParentWeightByProcess){ + G4double newWeight= theParentWeight/(pPreStepPoint->GetWeight()) + * (pPostStepPoint->GetWeight()); + pPostStepPoint->SetWeight( newWeight ); + } #ifdef G4VERBOSE G4Track* aTrack = pStep->GetTrack(); @@ -297,6 +309,7 @@ G4Step* G4ParticleChange::UpdateStepForPostStep(G4Step* pStep) // Set Mass/Charge pPostStepPoint->SetMass(theMassChange); pPostStepPoint->SetCharge(theChargeChange); + pPostStepPoint->SetMagneticMoment(theMagneticMomentChange); // update kinetic energy and momentum direction pPostStepPoint->SetMomentumDirection(theMomentumDirectionChange); @@ -313,7 +326,10 @@ G4Step* G4ParticleChange::UpdateStepForPostStep(G4Step* pStep) pPostStepPoint->SetProperTime( theProperTimeChange ); // update weight - pPostStepPoint->SetWeight( theWeightChange ); + if (!fSetParentWeightByProcess){ + pPostStepPoint->SetWeight( theParentWeight ); + } + #ifdef G4VERBOSE if (debugFlag) CheckIt(*aTrack); @@ -334,6 +350,7 @@ G4Step* G4ParticleChange::UpdateStepForAtRest(G4Step* pStep) // Set Mass/Charge pPostStepPoint->SetMass(theMassChange); pPostStepPoint->SetCharge(theChargeChange); + pPostStepPoint->SetMagneticMoment(theMagneticMomentChange); // update kinetic energy and momentum direction pPostStepPoint->SetMomentumDirection(theMomentumDirectionChange); @@ -350,7 +367,9 @@ G4Step* G4ParticleChange::UpdateStepForAtRest(G4Step* pStep) pPostStepPoint->SetProperTime( theProperTimeChange ); // update weight - pPostStepPoint->SetWeight( theWeightChange ); + if (!fSetParentWeightByProcess){ + pPostStepPoint->SetWeight( theParentWeight ); + } #ifdef G4VERBOSE if (debugFlag) CheckIt(*aTrack); @@ -377,6 +396,12 @@ void G4ParticleChange::DumpInfo() const G4cout << " Charge (eplus) : " << std::setw(20) << theChargeChange/eplus << G4endl; + G4cout << " MagneticMoment : " + << std::setw(20) << theMagneticMomentChange << G4endl; + G4cout << " : = " << std::setw(20) + << theMagneticMomentChange*2.*theMassChange/c_squared/eplus/hbar_Planck + << "*[e hbar]/[2 m]" + << G4endl; G4cout << " Position - x (mm) : " << std::setw(20) << thePositionChange.x()/mm << G4endl; @@ -413,9 +438,6 @@ void G4ParticleChange::DumpInfo() const G4cout << " Polarization - z : " << std::setw(20) << thePolarizationChange.z() << G4endl; - G4cout << " Track Weight : " - << std::setw(20) << theWeightChange - << G4endl; } G4bool G4ParticleChange::CheckIt(const G4Track& aTrack) diff --git a/source/track/src/G4ParticleChangeForDecay.cc b/source/track/src/G4ParticleChangeForDecay.cc index bea83f2d27..e9933a1aad 100644 --- a/source/track/src/G4ParticleChangeForDecay.cc +++ b/source/track/src/G4ParticleChangeForDecay.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParticleChangeForDecay.cc,v 1.11 2006/06/29 21:15:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/track/src/G4ParticleChangeForGamma.cc b/source/track/src/G4ParticleChangeForGamma.cc index de76b919d4..debcdf241f 100644 --- a/source/track/src/G4ParticleChangeForGamma.cc +++ b/source/track/src/G4ParticleChangeForGamma.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParticleChangeForGamma.cc,v 1.3 2006/08/28 16:10:29 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/track/src/G4ParticleChangeForLoss.cc b/source/track/src/G4ParticleChangeForLoss.cc index dfb0609b85..39a798d21a 100644 --- a/source/track/src/G4ParticleChangeForLoss.cc +++ b/source/track/src/G4ParticleChangeForLoss.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParticleChangeForLoss.cc,v 1.16 2006/08/28 16:10:29 vnivanch Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/track/src/G4ParticleChangeForMSC.cc b/source/track/src/G4ParticleChangeForMSC.cc index 8996df8f71..e8f569e5aa 100644 --- a/source/track/src/G4ParticleChangeForMSC.cc +++ b/source/track/src/G4ParticleChangeForMSC.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParticleChangeForMSC.cc,v 1.13 2006/06/29 21:15:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/track/src/G4ParticleChangeForTransport.cc b/source/track/src/G4ParticleChangeForTransport.cc index 90781c9d48..b258813f75 100644 --- a/source/track/src/G4ParticleChangeForTransport.cc +++ b/source/track/src/G4ParticleChangeForTransport.cc @@ -25,7 +25,7 @@ // // // $Id: G4ParticleChangeForTransport.cc,v 1.19 2006/11/03 17:45:04 japost Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/track/src/G4Step.cc b/source/track/src/G4Step.cc index 164fef6bed..b2d4759220 100644 --- a/source/track/src/G4Step.cc +++ b/source/track/src/G4Step.cc @@ -25,7 +25,7 @@ // // // $Id: G4Step.cc,v 1.7 2006/10/30 09:50:13 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/track/src/G4StepPoint.cc b/source/track/src/G4StepPoint.cc index 1e65dc2033..f59bd84831 100644 --- a/source/track/src/G4StepPoint.cc +++ b/source/track/src/G4StepPoint.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4StepPoint.cc,v 1.12 2006/10/31 10:01:43 gcosmo Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4StepPoint.cc,v 1.13 2007/03/11 07:19:06 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- @@ -39,8 +39,7 @@ // // Contact: // Questions and comments to this code should be sent to -// Katsuya Amako (e-mail: Katsuya.Amako@kek.jp) -// Takashi Sasaki (e-mail: Takashi.Sasaki@kek.jp) +// Hisaya Kurashige // // --------------------------------------------------------------- @@ -74,5 +73,6 @@ G4StepPoint::G4StepPoint(const G4StepPoint &right): fpProcessDefinedStep(right.fpProcessDefinedStep), fMass(right.fMass), fCharge(right.fCharge), + fMagneticMoment(right.fMagneticMoment), fWeight(right.fWeight) {} diff --git a/source/track/src/G4Track.cc b/source/track/src/G4Track.cc index 81d21dac86..d454265675 100644 --- a/source/track/src/G4Track.cc +++ b/source/track/src/G4Track.cc @@ -25,7 +25,7 @@ // // // $Id: G4Track.cc,v 1.29 2006/06/29 21:15:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/track/src/G4VParticleChange.cc b/source/track/src/G4VParticleChange.cc index 108dba8171..d3c8e20070 100644 --- a/source/track/src/G4VParticleChange.cc +++ b/source/track/src/G4VParticleChange.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VParticleChange.cc,v 1.19 2006/10/30 09:50:13 kurasige Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VParticleChange.cc,v 1.20 2007/03/25 22:54:52 kurasige Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- @@ -51,6 +51,7 @@ G4VParticleChange::G4VParticleChange(): theStatusChange(fAlive), theSteppingControlFlag(NormalCondition), theLocalEnergyDeposit(0.0), + theNonIonizingEnergyDeposit(0.0), theFirstStepInVolume(false), theLastStepInVolume(false), verboseLevel(1), @@ -89,6 +90,7 @@ G4VParticleChange::G4VParticleChange(const G4VParticleChange &right): theStatusChange(fAlive), theSteppingControlFlag(NormalCondition), theLocalEnergyDeposit(0.0), + theNonIonizingEnergyDeposit(0.0), theFirstStepInVolume(false), theLastStepInVolume(false), verboseLevel(1), @@ -107,6 +109,7 @@ G4VParticleChange::G4VParticleChange(const G4VParticleChange &right): theStatusChange = right.theStatusChange; theTrueStepLength = right.theTrueStepLength; theLocalEnergyDeposit = right.theLocalEnergyDeposit; + theNonIonizingEnergyDeposit = right.theNonIonizingEnergyDeposit; theSteppingControlFlag = right.theSteppingControlFlag; fSetParentWeightByProcess = right.fSetParentWeightByProcess; @@ -130,6 +133,7 @@ G4VParticleChange & G4VParticleChange::operator=(const G4VParticleChange &right) theStatusChange = right.theStatusChange; theTrueStepLength = right.theTrueStepLength; theLocalEnergyDeposit = right.theLocalEnergyDeposit; + theNonIonizingEnergyDeposit = right.theNonIonizingEnergyDeposit; theSteppingControlFlag = right.theSteppingControlFlag; fSetParentWeightByProcess = right.fSetParentWeightByProcess; @@ -183,6 +187,10 @@ void G4VParticleChange::DumpInfo() const << std::setw(20) << theLocalEnergyDeposit/MeV << G4endl; + G4cout << " Non-ionizing Energy Deposit (MeV): " + << std::setw(20) << theNonIonizingEnergyDeposit/MeV + << G4endl; + G4cout << " Track Status : " << std::setw(20); if( theStatusChange == fAlive ){ diff --git a/source/track/src/G4VUserTrackInformation.cc b/source/track/src/G4VUserTrackInformation.cc index 3caa2b08fb..28f3ca9648 100644 --- a/source/track/src/G4VUserTrackInformation.cc +++ b/source/track/src/G4VUserTrackInformation.cc @@ -25,7 +25,7 @@ // // // $Id: G4VUserTrackInformation.cc,v 1.2 2006/06/29 21:15:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // -------------------------------------------------------------- diff --git a/source/tracking/History b/source/tracking/History index 4e42c35ebd..f5acd1925a 100644 --- a/source/tracking/History +++ b/source/tracking/History @@ -1,5 +1,5 @@ -$Id: History,v 1.117 2006/11/14 11:12:55 tsasaki Exp $ -$Name: geant4-08-02 $ +$Id: History,v 1.118 2007/05/09 18:08:24 asaim Exp $ +$Name: geant4-09-00 $ ------------------------------------------------------------------- ========================================================= @@ -18,6 +18,9 @@ committal in the CVS repository ! * Reverse chronological order (last date on top), please * ---------------------------------------------------------- +9th May 2007 M.Asai (tracking-V08-03-00) +- Allowing regional user stepping action. + 13 November 2006 T.Sasaki (tracking-V08-01-06) - Removed G4VSteppingVerbose::TrackBanner() and add new methed G4TrackingManager::TrackBanner() for the fix. diff --git a/source/tracking/include/G4RichTrajectory.hh b/source/tracking/include/G4RichTrajectory.hh index 3506f34ca7..100dbbd14e 100644 --- a/source/tracking/include/G4RichTrajectory.hh +++ b/source/tracking/include/G4RichTrajectory.hh @@ -25,7 +25,7 @@ // // // $Id: G4RichTrajectory.hh,v 1.4 2006/06/29 21:15:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4RichTrajectoryPoint.hh b/source/tracking/include/G4RichTrajectoryPoint.hh index ddc8f9afdd..9c344529f8 100644 --- a/source/tracking/include/G4RichTrajectoryPoint.hh +++ b/source/tracking/include/G4RichTrajectoryPoint.hh @@ -25,7 +25,7 @@ // // // $Id: G4RichTrajectoryPoint.hh,v 1.5 2006/09/27 20:42:52 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4SmoothTrajectory.hh b/source/tracking/include/G4SmoothTrajectory.hh index 2891afdd94..765a6d801d 100644 --- a/source/tracking/include/G4SmoothTrajectory.hh +++ b/source/tracking/include/G4SmoothTrajectory.hh @@ -25,7 +25,7 @@ // // // $Id: G4SmoothTrajectory.hh,v 1.11 2006/06/29 21:15:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4SmoothTrajectoryPoint.hh b/source/tracking/include/G4SmoothTrajectoryPoint.hh index 011134bf4e..fd1881e988 100644 --- a/source/tracking/include/G4SmoothTrajectoryPoint.hh +++ b/source/tracking/include/G4SmoothTrajectoryPoint.hh @@ -25,7 +25,7 @@ // // // $Id: G4SmoothTrajectoryPoint.hh,v 1.13 2006/06/29 21:15:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4SteppingManager.hh b/source/tracking/include/G4SteppingManager.hh index b08cac4311..88518ce264 100644 --- a/source/tracking/include/G4SteppingManager.hh +++ b/source/tracking/include/G4SteppingManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4SteppingManager.hh,v 1.29 2006/12/13 15:49:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4SteppingVerbose.hh b/source/tracking/include/G4SteppingVerbose.hh index fa40319d32..72422cc89d 100644 --- a/source/tracking/include/G4SteppingVerbose.hh +++ b/source/tracking/include/G4SteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: G4SteppingVerbose.hh,v 1.12 2006/06/29 21:15:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4TrackingManager.hh b/source/tracking/include/G4TrackingManager.hh index 449bfe6bfc..ec955defae 100644 --- a/source/tracking/include/G4TrackingManager.hh +++ b/source/tracking/include/G4TrackingManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4TrackingManager.hh,v 1.21 2006/11/14 10:58:47 tsasaki Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4TrackingMessenger.hh b/source/tracking/include/G4TrackingMessenger.hh index 130e26cda7..96b8a32e30 100644 --- a/source/tracking/include/G4TrackingMessenger.hh +++ b/source/tracking/include/G4TrackingMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4TrackingMessenger.hh,v 1.10 2006/06/29 21:15:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4Trajectory.hh b/source/tracking/include/G4Trajectory.hh index 89b33b8e34..f57d01246f 100644 --- a/source/tracking/include/G4Trajectory.hh +++ b/source/tracking/include/G4Trajectory.hh @@ -25,7 +25,7 @@ // // // $Id: G4Trajectory.hh,v 1.24 2006/06/29 21:15:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4TrajectoryPoint.hh b/source/tracking/include/G4TrajectoryPoint.hh index 2a83a6ff22..6960eec7c5 100644 --- a/source/tracking/include/G4TrajectoryPoint.hh +++ b/source/tracking/include/G4TrajectoryPoint.hh @@ -25,7 +25,7 @@ // // // $Id: G4TrajectoryPoint.hh,v 1.17 2006/06/29 21:15:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4UserSteppingAction.hh b/source/tracking/include/G4UserSteppingAction.hh index 732854bf12..b15c63608b 100644 --- a/source/tracking/include/G4UserSteppingAction.hh +++ b/source/tracking/include/G4UserSteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4UserSteppingAction.hh,v 1.12 2006/06/29 21:15:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4UserTrackingAction.hh b/source/tracking/include/G4UserTrackingAction.hh index 6b845814b9..3da9281a77 100644 --- a/source/tracking/include/G4UserTrackingAction.hh +++ b/source/tracking/include/G4UserTrackingAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4UserTrackingAction.hh,v 1.11 2006/06/29 21:15:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //--------------------------------------------------------------- diff --git a/source/tracking/include/G4VSteppingVerbose.hh b/source/tracking/include/G4VSteppingVerbose.hh index 7069eff25c..495e2537c1 100644 --- a/source/tracking/include/G4VSteppingVerbose.hh +++ b/source/tracking/include/G4VSteppingVerbose.hh @@ -25,7 +25,7 @@ // // // $Id: G4VSteppingVerbose.hh,v 1.24 2006/11/14 10:58:47 tsasaki Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4VTrajectory.hh b/source/tracking/include/G4VTrajectory.hh index 368c10313a..600411283a 100644 --- a/source/tracking/include/G4VTrajectory.hh +++ b/source/tracking/include/G4VTrajectory.hh @@ -25,7 +25,7 @@ // // // $Id: G4VTrajectory.hh,v 1.17 2006/06/29 21:15:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/include/G4VTrajectoryPoint.hh b/source/tracking/include/G4VTrajectoryPoint.hh index 97b0071417..bde53b98be 100644 --- a/source/tracking/include/G4VTrajectoryPoint.hh +++ b/source/tracking/include/G4VTrajectoryPoint.hh @@ -25,7 +25,7 @@ // // // $Id: G4VTrajectoryPoint.hh,v 1.15 2006/06/29 21:15:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/src/G4RichTrajectory.cc b/source/tracking/src/G4RichTrajectory.cc index 56263c258f..1bf728c23e 100644 --- a/source/tracking/src/G4RichTrajectory.cc +++ b/source/tracking/src/G4RichTrajectory.cc @@ -25,7 +25,7 @@ // // // $Id: G4RichTrajectory.cc,v 1.6 2006/10/16 13:43:43 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // --------------------------------------------------------------- // diff --git a/source/tracking/src/G4RichTrajectoryPoint.cc b/source/tracking/src/G4RichTrajectoryPoint.cc index c583cc5097..45f8ba4b6f 100644 --- a/source/tracking/src/G4RichTrajectoryPoint.cc +++ b/source/tracking/src/G4RichTrajectoryPoint.cc @@ -25,7 +25,7 @@ // // // $Id: G4RichTrajectoryPoint.cc,v 1.3 2006/09/27 20:42:52 asaim Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/tracking/src/G4SmoothTrajectory.cc b/source/tracking/src/G4SmoothTrajectory.cc index 0fb8add005..d550ce291d 100644 --- a/source/tracking/src/G4SmoothTrajectory.cc +++ b/source/tracking/src/G4SmoothTrajectory.cc @@ -25,7 +25,7 @@ // // // $Id: G4SmoothTrajectory.cc,v 1.18 2006/10/16 13:37:17 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/tracking/src/G4SmoothTrajectoryPoint.cc b/source/tracking/src/G4SmoothTrajectoryPoint.cc index 63460746af..2663d950fe 100644 --- a/source/tracking/src/G4SmoothTrajectoryPoint.cc +++ b/source/tracking/src/G4SmoothTrajectoryPoint.cc @@ -25,7 +25,7 @@ // // // $Id: G4SmoothTrajectoryPoint.cc,v 1.15 2006/06/29 21:16:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // --------------------------------------------------------------- diff --git a/source/tracking/src/G4SteppingManager.cc b/source/tracking/src/G4SteppingManager.cc index da2419e118..a788112ed6 100644 --- a/source/tracking/src/G4SteppingManager.cc +++ b/source/tracking/src/G4SteppingManager.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4SteppingManager.cc,v 1.44 2006/12/13 15:49:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4SteppingManager.cc,v 1.45 2007/04/28 01:49:19 asaim Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // @@ -220,6 +220,7 @@ G4StepStatus G4SteppingManager::Stepping() // Update 'TrackLength' and remeber the Step length of the current Step fTrack->AddTrackLength(fStep->GetStepLength()); fPreviousStepSize = fStep->GetStepLength(); + fStep->SetTrack(fTrack); #ifdef G4VERBOSE // !!!!! Verbose @@ -237,10 +238,13 @@ G4StepStatus G4SteppingManager::Stepping() } // User intervention process. - fStep->SetTrack(fTrack); if( fUserSteppingAction != NULL ) { fUserSteppingAction->UserSteppingAction(fStep); } + G4UserSteppingAction* regionalAction + = fStep->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume()->GetRegion() + ->GetRegionalSteppingAction(); + if( regionalAction ) regionalAction->UserSteppingAction(fStep); // Stepping process finish. Return the value of the StepStatus. return fStepStatus; diff --git a/source/tracking/src/G4SteppingManager2.cc b/source/tracking/src/G4SteppingManager2.cc index 3d98a24184..c7ecc02846 100644 --- a/source/tracking/src/G4SteppingManager2.cc +++ b/source/tracking/src/G4SteppingManager2.cc @@ -25,7 +25,7 @@ // // // $Id: G4SteppingManager2.cc,v 1.29 2006/06/29 21:16:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/src/G4SteppingVerbose.cc b/source/tracking/src/G4SteppingVerbose.cc index 42d09f9378..3b0742022f 100644 --- a/source/tracking/src/G4SteppingVerbose.cc +++ b/source/tracking/src/G4SteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: G4SteppingVerbose.cc,v 1.23 2006/07/14 14:13:57 tsasaki Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/src/G4TrackingManager.cc b/source/tracking/src/G4TrackingManager.cc index 6b43591022..7da138aae8 100644 --- a/source/tracking/src/G4TrackingManager.cc +++ b/source/tracking/src/G4TrackingManager.cc @@ -25,7 +25,7 @@ // // // $Id: G4TrackingManager.cc,v 1.22 2006/11/14 10:58:47 tsasaki Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/src/G4TrackingMessenger.cc b/source/tracking/src/G4TrackingMessenger.cc index 400de632ca..cd70e43244 100644 --- a/source/tracking/src/G4TrackingMessenger.cc +++ b/source/tracking/src/G4TrackingMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4TrackingMessenger.cc,v 1.15 2006/11/03 11:13:38 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/src/G4Trajectory.cc b/source/tracking/src/G4Trajectory.cc index 38031b9616..5d460e8efa 100644 --- a/source/tracking/src/G4Trajectory.cc +++ b/source/tracking/src/G4Trajectory.cc @@ -25,7 +25,7 @@ // // // $Id: G4Trajectory.cc,v 1.32 2006/10/16 13:39:35 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // --------------------------------------------------------------- // diff --git a/source/tracking/src/G4TrajectoryPoint.cc b/source/tracking/src/G4TrajectoryPoint.cc index 701cfac3bc..a378346d45 100644 --- a/source/tracking/src/G4TrajectoryPoint.cc +++ b/source/tracking/src/G4TrajectoryPoint.cc @@ -25,7 +25,7 @@ // // // $Id: G4TrajectoryPoint.cc,v 1.19 2006/06/29 21:16:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // --------------------------------------------------------------- // diff --git a/source/tracking/src/G4UserSteppingAction.cc b/source/tracking/src/G4UserSteppingAction.cc index 09d65f8424..c6ea4c276b 100644 --- a/source/tracking/src/G4UserSteppingAction.cc +++ b/source/tracking/src/G4UserSteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: G4UserSteppingAction.cc,v 1.10 2006/06/29 21:16:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // --------------------------------------------------------------- // diff --git a/source/tracking/src/G4UserTrackingAction.cc b/source/tracking/src/G4UserTrackingAction.cc index e6d26199bb..a88c51760e 100644 --- a/source/tracking/src/G4UserTrackingAction.cc +++ b/source/tracking/src/G4UserTrackingAction.cc @@ -25,7 +25,7 @@ // // // $Id: G4UserTrackingAction.cc,v 1.10 2006/06/29 21:16:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // --------------------------------------------------------------- // diff --git a/source/tracking/src/G4VSteppingVerbose.cc b/source/tracking/src/G4VSteppingVerbose.cc index 1c492905a7..61a9ce8845 100644 --- a/source/tracking/src/G4VSteppingVerbose.cc +++ b/source/tracking/src/G4VSteppingVerbose.cc @@ -25,7 +25,7 @@ // // // $Id: G4VSteppingVerbose.cc,v 1.18 2006/11/14 10:58:47 tsasaki Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/tracking/src/G4VTrajectory.cc b/source/tracking/src/G4VTrajectory.cc index f4434230e5..793f53f608 100644 --- a/source/tracking/src/G4VTrajectory.cc +++ b/source/tracking/src/G4VTrajectory.cc @@ -25,7 +25,7 @@ // // // $Id: G4VTrajectory.cc,v 1.12 2006/10/16 13:45:01 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // --------------------------------------------------------------- // diff --git a/source/tracking/src/G4VTrajectoryPoint.cc b/source/tracking/src/G4VTrajectoryPoint.cc index c3a53e0574..c08cc3d740 100644 --- a/source/tracking/src/G4VTrajectoryPoint.cc +++ b/source/tracking/src/G4VTrajectoryPoint.cc @@ -25,7 +25,7 @@ // // // $Id: G4VTrajectoryPoint.cc,v 1.4 2006/06/29 21:16:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //--------------------------------------------------------------- // diff --git a/source/visualization/FukuiRenderer/include/G4DAWNFILE.hh b/source/visualization/FukuiRenderer/include/G4DAWNFILE.hh index 3b19de74d9..be5fdc546e 100644 --- a/source/visualization/FukuiRenderer/include/G4DAWNFILE.hh +++ b/source/visualization/FukuiRenderer/include/G4DAWNFILE.hh @@ -25,7 +25,7 @@ // // // $Id: G4DAWNFILE.hh,v 1.9 2006/06/29 21:16:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Satoshi TANAKA // DAWNFILE driver factory. diff --git a/source/visualization/FukuiRenderer/include/G4DAWNFILESceneHandler.hh b/source/visualization/FukuiRenderer/include/G4DAWNFILESceneHandler.hh index ae9d9bf562..0a701eb596 100644 --- a/source/visualization/FukuiRenderer/include/G4DAWNFILESceneHandler.hh +++ b/source/visualization/FukuiRenderer/include/G4DAWNFILESceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4DAWNFILESceneHandler.hh,v 1.16 2006/06/29 21:16:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Satoshi TANAKA diff --git a/source/visualization/FukuiRenderer/include/G4DAWNFILEViewer.hh b/source/visualization/FukuiRenderer/include/G4DAWNFILEViewer.hh index 6ff53a7585..6d8c9881a3 100644 --- a/source/visualization/FukuiRenderer/include/G4DAWNFILEViewer.hh +++ b/source/visualization/FukuiRenderer/include/G4DAWNFILEViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4DAWNFILEViewer.hh,v 1.10 2006/06/29 21:16:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Satoshi TANAKA // DAWNFILE viewer - opens window, hard copy, etc. diff --git a/source/visualization/FukuiRenderer/include/G4FRClientServer.hh b/source/visualization/FukuiRenderer/include/G4FRClientServer.hh index 2eda1a51c7..572cea78df 100644 --- a/source/visualization/FukuiRenderer/include/G4FRClientServer.hh +++ b/source/visualization/FukuiRenderer/include/G4FRClientServer.hh @@ -25,7 +25,7 @@ // // // $Id: G4FRClientServer.hh,v 1.7 2006/06/29 21:16:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Satoshi TANAKA, Wed Jul 3 14:13:52 JST 1996 //////////////////////////////// diff --git a/source/visualization/FukuiRenderer/include/G4FRConst.hh b/source/visualization/FukuiRenderer/include/G4FRConst.hh index 836b5bc1db..3e2d22ea43 100644 --- a/source/visualization/FukuiRenderer/include/G4FRConst.hh +++ b/source/visualization/FukuiRenderer/include/G4FRConst.hh @@ -25,7 +25,7 @@ // // // $Id: G4FRConst.hh,v 1.7 2006/06/29 21:16:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Satoshi TANAKA, Tue Jul 2 15:30:49 JST 1996 /////////////////////////////////// diff --git a/source/visualization/FukuiRenderer/include/G4FRFeatures.hh b/source/visualization/FukuiRenderer/include/G4FRFeatures.hh index 6dd8509888..c8f912f2af 100644 --- a/source/visualization/FukuiRenderer/include/G4FRFeatures.hh +++ b/source/visualization/FukuiRenderer/include/G4FRFeatures.hh @@ -25,7 +25,7 @@ // // // $Id: G4FRFeatures.hh,v 1.6 2006/06/29 21:16:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #if !defined G4_FR_FEATURES_HH #define G4_FR_FEATURES_HH diff --git a/source/visualization/FukuiRenderer/include/G4FRSceneFunc.icc b/source/visualization/FukuiRenderer/include/G4FRSceneFunc.icc index 6d0b37ee8b..42164ab4d1 100644 --- a/source/visualization/FukuiRenderer/include/G4FRSceneFunc.icc +++ b/source/visualization/FukuiRenderer/include/G4FRSceneFunc.icc @@ -25,7 +25,7 @@ // // // $Id: G4FRSceneFunc.icc,v 1.15 2006/07/10 15:31:45 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4PhysicalVolumeModel.hh" diff --git a/source/visualization/FukuiRenderer/include/G4FRofstream.hh b/source/visualization/FukuiRenderer/include/G4FRofstream.hh index f187b3403c..2123b9f1cd 100644 --- a/source/visualization/FukuiRenderer/include/G4FRofstream.hh +++ b/source/visualization/FukuiRenderer/include/G4FRofstream.hh @@ -25,7 +25,7 @@ // // // $Id: G4FRofstream.hh,v 1.9 2006/06/29 21:16:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include diff --git a/source/visualization/FukuiRenderer/include/G4FukuiRenderer.hh b/source/visualization/FukuiRenderer/include/G4FukuiRenderer.hh index dec53e3628..6bc5161b03 100644 --- a/source/visualization/FukuiRenderer/include/G4FukuiRenderer.hh +++ b/source/visualization/FukuiRenderer/include/G4FukuiRenderer.hh @@ -25,7 +25,7 @@ // // // $Id: G4FukuiRenderer.hh,v 1.8 2006/06/29 21:16:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Satoshi TANAKA diff --git a/source/visualization/FukuiRenderer/include/G4FukuiRendererSceneHandler.hh b/source/visualization/FukuiRenderer/include/G4FukuiRendererSceneHandler.hh index afdca5505f..3222c93fcc 100644 --- a/source/visualization/FukuiRenderer/include/G4FukuiRendererSceneHandler.hh +++ b/source/visualization/FukuiRenderer/include/G4FukuiRendererSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4FukuiRendererSceneHandler.hh,v 1.15 2006/06/29 21:16:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Satoshi TANAKA, Fri Jun 28 11:19:19 JST 1996 diff --git a/source/visualization/FukuiRenderer/include/G4FukuiRendererViewer.hh b/source/visualization/FukuiRenderer/include/G4FukuiRendererViewer.hh index 2a625b1564..a36e9a0370 100644 --- a/source/visualization/FukuiRenderer/include/G4FukuiRendererViewer.hh +++ b/source/visualization/FukuiRenderer/include/G4FukuiRendererViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4FukuiRendererViewer.hh,v 1.8 2006/06/29 21:16:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Satoshi TANAKA, Fri Jun 28 12:10:14 JST 1996 diff --git a/source/visualization/FukuiRenderer/src/G4DAWNFILE.cc b/source/visualization/FukuiRenderer/src/G4DAWNFILE.cc index 0689d67b3a..bcb025719c 100644 --- a/source/visualization/FukuiRenderer/src/G4DAWNFILE.cc +++ b/source/visualization/FukuiRenderer/src/G4DAWNFILE.cc @@ -25,7 +25,7 @@ // // // $Id: G4DAWNFILE.cc,v 1.11 2006/06/29 21:16:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Satoshi TANAKA // DAWNFILE factory. diff --git a/source/visualization/FukuiRenderer/src/G4DAWNFILESceneHandler.cc b/source/visualization/FukuiRenderer/src/G4DAWNFILESceneHandler.cc index 51d21088fe..a1ec36b9ed 100644 --- a/source/visualization/FukuiRenderer/src/G4DAWNFILESceneHandler.cc +++ b/source/visualization/FukuiRenderer/src/G4DAWNFILESceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4DAWNFILESceneHandler.cc,v 1.18 2006/06/29 21:16:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Satoshi TANAKA // DAWNFILE scene. diff --git a/source/visualization/FukuiRenderer/src/G4DAWNFILEViewer.cc b/source/visualization/FukuiRenderer/src/G4DAWNFILEViewer.cc index 872591286e..b879d1ee4d 100644 --- a/source/visualization/FukuiRenderer/src/G4DAWNFILEViewer.cc +++ b/source/visualization/FukuiRenderer/src/G4DAWNFILEViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4DAWNFILEViewer.cc,v 1.20 2006/06/29 21:16:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Satoshi TANAKA // DAWNFILE view - opens window, hard copy, etc. diff --git a/source/visualization/FukuiRenderer/src/G4FRClientServer.cc b/source/visualization/FukuiRenderer/src/G4FRClientServer.cc index 4afac13404..257de30a1d 100644 --- a/source/visualization/FukuiRenderer/src/G4FRClientServer.cc +++ b/source/visualization/FukuiRenderer/src/G4FRClientServer.cc @@ -25,7 +25,7 @@ // // // $Id: G4FRClientServer.cc,v 1.6 2006/06/29 21:16:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Satoshi TANAKA, Wed Jul 3 14:14:29 JST 1996 //////////////////////////////// diff --git a/source/visualization/FukuiRenderer/src/G4FukuiRenderer.cc b/source/visualization/FukuiRenderer/src/G4FukuiRenderer.cc index 8c094fd07f..429683f1b4 100644 --- a/source/visualization/FukuiRenderer/src/G4FukuiRenderer.cc +++ b/source/visualization/FukuiRenderer/src/G4FukuiRenderer.cc @@ -25,7 +25,7 @@ // // // $Id: G4FukuiRenderer.cc,v 1.9 2006/06/29 21:16:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Satoshi TANAKA diff --git a/source/visualization/FukuiRenderer/src/G4FukuiRendererSceneHandler.cc b/source/visualization/FukuiRenderer/src/G4FukuiRendererSceneHandler.cc index 5dfbdd4a38..99d0ecc162 100644 --- a/source/visualization/FukuiRenderer/src/G4FukuiRendererSceneHandler.cc +++ b/source/visualization/FukuiRenderer/src/G4FukuiRendererSceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4FukuiRendererSceneHandler.cc,v 1.14 2006/06/29 21:17:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Satoshi TANAKA, Fri Jun 28 11:34:24 JST 1996 diff --git a/source/visualization/FukuiRenderer/src/G4FukuiRendererViewer.cc b/source/visualization/FukuiRenderer/src/G4FukuiRendererViewer.cc index c3f2c38d71..7770524819 100644 --- a/source/visualization/FukuiRenderer/src/G4FukuiRendererViewer.cc +++ b/source/visualization/FukuiRenderer/src/G4FukuiRendererViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4FukuiRendererViewer.cc,v 1.11 2006/06/29 21:17:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Satoshi TANAKA, Fri Jun 28 12:09:11 JST 1996 diff --git a/source/visualization/HepRep/History b/source/visualization/HepRep/History index e2b68098b8..68dc4f8c43 100644 --- a/source/visualization/HepRep/History +++ b/source/visualization/HepRep/History @@ -1,4 +1,4 @@ -.$Id: History,v 1.125 2006/11/16 21:08:41 perl Exp $ +.$Id: History,v 1.126 2007/05/22 17:05:26 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,9 @@ committal in the CVS repository ! History file for visualization/HepRep sub-category -------------------------------------------------- +22 May 2007 John Allison (vis-HepRep-V08-03-00) +- Fixed memory leak in G4HepRepFile. + 16 November 2006 Joseph Perl (vis-HepRep-V08-01-04) - Omit Pos and Aux attributes for hits. - Protect against null Region (as in parallel geometries). diff --git a/source/visualization/HepRep/include/G4HepRep.hh b/source/visualization/HepRep/include/G4HepRep.hh index 2f5af957e6..772a2d6559 100644 --- a/source/visualization/HepRep/include/G4HepRep.hh +++ b/source/visualization/HepRep/include/G4HepRep.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HepRep.hh,v 1.17 2006/06/29 21:17:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /** diff --git a/source/visualization/HepRep/include/G4HepRepFile.hh b/source/visualization/HepRep/include/G4HepRepFile.hh index f35e4a33ff..8c261a6d54 100644 --- a/source/visualization/HepRep/include/G4HepRepFile.hh +++ b/source/visualization/HepRep/include/G4HepRepFile.hh @@ -25,7 +25,7 @@ // // // $Id: G4HepRepFile.hh,v 1.8 2006/06/29 21:17:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/HepRep/include/G4HepRepFileSceneHandler.hh b/source/visualization/HepRep/include/G4HepRepFileSceneHandler.hh index ee9a0664c0..6c349f63d6 100644 --- a/source/visualization/HepRep/include/G4HepRepFileSceneHandler.hh +++ b/source/visualization/HepRep/include/G4HepRepFileSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4HepRepFileSceneHandler.hh,v 1.29 2006/06/29 21:17:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Joseph Perl 27th January 2002 diff --git a/source/visualization/HepRep/include/G4HepRepFileViewer.hh b/source/visualization/HepRep/include/G4HepRepFileViewer.hh index c3b084b335..5e29f5c1e4 100644 --- a/source/visualization/HepRep/include/G4HepRepFileViewer.hh +++ b/source/visualization/HepRep/include/G4HepRepFileViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4HepRepFileViewer.hh,v 1.9 2006/06/29 21:17:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/HepRep/include/G4HepRepMessenger.hh b/source/visualization/HepRep/include/G4HepRepMessenger.hh index 99ac3d1388..53739f2064 100644 --- a/source/visualization/HepRep/include/G4HepRepMessenger.hh +++ b/source/visualization/HepRep/include/G4HepRepMessenger.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HepRepMessenger.hh,v 1.7 2006/06/29 21:17:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // #ifndef G4HepRepMessenger_HH diff --git a/source/visualization/HepRep/include/G4HepRepSceneHandler.hh b/source/visualization/HepRep/include/G4HepRepSceneHandler.hh index 49e680efc3..2b4e5768e4 100644 --- a/source/visualization/HepRep/include/G4HepRepSceneHandler.hh +++ b/source/visualization/HepRep/include/G4HepRepSceneHandler.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HepRepSceneHandler.hh,v 1.42 2006/11/06 09:22:26 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /** diff --git a/source/visualization/HepRep/include/G4HepRepViewer.hh b/source/visualization/HepRep/include/G4HepRepViewer.hh index 8179f4a88f..32dd1d1058 100644 --- a/source/visualization/HepRep/include/G4HepRepViewer.hh +++ b/source/visualization/HepRep/include/G4HepRepViewer.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HepRepViewer.hh,v 1.18 2006/06/29 21:17:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /** diff --git a/source/visualization/HepRep/src/G4HepRep.cc b/source/visualization/HepRep/src/G4HepRep.cc index 130a807db0..b2acbe4947 100644 --- a/source/visualization/HepRep/src/G4HepRep.cc +++ b/source/visualization/HepRep/src/G4HepRep.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HepRep.cc,v 1.22 2006/06/29 21:17:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /** diff --git a/source/visualization/HepRep/src/G4HepRepFile.cc b/source/visualization/HepRep/src/G4HepRepFile.cc index 13aae5b890..781c7f981d 100644 --- a/source/visualization/HepRep/src/G4HepRepFile.cc +++ b/source/visualization/HepRep/src/G4HepRepFile.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4HepRepFile.cc,v 1.10 2006/06/29 21:17:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4HepRepFile.cc,v 1.11 2007/05/22 17:05:26 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Joseph Perl 1 October 2001 @@ -48,7 +48,10 @@ G4HepRepFile::G4HepRepFile(): hepRepXMLWriter = new G4HepRepFileXMLWriter(); } -G4HepRepFile::~G4HepRepFile() {} +G4HepRepFile::~G4HepRepFile() +{ + delete hepRepXMLWriter; +} G4VSceneHandler* G4HepRepFile::CreateSceneHandler(const G4String& name) { G4VSceneHandler* pScene = new G4HepRepFileSceneHandler(*this, name); diff --git a/source/visualization/HepRep/src/G4HepRepFileSceneHandler.cc b/source/visualization/HepRep/src/G4HepRepFileSceneHandler.cc index abf17b53cf..0de5020989 100644 --- a/source/visualization/HepRep/src/G4HepRepFileSceneHandler.cc +++ b/source/visualization/HepRep/src/G4HepRepFileSceneHandler.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HepRepFileSceneHandler.cc,v 1.64 2006/11/16 21:06:11 perl Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Joseph Perl 27th January 2002 diff --git a/source/visualization/HepRep/src/G4HepRepFileViewer.cc b/source/visualization/HepRep/src/G4HepRepFileViewer.cc index 89859dc861..cdbcbe6591 100644 --- a/source/visualization/HepRep/src/G4HepRepFileViewer.cc +++ b/source/visualization/HepRep/src/G4HepRepFileViewer.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HepRepFileViewer.cc,v 1.15 2006/06/29 21:17:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4HepRepFileViewer.hh" diff --git a/source/visualization/HepRep/src/G4HepRepMessenger.cc b/source/visualization/HepRep/src/G4HepRepMessenger.cc index caa89d59f9..66eafcfead 100644 --- a/source/visualization/HepRep/src/G4HepRepMessenger.cc +++ b/source/visualization/HepRep/src/G4HepRepMessenger.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HepRepMessenger.cc,v 1.10 2006/06/29 21:17:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4HepRepMessenger.hh" diff --git a/source/visualization/HepRep/src/G4HepRepSceneHandler.cc b/source/visualization/HepRep/src/G4HepRepSceneHandler.cc index 19b4b15604..db15828362 100644 --- a/source/visualization/HepRep/src/G4HepRepSceneHandler.cc +++ b/source/visualization/HepRep/src/G4HepRepSceneHandler.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HepRepSceneHandler.cc,v 1.100 2006/11/16 12:17:54 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /** diff --git a/source/visualization/HepRep/src/G4HepRepViewer.cc b/source/visualization/HepRep/src/G4HepRepViewer.cc index d9ce665d0d..237b167a8e 100644 --- a/source/visualization/HepRep/src/G4HepRepViewer.cc +++ b/source/visualization/HepRep/src/G4HepRepViewer.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4HepRepViewer.cc,v 1.26 2006/06/29 21:17:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /** diff --git a/source/visualization/History b/source/visualization/History index ccd57f0e41..1d0f267335 100644 --- a/source/visualization/History +++ b/source/visualization/History @@ -1,4 +1,4 @@ -$Id: History,v 1.401 2007/01/11 16:46:41 allison Exp $ +$Id: History,v 1.413 2007/06/14 15:26:57 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -24,6 +24,61 @@ committal in the CVS repository ! History file for visualization category --------------------------------------- +14th June 2007 John Allison (vis-V08-03-07) +- raytracer-V08-03-01: Fixed memory leak in G4RayTracer. + +30th May 2007 John Allison (vis-V08-03-06) +- modeling-V08-03-02: Fixed gcc-4.2.0 warning. + +30th May 2007 John Allison (vis-V08-03-05) +- modeling-V08-03-01: Fix for SUN. + +25th May 2007 John Allison (vis-V08-03-04) +- opengl-V08-03-03: Fixed gcc-4.1.2 compiler warnings. + +25th May 2007 John Allison (vis-V08-03-03) +- visman-V08-03-01: Improved error trapping and big fix. +- opengl-V08-03-02: Improved error trapping. + +24th May 2007 John Allison (vis-V08-03-02) +- opengl-V08-03-01: Fixes for SUN. + +22nd May 2007 John Allison (vis-V08-03-01) +- modeling-V08-03-00: Simplified G4Atts for Physical Volume Path. +- vis-HepRep-V08-03-00: Fixed memory leak in G4HepRepFile. +- raytracer-V08-03-00: Fixed for dubious ValGrind diagnostic. + +16th May 2007 John Allison (vis-V08-03-00) +- visman-V08-03-00: Fix for Windows compiler. +- opengl-V08-03-00: Fix compiler warnings and bug fixes in opengl-V08-02-06. + +8th May 2007 John Allison +- opengl-V08-02-06: /vis/ogl/printEPS should work for all viewers. + +4th April 2007 John Allison (vis-V08-02-04) +- visman-V08-02-04: Bug fix for zero pointer in G4VscenHamdler::LoadAtts. +- opengl-V08-02-05: Implemented picking for OGLSX (as well as OGLIX). + +3rd April 2007 John Allison (vis-V08-02-03) +- modeling-V08-02-02: Added further information on volume G4Atts. +- visman-V08-02-03: Added /vis/viewer/set/picking. Picking is "false" + by default, except for Open Inventor. +- opengl-V08-02-04: + o Implemented picking for OGLIX. + o Some reorganisation of display list construction to fix rare bug\ + in Display-by-Time feature +- openinventor-V08-02-02: Picking is "true" by default for OI. + +25th March 2007 John Allison (vis-V08-02-02) +- modeling-V08-02-01: Added solid dump and volume transformation to G4Atts. +- visman-V08-02-02: + o Removed G4GAGTree. + o Removed /vis/scene/add/eventID (once again) from /vis/drawVolume. +- opengl-V08-02-03: Fix compiler warnings. +- vistree-V08-02-01: Removed GAGTree. +- openinventor-V08-02-01): Added scale factor to list of changes + requiring kernel visit, and some rationalisation. + 11th January 2007 John Allison (vis-V08-02-01) - visman-V08-02-01: o Added /vis/abortReviewKeptEvents. diff --git a/source/visualization/OpenGL/History b/source/visualization/OpenGL/History index 346f121ef3..e133b97f2d 100644 --- a/source/visualization/OpenGL/History +++ b/source/visualization/OpenGL/History @@ -1,4 +1,4 @@ -$Id: History,v 1.86 2007/03/27 15:15:12 allison Exp $ +$Id: History,v 1.93 2007/05/25 15:41:38 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -19,13 +19,58 @@ committal in the CVS repository ! History file for visualization/OpenGL ------------------------------------- + +25th May 2007 John Allison (opengl-V08-03-03) +- G4OpenGLSceneHandler and G4OpenGLXViewerMessenger: + Fixed gcc-4.1.2 compiler warnings. + +G4OpenGLXViewer: Trapped glXMakeCurrent in Initialise function. + +25th May 2007 John Allison (opengl-V08-03-02) +- G4OpenGLXViewer: Trapped glXMakeCurrent in Initialise function. + +24th May 2007 John Allison (opengl-V08-03-01) +- Fixes for SUN. + +16th May 2007 John Allison (opengl-V08-03-00) +- Fix compiler warnings on SLC4. +- Bug fixes: + o Correct path /vis/ogl/set/printMode. + o Add SetView to pixmap screen dump ("/vis/ogl/set/printMode pixmap" + and "/vis/ogl/printEPS"). + +8th May 2007 John Allison (opengl-V08-02-06) +- Moved vectored PostScript printing to G4OpenGLViewer. +- /vis/ogl/printEPS should work for all viewers, including Win32. +- Introduced /vis/ogl/set/printMode vectored|pixmap, currently only + effective on X windows (and still somewhat buggy). + +4th April 2007 John Allison (opengl-V08-02-05 - needs visman-V08-02-04) +- Implemented picking for OGLSX ( as well as OGLIX). Hopefully works + for OGL*Win32. Still doesn't work for OGL*Xm. + +3rd April 2007 John Allison (opengl-V08-02-04 - needs visman-V08-02-03) +- G4OpenGLStoredSceneHandler: + o Re-organised display lists on a per-primitive basis, i.e., one + display list per primitive. (This is so that, except for text, + the colour - or, rather, intensity - can be brought out of the + display list into the TOList (Transient Object List) and + controlled for the Display-by-Time feature. Previously, if more + than one primitive were drawn between BeginPrimitives and + EndPrimitives, it would finish up all in one display list, colour + commands included. Rationalises and fixes a rare bug in the + Display-by-Time feature - see August 2006.) + o Added AddPrimitive(const G4Polymarker&) so that it is treated as + one primoitive to fit with the above re-organisation. +- Implemented picking for OGLIX. + 25th March 2007 John Allison (opengl-V08-02-03) - Fix compiler warnings. 8th February 2007 John Allison (opengl-V08-02-02) - Fixed Windows problem with DBL_MAX. (Introduced G4OPENGL_DBL_MAX.) - G4OpenGLXViewer.cc: Small bug fix in print(). (Context was switched - but not switched back. Not serious, because context was always set + .but not switched back. Not serious, because context was always set before normal drawing.) 9th January 2007 John Allison (opengl-V08-02-01) diff --git a/source/visualization/OpenGL/include/G4OpenGL.hh b/source/visualization/OpenGL/include/G4OpenGL.hh index 9a2088d584..c2ec71cce5 100644 --- a/source/visualization/OpenGL/include/G4OpenGL.hh +++ b/source/visualization/OpenGL/include/G4OpenGL.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4OpenGL.hh,v 1.5 2007/02/08 14:01:55 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G.Barrand. diff --git a/source/visualization/OpenGL/include/G4OpenGLBitMapStore.hh b/source/visualization/OpenGL/include/G4OpenGLBitMapStore.hh index 8675e19df5..4d8ab3f52d 100644 --- a/source/visualization/OpenGL/include/G4OpenGLBitMapStore.hh +++ b/source/visualization/OpenGL/include/G4OpenGLBitMapStore.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLBitMapStore.hh,v 1.1 2007/01/09 10:11:16 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 6th January 2007 diff --git a/source/visualization/OpenGL/include/G4OpenGLFontBaseStore.hh b/source/visualization/OpenGL/include/G4OpenGLFontBaseStore.hh index 6607af6c11..09474d1beb 100644 --- a/source/visualization/OpenGL/include/G4OpenGLFontBaseStore.hh +++ b/source/visualization/OpenGL/include/G4OpenGLFontBaseStore.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4OpenGLFontBaseStore.hh,v 1.3 2006/06/29 21:17:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // J.Allison Apr 2005. diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateSceneHandler.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateSceneHandler.hh index 4be2d1b851..5e90d147af 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateSceneHandler.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLImmediateSceneHandler.hh,v 1.11 2006/08/16 10:34:36 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4OpenGLImmediateSceneHandler.hh,v 1.13 2007/04/04 16:50:26 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 @@ -58,25 +58,13 @@ public: void BeginModeling (); void EndModeling (); void AddPrimitive (const G4Polyline&); + void AddPrimitive (const G4Polymarker&); + void AddPrimitive (const G4Text& text); void AddPrimitive (const G4Circle&); void AddPrimitive (const G4Square&); - // Explicitly invoke base class methods to avoid warnings about - // hiding of base class methods... - void AddPrimitive (const G4Text& text) { - G4OpenGLSceneHandler::AddPrimitive (text); - } - void AddPrimitive (const G4Polyhedron& polyhedron) { - G4OpenGLSceneHandler::AddPrimitive (polyhedron); - } - void AddPrimitive (const G4NURBS& nurbs) { - G4OpenGLSceneHandler::AddPrimitive (nurbs); - } - void AddPrimitive(const G4Polymarker& polymarker) { - G4OpenGLSceneHandler::AddPrimitive (polymarker); - } - void AddPrimitive (const G4Scale& scale) { - G4OpenGLSceneHandler::AddPrimitive (scale); - } + void AddPrimitive (const G4Scale& scale); + void AddPrimitive (const G4Polyhedron&); + void AddPrimitive (const G4NURBS&); void ClearTransientStore (); protected: diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateViewer.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateViewer.hh index 08028613ce..e0b3d4ddfe 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateViewer.hh,v 1.9 2006/09/04 12:07:59 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateWin32.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateWin32.hh index ca47fe8e71..0beda18410 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateWin32.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateWin32.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateWin32.hh,v 1.7 2006/06/29 21:17:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // OpenGLImmediateWin32 graphics system factory. diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateWin32Viewer.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateWin32Viewer.hh index 604d0e6419..d8718bb9e7 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateWin32Viewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateWin32Viewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateWin32Viewer.hh,v 1.9 2006/06/29 21:17:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Class G4OpenGLImmediateWin32Viewer : a class derived from diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateX.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateX.hh index bfa2d744ad..96068d7045 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateX.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateX.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateX.hh,v 1.7 2006/06/29 21:17:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateXViewer.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateXViewer.hh index 24113b5a46..8756af73aa 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateXViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateXViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateXViewer.hh,v 1.9 2006/07/03 16:38:13 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateXm.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateXm.hh index 1a3209fe73..bd43fbec9f 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateXm.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateXm.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateXm.hh,v 1.7 2006/06/29 21:17:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLImmediateXmViewer.hh b/source/visualization/OpenGL/include/G4OpenGLImmediateXmViewer.hh index 2ba2eeabf4..de06c496b2 100644 --- a/source/visualization/OpenGL/include/G4OpenGLImmediateXmViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLImmediateXmViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateXmViewer.hh,v 1.9 2006/07/03 16:38:13 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLSceneHandler.hh b/source/visualization/OpenGL/include/G4OpenGLSceneHandler.hh index 2161208b98..13fd457101 100644 --- a/source/visualization/OpenGL/include/G4OpenGLSceneHandler.hh +++ b/source/visualization/OpenGL/include/G4OpenGLSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLSceneHandler.hh,v 1.21 2007/01/09 10:11:16 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4OpenGLSceneHandler.hh,v 1.23 2007/04/04 16:50:26 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 27th March 1996 @@ -45,26 +45,31 @@ #include "G4VSceneHandler.hh" #include "G4OpenGLViewer.hh" #include "G4OpenGLBitMapStore.hh" +#include -// Base class for various OpenGLScene classes. +class G4AttHolder; + +// Base class for various OpenGLSceneHandler classes. class G4OpenGLSceneHandler: public G4VSceneHandler { + friend class G4OpenGLViewer; + public: + virtual void BeginPrimitives (const G4Transform3D& objectTransformation); + virtual void EndPrimitives (); + virtual void BeginPrimitives2D (); + virtual void EndPrimitives2D (); void AddPrimitive (const G4Polyline&); + void AddPrimitive (const G4Polymarker&); void AddPrimitive (const G4Text&); void AddPrimitive (const G4Circle&); void AddPrimitive (const G4Square&); + void AddPrimitive (const G4Scale&); void AddPrimitive (const G4Polyhedron&); void AddPrimitive (const G4NURBS&); - // Explicitly invoke base class methods to avoid warnings about - // hiding of base class methods... - void AddPrimitive(const G4Polymarker& polymarker) { - G4VSceneHandler::AddPrimitive (polymarker); - } - void AddPrimitive (const G4Scale& scale) { - G4VSceneHandler::AddPrimitive (scale); - } + void PreAddSolid (const G4Transform3D& objectTransformation, + const G4VisAttributes&); void AddSolid (const G4Box&); void AddSolid (const G4Cons&); void AddSolid (const G4Tubs&); @@ -89,6 +94,10 @@ protected: const G4Polyhedron* CreateSectionPolyhedron (); const G4Polyhedron* CreateCutawayPolyhedron (); + GLuint fPickName; + std::map fPickMap; // For picking. + void ClearAndDestroyAtts(); // Destroys att holders and clears pick map. + private: void AddCircleSquare (const G4VMarker&, G4OpenGLBitMapStore::Shape); @@ -102,6 +111,8 @@ private: // viewpoint direction and up vector. static const GLubyte fStippleMaskHashed [128]; + + G4bool fProcessingPolymarker; }; #include "G4OpenGLSceneHandler.icc" diff --git a/source/visualization/OpenGL/include/G4OpenGLSceneHandler.icc b/source/visualization/OpenGL/include/G4OpenGLSceneHandler.icc index 67ceeec977..c9a34937f1 100644 --- a/source/visualization/OpenGL/include/G4OpenGLSceneHandler.icc +++ b/source/visualization/OpenGL/include/G4OpenGLSceneHandler.icc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLSceneHandler.icc,v 1.7 2006/06/29 21:17:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 20th January 1998 diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredSceneHandler.hh b/source/visualization/OpenGL/include/G4OpenGLStoredSceneHandler.hh index dc1c9030d0..b2bcd66ae5 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredSceneHandler.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredSceneHandler.hh,v 1.22 2007/02/08 14:01:55 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4OpenGLStoredSceneHandler.hh,v 1.24 2007/04/04 16:50:26 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 @@ -62,23 +62,13 @@ public: void BeginModeling (); void EndModeling (); void AddPrimitive (const G4Polyline&); + void AddPrimitive (const G4Polymarker&); void AddPrimitive (const G4Circle&); void AddPrimitive (const G4Square&); - void AddPrimitive (const G4Polymarker& polymarker); - // Explicitly invoke base class methods to avoid warnings about - // hiding of base class methods... - void AddPrimitive (const G4Text& text) { - G4OpenGLSceneHandler::AddPrimitive (text); - } - void AddPrimitive (const G4Polyhedron& polyhedron) { - G4OpenGLSceneHandler::AddPrimitive (polyhedron); - } - void AddPrimitive (const G4NURBS& nurbs) { - G4OpenGLSceneHandler::AddPrimitive (nurbs); - } - void AddPrimitive (const G4Scale& scale) { - G4OpenGLSceneHandler::AddPrimitive (scale); - } + void AddPrimitive (const G4Text&); + void AddPrimitive (const G4Scale&); + void AddPrimitive (const G4Polyhedron&); + void AddPrimitive (const G4NURBS&); void ClearStore (); void ClearTransientStore (); @@ -97,19 +87,21 @@ protected: GLint fTopPODL; // List which calls the other PODLs. struct PO { PO(G4int id, const G4Transform3D& tr = G4Transform3D()): - fDisplayListId(id), fTransform(tr) {} + fDisplayListId(id), fTransform(tr), fPickName(0) {} G4int fDisplayListId; G4Transform3D fTransform; + GLuint fPickName; }; std::vector fPOList; // TO = Transparent Object. struct TO { TO(G4int id, const G4Transform3D& tr = G4Transform3D()): - fDisplayListId(id), fTransform(tr), + fDisplayListId(id), fTransform(tr), fPickName(0), fStartTime(-G4OPENGL_DBL_MAX), fEndTime(G4OPENGL_DBL_MAX) {} G4int fDisplayListId; G4Transform3D fTransform; + GLuint fPickName; G4double fStartTime, fEndTime; // Time range (e.g., for trajectory steps). G4Colour fColour; }; @@ -118,6 +110,9 @@ protected: // Stop-gap solution of structure re-use. // A proper implementation would use geometry hierarchy. std::map > fSolidMap; + +private: + G4bool fProcessing2D; }; #endif diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredViewer.hh b/source/visualization/OpenGL/include/G4OpenGLStoredViewer.hh index 9c9ff82c7f..e92974a9b4 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLStoredViewer.hh,v 1.9 2006/06/29 21:18:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredWin32.hh b/source/visualization/OpenGL/include/G4OpenGLStoredWin32.hh index 0fcea3a527..6891c52400 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredWin32.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredWin32.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLStoredWin32.hh,v 1.7 2006/06/29 21:18:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // OpenGLStoredWin32 graphics system factory. diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredWin32Viewer.hh b/source/visualization/OpenGL/include/G4OpenGLStoredWin32Viewer.hh index f79d6f2f09..3762eb7fd4 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredWin32Viewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredWin32Viewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLStoredWin32Viewer.hh,v 1.7 2006/06/29 21:18:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Class G4OpenGLStoredWin32Viewer : a class derived from diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredX.hh b/source/visualization/OpenGL/include/G4OpenGLStoredX.hh index a73b4f1bfc..9ebc4cecd6 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredX.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredX.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLStoredX.hh,v 1.7 2006/06/29 21:18:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredXViewer.hh b/source/visualization/OpenGL/include/G4OpenGLStoredXViewer.hh index 8cc054e260..604c492dc6 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredXViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredXViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLStoredXViewer.hh,v 1.7 2006/07/03 16:38:13 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredXm.hh b/source/visualization/OpenGL/include/G4OpenGLStoredXm.hh index c2f3dd2178..7928bfc0e2 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredXm.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredXm.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLStoredXm.hh,v 1.6 2006/06/29 21:18:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLStoredXmViewer.hh b/source/visualization/OpenGL/include/G4OpenGLStoredXmViewer.hh index 070bddf32b..258f00e577 100644 --- a/source/visualization/OpenGL/include/G4OpenGLStoredXmViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLStoredXmViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLStoredXmViewer.hh,v 1.7 2006/07/03 16:38:13 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLTransform3D.hh b/source/visualization/OpenGL/include/G4OpenGLTransform3D.hh index c18c2876d1..d752470ad5 100644 --- a/source/visualization/OpenGL/include/G4OpenGLTransform3D.hh +++ b/source/visualization/OpenGL/include/G4OpenGLTransform3D.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLTransform3D.hh,v 1.7 2006/06/29 21:18:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 24th October 1996 diff --git a/source/visualization/OpenGL/include/G4OpenGLViewer.hh b/source/visualization/OpenGL/include/G4OpenGLViewer.hh index b8ec473ce0..3f7948bd5b 100644 --- a/source/visualization/OpenGL/include/G4OpenGLViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLViewer.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLViewer.hh,v 1.18 2006/09/19 16:13:15 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4OpenGLViewer.hh,v 1.20 2007/05/08 11:04:11 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 27th March 1996 @@ -37,6 +37,7 @@ #define G4OPENGLVIEWER_HH #include "G4VViewer.hh" +#include "G4OpenGL.hh" class G4OpenGLSceneHandler; @@ -61,7 +62,21 @@ protected: void HLRSecondPass (); void HLRThirdPass (); void InitializeGLView (); + void Pick(GLdouble x, GLdouble y); virtual void CreateFontLists () {} + virtual void print(); +//////////////////////////////Vectored PostScript production functions/// + void printBuffer(GLint, GLfloat*); + GLfloat* spewPrimitiveEPS (FILE*, GLfloat*); + void spewSortedFeedback (FILE*, GLint, GLfloat*); + void spewWireframeEPS (FILE*, GLint, GLfloat*, const char*); + void print3DcolorVertex(GLint, GLint*, GLfloat*); + G4float pointSize; + char print_string[50]; + G4bool print_colour; + G4bool vectored_ps; + + G4OpenGLSceneHandler& fOpenGLSceneHandler; G4Colour background; //the OpenGL clear colour G4bool transparency_enabled, //is alpha blending enabled? @@ -79,6 +94,16 @@ protected: G4double fDisplayLightFrontRed, fDisplayLightFrontGreen, fDisplayLightFrontBlue; }; +typedef struct G4OpenGLViewerFeedback3Dcolor { + GLfloat x; + GLfloat y; + GLfloat z; + GLfloat red; + GLfloat green; + GLfloat blue; + GLfloat alpha; +} Feedback3Dcolor; + #endif #endif diff --git a/source/visualization/OpenGL/include/G4OpenGLViewerMessenger.hh b/source/visualization/OpenGL/include/G4OpenGLViewerMessenger.hh index c7e6657fcf..3c706dc4ae 100644 --- a/source/visualization/OpenGL/include/G4OpenGLViewerMessenger.hh +++ b/source/visualization/OpenGL/include/G4OpenGLViewerMessenger.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLViewerMessenger.hh,v 1.4 2006/09/19 16:14:21 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4OpenGLViewerMessenger.hh,v 1.5 2007/05/08 11:04:11 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ #ifndef G4OPENGLVIEWERMESSENGER_HH #define G4OPENGLVIEWERMESSENGER_HH @@ -36,8 +36,10 @@ class G4UIdirectory; class G4UIcommand; +class G4UIcmdWithoutParameter; class G4UIcmdWithADouble; class G4UIcmdWithABool; +class G4UIcmdWithAString; class G4OpenGLViewerMessenger: public G4UImessenger { public: @@ -49,11 +51,13 @@ private: G4OpenGLViewerMessenger(); // Private constructor. static G4OpenGLViewerMessenger* fpInstance; G4UIdirectory* fpDirectory; + G4UIcmdWithoutParameter* fpCommandPrintEPS; G4UIdirectory* fpDirectorySet; G4UIcommand* fpCommandDisplayHeadTime; G4UIcommand* fpCommandDisplayLightFront; G4UIcommand* fpCommandEndTime; G4UIcmdWithADouble* fpCommandFade; + G4UIcmdWithAString* fpCommandPrintMode; G4UIcommand* fpCommandStartTime; G4UIcmdWithABool* fpCommandTransparency; }; diff --git a/source/visualization/OpenGL/include/G4OpenGLWin32Viewer.hh b/source/visualization/OpenGL/include/G4OpenGLWin32Viewer.hh index c336f6767c..85e92890bb 100644 --- a/source/visualization/OpenGL/include/G4OpenGLWin32Viewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLWin32Viewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLWin32Viewer.hh,v 1.13 2006/06/29 21:18:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4OpenGLWin32Viewer : Class to provide WindowsNT specific diff --git a/source/visualization/OpenGL/include/G4OpenGLXViewer.hh b/source/visualization/OpenGL/include/G4OpenGLXViewer.hh index 9c6a05afe9..5071432985 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXViewer.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLXViewer.hh,v 1.26 2006/11/01 11:22:27 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4OpenGLXViewer.hh,v 1.27 2007/05/08 11:04:11 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 7th February 1997 @@ -52,37 +52,25 @@ class G4OpenGLSceneHandler; class G4OpenGLXViewer: virtual public G4OpenGLViewer { friend class G4OpenGLXViewerMessenger; + friend class G4OpenGLXmViewer; public: G4OpenGLXViewer (G4OpenGLSceneHandler& scene); virtual ~G4OpenGLXViewer (); void SetView (); void ShowView (); - void print(); protected: void GetXConnection (); void CreateGLXContext (XVisualInfo* vi); virtual void CreateMainWindow (); virtual void CreateFontLists (); + void print(); static int snglBuf_RGBA[12]; static int dblBuf_RGBA[13]; - char print_string[50]; - G4bool print_colour, - vectored_ps; - -//////////////////////////////Vectored PostScript production functions////////////////////////////// - void printBuffer(GLint, GLfloat*); - GLfloat* spewPrimitiveEPS (FILE*, GLfloat*); - void spewSortedFeedback (FILE*, GLint, GLfloat*); - void spewWireframeEPS (FILE*, GLint, GLfloat*, const char*); - void print3DcolorVertex(GLint, GLint*, GLfloat*); - G4float pointSize; - - -//////////////////////////////Pixmap (screen dump) production functions////////////////////////////// +//////////////////////////////Pixmap (screen dump) production functions///// GLubyte* grabPixels (int inColor, unsigned int width, unsigned int height); @@ -128,16 +116,6 @@ private: G4OpenGLXViewer& operator = (const G4OpenGLXViewer&); }; -typedef struct G4OpenGLXViewerFeedback3Dcolor { - GLfloat x; - GLfloat y; - GLfloat z; - GLfloat red; - GLfloat green; - GLfloat blue; - GLfloat alpha; -} Feedback3Dcolor; - #endif #endif diff --git a/source/visualization/OpenGL/include/G4OpenGLXViewerMessenger.hh b/source/visualization/OpenGL/include/G4OpenGLXViewerMessenger.hh index dfb5271167..caab486ea7 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXViewerMessenger.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXViewerMessenger.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLXViewerMessenger.hh,v 1.2 2006/11/01 11:22:26 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4OpenGLXViewerMessenger.hh,v 1.3 2007/05/08 11:04:11 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ #ifdef G4VIS_BUILD_OPENGLX_DRIVER @@ -38,7 +38,6 @@ class G4OpenGLXViewer; class G4UIdirectory; -class G4UIcmdWithoutParameter; class G4OpenGLXViewerMessenger: public G4UImessenger { public: @@ -50,7 +49,7 @@ private: G4OpenGLXViewerMessenger(); // Private constructor. static G4OpenGLXViewerMessenger* fpInstance; G4UIdirectory* fpDirectory; - G4UIcmdWithoutParameter* fpCommandPrintEPS; + G4UIdirectory* fpDirectorySet; }; #endif diff --git a/source/visualization/OpenGL/include/G4OpenGLXmBox.hh b/source/visualization/OpenGL/include/G4OpenGLXmBox.hh index f11b5f2243..e83d073ec0 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmBox.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmBox.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmBox.hh,v 1.7 2006/06/29 21:18:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Box container class diff --git a/source/visualization/OpenGL/include/G4OpenGLXmFourArrowButtons.hh b/source/visualization/OpenGL/include/G4OpenGLXmFourArrowButtons.hh index 8de7216c0e..a6949d6482 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmFourArrowButtons.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmFourArrowButtons.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmFourArrowButtons.hh,v 1.6 2006/06/29 21:18:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Four arrow buttons class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/include/G4OpenGLXmFramedBox.hh b/source/visualization/OpenGL/include/G4OpenGLXmFramedBox.hh index 5a493ee3d8..3d037a6316 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmFramedBox.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmFramedBox.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmFramedBox.hh,v 1.7 2006/06/29 21:18:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Framed box container class diff --git a/source/visualization/OpenGL/include/G4OpenGLXmPushButton.hh b/source/visualization/OpenGL/include/G4OpenGLXmPushButton.hh index 08fc4d55c8..53fbba6a87 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmPushButton.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmPushButton.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmPushButton.hh,v 1.7 2006/06/29 21:18:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Push button class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/include/G4OpenGLXmRadioButton.hh b/source/visualization/OpenGL/include/G4OpenGLXmRadioButton.hh index 04d5f1cab7..cca5b64da2 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmRadioButton.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmRadioButton.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmRadioButton.hh,v 1.7 2006/06/29 21:18:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Radio button class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/include/G4OpenGLXmResources.hh b/source/visualization/OpenGL/include/G4OpenGLXmResources.hh index 031feb9b19..8211111041 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmResources.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmResources.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmResources.hh,v 1.5 2006/06/29 21:18:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Default resources file for GEANT4 OpenGL Motif windows. diff --git a/source/visualization/OpenGL/include/G4OpenGLXmSeparator.hh b/source/visualization/OpenGL/include/G4OpenGLXmSeparator.hh index ff26ac88c3..526497f650 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmSeparator.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmSeparator.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmSeparator.hh,v 1.6 2006/06/29 21:18:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Separator class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/include/G4OpenGLXmSliderBar.hh b/source/visualization/OpenGL/include/G4OpenGLXmSliderBar.hh index c45a962d11..eaa59782c8 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmSliderBar.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmSliderBar.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmSliderBar.hh,v 1.7 2006/06/29 21:18:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Slider bar class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/include/G4OpenGLXmTextField.hh b/source/visualization/OpenGL/include/G4OpenGLXmTextField.hh index 2117212e80..2e2b87c5a7 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmTextField.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmTextField.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmTextField.hh,v 1.7 2006/06/29 21:18:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Text field class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/include/G4OpenGLXmTopLevelShell.hh b/source/visualization/OpenGL/include/G4OpenGLXmTopLevelShell.hh index 6a959d58fd..1ca12c1cb9 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmTopLevelShell.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmTopLevelShell.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmTopLevelShell.hh,v 1.6 2006/06/29 21:18:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Top level shell class diff --git a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetComponent.hh b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetComponent.hh index 6df4425847..79d52328a1 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetComponent.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetComponent.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmVWidgetComponent.hh,v 1.6 2006/06/29 21:18:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Base class for all Motif component widgets diff --git a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetContainer.hh b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetContainer.hh index ea6bacc786..1ce2e4617a 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetContainer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetContainer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmVWidgetContainer.hh,v 1.6 2006/06/29 21:18:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Base class for all Motif container widgets diff --git a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetObject.hh b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetObject.hh index 4708e7a5d9..1bb4ef3e02 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetObject.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetObject.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmVWidgetObject.hh,v 1.6 2006/06/29 21:18:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Virtual base class for all Motif widgets. diff --git a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetShell.hh b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetShell.hh index a18066968f..cee2eafe92 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmVWidgetShell.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmVWidgetShell.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmVWidgetShell.hh,v 1.6 2006/06/29 21:18:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // //Base class for all Motif window widgets (shells) diff --git a/source/visualization/OpenGL/include/G4OpenGLXmViewer.hh b/source/visualization/OpenGL/include/G4OpenGLXmViewer.hh index f55957c114..5bb7afc673 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmViewer.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmViewer.hh,v 1.10 2006/06/29 21:18:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/include/G4OpenGLXmViewerMessenger.hh b/source/visualization/OpenGL/include/G4OpenGLXmViewerMessenger.hh index efb09b701b..bc3a9cc58a 100644 --- a/source/visualization/OpenGL/include/G4OpenGLXmViewerMessenger.hh +++ b/source/visualization/OpenGL/include/G4OpenGLXmViewerMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmViewerMessenger.hh,v 1.4 2006/06/29 21:18:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifdef G4VIS_BUILD_OPENGLXM_DRIVER diff --git a/source/visualization/OpenGL/src/G4OpenGLBitMapStore.cc b/source/visualization/OpenGL/src/G4OpenGLBitMapStore.cc index afad616afc..5892b965f9 100644 --- a/source/visualization/OpenGL/src/G4OpenGLBitMapStore.cc +++ b/source/visualization/OpenGL/src/G4OpenGLBitMapStore.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLBitMapStore.cc,v 1.2 2007/02/08 14:01:55 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4OpenGLBitMapStore.cc,v 1.3 2007/04/04 16:50:26 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 6th January 2007 @@ -45,7 +45,7 @@ void SetBit(G4int i, G4int j, GLubyte* bitmap, G4int byteColumns) const GLubyte* GetBitMap(Shape shape, G4double& size, G4bool filled) { // Rationalise size - G4int bitSize = std::abs(size) + 0.49; + G4int bitSize = G4int(std::abs(size) + 0.49); if (bitSize < 1) bitSize = 1; // Modify size in calling function (passed by reference). diff --git a/source/visualization/OpenGL/src/G4OpenGLFontBaseStore.cc b/source/visualization/OpenGL/src/G4OpenGLFontBaseStore.cc index c673f4fe9b..309d7702cf 100644 --- a/source/visualization/OpenGL/src/G4OpenGLFontBaseStore.cc +++ b/source/visualization/OpenGL/src/G4OpenGLFontBaseStore.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLFontBaseStore.cc,v 1.3 2006/06/29 21:18:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4OpenGLFontBaseStore.hh" diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc index dcead31f96..818716bdba 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLImmediateSceneHandler.cc,v 1.25 2007/02/08 14:01:55 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4OpenGLImmediateSceneHandler.cc,v 1.27 2007/04/04 16:50:26 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 @@ -46,12 +46,16 @@ #include "G4OpenGLTransform3D.hh" #include "G4Polyline.hh" +#include "G4Polymarker.hh" +#include "G4Text.hh" #include "G4Circle.hh" #include "G4Square.hh" +#include "G4Scale.hh" +#include "G4Polyhedron.hh" -G4OpenGLImmediateSceneHandler::G4OpenGLImmediateSceneHandler (G4VGraphicsSystem& system, - const G4String& name): -G4OpenGLSceneHandler (system, fSceneIdCount++, name) +G4OpenGLImmediateSceneHandler::G4OpenGLImmediateSceneHandler +(G4VGraphicsSystem& system,const G4String& name): + G4OpenGLSceneHandler (system, fSceneIdCount++, name) {} G4OpenGLImmediateSceneHandler::~G4OpenGLImmediateSceneHandler () @@ -61,6 +65,11 @@ G4OpenGLImmediateSceneHandler::~G4OpenGLImmediateSceneHandler () void G4OpenGLImmediateSceneHandler::AddPrimitivePreamble(const G4Visible& visible) { + if (fpViewer->GetViewParameters().IsPicking()) { + glLoadName(++fPickName); + fPickMap[fPickName] = 0; + } + const G4Colour& c = GetColour (visible); glColor3d (c.GetRed (), c.GetGreen (), c.GetBlue ()); } @@ -71,6 +80,20 @@ void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4Polyline& polyline) G4OpenGLSceneHandler::AddPrimitive(polyline); } +void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4Polymarker& polymarker) +{ + AddPrimitivePreamble(polymarker); + G4OpenGLSceneHandler::AddPrimitive(polymarker); +} + +void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4Text& text) +{ + // Note: colour is still handled in + // G4OpenGLSceneHandler::AddPrimitive(const G4Text&). + AddPrimitivePreamble(text); + G4OpenGLSceneHandler::AddPrimitive(text); +} + void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4Circle& circle) { AddPrimitivePreamble(circle); @@ -83,9 +106,31 @@ void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4Square& square) G4OpenGLSceneHandler::AddPrimitive(square); } +void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4Scale& scale) +{ + AddPrimitivePreamble(scale); + G4OpenGLSceneHandler::AddPrimitive(scale); +} + +void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) +{ + // Note: colour is still handled in + // G4OpenGLSceneHandler::AddPrimitive(const G4Polyhedron&). + AddPrimitivePreamble(polyhedron); + G4OpenGLSceneHandler::AddPrimitive(polyhedron); +} + +void G4OpenGLImmediateSceneHandler::AddPrimitive (const G4NURBS& nurbs) +{ + // Note: colour is still handled in + // G4OpenGLSceneHandler::AddPrimitive(const G4NURBS&). + AddPrimitivePreamble(nurbs); + G4OpenGLSceneHandler::AddPrimitive(nurbs); +} + void G4OpenGLImmediateSceneHandler::BeginPrimitives (const G4Transform3D& objectTransformation) { - G4VSceneHandler::BeginPrimitives (objectTransformation); + G4OpenGLSceneHandler::BeginPrimitives (objectTransformation); glPushMatrix(); G4OpenGLTransform3D oglt (objectTransformation); @@ -109,12 +154,12 @@ void G4OpenGLImmediateSceneHandler::EndPrimitives () // See all primitives immediately... glFlush (); - G4VSceneHandler::EndPrimitives (); + G4OpenGLSceneHandler::EndPrimitives (); } void G4OpenGLImmediateSceneHandler::BeginPrimitives2D() { - G4VSceneHandler::BeginPrimitives2D(); + G4OpenGLSceneHandler::BeginPrimitives2D(); // Push current 3D world matrices and load identity to define screen // coordinates... @@ -138,7 +183,7 @@ void G4OpenGLImmediateSceneHandler::EndPrimitives2D() // See all primitives immediately... glFlush (); - G4VSceneHandler::EndPrimitives2D (); + G4OpenGLSceneHandler::EndPrimitives2D (); } void G4OpenGLImmediateSceneHandler::BeginModeling () { diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateViewer.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateViewer.cc index 651cfedc1a..c3a3f27184 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateViewer.cc,v 1.8 2006/09/04 12:07:59 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateWin32.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateWin32.cc index 8d60da1762..b89f245f2e 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateWin32.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateWin32.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateWin32.cc,v 1.11 2006/08/14 12:07:19 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // OpenGLImmediateWin32 graphics system factory. diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateWin32Viewer.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateWin32Viewer.cc index b7c1ef9564..b3db3d1df4 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateWin32Viewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateWin32Viewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateWin32Viewer.cc,v 1.16 2006/07/03 16:38:13 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Class G4OpenGLImmediateWin32Viewer : a class derived from G4OpenGLWin32Viewer and diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateX.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateX.cc index 83b96d7a5e..477567da4d 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateX.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateX.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateX.cc,v 1.12 2006/08/14 12:07:19 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 27th March 1996 diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateXViewer.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateXViewer.cc index fb22eab7d4..dbf9fc80a1 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateXViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateXViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateXViewer.cc,v 1.16 2006/07/03 16:38:13 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 7th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateXm.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateXm.cc index d6e65edd41..34f25acad3 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateXm.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateXm.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateXm.cc,v 1.13 2006/08/14 12:07:19 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc b/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc index c5f1f2e937..55f54037ee 100644 --- a/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLImmediateXmViewer.cc,v 1.17 2006/07/03 16:38:13 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc b/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc index b9a8d81dab..0ee7ca52d9 100644 --- a/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc +++ b/source/visualization/OpenGL/src/G4OpenGLSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLSceneHandler.cc,v 1.48 2007/03/27 15:15:12 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4OpenGLSceneHandler.cc,v 1.51 2007/05/25 15:41:38 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 27th March 1996 @@ -51,6 +51,7 @@ #include "G4Normal3D.hh" #include "G4Transform3D.hh" #include "G4Polyline.hh" +#include "G4Polymarker.hh" #include "G4Text.hh" #include "G4Circle.hh" #include "G4Square.hh" @@ -63,11 +64,14 @@ #include "G4VSolid.hh" #include "G4Scene.hh" #include "G4VisExtent.hh" +#include "G4AttHolder.hh" G4OpenGLSceneHandler::G4OpenGLSceneHandler (G4VGraphicsSystem& system, G4int id, const G4String& name): - G4VSceneHandler (system, id, name) + G4VSceneHandler (system, id, name), + fPickName(0), + fProcessingPolymarker(false) {} G4OpenGLSceneHandler::~G4OpenGLSceneHandler () @@ -94,6 +98,41 @@ const GLubyte G4OpenGLSceneHandler::fStippleMaskHashed [128] = { 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55 }; +void G4OpenGLSceneHandler::ClearAndDestroyAtts() +{ + std::map::iterator i; + for (i = fPickMap.begin(); i != fPickMap.end(); ++i) delete i->second; + fPickMap.clear(); +} + +void G4OpenGLSceneHandler::PreAddSolid +(const G4Transform3D& objectTransformation, + const G4VisAttributes& visAttribs) +{ + G4VSceneHandler::PreAddSolid (objectTransformation, visAttribs); +} + +void G4OpenGLSceneHandler::BeginPrimitives +(const G4Transform3D& objectTransformation) +{ + G4VSceneHandler::BeginPrimitives (objectTransformation); +} + +void G4OpenGLSceneHandler::EndPrimitives () +{ + G4VSceneHandler::EndPrimitives (); +} + +void G4OpenGLSceneHandler::BeginPrimitives2D () +{ + G4VSceneHandler::BeginPrimitives2D (); +} + +void G4OpenGLSceneHandler::EndPrimitives2D () +{ + G4VSceneHandler::EndPrimitives2D (); +} + const G4Polyhedron* G4OpenGLSceneHandler::CreateSectionPolyhedron () { // Clipping done in G4OpenGLViewer::SetView. @@ -119,6 +158,13 @@ void G4OpenGLSceneHandler::AddPrimitive (const G4Polyline& line) G4int nPoints = line.size (); if (nPoints <= 0) return; + // Loads G4Atts for picking... + if (fpViewer->GetViewParameters().IsPicking()) { + G4AttHolder* holder = new G4AttHolder; + LoadAtts(line, holder); + fPickMap[fPickName] = holder; + } + // Note: colour treated in sub-class. if (fpViewer -> GetViewParameters ().IsMarkerNotHidden ()) @@ -145,8 +191,65 @@ void G4OpenGLSceneHandler::AddPrimitive (const G4Polyline& line) glEnd (); } +void G4OpenGLSceneHandler::AddPrimitive (const G4Polymarker& polymarker) +{ + G4int nPoints = polymarker.size (); + if (nPoints <= 0) return; + + fProcessingPolymarker = true; + + // Loads G4Atts for picking... + if (fpViewer->GetViewParameters().IsPicking()) { + G4AttHolder* holder = new G4AttHolder; + LoadAtts(polymarker, holder); + fPickMap[fPickName] = holder; + } + + switch (polymarker.GetMarkerType()) { + default: + case G4Polymarker::dots: + { + for (size_t iPoint = 0; iPoint < polymarker.size (); iPoint++) { + G4Circle dot (polymarker); + dot.SetPosition (polymarker[iPoint]); + dot.SetWorldSize (0.); + dot.SetScreenSize (0.1); // Very small circle. + G4OpenGLSceneHandler::AddPrimitive (dot); + } + } + break; + case G4Polymarker::circles: + { + for (size_t iPoint = 0; iPoint < polymarker.size (); iPoint++) { + G4Circle circle (polymarker); + circle.SetPosition (polymarker[iPoint]); + G4OpenGLSceneHandler::AddPrimitive (circle); + } + } + break; + case G4Polymarker::squares: + { + for (size_t iPoint = 0; iPoint < polymarker.size (); iPoint++) { + G4Square square (polymarker); + square.SetPosition (polymarker[iPoint]); + G4OpenGLSceneHandler::AddPrimitive (square); + } + } + break; + } + + fProcessingPolymarker = false; +} + void G4OpenGLSceneHandler::AddPrimitive (const G4Text& text) { + // Loads G4Atts for picking... + if (fpViewer->GetViewParameters().IsPicking()) { + G4AttHolder* holder = new G4AttHolder; + LoadAtts(text, holder); + fPickMap[fPickName] = holder; + } + const G4Colour& c = GetTextColour (text); // Picks up default if none. MarkerSizeType sizeType; G4double size = GetMarkerSize (text, sizeType); @@ -200,6 +303,15 @@ void G4OpenGLSceneHandler::AddCircleSquare (const G4VMarker& marker, G4OpenGLBitMapStore::Shape shape) { + if (!fProcessingPolymarker) { // Polymarker has already loaded atts. + // Loads G4Atts for picking... + if (fpViewer->GetViewParameters().IsPicking()) { + G4AttHolder* holder = new G4AttHolder; + LoadAtts(marker, holder); + fPickMap[fPickName] = holder; + } + } + // Note: colour treated in sub-class. if (fpViewer -> GetViewParameters ().IsMarkerNotHidden ()) @@ -260,7 +372,7 @@ void G4OpenGLSceneHandler::AddCircleSquare const GLubyte* marker = G4OpenGLBitMapStore::GetBitMap(shape, size, filled); glPixelStorei(GL_UNPACK_ALIGNMENT, 1); - glBitmap(size, size, size/2., size/2., 0., 0., marker); + glBitmap(GLsizei(size), GLsizei(size), size/2., size/2., 0., 0., marker); } } @@ -298,6 +410,11 @@ void G4OpenGLSceneHandler::DrawXYPolygon glEnd (); } +void G4OpenGLSceneHandler::AddPrimitive (const G4Scale& scale) +{ + G4VSceneHandler::AddPrimitive(scale); +} + //Method for handling G4Polyhedron objects for drawing solids. void G4OpenGLSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) { @@ -306,6 +423,13 @@ void G4OpenGLSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) { if (polyhedron.GetNoFacets() == 0) return; + // Loads G4Atts for picking... + if (fpViewer->GetViewParameters().IsPicking()) { + G4AttHolder* holder = new G4AttHolder; + LoadAtts(polyhedron, holder); + fPickMap[fPickName] = holder; + } + // Get vis attributes - pick up defaults if none. const G4VisAttributes* pVA = fpViewer -> GetApplicableVisAttributes (polyhedron.GetVisAttributes ()); @@ -589,6 +713,13 @@ void G4OpenGLSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) { //Knots and Ctrl Pnts MUST be arrays of GLfloats. void G4OpenGLSceneHandler::AddPrimitive (const G4NURBS& nurb) { + // Loads G4Atts for picking... + if (fpViewer->GetViewParameters().IsPicking()) { + G4AttHolder* holder = new G4AttHolder; + LoadAtts(nurb, holder); + fPickMap[fPickName] = holder; + } + GLUnurbsObj *gl_nurb; gl_nurb = gluNewNurbsRenderer (); diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc b/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc index c9bb0182d6..53ce4a4f34 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredSceneHandler.cc,v 1.32 2007/02/08 14:01:55 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4OpenGLStoredSceneHandler.cc,v 1.34 2007/04/04 16:50:27 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 @@ -45,17 +45,22 @@ #include "G4PhysicalVolumeModel.hh" #include "G4VPhysicalVolume.hh" +#include "G4LogicalVolume.hh" #include "G4Polyline.hh" #include "G4Polymarker.hh" +#include "G4Text.hh" #include "G4Circle.hh" #include "G4Square.hh" +#include "G4Polyhedron.hh" +#include "G4AttHolder.hh" G4OpenGLStoredSceneHandler::G4OpenGLStoredSceneHandler (G4VGraphicsSystem& system, const G4String& name): G4OpenGLSceneHandler (system, fSceneIdCount++, name), fMemoryForDisplayLists (true), fAddPrimitivePreambleNestingDepth (0), -fTopPODL (0) +fTopPODL (0), +fProcessing2D (false) {} G4OpenGLStoredSceneHandler::~G4OpenGLStoredSceneHandler () @@ -68,37 +73,91 @@ void G4OpenGLStoredSceneHandler::AddPrimitivePreamble(const G4Visible& visible) fAddPrimitivePreambleNestingDepth++; if (fAddPrimitivePreambleNestingDepth > 1) return; + // Because of our need to control colour of transients (display by + // time fading), display lists may only cover a single primitive. + // So display list setup is here. + + if (fpViewer->GetViewParameters().IsPicking()) { + fPickMap[++fPickName] = 0; + } + const G4Colour& c = GetColour (visible); - if (fMemoryForDisplayLists && fReadyForTransients) { - - TO& to = fTOList.back(); // Transient object information. - - // Get vis attributes - pick up defaults if none. - const G4VisAttributes* pVA = - fpViewer->GetApplicableVisAttributes(visible.GetVisAttributes()); - - // Get time information from vis attributes. - to.fStartTime = pVA->GetStartTime(); - to.fEndTime = pVA->GetEndTime(); - - // Keep colour out of (already started) display list so that it - // can be applied independently. - glEndList(); - glDeleteLists(fDisplayListId, 1); - to.fColour = c; - glColor3d (c.GetRed (), c.GetGreen (), c.GetBlue ()); - glNewList (fDisplayListId, GL_COMPILE_AND_EXECUTE); - + if (fMemoryForDisplayLists) { + fDisplayListId = glGenLists (1); + if (!fDisplayListId) { // Could pre-allocate? + G4cout << + "********************* WARNING! ********************" + "\nUnable to allocate any more display lists in OpenGL." + "\n Continuing drawing in IMMEDIATE MODE." + "\n***************************************************" + << G4endl; + fMemoryForDisplayLists = false; + } + } + if (fMemoryForDisplayLists) { + if (fReadyForTransients) { + TO to(fDisplayListId, *fpObjectTransformation); + to.fPickName = fPickName; + to.fColour = c; + const G4VisAttributes* pVA = + fpViewer->GetApplicableVisAttributes(visible.GetVisAttributes()); + to.fStartTime = pVA->GetStartTime(); + to.fEndTime = pVA->GetEndTime(); + fTOList.push_back(to); + glDrawBuffer (GL_FRONT); + glPushMatrix(); + G4OpenGLTransform3D oglt (*fpObjectTransformation); + glMultMatrixd (oglt.GetGLMatrix ()); + glColor3d (c.GetRed (), c.GetGreen (), c.GetBlue ()); + glNewList (fDisplayListId, GL_COMPILE_AND_EXECUTE); + } + else { + PO po(fDisplayListId, *fpObjectTransformation); + po.fPickName = fPickName; + fPOList.push_back(po); + glNewList (fDisplayListId, GL_COMPILE); + glColor3d (c.GetRed (), c.GetGreen (), c.GetBlue ()); + } } else { - - // Make sure colour is set in other cases. + glDrawBuffer (GL_FRONT); + glPushMatrix(); + G4OpenGLTransform3D oglt (*fpObjectTransformation); + glMultMatrixd (oglt.GetGLMatrix ()); glColor3d (c.GetRed (), c.GetGreen (), c.GetBlue ()); } + + if (fProcessing2D) { + // Push current 3D world matrices and load identity to define screen + // coordinates... + glMatrixMode (GL_PROJECTION); + glPushMatrix(); + glLoadIdentity(); + glOrtho (-1., 1., -1., 1., -G4OPENGL_DBL_MAX, G4OPENGL_DBL_MAX); + glMatrixMode (GL_MODELVIEW); + glPushMatrix(); + glLoadIdentity(); + } } void G4OpenGLStoredSceneHandler::AddPrimitivePostamble() { + if (fProcessing2D) { + // Pop current 3D world matrices back again... + glMatrixMode (GL_PROJECTION); + glPopMatrix(); + glMatrixMode (GL_MODELVIEW); + glPopMatrix(); + } + + if (fMemoryForDisplayLists) { + glEndList(); + } + if (fReadyForTransients || !fMemoryForDisplayLists) { + glPopMatrix(); + glFlush (); + glDrawBuffer (GL_BACK); + } fAddPrimitivePreambleNestingDepth--; } @@ -109,6 +168,23 @@ void G4OpenGLStoredSceneHandler::AddPrimitive (const G4Polyline& polyline) AddPrimitivePostamble(); } +void G4OpenGLStoredSceneHandler::AddPrimitive (const G4Polymarker& polymarker) +{ + AddPrimitivePreamble(polymarker); + G4OpenGLSceneHandler::AddPrimitive(polymarker); + AddPrimitivePostamble(); +} + +void G4OpenGLStoredSceneHandler::AddPrimitive (const G4Text& text) +{ + // Note: colour is still handled in + // G4OpenGLSceneHandler::AddPrimitive(const G4Text&), so it still + // gets into the display list + AddPrimitivePreamble(text); + G4OpenGLSceneHandler::AddPrimitive(text); + AddPrimitivePostamble(); +} + void G4OpenGLStoredSceneHandler::AddPrimitive (const G4Circle& circle) { AddPrimitivePreamble(circle); @@ -123,116 +199,55 @@ void G4OpenGLStoredSceneHandler::AddPrimitive (const G4Square& square) AddPrimitivePostamble(); } -void G4OpenGLStoredSceneHandler::AddPrimitive (const G4Polymarker& polymarker) +void G4OpenGLStoredSceneHandler::AddPrimitive (const G4Scale& scale) { - AddPrimitivePreamble(polymarker); - G4OpenGLSceneHandler::AddPrimitive(polymarker); + // Let base class split into primitives. + G4OpenGLSceneHandler::AddPrimitive(scale); +} + +void G4OpenGLStoredSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) +{ + // Note: colour is still handled in + // G4OpenGLSceneHandler::AddPrimitive(const G4Polyhedron&), so it still + // gets into the display list + AddPrimitivePreamble(polyhedron); + G4OpenGLSceneHandler::AddPrimitive(polyhedron); + AddPrimitivePostamble(); +} + +void G4OpenGLStoredSceneHandler::AddPrimitive (const G4NURBS& nurbs) +{ + // Note: colour is still handled in + // G4OpenGLSceneHandler::AddPrimitive(const G4NURBS&), so it still + // gets into the display list + AddPrimitivePreamble(nurbs); + G4OpenGLSceneHandler::AddPrimitive(nurbs); AddPrimitivePostamble(); } void G4OpenGLStoredSceneHandler::BeginPrimitives -(const G4Transform3D& objectTransformation) { - - G4VSceneHandler::BeginPrimitives (objectTransformation); +(const G4Transform3D& objectTransformation) +{ + G4OpenGLSceneHandler::BeginPrimitives (objectTransformation); - if (fMemoryForDisplayLists) { - fDisplayListId = glGenLists (1); - if (!fDisplayListId) { // Could pre-allocate? - G4cout << "********************* WARNING! ********************\n" - <<"Unable to allocate any more display lists in OpenGL.\n " - << " Continuing drawing in IMMEDIATE MODE.\n" - << "***************************************************" << G4endl; - fMemoryForDisplayLists = false; - } - } - if (fMemoryForDisplayLists) { - if (fReadyForTransients) { - TO to(fDisplayListId, objectTransformation); - fTOList.push_back(to); - glDrawBuffer (GL_FRONT); - glPushMatrix(); - G4OpenGLTransform3D oglt (objectTransformation); - glMultMatrixd (oglt.GetGLMatrix ()); - glNewList (fDisplayListId, GL_COMPILE_AND_EXECUTE); - } - else { - fPOList.push_back(PO(fDisplayListId, objectTransformation)); - glNewList (fDisplayListId, GL_COMPILE); - } - } else { - glDrawBuffer (GL_FRONT); - glPushMatrix(); - G4OpenGLTransform3D oglt (objectTransformation); - glMultMatrixd (oglt.GetGLMatrix ()); - } + // Display list setup moved to AddPrimitivePreamble. See notes there. } -void G4OpenGLStoredSceneHandler::EndPrimitives () { - if (fMemoryForDisplayLists) { - glEndList(); - } - if (fReadyForTransients || !fMemoryForDisplayLists) { - glPopMatrix(); - glFlush (); - glDrawBuffer (GL_BACK); - } - G4VSceneHandler::EndPrimitives (); +void G4OpenGLStoredSceneHandler::EndPrimitives () +{ + G4OpenGLSceneHandler::EndPrimitives (); } void G4OpenGLStoredSceneHandler::BeginPrimitives2D() { - G4VSceneHandler::BeginPrimitives2D(); - - if (fMemoryForDisplayLists) { - fDisplayListId = glGenLists (1); - if (!fDisplayListId) { // Could pre-allocate? - G4cout << "********************* WARNING! ********************\n" - <<"Unable to allocate any more display lists in OpenGL.\n " - << " Continuing drawing in IMMEDIATE MODE.\n" - << "***************************************************" << G4endl; - fMemoryForDisplayLists = false; - } - } - if (fMemoryForDisplayLists) { - if (fReadyForTransients) { - fTOList.push_back(TO(fDisplayListId)); - glDrawBuffer (GL_FRONT); - glNewList (fDisplayListId, GL_COMPILE_AND_EXECUTE); - } - else { - fPOList.push_back(PO(fDisplayListId)); - glNewList (fDisplayListId, GL_COMPILE); - } - } else { - glDrawBuffer (GL_FRONT); - } - // Push current 3D world matrices and load identity to define screen - // coordinates... - glMatrixMode (GL_PROJECTION); - glPushMatrix(); - glLoadIdentity(); - glOrtho (-1., 1., -1., 1., -G4OPENGL_DBL_MAX, G4OPENGL_DBL_MAX); - glMatrixMode (GL_MODELVIEW); - glPushMatrix(); - glLoadIdentity(); + G4OpenGLSceneHandler::BeginPrimitives2D(); + fProcessing2D = true; } void G4OpenGLStoredSceneHandler::EndPrimitives2D () { - // Pop current 3D world matrices back again... - glMatrixMode (GL_PROJECTION); - glPopMatrix(); - glMatrixMode (GL_MODELVIEW); - glPopMatrix(); - - if (fMemoryForDisplayLists) { - glEndList(); - } - if (fReadyForTransients || !fMemoryForDisplayLists) { - glFlush (); - glDrawBuffer (GL_BACK); - } - G4VSceneHandler::EndPrimitives2D (); + fProcessing2D = false; + G4OpenGLSceneHandler::EndPrimitives2D (); } void G4OpenGLStoredSceneHandler::BeginModeling () { @@ -252,13 +267,14 @@ void G4OpenGLStoredSceneHandler::EndModeling () { "ERROR: G4OpenGLStoredSceneHandler::EndModeling: Failure to allocate" " display List for fTopPODL - try OpenGL Immediated mode." << G4endl; - } - else { + } else { glNewList (fTopPODL, GL_COMPILE_AND_EXECUTE); { for (size_t i = 0; i < fPOList.size (); i++) { glPushMatrix(); G4OpenGLTransform3D oglt (fPOList[i].fTransform); glMultMatrixd (oglt.GetGLMatrix ()); + if (fpViewer->GetViewParameters().IsPicking()) + glLoadName(fPOList[i].fPickName); glCallList (fPOList[i].fDisplayListId); glPopMatrix(); } @@ -287,6 +303,7 @@ void G4OpenGLStoredSceneHandler::ClearStore () { // Clear other lists, dictionary, etc. fPOList.clear (); fSolidMap.clear (); + ClearAndDestroyAtts(); // ...and clear transient store... for (size_t i = 0; i < fTOList.size (); i++) @@ -374,7 +391,22 @@ void G4OpenGLStoredSceneHandler::RequestPrimitives (const G4VSolid& solid) // ...and if the solid has already been rendered... (fSolidMap.find (pSolid) != fSolidMap.end ())) { fDisplayListId = fSolidMap [pSolid]; - fPOList.push_back(PO(fDisplayListId,*fpObjectTransformation)); + PO po(fDisplayListId,*fpObjectTransformation); + if (fpViewer->GetViewParameters().IsPicking()) { + G4AttHolder* holder = new G4AttHolder; + // Load G4Atts from G4VisAttributes, if any... + const G4VisAttributes* va = pPVModel->GetCurrentLV()->GetVisAttributes(); + if (va) { + const std::map* vaDefs = va->GetAttDefs(); + if (vaDefs) holder->AddAtts(va->CreateAttValues(), vaDefs); + } + // Load G4Atts from G4PhysicalVolumeModel... + const std::map* defs = pPVModel->GetAttDefs(); + if (defs) holder->AddAtts(pPVModel->CreateCurrentAttValues(), defs); + fPickMap[++fPickName] = holder; + po.fPickName = fPickName; + } + fPOList.push_back(po); } else { G4VSceneHandler::RequestPrimitives (solid); diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc b/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc index fbe5bc32f0..9fa955a7e5 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredViewer.cc,v 1.21 2007/02/08 14:01:55 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4OpenGLStoredViewer.cc,v 1.23 2007/04/04 16:50:27 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 7th February 1997 @@ -87,11 +87,11 @@ G4bool G4OpenGLStoredViewer::CompareForKernelVisit(G4ViewParameters& lastVP) { (lastVP.IsExplode () != fVP.IsExplode ()) || (lastVP.GetNoOfSides () != fVP.GetNoOfSides ()) || (lastVP.IsMarkerNotHidden () != fVP.IsMarkerNotHidden ()) || - (lastVP.GetBackgroundColour ()!= fVP.GetBackgroundColour ()) - ) { + (lastVP.GetBackgroundColour ()!= fVP.GetBackgroundColour ())|| + (lastVP.IsPicking () != fVP.IsPicking ()) + ) return true; - } - + if (lastVP.IsDensityCulling () && (lastVP.GetVisibleDensity () != fVP.GetVisibleDensity ())) return true; @@ -141,7 +141,7 @@ void G4OpenGLStoredViewer::DrawDisplayLists () { glEnable (GL_CLIP_PLANE2); } - if (fG4OpenGLStoredSceneHandler.fTopPODL) + if (fG4OpenGLStoredSceneHandler.fTopPODL) glCallList (fG4OpenGLStoredSceneHandler.fTopPODL); for (size_t i = 0; i < fG4OpenGLStoredSceneHandler.fTOList.size(); ++i) { @@ -151,6 +151,7 @@ void G4OpenGLStoredViewer::DrawDisplayLists () { glPushMatrix(); G4OpenGLTransform3D oglt (to.fTransform); glMultMatrixd (oglt.GetGLMatrix ()); + if (fVP.IsPicking()) glLoadName(to.fPickName); G4Colour& c = to.fColour; G4double bsf = 1.; // Brightness scaling factor. if (fFadeFactor > 0. && to.fEndTime < fEndTime) @@ -182,7 +183,8 @@ void G4OpenGLStoredViewer::DrawDisplayLists () { fDisplayHeadTimeGreen, fDisplayHeadTimeBlue)); headTimeText.SetVisAttributes(&visAtts); - fG4OpenGLStoredSceneHandler.AddPrimitive(headTimeText); + static_cast(fSceneHandler). + G4OpenGLSceneHandler::AddPrimitive(headTimeText); glMatrixMode (GL_PROJECTION); glPopMatrix(); glMatrixMode (GL_MODELVIEW); diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredWin32.cc b/source/visualization/OpenGL/src/G4OpenGLStoredWin32.cc index 3c1162cc41..c773116577 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredWin32.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredWin32.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLStoredWin32.cc,v 1.14 2006/08/14 12:07:19 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // OpenGLStoredWin32 graphics system factory. diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredWin32Viewer.cc b/source/visualization/OpenGL/src/G4OpenGLStoredWin32Viewer.cc index bb2b38955e..7ced16f166 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredWin32Viewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredWin32Viewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredWin32Viewer.cc,v 1.18 2006/09/04 12:07:59 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4OpenGLStoredWin32Viewer.cc,v 1.19 2007/04/04 16:50:27 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Class G4OpenGLStoredWin32Viewer : a class derived from G4OpenGLWin32Viewer and @@ -122,7 +122,9 @@ void G4OpenGLStoredWin32Viewer::FinishView ( if(!fHDC) return; glFlush (); - ::SwapBuffers(fHDC); + GLint renderMode; + glGetIntegerv(GL_RENDER_MODE, &renderMode); + if (renderMode == GL_RENDER) ::SwapBuffers(fHDC); // Empty the Windows message queue : MSG event; diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredX.cc b/source/visualization/OpenGL/src/G4OpenGLStoredX.cc index 89628955c5..3e309eaea3 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredX.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredX.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLStoredX.cc,v 1.13 2006/08/14 12:07:19 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc b/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc index a8c979b826..96ca75c86c 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredXViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredXViewer.cc,v 1.21 2006/09/04 12:07:59 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4OpenGLStoredXViewer.cc,v 1.22 2007/04/04 16:50:27 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 7th February 1997 @@ -125,7 +125,9 @@ void G4OpenGLStoredXViewer::DrawView () { void G4OpenGLStoredXViewer::FinishView () { glXWaitGL (); //Wait for effects of all previous OpenGL commands to //be propogated before progressing. - glXSwapBuffers (dpy, win); + GLint renderMode; + glGetIntegerv(GL_RENDER_MODE, &renderMode); + if (renderMode == GL_RENDER) glXSwapBuffers (dpy, win); } #endif diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredXm.cc b/source/visualization/OpenGL/src/G4OpenGLStoredXm.cc index 1762f74427..5de62901a9 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredXm.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredXm.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLStoredXm.cc,v 1.11 2006/08/14 12:07:19 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc b/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc index 1fbd051033..55e5dada46 100644 --- a/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLStoredXmViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLStoredXmViewer.cc,v 1.21 2006/09/04 12:07:59 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4OpenGLStoredXmViewer.cc,v 1.22 2007/04/04 16:50:27 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 @@ -130,7 +130,9 @@ void G4OpenGLStoredXmViewer::DrawView () { void G4OpenGLStoredXmViewer::FinishView () { glXWaitGL (); //Wait for effects of all previous OpenGL commands to //be propogated before progressing. - glXSwapBuffers (dpy, win); + GLint renderMode; + glGetIntegerv(GL_RENDER_MODE, &renderMode); + if (renderMode == GL_RENDER) glXSwapBuffers (dpy, win); } #endif diff --git a/source/visualization/OpenGL/src/G4OpenGLTransform3D.cc b/source/visualization/OpenGL/src/G4OpenGLTransform3D.cc index c6d6f88899..bcf3f68135 100644 --- a/source/visualization/OpenGL/src/G4OpenGLTransform3D.cc +++ b/source/visualization/OpenGL/src/G4OpenGLTransform3D.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLTransform3D.cc,v 1.8 2006/06/29 21:19:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 24th October 1996 diff --git a/source/visualization/OpenGL/src/G4OpenGLViewer.cc b/source/visualization/OpenGL/src/G4OpenGLViewer.cc index 5121b4dcb5..bed643cc4f 100644 --- a/source/visualization/OpenGL/src/G4OpenGLViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLViewer.cc,v 1.30 2007/02/08 14:01:55 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4OpenGLViewer.cc,v 1.34 2007/05/24 18:27:13 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 27th March 1996 @@ -45,9 +45,46 @@ #include "G4Point3D.hh" #include "G4Normal3D.hh" #include "G4Plane3D.hh" +#include "G4AttHolder.hh" +#include "G4AttCheck.hh" +#include + +static const char* gouraudtriangleEPS[] = +{ + "/bd{bind def}bind def /triangle { aload pop setrgbcolor aload pop 5 3", + "roll 4 2 roll 3 2 roll exch moveto lineto lineto closepath fill } bd", + "/computediff1 { 2 copy sub abs threshold ge {pop pop pop true} { exch 2", + "index sub abs threshold ge { pop pop true} { sub abs threshold ge } ifelse", + "} ifelse } bd /computediff3 { 3 copy 0 get 3 1 roll 0 get 3 1 roll 0 get", + "computediff1 {true} { 3 copy 1 get 3 1 roll 1 get 3 1 roll 1 get", + "computediff1 {true} { 3 copy 2 get 3 1 roll 2 get 3 1 roll 2 get", + "computediff1 } ifelse } ifelse } bd /middlecolor { aload pop 4 -1 roll", + "aload pop 4 -1 roll add 2 div 5 1 roll 3 -1 roll add 2 div 3 1 roll add 2", + "div 3 1 roll exch 3 array astore } bd /gouraudtriangle { computediff3 { 4", + "-1 roll aload 7 1 roll 6 -1 roll pop 3 -1 roll pop add 2 div 3 1 roll add", + "2 div exch 3 -1 roll aload 7 1 roll exch pop 4 -1 roll pop add 2 div 3 1", + "roll add 2 div exch 3 -1 roll aload 7 1 roll pop 3 -1 roll pop add 2 div 3", + "1 roll add 2 div exch 7 3 roll 10 -3 roll dup 3 index middlecolor 4 1 roll", + "2 copy middlecolor 4 1 roll 3 copy pop middlecolor 4 1 roll 13 -1 roll", + "aload pop 17 index 6 index 15 index 19 index 6 index 17 index 6 array", + "astore 10 index 10 index 14 index gouraudtriangle 17 index 5 index 17", + "index 19 index 5 index 19 index 6 array astore 10 index 9 index 13 index", + "gouraudtriangle 13 index 16 index 5 index 15 index 18 index 5 index 6", + "array astore 12 index 12 index 9 index gouraudtriangle 17 index 16 index", + "15 index 19 index 18 index 17 index 6 array astore 10 index 12 index 14", + "index gouraudtriangle 18 {pop} repeat } { aload pop 5 3 roll aload pop 7 3", + "roll aload pop 9 3 roll 4 index 6 index 4 index add add 3 div 10 1 roll 7", + "index 5 index 3 index add add 3 div 10 1 roll 6 index 4 index 2 index add", + "add 3 div 10 1 roll 9 {pop} repeat 3 array astore triangle } ifelse } bd", + NULL +}; G4OpenGLViewer::G4OpenGLViewer (G4OpenGLSceneHandler& scene): G4VViewer (scene, -1), +pointSize (0), +print_colour (true), +vectored_ps (true), +fOpenGLSceneHandler(scene), background (G4Colour(0.,0.,0.)), transparency_enabled (true), antialiasing_enabled (false), @@ -81,6 +118,7 @@ fDisplayLightFrontBlue(0.) // glDisable (GL_LINE_SMOOTH); // glDisable (GL_POLYGON_SMOOTH); + strcpy (print_string, "G4OpenGL.eps"); } G4OpenGLViewer::~G4OpenGLViewer () {} @@ -272,4 +310,533 @@ void G4OpenGLViewer::HaloingSecondPass () { } +void G4OpenGLViewer::Pick(GLdouble x, GLdouble y) +{ + //G4cout << "X: " << x << ", Y: " << y << G4endl; + const G4int BUFSIZE = 512; + GLuint selectBuffer[BUFSIZE]; + glSelectBuffer(BUFSIZE, selectBuffer); + glRenderMode(GL_SELECT); + glInitNames(); + glPushName(0); + glMatrixMode(GL_PROJECTION); + G4double currentProjectionMatrix[16]; + glGetDoublev(GL_PROJECTION_MATRIX, currentProjectionMatrix); + glPushMatrix(); + glLoadIdentity(); + GLint viewport[4]; + glGetIntegerv(GL_VIEWPORT, viewport); + // Define 5x5 pixel pick area + gluPickMatrix(x, viewport[3] - y, 5., 5., viewport); + glMultMatrixd(currentProjectionMatrix); + glMatrixMode(GL_MODELVIEW); + DrawView(); + GLint hits = glRenderMode(GL_RENDER); + if (hits < 0) + G4cout << "Too many hits. Zoom in to reduce overlaps." << G4cout; + else if (hits > 0) { + //G4cout << hits << " hit(s)" << G4endl; + GLuint* p = selectBuffer; + for (GLint i = 0; i < hits; ++i) { + GLuint nnames = *p++; + *p++; //OR GLuint zmin = *p++; + *p++; //OR GLuint zmax = *p++; + //G4cout << "Hit " << i << ": " << nnames << " names" + // << "\nzmin: " << zmin << ", zmax: " << zmax << G4endl; + for (GLuint j = 0; j < nnames; ++j) { + GLuint name = *p++; + //G4cout << "Name " << j << ": PickName: " << name << G4endl; + std::map::iterator iter = + fOpenGLSceneHandler.fPickMap.find(name); + if (iter != fOpenGLSceneHandler.fPickMap.end()) { + G4AttHolder* attHolder = iter->second; + if(attHolder && attHolder->GetAttDefs().size()) { + for (size_t i = 0; i < attHolder->GetAttDefs().size(); ++i) { + G4cout << G4AttCheck(attHolder->GetAttValues()[i], + attHolder->GetAttDefs()[i]); + } + } + } + } + G4cout << G4endl; + } + } + glMatrixMode(GL_PROJECTION); + glPopMatrix(); + glMatrixMode(GL_MODELVIEW); +} + +void G4OpenGLViewer::print() { + + // Print vectored PostScript + + G4int size = 5000000; + + GLfloat* feedback_buffer; + GLint returned; + FILE* file; + + feedback_buffer = new GLfloat[size]; + glFeedbackBuffer (size, GL_3D_COLOR, feedback_buffer); + glRenderMode (GL_FEEDBACK); + + DrawView(); + returned = glRenderMode (GL_RENDER); + + if (print_string) { + file = fopen (print_string, "w"); + if (file) { + spewWireframeEPS (file, returned, feedback_buffer, "rendereps"); + } else { + printf("Could not open %s\n", print_string); + } + } else { + printBuffer (returned, feedback_buffer); + } + + delete[] feedback_buffer; +} + +void G4OpenGLViewer::print3DcolorVertex(GLint size, GLint * count, GLfloat * buffer) +{ + G4int i; + + printf(" "); + for (i = 0; i < 7; i++) { + printf("%4.2f ", buffer[size - (*count)]); + *count = *count - 1; + } + printf("\n"); +} + +void G4OpenGLViewer::spewWireframeEPS (FILE* file, GLint size, GLfloat* buffer, const char* cr) { + + GLfloat EPS_GOURAUD_THRESHOLD=0.1; + + GLfloat clearColor[4], viewport[4]; + GLfloat lineWidth; + G4int i; + + glGetFloatv (GL_VIEWPORT, viewport); + glGetFloatv (GL_COLOR_CLEAR_VALUE, clearColor); + glGetFloatv (GL_LINE_WIDTH, &lineWidth); + glGetFloatv (GL_POINT_SIZE, &pointSize); + + fputs ("%!PS-Adobe-2.0 EPSF-2.0\n", file); + fprintf (file, "%%%%Creator: %s (using OpenGL feedback)\n", cr); + fprintf (file, "%%%%BoundingBox: %g %g %g %g\n", viewport[0], viewport[1], viewport[2], viewport[3]); + fputs ("%%EndComments\n", file); + fputs ("\n", file); + fputs ("gsave\n", file); + fputs ("\n", file); + + fputs ("% the gouraudtriangle PostScript fragment below is free\n", file); + fputs ("% written by Frederic Delhoume (delhoume@ilog.fr)\n", file); + fprintf (file, "/threshold %g def\n", EPS_GOURAUD_THRESHOLD); + for (i=0; gouraudtriangleEPS[i]; i++) { + fprintf (file, "%s\n", gouraudtriangleEPS[i]); + } + + fprintf(file, "\n%g setlinewidth\n", lineWidth); + + fprintf (file, "%g %g %g setrgbcolor\n", clearColor[0], clearColor[1], clearColor[2]); + fprintf (file, "%g %g %g %g rectfill\n\n", viewport[0], viewport[1], viewport[2], viewport[3]); + + spewSortedFeedback (file, size, buffer); + + fputs ("grestore\n\n", file); + fputs ("showpage\n", file); + + fclose(file); +} + +void G4OpenGLViewer::printBuffer (GLint size, GLfloat* buffer) { + + GLint count; + G4int token, nvertices; + + count=size; + while(count) { + token=G4int (buffer[size-count]); + count--; + switch (token) { + + case GL_PASS_THROUGH_TOKEN: + printf ("GL_PASS_THROUGH_TOKEN\n"); + printf (" %4.2f\n", buffer[size-count]); + count--; + break; + + case GL_POINT_TOKEN: + printf ("GL_POINT_TOKEN\n"); + print3DcolorVertex (size, &count, buffer); + break; + + case GL_LINE_TOKEN: + printf ("GL_LINE_TOKEN\n"); + print3DcolorVertex (size, &count, buffer); + print3DcolorVertex (size, &count, buffer); + break; + + case GL_LINE_RESET_TOKEN: + printf ("GL_LINE_RESET_TOKEN\n"); + print3DcolorVertex (size, &count, buffer); + print3DcolorVertex (size, &count, buffer); + break; + + case GL_POLYGON_TOKEN: + printf ("GL_POLYGON_TOKEN\n"); + nvertices=G4int (buffer[size-count]); + count--; + for (; nvertices>0; nvertices--) { + print3DcolorVertex (size, &count, buffer); + } + } + } +} + +G4float* G4OpenGLViewer::spewPrimitiveEPS (FILE* file, GLfloat* loc) { + + G4int token; + G4int nvertices, i; + GLfloat red, green, blue, intensity; + G4int smooth; + GLfloat dx, dy, dr, dg, db, absR, absG, absB, colormax; + G4int steps; + Feedback3Dcolor *vertex; + GLfloat xstep(0.), ystep(0.), rstep(0.), gstep(0.), bstep(0.); + GLfloat xnext(0.), ynext(0.), rnext(0.), gnext(0.), bnext(0.), distance(0.); + + token=G4int (*loc); + loc++; + switch (token) { + case GL_LINE_RESET_TOKEN: + case GL_LINE_TOKEN: + vertex=(Feedback3Dcolor*)loc; + dr=vertex[1].red - vertex[0].red; + dg=vertex[1].green - vertex[0].green; + db=vertex[1].blue - vertex[0].blue; + + if (!print_colour) { + dr+=(dg+db); + dr/=3.0; + dg=dr; + db=dr; + } + + if (dr!=0 || dg!=0 || db!=0) { + dx=vertex[1].x - vertex[0].x; + dy=vertex[1].y - vertex[0].y; + distance=std::sqrt(dx*dx + dy*dy); + + absR=std::fabs(dr); + absG=std::fabs(dg); + absB=std::fabs(db); + + #define Max(a, b) (((a)>(b))?(a):(b)) + + #define EPS_SMOOTH_LINE_FACTOR 0.06 + + colormax=Max(absR, Max(absG, absB)); + steps=Max(1, G4int (colormax*distance*EPS_SMOOTH_LINE_FACTOR)); + + xstep=dx/steps; + ystep=dy/steps; + + rstep=dr/steps; + gstep=dg/steps; + bstep=db/steps; + + xnext=vertex[0].x; + ynext=vertex[0].y; + rnext=vertex[0].red; + gnext=vertex[0].green; + bnext=vertex[0].blue; + + if (!print_colour) { + rnext+=(gnext+bnext); + rnext/=3.0; + gnext=rnext; + bnext=rnext; + } + + xnext -= xstep/2.0; + ynext -= ystep/2.0; + rnext -= rstep/2.0; + gnext -= gstep/2.0; + bnext -= bstep/2.0; + } else { + steps=0; + } + if (print_colour) { + fprintf (file, "%g %g %g setrgbcolor\n", + vertex[0].red, vertex[0].green, vertex[0].blue); + } else { + intensity = (vertex[0].red + vertex[0].green + vertex[0].blue) / 3.0; + fprintf (file, "%g %g %g setrgbcolor\n", + intensity, intensity, intensity); + } + fprintf (file, "%g %g moveto\n", vertex[0].x, vertex[0].y); + + for (i=0; i0) { + red=vertex[0].red; + green=vertex[0].green; + blue=vertex[0].blue; + smooth=0; + + if (!print_colour) { + red+=(green+blue); + red/=3.0; + green=red; + blue=red; + } + + if (print_colour) { + for (i=1; idepth - p1->depth; + + if (diff > 0.0) { + return 1; + } else if (diff < 0.0) { + return -1; + } else { + return 0; + } + } +} + +void G4OpenGLViewer::spewSortedFeedback(FILE * file, GLint size, GLfloat * buffer) +{ + int token; + GLfloat *loc, *end; + Feedback3Dcolor *vertex; + GLfloat depthSum; + int nprimitives, item; + DepthIndex *prims; + int nvertices, i; + + end = buffer + size; + + /* Count how many primitives there are. */ + nprimitives = 0; + loc = buffer; + while (loc < end) { + token = int (*loc); + loc++; + switch (token) { + case GL_LINE_TOKEN: + case GL_LINE_RESET_TOKEN: + loc += 14; + nprimitives++; + break; + case GL_POLYGON_TOKEN: + nvertices = int (*loc); + loc++; + loc += (7 * nvertices); + nprimitives++; + break; + case GL_POINT_TOKEN: + loc += 7; + nprimitives++; + break; + default: + /* XXX Left as an excersie to the reader. */ + static G4bool spewSortedFeedbackWarned = false; + if (!spewSortedFeedbackWarned) { + std::ostringstream oss; + oss << + "Incomplete implementation. Unexpected token (" << token << ")." + "\n (Seems to be caused by text.)"; + G4Exception("G4OpenGLViewer::spewSortedFeedback", + "Unexpected token", + JustWarning, + oss.str().c_str()); + spewSortedFeedbackWarned = true; + } + nprimitives++; + } + } + + /* Allocate an array of pointers that will point back at + primitives in the feedback buffer. There will be one + entry per primitive. This array is also where we keep the + primitive's average depth. There is one entry per + primitive in the feedback buffer. */ + prims = (DepthIndex *) malloc(sizeof(DepthIndex) * nprimitives); + + item = 0; + loc = buffer; + while (loc < end) { + prims[item].ptr = loc; /* Save this primitive's location. */ + token = int (*loc); + loc++; + switch (token) { + case GL_LINE_TOKEN: + case GL_LINE_RESET_TOKEN: + vertex = (Feedback3Dcolor *) loc; + depthSum = vertex[0].z + vertex[1].z; + prims[item].depth = depthSum / 2.0; + loc += 14; + break; + case GL_POLYGON_TOKEN: + nvertices = int (*loc); + loc++; + vertex = (Feedback3Dcolor *) loc; + depthSum = vertex[0].z; + for (i = 1; i < nvertices; i++) { + depthSum += vertex[i].z; + } + prims[item].depth = depthSum / nvertices; + loc += (7 * nvertices); + break; + case GL_POINT_TOKEN: + vertex = (Feedback3Dcolor *) loc; + prims[item].depth = vertex[0].z; + loc += 7; + break; + default: + /* XXX Left as an excersie to the reader. */ + assert(1); + } + item++; + } + assert(item == nprimitives); + + /* Sort the primitives back to front. */ + qsort(prims, nprimitives, sizeof(DepthIndex), G4OpenGLViewercompare); + + /* Understand that sorting by a primitives average depth + doesn't allow us to disambiguate some cases like self + intersecting polygons. Handling these cases would require + breaking up the primitives. That's too involved for this + example. Sorting by depth is good enough for lots of + applications. */ + + /* Emit the Encapsulated PostScript for the primitives in + back to front order. */ + for (item = 0; item < nprimitives; item++) { + (void) spewPrimitiveEPS(file, prims[item].ptr); + } + + free(prims); +} + #endif diff --git a/source/visualization/OpenGL/src/G4OpenGLViewerMessenger.cc b/source/visualization/OpenGL/src/G4OpenGLViewerMessenger.cc index 60d05c8881..f03c7597eb 100644 --- a/source/visualization/OpenGL/src/G4OpenGLViewerMessenger.cc +++ b/source/visualization/OpenGL/src/G4OpenGLViewerMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLViewerMessenger.cc,v 1.6 2007/02/08 14:01:55 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4OpenGLViewerMessenger.cc,v 1.8 2007/05/16 15:59:58 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4OpenGLViewerMessenger.hh" @@ -34,8 +34,10 @@ #include "G4UImanager.hh" #include "G4UIcommand.hh" #include "G4UIdirectory.hh" +#include "G4UIcmdWithoutParameter.hh" #include "G4UIcmdWithADouble.hh" #include "G4UIcmdWithABool.hh" +#include "G4UIcmdWithAString.hh" #include "G4VisManager.hh" #include @@ -56,6 +58,13 @@ G4OpenGLViewerMessenger::G4OpenGLViewerMessenger() fpDirectory = new G4UIdirectory("/vis/ogl/"); fpDirectory->SetGuidance("G4OpenGLViewer commands."); + fpCommandPrintEPS = + new G4UIcmdWithoutParameter("/vis/ogl/printEPS", this); + fpCommandPrintEPS->SetGuidance("Print Encapsulated PostScript file."); + fpCommandPrintEPS->SetGuidance + ("Generates files with names G4OpenGL_n.eps, where n is a sequence" + "\nnumber, starting at 0."); + fpDirectorySet = new G4UIdirectory ("/vis/ogl/set/"); fpDirectorySet->SetGuidance("G4OpenGLViewer set commands."); @@ -164,6 +173,13 @@ G4OpenGLViewerMessenger::G4OpenGLViewerMessenger() fpCommandFade->SetRange("fadefactor>=0.&&fadefactor<=1."); fpCommandFade->SetDefaultValue(0.); + fpCommandPrintMode = new G4UIcmdWithAString + ("/vis/ogl/set/printMode",this); + fpCommandPrintMode->SetGuidance("Set print mode"); + fpCommandPrintMode->SetParameterName("print_mode",omitable = true); + fpCommandPrintMode->SetCandidates("vectored pixmap"); + fpCommandPrintMode->SetDefaultValue("vectored"); + fpCommandStartTime = new G4UIcommand("/vis/ogl/set/startTime", this); fpCommandStartTime->SetGuidance("Set start and range of track time."); @@ -191,6 +207,7 @@ G4OpenGLViewerMessenger::G4OpenGLViewerMessenger() G4OpenGLViewerMessenger::~G4OpenGLViewerMessenger () { + delete fpCommandPrintMode; delete fpCommandTransparency; delete fpCommandStartTime; delete fpCommandFade; @@ -198,6 +215,7 @@ G4OpenGLViewerMessenger::~G4OpenGLViewerMessenger () delete fpCommandDisplayLightFront; delete fpCommandDisplayHeadTime; delete fpDirectorySet; + delete fpCommandPrintEPS; delete fpDirectory; } @@ -226,6 +244,24 @@ void G4OpenGLViewerMessenger::SetNewValue return; } + if (command == fpCommandPrintEPS) + { + // Keep copy of print_string to preserve Xm behaviour... + char* tmp_string = new char[50]; + strcpy (tmp_string, pOGLViewer->print_string); + // Make new print string... + static G4int file_count = 0; + std::ostringstream oss; + oss << "G4OpenGL_" << file_count++ << ".eps"; + strcpy (pOGLViewer->print_string, oss.str().c_str()); + // Print eps file... + pOGLViewer->print(); + // Restore print_string for Xm... + strcpy (pOGLViewer->print_string, tmp_string); + delete tmp_string; + return; + } + G4OpenGLStoredViewer* pViewer = dynamic_cast(pVViewer); @@ -302,6 +338,19 @@ void G4OpenGLViewerMessenger::SetNewValue G4UImanager::GetUIpointer()->ApplyCommand("/vis/viewer/refresh"); } + if (command == fpCommandPrintMode) + { + if (newValue == "vectored") pViewer->vectored_ps = true; + if (newValue == "pixmap") { + pViewer->vectored_ps = false; + if (pVisManager->GetVerbosity() >= G4VisManager::warnings) { + G4cout << + "WARNING: Only implemented for X Windows at present." + << G4endl; + } + } + } + if (command == fpCommandStartTime) { G4String start_time_string, start_time_unit, diff --git a/source/visualization/OpenGL/src/G4OpenGLWin32Viewer.cc b/source/visualization/OpenGL/src/G4OpenGLWin32Viewer.cc index 43228ac52c..56858c2713 100644 --- a/source/visualization/OpenGL/src/G4OpenGLWin32Viewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLWin32Viewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLWin32Viewer.cc,v 1.17 2006/06/29 21:19:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // G4OpenGLWin32Viewer : Class to provide WindowsNT specific diff --git a/source/visualization/OpenGL/src/G4OpenGLXViewer.cc b/source/visualization/OpenGL/src/G4OpenGLXViewer.cc index c2b99a7cff..c161ac9a7f 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXViewer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLXViewer.cc,v 1.36 2007/02/08 13:47:22 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4OpenGLXViewer.cc,v 1.42 2007/05/25 10:47:17 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 7th February 1997 @@ -76,41 +76,11 @@ int G4OpenGLXViewer::dblBuf_RGBA[13] = #define USE_DEFAULT_COLORMAP 1 #define USE_STANDARD_COLORMAP 0 -static const char* gouraudtriangleEPS[] = -{ - "/bd{bind def}bind def /triangle { aload pop setrgbcolor aload pop 5 3", - "roll 4 2 roll 3 2 roll exch moveto lineto lineto closepath fill } bd", - "/computediff1 { 2 copy sub abs threshold ge {pop pop pop true} { exch 2", - "index sub abs threshold ge { pop pop true} { sub abs threshold ge } ifelse", - "} ifelse } bd /computediff3 { 3 copy 0 get 3 1 roll 0 get 3 1 roll 0 get", - "computediff1 {true} { 3 copy 1 get 3 1 roll 1 get 3 1 roll 1 get", - "computediff1 {true} { 3 copy 2 get 3 1 roll 2 get 3 1 roll 2 get", - "computediff1 } ifelse } ifelse } bd /middlecolor { aload pop 4 -1 roll", - "aload pop 4 -1 roll add 2 div 5 1 roll 3 -1 roll add 2 div 3 1 roll add 2", - "div 3 1 roll exch 3 array astore } bd /gouraudtriangle { computediff3 { 4", - "-1 roll aload 7 1 roll 6 -1 roll pop 3 -1 roll pop add 2 div 3 1 roll add", - "2 div exch 3 -1 roll aload 7 1 roll exch pop 4 -1 roll pop add 2 div 3 1", - "roll add 2 div exch 3 -1 roll aload 7 1 roll pop 3 -1 roll pop add 2 div 3", - "1 roll add 2 div exch 7 3 roll 10 -3 roll dup 3 index middlecolor 4 1 roll", - "2 copy middlecolor 4 1 roll 3 copy pop middlecolor 4 1 roll 13 -1 roll", - "aload pop 17 index 6 index 15 index 19 index 6 index 17 index 6 array", - "astore 10 index 10 index 14 index gouraudtriangle 17 index 5 index 17", - "index 19 index 5 index 19 index 6 array astore 10 index 9 index 13 index", - "gouraudtriangle 13 index 16 index 5 index 15 index 18 index 5 index 6", - "array astore 12 index 12 index 9 index gouraudtriangle 17 index 16 index", - "15 index 19 index 18 index 17 index 6 array astore 10 index 12 index 14", - "index gouraudtriangle 18 {pop} repeat } { aload pop 5 3 roll aload pop 7 3", - "roll aload pop 9 3 roll 4 index 6 index 4 index add add 3 div 10 1 roll 7", - "index 5 index 3 index add add 3 div 10 1 roll 6 index 4 index 2 index add", - "add 3 div 10 1 roll 9 {pop} repeat 3 array astore triangle } ifelse } bd", - NULL -}; - XVisualInfo* G4OpenGLXViewer::vi_single_buffer = 0; XVisualInfo* G4OpenGLXViewer::vi_double_buffer = 0; extern "C" { - Bool G4OpenGLXViewerWaitForNotify (Display*, XEvent* e, char* arg) { + static Bool G4OpenGLXViewerWaitForNotify (Display*, XEvent* e, char* arg) { return (e->type == MapNotify) && (e->xmap.window == (Window) arg); } } @@ -124,6 +94,21 @@ void G4OpenGLXViewer::ShowView () { glXWaitGL (); //Wait for effects of all previous OpenGL commands to //be propagated before progressing. glFlush (); + + if (fVP.IsPicking()) { + G4cout << + "Window activated for picking (left-mouse), exit (middle-mouse)." + << G4endl; + while (true) { + if (XPending(dpy)) { + XNextEvent(dpy, &event); + if (event.type == ButtonPress && event.xbutton.button == 1) { + Pick(event.xbutton.x, event.xbutton.y); + } + else if (event.type == ButtonPress && event.xbutton.button == 2) break; + } + } + } } void G4OpenGLXViewer::GetXConnection () { @@ -307,7 +292,17 @@ void G4OpenGLXViewer::CreateMainWindow () { XIfEvent (dpy, &event, G4OpenGLXViewerWaitForNotify, (char*) win); // connect the context to a window - glXMakeCurrent (dpy, win, cx); + Bool success = glXMakeCurrent (dpy, win, cx); + if (!success) { + fViewId = -1; // This flags an error. + G4cerr << "G4OpenGLViewer::G4OpenGLViewer failed to attach a GLX context." + << G4endl; + GLint error = GL_NO_ERROR; + while ((error = glGetError()) != GL_NO_ERROR) { + G4cout << "GL Error: " << gluErrorString(error) << G4endl; + } + return; + } } @@ -351,15 +346,11 @@ void G4OpenGLXViewer::CreateFontLists () { G4OpenGLXViewer::G4OpenGLXViewer (G4OpenGLSceneHandler& scene): G4VViewer (scene, -1), G4OpenGLViewer (scene), -print_colour (true), -vectored_ps (true), vi_immediate (0), vi_stored (0), +vi (0), cmap (0) { - - strcpy (print_string, "G4OpenGL.eps"); - GetXConnection (); if (fViewId < 0) return; @@ -442,36 +433,19 @@ void G4OpenGLXViewer::print() { //cout << "print_col_callback requested with file name: " << print_string << G4endl; if (vectored_ps) { - G4int size = 5000000; - - GLfloat* feedback_buffer; - GLint returned; - FILE* file; - - feedback_buffer = new GLfloat[size]; - glFeedbackBuffer (size, GL_3D_COLOR, feedback_buffer); - glRenderMode (GL_FEEDBACK); - - DrawView(); - returned = glRenderMode (GL_RENDER); - - if (print_string) { - file = fopen (print_string, "w"); - if (file) { - spewWireframeEPS (file, returned, feedback_buffer, "rendereps"); - } else { - printf("Could not open %s\n", print_string); - } - } else { - printBuffer (returned, feedback_buffer); - } - // free (feedback_buffer); - delete[] feedback_buffer; + + G4OpenGLViewer::print(); } else { XVisualInfo* pvi; GLXContext pcx = create_GL_print_context(pvi); + + if (!pcx) { + G4cout << "Unable to create print context." << G4endl; + return; + } + GLXContext tmp_cx; tmp_cx = cx; cx=pcx; @@ -496,6 +470,7 @@ void G4OpenGLXViewer::print() { glViewport (0, 0, WinSize_x, WinSize_y); ClearView (); + SetView (); DrawView (); generateEPS (print_string, @@ -513,464 +488,53 @@ void G4OpenGLXViewer::print() { } -void G4OpenGLXViewer::print3DcolorVertex(GLint size, GLint * count, GLfloat * buffer) -{ - G4int i; - - printf(" "); - for (i = 0; i < 7; i++) { - printf("%4.2f ", buffer[size - (*count)]); - *count = *count - 1; - } - printf("\n"); -} - -void G4OpenGLXViewer::spewWireframeEPS (FILE* file, GLint size, GLfloat* buffer, const char* cr) { - - GLfloat EPS_GOURAUD_THRESHOLD=0.1; - - GLfloat clearColor[4], viewport[4]; - GLfloat lineWidth; - G4int i; - - glGetFloatv (GL_VIEWPORT, viewport); - glGetFloatv (GL_COLOR_CLEAR_VALUE, clearColor); - glGetFloatv (GL_LINE_WIDTH, &lineWidth); - glGetFloatv (GL_POINT_SIZE, &pointSize); - - fputs ("%!PS-Adobe-2.0 EPSF-2.0\n", file); - fprintf (file, "%%%%Creator: %s (using OpenGL feedback)\n", cr); - fprintf (file, "%%%%BoundingBox: %g %g %g %g\n", viewport[0], viewport[1], viewport[2], viewport[3]); - fputs ("%%EndComments\n", file); - fputs ("\n", file); - fputs ("gsave\n", file); - fputs ("\n", file); - - fputs ("% the gouraudtriangle PostScript fragment below is free\n", file); - fputs ("% written by Frederic Delhoume (delhoume@ilog.fr)\n", file); - fprintf (file, "/threshold %g def\n", EPS_GOURAUD_THRESHOLD); - for (i=0; gouraudtriangleEPS[i]; i++) { - fprintf (file, "%s\n", gouraudtriangleEPS[i]); - } - - fprintf(file, "\n%g setlinewidth\n", lineWidth); +GLubyte* G4OpenGLXViewer::grabPixels (int inColor, unsigned int width, unsigned int height) { - fprintf (file, "%g %g %g setrgbcolor\n", clearColor[0], clearColor[1], clearColor[2]); - fprintf (file, "%g %g %g %g rectfill\n\n", viewport[0], viewport[1], viewport[2], viewport[3]); + GLubyte* buffer; + GLint swapbytes, lsbfirst, rowlength; + GLint skiprows, skippixels, alignment; + GLenum format; + int size; - spewSortedFeedback (file, size, buffer); - - fputs ("grestore\n\n", file); - fputs ("showpage\n", file); - - fclose(file); -} - -void G4OpenGLXViewer::printBuffer (GLint size, GLfloat* buffer) { - - GLint count; - G4int token, nvertices; - - count=size; - while(count) { - token=G4int (buffer[size-count]); - count--; - switch (token) { - - case GL_PASS_THROUGH_TOKEN: - printf ("GL_PASS_THROUGH_TOKEN\n"); - printf (" %4.2f\n", buffer[size-count]); - count--; - break; - - case GL_POINT_TOKEN: - printf ("GL_POINT_TOKEN\n"); - print3DcolorVertex (size, &count, buffer); - break; - - case GL_LINE_TOKEN: - printf ("GL_LINE_TOKEN\n"); - print3DcolorVertex (size, &count, buffer); - print3DcolorVertex (size, &count, buffer); - break; - - case GL_LINE_RESET_TOKEN: - printf ("GL_LINE_RESET_TOKEN\n"); - print3DcolorVertex (size, &count, buffer); - print3DcolorVertex (size, &count, buffer); - break; - - case GL_POLYGON_TOKEN: - printf ("GL_POLYGON_TOKEN\n"); - nvertices=G4int (buffer[size-count]); - count--; - for (; nvertices>0; nvertices--) { - print3DcolorVertex (size, &count, buffer); - } - } + if (inColor) { + format = GL_RGB; + size = width*height*3; + } else { + format = GL_LUMINANCE; + size = width*height*1; } -} -G4float* G4OpenGLXViewer::spewPrimitiveEPS (FILE* file, GLfloat* loc) { + buffer = new GLubyte[size]; + if (buffer == NULL) + return NULL; + + glGetIntegerv (GL_UNPACK_SWAP_BYTES, &swapbytes); + glGetIntegerv (GL_UNPACK_LSB_FIRST, &lsbfirst); + glGetIntegerv (GL_UNPACK_ROW_LENGTH, &rowlength); + + glGetIntegerv (GL_UNPACK_SKIP_ROWS, &skiprows); + glGetIntegerv (GL_UNPACK_SKIP_PIXELS, &skippixels); + glGetIntegerv (GL_UNPACK_ALIGNMENT, &alignment); + + glPixelStorei (GL_UNPACK_SWAP_BYTES, GL_FALSE); + glPixelStorei (GL_UNPACK_LSB_FIRST, GL_FALSE); + glPixelStorei (GL_UNPACK_ROW_LENGTH, 0); + + glPixelStorei (GL_UNPACK_SKIP_ROWS, 0); + glPixelStorei (GL_UNPACK_SKIP_PIXELS, 0); + glPixelStorei (GL_UNPACK_ALIGNMENT, 1); + + glReadPixels (0, 0, (GLsizei)width, (GLsizei)height, format, GL_UNSIGNED_BYTE, (GLvoid*) buffer); + + glPixelStorei (GL_UNPACK_SWAP_BYTES, swapbytes); + glPixelStorei (GL_UNPACK_LSB_FIRST, lsbfirst); + glPixelStorei (GL_UNPACK_ROW_LENGTH, rowlength); - G4int token; - G4int nvertices, i; - GLfloat red, green, blue, intensity; - G4int smooth; - GLfloat dx, dy, dr, dg, db, absR, absG, absB, colormax; - G4int steps; - Feedback3Dcolor *vertex; - GLfloat xstep(0.), ystep(0.), rstep(0.), gstep(0.), bstep(0.); - GLfloat xnext(0.), ynext(0.), rnext(0.), gnext(0.), bnext(0.), distance(0.); - - token=G4int (*loc); - loc++; - switch (token) { - case GL_LINE_RESET_TOKEN: - case GL_LINE_TOKEN: - vertex=(Feedback3Dcolor*)loc; - dr=vertex[1].red - vertex[0].red; - dg=vertex[1].green - vertex[0].green; - db=vertex[1].blue - vertex[0].blue; - - if (!print_colour) { - dr+=(dg+db); - dr/=3.0; - dg=dr; - db=dr; - } - - if (dr!=0 || dg!=0 || db!=0) { - dx=vertex[1].x - vertex[0].x; - dy=vertex[1].y - vertex[0].y; - distance=std::sqrt(dx*dx + dy*dy); - - absR=std::fabs(dr); - absG=std::fabs(dg); - absB=std::fabs(db); - - #define Max(a, b) (((a)>(b))?(a):(b)) - - #define EPS_SMOOTH_LINE_FACTOR 0.06 - - colormax=Max(absR, Max(absG, absB)); - steps=Max(1, G4int (colormax*distance*EPS_SMOOTH_LINE_FACTOR)); - - xstep=dx/steps; - ystep=dy/steps; - - rstep=dr/steps; - gstep=dg/steps; - bstep=db/steps; - - xnext=vertex[0].x; - ynext=vertex[0].y; - rnext=vertex[0].red; - gnext=vertex[0].green; - bnext=vertex[0].blue; - - if (!print_colour) { - rnext+=(gnext+bnext); - rnext/=3.0; - gnext=rnext; - bnext=rnext; - } - - xnext -= xstep/2.0; - ynext -= ystep/2.0; - rnext -= rstep/2.0; - gnext -= gstep/2.0; - bnext -= bstep/2.0; - } else { - steps=0; - } - if (print_colour) { - fprintf (file, "%g %g %g setrgbcolor\n", - vertex[0].red, vertex[0].green, vertex[0].blue); - } else { - intensity = (vertex[0].red + vertex[0].green + vertex[0].blue) / 3.0; - fprintf (file, "%g %g %g setrgbcolor\n", - intensity, intensity, intensity); - } - fprintf (file, "%g %g moveto\n", vertex[0].x, vertex[0].y); - - for (i=0; i0) { - red=vertex[0].red; - green=vertex[0].green; - blue=vertex[0].blue; - smooth=0; - - if (!print_colour) { - red+=(green+blue); - red/=3.0; - green=red; - blue=red; - } - - if (print_colour) { - for (i=1; idepth - p1->depth; - - if (diff > 0.0) { - return 1; - } else if (diff < 0.0) { - return -1; - } else { - return 0; - } - } -} - -void G4OpenGLXViewer::spewSortedFeedback(FILE * file, GLint size, GLfloat * buffer) -{ - int token; - GLfloat *loc, *end; - Feedback3Dcolor *vertex; - GLfloat depthSum; - int nprimitives, item; - DepthIndex *prims; - int nvertices, i; - - end = buffer + size; - - /* Count how many primitives there are. */ - nprimitives = 0; - loc = buffer; - while (loc < end) { - token = int (*loc); - loc++; - switch (token) { - case GL_LINE_TOKEN: - case GL_LINE_RESET_TOKEN: - loc += 14; - nprimitives++; - break; - case GL_POLYGON_TOKEN: - nvertices = int (*loc); - loc++; - loc += (7 * nvertices); - nprimitives++; - break; - case GL_POINT_TOKEN: - loc += 7; - nprimitives++; - break; - default: - /* XXX Left as an excersie to the reader. */ - static G4bool spewSortedFeedbackWarned = false; - if (!spewSortedFeedbackWarned) { - std::ostringstream oss; - oss << - "Incomplete implementation. Unexpected token (" << token << ")." - "\n (Seems to be caused by text.)"; - G4Exception("G4OpenGLXViewer::spewSortedFeedback", - "Unexpected token", - JustWarning, - oss.str().c_str()); - spewSortedFeedbackWarned = true; - } - nprimitives++; - } - } - - /* Allocate an array of pointers that will point back at - primitives in the feedback buffer. There will be one - entry per primitive. This array is also where we keep the - primitive's average depth. There is one entry per - primitive in the feedback buffer. */ - prims = (DepthIndex *) malloc(sizeof(DepthIndex) * nprimitives); - - item = 0; - loc = buffer; - while (loc < end) { - prims[item].ptr = loc; /* Save this primitive's location. */ - token = int (*loc); - loc++; - switch (token) { - case GL_LINE_TOKEN: - case GL_LINE_RESET_TOKEN: - vertex = (Feedback3Dcolor *) loc; - depthSum = vertex[0].z + vertex[1].z; - prims[item].depth = depthSum / 2.0; - loc += 14; - break; - case GL_POLYGON_TOKEN: - nvertices = int (*loc); - loc++; - vertex = (Feedback3Dcolor *) loc; - depthSum = vertex[0].z; - for (i = 1; i < nvertices; i++) { - depthSum += vertex[i].z; - } - prims[item].depth = depthSum / nvertices; - loc += (7 * nvertices); - break; - case GL_POINT_TOKEN: - vertex = (Feedback3Dcolor *) loc; - prims[item].depth = vertex[0].z; - loc += 7; - break; - default: - /* XXX Left as an excersie to the reader. */ - assert(1); - } - item++; - } - assert(item == nprimitives); - - /* Sort the primitives back to front. */ - qsort(prims, nprimitives, sizeof(DepthIndex), G4OpenGLXViewercompare); - - /* Understand that sorting by a primitives average depth - doesn't allow us to disambiguate some cases like self - intersecting polygons. Handling these cases would require - breaking up the primitives. That's too involved for this - example. Sorting by depth is good enough for lots of - applications. */ - - /* Emit the Encapsulated PostScript for the primitives in - back to front order. */ - for (item = 0; item < nprimitives; item++) { - (void) spewPrimitiveEPS(file, prims[item].ptr); - } - - free(prims); -} - -GLXContext G4OpenGLXViewer::create_GL_print_context(XVisualInfo*& pvi) { + glPixelStorei (GL_UNPACK_SKIP_ROWS, skiprows); + glPixelStorei (GL_UNPACK_SKIP_PIXELS, skippixels); + glPixelStorei (GL_UNPACK_ALIGNMENT, alignment); - pvi = glXChooseVisual (dpy, - XDefaultScreen (dpy), - snglBuf_RGBA); - - if (!pvi) { - pvi = glXChooseVisual (dpy, - XDefaultScreen (dpy), - dblBuf_RGBA); - } - - return glXCreateContext (dpy, - pvi, - NULL, - False); + return buffer; } int G4OpenGLXViewer::generateEPS (char* filnam, @@ -1050,53 +614,22 @@ int G4OpenGLXViewer::generateEPS (char* filnam, return 0; } -GLubyte* G4OpenGLXViewer::grabPixels (int inColor, unsigned int width, unsigned int height) { +GLXContext G4OpenGLXViewer::create_GL_print_context(XVisualInfo*& pvi) { - GLubyte* buffer; - GLint swapbytes, lsbfirst, rowlength; - GLint skiprows, skippixels, alignment; - GLenum format; - int size; + pvi = glXChooseVisual (dpy, + XDefaultScreen (dpy), + snglBuf_RGBA); - if (inColor) { - format = GL_RGB; - size = width*height*3; - } else { - format = GL_LUMINANCE; - size = width*height*1; + if (!pvi) { + pvi = glXChooseVisual (dpy, + XDefaultScreen (dpy), + dblBuf_RGBA); } - buffer = new GLubyte[size]; - if (buffer == NULL) - return NULL; - - glGetIntegerv (GL_UNPACK_SWAP_BYTES, &swapbytes); - glGetIntegerv (GL_UNPACK_LSB_FIRST, &lsbfirst); - glGetIntegerv (GL_UNPACK_ROW_LENGTH, &rowlength); - - glGetIntegerv (GL_UNPACK_SKIP_ROWS, &skiprows); - glGetIntegerv (GL_UNPACK_SKIP_PIXELS, &skippixels); - glGetIntegerv (GL_UNPACK_ALIGNMENT, &alignment); - - glPixelStorei (GL_UNPACK_SWAP_BYTES, GL_FALSE); - glPixelStorei (GL_UNPACK_LSB_FIRST, GL_FALSE); - glPixelStorei (GL_UNPACK_ROW_LENGTH, 0); - - glPixelStorei (GL_UNPACK_SKIP_ROWS, 0); - glPixelStorei (GL_UNPACK_SKIP_PIXELS, 0); - glPixelStorei (GL_UNPACK_ALIGNMENT, 1); - - glReadPixels (0, 0, (GLsizei)width, (GLsizei)height, format, GL_UNSIGNED_BYTE, (GLvoid*) buffer); - - glPixelStorei (GL_UNPACK_SWAP_BYTES, swapbytes); - glPixelStorei (GL_UNPACK_LSB_FIRST, lsbfirst); - glPixelStorei (GL_UNPACK_ROW_LENGTH, rowlength); - - glPixelStorei (GL_UNPACK_SKIP_ROWS, skiprows); - glPixelStorei (GL_UNPACK_SKIP_PIXELS, skippixels); - glPixelStorei (GL_UNPACK_ALIGNMENT, alignment); - - return buffer; + return glXCreateContext (dpy, + pvi, + NULL, + False); } #endif diff --git a/source/visualization/OpenGL/src/G4OpenGLXViewerMessenger.cc b/source/visualization/OpenGL/src/G4OpenGLXViewerMessenger.cc index 589f57b9d2..1fd5b8eef1 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXViewerMessenger.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXViewerMessenger.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenGLXViewerMessenger.cc,v 1.5 2006/11/21 16:24:00 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4OpenGLXViewerMessenger.cc,v 1.7 2007/05/25 15:41:38 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ #ifdef G4VIS_BUILD_OPENGLX_DRIVER @@ -36,8 +36,6 @@ #include "G4UImanager.hh" #include "G4UIcommand.hh" #include "G4UIdirectory.hh" -#include "G4UIcmdWithoutParameter.hh" -#include "G4UIcmdWithABool.hh" #include "G4VisManager.hh" #include @@ -54,22 +52,18 @@ G4OpenGLXViewerMessenger::G4OpenGLXViewerMessenger() fpDirectory = new G4UIdirectory("/vis/oglx/"); fpDirectory->SetGuidance("G4OpenGLXViewer commands."); - fpCommandPrintEPS = - new G4UIcmdWithoutParameter("/vis/oglx/printEPS", this); - fpCommandPrintEPS->SetGuidance("Print Encapsulated PostScript file."); - fpCommandPrintEPS->SetGuidance - ("Generates files with names G4OpenGL_n.eps, where n is a sequence" - "\nnumber, starting at 0."); + fpDirectorySet = new G4UIdirectory ("/vis/oglx/set/"); + fpDirectorySet->SetGuidance("G4OpenGLViewer set commands."); + } G4OpenGLXViewerMessenger::~G4OpenGLXViewerMessenger () { - delete fpCommandPrintEPS; delete fpDirectory; } void G4OpenGLXViewerMessenger::SetNewValue -(G4UIcommand* command, G4String) +(G4UIcommand* /*command*/, G4String /*newValue*/) { G4VisManager* pVisManager = G4VisManager::GetInstance(); @@ -93,23 +87,6 @@ void G4OpenGLXViewerMessenger::SetNewValue return; } - if (command == fpCommandPrintEPS) - { - // Keep copy of print_string to preserve Xm behaviour... - char* tmp_string = new char[50]; - strcpy (tmp_string, pViewer->print_string); - // Make new print string... - static G4int file_count = 0; - std::ostringstream oss; - oss << "G4OpenGL_" << file_count++ << ".eps"; - strcpy (pViewer->print_string, oss.str().c_str()); - // Print eps file... - pViewer->print(); - // Restore print_string for Xm... - strcpy (pViewer->print_string, tmp_string); - delete tmp_string; - } - } #endif diff --git a/source/visualization/OpenGL/src/G4OpenGLXmBox.cc b/source/visualization/OpenGL/src/G4OpenGLXmBox.cc index 8f18031a0a..01bcca7b51 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmBox.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmBox.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmBox.cc,v 1.6 2006/06/29 21:19:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Box container class diff --git a/source/visualization/OpenGL/src/G4OpenGLXmConvenienceRoutines.cc b/source/visualization/OpenGL/src/G4OpenGLXmConvenienceRoutines.cc index 3c81cd7bff..085a5f7c10 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmConvenienceRoutines.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmConvenienceRoutines.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmConvenienceRoutines.cc,v 1.11 2006/06/29 21:19:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 16th April 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmFourArrowButtons.cc b/source/visualization/OpenGL/src/G4OpenGLXmFourArrowButtons.cc index 2aecb7a651..2b7d3a9215 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmFourArrowButtons.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmFourArrowButtons.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmFourArrowButtons.cc,v 1.5 2006/06/29 21:19:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Four arrow buttons class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/src/G4OpenGLXmFramedBox.cc b/source/visualization/OpenGL/src/G4OpenGLXmFramedBox.cc index 08f0510b1b..6e0a46b092 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmFramedBox.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmFramedBox.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmFramedBox.cc,v 1.6 2006/06/29 21:19:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Framed box container class diff --git a/source/visualization/OpenGL/src/G4OpenGLXmMainMenubarCallbacks.cc b/source/visualization/OpenGL/src/G4OpenGLXmMainMenubarCallbacks.cc index 59214e05e1..5d4f66d74e 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmMainMenubarCallbacks.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmMainMenubarCallbacks.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmMainMenubarCallbacks.cc,v 1.13 2006/06/29 21:19:48 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 16th April 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmPanningCallbacks.cc b/source/visualization/OpenGL/src/G4OpenGLXmPanningCallbacks.cc index 4adc1fd497..6d1f42b02a 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmPanningCallbacks.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmPanningCallbacks.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmPanningCallbacks.cc,v 1.8 2006/06/29 21:19:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 16th April 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmPushButton.cc b/source/visualization/OpenGL/src/G4OpenGLXmPushButton.cc index 63fd4995c4..5722f965d0 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmPushButton.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmPushButton.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmPushButton.cc,v 1.6 2006/06/29 21:19:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Push button class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/src/G4OpenGLXmRadioButton.cc b/source/visualization/OpenGL/src/G4OpenGLXmRadioButton.cc index dad74c616e..28a003b6b2 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmRadioButton.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmRadioButton.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmRadioButton.cc,v 1.6 2006/06/29 21:19:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Radio button class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/src/G4OpenGLXmRotationCallbacks.cc b/source/visualization/OpenGL/src/G4OpenGLXmRotationCallbacks.cc index bb8a94de5e..8cf5c88f14 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmRotationCallbacks.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmRotationCallbacks.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmRotationCallbacks.cc,v 1.14 2006/06/29 21:19:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 16th April 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmSeparator.cc b/source/visualization/OpenGL/src/G4OpenGLXmSeparator.cc index 156e67c699..5b496d0fd6 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmSeparator.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmSeparator.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmSeparator.cc,v 1.5 2006/06/29 21:19:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Separator class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/src/G4OpenGLXmSliderBar.cc b/source/visualization/OpenGL/src/G4OpenGLXmSliderBar.cc index 6ba8b8433c..b507efd77c 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmSliderBar.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmSliderBar.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmSliderBar.cc,v 1.7 2006/06/29 21:20:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Slider bar class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/src/G4OpenGLXmStyleCallbacks.cc b/source/visualization/OpenGL/src/G4OpenGLXmStyleCallbacks.cc index bef12a6679..1a757b4df8 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmStyleCallbacks.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmStyleCallbacks.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmStyleCallbacks.cc,v 1.14 2006/06/29 21:20:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 16th April 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmTextField.cc b/source/visualization/OpenGL/src/G4OpenGLXmTextField.cc index 893867ae36..3de0025b10 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmTextField.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmTextField.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmTextField.cc,v 1.7 2006/06/29 21:20:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Text field class. Inherits from G4OpenGLXmVWidgetComponent diff --git a/source/visualization/OpenGL/src/G4OpenGLXmTopLevelShell.cc b/source/visualization/OpenGL/src/G4OpenGLXmTopLevelShell.cc index 1e8afdc8ad..7a348445d3 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmTopLevelShell.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmTopLevelShell.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmTopLevelShell.cc,v 1.5 2006/06/29 21:20:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Top level shell class diff --git a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetComponent.cc b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetComponent.cc index 41650592d8..6ae9cd25be 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetComponent.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetComponent.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmVWidgetComponent.cc,v 1.5 2006/06/29 21:20:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Base class for all Motif component widgets diff --git a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetContainer.cc b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetContainer.cc index d95ac84ee2..6b376a0fe9 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetContainer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetContainer.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmVWidgetContainer.cc,v 1.5 2006/06/29 21:20:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Base class for all Motif container widgets diff --git a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetObject.cc b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetObject.cc index 2a68dae8a5..c33d7ff335 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetObject.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetObject.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmVWidgetObject.cc,v 1.5 2006/06/29 21:20:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Virtual base class for all Motif widgets. diff --git a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetShell.cc b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetShell.cc index 18ff71e775..b6ba18842d 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmVWidgetShell.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmVWidgetShell.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmVWidgetShell.cc,v 1.5 2006/06/29 21:20:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // //Base class for all Motif shell widgets diff --git a/source/visualization/OpenGL/src/G4OpenGLXmViewer.cc b/source/visualization/OpenGL/src/G4OpenGLXmViewer.cc index 0d7703fcfc..b7ce4f735b 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmViewer.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmViewer.cc,v 1.23 2006/06/29 21:20:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 10th February 1997 diff --git a/source/visualization/OpenGL/src/G4OpenGLXmViewerMessenger.cc b/source/visualization/OpenGL/src/G4OpenGLXmViewerMessenger.cc index e3166e0121..84de5e8898 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmViewerMessenger.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmViewerMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmViewerMessenger.cc,v 1.4 2006/06/29 21:20:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifdef G4VIS_BUILD_OPENGLXM_DRIVER diff --git a/source/visualization/OpenGL/src/G4OpenGLXmWindowHandlingCallbacks.cc b/source/visualization/OpenGL/src/G4OpenGLXmWindowHandlingCallbacks.cc index 9cc27c628c..c17bf53a9d 100644 --- a/source/visualization/OpenGL/src/G4OpenGLXmWindowHandlingCallbacks.cc +++ b/source/visualization/OpenGL/src/G4OpenGLXmWindowHandlingCallbacks.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenGLXmWindowHandlingCallbacks.cc,v 1.6 2006/06/29 21:20:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 16th June 1997 diff --git a/source/visualization/OpenInventor/History b/source/visualization/OpenInventor/History index e1a8d3e0ee..e7a226a1d4 100644 --- a/source/visualization/OpenInventor/History +++ b/source/visualization/OpenInventor/History @@ -1,4 +1,4 @@ -$Id: History,v 1.91 2007/01/05 16:53:12 allison Exp $ +$Id: History,v 1.93 2007/04/03 13:35:48 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,14 @@ committal in the CVS repository ! History file for visualization/OpenInventor ------------------------------------------- +3rd April 2007 John Allison (openinventor-V08-02-02 - needs visman-V08-02-03) +- Introduced picking control. Default is "true" for Open Inventor. + +25th March 2007 John Allison (openinventor-V08-02-01) +- G4OpenInventorSceneHandler: Introduced AddProperties. Rationalises. +- G4OpenInventorViewer.cc: Added scale factor to list of changes + requiring kernel visit. + 5th January 2007 John Allison (openinventor-V08-02-00) - Moved LoadAtts to vis management. diff --git a/source/visualization/OpenInventor/include/G4OpenInventor.hh b/source/visualization/OpenInventor/include/G4OpenInventor.hh index 35047db366..a347f216fb 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventor.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventor.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventor.hh,v 1.9 2006/06/29 21:20:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Guy Barrand 26 Mar 1998. // OpenInventor graphics system factory. diff --git a/source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.hh b/source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.hh index 20cced461c..91fdf8c70b 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorSceneHandler.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenInventorSceneHandler.hh,v 1.32 2007/01/05 16:52:47 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4OpenInventorSceneHandler.hh,v 1.33 2007/03/27 15:24:15 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // J Kallenbach 27th Aug 1996 @@ -47,6 +47,7 @@ class G4OpenInventor; class SoSeparator; class Geant4_SoStyleCache; +class G4VisAttributes; // Base class for various OpenInventorScene classes. class G4OpenInventorSceneHandler: public G4VSceneHandler { @@ -88,6 +89,7 @@ private: enum G4OIMarker {G4OICircle, G4OISquare}; void AddCircleSquare (G4OIMarker markerType, const G4VMarker&); void GeneratePrerequisites(); + void AddProperties(const G4VisAttributes*); std::map > fSeparatorMap; SoSeparator* fRoot; diff --git a/source/visualization/OpenInventor/include/G4OpenInventorTransform3D.hh b/source/visualization/OpenInventor/include/G4OpenInventorTransform3D.hh index 8847707f9f..f5cd613d78 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorTransform3D.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorTransform3D.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventorTransform3D.hh,v 1.7 2006/06/29 21:20:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // jck 17 Dec 1996 diff --git a/source/visualization/OpenInventor/include/G4OpenInventorWin.hh b/source/visualization/OpenInventor/include/G4OpenInventorWin.hh index e969f8769d..8dc4a56099 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorWin.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorWin.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventorWin.hh,v 1.3 2006/06/29 21:20:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // OpenInventor graphics system factory. diff --git a/source/visualization/OpenInventor/include/G4OpenInventorWin32.hh b/source/visualization/OpenInventor/include/G4OpenInventorWin32.hh index 323cf9811d..7bb4b56751 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorWin32.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorWin32.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventorWin32.hh,v 1.7 2006/06/29 21:20:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // OpenInventor graphics system factory. diff --git a/source/visualization/OpenInventor/include/G4OpenInventorWinViewer.hh b/source/visualization/OpenInventor/include/G4OpenInventorWinViewer.hh index b8471a5b86..ea97560c1b 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorWinViewer.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorWinViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventorWinViewer.hh,v 1.9 2006/06/29 21:20:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Jeff Kallenbach 01 Aug 1996 diff --git a/source/visualization/OpenInventor/include/G4OpenInventorX.hh b/source/visualization/OpenInventor/include/G4OpenInventorX.hh index 7305555124..3197184e64 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorX.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorX.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventorX.hh,v 1.7 2006/06/29 21:20:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 27th March 1996 diff --git a/source/visualization/OpenInventor/include/G4OpenInventorXt.hh b/source/visualization/OpenInventor/include/G4OpenInventorXt.hh index 461540cebb..1803dc6e3c 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorXt.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorXt.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventorXt.hh,v 1.3 2006/06/29 21:20:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Andrew Walkden 27th March 1996 diff --git a/source/visualization/OpenInventor/include/G4OpenInventorXtViewer.hh b/source/visualization/OpenInventor/include/G4OpenInventorXtViewer.hh index 3f6429ecda..0f862ac259 100644 --- a/source/visualization/OpenInventor/include/G4OpenInventorXtViewer.hh +++ b/source/visualization/OpenInventor/include/G4OpenInventorXtViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventorXtViewer.hh,v 1.14 2006/06/29 21:20:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Jeff Kallenbach 01 Aug 1996 diff --git a/source/visualization/OpenInventor/include/HEPVis/SbMath.h b/source/visualization/OpenInventor/include/HEPVis/SbMath.h index 70f49cb924..3666a5a60e 100644 --- a/source/visualization/OpenInventor/include/HEPVis/SbMath.h +++ b/source/visualization/OpenInventor/include/HEPVis/SbMath.h @@ -25,7 +25,7 @@ // // // $Id: SbMath.h,v 1.4 2006/06/29 21:20:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef HEPVis_SbMath_h #define HEPVis_SbMath_h diff --git a/source/visualization/OpenInventor/include/HEPVis/nodekits/SoDetectorTreeKit.h b/source/visualization/OpenInventor/include/HEPVis/nodekits/SoDetectorTreeKit.h index f1d9534945..d663c11ed5 100644 --- a/source/visualization/OpenInventor/include/HEPVis/nodekits/SoDetectorTreeKit.h +++ b/source/visualization/OpenInventor/include/HEPVis/nodekits/SoDetectorTreeKit.h @@ -25,7 +25,7 @@ // // // $Id: SoDetectorTreeKit.h,v 1.5 2006/06/29 21:21:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /*-----------------------------HEPVis----------------------------------------*/ /* */ diff --git a/source/visualization/OpenInventor/include/HEPVis/nodes/SoBox.h b/source/visualization/OpenInventor/include/HEPVis/nodes/SoBox.h index 5b36ac5e60..a41b96e9a6 100644 --- a/source/visualization/OpenInventor/include/HEPVis/nodes/SoBox.h +++ b/source/visualization/OpenInventor/include/HEPVis/nodes/SoBox.h @@ -25,7 +25,7 @@ // // // $Id: SoBox.h,v 1.3 2006/06/29 21:21:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /*-----------------------------Hepvis----------------------------------------*/ /* */ diff --git a/source/visualization/OpenInventor/include/HEPVis/nodes/SoCons.h b/source/visualization/OpenInventor/include/HEPVis/nodes/SoCons.h index 1ec9e64bb9..026242b7e9 100644 --- a/source/visualization/OpenInventor/include/HEPVis/nodes/SoCons.h +++ b/source/visualization/OpenInventor/include/HEPVis/nodes/SoCons.h @@ -25,7 +25,7 @@ // // // $Id: SoCons.h,v 1.3 2006/06/29 21:21:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /*-----------------------------Hepvis----------------------------------------*/ /* */ diff --git a/source/visualization/OpenInventor/include/HEPVis/nodes/SoTrap.h b/source/visualization/OpenInventor/include/HEPVis/nodes/SoTrap.h index 510456a566..bc9d4680a1 100644 --- a/source/visualization/OpenInventor/include/HEPVis/nodes/SoTrap.h +++ b/source/visualization/OpenInventor/include/HEPVis/nodes/SoTrap.h @@ -25,7 +25,7 @@ // // // $Id: SoTrap.h,v 1.4 2006/06/29 21:22:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /*-----------------------------Hepvis----------------------------------------*/ /* */ diff --git a/source/visualization/OpenInventor/include/HEPVis/nodes/SoTrd.h b/source/visualization/OpenInventor/include/HEPVis/nodes/SoTrd.h index 0970bd18e0..255957d8b5 100644 --- a/source/visualization/OpenInventor/include/HEPVis/nodes/SoTrd.h +++ b/source/visualization/OpenInventor/include/HEPVis/nodes/SoTrd.h @@ -25,7 +25,7 @@ // // // $Id: SoTrd.h,v 1.3 2006/06/29 21:22:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /*-----------------------------Hepvis----------------------------------------*/ /* */ diff --git a/source/visualization/OpenInventor/include/HEPVis/nodes/SoTubs.h b/source/visualization/OpenInventor/include/HEPVis/nodes/SoTubs.h index c9cf3bc717..7dcfc32348 100644 --- a/source/visualization/OpenInventor/include/HEPVis/nodes/SoTubs.h +++ b/source/visualization/OpenInventor/include/HEPVis/nodes/SoTubs.h @@ -25,7 +25,7 @@ // // // $Id: SoTubs.h,v 1.3 2006/06/29 21:22:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /*-----------------------------Hepvis----------------------------------------*/ /* */ diff --git a/source/visualization/OpenInventor/include/SoG4LineSet.h b/source/visualization/OpenInventor/include/SoG4LineSet.h index 1cc48e7f99..dfe7032c20 100644 --- a/source/visualization/OpenInventor/include/SoG4LineSet.h +++ b/source/visualization/OpenInventor/include/SoG4LineSet.h @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SoG4LineSet.h,v 1.2 2006/12/13 15:49:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // John Allison 26th October 2006 // Extended SoLineSet to include G4Atts. diff --git a/source/visualization/OpenInventor/include/SoG4MarkerSet.h b/source/visualization/OpenInventor/include/SoG4MarkerSet.h index 81e30b70e9..0fbf99bca1 100644 --- a/source/visualization/OpenInventor/include/SoG4MarkerSet.h +++ b/source/visualization/OpenInventor/include/SoG4MarkerSet.h @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: SoG4MarkerSet.h,v 1.2 2006/12/13 15:49:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // John Allison 26th October 2006 // Extended SoMarkerSet to include G4Atts. diff --git a/source/visualization/OpenInventor/include/SoG4Polyhedron.h b/source/visualization/OpenInventor/include/SoG4Polyhedron.h index a052b10a09..c8adacbaaf 100644 --- a/source/visualization/OpenInventor/include/SoG4Polyhedron.h +++ b/source/visualization/OpenInventor/include/SoG4Polyhedron.h @@ -25,7 +25,7 @@ // // // $Id: SoG4Polyhedron.h,v 1.2 2006/12/13 15:49:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // John Allison 26th October 2006 // Extended Geant4_SoPolyhedron to include G4Atts. diff --git a/source/visualization/OpenInventor/src/G4OpenInventor.cc b/source/visualization/OpenInventor/src/G4OpenInventor.cc index 68162e1ffe..6e34d2b1e2 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventor.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventor.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventor.cc,v 1.20 2006/06/29 21:22:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifdef G4VIS_BUILD_OI_DRIVER diff --git a/source/visualization/OpenInventor/src/G4OpenInventorSceneHandler.cc b/source/visualization/OpenInventor/src/G4OpenInventorSceneHandler.cc index 2215dce87a..fbf447cf45 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorSceneHandler.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4OpenInventorSceneHandler.cc,v 1.51 2007/01/05 16:52:47 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4OpenInventorSceneHandler.cc,v 1.53 2007/04/03 13:35:48 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Jeff Kallenbach 01 Aug 1996 @@ -185,7 +185,10 @@ void G4OpenInventorSceneHandler::BeginPrimitives // // Method for handling G4Polyline objects (from tracking). // -void G4OpenInventorSceneHandler::AddPrimitive (const G4Polyline& line) { +void G4OpenInventorSceneHandler::AddPrimitive (const G4Polyline& line) +{ + AddProperties(line.GetVisAttributes()); // Transformation, colour, etc. + G4int nPoints = line.size(); SbVec3f* pCoords = new SbVec3f[nPoints]; @@ -195,19 +198,6 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Polyline& line) { (float)line[iPoint].z()); } - // Don't understand why I have to do this again (done in - // GeneratePrerequisites) - JA. - // - // Color - // - const G4Colour& c = GetColour(line); - SoMaterial* material = - fStyleCache->getMaterial((float)c.GetRed(), - (float)c.GetGreen(), - (float)c.GetBlue(), - (float)(1-c.GetAlpha())); - fCurrentSeparator->addChild(material); - // // Point Set // @@ -224,7 +214,7 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Polyline& line) { SoG4LineSet *pLine = new SoG4LineSet; // Loads G4Atts for picking... - LoadAtts(line, pLine); + if (fpViewer->GetViewParameters().IsPicking()) LoadAtts(line, pLine); #ifdef INVENTOR2_0 pLine->numVertices.setValues(0,1,(const long *)&nPoints); @@ -237,7 +227,10 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Polyline& line) { delete [] pCoords; } -void G4OpenInventorSceneHandler::AddPrimitive (const G4Polymarker& polymarker) { +void G4OpenInventorSceneHandler::AddPrimitive (const G4Polymarker& polymarker) +{ + AddProperties(polymarker.GetVisAttributes()); // Transformation, colour, etc. + G4int pointn = polymarker.size(); if(pointn<=0) return; @@ -248,16 +241,6 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Polymarker& polymarker) { (float)polymarker[iPoint].z()); } - // Don't understand why I have to do this again (done in - // GeneratePrerequisites) - JA. - const G4Colour& c = GetColour(polymarker); - SoMaterial* material = - fStyleCache->getMaterial((float)c.GetRed(), - (float)c.GetGreen(), - (float)c.GetBlue(), - (float)(1-c.GetAlpha())); - fCurrentSeparator->addChild(material); - SoCoordinate3* coordinate3 = new SoCoordinate3; coordinate3->point.setValues(0,pointn,points); fCurrentSeparator->addChild(coordinate3); @@ -279,7 +262,8 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Polymarker& polymarker) { markerSet->numPoints = pointn; // Loads G4Atts for picking... - LoadAtts(polymarker, markerSet); + if (fpViewer->GetViewParameters().IsPicking()) + LoadAtts(polymarker, markerSet); G4VMarker::FillStyle style = polymarker.GetFillStyle(); switch (polymarker.GetMarkerType()) { @@ -353,10 +337,13 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Polymarker& polymarker) { // // Method for handling G4Text objects // -void G4OpenInventorSceneHandler::AddPrimitive (const G4Text& text) { +void G4OpenInventorSceneHandler::AddPrimitive (const G4Text& text) +{ + AddProperties(text.GetVisAttributes()); // Transformation, colour, etc. + // // Color. Note: text colour is worked out differently. This - // over-rides the colour added in GeneratePrerequisites... + // over-rides the colour added in AddProperties... // const G4Colour& c = GetTextColour (text); SoMaterial* material = @@ -419,20 +406,9 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Square& square) { } void G4OpenInventorSceneHandler::AddCircleSquare -(G4OIMarker markerType, const G4VMarker& marker) { - - // Don't understand why I have to do this again (done in - // GeneratePrerequisites) - JA. - // - // Color - // - const G4Colour& c = GetColour(marker); - SoMaterial* material = - fStyleCache->getMaterial((float)c.GetRed(), - (float)c.GetGreen(), - (float)c.GetBlue(), - (float)(1-c.GetAlpha())); - fCurrentSeparator->addChild(material); +(G4OIMarker markerType, const G4VMarker& marker) +{ + AddProperties(marker.GetVisAttributes()); // Transformation, colour, etc. MarkerSizeType sizeType; G4double screenSize = GetMarkerSize (marker, sizeType); @@ -462,7 +438,7 @@ void G4OpenInventorSceneHandler::AddCircleSquare markerSet->numPoints = 1; // Loads G4Atts for picking... - LoadAtts(marker, markerSet); + if (fpViewer->GetViewParameters().IsPicking()) LoadAtts(marker, markerSet); G4VMarker::FillStyle style = marker.GetFillStyle(); switch (markerType) { @@ -517,13 +493,17 @@ void G4OpenInventorSceneHandler::AddCircleSquare // // Method for handling G4Polyhedron objects for drawing solids. // -void G4OpenInventorSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) { +void G4OpenInventorSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) +{ if (polyhedron.GetNoFacets() == 0) return; + AddProperties(polyhedron.GetVisAttributes()); // Transformation, colour, etc. + SoG4Polyhedron* soPolyhedron = new SoG4Polyhedron(polyhedron); // Loads G4Atts for picking... - LoadAtts(polyhedron, soPolyhedron); + if (fpViewer->GetViewParameters().IsPicking()) + LoadAtts(polyhedron, soPolyhedron); SbString name = "Non-geometry"; G4PhysicalVolumeModel* pPVModel = @@ -544,6 +524,8 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Polyhedron& polyhedron) { // void G4OpenInventorSceneHandler::AddPrimitive (const G4NURBS& nurb) { + AddProperties(nurb.GetVisAttributes()); // Transformation, colour, etc. + G4float *u_knot_array, *u_knot_array_ptr; u_knot_array = u_knot_array_ptr = new G4float [nurb.GetnbrKnots(G4NURBS::U)]; G4NURBS::KnotsIterator u_iterator (nurb, G4NURBS::U); @@ -562,17 +544,6 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4NURBS& nurb) { SoSeparator *surfSep = new SoSeparator(); - // - // Color - // - const G4Colour& c = GetColour(nurb); - SoMaterial* material = - fStyleCache->getMaterial((float)c.GetRed(), - (float)c.GetGreen(), - (float)c.GetBlue(), - (float)(1-c.GetAlpha())); - surfSep->addChild(material); - // // Set up NURBS // @@ -630,35 +601,6 @@ void G4OpenInventorSceneHandler::GeneratePrerequisites() // location on in the scene database so that when the solid is // actually added (in addthis), it is put in the right place. - // Use the applicable vis attributes... - const G4VisAttributes* pApplicableVisAttribs = - fpViewer->GetApplicableVisAttributes (fpVisAttribs); - - // First find the color attributes... - const G4Colour& g4Col = pApplicableVisAttribs->GetColour (); - const double red = g4Col.GetRed (); - const double green = g4Col.GetGreen (); - const double blue = g4Col.GetBlue (); - double transparency = 1 - g4Col.GetAlpha(); - - // Drawing style... - G4ViewParameters::DrawingStyle drawing_style = - GetDrawingStyle(pApplicableVisAttribs); - switch (drawing_style) { - case (G4ViewParameters::wireframe): - fModelingSolid = false; - break; - case (G4ViewParameters::hlr): - case (G4ViewParameters::hsr): - case (G4ViewParameters::hlhsr): - fModelingSolid = true; - break; - } - - // Edge visibility... - G4bool isAuxEdgeVisible = GetAuxEdgeVisible (pApplicableVisAttribs); - fReducedWireFrame = !isAuxEdgeVisible; - G4PhysicalVolumeModel* pPVModel = dynamic_cast(fpModel); @@ -715,6 +657,33 @@ void G4OpenInventorSceneHandler::GeneratePrerequisites() if(fPreviewAndFull) detectorTreeKit->setPreviewAndFull(); else detectorTreeKit->setPreview(TRUE); + // Colour, etc., for SoDetectorTreeKit. Treated differently to + // othere SoNodes(?). Use fpVisAttribs stored away in + // PreAddSolid... + const G4VisAttributes* pApplicableVisAttribs = + fpViewer->GetApplicableVisAttributes (fpVisAttribs); + + // First find the color attributes... + const G4Colour& g4Col = pApplicableVisAttribs->GetColour (); + const double red = g4Col.GetRed (); + const double green = g4Col.GetGreen (); + const double blue = g4Col.GetBlue (); + double transparency = 1 - g4Col.GetAlpha(); + + // Drawing style... + G4ViewParameters::DrawingStyle drawing_style = + GetDrawingStyle(pApplicableVisAttribs); + switch (drawing_style) { + case (G4ViewParameters::wireframe): + fModelingSolid = false; + break; + case (G4ViewParameters::hlr): + case (G4ViewParameters::hsr): + case (G4ViewParameters::hlhsr): + fModelingSolid = true; + break; + } + SoMaterial* material = fStyleCache->getMaterial((float)red, (float)green, @@ -796,6 +765,38 @@ void G4OpenInventorSceneHandler::GeneratePrerequisites() fCurrentSeparator = fDetectorRoot; } } +} + +void G4OpenInventorSceneHandler::AddProperties(const G4VisAttributes* visAtts) +{ + // Use the applicable vis attributes... + const G4VisAttributes* pApplicableVisAttribs = + fpViewer->GetApplicableVisAttributes (visAtts); + + // First find the color attributes... + const G4Colour& g4Col = pApplicableVisAttribs->GetColour (); + const double red = g4Col.GetRed (); + const double green = g4Col.GetGreen (); + const double blue = g4Col.GetBlue (); + double transparency = 1 - g4Col.GetAlpha(); + + // Drawing style... + G4ViewParameters::DrawingStyle drawing_style = + GetDrawingStyle(pApplicableVisAttribs); + switch (drawing_style) { + case (G4ViewParameters::wireframe): + fModelingSolid = false; + break; + case (G4ViewParameters::hlr): + case (G4ViewParameters::hsr): + case (G4ViewParameters::hlhsr): + fModelingSolid = true; + break; + } + + // Edge visibility... + G4bool isAuxEdgeVisible = GetAuxEdgeVisible (pApplicableVisAttribs); + fReducedWireFrame = !isAuxEdgeVisible; SoMaterial* material = fStyleCache->getMaterial((float)red, @@ -826,5 +827,4 @@ void G4OpenInventorSceneHandler::GeneratePrerequisites() delete sbMatrix; fCurrentSeparator->addChild(matrixTransform); } - #endif diff --git a/source/visualization/OpenInventor/src/G4OpenInventorTransform3D.cc b/source/visualization/OpenInventor/src/G4OpenInventorTransform3D.cc index 0e368dd369..2142eca5e3 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorTransform3D.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorTransform3D.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventorTransform3D.cc,v 1.8 2006/06/29 21:22:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // jck 17 Dec 1996 diff --git a/source/visualization/OpenInventor/src/G4OpenInventorViewer.cc b/source/visualization/OpenInventor/src/G4OpenInventorViewer.cc index 7874c27b9c..05e4862563 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorViewer.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorViewer.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4OpenInventorViewer.cc,v 1.57 2006/11/01 11:06:07 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4OpenInventorViewer.cc,v 1.59 2007/04/03 13:35:48 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ #ifdef G4VIS_BUILD_OI_DRIVER @@ -68,8 +68,10 @@ G4OpenInventorViewer::G4OpenInventorViewer( { fNeedKernelVisit = true; //?? Temporary, until KernelVisitDecision fixed. - fDefaultVP.SetAutoRefresh(true); fVP.SetAutoRefresh(true); + fDefaultVP.SetAutoRefresh(true); + fVP.SetPicking(true); + fDefaultVP.SetPicking(true); //FIXME : G.Barrand : not convinced that we have to rm culling. // For viewing of all objects by default : @@ -174,10 +176,15 @@ G4bool G4OpenInventorViewer::CompareForKernelVisit(G4ViewParameters& vp) { (vp.IsExplode () != fVP.IsExplode ()) || (vp.GetNoOfSides () != fVP.GetNoOfSides ()) || (vp.IsMarkerNotHidden () != fVP.IsMarkerNotHidden ()) || - (vp.GetBackgroundColour ()!= fVP.GetBackgroundColour ()) - ) { - return true;; - } + (vp.GetBackgroundColour ()!= fVP.GetBackgroundColour ())|| + (vp.IsPicking () != fVP.IsPicking ()) || + // Scaling for Open Inventor is done by the scene handler so it + // needs a kernel visit. (In this respect, it differs from the + // OpenGL drivers, where it's done in SetView.) + (vp.GetScaleFactor () != fVP.GetScaleFactor ()) + ) + return true; + if (vp.IsDensityCulling () && (vp.GetVisibleDensity () != fVP.GetVisibleDensity ())) return true; diff --git a/source/visualization/OpenInventor/src/G4OpenInventorWin.cc b/source/visualization/OpenInventor/src/G4OpenInventorWin.cc index f8b4453d4e..c8979c2d02 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorWin.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorWin.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventorWin.cc,v 1.6 2006/06/29 21:22:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // OpenInventor graphics system factory. diff --git a/source/visualization/OpenInventor/src/G4OpenInventorWinViewer.cc b/source/visualization/OpenInventor/src/G4OpenInventorWinViewer.cc index 5369a69a8a..bd976e2cee 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorWinViewer.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorWinViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventorWinViewer.cc,v 1.25 2006/06/29 21:22:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /* * jck : 05 Feb 1997 : Initial Implementation diff --git a/source/visualization/OpenInventor/src/G4OpenInventorXt.cc b/source/visualization/OpenInventor/src/G4OpenInventorXt.cc index 4dc93c4bfb..17392301c3 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorXt.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorXt.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventorXt.cc,v 1.4 2006/06/29 21:22:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Jeff Kallenbach 01 Aug 1996 diff --git a/source/visualization/OpenInventor/src/G4OpenInventorXtViewer.cc b/source/visualization/OpenInventor/src/G4OpenInventorXtViewer.cc index c554aa729b..d8381c763a 100644 --- a/source/visualization/OpenInventor/src/G4OpenInventorXtViewer.cc +++ b/source/visualization/OpenInventor/src/G4OpenInventorXtViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4OpenInventorXtViewer.cc,v 1.24 2006/06/29 21:22:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /* * jck 05 Feb 1997 - Initial Implementation diff --git a/source/visualization/OpenInventor/src/SoBox.cc b/source/visualization/OpenInventor/src/SoBox.cc index 57b39a3692..9891de6688 100644 --- a/source/visualization/OpenInventor/src/SoBox.cc +++ b/source/visualization/OpenInventor/src/SoBox.cc @@ -26,7 +26,7 @@ // // // $Id: SoBox.cc,v 1.8 2006/06/29 21:22:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /*----------------------------HEPVis----------------------------------------*/ /* */ diff --git a/source/visualization/OpenInventor/src/SoCons.cc b/source/visualization/OpenInventor/src/SoCons.cc index 4956eab7a0..b35e55c15f 100644 --- a/source/visualization/OpenInventor/src/SoCons.cc +++ b/source/visualization/OpenInventor/src/SoCons.cc @@ -26,7 +26,7 @@ // // // $Id: SoCons.cc,v 1.8 2006/06/29 21:22:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /*-----------------------------HEPVis---------------------------------------*/ /* */ diff --git a/source/visualization/OpenInventor/src/SoDetectorTreeKit.cc b/source/visualization/OpenInventor/src/SoDetectorTreeKit.cc index 924d1c00fc..cb20bac28d 100644 --- a/source/visualization/OpenInventor/src/SoDetectorTreeKit.cc +++ b/source/visualization/OpenInventor/src/SoDetectorTreeKit.cc @@ -26,7 +26,7 @@ // // // $Id: SoDetectorTreeKit.cc,v 1.13 2006/06/29 21:22:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /*-----------------------------HEPVis----------------------------------------*/ /* */ diff --git a/source/visualization/OpenInventor/src/SoTrap.cc b/source/visualization/OpenInventor/src/SoTrap.cc index 34fe4794bd..24fd045108 100644 --- a/source/visualization/OpenInventor/src/SoTrap.cc +++ b/source/visualization/OpenInventor/src/SoTrap.cc @@ -26,7 +26,7 @@ // // // $Id: SoTrap.cc,v 1.8 2006/06/29 21:23:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /*-----------------------------HEPVis----------------------------------------*/ /* */ diff --git a/source/visualization/OpenInventor/src/SoTrd.cc b/source/visualization/OpenInventor/src/SoTrd.cc index ca759df8fa..5eb8c2e827 100644 --- a/source/visualization/OpenInventor/src/SoTrd.cc +++ b/source/visualization/OpenInventor/src/SoTrd.cc @@ -26,7 +26,7 @@ // // // $Id: SoTrd.cc,v 1.8 2006/06/29 21:23:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /*-----------------------------HEPVis---------------------------------------*/ /* */ diff --git a/source/visualization/OpenInventor/src/SoTubs.cc b/source/visualization/OpenInventor/src/SoTubs.cc index 92d10f4300..31a5326d5a 100644 --- a/source/visualization/OpenInventor/src/SoTubs.cc +++ b/source/visualization/OpenInventor/src/SoTubs.cc @@ -26,7 +26,7 @@ // // // $Id: SoTubs.cc,v 1.8 2006/06/29 21:23:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /*-----------------------------HEPVis---------------------------------------*/ /* */ diff --git a/source/visualization/RayTracer/History b/source/visualization/RayTracer/History index 0a7f586802..27d93d9bdd 100644 --- a/source/visualization/RayTracer/History +++ b/source/visualization/RayTracer/History @@ -1,4 +1,4 @@ -$Id: History,v 1.51 2007/01/05 17:06:36 allison Exp $ +$Id: History,v 1.53 2007/06/14 15:25:20 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -24,6 +24,13 @@ committal in the CVS repository ! History file for Ray Tracer category --------------------------------------- +14th June 2007 John Allison (raytracer-V08-03-01) +- Fixed memory leak in G4RayTracer (wrapper class). + +22nd May 2007 John Allison (raytracer-V08-03-00) +- Fixed for dubious ValGrind diagnostic showing apparent memory leak in + G4RTSimpleScanner and G4RTXScanner. + 5th January 2007 John Allison (raytracer-V08-02-00) - Bug fix: use of window size hints. diff --git a/source/visualization/RayTracer/include/G4RTJpeg.hh b/source/visualization/RayTracer/include/G4RTJpeg.hh index 3155b07859..c8ac7b611b 100644 --- a/source/visualization/RayTracer/include/G4RTJpeg.hh +++ b/source/visualization/RayTracer/include/G4RTJpeg.hh @@ -25,7 +25,7 @@ // // // $Id: G4RTJpeg.hh,v 1.6 2006/06/29 21:23:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4RTJpegCoder.hh b/source/visualization/RayTracer/include/G4RTJpegCoder.hh index 1d320fc7ab..ef4f883ced 100644 --- a/source/visualization/RayTracer/include/G4RTJpegCoder.hh +++ b/source/visualization/RayTracer/include/G4RTJpegCoder.hh @@ -25,7 +25,7 @@ // // // $Id: G4RTJpegCoder.hh,v 1.6 2006/06/29 21:23:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4RTJpegCoderTables.hh b/source/visualization/RayTracer/include/G4RTJpegCoderTables.hh index 160807956b..322335c8c0 100644 --- a/source/visualization/RayTracer/include/G4RTJpegCoderTables.hh +++ b/source/visualization/RayTracer/include/G4RTJpegCoderTables.hh @@ -25,7 +25,7 @@ // // // $Id: G4RTJpegCoderTables.hh,v 1.6 2006/06/29 21:23:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // class description: diff --git a/source/visualization/RayTracer/include/G4RTJpegMaker.hh b/source/visualization/RayTracer/include/G4RTJpegMaker.hh index 00f2c9b94b..9d468eccb7 100644 --- a/source/visualization/RayTracer/include/G4RTJpegMaker.hh +++ b/source/visualization/RayTracer/include/G4RTJpegMaker.hh @@ -25,7 +25,7 @@ // // // $Id: G4RTJpegMaker.hh,v 1.6 2006/06/29 21:23:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4RTMessenger.hh b/source/visualization/RayTracer/include/G4RTMessenger.hh index eb0b865b5b..fe2ae0fed7 100644 --- a/source/visualization/RayTracer/include/G4RTMessenger.hh +++ b/source/visualization/RayTracer/include/G4RTMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4RTMessenger.hh,v 1.7 2006/06/29 21:23:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4RTOutBitStream.hh b/source/visualization/RayTracer/include/G4RTOutBitStream.hh index 4f531ca31d..62ae799439 100644 --- a/source/visualization/RayTracer/include/G4RTOutBitStream.hh +++ b/source/visualization/RayTracer/include/G4RTOutBitStream.hh @@ -25,7 +25,7 @@ // // // $Id: G4RTOutBitStream.hh,v 1.7 2006/06/29 21:23:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4RTSimpleScanner.hh b/source/visualization/RayTracer/include/G4RTSimpleScanner.hh index eca2759946..7379862736 100644 --- a/source/visualization/RayTracer/include/G4RTSimpleScanner.hh +++ b/source/visualization/RayTracer/include/G4RTSimpleScanner.hh @@ -25,7 +25,7 @@ // // // $Id: G4RTSimpleScanner.hh,v 1.3 2006/06/29 21:23:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4RTSteppingAction.hh b/source/visualization/RayTracer/include/G4RTSteppingAction.hh index d7297297f3..f8b0cc3a30 100644 --- a/source/visualization/RayTracer/include/G4RTSteppingAction.hh +++ b/source/visualization/RayTracer/include/G4RTSteppingAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4RTSteppingAction.hh,v 1.5 2006/06/29 21:23:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4RTTrackingAction.hh b/source/visualization/RayTracer/include/G4RTTrackingAction.hh index 2bc1fae372..34cf063b00 100644 --- a/source/visualization/RayTracer/include/G4RTTrackingAction.hh +++ b/source/visualization/RayTracer/include/G4RTTrackingAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4RTTrackingAction.hh,v 1.6 2006/06/29 21:23:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4RTXScanner.hh b/source/visualization/RayTracer/include/G4RTXScanner.hh index 077b19dbc3..b7cea914bf 100644 --- a/source/visualization/RayTracer/include/G4RTXScanner.hh +++ b/source/visualization/RayTracer/include/G4RTXScanner.hh @@ -25,7 +25,7 @@ // // // $Id: G4RTXScanner.hh,v 1.4 2006/06/29 21:23:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4RayTracer.hh b/source/visualization/RayTracer/include/G4RayTracer.hh index 41c9be564e..4de27b6d83 100644 --- a/source/visualization/RayTracer/include/G4RayTracer.hh +++ b/source/visualization/RayTracer/include/G4RayTracer.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RayTracer.hh,v 1.11 2006/06/29 21:23:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4RayTracer.hh,v 1.12 2007/06/14 15:25:20 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // @@ -42,13 +42,17 @@ #include "G4VGraphicsSystem.hh" +class G4TheRayTracer; + class G4RayTracer : public G4VGraphicsSystem { - public: // with description - G4RayTracer(); - ~G4RayTracer(); - G4VSceneHandler* CreateSceneHandler (const G4String& ); - G4VViewer* CreateViewer (G4VSceneHandler&, const G4String& ); +public: // with description + G4RayTracer(); + ~G4RayTracer(); + G4VSceneHandler* CreateSceneHandler (const G4String& ); + G4VViewer* CreateViewer (G4VSceneHandler&, const G4String& ); +private: + G4TheRayTracer* theRayTracer; }; #endif diff --git a/source/visualization/RayTracer/include/G4RayTracerFeatures.hh b/source/visualization/RayTracer/include/G4RayTracerFeatures.hh index 5b6140e535..da39ce76d5 100644 --- a/source/visualization/RayTracer/include/G4RayTracerFeatures.hh +++ b/source/visualization/RayTracer/include/G4RayTracerFeatures.hh @@ -25,7 +25,7 @@ // // // $Id: G4RayTracerFeatures.hh,v 1.4 2006/06/29 21:23:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4RayTracerSceneHandler.hh b/source/visualization/RayTracer/include/G4RayTracerSceneHandler.hh index d5702af01f..35c3123e18 100644 --- a/source/visualization/RayTracer/include/G4RayTracerSceneHandler.hh +++ b/source/visualization/RayTracer/include/G4RayTracerSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4RayTracerSceneHandler.hh,v 1.11 2006/06/29 21:23:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // John Allison 17th March 2000 diff --git a/source/visualization/RayTracer/include/G4RayTracerViewer.hh b/source/visualization/RayTracer/include/G4RayTracerViewer.hh index 94c37b2a50..0bab18ca4c 100644 --- a/source/visualization/RayTracer/include/G4RayTracerViewer.hh +++ b/source/visualization/RayTracer/include/G4RayTracerViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4RayTracerViewer.hh,v 1.7 2006/06/29 21:23:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // John Allison 17th March 2000 diff --git a/source/visualization/RayTracer/include/G4RayTracerX.hh b/source/visualization/RayTracer/include/G4RayTracerX.hh index ab6f7492fd..2d21a7379d 100644 --- a/source/visualization/RayTracer/include/G4RayTracerX.hh +++ b/source/visualization/RayTracer/include/G4RayTracerX.hh @@ -25,7 +25,7 @@ // // // $Id: G4RayTracerX.hh,v 1.4 2006/06/29 21:23:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 11th September 2003 diff --git a/source/visualization/RayTracer/include/G4RayTracerXViewer.hh b/source/visualization/RayTracer/include/G4RayTracerXViewer.hh index 0633059287..af279325d9 100644 --- a/source/visualization/RayTracer/include/G4RayTracerXViewer.hh +++ b/source/visualization/RayTracer/include/G4RayTracerXViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4RayTracerXViewer.hh,v 1.3 2006/06/29 21:23:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // John Allison 17th March 2000 diff --git a/source/visualization/RayTracer/include/G4RayTrajectory.hh b/source/visualization/RayTracer/include/G4RayTrajectory.hh index 5359483d58..fe61ccfd6c 100644 --- a/source/visualization/RayTracer/include/G4RayTrajectory.hh +++ b/source/visualization/RayTracer/include/G4RayTrajectory.hh @@ -25,7 +25,7 @@ // // // $Id: G4RayTrajectory.hh,v 1.15 2006/06/29 21:23:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4RayTrajectoryPoint.hh b/source/visualization/RayTracer/include/G4RayTrajectoryPoint.hh index dbb46203e8..c9943a8a20 100644 --- a/source/visualization/RayTracer/include/G4RayTrajectoryPoint.hh +++ b/source/visualization/RayTracer/include/G4RayTrajectoryPoint.hh @@ -25,7 +25,7 @@ // // // $Id: G4RayTrajectoryPoint.hh,v 1.9 2006/06/29 21:23:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4TheRayTracer.hh b/source/visualization/RayTracer/include/G4TheRayTracer.hh index 2547fd7590..1678743e43 100644 --- a/source/visualization/RayTracer/include/G4TheRayTracer.hh +++ b/source/visualization/RayTracer/include/G4TheRayTracer.hh @@ -25,7 +25,7 @@ // // // $Id: G4TheRayTracer.hh,v 1.3 2006/06/29 21:23:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4VFigureFileMaker.hh b/source/visualization/RayTracer/include/G4VFigureFileMaker.hh index ba7671285b..993f96ccd1 100644 --- a/source/visualization/RayTracer/include/G4VFigureFileMaker.hh +++ b/source/visualization/RayTracer/include/G4VFigureFileMaker.hh @@ -25,7 +25,7 @@ // // // $Id: G4VFigureFileMaker.hh,v 1.5 2006/06/29 21:23:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/include/G4VRTScanner.hh b/source/visualization/RayTracer/include/G4VRTScanner.hh index 202bf4cf4c..aa0eeb94b0 100644 --- a/source/visualization/RayTracer/include/G4VRTScanner.hh +++ b/source/visualization/RayTracer/include/G4VRTScanner.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRTScanner.hh,v 1.5 2006/06/29 21:23:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/RayTracer/src/G4RTJpegCoder.cc b/source/visualization/RayTracer/src/G4RTJpegCoder.cc index 1ed07cccdb..749c9cbdee 100644 --- a/source/visualization/RayTracer/src/G4RTJpegCoder.cc +++ b/source/visualization/RayTracer/src/G4RTJpegCoder.cc @@ -25,7 +25,7 @@ // // // $Id: G4RTJpegCoder.cc,v 1.6 2006/06/29 21:23:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/visualization/RayTracer/src/G4RTJpegMaker.cc b/source/visualization/RayTracer/src/G4RTJpegMaker.cc index b75ac48a53..541476053e 100644 --- a/source/visualization/RayTracer/src/G4RTJpegMaker.cc +++ b/source/visualization/RayTracer/src/G4RTJpegMaker.cc @@ -25,7 +25,7 @@ // // // $Id: G4RTJpegMaker.cc,v 1.10 2006/06/29 21:23:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/visualization/RayTracer/src/G4RTMessenger.cc b/source/visualization/RayTracer/src/G4RTMessenger.cc index b933119569..62ebc73a43 100644 --- a/source/visualization/RayTracer/src/G4RTMessenger.cc +++ b/source/visualization/RayTracer/src/G4RTMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4RTMessenger.cc,v 1.10 2006/11/17 21:34:12 perl Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/visualization/RayTracer/src/G4RTOutBitStream.cc b/source/visualization/RayTracer/src/G4RTOutBitStream.cc index 314b13733e..40c6a59b47 100644 --- a/source/visualization/RayTracer/src/G4RTOutBitStream.cc +++ b/source/visualization/RayTracer/src/G4RTOutBitStream.cc @@ -25,7 +25,7 @@ // // // $Id: G4RTOutBitStream.cc,v 1.5 2006/06/29 21:24:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/visualization/RayTracer/src/G4RTSimpleScanner.cc b/source/visualization/RayTracer/src/G4RTSimpleScanner.cc index 97409b82a3..ec27ccc2af 100644 --- a/source/visualization/RayTracer/src/G4RTSimpleScanner.cc +++ b/source/visualization/RayTracer/src/G4RTSimpleScanner.cc @@ -24,16 +24,19 @@ // ******************************************************************** // // -// $Id: G4RTSimpleScanner.cc,v 1.3 2006/06/29 21:24:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4RTSimpleScanner.cc,v 1.4 2007/05/22 17:10:42 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // #include "G4RTSimpleScanner.hh" G4RTSimpleScanner::G4RTSimpleScanner(): - theGSName("RayTracer"), theGSNickname("RayTracer"), - theNRow(0), theNColumn(0), theIRow(0), theIColumn(0) {} + theNRow(0), theNColumn(0), theIRow(0), theIColumn(0) +{ + theGSName = "RayTracer"; + theGSNickname = "RayTracer"; +} const G4String& G4RTSimpleScanner::GetGSName() const {return theGSName;} diff --git a/source/visualization/RayTracer/src/G4RTSteppingAction.cc b/source/visualization/RayTracer/src/G4RTSteppingAction.cc index 1ea8356186..1ba7721ee7 100644 --- a/source/visualization/RayTracer/src/G4RTSteppingAction.cc +++ b/source/visualization/RayTracer/src/G4RTSteppingAction.cc @@ -25,7 +25,7 @@ // // // $Id: G4RTSteppingAction.cc,v 1.7 2006/06/29 21:24:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/visualization/RayTracer/src/G4RTTrackingAction.cc b/source/visualization/RayTracer/src/G4RTTrackingAction.cc index 54e7b76bf1..18f9a0342d 100644 --- a/source/visualization/RayTracer/src/G4RTTrackingAction.cc +++ b/source/visualization/RayTracer/src/G4RTTrackingAction.cc @@ -25,7 +25,7 @@ // // // $Id: G4RTTrackingAction.cc,v 1.5 2006/06/29 21:24:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/visualization/RayTracer/src/G4RTXScanner.cc b/source/visualization/RayTracer/src/G4RTXScanner.cc index ff68c74d44..6419aebd96 100644 --- a/source/visualization/RayTracer/src/G4RTXScanner.cc +++ b/source/visualization/RayTracer/src/G4RTXScanner.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RTXScanner.cc,v 1.4 2006/06/29 21:24:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4RTXScanner.cc,v 1.5 2007/05/22 17:10:42 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // @@ -47,8 +47,11 @@ extern "C" { } G4RTXScanner::G4RTXScanner(): - theGSName("RayTracerX"), theGSNickname("RayTracerX"), - theNRow(0), theNColumn(0), theIRow(0), theIColumn(0) {} + theNRow(0), theNColumn(0), theIRow(0), theIColumn(0) +{ + theGSName = "RayTracerX"; + theGSNickname = "RayTracerX"; +} const G4String& G4RTXScanner::GetGSName() const {return theGSName;} diff --git a/source/visualization/RayTracer/src/G4RayTracer.cc b/source/visualization/RayTracer/src/G4RayTracer.cc index e48709c183..0e6073e000 100644 --- a/source/visualization/RayTracer/src/G4RayTracer.cc +++ b/source/visualization/RayTracer/src/G4RayTracer.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4RayTracer.cc,v 1.21 2006/06/29 21:24:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4RayTracer.cc,v 1.22 2007/06/14 15:25:20 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4RayTracer.hh" #include "G4RayTracerFeatures.hh" @@ -39,11 +39,13 @@ G4RayTracer::G4RayTracer(): RAYTRACER_FEATURES, G4VGraphicsSystem::threeD) { - new G4TheRayTracer; // Establish default ray tracer. + theRayTracer = new G4TheRayTracer; // Establish default ray tracer. } G4RayTracer::~G4RayTracer() -{} +{ + delete theRayTracer; +} G4VSceneHandler* G4RayTracer::CreateSceneHandler (const G4String& name) { G4VSceneHandler* pScene = new G4RayTracerSceneHandler (*this, name); diff --git a/source/visualization/RayTracer/src/G4RayTracerSceneHandler.cc b/source/visualization/RayTracer/src/G4RayTracerSceneHandler.cc index 81bdf3f7c0..c66f133669 100644 --- a/source/visualization/RayTracer/src/G4RayTracerSceneHandler.cc +++ b/source/visualization/RayTracer/src/G4RayTracerSceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4RayTracerSceneHandler.cc,v 1.10 2006/11/14 14:46:37 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4RayTracerSceneHandler.hh" #include "G4VisManager.hh" diff --git a/source/visualization/RayTracer/src/G4RayTracerViewer.cc b/source/visualization/RayTracer/src/G4RayTracerViewer.cc index 8fdaf25bd4..12090ca8f9 100644 --- a/source/visualization/RayTracer/src/G4RayTracerViewer.cc +++ b/source/visualization/RayTracer/src/G4RayTracerViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4RayTracerViewer.cc,v 1.17 2007/01/05 17:05:11 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4RayTracerViewer.hh" diff --git a/source/visualization/RayTracer/src/G4RayTracerX.cc b/source/visualization/RayTracer/src/G4RayTracerX.cc index 55387a72e3..fd8d027d65 100644 --- a/source/visualization/RayTracer/src/G4RayTracerX.cc +++ b/source/visualization/RayTracer/src/G4RayTracerX.cc @@ -25,7 +25,7 @@ // // // $Id: G4RayTracerX.cc,v 1.5 2006/06/29 21:24:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/visualization/RayTracer/src/G4RayTracerXViewer.cc b/source/visualization/RayTracer/src/G4RayTracerXViewer.cc index 6f541feadd..61be613cb6 100644 --- a/source/visualization/RayTracer/src/G4RayTracerXViewer.cc +++ b/source/visualization/RayTracer/src/G4RayTracerXViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4RayTracerXViewer.cc,v 1.5 2006/06/29 21:24:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #ifdef G4VIS_BUILD_RAYTRACERX_DRIVER diff --git a/source/visualization/RayTracer/src/G4RayTrajectory.cc b/source/visualization/RayTracer/src/G4RayTrajectory.cc index 36fb5b0622..a1daea37d1 100644 --- a/source/visualization/RayTracer/src/G4RayTrajectory.cc +++ b/source/visualization/RayTracer/src/G4RayTrajectory.cc @@ -25,7 +25,7 @@ // // // $Id: G4RayTrajectory.cc,v 1.15 2006/06/29 21:24:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/visualization/RayTracer/src/G4RayTrajectoryPoint.cc b/source/visualization/RayTracer/src/G4RayTrajectoryPoint.cc index a87e6e713a..0a85ab3a3b 100644 --- a/source/visualization/RayTracer/src/G4RayTrajectoryPoint.cc +++ b/source/visualization/RayTracer/src/G4RayTrajectoryPoint.cc @@ -25,7 +25,7 @@ // // // $Id: G4RayTrajectoryPoint.cc,v 1.6 2006/06/29 21:24:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/visualization/RayTracer/src/G4TheRayTracer.cc b/source/visualization/RayTracer/src/G4TheRayTracer.cc index 755b153ff0..48765a7a00 100644 --- a/source/visualization/RayTracer/src/G4TheRayTracer.cc +++ b/source/visualization/RayTracer/src/G4TheRayTracer.cc @@ -25,7 +25,7 @@ // // // $Id: G4TheRayTracer.cc,v 1.3 2006/06/29 21:24:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // diff --git a/source/visualization/Tree/History b/source/visualization/Tree/History index 95a1a10a06..8c4f35e600 100644 --- a/source/visualization/Tree/History +++ b/source/visualization/Tree/History @@ -1,4 +1,4 @@ -$Id: History,v 1.29 2007/01/05 17:01:16 allison Exp $ +$Id: History,v 1.30 2007/03/27 15:11:43 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -24,6 +24,9 @@ committal in the CVS repository ! History file for visualization/Tree sub-category ------------------------------------------------ +25th March 2007 John Allison (vistree-V08-02-01) +- Removed GAGTree. + 5th January 2007 John Allison (vistree-V08-02-00) - Bug fix: Format of total mass. diff --git a/source/visualization/Tree/include/G4ASCIITree.hh b/source/visualization/Tree/include/G4ASCIITree.hh index 3a38d66a5e..190c755c32 100644 --- a/source/visualization/Tree/include/G4ASCIITree.hh +++ b/source/visualization/Tree/include/G4ASCIITree.hh @@ -25,7 +25,7 @@ // // // $Id: G4ASCIITree.hh,v 1.7 2006/06/29 21:24:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/include/G4ASCIITreeMessenger.hh b/source/visualization/Tree/include/G4ASCIITreeMessenger.hh index a6e7cbb638..b6e03b4cc9 100644 --- a/source/visualization/Tree/include/G4ASCIITreeMessenger.hh +++ b/source/visualization/Tree/include/G4ASCIITreeMessenger.hh @@ -25,7 +25,7 @@ // // // $Id: G4ASCIITreeMessenger.hh,v 1.7 2006/06/29 21:24:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/include/G4ASCIITreeSceneHandler.hh b/source/visualization/Tree/include/G4ASCIITreeSceneHandler.hh index 3cff7ae2f9..773bf8b66d 100644 --- a/source/visualization/Tree/include/G4ASCIITreeSceneHandler.hh +++ b/source/visualization/Tree/include/G4ASCIITreeSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4ASCIITreeSceneHandler.hh,v 1.17 2006/12/11 21:14:45 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/include/G4ASCIITreeViewer.hh b/source/visualization/Tree/include/G4ASCIITreeViewer.hh index 9c809d532b..b093d5d0b9 100644 --- a/source/visualization/Tree/include/G4ASCIITreeViewer.hh +++ b/source/visualization/Tree/include/G4ASCIITreeViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4ASCIITreeViewer.hh,v 1.5 2006/06/29 21:24:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/include/G4GAGTree.hh b/source/visualization/Tree/include/G4GAGTree.hh deleted file mode 100644 index 5b9234861d..0000000000 --- a/source/visualization/Tree/include/G4GAGTree.hh +++ /dev/null @@ -1,50 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Satoshi Tanaka 31 May 2001 -// A graphics system to dump geometry hierarchy to GAG. -// - -#ifndef G4GAGTREE_HH -#define G4GAGTREE_HH - -#include "G4VTree.hh" - -class G4GAGTreeMessenger; - -class G4GAGTree: public G4VTree { -public: - G4GAGTree (); - virtual ~G4GAGTree (); - G4VSceneHandler* CreateSceneHandler (const G4String& name = ""); - G4VViewer* CreateViewer (G4VSceneHandler&, const G4String& name = ""); - void SetVerbosity(G4int verbosity) {fVerbosity = verbosity;} - G4int GetVerbosity() const {return fVerbosity;} -protected: - G4int fVerbosity; - G4GAGTreeMessenger* fpMessenger; -}; - -#endif diff --git a/source/visualization/Tree/include/G4GAGTreeList.hh b/source/visualization/Tree/include/G4GAGTreeList.hh deleted file mode 100644 index 256fcd23d6..0000000000 --- a/source/visualization/Tree/include/G4GAGTreeList.hh +++ /dev/null @@ -1,395 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -////////////////////////////////// -///// G4GAGTreeList.hh /////// -///// Satoshi Tanaka /////// -////////////////////////////////// - -#if !defined G4GAGTREELIST_HH -#define G4GAGTREELIST_HH - -#include -#include "globals.hh" - -///////////////////////////////// -///// class G4GAGTreeNode ///// -///////////////////////////////// - -template class G4GAGTreeNode { - public: - Type item ; // item - G4GAGTreeNode* down ; // address of neighboring node (downward) - G4GAGTreeNode* up ; // address of neighboring node (upward) -} ; // G4GAGTreeNode - - -/////////////////////////////////////// -///// class G4GAGTreeList ///// -/////////////////////////////////////// - -template class G4GAGTreeList { - private: - //----- constants - enum { ERROR = 0, NORMAL = 1 }; - - G4GAGTreeNode* head ; // head of list - G4GAGTreeNode* tail ; // tail of list - G4GAGTreeNode* cur ; // current node - - //----- number of items in list - int nItem ; // number of stored items - - public: - //----- Constructor - //..... Initialize head and current node of list to NULL. - //..... Set name of list ( default name is "no_name") - G4GAGTreeList( const char* name_ = "no_name" ) ; - - //----- Destructor - ~G4GAGTreeList() { this->Clear() ; } - - //----- Add an item to list and make it a new head. - //..... Return: NORMAL = 1 (normal) - //..... ERROOR = 0 (error) - int AddItem( const Type& item ); - - //----- Delete an item of current node - //..... Return: NORMAL = 1 if deleted. - //..... ERROR = 0 if not deleted ( cur = NULL or nItem = 1). - //..... In case of NORMAL, cur moves to cur->down. - int DeleteItem() ; - - - //----- Set current node to the head of list. - void ToHead() { cur = head ; } - - //----- Set current node to the tail of list. - void ToTail() { cur = tail ; } - - //----- Increment current node to downward direction by 1 step - //..... Return: NORMAL = 1 (normal) - //..... ERROOR = 0 (if cur = NULL) - int Downward(); - - //----- Increment current node to upward direction by 1 step - //..... Return: NORMAL = 1 (normal) - //..... ERROOR = 0 (if cur = NULL) - int Upward(); - - - //----- Get current item - //..... The obtained item is returned to the argument. - //..... Return: NORMAL = 1 (normal) - //..... ERROR = 0 (error) - int GetItem( Type& item ); - - //----- Get position of current node counting from tail - //..... Return: 0, 1, 2, ..... , nItem -1 - //..... If cur == tail, 0 is returned. - //..... If cur == NULL, -1 is returned. - //..... Current node is not modified after calling this function - int WhereIsCurrentNode() ; - - //----- Check if current node is NULL - //..... Return 1: if cur == NULL - //..... 0: if cur != NULL - int IsCurrentNodeNull() { return ( cur == NULL ) ; } - - //----- Get number of stored items - int GetNumItem() const { return nItem ; } - - //----- Get number of stored items minus one - //..... Note: If the list is empty, -1 is returned - int GetHeadIndex() const { return (nItem - 1) ; } - - //----- delete all items - //..... All nodes are deleted. - //..... head, tail, cur are reset to NULL. - void Clear(); - - //----- For use of STACK: Push - //..... Added new node becomes a new current node. - //..... Return: NORMAL = 1 (normal) - //..... ERROOR = 0 (error) - //..... Added new node becomes a new current node. - int Push( const Type& item ) { return AddItem( item ) ; } - - //----- For use of STACK - //..... Get head->item and then delete it. - //..... The obtained item is returned to the argument. - //..... Return: NORMAL = 1 (normal) - //..... ERROR = 0 (error) - //..... In case of NORMAL, cur moves to cur->down. - int Pop( Type& item ) ; - - //----- For use of STACK: pop - void Pop( void ) { this->ToHead(); this->DeleteItem(); } - -} ; // class G4GAGTreeList - - - -//////////////////////////////////////////////////////////////// -///// Inline Member functions of class "G4GAGTreeList" /////// -//////////////////////////////////////////////////////////////// - -//----- -template -inline G4GAGTreeList::G4GAGTreeList( const char* ) -{ - cur = head = tail = NULL ; - nItem = 0 ; - -} // G4GAGTreeList::G4GAGTreeList() - - -//----- -template -inline int G4GAGTreeList::AddItem( const Type& item ) -{ - //----- local - int status ; - G4GAGTreeNode* old_head = head ; // store old head - - //----- allocate dynamical memory for added node - head = new G4GAGTreeNode ; - if( !head ){ - //----- failed to allocate dynamical memory - status = ERROR ; - - } else { - //----- increment number of stored items - nItem++ ; - - //----- set tail of list in the first push - if( nItem == 1 ) { tail = head ; } - - //----- set current node to added node - cur = head ; - - //----- add an item - head->item = item ; // add an item - - //----- make links - //..... 2 1 - //..... NULL <----- head -----> old_head - //..... <----- - //..... 3 - head->down = old_head ; // make link 1 - head->up = NULL ; // make link 2 - if( old_head != NULL ) { - old_head->up = head ; // make link 3 - } - //----- set status - status = NORMAL ; - } // if--else - - //----- return status - return status ; - -} - - -//----- -template -inline int G4GAGTreeList::DeleteItem() -{ - //----- local variables - int status ; - G4GAGTreeNode* cur_old ; // backup of current node - - //----- ERROR if current node does not have an item - //...... or no item exist in list - if ( cur == NULL || nItem == 0 ) { - status = ERROR ; - } else { - //----- Below cur != NULL, nItem >= 1, - //..... head != NULL, and tail != NULL - - //----- make backup of current node - cur_old = cur ; - - //----- remake links - if( cur == head ) { - cur = cur->down ; - head = cur ; - if ( head != NULL ) { - head->up = NULL ; - delete cur_old ; nItem-- ; - } else { - //----- In case that head = NULL: - //..... This case occurs in case that - //..... head = tail i.e. nItem = 1. - //..... At the end of this function, - //..... head = tail = cur = NULL, nItem = 0 - tail = NULL ; - delete cur_old ; - nItem = 0 ; - // nItem-- ; - } - - } else if( cur == tail ){ - //----- Here, cur != head && cur == tail. - //..... So, tail != head. - //..... It means, at least 2 items exist in the list. - //..... So, tail->up is not NULL. - tail = tail->up ; - tail->down = NULL; - cur = NULL ; - delete cur_old ; nItem-- ; - - } else { //----- In case that cur is neither head or tail. - //..... head --- .... --- cur ---... --- tail. - (cur->up)->down = cur->down ; - (cur->down)->up = cur->up ; - cur = cur->down ; - delete cur_old ; nItem-- ; - } // if-else_if-else - - status = NORMAL; - - } // if--else - - //----- return (successfully deleted) - return status ; - -} - - -//----- -template -inline int G4GAGTreeList::Downward() -{ - int status ; - if( cur == NULL ) { - status = ERROR ; // do nothing - - } else { - cur = cur->down ; // move dawnward - status = NORMAL ; - } - return status ; -} - - -//----- -template -inline int G4GAGTreeList::Upward() -{ - int status ; - if( cur == NULL ) { - status = ERROR ; // do nothing - } else { - cur = cur->up ; // move upward - status = NORMAL ; - } - return status ; -} - - -//----- -template -inline int G4GAGTreeList::GetItem( Type& item ) -{ - //----- return value - int state ; - - //----- get an item of current node - if ( cur == NULL ) { - state = ERROR ; - } else { - state = NORMAL ; - item = cur->item ; - } - - //----- return - return state ; -} - - -//----- -template -inline int G4GAGTreeList::WhereIsCurrentNode() -{ - G4GAGTreeNode* tmp = cur ;// copy current node - int n = -1 ; // counter - - //----- count how many steps there are until tail. - while( tmp != NULL ) { n++ ; tmp = tmp->down ;} - - //----- return steps - return n ; - -} - - -//----- -template -inline void G4GAGTreeList::Clear() -{ - //----- delete items - cur = head ; - while( cur != NULL ) - { - G4GAGTreeNode* tmp = cur ; - cur = cur->down ; - delete tmp ; // destructor called - } - - //----- reset head and current node - cur = head = tail = NULL ; - - //----- reset number of stored items - nItem = 0 ; - -} - - -//----- Pop() -template -inline int G4GAGTreeList::Pop( Type& item ) -{ - //----- local variables - int status ; - - //----- get head->item - ToHead() ; - status = GetItem( item ) ; - - //----- delete head->item if it exists - //..... and make cur move to cur->down - if( status ) { DeleteItem(); } - - //----- RETURN - return status ; - -} - - - -////////////// -#endif -////////////// end of list.h diff --git a/source/visualization/Tree/include/G4GAGTreeSceneHandler.hh b/source/visualization/Tree/include/G4GAGTreeSceneHandler.hh deleted file mode 100644 index 2b0077e691..0000000000 --- a/source/visualization/Tree/include/G4GAGTreeSceneHandler.hh +++ /dev/null @@ -1,110 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Satoshi Tanaka 31th April 2001 -// A scene handler to dump geometry hierarchy GAG - - -#ifndef G4GAGTREESCENEHANDLER_HH -#define G4GAGTREESCENEHANDLER_HH - -#include "G4VTreeSceneHandler.hh" - -#include - -class G4VPhysicalVolume; - -///////////////////////////// -#include "G4GAGTreeList.hh" -class G4String ; -///////////////////////////// - -/////////////////////////////////////////////////////////////////// -// The algorithm of re-generating a geometry tree -// of physical volumes (PV): -// -// In each addition of the N-th PV with a given depth D, P(N;D) to -// the tree, we use the following rules: -// -// R1. We can add P(N;D) to one of the previously-generated PV nodes, -// P(N_mother > fLVSet; - typedef - std::set >::iterator - LVSetIterator; - std::set > fReplicaSet; - typedef - std::set >::iterator - ReplicaSetIterator; - -///////////////////////////// - void ClearPVList(void); - void InitializePVList(void); - G4GAGTreeList fPVNameList ; - G4int fPrevDepth ; - G4String fPrevAbsPVName ; - G4int fPVCounter ; -///////////////////////////// -}; - -#endif diff --git a/source/visualization/Tree/include/G4GAGTreeViewer.hh b/source/visualization/Tree/include/G4GAGTreeViewer.hh deleted file mode 100644 index f8fac54504..0000000000 --- a/source/visualization/Tree/include/G4GAGTreeViewer.hh +++ /dev/null @@ -1,40 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Satoshi Tanaka 31th May 2001 -// A dummy viewer for GAGTreeSceneHandler. - -#ifndef G4GAGTREEVIEWER_HH -#define G4GAGTREEVIEWER_HH - -#include "G4VTreeViewer.hh" - -class G4GAGTreeViewer: public G4VTreeViewer { -public: - G4GAGTreeViewer(G4VSceneHandler&,const G4String& name); - virtual ~G4GAGTreeViewer(); -}; - -#endif diff --git a/source/visualization/Tree/include/G4VTree.hh b/source/visualization/Tree/include/G4VTree.hh index 1473125256..6123543926 100644 --- a/source/visualization/Tree/include/G4VTree.hh +++ b/source/visualization/Tree/include/G4VTree.hh @@ -25,7 +25,7 @@ // // // $Id: G4VTree.hh,v 1.5 2006/06/29 21:24:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/include/G4VTreeSceneHandler.hh b/source/visualization/Tree/include/G4VTreeSceneHandler.hh index c212bb7c2e..8fbe554cdc 100644 --- a/source/visualization/Tree/include/G4VTreeSceneHandler.hh +++ b/source/visualization/Tree/include/G4VTreeSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4VTreeSceneHandler.hh,v 1.18 2006/06/29 21:24:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/include/G4VTreeSceneHandler.icc b/source/visualization/Tree/include/G4VTreeSceneHandler.icc index 12a9bfbbc6..ce109029c0 100644 --- a/source/visualization/Tree/include/G4VTreeSceneHandler.icc +++ b/source/visualization/Tree/include/G4VTreeSceneHandler.icc @@ -25,7 +25,7 @@ // // // $Id: G4VTreeSceneHandler.icc,v 1.8 2006/06/29 21:24:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 18th May 2000 diff --git a/source/visualization/Tree/include/G4VTreeViewer.hh b/source/visualization/Tree/include/G4VTreeViewer.hh index c4856f761c..7a8ca08368 100644 --- a/source/visualization/Tree/include/G4VTreeViewer.hh +++ b/source/visualization/Tree/include/G4VTreeViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4VTreeViewer.hh,v 1.5 2006/06/29 21:24:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/src/G4ASCIITree.cc b/source/visualization/Tree/src/G4ASCIITree.cc index 97e2a75d96..f4dda77ac3 100644 --- a/source/visualization/Tree/src/G4ASCIITree.cc +++ b/source/visualization/Tree/src/G4ASCIITree.cc @@ -25,7 +25,7 @@ // // // $Id: G4ASCIITree.cc,v 1.12 2007/01/05 16:59:43 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/src/G4ASCIITreeMessenger.cc b/source/visualization/Tree/src/G4ASCIITreeMessenger.cc index 4d284e1819..2be0af29d2 100644 --- a/source/visualization/Tree/src/G4ASCIITreeMessenger.cc +++ b/source/visualization/Tree/src/G4ASCIITreeMessenger.cc @@ -25,7 +25,7 @@ // // // $Id: G4ASCIITreeMessenger.cc,v 1.19 2007/01/05 16:59:43 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/src/G4ASCIITreeSceneHandler.cc b/source/visualization/Tree/src/G4ASCIITreeSceneHandler.cc index 9e93642f43..3f4c324491 100644 --- a/source/visualization/Tree/src/G4ASCIITreeSceneHandler.cc +++ b/source/visualization/Tree/src/G4ASCIITreeSceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4ASCIITreeSceneHandler.cc,v 1.34 2007/01/05 17:00:27 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/src/G4ASCIITreeViewer.cc b/source/visualization/Tree/src/G4ASCIITreeViewer.cc index fbda15e7bb..1e4cb43c24 100644 --- a/source/visualization/Tree/src/G4ASCIITreeViewer.cc +++ b/source/visualization/Tree/src/G4ASCIITreeViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4ASCIITreeViewer.cc,v 1.8 2006/06/29 21:24:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4ASCIITreeViewer.hh" diff --git a/source/visualization/Tree/src/G4GAGTree.cc b/source/visualization/Tree/src/G4GAGTree.cc deleted file mode 100644 index 9c5a6a54d8..0000000000 --- a/source/visualization/Tree/src/G4GAGTree.cc +++ /dev/null @@ -1,71 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Satoshi Tanaka 31th May 2001 -// A graphics system to dump geometry hierarchy to GAG. - -#include "G4GAGTree.hh" -#include "G4GAGTreeSceneHandler.hh" -#include "G4GAGTreeViewer.hh" -#include "G4GAGTreeMessenger.hh" - -G4GAGTree::G4GAGTree (): - G4VTree ("GAGTree", - "GAGTree", - "A graphics system to dump geometry hierarchy" - "\n to GAG.", - G4VGraphicsSystem::nonEuclidian) { - fpMessenger = new G4GAGTreeMessenger(this); -} - -G4GAGTree::~G4GAGTree () { - delete fpMessenger; -} - -G4VSceneHandler* G4GAGTree::CreateSceneHandler (const G4String& name) { - G4VSceneHandler* pScene = new G4GAGTreeSceneHandler (*this, name); - return pScene; -} - -G4VViewer* G4GAGTree::CreateViewer (G4VSceneHandler& scene, - const G4String& name) { - G4VViewer* pView = - new G4GAGTreeViewer ((G4GAGTreeSceneHandler&) scene, name); - if (pView) { - if (pView -> GetViewId () < 0) { - G4cout << "G4GAGTree::CreateViewer: ERROR flagged by negative" - " view id in G4GAGTreeViewer creation." - "\n Destroying view and returning null pointer." - << G4endl; - delete pView; - pView = 0; - } - } - else { - G4cout << "G4GAGTree::CreateViewer: ERROR: null pointer on" - " new G4GAGTreeViewer." << G4endl; - } - return pView; -} diff --git a/source/visualization/Tree/src/G4GAGTreeSceneHandler.cc b/source/visualization/Tree/src/G4GAGTreeSceneHandler.cc deleted file mode 100644 index 82814cb3ab..0000000000 --- a/source/visualization/Tree/src/G4GAGTreeSceneHandler.cc +++ /dev/null @@ -1,298 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Satoshi Tanaka 31th May 2001 -// A scene handler to dump geometry hierarchy to GAG. - -#include "G4Types.hh" -#include - -#include "G4GAGTreeSceneHandler.hh" - -#include "G4GAGTree.hh" -#include "G4VSolid.hh" -#include "G4PhysicalVolumeModel.hh" -#include "G4VPhysicalVolume.hh" -#include "G4LogicalVolume.hh" -#include "G4VPVParameterisation.hh" - -// #define DEBUG_GAG_TREE - -const G4String GAG_TREE_WORLD_VOLUME_NAME ( "WORLD" ); -const G4String GAG_TREE_BEGIN_DTREE ( "@@DTREEBegin" ); -const G4String GAG_TREE_END_DTREE ( "@@DTREEEnd" ); - - -//----- -G4GAGTreeSceneHandler::G4GAGTreeSceneHandler(G4VGraphicsSystem& system, - const G4String& name): - G4VTreeSceneHandler(system, name) -{ - ClearPVList(); -} - -//----- -G4GAGTreeSceneHandler::~G4GAGTreeSceneHandler () -{ - ClearPVList(); -} - -//----- -void G4GAGTreeSceneHandler::ClearPVList(void) -{ - fPVNameList.Clear() ; - - fPrevDepth = 0 ; - fPrevAbsPVName = ""; - fPVCounter = 0 ; -} - -//----- -void G4GAGTreeSceneHandler::InitializePVList(void) -{ - fPVNameList.Clear(); - fPVNameList.Push( GAG_TREE_WORLD_VOLUME_NAME ); - - fPrevDepth = 0 ; - fPrevAbsPVName = ""; - fPVCounter = 0 ; -} - -//----- -void G4GAGTreeSceneHandler::BeginModeling () -{ - G4VTreeSceneHandler::BeginModeling (); - - // Initialize the stack the the tree generation - InitializePVList(); - - // Get the current verbosity level - const G4GAGTree* pSystem = (G4GAGTree*)GetGraphicsSystem(); - const G4int verbosity = pSystem->GetVerbosity(); - - // Beginning of the tree output - G4cout << "\nG4GAGTreeSceneHandler::BeginModeling:" - "\n set verbosity with \"/vis/GAGTree/verbose \":" - "\n < 10: - does not print daughters of repeated placements." - "\n - does not repeat replicas." - "\n >= 10: prints all physical volumes." - "\n FORMAT: PV_name.copy_no.index" - "\n For level of detail add:" - "\n >= 0: prints physical volume name and copy number." - "\n FORMAT: PV_name.copy_no.index" - "\n >= 1: prints logical volume name." - "\n FORMAT: PV_name.copy_no.LV_name.index" - "\n >= 2: prints solid name and type." - "\n FORMAT: PV_name.copy_no.LV_name.solid_name.solid_type.index" - "\n Note: all culling, if any, is switched off so all volumes are seen." - "\n Now printing with verbosity " << verbosity << G4endl; - - // Declare to start GAG tree - G4cout << GAG_TREE_BEGIN_DTREE << G4endl; - -} - -void G4GAGTreeSceneHandler::EndModeling () -{ - // Dump the last PV node - if( fPrevAbsPVName != "" ) { G4cout << fPrevAbsPVName << G4endl; } - - // Declare to end GAG tree - G4cout << GAG_TREE_END_DTREE << G4endl; - G4cout << "G4GAGTreeSceneHandler::EndModeling" << G4endl; - - // Clear the sets - fLVSet.clear(); - fReplicaSet.clear(); - - // Clear the stack for the tree generation - ClearPVList(); - - G4VTreeSceneHandler::EndModeling (); -} - -void G4GAGTreeSceneHandler::RequestPrimitives (const G4VSolid&) -{ - // Protection if solid drawn not from physical volume tree...(JA) - G4PhysicalVolumeModel* pPVModel = - dynamic_cast(fpModel); - if (!pPVModel) return; - G4VPhysicalVolume* pCurrentPV = pPVModel->GetCurrentPV(); - G4LogicalVolume* pCurrentLV = pPVModel->GetCurrentLV(); - G4int currentDepth = pPVModel->GetCurrentDepth(); - -////////////////////////////// - G4String cur_abs_pv_name ; - G4String pv_name_tmp ; - G4String cur_pv_name ( pCurrentPV->GetName() ) ; -////////////////////////////// - - const G4GAGTree* pSystem = (G4GAGTree*)GetGraphicsSystem(); - const G4int verbosity = pSystem->GetVerbosity(); - const G4int detail = verbosity % 10; - - if (verbosity < 10 && fReplicaSet.find(pCurrentPV) != fReplicaSet.end()) { - // Ignore if an already treated replica. - pPVModel->CurtailDescent(); - return; - } - - -/////////////////////////////////////////////////////////// - // Add the extension ".details.index" to the current PV node - - // Step 1: Initialize the extension - std::ostringstream ost; - - // Step 2: Generate the extension - // copy number - ost << "." << pCurrentPV->GetCopyNo() ; - if (detail >= 1) { - // LV name - ost << "." << pCurrentLV->GetName() ; - } - if (detail >= 2) { - // Solid info - ost << "." << pCurrentLV->GetSolid()->GetName(); - ost << "." << pCurrentLV->GetSolid()->GetEntityType() ; - } - // Tree index (0 for the world) - ost << "." << fPVCounter; - - // Step 3: Add the extention to the current PV name - cur_pv_name += ost.str() ; - - // End of adding extension - - - // Search a mother PV node for the current PV - // in the direction to the root node. - // depth_mother = depth_current - 1 - if( currentDepth > fPrevDepth ) - { - // Do nothing (The mother is the previous PV node) - - } else { - - while (1) - { - // Delete the head item of the list - fPVNameList.Pop(); - - // Is the right mother at the head of the list? - // Note: The mother of the world has depth -1. - // It happens when the current node is the world volume, - // and so the list becomes empty with the popping above. - - G4int trial_mother_depth = fPVNameList.GetHeadIndex() ; - if ( currentDepth > trial_mother_depth ) break ; - } - - } // if-else - - // Add the curent PV to the tree as a new node/leaf - fPVNameList.Push( cur_pv_name ); - - // Make the absolute path name - fPVNameList.ToTail() ; - while ( fPVNameList.GetItem ( pv_name_tmp ) ) { - cur_abs_pv_name += "/" ; - cur_abs_pv_name += pv_name_tmp ; - fPVNameList.Upward(); - } - - - // Add "/" to the PREVIOUS PV node name if it is not a leaf. - if( fPrevAbsPVName != "" ) - { - // Add "/" - if( currentDepth > fPrevDepth ) {fPrevAbsPVName += "/" ;} - } - - // Print the PREVIOUS node after node/leaf distiction - // is made clear by reading the current node. - if( fPrevAbsPVName != "" ) { G4cout << fPrevAbsPVName ; } -/////////////////////////////////////////////////////////// - - - if (pCurrentPV->IsReplicated()) { - fReplicaSet.insert(pCurrentPV); // Record new replica volume. - if (verbosity < 10) { - // Add printing for replicas (when replicas are ignored)... - EAxis axis; - G4int nReplicas; - G4double width; - G4double offset; - G4bool consuming; - pCurrentPV->GetReplicationData(axis,nReplicas,width,offset,consuming); - G4VPVParameterisation* pP = pCurrentPV->GetParameterisation(); -#if defined DEBUG_GAG_TREE - G4cout << "_(" << nReplicas; -#endif - if (pP) { -#if defined DEBUG_GAG_TREE - G4cout << " parametrised volumes)"; -#endif - } - else { -#if defined DEBUG_GAG_TREE - G4cout << " replicas)"; -#endif - } - } - } - else { - if (fLVSet.find(pCurrentLV) != fLVSet.end()) { - if (verbosity < 10) { - // Add printing for repeated placement... -#if defined DEBUG_GAG_TREE - G4cout << " (repeated placement)"; -#endif - // Ignore if an already treated logical volume. - pPVModel->CurtailDescent(); - G4cout << G4endl; - return; - } - } - } - - if (fLVSet.find(pCurrentLV) == fLVSet.end()) { - fLVSet.insert(pCurrentLV); // Record new logical volume. - } - - -//////////////////////// - // End of printing - if( fPrevAbsPVName != "" ) { G4cout << G4endl;} - - // Prepare for the next call, i.e. the next PV. - fPrevDepth = currentDepth ; - fPrevAbsPVName = cur_abs_pv_name ; - fPVCounter++ ; -//////////////////////// - - - return; -} diff --git a/source/visualization/Tree/src/G4GAGTreeViewer.cc b/source/visualization/Tree/src/G4GAGTreeViewer.cc deleted file mode 100644 index c9a5c736a6..0000000000 --- a/source/visualization/Tree/src/G4GAGTreeViewer.cc +++ /dev/null @@ -1,39 +0,0 @@ -// -// ******************************************************************** -// * License and Disclaimer * -// * * -// * The Geant4 software is copyright of the Copyright Holders of * -// * the Geant4 Collaboration. It is provided under the terms and * -// * conditions of the Geant4 Software License, included in the file * -// * LICENSE and available at http://cern.ch/geant4/license . These * -// * include a list of copyright holders. * -// * * -// * Neither the authors of this software system, nor their employing * -// * institutes,nor the agencies providing financial support for this * -// * work make any representation or warranty, express or implied, * -// * regarding this software system or assume any liability for its * -// * use. Please see the license in the file LICENSE and URL above * -// * for the full disclaimer and the limitation of liability. * -// * * -// * This code implementation is the result of the scientific and * -// * technical work of the GEANT4 collaboration. * -// * By using, copying, modifying or distributing the software (or * -// * any work based on the software) you agree to acknowledge its * -// * use in resulting scientific publications, and indicate your * -// * acceptance of all terms of the Geant4 Software license. * -// ******************************************************************** -// -// Satoshi Tanaka 31th May 2001 -// A dummy viewer for GAGTreeSceneHandler. - -#include "G4GAGTreeViewer.hh" - -G4GAGTreeViewer::G4GAGTreeViewer -(G4VSceneHandler& sceneHandler, const G4String& name): - G4VTreeViewer(sceneHandler, name) { - // Make changes to view parameters for GAGTree... - fVP.SetCulling(false); - fDefaultVP.SetCulling(false); -} - -G4GAGTreeViewer::~G4GAGTreeViewer() {} diff --git a/source/visualization/Tree/src/G4VTree.cc b/source/visualization/Tree/src/G4VTree.cc index 511cf4d2bb..579d8d13a1 100644 --- a/source/visualization/Tree/src/G4VTree.cc +++ b/source/visualization/Tree/src/G4VTree.cc @@ -25,7 +25,7 @@ // // // $Id: G4VTree.cc,v 1.5 2006/06/29 21:25:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/src/G4VTreeSceneHandler.cc b/source/visualization/Tree/src/G4VTreeSceneHandler.cc index 5be6059263..cb061c1d1d 100644 --- a/source/visualization/Tree/src/G4VTreeSceneHandler.cc +++ b/source/visualization/Tree/src/G4VTreeSceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4VTreeSceneHandler.cc,v 1.14 2006/06/29 21:25:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/Tree/src/G4VTreeViewer.cc b/source/visualization/Tree/src/G4VTreeViewer.cc index ad7e9ad1fa..3cd25f16ef 100644 --- a/source/visualization/Tree/src/G4VTreeViewer.cc +++ b/source/visualization/Tree/src/G4VTreeViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4VTreeViewer.cc,v 1.7 2006/06/29 21:25:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4VTreeViewer.hh" diff --git a/source/visualization/VRML/g4vrmlview/g4mini.java b/source/visualization/VRML/g4vrmlview/g4mini.java index 75b1940492..96ca7c4d03 100644 --- a/source/visualization/VRML/g4vrmlview/g4mini.java +++ b/source/visualization/VRML/g4vrmlview/g4mini.java @@ -25,7 +25,7 @@ // // // $Id: g4mini.java,v 1.4 2006/06/29 21:25:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // import java.io.*; import java.net.*; diff --git a/source/visualization/VRML/g4vrmlview/g4vrmlview.java b/source/visualization/VRML/g4vrmlview/g4vrmlview.java index 05fdbdda70..19326bfa2f 100644 --- a/source/visualization/VRML/g4vrmlview/g4vrmlview.java +++ b/source/visualization/VRML/g4vrmlview/g4vrmlview.java @@ -25,7 +25,7 @@ // // // $Id: g4vrmlview.java,v 1.4 2006/06/29 21:25:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // import java.io.*; import java.net.*; diff --git a/source/visualization/VRML/include/FRClient.h b/source/visualization/VRML/include/FRClient.h index b454b1d433..7cb2c2382c 100644 --- a/source/visualization/VRML/include/FRClient.h +++ b/source/visualization/VRML/include/FRClient.h @@ -25,7 +25,7 @@ // // // $Id: FRClient.h,v 1.6 2006/06/29 21:25:19 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // FRClient.h // FukuiRenderer Client diff --git a/source/visualization/VRML/include/G4FRClient.hh b/source/visualization/VRML/include/G4FRClient.hh index 1f62c3a679..52f0d20b25 100644 --- a/source/visualization/VRML/include/G4FRClient.hh +++ b/source/visualization/VRML/include/G4FRClient.hh @@ -25,7 +25,7 @@ // // // $Id: G4FRClient.hh,v 1.8 2006/06/29 21:25:21 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4FRClient.hh // Yasuhide Sawada and Satoshi Tanaka diff --git a/source/visualization/VRML/include/G4VRML1.hh b/source/visualization/VRML/include/G4VRML1.hh index 5b759d1f9d..2015802e3f 100644 --- a/source/visualization/VRML/include/G4VRML1.hh +++ b/source/visualization/VRML/include/G4VRML1.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRML1.hh,v 1.10 2006/06/29 21:25:23 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML1.hh // Yasuhide Sawada and Satoshi Tanaka diff --git a/source/visualization/VRML/include/G4VRML1File.hh b/source/visualization/VRML/include/G4VRML1File.hh index e4af3c1a73..23c94e7e5b 100644 --- a/source/visualization/VRML/include/G4VRML1File.hh +++ b/source/visualization/VRML/include/G4VRML1File.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRML1File.hh,v 1.10 2006/06/29 21:25:25 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML1File.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML1FileSceneHandler.hh b/source/visualization/VRML/include/G4VRML1FileSceneHandler.hh index 25b929d037..582b08309e 100644 --- a/source/visualization/VRML/include/G4VRML1FileSceneHandler.hh +++ b/source/visualization/VRML/include/G4VRML1FileSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRML1FileSceneHandler.hh,v 1.17 2006/06/29 21:25:27 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML1FileSceneHandler.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML1FileViewer.hh b/source/visualization/VRML/include/G4VRML1FileViewer.hh index 7020209818..c3da5d80fe 100644 --- a/source/visualization/VRML/include/G4VRML1FileViewer.hh +++ b/source/visualization/VRML/include/G4VRML1FileViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRML1FileViewer.hh,v 1.8 2006/06/29 21:25:29 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML1FileViewer.hh // Satoshi Tanaka and Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML1SceneHandler.hh b/source/visualization/VRML/include/G4VRML1SceneHandler.hh index 96c39ab084..6f0547bd8a 100644 --- a/source/visualization/VRML/include/G4VRML1SceneHandler.hh +++ b/source/visualization/VRML/include/G4VRML1SceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRML1SceneHandler.hh,v 1.14 2006/06/29 21:25:31 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML1SceneHandler.hh // Yasuhide Sawada & Satoshi Tanaka diff --git a/source/visualization/VRML/include/G4VRML1Viewer.hh b/source/visualization/VRML/include/G4VRML1Viewer.hh index d7fd1d14aa..b5597de7d7 100644 --- a/source/visualization/VRML/include/G4VRML1Viewer.hh +++ b/source/visualization/VRML/include/G4VRML1Viewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRML1Viewer.hh,v 1.8 2006/06/29 21:25:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML1Viewer.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML2.hh b/source/visualization/VRML/include/G4VRML2.hh index d339bbe8df..6b3a4e38ff 100644 --- a/source/visualization/VRML/include/G4VRML2.hh +++ b/source/visualization/VRML/include/G4VRML2.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRML2.hh,v 1.10 2006/06/29 21:25:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2.hh // Satoshi Tanaka and Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML2File.hh b/source/visualization/VRML/include/G4VRML2File.hh index 3c683794bf..475ea5f24c 100644 --- a/source/visualization/VRML/include/G4VRML2File.hh +++ b/source/visualization/VRML/include/G4VRML2File.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRML2File.hh,v 1.11 2006/06/29 21:25:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2File.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML2FileSceneHandler.hh b/source/visualization/VRML/include/G4VRML2FileSceneHandler.hh index 42e98544a8..4a39e19598 100644 --- a/source/visualization/VRML/include/G4VRML2FileSceneHandler.hh +++ b/source/visualization/VRML/include/G4VRML2FileSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRML2FileSceneHandler.hh,v 1.16 2006/06/29 21:25:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2FileSceneHandler.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML2FileViewer.hh b/source/visualization/VRML/include/G4VRML2FileViewer.hh index 9f61b96b30..59f8e33598 100644 --- a/source/visualization/VRML/include/G4VRML2FileViewer.hh +++ b/source/visualization/VRML/include/G4VRML2FileViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRML2FileViewer.hh,v 1.10 2006/06/29 21:25:41 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2FileViewer.hh // Satoshi Tanaka and Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML2SceneHandler.hh b/source/visualization/VRML/include/G4VRML2SceneHandler.hh index 5baad99abf..ec4ffd3565 100644 --- a/source/visualization/VRML/include/G4VRML2SceneHandler.hh +++ b/source/visualization/VRML/include/G4VRML2SceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRML2SceneHandler.hh,v 1.13 2006/06/29 21:25:43 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2SceneHandler.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRML2Viewer.hh b/source/visualization/VRML/include/G4VRML2Viewer.hh index 066350dd70..5ed376392d 100644 --- a/source/visualization/VRML/include/G4VRML2Viewer.hh +++ b/source/visualization/VRML/include/G4VRML2Viewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRML2Viewer.hh,v 1.8 2006/06/29 21:25:45 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2Viewer.hh // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/include/G4VRMLNetConfig.hh b/source/visualization/VRML/include/G4VRMLNetConfig.hh index eb7ffb69a4..0615e04aa5 100644 --- a/source/visualization/VRML/include/G4VRMLNetConfig.hh +++ b/source/visualization/VRML/include/G4VRMLNetConfig.hh @@ -25,7 +25,7 @@ // // // $Id: G4VRMLNetConfig.hh,v 1.7 2006/06/29 21:25:47 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRMLNetConfig.hh // Satoshi Tanaka diff --git a/source/visualization/VRML/src/FRClient.cc b/source/visualization/VRML/src/FRClient.cc index 68500a48cd..484ecb0e23 100644 --- a/source/visualization/VRML/src/FRClient.cc +++ b/source/visualization/VRML/src/FRClient.cc @@ -25,7 +25,7 @@ // // // $Id: FRClient.cc,v 1.7 2006/06/29 21:25:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // FRClient.cc // FukuiRenderer Client diff --git a/source/visualization/VRML/src/G4FRClient.cc b/source/visualization/VRML/src/G4FRClient.cc index c658acd244..ba17b9df9d 100644 --- a/source/visualization/VRML/src/G4FRClient.cc +++ b/source/visualization/VRML/src/G4FRClient.cc @@ -25,7 +25,7 @@ // // // $Id: G4FRClient.cc,v 1.8 2006/06/29 21:25:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4FRClient.cc // Yasuhide Sawada & Satoshi Tanaka diff --git a/source/visualization/VRML/src/G4VRML1.cc b/source/visualization/VRML/src/G4VRML1.cc index 727214046f..284b507d8a 100644 --- a/source/visualization/VRML/src/G4VRML1.cc +++ b/source/visualization/VRML/src/G4VRML1.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRML1.cc,v 1.10 2006/06/29 21:25:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML1.cc // Yasuhide Sawada & Satoshi Tanaka diff --git a/source/visualization/VRML/src/G4VRML1File.cc b/source/visualization/VRML/src/G4VRML1File.cc index a9cbe682f2..3dff3d4ed7 100644 --- a/source/visualization/VRML/src/G4VRML1File.cc +++ b/source/visualization/VRML/src/G4VRML1File.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRML1File.cc,v 1.10 2006/06/29 21:25:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML1File.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML1FileSceneHandler.cc b/source/visualization/VRML/src/G4VRML1FileSceneHandler.cc index 673bfabde8..31fe4d4911 100644 --- a/source/visualization/VRML/src/G4VRML1FileSceneHandler.cc +++ b/source/visualization/VRML/src/G4VRML1FileSceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRML1FileSceneHandler.cc,v 1.12 2006/06/29 21:25:57 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML1FileSceneHandler.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML1FileViewer.cc b/source/visualization/VRML/src/G4VRML1FileViewer.cc index 157488cfa6..97b7e94b9d 100644 --- a/source/visualization/VRML/src/G4VRML1FileViewer.cc +++ b/source/visualization/VRML/src/G4VRML1FileViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRML1FileViewer.cc,v 1.11 2006/06/29 21:25:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRMLView.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML1SceneHandler.cc b/source/visualization/VRML/src/G4VRML1SceneHandler.cc index 39ca9eedea..d39fd35b4a 100644 --- a/source/visualization/VRML/src/G4VRML1SceneHandler.cc +++ b/source/visualization/VRML/src/G4VRML1SceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRML1SceneHandler.cc,v 1.10 2006/06/29 21:26:01 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML1SceneHandler.cc // Yasuhide Sawada and Satoshi Tanaka diff --git a/source/visualization/VRML/src/G4VRML1SceneHandlerFunc.icc b/source/visualization/VRML/src/G4VRML1SceneHandlerFunc.icc index 0e9388e21f..da4c040775 100644 --- a/source/visualization/VRML/src/G4VRML1SceneHandlerFunc.icc +++ b/source/visualization/VRML/src/G4VRML1SceneHandlerFunc.icc @@ -25,7 +25,7 @@ // // // $Id: G4VRML1SceneHandlerFunc.icc,v 1.16 2006/06/29 21:26:03 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML1SceneHandlerFunc.icc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML1Viewer.cc b/source/visualization/VRML/src/G4VRML1Viewer.cc index 908ec64b29..913dab2eeb 100644 --- a/source/visualization/VRML/src/G4VRML1Viewer.cc +++ b/source/visualization/VRML/src/G4VRML1Viewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRML1Viewer.cc,v 1.8 2006/06/29 21:26:05 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRMLView.cc // Yasuhide Sawada & Satoshi Tanaka diff --git a/source/visualization/VRML/src/G4VRML2.cc b/source/visualization/VRML/src/G4VRML2.cc index d14cea4e17..e9f47a8c50 100644 --- a/source/visualization/VRML/src/G4VRML2.cc +++ b/source/visualization/VRML/src/G4VRML2.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRML2.cc,v 1.10 2006/06/29 21:26:07 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML2File.cc b/source/visualization/VRML/src/G4VRML2File.cc index 66446d726c..954d53ca5b 100644 --- a/source/visualization/VRML/src/G4VRML2File.cc +++ b/source/visualization/VRML/src/G4VRML2File.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRML2File.cc,v 1.10 2006/06/29 21:26:09 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2File.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML2FileSceneHandler.cc b/source/visualization/VRML/src/G4VRML2FileSceneHandler.cc index 823c7b258e..f573c0841c 100644 --- a/source/visualization/VRML/src/G4VRML2FileSceneHandler.cc +++ b/source/visualization/VRML/src/G4VRML2FileSceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRML2FileSceneHandler.cc,v 1.14 2006/06/29 21:26:11 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2FileSceneHandler.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML2FileViewer.cc b/source/visualization/VRML/src/G4VRML2FileViewer.cc index 87a26d56f4..8f17d05225 100644 --- a/source/visualization/VRML/src/G4VRML2FileViewer.cc +++ b/source/visualization/VRML/src/G4VRML2FileViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRML2FileViewer.cc,v 1.13 2006/06/29 21:26:13 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2FileViewer.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML2SceneHandler.cc b/source/visualization/VRML/src/G4VRML2SceneHandler.cc index 38c11b1cda..e64bf1dee5 100644 --- a/source/visualization/VRML/src/G4VRML2SceneHandler.cc +++ b/source/visualization/VRML/src/G4VRML2SceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRML2SceneHandler.cc,v 1.12 2006/06/29 21:26:15 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2SceneHandler.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML2SceneHandlerFunc.icc b/source/visualization/VRML/src/G4VRML2SceneHandlerFunc.icc index 032e85b70c..8782b489de 100644 --- a/source/visualization/VRML/src/G4VRML2SceneHandlerFunc.icc +++ b/source/visualization/VRML/src/G4VRML2SceneHandlerFunc.icc @@ -25,7 +25,7 @@ // // // $Id: G4VRML2SceneHandlerFunc.icc,v 1.20 2006/06/29 21:26:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2SceneHandlerFunc.icc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/VRML/src/G4VRML2Viewer.cc b/source/visualization/VRML/src/G4VRML2Viewer.cc index 5ad0dd200f..62745172c3 100644 --- a/source/visualization/VRML/src/G4VRML2Viewer.cc +++ b/source/visualization/VRML/src/G4VRML2Viewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4VRML2Viewer.cc,v 1.12 2006/06/29 21:26:35 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // G4VRML2Viewer.cc // Satoshi Tanaka & Yasuhide Sawada diff --git a/source/visualization/XXX/include/G4XXX.hh b/source/visualization/XXX/include/G4XXX.hh index 422a65d673..8b77f1b81b 100644 --- a/source/visualization/XXX/include/G4XXX.hh +++ b/source/visualization/XXX/include/G4XXX.hh @@ -25,7 +25,7 @@ // // // $Id: G4XXX.hh,v 1.5 2006/06/29 21:26:37 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/XXX/include/G4XXXFile.hh b/source/visualization/XXX/include/G4XXXFile.hh index ea389f31ba..e683c3bef5 100644 --- a/source/visualization/XXX/include/G4XXXFile.hh +++ b/source/visualization/XXX/include/G4XXXFile.hh @@ -25,7 +25,7 @@ // // // $Id: G4XXXFile.hh,v 1.2 2006/06/29 21:26:39 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th March 2006 diff --git a/source/visualization/XXX/include/G4XXXFileSceneHandler.hh b/source/visualization/XXX/include/G4XXXFileSceneHandler.hh index 31b5a19538..0128fe71a5 100644 --- a/source/visualization/XXX/include/G4XXXFileSceneHandler.hh +++ b/source/visualization/XXX/include/G4XXXFileSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4XXXFileSceneHandler.hh,v 1.3 2006/06/29 21:26:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th March 2006 diff --git a/source/visualization/XXX/include/G4XXXFileViewer.hh b/source/visualization/XXX/include/G4XXXFileViewer.hh index c0f156b638..5ae737c3cd 100644 --- a/source/visualization/XXX/include/G4XXXFileViewer.hh +++ b/source/visualization/XXX/include/G4XXXFileViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4XXXFileViewer.hh,v 1.3 2006/07/03 16:52:48 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th March 2006 diff --git a/source/visualization/XXX/include/G4XXXSG.hh b/source/visualization/XXX/include/G4XXXSG.hh index dd6ce2ba59..16cfa07885 100644 --- a/source/visualization/XXX/include/G4XXXSG.hh +++ b/source/visualization/XXX/include/G4XXXSG.hh @@ -25,7 +25,7 @@ // // // $Id: G4XXXSG.hh,v 1.2 2006/06/29 21:26:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 10th March 2005 diff --git a/source/visualization/XXX/include/G4XXXSGSceneHandler.hh b/source/visualization/XXX/include/G4XXXSGSceneHandler.hh index fafe089a85..896831a280 100644 --- a/source/visualization/XXX/include/G4XXXSGSceneHandler.hh +++ b/source/visualization/XXX/include/G4XXXSGSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4XXXSGSceneHandler.hh,v 1.3 2006/06/29 21:26:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 10th March 2006 diff --git a/source/visualization/XXX/include/G4XXXSGViewer.hh b/source/visualization/XXX/include/G4XXXSGViewer.hh index 1a1a18e5a3..2ce4f4da7d 100644 --- a/source/visualization/XXX/include/G4XXXSGViewer.hh +++ b/source/visualization/XXX/include/G4XXXSGViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4XXXSGViewer.hh,v 1.2 2006/06/29 21:26:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 10th March 2006 diff --git a/source/visualization/XXX/include/G4XXXSceneHandler.hh b/source/visualization/XXX/include/G4XXXSceneHandler.hh index 2411faf7d7..71db750968 100644 --- a/source/visualization/XXX/include/G4XXXSceneHandler.hh +++ b/source/visualization/XXX/include/G4XXXSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4XXXSceneHandler.hh,v 1.21 2006/06/29 21:27:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/XXX/include/G4XXXStored.hh b/source/visualization/XXX/include/G4XXXStored.hh index 5d9fe428c5..a9e4c3228e 100644 --- a/source/visualization/XXX/include/G4XXXStored.hh +++ b/source/visualization/XXX/include/G4XXXStored.hh @@ -25,7 +25,7 @@ // // // $Id: G4XXXStored.hh,v 1.2 2006/06/29 21:27:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th March 2006 diff --git a/source/visualization/XXX/include/G4XXXStoredSceneHandler.hh b/source/visualization/XXX/include/G4XXXStoredSceneHandler.hh index 9578ea0964..d0ab48e123 100644 --- a/source/visualization/XXX/include/G4XXXStoredSceneHandler.hh +++ b/source/visualization/XXX/include/G4XXXStoredSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4XXXStoredSceneHandler.hh,v 1.3 2006/06/29 21:27:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th March 2006 diff --git a/source/visualization/XXX/include/G4XXXStoredViewer.hh b/source/visualization/XXX/include/G4XXXStoredViewer.hh index de6e0d7729..19f2d96208 100644 --- a/source/visualization/XXX/include/G4XXXStoredViewer.hh +++ b/source/visualization/XXX/include/G4XXXStoredViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4XXXStoredViewer.hh,v 1.2 2006/06/29 21:27:17 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th March 2006 diff --git a/source/visualization/XXX/include/G4XXXViewer.hh b/source/visualization/XXX/include/G4XXXViewer.hh index 08283b7a84..584644aaf5 100644 --- a/source/visualization/XXX/include/G4XXXViewer.hh +++ b/source/visualization/XXX/include/G4XXXViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4XXXViewer.hh,v 1.8 2006/06/29 21:27:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/XXX/src/G4XXX.cc b/source/visualization/XXX/src/G4XXX.cc index 32d44d6412..fc7eacadf6 100644 --- a/source/visualization/XXX/src/G4XXX.cc +++ b/source/visualization/XXX/src/G4XXX.cc @@ -25,7 +25,7 @@ // // // $Id: G4XXX.cc,v 1.6 2006/06/29 21:27:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/XXX/src/G4XXXFile.cc b/source/visualization/XXX/src/G4XXXFile.cc index 98aae7781f..9641208697 100644 --- a/source/visualization/XXX/src/G4XXXFile.cc +++ b/source/visualization/XXX/src/G4XXXFile.cc @@ -25,7 +25,7 @@ // // // $Id: G4XXXFile.cc,v 1.2 2006/06/29 21:27:24 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th March 2006 diff --git a/source/visualization/XXX/src/G4XXXFileSceneHandler.cc b/source/visualization/XXX/src/G4XXXFileSceneHandler.cc index 81afb3499c..daf1d3e0a9 100644 --- a/source/visualization/XXX/src/G4XXXFileSceneHandler.cc +++ b/source/visualization/XXX/src/G4XXXFileSceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4XXXFileSceneHandler.cc,v 1.5 2006/07/03 16:52:49 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th March 2006 diff --git a/source/visualization/XXX/src/G4XXXFileViewer.cc b/source/visualization/XXX/src/G4XXXFileViewer.cc index b21e87d990..97eb2dea98 100644 --- a/source/visualization/XXX/src/G4XXXFileViewer.cc +++ b/source/visualization/XXX/src/G4XXXFileViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4XXXFileViewer.cc,v 1.3 2006/07/03 16:52:49 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th March 2006 diff --git a/source/visualization/XXX/src/G4XXXSG.cc b/source/visualization/XXX/src/G4XXXSG.cc index 16ef06b23d..d222f0ac4c 100644 --- a/source/visualization/XXX/src/G4XXXSG.cc +++ b/source/visualization/XXX/src/G4XXXSG.cc @@ -25,7 +25,7 @@ // // // $Id: G4XXXSG.cc,v 1.2 2006/06/29 21:27:33 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 10th March 2005 diff --git a/source/visualization/XXX/src/G4XXXSGSceneHandler.cc b/source/visualization/XXX/src/G4XXXSGSceneHandler.cc index 8579ef5e90..23ae67441e 100644 --- a/source/visualization/XXX/src/G4XXXSGSceneHandler.cc +++ b/source/visualization/XXX/src/G4XXXSGSceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4XXXSGSceneHandler.cc,v 1.6 2006/11/05 20:41:36 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 10th March 2006 diff --git a/source/visualization/XXX/src/G4XXXSGViewer.cc b/source/visualization/XXX/src/G4XXXSGViewer.cc index b37cd645d3..a666d444f0 100644 --- a/source/visualization/XXX/src/G4XXXSGViewer.cc +++ b/source/visualization/XXX/src/G4XXXSGViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4XXXSGViewer.cc,v 1.4 2006/08/29 16:11:25 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 10th March 2006 diff --git a/source/visualization/XXX/src/G4XXXSceneHandler.cc b/source/visualization/XXX/src/G4XXXSceneHandler.cc index a3e9cedeb5..7ae879ea66 100644 --- a/source/visualization/XXX/src/G4XXXSceneHandler.cc +++ b/source/visualization/XXX/src/G4XXXSceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4XXXSceneHandler.cc,v 1.32 2006/07/03 16:52:49 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/XXX/src/G4XXXStored.cc b/source/visualization/XXX/src/G4XXXStored.cc index e3cf663621..aed91883ce 100644 --- a/source/visualization/XXX/src/G4XXXStored.cc +++ b/source/visualization/XXX/src/G4XXXStored.cc @@ -25,7 +25,7 @@ // // // $Id: G4XXXStored.cc,v 1.2 2006/06/29 21:27:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th March 2006 diff --git a/source/visualization/XXX/src/G4XXXStoredSceneHandler.cc b/source/visualization/XXX/src/G4XXXStoredSceneHandler.cc index 7f9c6a5c1d..80850ff1fb 100644 --- a/source/visualization/XXX/src/G4XXXStoredSceneHandler.cc +++ b/source/visualization/XXX/src/G4XXXStoredSceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4XXXStoredSceneHandler.cc,v 1.9 2006/10/26 11:30:10 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th March 2006 diff --git a/source/visualization/XXX/src/G4XXXStoredViewer.cc b/source/visualization/XXX/src/G4XXXStoredViewer.cc index 28f6809027..478eba1d02 100644 --- a/source/visualization/XXX/src/G4XXXStoredViewer.cc +++ b/source/visualization/XXX/src/G4XXXStoredViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4XXXStoredViewer.cc,v 1.5 2006/08/29 16:11:25 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th March 2006 diff --git a/source/visualization/XXX/src/G4XXXViewer.cc b/source/visualization/XXX/src/G4XXXViewer.cc index 998faa8c36..f48afcc857 100644 --- a/source/visualization/XXX/src/G4XXXViewer.cc +++ b/source/visualization/XXX/src/G4XXXViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4XXXViewer.cc,v 1.9 2006/06/29 21:27:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 5th April 2001 diff --git a/source/visualization/management/History b/source/visualization/management/History index 24f9bbacd8..a7e2907903 100644 --- a/source/visualization/management/History +++ b/source/visualization/management/History @@ -1,4 +1,4 @@ -$Id: History,v 1.92 2007/01/11 16:43:49 allison Exp $ +$Id: History,v 1.100 2007/05/25 10:50:42 allison Exp $ ------------------------------------------------------------------- @@ -26,6 +26,28 @@ committal in the CVS repository ! History file for visualization management sub-category ------------------------------------------------------ +25th May 2007 John Allison (visman-V08-03-01) +- Improved error trapping in viewer initialisation. +- Bug fix in /vis/scene/notifyHandlers for case of no current viewer. + +16th May 2007 John Allison (visman-V08-03-00) +- G4VSceneHandler.cc: Added #include "G4AttDef.hh" to help buggy + Windows compiler(!). + +4th April 2007 John Allison (visman-V08-02-04) +- G4VSceneHandler.cc: Bug fix for zero vis atts in LoadAtts. + +3rd April 2007 John Allison (visman-V08-02-03) +- Added /vis/viewer/set/picking. Picking is false by default, except + for OpenInventor. + +25th March 2007 John Allison (visman-V08-02-02) +- G4VisExecutive.icc: Removed G4GAGTree. +- G4VisCommandsCompound.cc: Removed /vis/scene/add/eventID, once + again, from /vis/drawVolume. +- G4VisCommands.cc: Improved messages for /vis/abortReviewKeptEvents. +- G4VisManager.cc, G4VSceneHandler.cc: Cosmetic. + 11th January 2007 John Allison (visman-V08-02-01) - Added /vis/abortReviewKeptEvents. - /vis/reviewKeptEvents: Improved guidance. diff --git a/source/visualization/management/include/G4GraphicsSystemList.hh b/source/visualization/management/include/G4GraphicsSystemList.hh index 8fc5093e91..5df997f2a8 100644 --- a/source/visualization/management/include/G4GraphicsSystemList.hh +++ b/source/visualization/management/include/G4GraphicsSystemList.hh @@ -25,7 +25,7 @@ // // // $Id: G4GraphicsSystemList.hh,v 1.9 2006/06/29 21:27:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 2nd April 1996 diff --git a/source/visualization/management/include/G4Scene.hh b/source/visualization/management/include/G4Scene.hh index 7f6098886c..5b7ea48381 100644 --- a/source/visualization/management/include/G4Scene.hh +++ b/source/visualization/management/include/G4Scene.hh @@ -25,7 +25,7 @@ // // // $Id: G4Scene.hh,v 1.18 2006/11/14 14:59:54 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Scene John Allison 19th July 1996. diff --git a/source/visualization/management/include/G4Scene.icc b/source/visualization/management/include/G4Scene.icc index 87488c6559..a7772d2d9a 100644 --- a/source/visualization/management/include/G4Scene.icc +++ b/source/visualization/management/include/G4Scene.icc @@ -25,7 +25,7 @@ // // // $Id: G4Scene.icc,v 1.14 2006/11/14 14:59:54 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Scene data John Allison 19th July 1996. diff --git a/source/visualization/management/include/G4SceneHandlerList.hh b/source/visualization/management/include/G4SceneHandlerList.hh index a598b9935b..9732c259b4 100644 --- a/source/visualization/management/include/G4SceneHandlerList.hh +++ b/source/visualization/management/include/G4SceneHandlerList.hh @@ -25,7 +25,7 @@ // // // $Id: G4SceneHandlerList.hh,v 1.8 2006/06/29 21:28:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison May 1996 diff --git a/source/visualization/management/include/G4SceneList.hh b/source/visualization/management/include/G4SceneList.hh index 1c0e7881f7..9f68d95457 100644 --- a/source/visualization/management/include/G4SceneList.hh +++ b/source/visualization/management/include/G4SceneList.hh @@ -25,7 +25,7 @@ // // // $Id: G4SceneList.hh,v 1.10 2006/06/29 21:28:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 9th August 1998 diff --git a/source/visualization/management/include/G4VGraphicsSystem.hh b/source/visualization/management/include/G4VGraphicsSystem.hh index 667ab170b4..4cec03c009 100644 --- a/source/visualization/management/include/G4VGraphicsSystem.hh +++ b/source/visualization/management/include/G4VGraphicsSystem.hh @@ -25,7 +25,7 @@ // // // $Id: G4VGraphicsSystem.hh,v 1.11 2006/06/29 21:28:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 27th March 1996 diff --git a/source/visualization/management/include/G4VGraphicsSystem.icc b/source/visualization/management/include/G4VGraphicsSystem.icc index b912e8182c..92c5a48ae4 100644 --- a/source/visualization/management/include/G4VGraphicsSystem.icc +++ b/source/visualization/management/include/G4VGraphicsSystem.icc @@ -25,7 +25,7 @@ // // // $Id: G4VGraphicsSystem.icc,v 1.7 2006/06/29 21:28:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 27th March 1996 diff --git a/source/visualization/management/include/G4VSceneHandler.hh b/source/visualization/management/include/G4VSceneHandler.hh index 6776bcb028..05e4737ebf 100644 --- a/source/visualization/management/include/G4VSceneHandler.hh +++ b/source/visualization/management/include/G4VSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4VSceneHandler.hh,v 1.39 2007/01/11 16:38:14 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 19th July 1996. diff --git a/source/visualization/management/include/G4VSceneHandler.icc b/source/visualization/management/include/G4VSceneHandler.icc index 80d966126d..3863dff8d7 100644 --- a/source/visualization/management/include/G4VSceneHandler.icc +++ b/source/visualization/management/include/G4VSceneHandler.icc @@ -25,7 +25,7 @@ // // // $Id: G4VSceneHandler.icc,v 1.20 2007/01/11 16:38:14 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 19th July 1996. diff --git a/source/visualization/management/include/G4VUserVisAction.hh b/source/visualization/management/include/G4VUserVisAction.hh index df8db79f00..45a68b14e0 100644 --- a/source/visualization/management/include/G4VUserVisAction.hh +++ b/source/visualization/management/include/G4VUserVisAction.hh @@ -25,7 +25,7 @@ // // // $Id: G4VUserVisAction.hh,v 1.8 2006/06/29 21:28:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/management/include/G4VViewer.hh b/source/visualization/management/include/G4VViewer.hh index b26f9f3ffb..7e9dc58a37 100644 --- a/source/visualization/management/include/G4VViewer.hh +++ b/source/visualization/management/include/G4VViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4VViewer.hh,v 1.18 2006/06/29 21:28:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 27th March 1996 diff --git a/source/visualization/management/include/G4VViewer.icc b/source/visualization/management/include/G4VViewer.icc index 5166239eb7..5c5e6be362 100644 --- a/source/visualization/management/include/G4VViewer.icc +++ b/source/visualization/management/include/G4VViewer.icc @@ -25,7 +25,7 @@ // // // $Id: G4VViewer.icc,v 1.11 2006/06/29 21:28:16 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 30th December 1996 diff --git a/source/visualization/management/include/G4VVisCommand.hh b/source/visualization/management/include/G4VVisCommand.hh index c48edbc48a..e3ba7a4a77 100644 --- a/source/visualization/management/include/G4VVisCommand.hh +++ b/source/visualization/management/include/G4VVisCommand.hh @@ -25,7 +25,7 @@ // // // $Id: G4VVisCommand.hh,v 1.18 2006/06/29 21:28:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // Base class for visualization commands - John Allison 9th August 1998 // It is really a messenger - we have one command per messenger. diff --git a/source/visualization/management/include/G4VVisCommand.icc b/source/visualization/management/include/G4VVisCommand.icc index 3ab938206f..428bbd82cf 100644 --- a/source/visualization/management/include/G4VVisCommand.icc +++ b/source/visualization/management/include/G4VVisCommand.icc @@ -25,7 +25,7 @@ // // // $Id: G4VVisCommand.icc,v 1.5 2006/06/29 21:28:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // Base class for visualization commands - John Allison 9th August 1998 // It is really a messenger - we have one command per messenger. diff --git a/source/visualization/management/include/G4ViewParameters.hh b/source/visualization/management/include/G4ViewParameters.hh index e1259896d8..8999d63cb8 100644 --- a/source/visualization/management/include/G4ViewParameters.hh +++ b/source/visualization/management/include/G4ViewParameters.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ViewParameters.hh,v 1.25 2006/09/19 16:02:31 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ViewParameters.hh,v 1.26 2007/04/03 13:33:16 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 19th July 1996 @@ -160,6 +160,7 @@ public: // With description // pages). Supercedes GetWindowSizeHintX/Y. G4bool IsAutoRefresh () const; const G4Colour& GetBackgroundColour () const; + G4bool IsPicking () const; // Here Follow functions to evaluate the above algorithms as a // function of the radius of the Bounding Sphere of the object being @@ -220,6 +221,7 @@ public: // With description void SetXGeometryString (const G4String&); void SetAutoRefresh (G4bool); void SetBackgroundColour (const G4Colour&); + void SetPicking (G4bool); void PrintDifferences (const G4ViewParameters& v) const; @@ -267,6 +269,7 @@ private: G4String fXGeometryString; // If non-null, geometry string for X Windows. G4bool fAutoRefresh; // ...after change of view parameters. G4Colour fBackgroundColour; + G4bool fPicking; // Request picking. }; #include "G4ViewParameters.icc" diff --git a/source/visualization/management/include/G4ViewParameters.icc b/source/visualization/management/include/G4ViewParameters.icc index 684c1b9ba0..434f7d0d13 100644 --- a/source/visualization/management/include/G4ViewParameters.icc +++ b/source/visualization/management/include/G4ViewParameters.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ViewParameters.icc,v 1.15 2006/09/19 16:02:31 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ViewParameters.icc,v 1.16 2007/04/03 13:33:16 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 20th October 1996 @@ -181,6 +181,10 @@ inline const G4Colour& G4ViewParameters::GetBackgroundColour () const { return fBackgroundColour; } +inline G4bool G4ViewParameters::IsPicking () const { + return fPicking; +} + inline void G4ViewParameters::SetDrawingStyle (G4ViewParameters::DrawingStyle style) { fDrawingStyle = style; @@ -334,3 +338,7 @@ inline void G4ViewParameters::SetAutoRefresh (G4bool state) { inline void G4ViewParameters::SetBackgroundColour (const G4Colour& colour) { fBackgroundColour = colour; } + +inline void G4ViewParameters::SetPicking (G4bool picking) { + fPicking = picking; +} diff --git a/source/visualization/management/include/G4ViewerList.hh b/source/visualization/management/include/G4ViewerList.hh index ae832f8860..ea77a63d12 100644 --- a/source/visualization/management/include/G4ViewerList.hh +++ b/source/visualization/management/include/G4ViewerList.hh @@ -25,7 +25,7 @@ // // // $Id: G4ViewerList.hh,v 1.8 2006/06/29 21:28:26 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison May 1996 diff --git a/source/visualization/management/include/G4VisCommandModelCreate.hh b/source/visualization/management/include/G4VisCommandModelCreate.hh index eac9855654..2f451a8d9e 100644 --- a/source/visualization/management/include/G4VisCommandModelCreate.hh +++ b/source/visualization/management/include/G4VisCommandModelCreate.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VisCommandModelCreate.hh,v 1.3 2006/06/29 21:28:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl October 2005 // diff --git a/source/visualization/management/include/G4VisCommands.hh b/source/visualization/management/include/G4VisCommands.hh index eb277dae90..96e219799a 100644 --- a/source/visualization/management/include/G4VisCommands.hh +++ b/source/visualization/management/include/G4VisCommands.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisCommands.hh,v 1.7 2007/01/11 16:39:33 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/ top level commands - John Allison 5th February 2001 diff --git a/source/visualization/management/include/G4VisCommandsCompound.hh b/source/visualization/management/include/G4VisCommandsCompound.hh index c2476f1ec0..19346dcfa6 100644 --- a/source/visualization/management/include/G4VisCommandsCompound.hh +++ b/source/visualization/management/include/G4VisCommandsCompound.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsCompound.hh,v 1.9 2006/06/29 21:28:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // Compound /vis/ commands - John Allison 15th May 2000 diff --git a/source/visualization/management/include/G4VisCommandsGeometry.hh b/source/visualization/management/include/G4VisCommandsGeometry.hh index 2be5b087a1..9f550b0b41 100644 --- a/source/visualization/management/include/G4VisCommandsGeometry.hh +++ b/source/visualization/management/include/G4VisCommandsGeometry.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsGeometry.hh,v 1.3 2006/06/29 21:28:34 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/geometry commands - John Allison 31st January 2006 diff --git a/source/visualization/management/include/G4VisCommandsGeometrySet.hh b/source/visualization/management/include/G4VisCommandsGeometrySet.hh index 41bed7f7d6..98f71243c6 100644 --- a/source/visualization/management/include/G4VisCommandsGeometrySet.hh +++ b/source/visualization/management/include/G4VisCommandsGeometrySet.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsGeometrySet.hh,v 1.3 2007/01/05 16:24:19 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/geometry commands - John Allison 31st January 2006 diff --git a/source/visualization/management/include/G4VisCommandsListManager.hh b/source/visualization/management/include/G4VisCommandsListManager.hh index 005abc4113..5f901cc894 100644 --- a/source/visualization/management/include/G4VisCommandsListManager.hh +++ b/source/visualization/management/include/G4VisCommandsListManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VisCommandsListManager.hh,v 1.3 2006/06/29 21:28:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl October 2005 // diff --git a/source/visualization/management/include/G4VisCommandsScene.hh b/source/visualization/management/include/G4VisCommandsScene.hh index 67cc8fe9ed..2171b4aa66 100644 --- a/source/visualization/management/include/G4VisCommandsScene.hh +++ b/source/visualization/management/include/G4VisCommandsScene.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsScene.hh,v 1.19 2006/11/14 14:59:54 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/scene commands - John Allison 9th August 1998 diff --git a/source/visualization/management/include/G4VisCommandsSceneAdd.hh b/source/visualization/management/include/G4VisCommandsSceneAdd.hh index 7041bb2745..3e21747341 100644 --- a/source/visualization/management/include/G4VisCommandsSceneAdd.hh +++ b/source/visualization/management/include/G4VisCommandsSceneAdd.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsSceneAdd.hh,v 1.17 2006/11/01 10:50:28 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/scene commands - John Allison 9th August 1998 diff --git a/source/visualization/management/include/G4VisCommandsSceneHandler.hh b/source/visualization/management/include/G4VisCommandsSceneHandler.hh index 8502dd584a..2ebbd46b12 100644 --- a/source/visualization/management/include/G4VisCommandsSceneHandler.hh +++ b/source/visualization/management/include/G4VisCommandsSceneHandler.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsSceneHandler.hh,v 1.8 2006/06/29 21:28:44 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/sceneHandler commands - John Allison 10th October 1998 diff --git a/source/visualization/management/include/G4VisCommandsViewer.hh b/source/visualization/management/include/G4VisCommandsViewer.hh index 64c7cb274b..dc08d0a83a 100644 --- a/source/visualization/management/include/G4VisCommandsViewer.hh +++ b/source/visualization/management/include/G4VisCommandsViewer.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsViewer.hh,v 1.23 2006/09/13 13:17:29 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/viewer commands - John Allison 25th October 1998 diff --git a/source/visualization/management/include/G4VisCommandsViewerSet.hh b/source/visualization/management/include/G4VisCommandsViewerSet.hh index 4907b74b8c..f9c139e17e 100644 --- a/source/visualization/management/include/G4VisCommandsViewerSet.hh +++ b/source/visualization/management/include/G4VisCommandsViewerSet.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommandsViewerSet.hh,v 1.21 2006/09/19 16:03:14 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VisCommandsViewerSet.hh,v 1.22 2007/04/03 13:33:16 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/viewer/set commands - John Allison 16th May 2000 @@ -68,6 +68,7 @@ private: G4UIcommand* fpCommandLightsThetaPhi; G4UIcommand* fpCommandLightsVector; G4ThreeVector fLightsVector; + G4UIcmdWithABool* fpCommandPicking; G4UIcommand* fpCommandProjection; G4UIcommand* fpCommandSectionPlane; G4UIcmdWithAString* fpCommandStyle; diff --git a/source/visualization/management/include/G4VisExecutive.hh b/source/visualization/management/include/G4VisExecutive.hh index 963e06d8f8..1e98511fbb 100644 --- a/source/visualization/management/include/G4VisExecutive.hh +++ b/source/visualization/management/include/G4VisExecutive.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisExecutive.hh,v 1.6 2006/06/29 21:28:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 2nd February 2005 (based on MyVisManager, 24th January 1998). diff --git a/source/visualization/management/include/G4VisExecutive.icc b/source/visualization/management/include/G4VisExecutive.icc index d0a5f4f468..3652f163e6 100644 --- a/source/visualization/management/include/G4VisExecutive.icc +++ b/source/visualization/management/include/G4VisExecutive.icc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisExecutive.icc,v 1.14 2006/09/12 18:55:45 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VisExecutive.icc,v 1.15 2007/03/27 15:45:15 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 24th January 1998. @@ -38,7 +38,6 @@ // Not needing external packages or libraries... #include "G4ASCIITree.hh" #include "G4DAWNFILE.hh" -#include "G4GAGTree.hh" #include "G4HepRep.hh" #include "G4HepRepFile.hh" #include "G4RayTracer.hh" @@ -93,7 +92,6 @@ void G4VisExecutive::RegisterGraphicsSystems () { // Graphics Systems not needing external packages or libraries... RegisterGraphicsSystem (new G4ASCIITree); RegisterGraphicsSystem (new G4DAWNFILE); - RegisterGraphicsSystem (new G4GAGTree); RegisterGraphicsSystem (new G4HepRep); RegisterGraphicsSystem (new G4HepRepFile); RegisterGraphicsSystem (new G4RayTracer); diff --git a/source/visualization/management/include/G4VisFeaturesOfDAWNFILE.hh b/source/visualization/management/include/G4VisFeaturesOfDAWNFILE.hh index a0120ab7d0..bfd4a58a61 100644 --- a/source/visualization/management/include/G4VisFeaturesOfDAWNFILE.hh +++ b/source/visualization/management/include/G4VisFeaturesOfDAWNFILE.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisFeaturesOfDAWNFILE.hh,v 1.5 2006/06/29 21:28:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #ifndef G4VISFEATURESOFDAWNFILE_HH #define G4VISFEATURESOFDAWNFILE_HH diff --git a/source/visualization/management/include/G4VisFeaturesOfFukuiRenderer.hh b/source/visualization/management/include/G4VisFeaturesOfFukuiRenderer.hh index d23cffc735..730485fd2b 100644 --- a/source/visualization/management/include/G4VisFeaturesOfFukuiRenderer.hh +++ b/source/visualization/management/include/G4VisFeaturesOfFukuiRenderer.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisFeaturesOfFukuiRenderer.hh,v 1.5 2006/06/29 21:28:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/management/include/G4VisFeaturesOfOpenGL.hh b/source/visualization/management/include/G4VisFeaturesOfOpenGL.hh index cc6b26377b..b810b479ff 100644 --- a/source/visualization/management/include/G4VisFeaturesOfOpenGL.hh +++ b/source/visualization/management/include/G4VisFeaturesOfOpenGL.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisFeaturesOfOpenGL.hh,v 1.5 2006/06/29 21:28:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/management/include/G4VisFeaturesOfOpenInventor.hh b/source/visualization/management/include/G4VisFeaturesOfOpenInventor.hh index 7c1000ae30..c1388c1ca4 100644 --- a/source/visualization/management/include/G4VisFeaturesOfOpenInventor.hh +++ b/source/visualization/management/include/G4VisFeaturesOfOpenInventor.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisFeaturesOfOpenInventor.hh,v 1.5 2006/06/29 21:29:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/management/include/G4VisFilterManager.hh b/source/visualization/management/include/G4VisFilterManager.hh index 33803d3a8f..c94e90e15c 100644 --- a/source/visualization/management/include/G4VisFilterManager.hh +++ b/source/visualization/management/include/G4VisFilterManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VisFilterManager.hh,v 1.4 2006/06/29 21:29:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Filter manager. Manages filter models, factories, messengers, // command placement, filter mode etc diff --git a/source/visualization/management/include/G4VisListManager.hh b/source/visualization/management/include/G4VisListManager.hh index 94e0ed55f6..96c5915212 100644 --- a/source/visualization/management/include/G4VisListManager.hh +++ b/source/visualization/management/include/G4VisListManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VisListManager.hh,v 1.8 2006/06/29 21:29:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl October 2005 // diff --git a/source/visualization/management/include/G4VisManager.hh b/source/visualization/management/include/G4VisManager.hh index bb96644a71..d8129ca906 100644 --- a/source/visualization/management/include/G4VisManager.hh +++ b/source/visualization/management/include/G4VisManager.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisManager.hh,v 1.66 2007/01/11 16:40:05 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/management/include/G4VisManager.icc b/source/visualization/management/include/G4VisManager.icc index 18c03fdefc..217b5871b5 100644 --- a/source/visualization/management/include/G4VisManager.icc +++ b/source/visualization/management/include/G4VisManager.icc @@ -25,7 +25,7 @@ // // // $Id: G4VisManager.icc,v 1.20 2007/01/11 16:40:58 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 Visualization Manager - John Allison 02/Jan/1996. diff --git a/source/visualization/management/include/G4VisModelManager.hh b/source/visualization/management/include/G4VisModelManager.hh index cd46bfc58e..86639e93bd 100644 --- a/source/visualization/management/include/G4VisModelManager.hh +++ b/source/visualization/management/include/G4VisModelManager.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VisModelManager.hh,v 1.4 2006/06/29 21:29:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Generic model manager. Manages models, associated // factories, messengers, command placement etc diff --git a/source/visualization/management/include/G4VisStateDependent.hh b/source/visualization/management/include/G4VisStateDependent.hh index 6cd21964e6..5138f45791 100644 --- a/source/visualization/management/include/G4VisStateDependent.hh +++ b/source/visualization/management/include/G4VisStateDependent.hh @@ -25,7 +25,7 @@ // // // $Id: G4VisStateDependent.hh,v 1.5 2006/06/29 21:29:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // A "state dependent" service class for G4VisManager. // John Allison 29th November 1999 diff --git a/source/visualization/management/src/G4GraphicsSystemList.cc b/source/visualization/management/src/G4GraphicsSystemList.cc index 3c154e1df3..96e3130eed 100644 --- a/source/visualization/management/src/G4GraphicsSystemList.cc +++ b/source/visualization/management/src/G4GraphicsSystemList.cc @@ -25,7 +25,7 @@ // // // $Id: G4GraphicsSystemList.cc,v 1.4 2006/06/29 21:29:14 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4GraphicsSystemList.hh" diff --git a/source/visualization/management/src/G4Scene.cc b/source/visualization/management/src/G4Scene.cc index 376e696b56..cd76770cf0 100644 --- a/source/visualization/management/src/G4Scene.cc +++ b/source/visualization/management/src/G4Scene.cc @@ -25,7 +25,7 @@ // // // $Id: G4Scene.cc,v 1.23 2006/11/26 15:51:12 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Scene data John Allison 19th July 1996. diff --git a/source/visualization/management/src/G4SceneHandlerList.cc b/source/visualization/management/src/G4SceneHandlerList.cc index 23c91cfcd4..34cfbba98d 100644 --- a/source/visualization/management/src/G4SceneHandlerList.cc +++ b/source/visualization/management/src/G4SceneHandlerList.cc @@ -25,7 +25,7 @@ // // // $Id: G4SceneHandlerList.cc,v 1.4 2006/06/29 21:29:18 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4SceneHandlerList.hh" diff --git a/source/visualization/management/src/G4SceneList.cc b/source/visualization/management/src/G4SceneList.cc index 765ab4bd1c..f58187eef9 100644 --- a/source/visualization/management/src/G4SceneList.cc +++ b/source/visualization/management/src/G4SceneList.cc @@ -25,7 +25,7 @@ // // // $Id: G4SceneList.cc,v 1.6 2006/06/29 21:29:20 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4SceneList.hh" diff --git a/source/visualization/management/src/G4VGraphicsSystem.cc b/source/visualization/management/src/G4VGraphicsSystem.cc index c07dc3a34c..3999f8a9bb 100644 --- a/source/visualization/management/src/G4VGraphicsSystem.cc +++ b/source/visualization/management/src/G4VGraphicsSystem.cc @@ -25,7 +25,7 @@ // // // $Id: G4VGraphicsSystem.cc,v 1.11 2006/06/29 21:29:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 27th March 1996 diff --git a/source/visualization/management/src/G4VSceneHandler.cc b/source/visualization/management/src/G4VSceneHandler.cc index ecefbd31aa..50edf62dc2 100644 --- a/source/visualization/management/src/G4VSceneHandler.cc +++ b/source/visualization/management/src/G4VSceneHandler.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VSceneHandler.cc,v 1.79 2007/01/11 16:38:14 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4VSceneHandler.cc,v 1.82 2007/05/16 15:47:44 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 19th July 1996 @@ -79,6 +79,7 @@ #include "G4Run.hh" #include "G4Transform3D.hh" #include "G4AttHolder.hh" +#include "G4AttDef.hh" G4VSceneHandler::G4VSceneHandler (G4VGraphicsSystem& system, G4int id, const G4String& name): fSystem (system), @@ -553,37 +554,40 @@ void G4VSceneHandler::ProcessScene (G4VViewer&) { } else { G4RunManager* runManager = G4RunManager::GetRunManager(); - const G4Run* run = runManager->GetCurrentRun(); - const std::vector* events = - run? run->GetEventVector(): 0; - size_t nKeptEvents = 0; - if (events) nKeptEvents = events->size(); if (runManager) { - if (fpScene->GetRefreshAtEndOfEvent()) { + const G4Run* run = runManager->GetCurrentRun(); + const std::vector* events = + run? run->GetEventVector(): 0; + size_t nKeptEvents = 0; + if (events) nKeptEvents = events->size(); + if (nKeptEvents) { - if (verbosity >= G4VisManager::confirmations) { - G4cout << "Refreshing event..." << G4endl; - } - const G4Event* event = 0; - if (events && events->size()) event = events->back(); - if (event) DrawEvent(event); + if (fpScene->GetRefreshAtEndOfEvent()) { - } else { // Accumulating events. - - if (verbosity >= G4VisManager::confirmations) { - G4cout << "Refreshing events in run..." << G4endl; - } - for (size_t i = 0; i < nKeptEvents; ++i) { - const G4Event* event = (*events)[i]; + if (verbosity >= G4VisManager::confirmations) { + G4cout << "Refreshing event..." << G4endl; + } + const G4Event* event = 0; + if (events && events->size()) event = events->back(); if (event) DrawEvent(event); - } - if (!fpScene->GetRefreshAtEndOfRun()) { - if (verbosity >= G4VisManager::warnings) { - G4cout << - "WARNING: Cannot refresh events accumulated over more" - "\n than one runs. Refreshed just the last run..." - << G4endl; + } else { // Accumulating events. + + if (verbosity >= G4VisManager::confirmations) { + G4cout << "Refreshing events in run..." << G4endl; + } + for (size_t i = 0; i < nKeptEvents; ++i) { + const G4Event* event = (*events)[i]; + if (event) DrawEvent(event); + } + + if (!fpScene->GetRefreshAtEndOfRun()) { + if (verbosity >= G4VisManager::warnings) { + G4cout << + "WARNING: Cannot refresh events accumulated over more" + "\n than one runs. Refreshed just the last run." + << G4endl; + } } } } @@ -709,10 +713,13 @@ const G4Polyhedron* G4VSceneHandler::CreateCutawayPolyhedron() void G4VSceneHandler::LoadAtts(const G4Visible& visible, G4AttHolder* holder) { // Load G4Atts from G4VisAttributes, if any... - const std::map* vaDefs = - visible.GetVisAttributes()->GetAttDefs(); - if (vaDefs) { - holder->AddAtts(visible.GetVisAttributes()->CreateAttValues(), vaDefs); + const G4VisAttributes* va = visible.GetVisAttributes(); + if (va) { + const std::map* vaDefs = + va->GetAttDefs(); + if (vaDefs) { + holder->AddAtts(visible.GetVisAttributes()->CreateAttValues(), vaDefs); + } } G4PhysicalVolumeModel* pPVModel = diff --git a/source/visualization/management/src/G4VViewer.cc b/source/visualization/management/src/G4VViewer.cc index 7ba7d5ebf9..e4305b3695 100644 --- a/source/visualization/management/src/G4VViewer.cc +++ b/source/visualization/management/src/G4VViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4VViewer.cc,v 1.24 2007/01/05 16:25:15 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 27th March 1996 diff --git a/source/visualization/management/src/G4VVisCommand.cc b/source/visualization/management/src/G4VVisCommand.cc index 7a3d789d0b..fbe56dc076 100644 --- a/source/visualization/management/src/G4VVisCommand.cc +++ b/source/visualization/management/src/G4VVisCommand.cc @@ -25,7 +25,7 @@ // // // $Id: G4VVisCommand.cc,v 1.18 2006/06/29 21:29:28 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // Base class for visualization commands - John Allison 9th August 1998 // It is really a messenger - we have one command per messenger. diff --git a/source/visualization/management/src/G4ViewParameters.cc b/source/visualization/management/src/G4ViewParameters.cc index 3190cf64fc..f427aeb730 100644 --- a/source/visualization/management/src/G4ViewParameters.cc +++ b/source/visualization/management/src/G4ViewParameters.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4ViewParameters.cc,v 1.28 2006/09/19 16:02:31 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4ViewParameters.cc,v 1.29 2007/04/03 13:33:16 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 19th July 1996 @@ -71,7 +71,8 @@ G4ViewParameters::G4ViewParameters (): fWindowSizeHintX (600), fWindowSizeHintY (600), fAutoRefresh (false), - fBackgroundColour (G4Colour(0.,0.,0.)) // Black + fBackgroundColour (G4Colour(0.,0.,0.)), // Black + fPicking (false) { fDefaultMarker.SetScreenSize (5.); // Markers are 5 pixels "overall" size, i.e., diameter. @@ -272,7 +273,9 @@ void G4ViewParameters::PrintDifferences (const G4ViewParameters& v) const { (fWindowSizeHintY != v.fWindowSizeHintY) || (fXGeometryString != v.fXGeometryString) || (fAutoRefresh != v.fAutoRefresh) || - (fBackgroundColour != v.fBackgroundColour)) + (fBackgroundColour != v.fBackgroundColour) || + (fPicking != v.fPicking) + ) G4cout << "Difference in 1st batch." << G4endl; if (fSection) { @@ -439,6 +442,10 @@ std::ostream& operator << (std::ostream& os, const G4ViewParameters& v) { os << "\n Background colour: " << v.fBackgroundColour; + os << "\n Picking requested: "; + if (v.fPicking) os << "true"; + else os << "false"; + return os; } @@ -479,7 +486,9 @@ G4bool G4ViewParameters::operator != (const G4ViewParameters& v) const { (fWindowSizeHintY != v.fWindowSizeHintY) || (fXGeometryString != v.fXGeometryString) || (fAutoRefresh != v.fAutoRefresh) || - (fBackgroundColour != v.fBackgroundColour)) + (fBackgroundColour != v.fBackgroundColour) || + (fPicking != v.fPicking) + ) return true; if (fDensityCulling && diff --git a/source/visualization/management/src/G4ViewerList.cc b/source/visualization/management/src/G4ViewerList.cc index e8a60718ec..6cc5b32954 100644 --- a/source/visualization/management/src/G4ViewerList.cc +++ b/source/visualization/management/src/G4ViewerList.cc @@ -25,7 +25,7 @@ // // // $Id: G4ViewerList.cc,v 1.4 2006/06/29 21:29:32 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4ViewerList.hh" diff --git a/source/visualization/management/src/G4VisCommands.cc b/source/visualization/management/src/G4VisCommands.cc index e322158206..3ad5aea415 100644 --- a/source/visualization/management/src/G4VisCommands.cc +++ b/source/visualization/management/src/G4VisCommands.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommands.cc,v 1.21 2007/01/11 16:39:33 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4VisCommands.cc,v 1.22 2007/03/27 15:47:32 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/ top level commands - John Allison 5th February 2001 @@ -62,6 +62,7 @@ G4String G4VisCommandAbortReviewKeptEvents::GetCurrentValue (G4UIcommand*) { void G4VisCommandAbortReviewKeptEvents::SetNewValue (G4UIcommand*, G4String newValue) { fpVisManager->SetAbortReviewKeptEvents(G4UIcommand::ConvertToBool(newValue)); + G4cout << "Type \"continue\" to complete the abort." << G4endl; } ////////////// /vis/enable /////////////////////////////////////// diff --git a/source/visualization/management/src/G4VisCommandsCompound.cc b/source/visualization/management/src/G4VisCommandsCompound.cc index 10e90cfcc2..fb80b10d4e 100644 --- a/source/visualization/management/src/G4VisCommandsCompound.cc +++ b/source/visualization/management/src/G4VisCommandsCompound.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsCompound.cc,v 1.38 2007/03/27 15:41:34 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // Compound /vis/ commands - John Allison 15th May 2000 diff --git a/source/visualization/management/src/G4VisCommandsGeometry.cc b/source/visualization/management/src/G4VisCommandsGeometry.cc index 8319448246..2878076824 100644 --- a/source/visualization/management/src/G4VisCommandsGeometry.cc +++ b/source/visualization/management/src/G4VisCommandsGeometry.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsGeometry.cc,v 1.4 2007/01/05 16:29:38 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/geometry commands - John Allison 31st January 2006 diff --git a/source/visualization/management/src/G4VisCommandsGeometrySet.cc b/source/visualization/management/src/G4VisCommandsGeometrySet.cc index b193b28515..b516e795d9 100644 --- a/source/visualization/management/src/G4VisCommandsGeometrySet.cc +++ b/source/visualization/management/src/G4VisCommandsGeometrySet.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsGeometrySet.cc,v 1.7 2007/01/05 16:24:19 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/geometry commands - John Allison 31st January 2006 diff --git a/source/visualization/management/src/G4VisCommandsScene.cc b/source/visualization/management/src/G4VisCommandsScene.cc index cb59c02b9c..ee390e6f67 100644 --- a/source/visualization/management/src/G4VisCommandsScene.cc +++ b/source/visualization/management/src/G4VisCommandsScene.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommandsScene.cc,v 1.65 2006/11/26 19:37:54 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VisCommandsScene.cc,v 1.66 2007/05/25 10:49:55 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/scene commands - John Allison 9th August 1998 @@ -479,8 +479,29 @@ void G4VisCommandSceneNotifyHandlers::SetNewValue (G4UIcommand*, // Store current context... G4VSceneHandler* pCurrentSceneHandler = fpVisManager -> GetCurrentSceneHandler(); + if (!pCurrentSceneHandler) { + if (verbosity >= G4VisManager::warnings) { + G4cout << "WARNING: No current scene handler." + << G4endl; + } + return; + } G4VViewer* pCurrentViewer = fpVisManager -> GetCurrentViewer(); + if (!pCurrentViewer) { + if (verbosity >= G4VisManager::warnings) { + G4cout << "WARNING: No current viewer." + << G4endl; + } + return; + } G4Scene* pCurrentScene = fpVisManager -> GetCurrentScene(); + if (!pCurrentScene) { + if (verbosity >= G4VisManager::warnings) { + G4cout << "WARNING: No current scene." + << G4endl; + } + return; + } G4VisManager::Verbosity currentVerbosity = fpVisManager -> GetVerbosity(); // Suppress messages during this process (only print errors)... diff --git a/source/visualization/management/src/G4VisCommandsSceneAdd.cc b/source/visualization/management/src/G4VisCommandsSceneAdd.cc index a69477e294..5c59affdd5 100644 --- a/source/visualization/management/src/G4VisCommandsSceneAdd.cc +++ b/source/visualization/management/src/G4VisCommandsSceneAdd.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsSceneAdd.cc,v 1.72 2006/11/25 15:37:31 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/scene commands - John Allison 9th August 1998 #include "G4VisCommandsSceneAdd.hh" diff --git a/source/visualization/management/src/G4VisCommandsSceneHandler.cc b/source/visualization/management/src/G4VisCommandsSceneHandler.cc index d2948a0f1c..6f7ab27c8c 100644 --- a/source/visualization/management/src/G4VisCommandsSceneHandler.cc +++ b/source/visualization/management/src/G4VisCommandsSceneHandler.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsSceneHandler.cc,v 1.32 2006/06/29 21:29:46 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/sceneHandler commands - John Allison 10th October 1998 diff --git a/source/visualization/management/src/G4VisCommandsViewer.cc b/source/visualization/management/src/G4VisCommandsViewer.cc index 2d0f889cb3..2ed5245133 100644 --- a/source/visualization/management/src/G4VisCommandsViewer.cc +++ b/source/visualization/management/src/G4VisCommandsViewer.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisCommandsViewer.cc,v 1.68 2007/01/11 16:41:30 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/viewer commands - John Allison 25th October 1998 diff --git a/source/visualization/management/src/G4VisCommandsViewerSet.cc b/source/visualization/management/src/G4VisCommandsViewerSet.cc index edf7610a9a..7f8a631249 100644 --- a/source/visualization/management/src/G4VisCommandsViewerSet.cc +++ b/source/visualization/management/src/G4VisCommandsViewerSet.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4VisCommandsViewerSet.cc,v 1.47 2006/11/14 14:59:55 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4VisCommandsViewerSet.cc,v 1.48 2007/04/03 13:33:16 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // /vis/viewer/set commands - John Allison 16th May 2000 @@ -66,7 +66,7 @@ G4VisCommandsViewerSet::G4VisCommandsViewerSet (): ("If true, view is automatically refreshed after a change of" "\nview parameters."); fpCommandAutoRefresh->SetParameterName("auto-refresh",omitable = true); - fpCommandAutoRefresh->SetDefaultValue(false); + fpCommandAutoRefresh->SetDefaultValue(true); fpCommandAuxEdge = new G4UIcmdWithABool ("/vis/viewer/set/auxiliaryEdge",this); @@ -75,7 +75,7 @@ G4VisCommandsViewerSet::G4VisCommandsViewerSet (): ("Auxiliary edges, i.e., those that are part of a curved surface," "\nsometimes called soft edges, become visible/invisible."); fpCommandAuxEdge->SetParameterName("edge",omitable = true); - fpCommandAuxEdge->SetDefaultValue(false); + fpCommandAuxEdge->SetDefaultValue(true); fpCommandBackground = new G4UIcommand ("/vis/viewer/set/background",this); @@ -247,6 +247,15 @@ G4VisCommandsViewerSet::G4VisCommandsViewerSet (): fpCommandLineSegments->SetParameterName("line-segments",omitable = true); fpCommandLineSegments->SetDefaultValue(24); + fpCommandPicking = new G4UIcmdWithABool + ("/vis/viewer/set/picking",this); + fpCommandPicking->SetGuidance("Sets picking, if available."); + fpCommandPicking->SetGuidance + ("If true, view is set up for picking, if available." + "\nFor required actions, watch for instructions for viewer."); + fpCommandPicking->SetParameterName("picking",omitable = true); + fpCommandPicking->SetDefaultValue(true); + fpCommandProjection = new G4UIcommand("/vis/viewer/set/projection",this); fpCommandProjection->SetGuidance ("Orthogonal or perspective projection."); @@ -387,6 +396,7 @@ G4VisCommandsViewerSet::~G4VisCommandsViewerSet() { delete fpCommandLightsMove; delete fpCommandLightsThetaPhi; delete fpCommandLightsVector; + delete fpCommandPicking; delete fpCommandProjection; delete fpCommandSectionPlane; delete fpCommandStyle; @@ -753,6 +763,16 @@ void G4VisCommandsViewerSet::SetNewValue } } + else if (command == fpCommandPicking) { + vp.SetPicking(G4UIcommand::ConvertToBool(newValue)); + if (verbosity >= G4VisManager::confirmations) { + G4cout << "Picking "; + if (vp.IsPicking()) G4cout << "requested."; + else G4cout << "inhibited."; + G4cout << G4endl; + } + } + else if (command == fpCommandProjection) { G4double fieldHalfAngle; const size_t iPos0 = 0; diff --git a/source/visualization/management/src/G4VisFeaturesOfDAWNFILE.cc b/source/visualization/management/src/G4VisFeaturesOfDAWNFILE.cc index 16f83f28a5..6078e94655 100644 --- a/source/visualization/management/src/G4VisFeaturesOfDAWNFILE.cc +++ b/source/visualization/management/src/G4VisFeaturesOfDAWNFILE.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisFeaturesOfDAWNFILE.cc,v 1.6 2006/06/29 21:29:52 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // #include "G4VisFeaturesOfDAWNFILE.hh" diff --git a/source/visualization/management/src/G4VisFeaturesOfFukuiRenderer.cc b/source/visualization/management/src/G4VisFeaturesOfFukuiRenderer.cc index d29aa697d8..88b14c322d 100644 --- a/source/visualization/management/src/G4VisFeaturesOfFukuiRenderer.cc +++ b/source/visualization/management/src/G4VisFeaturesOfFukuiRenderer.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisFeaturesOfFukuiRenderer.cc,v 1.5 2006/06/29 21:29:54 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/management/src/G4VisFeaturesOfOpenGL.cc b/source/visualization/management/src/G4VisFeaturesOfOpenGL.cc index e60ac4d054..4892dea5a5 100644 --- a/source/visualization/management/src/G4VisFeaturesOfOpenGL.cc +++ b/source/visualization/management/src/G4VisFeaturesOfOpenGL.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisFeaturesOfOpenGL.cc,v 1.5 2006/06/29 21:29:56 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/management/src/G4VisFeaturesOfOpenInventor.cc b/source/visualization/management/src/G4VisFeaturesOfOpenInventor.cc index 0b03ee3bb4..3c0c90ef89 100644 --- a/source/visualization/management/src/G4VisFeaturesOfOpenInventor.cc +++ b/source/visualization/management/src/G4VisFeaturesOfOpenInventor.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisFeaturesOfOpenInventor.cc,v 1.5 2006/06/29 21:29:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // diff --git a/source/visualization/management/src/G4VisManager.cc b/source/visualization/management/src/G4VisManager.cc index c55a9479ac..29549cf282 100644 --- a/source/visualization/management/src/G4VisManager.cc +++ b/source/visualization/management/src/G4VisManager.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4VisManager.cc,v 1.111 2007/01/11 16:41:59 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4VisManager.cc,v 1.113 2007/05/25 10:50:26 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // GEANT4 Visualization Manager - John Allison 02/Jan/1996. @@ -71,6 +71,7 @@ #include "G4TrajectoryDrawByCharge.hh" #include "Randomize.hh" #include "G4RunManager.hh" +#include "G4EventManager.hh" #include "G4Run.hh" #include "G4Event.hh" #include @@ -585,58 +586,66 @@ void G4VisManager::CreateViewer (G4String name) { if (fpSceneHandler) { G4VViewer* p = fpGraphicsSystem -> CreateViewer (*fpSceneHandler, name); - if (p) { - fpViewer = p; // Make current. - fpViewer -> Initialise (); - fpSceneHandler -> AddViewerToList (fpViewer); - fpSceneHandler -> SetCurrentViewer (fpViewer); - - if (fVerbosity >= confirmations) { - G4cout << "G4VisManager::CreateViewer: new viewer created:" + if (!p) { + if (fVerbosity >= errors) { + G4cout << "ERROR in G4VisManager::CreateViewer during " + << fpGraphicsSystem -> GetName () + << " viewer creation.\n No action taken." << G4endl; } + } else { + p -> Initialise (); + if (p -> GetViewId() < 0) { + if (fVerbosity >= errors) { + G4cout << "ERROR in G4VisManager::CreateViewer during " + << fpGraphicsSystem -> GetName () + << " viewer initialisation.\n No action taken." + << G4endl; + } + } else { + fpViewer = p; // Make current. + fpSceneHandler -> AddViewerToList (fpViewer); + fpSceneHandler -> SetCurrentViewer (fpViewer); - const G4ViewParameters& vp = fpViewer->GetViewParameters(); - if (fVerbosity >= parameters) { - G4cout << " view parameters are:\n " << vp << G4endl; - } - - if (vp.IsCulling () && vp.IsCullingInvisible ()) { - static G4bool warned = false; if (fVerbosity >= confirmations) { - if (!warned) { - G4cout << + G4cout << "G4VisManager::CreateViewer: new viewer created." + << G4endl; + } + + const G4ViewParameters& vp = fpViewer->GetViewParameters(); + if (fVerbosity >= parameters) { + G4cout << " view parameters are:\n " << vp << G4endl; + } + + if (vp.IsCulling () && vp.IsCullingInvisible ()) { + static G4bool warned = false; + if (fVerbosity >= confirmations) { + if (!warned) { + G4cout << "NOTE: objects with visibility flag set to \"false\"" " will not be drawn!" "\n \"/vis/viewer/set/culling global false\" to Draw such objects." "\n Also see other \"/vis/viewer/set\" commands." - << G4endl; - warned = true; + << G4endl; + warned = true; + } } } - } - if (vp.IsCullingCovered ()) { - static G4bool warned = false; - if (fVerbosity >= warnings) { - if (!warned) { - G4cout << + if (vp.IsCullingCovered ()) { + static G4bool warned = false; + if (fVerbosity >= warnings) { + if (!warned) { + G4cout << "WARNING: covered objects in solid mode will not be rendered!" "\n \"/vis/viewer/set/culling coveredDaughters false\" to reverse this." "\n Also see other \"/vis/viewer/set\" commands." - << G4endl; - warned = true; + << G4endl; + warned = true; + } } } } } - else { - if (fVerbosity >= errors) { - G4cout << "ERROR in G4VisManager::CreateViewer during " - << fpGraphicsSystem -> GetName () - << " viewer creation.\n No action taken." - << G4endl; - } - } } else PrintInvalidPointers (); } @@ -1131,8 +1140,8 @@ void G4VisManager::EndOfEvent () G4RunManager* runManager = G4RunManager::GetRunManager(); const G4Run* currentRun = runManager->GetCurrentRun(); - const G4Event* currentEvent = - G4EventManager::GetEventManager()->GetConstCurrentEvent(); + G4EventManager* eventManager = G4EventManager::GetEventManager(); + const G4Event* currentEvent = eventManager->GetConstCurrentEvent(); if (!currentEvent) return; ClearTransientStoreIfMarked(); @@ -1158,7 +1167,7 @@ void G4VisManager::EndOfEvent () } else { // Last event... // Keep, but only if user has not kept any... if (!nKeptEvents) { - G4EventManager::GetEventManager()->KeepTheCurrentEvent(); + eventManager->KeepTheCurrentEvent(); fKeptLastEvent = true; } } @@ -1180,7 +1189,7 @@ void G4VisManager::EndOfEvent () warned = true; } } else if (maxNumberOfKeptEvents != 0) { - G4EventManager::GetEventManager()->KeepTheCurrentEvent(); + eventManager->KeepTheCurrentEvent(); } } } diff --git a/source/visualization/management/src/G4VisStateDependent.cc b/source/visualization/management/src/G4VisStateDependent.cc index 5eb6d77da9..2572689b19 100644 --- a/source/visualization/management/src/G4VisStateDependent.cc +++ b/source/visualization/management/src/G4VisStateDependent.cc @@ -25,7 +25,7 @@ // // // $Id: G4VisStateDependent.cc,v 1.6 2006/06/29 21:30:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ #include "G4VisStateDependent.hh" diff --git a/source/visualization/modeling/History b/source/visualization/modeling/History index 009925314d..23c7427d10 100644 --- a/source/visualization/modeling/History +++ b/source/visualization/modeling/History @@ -1,4 +1,4 @@ -$Id: History,v 1.97 2007/01/05 16:07:43 allison Exp $ +$Id: History,v 1.102 2007/05/30 08:56:55 allison Exp $ ------------------------------------------------------------------- ========================================================= @@ -20,6 +20,26 @@ committal in the CVS repository ! History file for visualization/modeling --------------------------------------- +30th May 2007 John Allison (modeling-V08-03-02) +- Removed warnedAboutIMode from G4TrajectoryDrawerUtils.hh. It was + used only in G4TrajectoryDrawerUtils.cc and gave warnings about + being unused in other .cc files that inculded + G4TrajectoryDrawerUtils.hh. warnedAboutIMode is now a static in + G4TrajectoryDrawerUtils.cc. + +30th May 2007 John Allison (modeling-V08-03-01) +- Fix for SUN. + +22nd May 2007 John Allison (modeling-V08-03-00) +- Simplified G4Atts for Physical Volume Path. + +3rd April 2007 John Allison (modeling-V08-02-02) +- G4PhysicalVolumeModel: Added full volume path information and + transformed axes to G4Atts. + +25th March 2007 John Allison (modeling-V08-02-01) +- G4PhysicalVolumeModel: Added solid dump and volume transformation to G4Atts. + 5th January 2007 John Allison (modeling-V08-02-00 - needs greps-V08-02-00) - G4PhysicalVolumeModel.cc: Bug fix: o Correct treatment of ForcedLineSegmentsPerCircle when clipping. diff --git a/source/visualization/modeling/include/G4AttFilterUtils.hh b/source/visualization/modeling/include/G4AttFilterUtils.hh index 8321711a82..709686e415 100644 --- a/source/visualization/modeling/include/G4AttFilterUtils.hh +++ b/source/visualization/modeling/include/G4AttFilterUtils.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4AttFilterUtils.hh,v 1.2 2006/12/13 15:49:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Visualisation attribute filter utility functions. // diff --git a/source/visualization/modeling/include/G4AttValueFilterT.hh b/source/visualization/modeling/include/G4AttValueFilterT.hh index d74f4bda2f..42dad289c5 100644 --- a/source/visualization/modeling/include/G4AttValueFilterT.hh +++ b/source/visualization/modeling/include/G4AttValueFilterT.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4AttValueFilterT.hh,v 1.3 2006/12/13 15:50:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Templated class for G4AttValue filters. // diff --git a/source/visualization/modeling/include/G4AttributeFilterT.hh b/source/visualization/modeling/include/G4AttributeFilterT.hh index ccac9fe34b..ba8e78ef6e 100644 --- a/source/visualization/modeling/include/G4AttributeFilterT.hh +++ b/source/visualization/modeling/include/G4AttributeFilterT.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4AttributeFilterT.hh,v 1.6 2006/12/13 15:50:02 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Generic attribute filter. // diff --git a/source/visualization/modeling/include/G4AxesModel.hh b/source/visualization/modeling/include/G4AxesModel.hh index 52db04328e..3dd5ffa88a 100644 --- a/source/visualization/modeling/include/G4AxesModel.hh +++ b/source/visualization/modeling/include/G4AxesModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4AxesModel.hh,v 1.6 2006/11/01 10:28:42 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 3rd April 2001 diff --git a/source/visualization/modeling/include/G4BoundingSphereScene.hh b/source/visualization/modeling/include/G4BoundingSphereScene.hh index 70990dc2cf..32fab20c58 100644 --- a/source/visualization/modeling/include/G4BoundingSphereScene.hh +++ b/source/visualization/modeling/include/G4BoundingSphereScene.hh @@ -25,7 +25,7 @@ // // // $Id: G4BoundingSphereScene.hh,v 1.17 2006/06/29 21:30:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th June 1997 diff --git a/source/visualization/modeling/include/G4CallbackModel.hh b/source/visualization/modeling/include/G4CallbackModel.hh index 9cd3aad0d2..c65d1eecfa 100644 --- a/source/visualization/modeling/include/G4CallbackModel.hh +++ b/source/visualization/modeling/include/G4CallbackModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4CallbackModel.hh,v 1.5 2006/06/29 21:30:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/include/G4FlavoredParallelWorldModel.hh b/source/visualization/modeling/include/G4FlavoredParallelWorldModel.hh index 348cd5082a..be043137de 100644 --- a/source/visualization/modeling/include/G4FlavoredParallelWorldModel.hh +++ b/source/visualization/modeling/include/G4FlavoredParallelWorldModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4FlavoredParallelWorldModel.hh,v 1.8 2006/06/29 21:30:12 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // P. Mora de Freitas et M.Verderi - 19 June 1998. // diff --git a/source/visualization/modeling/include/G4HitFilterFactories.hh b/source/visualization/modeling/include/G4HitFilterFactories.hh index 18736391cd..e6da349681 100644 --- a/source/visualization/modeling/include/G4HitFilterFactories.hh +++ b/source/visualization/modeling/include/G4HitFilterFactories.hh @@ -24,7 +24,7 @@ // ******************************************************************** // /// $Id: G4HitFilterFactories.hh,v 1.1 2006/09/12 18:53:03 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Hit filter model factories creating filters diff --git a/source/visualization/modeling/include/G4HitsModel.hh b/source/visualization/modeling/include/G4HitsModel.hh index f43f875bd4..91194dc043 100644 --- a/source/visualization/modeling/include/G4HitsModel.hh +++ b/source/visualization/modeling/include/G4HitsModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4HitsModel.hh,v 1.10 2006/11/02 11:57:31 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 26th August 1998. diff --git a/source/visualization/modeling/include/G4LogicalVolumeModel.hh b/source/visualization/modeling/include/G4LogicalVolumeModel.hh index b9c4b74557..057e56e97a 100644 --- a/source/visualization/modeling/include/G4LogicalVolumeModel.hh +++ b/source/visualization/modeling/include/G4LogicalVolumeModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4LogicalVolumeModel.hh,v 1.9 2006/11/01 10:28:42 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 26th July 1999. diff --git a/source/visualization/modeling/include/G4ModelApplyCommandsT.hh b/source/visualization/modeling/include/G4ModelApplyCommandsT.hh index 4e5bf21b0e..3ab35b9f80 100644 --- a/source/visualization/modeling/include/G4ModelApplyCommandsT.hh +++ b/source/visualization/modeling/include/G4ModelApplyCommandsT.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ModelApplyCommandsT.hh,v 1.5 2006/09/11 21:22:02 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Abstract model messenges. Derived classes should implement // the "Apply" method diff --git a/source/visualization/modeling/include/G4ModelColourMap.hh b/source/visualization/modeling/include/G4ModelColourMap.hh index fd78d2db2b..7a6ea2f423 100644 --- a/source/visualization/modeling/include/G4ModelColourMap.hh +++ b/source/visualization/modeling/include/G4ModelColourMap.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ModelColourMap.hh,v 1.2 2006/06/29 21:30:22 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Generic variable->G4Colour map, where "variable" is the template // parameter. diff --git a/source/visualization/modeling/include/G4ModelCommandUtils.hh b/source/visualization/modeling/include/G4ModelCommandUtils.hh index 729bbf1869..f367e4b466 100644 --- a/source/visualization/modeling/include/G4ModelCommandUtils.hh +++ b/source/visualization/modeling/include/G4ModelCommandUtils.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ModelCommandUtils.hh,v 1.2 2006/09/13 12:54:31 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay September 2006 // diff --git a/source/visualization/modeling/include/G4ModelCommandsT.hh b/source/visualization/modeling/include/G4ModelCommandsT.hh index 0865d8f1de..6a264eda38 100644 --- a/source/visualization/modeling/include/G4ModelCommandsT.hh +++ b/source/visualization/modeling/include/G4ModelCommandsT.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ModelCommandsT.hh,v 1.12 2006/11/01 10:34:03 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Generic model messenges. // diff --git a/source/visualization/modeling/include/G4ModelCompoundCommandsT.hh b/source/visualization/modeling/include/G4ModelCompoundCommandsT.hh index c44d321e90..940b584125 100644 --- a/source/visualization/modeling/include/G4ModelCompoundCommandsT.hh +++ b/source/visualization/modeling/include/G4ModelCompoundCommandsT.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4ModelCompoundCommandsT.hh,v 1.1 2006/09/11 21:52:18 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay September 2006 // diff --git a/source/visualization/modeling/include/G4ModelingParameters.hh b/source/visualization/modeling/include/G4ModelingParameters.hh index 9d94a5a297..044455c288 100644 --- a/source/visualization/modeling/include/G4ModelingParameters.hh +++ b/source/visualization/modeling/include/G4ModelingParameters.hh @@ -25,7 +25,7 @@ // // // $Id: G4ModelingParameters.hh,v 1.17 2006/11/14 14:42:08 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/include/G4ModelingParameters.icc b/source/visualization/modeling/include/G4ModelingParameters.icc index 15865848d1..f6c8bbbe26 100644 --- a/source/visualization/modeling/include/G4ModelingParameters.icc +++ b/source/visualization/modeling/include/G4ModelingParameters.icc @@ -25,7 +25,7 @@ // // // $Id: G4ModelingParameters.icc,v 1.11 2006/11/14 14:42:08 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/include/G4NullModel.hh b/source/visualization/modeling/include/G4NullModel.hh index ad64a248e3..39f6e20dc7 100644 --- a/source/visualization/modeling/include/G4NullModel.hh +++ b/source/visualization/modeling/include/G4NullModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4NullModel.hh,v 1.7 2006/06/29 21:30:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 4th April 1998. diff --git a/source/visualization/modeling/include/G4PhysicalVolumeMassScene.hh b/source/visualization/modeling/include/G4PhysicalVolumeMassScene.hh index 7bd6af7b69..0d5cea5061 100644 --- a/source/visualization/modeling/include/G4PhysicalVolumeMassScene.hh +++ b/source/visualization/modeling/include/G4PhysicalVolumeMassScene.hh @@ -25,7 +25,7 @@ // // // $Id: G4PhysicalVolumeMassScene.hh,v 1.8 2006/11/05 20:38:09 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 12th September 2004 diff --git a/source/visualization/modeling/include/G4PhysicalVolumeModel.hh b/source/visualization/modeling/include/G4PhysicalVolumeModel.hh index d250c1ab5c..2729026b5f 100644 --- a/source/visualization/modeling/include/G4PhysicalVolumeModel.hh +++ b/source/visualization/modeling/include/G4PhysicalVolumeModel.hh @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicalVolumeModel.hh,v 1.32 2006/10/26 11:05:42 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4PhysicalVolumeModel.hh,v 1.34 2007/04/03 13:46:49 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 31st December 1997. @@ -205,6 +205,8 @@ protected: G4VPhysicalVolume* fpCurrentPV; // Current physical volume. G4LogicalVolume* fpCurrentLV; // Current logical volume. G4Material* fpCurrentMaterial; // Current material. + G4Transform3D* fpCurrentTransform; // Current transform. + std::vector fFullPVPath; std::vector fDrawnPVPath; G4bool fCurtailDescent;// Can be set to curtail descent. const G4Polyhedron*fpClippingPolyhedron; diff --git a/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh b/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh index f8345b6cd6..cc4b4d608d 100644 --- a/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh +++ b/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.hh @@ -25,7 +25,7 @@ // // // $Id: G4PhysicalVolumeSearchScene.hh,v 1.17 2006/06/29 21:30:36 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 10th August 1998. diff --git a/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.icc b/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.icc index e01ce05ec4..69185c72a5 100644 --- a/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.icc +++ b/source/visualization/modeling/include/G4PhysicalVolumeSearchScene.icc @@ -25,7 +25,7 @@ // // // $Id: G4PhysicalVolumeSearchScene.icc,v 1.6 2006/06/29 21:30:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 10th August 1998. diff --git a/source/visualization/modeling/include/G4ScaleModel.hh b/source/visualization/modeling/include/G4ScaleModel.hh index 09d0702b53..77a8f599e8 100644 --- a/source/visualization/modeling/include/G4ScaleModel.hh +++ b/source/visualization/modeling/include/G4ScaleModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4ScaleModel.hh,v 1.4 2006/11/01 10:28:42 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 21st July 2001. diff --git a/source/visualization/modeling/include/G4TextModel.hh b/source/visualization/modeling/include/G4TextModel.hh index d9ec4c0a8f..87878918cb 100644 --- a/source/visualization/modeling/include/G4TextModel.hh +++ b/source/visualization/modeling/include/G4TextModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4TextModel.hh,v 1.7 2006/11/01 10:28:42 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 3rd April 2001 diff --git a/source/visualization/modeling/include/G4TrajectoriesModel.hh b/source/visualization/modeling/include/G4TrajectoriesModel.hh index eaef56e200..dfa00dafd7 100644 --- a/source/visualization/modeling/include/G4TrajectoriesModel.hh +++ b/source/visualization/modeling/include/G4TrajectoriesModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4TrajectoriesModel.hh,v 1.10 2006/10/26 11:10:23 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 26th August 1998. diff --git a/source/visualization/modeling/include/G4TrajectoryChargeFilter.hh b/source/visualization/modeling/include/G4TrajectoryChargeFilter.hh index 66dbfa6982..e3655a1468 100644 --- a/source/visualization/modeling/include/G4TrajectoryChargeFilter.hh +++ b/source/visualization/modeling/include/G4TrajectoryChargeFilter.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryChargeFilter.hh,v 1.3 2006/08/25 19:44:14 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Filter trajectories according to charge. Only registered // charges will pass the filter. diff --git a/source/visualization/modeling/include/G4TrajectoryDrawByAttribute.hh b/source/visualization/modeling/include/G4TrajectoryDrawByAttribute.hh index 65294fe995..f0ae0849ec 100644 --- a/source/visualization/modeling/include/G4TrajectoryDrawByAttribute.hh +++ b/source/visualization/modeling/include/G4TrajectoryDrawByAttribute.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryDrawByAttribute.hh,v 1.1 2006/09/11 21:52:18 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay September 2006 // diff --git a/source/visualization/modeling/include/G4TrajectoryDrawByCharge.hh b/source/visualization/modeling/include/G4TrajectoryDrawByCharge.hh index e2cf83ed4c..44f5356ce8 100644 --- a/source/visualization/modeling/include/G4TrajectoryDrawByCharge.hh +++ b/source/visualization/modeling/include/G4TrajectoryDrawByCharge.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryDrawByCharge.hh,v 1.7 2006/06/29 21:31:49 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 // diff --git a/source/visualization/modeling/include/G4TrajectoryDrawByOriginVolume.hh b/source/visualization/modeling/include/G4TrajectoryDrawByOriginVolume.hh index b1f9dc8f38..e0ecc01f9b 100644 --- a/source/visualization/modeling/include/G4TrajectoryDrawByOriginVolume.hh +++ b/source/visualization/modeling/include/G4TrajectoryDrawByOriginVolume.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryDrawByOriginVolume.hh,v 1.4 2006/06/29 21:31:51 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Class Description: // Trajectory model which colours a trajectory according to diff --git a/source/visualization/modeling/include/G4TrajectoryDrawByParticleID.hh b/source/visualization/modeling/include/G4TrajectoryDrawByParticleID.hh index 080a7c0189..ec80f16abb 100644 --- a/source/visualization/modeling/include/G4TrajectoryDrawByParticleID.hh +++ b/source/visualization/modeling/include/G4TrajectoryDrawByParticleID.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryDrawByParticleID.hh,v 1.7 2006/06/29 21:31:53 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 // diff --git a/source/visualization/modeling/include/G4TrajectoryDrawerUtils.hh b/source/visualization/modeling/include/G4TrajectoryDrawerUtils.hh index d96323172d..16d0acfeb5 100644 --- a/source/visualization/modeling/include/G4TrajectoryDrawerUtils.hh +++ b/source/visualization/modeling/include/G4TrajectoryDrawerUtils.hh @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryDrawerUtils.hh,v 1.6 2006/06/29 21:31:55 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4TrajectoryDrawerUtils.hh,v 1.7 2007/05/30 08:56:55 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 // @@ -45,10 +45,6 @@ class G4VTrajectory; namespace G4TrajectoryDrawerUtils { - namespace { - G4bool warnedAboutIMode = false; - } - void GetPoints(const G4VTrajectory& traj, G4Polyline& trajectoryLine, G4Polymarker& auxiliaryPoints, G4Polymarker& stepPoints); diff --git a/source/visualization/modeling/include/G4TrajectoryFilterFactories.hh b/source/visualization/modeling/include/G4TrajectoryFilterFactories.hh index 6404964b36..4b3eb4f986 100644 --- a/source/visualization/modeling/include/G4TrajectoryFilterFactories.hh +++ b/source/visualization/modeling/include/G4TrajectoryFilterFactories.hh @@ -24,7 +24,7 @@ // ******************************************************************** // /// $Id: G4TrajectoryFilterFactories.hh,v 1.4 2006/09/12 18:53:03 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Trajectory filter model factories creating filters diff --git a/source/visualization/modeling/include/G4TrajectoryGenericDrawer.hh b/source/visualization/modeling/include/G4TrajectoryGenericDrawer.hh index c26471f381..d5a525dcbf 100644 --- a/source/visualization/modeling/include/G4TrajectoryGenericDrawer.hh +++ b/source/visualization/modeling/include/G4TrajectoryGenericDrawer.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryGenericDrawer.hh,v 1.2 2006/06/29 21:31:59 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 // diff --git a/source/visualization/modeling/include/G4TrajectoryModelFactories.hh b/source/visualization/modeling/include/G4TrajectoryModelFactories.hh index e0e3d2f7ec..f5a2ab3c1d 100644 --- a/source/visualization/modeling/include/G4TrajectoryModelFactories.hh +++ b/source/visualization/modeling/include/G4TrajectoryModelFactories.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryModelFactories.hh,v 1.6 2006/09/12 18:53:03 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl October 2005 // diff --git a/source/visualization/modeling/include/G4TrajectoryOriginVolumeFilter.hh b/source/visualization/modeling/include/G4TrajectoryOriginVolumeFilter.hh index be306bd4d4..815038b57b 100644 --- a/source/visualization/modeling/include/G4TrajectoryOriginVolumeFilter.hh +++ b/source/visualization/modeling/include/G4TrajectoryOriginVolumeFilter.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryOriginVolumeFilter.hh,v 1.3 2006/08/25 19:44:14 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Filter trajectories according to volume name. Only registered // volumes will pass the filter. diff --git a/source/visualization/modeling/include/G4TrajectoryParticleFilter.hh b/source/visualization/modeling/include/G4TrajectoryParticleFilter.hh index 54901f51fa..6cac7f4228 100644 --- a/source/visualization/modeling/include/G4TrajectoryParticleFilter.hh +++ b/source/visualization/modeling/include/G4TrajectoryParticleFilter.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryParticleFilter.hh,v 1.3 2006/08/25 19:44:14 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Filter trajectories according to particle type. Only registered // particle types will pass the filter. diff --git a/source/visualization/modeling/include/G4VAttValueFilter.hh b/source/visualization/modeling/include/G4VAttValueFilter.hh index b0b47912b3..2b51edbb24 100644 --- a/source/visualization/modeling/include/G4VAttValueFilter.hh +++ b/source/visualization/modeling/include/G4VAttValueFilter.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VAttValueFilter.hh,v 1.2 2006/12/13 15:50:04 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Abstract base class for G4AttValue filters // diff --git a/source/visualization/modeling/include/G4VModel.hh b/source/visualization/modeling/include/G4VModel.hh index 1ff587b2ce..aae5fd5898 100644 --- a/source/visualization/modeling/include/G4VModel.hh +++ b/source/visualization/modeling/include/G4VModel.hh @@ -25,7 +25,7 @@ // // // $Id: G4VModel.hh,v 1.19 2006/07/10 16:09:30 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/include/G4VModel.icc b/source/visualization/modeling/include/G4VModel.icc index c3abe9f136..0c1af17cfc 100644 --- a/source/visualization/modeling/include/G4VModel.icc +++ b/source/visualization/modeling/include/G4VModel.icc @@ -25,7 +25,7 @@ // // // $Id: G4VModel.icc,v 1.12 2006/07/10 16:09:30 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/include/G4VModelCommand.hh b/source/visualization/modeling/include/G4VModelCommand.hh index ec75ab4871..bb9e76d498 100644 --- a/source/visualization/modeling/include/G4VModelCommand.hh +++ b/source/visualization/modeling/include/G4VModelCommand.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VModelCommand.hh,v 1.4 2006/09/11 21:22:02 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 // diff --git a/source/visualization/modeling/include/G4VModelFactory.hh b/source/visualization/modeling/include/G4VModelFactory.hh index 83b01f7405..92756f1d59 100644 --- a/source/visualization/modeling/include/G4VModelFactory.hh +++ b/source/visualization/modeling/include/G4VModelFactory.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VModelFactory.hh,v 1.6 2006/06/29 21:32:30 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl October 2005 // diff --git a/source/visualization/modeling/include/G4VTrajectoryModel.hh b/source/visualization/modeling/include/G4VTrajectoryModel.hh index 8e4ff71d98..e5b8977465 100644 --- a/source/visualization/modeling/include/G4VTrajectoryModel.hh +++ b/source/visualization/modeling/include/G4VTrajectoryModel.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VTrajectoryModel.hh,v 1.7 2006/08/14 11:43:34 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl October 2005 // diff --git a/source/visualization/modeling/include/G4VisTrajContext.hh b/source/visualization/modeling/include/G4VisTrajContext.hh index 7d59a0e33d..a66a3b1561 100644 --- a/source/visualization/modeling/include/G4VisTrajContext.hh +++ b/source/visualization/modeling/include/G4VisTrajContext.hh @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VisTrajContext.hh,v 1.3 2006/08/14 11:47:53 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay May 2006 // diff --git a/source/visualization/modeling/include/G4VisTrajContext.icc b/source/visualization/modeling/include/G4VisTrajContext.icc index 72d26a902f..ed181762b7 100644 --- a/source/visualization/modeling/include/G4VisTrajContext.icc +++ b/source/visualization/modeling/include/G4VisTrajContext.icc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4VisTrajContext.icc,v 1.3 2006/08/14 11:47:53 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay May 2006 // diff --git a/source/visualization/modeling/src/G4AttFilterUtils.cc b/source/visualization/modeling/src/G4AttFilterUtils.cc index 7e7fdffed0..f5dce962ef 100644 --- a/source/visualization/modeling/src/G4AttFilterUtils.cc +++ b/source/visualization/modeling/src/G4AttFilterUtils.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4AttFilterUtils.cc,v 1.4 2006/12/13 15:50:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Visualisation attribute filter utility functions. // diff --git a/source/visualization/modeling/src/G4AxesModel.cc b/source/visualization/modeling/src/G4AxesModel.cc index d0408db15c..523621a185 100644 --- a/source/visualization/modeling/src/G4AxesModel.cc +++ b/source/visualization/modeling/src/G4AxesModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4AxesModel.cc,v 1.6 2006/06/29 21:32:38 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 3rd April 2001 diff --git a/source/visualization/modeling/src/G4BoundingSphereScene.cc b/source/visualization/modeling/src/G4BoundingSphereScene.cc index 146aae384a..0ad03f207b 100644 --- a/source/visualization/modeling/src/G4BoundingSphereScene.cc +++ b/source/visualization/modeling/src/G4BoundingSphereScene.cc @@ -25,7 +25,7 @@ // // // $Id: G4BoundingSphereScene.cc,v 1.11 2006/06/29 21:32:40 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 7th June 1997 diff --git a/source/visualization/modeling/src/G4FlavoredParallelWorldModel.cc b/source/visualization/modeling/src/G4FlavoredParallelWorldModel.cc index 8b91adf04e..2a00820d93 100644 --- a/source/visualization/modeling/src/G4FlavoredParallelWorldModel.cc +++ b/source/visualization/modeling/src/G4FlavoredParallelWorldModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4FlavoredParallelWorldModel.cc,v 1.7 2006/06/29 21:32:42 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // P. Mora de Freitas et M.Verderi - 19 June 1998. // Model for flavored parallel world volumes. diff --git a/source/visualization/modeling/src/G4HitFilterFactories.cc b/source/visualization/modeling/src/G4HitFilterFactories.cc index 6d9ec7bb61..0a43f3ec9f 100644 --- a/source/visualization/modeling/src/G4HitFilterFactories.cc +++ b/source/visualization/modeling/src/G4HitFilterFactories.cc @@ -24,7 +24,7 @@ // ******************************************************************** // /// $Id: G4HitFilterFactories.cc,v 1.1 2006/09/12 18:53:03 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // Trajectory filter model factories creating filters diff --git a/source/visualization/modeling/src/G4HitsModel.cc b/source/visualization/modeling/src/G4HitsModel.cc index eea7b03861..dbd08cac7e 100644 --- a/source/visualization/modeling/src/G4HitsModel.cc +++ b/source/visualization/modeling/src/G4HitsModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4HitsModel.cc,v 1.18 2006/11/14 14:42:08 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 26th August 1998. diff --git a/source/visualization/modeling/src/G4LogicalVolumeModel.cc b/source/visualization/modeling/src/G4LogicalVolumeModel.cc index 63a8d7e67d..d2b8dd9967 100644 --- a/source/visualization/modeling/src/G4LogicalVolumeModel.cc +++ b/source/visualization/modeling/src/G4LogicalVolumeModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4LogicalVolumeModel.cc,v 1.14 2006/11/01 10:28:42 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 26th July 1999. diff --git a/source/visualization/modeling/src/G4ModelingParameters.cc b/source/visualization/modeling/src/G4ModelingParameters.cc index 3f8430b7af..942f4935df 100644 --- a/source/visualization/modeling/src/G4ModelingParameters.cc +++ b/source/visualization/modeling/src/G4ModelingParameters.cc @@ -25,7 +25,7 @@ // // // $Id: G4ModelingParameters.cc,v 1.15 2006/11/14 14:42:08 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 31st December 1997. diff --git a/source/visualization/modeling/src/G4NullModel.cc b/source/visualization/modeling/src/G4NullModel.cc index 7a3d4ba12e..a5579ad2b4 100644 --- a/source/visualization/modeling/src/G4NullModel.cc +++ b/source/visualization/modeling/src/G4NullModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4NullModel.cc,v 1.9 2006/06/29 21:32:50 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 4th April 1998. diff --git a/source/visualization/modeling/src/G4PhysicalVolumeMassScene.cc b/source/visualization/modeling/src/G4PhysicalVolumeMassScene.cc index 0c2708743d..533b16b70b 100644 --- a/source/visualization/modeling/src/G4PhysicalVolumeMassScene.cc +++ b/source/visualization/modeling/src/G4PhysicalVolumeMassScene.cc @@ -25,7 +25,7 @@ // // // $Id: G4PhysicalVolumeMassScene.cc,v 1.7 2006/11/06 09:24:13 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 10th August 1998. diff --git a/source/visualization/modeling/src/G4PhysicalVolumeModel.cc b/source/visualization/modeling/src/G4PhysicalVolumeModel.cc index a38b34de93..1ad03e12a3 100644 --- a/source/visualization/modeling/src/G4PhysicalVolumeModel.cc +++ b/source/visualization/modeling/src/G4PhysicalVolumeModel.cc @@ -24,8 +24,8 @@ // ******************************************************************** // // -// $Id: G4PhysicalVolumeModel.cc,v 1.58 2007/01/05 16:07:02 allison Exp $ -// GEANT4 tag $Name: geant4-08-03 $ +// $Id: G4PhysicalVolumeModel.cc,v 1.62 2007/05/30 07:58:19 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 31st December 1997. @@ -49,6 +49,7 @@ #include "G4AttDef.hh" #include "G4AttValue.hh" #include "G4UnitsTable.hh" +#include "G4Vector3D.hh" #include @@ -94,6 +95,7 @@ G4PhysicalVolumeModel::G4PhysicalVolumeModel fpCurrentPV (0), fpCurrentLV (0), fpCurrentMaterial (0), + fpCurrentTransform (0), fCurtailDescent (false), fpClippingPolyhedron (0), fClippingMode (subtraction) @@ -172,6 +174,7 @@ void G4PhysicalVolumeModel::DescribeYourselfTo fpCurrentPV = 0; fpCurrentLV = 0; fpCurrentMaterial = 0; + fFullPVPath.clear(); fDrawnPVPath.clear(); } @@ -357,6 +360,7 @@ void G4PhysicalVolumeModel::DescribeAndDescend // not be accumulated. G4Transform3D theNewAT (theAT); if (fCurrentDepth != 0) theNewAT = theAT * theLT; + fpCurrentTransform = &theNewAT; /******************************************************** G4cout << "G4PhysicalVolumeModel::DescribeAndDescend: " @@ -421,6 +425,11 @@ void G4PhysicalVolumeModel::DescribeAndDescend } } + // Update full path of physical volumes... + G4int copyNo = fpCurrentPV->GetCopyNo(); + fFullPVPath.push_back + (G4PhysicalVolumeNodeID(fpCurrentPV,copyNo,fCurrentDepth)); + if (thisToBeDrawn) { // Update path of drawn physical volumes... @@ -519,7 +528,8 @@ void G4PhysicalVolumeModel::DescribeAndDescend // Reset for normal descending of next volume at this level... fCurtailDescent = false; - // Pop item from path of drawn physical volumes... + // Pop item from paths physical volumes... + fFullPVPath.pop_back(); if (thisToBeDrawn) { fDrawnPVPath.pop_back(); } @@ -671,20 +681,18 @@ const std::map* G4PhysicalVolumeModel::GetAttDefs() const std::map* store = G4AttDefStore::GetInstance("G4PhysicalVolumeModel", isNew); if (isNew) { - (*store)["PVol"] = - G4AttDef("PVol","Physical Volume","Physics","","G4String"); - (*store)["Copy"] = - G4AttDef("Copy","Physical Volume Copy No.","Physics","","G4int"); + (*store)["PVPath"] = + G4AttDef("PVPath","Physical Volume Path","Physics","","G4String"); (*store)["LVol"] = G4AttDef("LVol","Logical Volume","Physics","","G4String"); - (*store)["Region"] = - G4AttDef("Region","Cuts Region","Physics","","G4String"); - (*store)["RootRegion"] = - G4AttDef("RootRegion","Root Region (0/1 = false/true)","Physics","","G4bool"); (*store)["Solid"] = G4AttDef("Solid","Solid Name","Physics","","G4String"); (*store)["EType"] = G4AttDef("EType","Entity Type","Physics","","G4String"); + (*store)["DmpSol"] = + G4AttDef("DmpSol","Dump of Solid properties","Physics","","G4String"); + (*store)["Trans"] = + G4AttDef("Trans","Transformation of volume","Physics","","G4String"); (*store)["Material"] = G4AttDef("Material","Material Name","Physics","","G4String"); (*store)["Density"] = @@ -694,33 +702,85 @@ const std::map* G4PhysicalVolumeModel::GetAttDefs() const (*store)["Radlen"] = G4AttDef("Radlen","Material Radiation Length","Physics","G4BestUnit","G4double"); } + (*store)["Region"] = + G4AttDef("Region","Cuts Region","Physics","","G4String"); + (*store)["RootRegion"] = + G4AttDef("RootRegion","Root Region (0/1 = false/true)","Physics","","G4bool"); return store; } +#include + +static std::ostream& operator<< (std::ostream& o, const G4Transform3D t) +{ + using namespace std; + + G4Scale3D s; + G4Rotate3D r; + G4Translate3D tl; + t.getDecomposition(s, r, tl); + + const int w = 10; + + // Transformation itself + o << setw(w) << t.xx() << setw(w) << t.xy() << setw(w) << t.xz() << setw(w) << t.dx() << endl; + o << setw(w) << t.yx() << setw(w) << t.yy() << setw(w) << t.yz() << setw(w) << t.dy() << endl; + o << setw(w) << t.zx() << setw(w) << t.zy() << setw(w) << t.zz() << setw(w) << t.dz() << endl; + + // Translation + o << "= translation:" << endl; + o << setw(w) << tl.dx() << setw(w) << tl.dy() << setw(w) << tl.dz() << endl; + + // Rotation + o << "* rotation:" << endl; + o << setw(w) << r.xx() << setw(w) << r.xy() << setw(w) << r.xz() << endl; + o << setw(w) << r.yx() << setw(w) << r.yy() << setw(w) << r.yz() << endl; + o << setw(w) << r.zx() << setw(w) << r.zy() << setw(w) << r.zz() << endl; + + // Scale + o << "* scale:" << endl; + o << setw(w) << s.xx() << setw(w) << s.yy() << setw(w) << s.zz() << endl; + + // Transformed axes + o << "Transformed axes:" << endl; + o << "x': " << r * G4Vector3D(1., 0., 0.) << endl; + o << "y': " << r * G4Vector3D(0., 1., 0.) << endl; + o << "z': " << r * G4Vector3D(0., 0., 1.) << endl; + + return o; +} + std::vector* G4PhysicalVolumeModel::CreateCurrentAttValues() const { - std::vector* values = new std::vector; - std::ostringstream oss; - values->push_back(G4AttValue("PVol", fpCurrentPV->GetName(),"")); - oss << fpCurrentPV->GetCopyNo(); - values->push_back(G4AttValue("Copy", oss.str(),"")); - values->push_back(G4AttValue("LVol", fpCurrentLV->GetName(),"")); - G4Region* region = fpCurrentLV->GetRegion(); - G4String regionName = region? region->GetName(): G4String("No region"); - values->push_back(G4AttValue("Region", regionName,"")); - oss.str(""); oss << fpCurrentLV->IsRootRegion(); - values->push_back(G4AttValue("RootRegion", oss.str(),"")); - G4VSolid* pSol = fpCurrentLV->GetSolid(); - values->push_back(G4AttValue("Solid", pSol->GetName(),"")); - values->push_back(G4AttValue("EType", pSol->GetEntityType(),"")); - G4String matName = fpCurrentMaterial? fpCurrentMaterial->GetName(): G4String("No material"); - values->push_back(G4AttValue("Material", matName,"")); - G4double matDensity = fpCurrentMaterial? fpCurrentMaterial->GetDensity(): 0.; - values->push_back(G4AttValue("Density", G4BestUnit(matDensity,"Volumic Mass"),"")); - G4State matState = fpCurrentMaterial? fpCurrentMaterial->GetState(): kStateUndefined; - oss.str(""); oss << matState; - values->push_back(G4AttValue("State", oss.str(),"")); - G4double matRadlen = fpCurrentMaterial? fpCurrentMaterial->GetRadlen(): 0.; - values->push_back(G4AttValue("Radlen", G4BestUnit(matRadlen,"Length"),"")); - return values; + std::vector* values = new std::vector; + std::ostringstream oss; + for (size_t i = 0; i < fFullPVPath.size(); ++i) { + oss << fFullPVPath[i].GetPhysicalVolume()->GetName() + << ':' << fFullPVPath[i].GetCopyNo(); + if (i != fFullPVPath.size() - 1) oss << '/'; + } + values->push_back(G4AttValue("PVPath", oss.str(),"")); + values->push_back(G4AttValue("LVol", fpCurrentLV->GetName(),"")); + G4VSolid* pSol = fpCurrentLV->GetSolid(); + values->push_back(G4AttValue("Solid", pSol->GetName(),"")); + values->push_back(G4AttValue("EType", pSol->GetEntityType(),"")); + oss.str(""); oss << '\n' << *pSol; + values->push_back(G4AttValue("DmpSol", oss.str(),"")); + oss.str(""); oss << '\n' << *fpCurrentTransform; + values->push_back(G4AttValue("Trans", oss.str(),"")); + G4String matName = fpCurrentMaterial? fpCurrentMaterial->GetName(): G4String("No material"); + values->push_back(G4AttValue("Material", matName,"")); + G4double matDensity = fpCurrentMaterial? fpCurrentMaterial->GetDensity(): 0.; + values->push_back(G4AttValue("Density", G4BestUnit(matDensity,"Volumic Mass"),"")); + G4State matState = fpCurrentMaterial? fpCurrentMaterial->GetState(): kStateUndefined; + oss.str(""); oss << matState; + values->push_back(G4AttValue("State", oss.str(),"")); + G4double matRadlen = fpCurrentMaterial? fpCurrentMaterial->GetRadlen(): 0.; + values->push_back(G4AttValue("Radlen", G4BestUnit(matRadlen,"Length"),"")); + G4Region* region = fpCurrentLV->GetRegion(); + G4String regionName = region? region->GetName(): G4String("No region"); + values->push_back(G4AttValue("Region", regionName,"")); + oss.str(""); oss << fpCurrentLV->IsRootRegion(); + values->push_back(G4AttValue("RootRegion", oss.str(),"")); + return values; } diff --git a/source/visualization/modeling/src/G4PhysicalVolumeSearchScene.cc b/source/visualization/modeling/src/G4PhysicalVolumeSearchScene.cc index cabd7face9..5166a24b34 100644 --- a/source/visualization/modeling/src/G4PhysicalVolumeSearchScene.cc +++ b/source/visualization/modeling/src/G4PhysicalVolumeSearchScene.cc @@ -25,7 +25,7 @@ // // // $Id: G4PhysicalVolumeSearchScene.cc,v 1.13 2006/11/05 20:38:08 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 10th August 1998. diff --git a/source/visualization/modeling/src/G4ScaleModel.cc b/source/visualization/modeling/src/G4ScaleModel.cc index f73c694fa9..202fda492c 100644 --- a/source/visualization/modeling/src/G4ScaleModel.cc +++ b/source/visualization/modeling/src/G4ScaleModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4ScaleModel.cc,v 1.4 2006/06/29 21:32:58 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 21st July 2001. diff --git a/source/visualization/modeling/src/G4TextModel.cc b/source/visualization/modeling/src/G4TextModel.cc index 20a4d2de0b..c030e43489 100644 --- a/source/visualization/modeling/src/G4TextModel.cc +++ b/source/visualization/modeling/src/G4TextModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4TextModel.cc,v 1.7 2006/06/29 21:33:00 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 3rd April 2001 diff --git a/source/visualization/modeling/src/G4TrajectoriesModel.cc b/source/visualization/modeling/src/G4TrajectoriesModel.cc index 73f23645d3..b3046a829e 100644 --- a/source/visualization/modeling/src/G4TrajectoriesModel.cc +++ b/source/visualization/modeling/src/G4TrajectoriesModel.cc @@ -25,7 +25,7 @@ // // // $Id: G4TrajectoriesModel.cc,v 1.24 2006/11/14 14:42:08 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // // John Allison 26th August 1998. diff --git a/source/visualization/modeling/src/G4TrajectoryChargeFilter.cc b/source/visualization/modeling/src/G4TrajectoryChargeFilter.cc index 51b770a880..ec41e65546 100644 --- a/source/visualization/modeling/src/G4TrajectoryChargeFilter.cc +++ b/source/visualization/modeling/src/G4TrajectoryChargeFilter.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryChargeFilter.cc,v 1.4 2006/08/25 19:44:14 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Filter trajectories according to charge. Only registered // charges will pass the filter. diff --git a/source/visualization/modeling/src/G4TrajectoryDrawByAttribute.cc b/source/visualization/modeling/src/G4TrajectoryDrawByAttribute.cc index cf0a60bc0d..6c5de6fe6e 100644 --- a/source/visualization/modeling/src/G4TrajectoryDrawByAttribute.cc +++ b/source/visualization/modeling/src/G4TrajectoryDrawByAttribute.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryDrawByAttribute.cc,v 1.3 2006/09/14 15:41:42 tinslay Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay August 2006 // diff --git a/source/visualization/modeling/src/G4TrajectoryDrawByCharge.cc b/source/visualization/modeling/src/G4TrajectoryDrawByCharge.cc index cafe348aed..7689119a0a 100644 --- a/source/visualization/modeling/src/G4TrajectoryDrawByCharge.cc +++ b/source/visualization/modeling/src/G4TrajectoryDrawByCharge.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryDrawByCharge.cc,v 1.8 2006/06/29 21:33:06 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 #include "G4TrajectoryDrawByCharge.hh" diff --git a/source/visualization/modeling/src/G4TrajectoryDrawByOriginVolume.cc b/source/visualization/modeling/src/G4TrajectoryDrawByOriginVolume.cc index 9d08b18cf4..662c7a10ee 100644 --- a/source/visualization/modeling/src/G4TrajectoryDrawByOriginVolume.cc +++ b/source/visualization/modeling/src/G4TrajectoryDrawByOriginVolume.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryDrawByOriginVolume.cc,v 1.4 2006/06/29 21:33:08 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay March 2006 diff --git a/source/visualization/modeling/src/G4TrajectoryDrawByParticleID.cc b/source/visualization/modeling/src/G4TrajectoryDrawByParticleID.cc index b2000c537c..bc9c6cc292 100644 --- a/source/visualization/modeling/src/G4TrajectoryDrawByParticleID.cc +++ b/source/visualization/modeling/src/G4TrajectoryDrawByParticleID.cc @@ -24,7 +24,7 @@ // ******************************************************************** // // $Id: G4TrajectoryDrawByParticleID.cc,v 1.8 2006/06/29 21:33:10 gunter Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 diff --git a/source/visualization/modeling/src/G4TrajectoryDrawerUtils.cc b/source/visualization/modeling/src/G4TrajectoryDrawerUtils.cc index dac59a93e3..e97af3bd17 100644 --- a/source/visualization/modeling/src/G4TrajectoryDrawerUtils.cc +++ b/source/visualization/modeling/src/G4TrajectoryDrawerUtils.cc @@ -23,8 +23,8 @@ // * acceptance of all terms of the Geant4 Software license. * // ******************************************************************** // -// $Id: G4TrajectoryDrawerUtils.cc,v 1.10 2006/08/30 10:32:14 allison Exp $ -// GEANT4 tag $Name: geant4-08-02 $ +// $Id: G4TrajectoryDrawerUtils.cc,v 1.11 2007/05/30 08:56:55 allison Exp $ +// GEANT4 tag $Name: geant4-09-00 $ // // Jane Tinslay, John Allison, Joseph Perl November 2005 // @@ -356,6 +356,8 @@ namespace G4TrajectoryDrawerUtils { myContext.SetAuxPtsSize(markerSize); myContext.SetStepPtsSize(markerSize); + static G4bool warnedAboutIMode = false; + if (!warnedAboutIMode) { G4cout<<"Trajectory drawing configuration will be based on imode value of "<